Pada postingan kali ini saya akan memberikan source code cara untuk menentukan tahun kabisat. Tahun kabisat adalah tahun yang mengalami penambahan satu hari dengan tujuan untuk menyesuaikan penanggalan dengan tahun astronomi. Dalam satu tahun tidak secara persis terdiri dari 365 hari, tetapi 365 hari 5 jam 48 menit 45,1814 detik. Jika hal ini tidak dihiraukan, maka setiap 4 tahun akan kekurangan hampir 1 hari (tepatnya 23 jam 15 menit 0,7256 detik). Maka untuk mengkompensasi hal ini, setiap 4 tahun sekali (tahun yang bisa dibagi 4) diberi 1 hari ekstra: 29 Februari. Tetapi karena 5 jam 48 mentit 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 untuk menentukan suatu tahun termasuk tahun kabisat atau bukan, yaitu sebagai berikut:
- Jika angka tahun itu habis dibagi 400, maka tahun itu sudah pasti tahun kabisat.
- Jika angaka tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka tahun itu sudah pasti bukan merupakan tahun kabisat.
- 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.
package tugas.oop_190417; //sesuaikan dengan nama package yg anda buat import java.util.Scanner; /** * * @author Padma Ekayasa */ public class Tahun_Kabisat { //sesuaikan dengan nama class yg anda buat public static void main(String[] args) { String a = "Tahun Kabisat"; String b = "Bukan Tahun Kabisat"; int tahun; Scanner input=new Scanner(System.in); //penginputan tahun dibatasi dari 1900 sampai 2020 System.out.print("Masukan Tahun (1900-2020): "); tahun=input.nextInt(); if (tahun<1900){ System.out.println("Maaf, Tahun Input Dibawah 1900"); } else if (tahun>2020){ System.out.println("Maaf, Tahun Input Diatas 2020"); } else if (tahun%400==0){ System.out.println("Tahun " + tahun + " Adalah " + a); } else if (tahun%400!=0 || tahun%100==00){ System.out.println("Tahun " + tahun + " " + b); } else if(tahun%400!=0 || tahun%100!=00 || tahun%4==0){ System.out.println("Tahun " + tahun + " Adalah " + a); }else{ System.out.println("Tahun " + tahun + " " + b); } } }Sekian postingan kali,
Semoga bermanfaat..
Referensi: