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.
Tahun Kabisat menurut definisi ini ada sejak diluncurkannya kalender Gregorian (1582).

Dari algortma di atas dapat disimpulkan bahwa tahun kabisat adalah tahun yang habis di bagi dengan agka 400 dan angka 4.

Contoh Program :

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…!

Subscribe to receive free email updates:

17 Responses to "Menentukan Tahun Kabisat Menggunakan Java"

  1. Jangan lupa datang di website yang menyajikan informasi menarik dan terkini...
    www.108CSR.com

    BalasHapus
  2. Helo gan boleh juga nih webnya, jangan lupa ditunggu kunjungannya ya gan....???


    www.selaluonline.com

    BalasHapus
  3. Bersilaturahim dan mencari informasi. Good artikel.

    BalasHapus
  4. sedikit komentar kl seperti itu msh ada kekurangan
    krn 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

    BalasHapus
  5. wah artikelnya bermanfaat nyoba2 ah,,makasih sob.

    BalasHapus
  6. selamat siang sahabat,
    sedikit berbagi inspirasi siang ya..

    "ketika waktu pagi tiba, jangan menunggu sampai sore. Hiduplah dalam batasan hari ini.
    kerahkan seluruh semangat yang ada untuk menjadi yang lebih baik dari hari kemarin.
    dan Don't forget sobat! bahwa esok belum pasti memnghampiri kita"

    Salam semangat ..^^

    ditunggu kunjungannya ya di http://www.nolimitadventure.com/

    BalasHapus
  7. akhirnya ketemunya disini, thanks mas artikelnya.. jadi pengen mampir2 lagi..

    BalasHapus
  8. Saya masih bingung alias gk mudeng

    BalasHapus
  9. nice gan, itu memang casenya gk pakek break ya?

    BalasHapus
  10. Terima kasih gan .. Artikel nya bermanfaat

    BalasHapus
  11. Hi, Really great effort. Everyone must read this article. Thanks for sharing.

    BalasHapus
  12. Very 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!

    BalasHapus
  13. Nice post, things explained in details. Thank You.

    BalasHapus
  14. This 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!

    BalasHapus
  15. Very 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!

    BalasHapus
  16. Very 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

Berkomentarlah dengan Baik dan Sopan..