Halo Sobat Zend!
Tahun 2020 lalu adalah tahun kabisat. Yang mana Bulan Februari 2020 memiliki 29 hari. Dan tahun kabisat akan terjadi lagi pada tahun 2024. Kamu bisa lihat di kalender di perangkat kamu dan lihat apakah Februari 2024 memiliki 29 hari.
Di artikel ini kita akan membuat sebuah Algoritma untuk menentukan apakah sebuah tahun adalah tahun kabisat. Lalu kita akan menerjemahkan Algoritma tersebut menjadi Flowchart.
Apa Itu Tahun Kabisat?
Secara singkat, Tahun Kabisat (Leap Year) adalah tahun yang memiliki jumlah hari lebih banyak satu hari dibanding tahun biasanya, yaitu memiliki 366 hari.
Penambahan satu hari dimasukkan ke Bulan Februari. Jadi di Tahun Kabisat, Bulan Februari akan berjumlah 29 hari. Penambahan ini dimaksudkan untuk menyesuaikan dengan perputaran bumi mengelilingi matahari yang tidak genap 365 hari, melainkan 365,25 hari.
Jadi dalam satu kali revolusi atau perputaran bumi, memerlukan waktu 365,25 hari atau satu tahun lebih 0,25 hari atau seperempat. Maka, agar sistem penanggalan sesuai dengan waktu revolusi bumi, maka setiap 4 tahun sekali, ditambahkan 1 hari yang merupakan gabungan dari seperempat hari di setiap tahun.
Perhitungan Tahun Kabisat
# Tahun Kabisat berdasarkan Kalender Julius - 45 SM
Pada awalnya, sistem kalender menggunakan sistem yang dibuat oleh Julius Caesar (disebut Kalender Julius). Sistem Kalender Julius menambahkan satu hari di Bulan Februari setiap 4 tahun sekali. Ini karena Julius menggunakan pembulatan waktu revolusi bumi menjadi 365,25 atau 365 hari 6 jam.
Dalam Kalender Julius, jika tahun merupakan kelipatan 4 maka tahun tersebut adalah tahun kabisat. Perhitungannya adalah dengan mencari apakah tahun tersebut merupakan kelipatan 4.
Namun, karena 0,25 hari atau seperempat hari di setiap tahun tidak genap 6 jam melainkan hanya 5 jam 48 menit 45,1814 detik, maka dalam 4 tahun tidak genap 24 Jam, hanya 23 jam 15 menit 0,7256 detik.
Sehingga Kalender Julius akan kelebihan 11 menit 15 detik dalam satu tahun dan 45 menit dalam 4 tahun. Jadi dalam seribu tahun Kalender Julius kelebihan 7 sampai 8 hari.
# Tahun Kabisat berdasarkan Kalender Gregorius - 1582 M
Untuk memecahkan masalah kelebihan hari pada Kalender Julius, sistem Kalender Gregorius menambahkan aturan Tahun Kabisat. Yaitu apabila tahun yang merupakan kelipatan 100 juga merupakan kelipatan 400 maka tahun terbebut kabisat.
Contohnya tahun 1600, 2000 dan 2400 yang merupakan kelipatan 100 dan juga kelipatan 400. Sedangkan tahun 1700, 1900, dan 2100 bukan tahun kabisat karena bukan kelipatan 400.
Dan Kalender Gregorius digunakan hingga sekarang. Sehingga sebuah tahun dapat disebut tahun kabisat apabila:
-
Tahun tersebut merupakan kelipatan 4 dan bukan kelipatan 100.
Tahun 1700 adalah kelipatan 4, namun juga kelipatan 100, maka bukan Kabisat. Sedangkan 1704 adalah kelipatan 4 dan bukan kelipatan 100, maka Tahun Kabisat.
-
Tahun tesebut merupakan kelipatan 400.
Tahun 2000 adalah kelipatan 400, maka tahun ini kabisat. Sedangkan 1800 bukan kelipatan 400, maka bukan kabisat.
- Bukan Tahun Ganjil.
Satu contoh lagi: Tahun 2100 bukan Tahun Kabisat, karena bukan kelipatan 400. Dan meskipun tahun 2100 adalah tahun kelipatan 4, namun merupakan tahun kelipatan seratus, maka bukan Kabisat.
Agar lebih percaya, kamu bisa cek di perangkat kamu, apakah Bulan Februari di Tahun 2100 terdapat tanggal 29.
Untuk mencari kelipatan kamu bisa lakukan dengan operasi modulus atau sisa bagi (%). Untuk menentukan apakah sebuah bilangan merupakan keliapatan 4, lakukan modulus bilangan dengan 4 (Bilangan % 4). Apabila hasilnya nol berarti bilangan tersebut habis dibagi 4 atau merupakan kelipatan 4.
Jadi, kesimpulannya:
Tahun kabisat adalah tahun yang habis dibagi 4 namun tidak habis dibagi 100, atau tahun yang habis dibagi 400. Dengan kata lain, Tahun Kabisat adalah tahun yang merupakan kelipatan 4 tapi bukan kelipatan 100, atau tahun yang merupakan kelipatan 400.
Algoritma Menentukan Tahun Kabisat
Dengan aturan Tahun Kabisat berdasarkan Kalender Gregorius, berikut Algoritma Tahun Kabisat.
- Masukkan tahun.
- Jika tahun adalah kelipatan 4 dan bukan kelipatan 100, atau tahun merupakan kelipatan 400, maka Tahun adalah Kabisat. Selain itu Bukan Kabisat.
- Tampilkan informasi "Tahun adalah kabisat" atau "Tahun bukan Kabisat.".
Kemudian Algoritma Menentukan Tahun Kabisat dalam Pseudocode.
TAHUN_KABISAT Deklarasi variabel: tahun Algoritma: MULAI MASUKAN tahun #cek apakah tahun adalah kabisat JIKA tahun % 4 == 0 DAN tahun % 100 != 0, MAKA #jika tahun adalah kelipatan 4 tapi bukan kelipatan 100, maka TAMPILKAN "Tahun adalah kabisat." SELAIN ITU JIKA tahun % 400 = 0, MAKA #jika tahun habis dibagi 400 atau kelipatan 400, maka TAMPILKAN "Tahun adalah kabisat." SELAIN ITU TAMPILKAN "Tahun bukan kabisat." SELESAI
Atau seperti ini:
TAHUN_KABISAT Deklarasi variabel: tahun Algoritma: MULAI MASUKAN tahun #cek apakah tahun adalah kabisat JIKA tahun % 4 == 0 DAN tahun % 100 != 0, ATAU tahun % 400 = 0, MAKA #jika tahun adalah kelipatan 4 tapi bukan kelipatan 100, atau tahun adalah kelipatan 400, maka TAMPILKAN "Tahun adalah kabisat." , MAKA SELAIN ITU TAMPILKAN "Tahun bukan kabisat." SELESAI
Flowchart Tahun Kabisat
Selanjutnya kita buat algoritmanya menjadi Flowchart. Flowchart adalah cara untuk menggambarkan algoritma. Berikut ini adalah Flowchart Menentukan Tahun Kabisat.
Penjelasan Flowchart
- Simbol Terminator (Mulai/Selesai) menunjukan awal dan akhir flowchart.
- Simbol Input/Output (Input Tahun) menyatakan langkah mengambil input tahun untuk dicek.
- Simbol Decision (Tahun kelipatan 4 dan bukan kelipatan 100?) mengecek syarat pertama tahun kabisat.
- Jika ya, maka tampilkan "Tahun adalah kabisat". Digambarkan dengan Simbol Display. Jika tidak lanjut pengecekan berikutnya.
- Simbol Decision (Tahun kelipatan 400?) mengecek apakah memenuhi syarat tahun kabisat kedua yaitu kelipatan 400.
- Jika ya, maka tampilkan "Tahun adalah kabisat", jika tidak maka "Tahun bukan kabisat" (Simbol Display).
Kesimpulan dan Penutup
Ada dua syarat sebuah tahun disebut kabisat, yaitu apabila tahun tersebut kelipatan 4 dan bukan kelipatan seratus, atau tahun tersebut adalah kelipatan 400. Jika memenuhi salah satu syarat tersebut maka tahun adalah kabisat.
Jika kamu ingin menggunakan Flowchart Tahun Kabisat dari ZendCode di atas, silakan baca Panduan Menggunakan Properti Gambar dari ZendCode. Terima kasih.