Dalam membuat sebuah sistem, terkadang kita membutuhkan pengecekan untuk menentukan apakah nilai dari tahun termasuk kabisat atau tidak. Kenapa demikian? Karena boleh jadi kita membutuhkan aksi yang berbeda terhadap tahun kabisat, dimana seperti yang kita tahu tahun kabisat memiliki hari yang berbeda lebih 1 hari dibanding tahun biasa.
Fakta tahun kabisat
Sebelum memulai, kita ungkap dulu fakta-fakta terkait tahun kabisat, supaya kita bisa menggunakan fungsi ini sesuai dengan yang seharusnya.
- Tahun kabisat memiliki jumlah hari 366, tahun biasa 365
- Tahun kabisat terjadi setiap 4 tahun sekali
- Kelebihan satu hari tersebut terletak pada tanggal 29 Februari
Selanjutnya, kita akan coba menentukan ketentuan apa saja yang diperlukan untuk membuat fungsi menentukan tahun kabisat pada PHP.
Ketentuan
Ketentuan disini adalah dasar yang akan kita jadikan sebagai logic dalam menentukan sebuah tahun adalah tahun kabisat. Ketentuan-ketentuannya adalah:
- Jika tahun habis dibagi 4, maka tahun adalah kabisat
- Jika tidak habis dibagi 4, maka jika habis dibagi 100 dan 400 maka tahun kabisat
Skrip PHP menentukan tahun kabisat
Dari dua dasar ketentuan diatas, kita bisa membuat skrip sederhana dengan memanfaatkan modulo atau sisa hasil bagi, dan fungsinya sebagai berikut:
function isKabisat($thn) {
// jika tahun habis dibagi 4, maka tahun kabisat
if (($thn % 4) != 0) {
return false;
} // jika tidak habis dibagi 4, maka jika habis dibagi 100 dan 400 maka tahun kabisat
else if ((($thn % 100) == 0) && (($thn % 400) != 0)) {
return false;
}
else {
return true;
}
}