Menghitung Jumlah Hari
Judulnya mirip lagunya Krisdayanti (KD) “Menghitung Hari” yang sempat ngetop beberapa waktu lalu. Menghitung jumlah hari ini adalah sebuah algoritma sederhana untuk menampilkan jumlah hari berdasarkan bulan yang dimasukkan. Misalkan jika dimasukkan bulan 1 artinya bulan Januari maka jumlah harinya 31, jika dimasukkan 4, bulan April dan jumlah hari 30, dan seterusnya. Sangat sederhana tapi ada yang khusus tentang ini, yaitu jika dimasukkan bulan 2 yang artinya bulan Februari maka jumlah bisa 28 atau 29 jika tahun kabisat.
Tahun kabisat menurut Wikipedia :
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:
- Pertama, jika angka tahun itu habis dibagi 400, maka tahun itu sudah pasti tahun kabisat.
- Kedua, jika angka tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka tahun itu sudah pasti bukan merupakan tahun kabisat.
- Ketiga, jika angka tahun itu tidak habis dibagi 400, tidak habis dibagi 100 akan tetapi habis dibagi 4, maka tahun itu merupakan tahun kabisat.
- 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.
Bagaimana menterjemahkan algoritma tahun kabisat yang unik ini plus dikaitkan dalam menghitung jumlah hari dalam bahasa pemrograman Java, berikut adalah potongan programnya :
System.out.print("Masukkan Bulan : "); Scanner input = new Scanner(System.in); int bulan = input.nextInt(); System.out.print("Masukkan Tahun : "); Scanner input2 = new Scanner(System.in); int tahun = input.nextInt(); int x = 0; switch (bulan) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: x = 31; break; case 4: case 6: case 9: case 11: x = 30; break; case 2: if ((tahun % 400 == 0) || ((tahun % 100 > 0) && (tahun % 4 == 0))) { x = 29; } else { x = 28; } break; default: System.out.println("Silakan pilih 1,2,3 s.d 12"); }
Untuk program lengkapnya dapat diunduh di bagian Download atau klik aja [download id=”13″]
Sumber gambar : disini
Comments (6)
waah ternyata tentang pemrograman java
boleh juga nih dicoba
udah lama ga ngutak ngatik java
keduaxxxx
Pak, kalo ditulis pascal yo opo???
Hm….
Tau ga? baru sadar saya, kalo di setiap tahun cuma ada 4 bulan yang 30 hari.
Wakakakaka…
Pantes, gajian lama banget….
wah, makasih pak sharingnya. moga ilmunya dapat berguna untuk banyak orang 🙂
Wah, baru tahu kalau difinisi dari tahun kabisat kayak itu.
Makasih infonya
wah.. ilmu coding… berraaat.
untungnya sudah ada tools gratisan yaa.. tinggal donlod ajaah
Wah mantap bang langsung saya coba