Menentukan Tahun Kabisat Menggunakan Java
Pengertian Tahun Kabisat :
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 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 menit 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).
Algoritma :
Terdapat algoritma mudah untuk menentukan apakah suatu tahun termasuk tahun kabisat atau bukan sebagai berikut:
- Jika angka tahun itu habis dibagi 400, maka tahun itu sudah pasti tahun kabisat.
- Jika angka 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.
Dari algortma di atas dapat disimpulkan bahwa tahun kabisat adalah tahun yang habis di bagi dengan agka 400 dan angka 4.
Contoh Program :
Penjelasan Program :
Untuk tanda % didalam java adalah sisa bagi atau lebih di kenal dengan modulus dan tanda || adalah operator pengganti Atau.
Silahkan dicoba lalu di jlankan…!
import java.util.*;
class HitungTahunKabisat {
public static void main(String[] args) {
String thk="Tahun Kabisat",thbk="Bukan Tahun Kabisat";
int th;
Scanner input=new Scanner(System.in);
System.out.println("Hitung Tahun Kabisat");
System.out.println("--------------------");
System.out.print("Masukan Tahun : ");
th=input.nextInt();
if(th%400==0 || th%4==0){
System.out.println("Tahun " + th + " Adalah " + thk);
}else{
System.out.println("Tahun " + th + " Adalah " + thbk);
}
}
}
Penjelasan Program :
if(th%400==0 || th%4==0){
Untuk tanda % didalam java adalah sisa bagi atau lebih di kenal dengan modulus dan tanda || adalah operator pengganti Atau.
Silahkan dicoba lalu di jlankan…!
Jangan lupa datang di website yang menyajikan informasi menarik dan terkini...
BalasHapuswww.108CSR.com
Helo gan boleh juga nih webnya, jangan lupa ditunggu kunjungannya ya gan....???
BalasHapuswww.selaluonline.com
Bersilaturahim dan mencari informasi. Good artikel.
BalasHapussedikit komentar kl seperti itu msh ada kekurangan
BalasHapuskrn walau tidak habis dibagi 400 tp habis dibagi 4 maka di program itu aka membaca sebagai kabisat
bagaimana jika diinputkan nilai 200?
itu bukan kabisat kan? tp akan dibaca kabisat oleh program
wah artikelnya bermanfaat nyoba2 ah,,makasih sob.
BalasHapusakhirnya ketemunya disini, thanks mas artikelnya.. jadi pengen mampir2 lagi..
BalasHapusSaya masih bingung alias gk mudeng
BalasHapusgood artikel
BalasHapusnice gan, itu memang casenya gk pakek break ya?
BalasHapusTerima kasih gan .. Artikel nya bermanfaat
BalasHapusHi, Really great effort. Everyone must read this article. Thanks for sharing.
BalasHapusVery great post. I simply stumbled upon your blog and wanted to say that I have really enjoyed browsing your weblog posts. After all I’ll be subscribing on your feed and I am hoping you write again very soon!
BalasHapusNice post, things explained in details. Thank You.
BalasHapusThis is the precise weblog for anybody who needs to seek out out about this topic. You notice so much its almost arduous to argue with you. You positively put a brand new spin on a subject that's been written about for years. Nice stuff, simply nice!
BalasHapusVery great post. I simply stumbled upon your blog and wanted to say that I have really enjoyed browsing your weblog posts. After all I’ll be subscribing on your feed and I am hoping you write again very soon!
BalasHapusVery interesting blog. A lot of blogs I see these days don't really provide anything that attract others, but I'm most definitely interested in this one. Just thought that I would post and let you know.
BalasHapus