Program Tahun Kabisat dengan Bahasa C


Tahun Kabisat (Bahasa Inggris: Leap Year) adalah sebuah Tahun Syamsiah di mana pada tahun tersebut jumlah hari tidak terdiri dari 365 hari tetapi 366 hari.

Satu tahun syamsiah tidak secara persis terdiri dari 365 hari, tetapi 365 hari, 5 jam, 48 menit dan 45,1814 detik. Jika hal ini tidak dihiraukan, maka setiap empat tahun akan kekurangan hampir satu hari.

Maka untuk mengkompensasi hal ini setiap empat tahun sekali (tahun yang bisa dibagi empat), diberi satu hari ekstra: 29 Februari. Tetapi karena 5 jam, 48 menit dan 45,1814 detik kurang dari 6 jam, maka tahun-tahun yang bisa dibagi 100 (seperti tahun 1900), bukan tahun kabisat, kecuali bisa dibagi dengan 400 (seperti tahun 2000).

Terdapat algoritma mudah untuk menentukan apakah suatu tahun termasuk tahun kabisat atau bukan:

  1. Pertama, jika angka tahun itu habis dibagi 400, maka tahun itu sudah pasti tahun kabisat.
  2. Kedua, jika angka tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka tahun itu sudah pasti bukan merupakan tahun kabisat.
  3. Ketiga, jika angka tahun itu tidak habis dibagi 400, tidak habis dibagi 100 akan tetapi habis dibagi 4, maka tahun itu merupakan tahun kabisat.
  4. Jika angka tahun tidak habis dibagi 400, tidak habis dibagi 100, dan tidak habis dibagi 4, maka tahun tersebut bukan merupakan tahun kabisat.

Tahun Kabisat menurut definisi ini ada sejak diluncurkannya kalender Gregorian.

Nah, dari penjelasan diatas sudah tentu kita mengetahui algoritma pembuatan program pencari tahun kabisat. Program dengan bahasa C/C++ adalah:

   1:  #include <stdio.h>
   2:  #include <conio.h>
   3:  
   4:  void main()
   5:  {
   6:   int awal, akhir, tahun;
   7:  awal=1990;
   8:  akhir=2020;
   9:  
  10:   printf("Tahun Kabisat Antara %d sampai %d\n",awal,akhir);
  11:  
  12:   for(tahun=awal; tahun<=akhir; tahun++)
  13:   {
  14:       if((tahun%4==0)||(tahun%400==0)&&(tahun%100!=0)){
  15:    printf("tahun %d \n",tahun);
  16:       }  else{
  17:  
  18:    printf(" ");
  19:       }
  20:   }
  21:   getch();
  22:  }

Sumber bacaan dan contoh :

  1. http://world-of-programmer.blogspot.com/2010/03/mencari-tahun-kabisat-dalam-c.html
  2. http://id.wikipedia.org/wiki/Tahun_Kabisat

2 thoughts on “Program Tahun Kabisat dengan Bahasa C

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s