Latihan algoritma kode program Java kali ini akan membahas cara memeriksa tahun kabisat (leap year). Soal ini biasa dipakai untuk menguji pemahaman seputar kondisi if else.
Soal Cek Tahun Kabisat
Buatlah kode program yang meminta data input berupa sebuah tahun (4 digit angka). Program kemudian memeriksa apakah tahun tersebut merupakan tahun kabisat atau tidak.
Tahun kabisat adalah tahun yang bulan Februari-nya berjumlah 29 hari. Biasanya tahun kabisat datang setiap 4 tahun sekali, tapi ada ketentuan yang lebih khusus. Syarat dari tahun kabisat adalah:
- Jika angka tahun itu habis dibagi 400, maka itu tahun kabisat.
- Jika angka tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka itu bukan tahun kabisat.
- Jika angka tahun itu tidak habis dibagi 400, tidak habis dibagi 100 akan tetapi habis dibagi 4, maka itu adalah tahun kabisat.
- Jika angka tahun tidak habis dibagi 400, tidak habis dibagi 100, dan tidak habis dibagi 4, maka bukan tahun kabisat.
Berikut contoh tampilan akhir yang diinginkan (1):
Input tahun: 2000 2000 adalah tahun kabisat
Berikut contoh tampilan akhir yang diinginkan (2):
Input tahun: 2022 2022 bukan tahun kabisat
Tips Membuat Kode Program Cek Tahun Kabisat
Berdasarkan syarat dari tahun kabisat, soal ini bisa dipecahkan dengan struktur if else if, yakni if tahun yang diinput user habis dibagi 400, tampilkan pesan "adalah tahun kabisat", else if habis dibagi 100, tampilkan pesan "bukan tahun kabisat", dst.
Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian dan Cara Penulisan Variabel Bahasa Java
- Jenis-jenis Operator Aritmatika Bahasa Java
- Percabangan Kondisi IF ELSE IF Bahasa Java
Kode Program Java Cek Tahun Kabisat
Berikut salah satu solusi dari soal cek tahun kabisat menggunakan bahasa pemrograman Java:
import java.util.Scanner; class TahunKabisat { public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.println("## Program Java Cek Tahun Kabisat ##"); System.out.println("======================================"); System.out.println(); int year; System.out.print("Input tahun: "); year = input.nextInt(); if (year % 400 == 0) { System.out.println(year + " adalah tahun kabisat"); } else if (year % 100 == 0) { System.out.println(year + " bukan tahun kabisat"); } else if (year % 4 == 0) { System.out.println(year + " adalah tahun kabisat"); } else { System.out.println(year + " bukan tahun kabisat"); } } }
Di baris 12 terdapat perintah untuk deklarasi variabel year bertipe integer. Variabel inilah yang akan menampung angka tahun yang diinput oleh user di baris 15.
Selanjutnya terdapat 3 pemeriksaan kondisi if else antara baris 17-28. Semua kondisi ini sesuai dengan syarat untuk menentukan apakah sebuah tahun merupakan tahun kabisat atau tidak.
Operator % dipakai untuk mencari sisa hasil bagi, atau disebut juga dengan operator modulus.
Jika variabel year habis dibagi 400, maka itu adalah tahun kabisat. Kondisi ini diperiksa di baris 17.
Hanya jika year tidak habis dibagi 400, barulah kondisi kedua dijalankan, yakni apakah year habis dibagi 100 (baris 20). Jika iya, maka itu bukan tahun kabisat.
Lanjut, hanya jika 2 kondisi pertama tidak dipenuhi akan diperiksa lagi apakah year habis dibagi 4 atau tidak (baris 23). Jika iya, maka itu adalah tahun kabisat.
Terakhir, jika ketiga kondisi sebelumnya tidak terpenuhi, maka year bukanlah tahun kabisat.
Demikian kode program latihan cek tahun kabisat dalam bahasa pemrograman Java. Semoga bisa bermanfaat.
sangat membantu. Trimakasih