Big Picture: Apa itu algoritma?
Bayangin kamu dapat tugas dari kakak: “Buatin mie instan dong.” Kamu nggak langsung asal masak, kan? Pasti ada urutan: rebus air, masukkan mie, tunggu matang, tiriskan, campur bumbu. Kalau urutannya kebalik — bumbu dulu baru air direbus — hasilnya aneh.
Nah, itu dia algoritma. Serangkaian langkah yang terurut, jelas, dan kalau diikuti dengan benar, pasti menghasilkan jawaban yang benar. Kata kuncinya: terurut dan dijamin benar.
Algoritma itu “resep”-nya komputer. Komputer sendiri nggak bisa mikir. Dia butuh instruksi yang sangat jelas, satu per satu.
Bagian 1: Kenali dulu — Input, Proses, Output
Sebelum nulis algoritma apa pun, tanya tiga hal ini:
- Input = apa yang dimasukkan? → angka tahun (misalnya: 2024)
- Proses = apa yang dikerjakan? → ngecek apakah tahun itu kabisat
- Output = apa hasilnya? → “Kabisat” atau “Bukan kabisat”
Ini kayak mesin ATM. Input: kartu + PIN. Proses: verifikasi data. Output: uang keluar atau ditolak.
Bagian 2: Aturan tahun kabisat (wajib hafal!)
Sebelum nulis algoritma, kamu harus ngerti dulu logikanya. Tahun kabisat punya tiga aturan, dan urutannya penting banget:
- Kalau habis dibagi 400 → kabisat
- Kalau habis dibagi 100 (tapi bukan 400) → bukan kabisat
- Kalau habis dibagi 4 (tapi bukan 100) → kabisat
- Selain itu → bukan kabisat
Kenapa urutannya seperti itu? Karena aturan 400 adalah pengecualian dari aturan 100. Tahun 1900 habis dibagi 4, tapi bukan kabisat karena habis dibagi 100. Tahun 2000 habis dibagi 100, tapi kabisat karena habis dibagi 400. Kalau urutannya kebalik, jawabannya salah.
Bagian 3: Pseudocode
Pseudocode artinya “kode palsu” — bukan bahasa pemrograman sungguhan, tapi bukan bahasa Indonesia biasa juga. Ini jembatan antara pikiran manusia dan kode komputer. Nggak ada aturan baku yang ketat, yang penting logisnya jelas.
Untuk tahun kabisat, pseudocode-nya begini:
MULAI
INPUT tahun
JIKA tahun MOD 400 = 0 MAKA
OUTPUT "Kabisat"
SELAIN ITU JIKA tahun MOD 100 = 0 MAKA
OUTPUT "Bukan Kabisat"
SELAIN ITU JIKA tahun MOD 4 = 0 MAKA
OUTPUT "Kabisat"
SELAIN ITU
OUTPUT "Bukan Kabisat"
AKHIR JIKA
SELESAI
MOD itu artinya sisa bagi. 2024 MOD 4 = 0 berarti 2024 habis dibagi 4, tidak ada sisa.
Bagian 4: Flowchart
Flowchart itu versi gambar dari pseudocode. Pakai simbol-simbol khusus supaya semua orang — programmer mana pun — bisa baca tanpa kebingungan.
Simbol yang perlu kamu tahu:
- Oval/Lonjong = Start dan End (titik awal dan akhir)
- Jajar genjang = Input atau Output (memasukkan/mengeluarkan data)
- Persegi panjang = Proses (langkah pengerjaan)
- Belah ketupat = Decision/Keputusan (pertanyaan ya/tidak)
- Panah = arah alur
Flowchart tahun kabisat ini punya tiga belah ketupat (tiga pertanyaan) yang dirangkai berurutan:
[START]
↓
[INPUT tahun]
↓
◇ tahun MOD 400 = 0?
├─ YA → [OUTPUT "Kabisat"] → [END]
└─ TIDAK ↓
◇ tahun MOD 100 = 0?
├─ YA → [OUTPUT "Bukan Kabisat"] → [END]
└─ TIDAK ↓
◇ tahun MOD 4 = 0?
├─ YA → [OUTPUT "Kabisat"] → [END]
└─ TIDAK → [OUTPUT "Bukan Kabisat"] → [END]
Bagian 5: Uji algoritma dengan data nyata
Ini bagian seru. Kita “jalankan” algoritma secara manual:
| Tahun | MOD 400 | MOD 100 | MOD 4 | Hasil |
|---|---|---|---|---|
| 2000 | 0 ✓ | – | – | Kabisat |
| 1900 | ≠ 0 | 0 ✓ | – | Bukan Kabisat |
| 2024 | ≠ 0 | ≠ 0 | 0 ✓ | Kabisat |
| 2023 | ≠ 0 | ≠ 0 | ≠ 0 | Bukan Kabisat |
Coba kamu telusuri tahun 1900: masuk ke pertanyaan pertama, 1900 ÷ 400 = 4 sisa 300, tidak habis. Lanjut ke pertanyaan kedua, 1900 ÷ 100 = 19 sisa 0, habis dibagi. Langsung keluar hasilnya: Bukan Kabisat. Selesai.
Jebakan umum yang sering bikin salah
- Urutan kondisi dibalik. Banyak siswa nulis cek MOD 4 dulu, baru MOD 100, baru MOD 400. Hasilnya: tahun 2000 malah dianggap kabisat karena MOD 4-nya nol dan langsung berhenti di sana — padahal harusnya dicek 400-nya dulu juga, dan meskipun sama-sama “kabisat,” logika untuk 1900 jadi rusak.
- Lupa simbol flowchart. Nulis proses di belah ketupat, atau nulis keputusan di persegi panjang. Ingat: belah ketupat itu selalu berisi pertanyaan yang jawabannya Ya atau Tidak.
- MOD dikira pembagian biasa. MOD bukan hasil bagi, tapi sisa bagi.
7 MOD 3 = 1, bukan 2.33.
Latihan: Algoritma tiga bilangan terbesar
Sekarang giliranmu. Buat algoritma untuk menemukan bilangan terbesar dari tiga angka yang diinput.
Petunjuk cara berpikir:
- Input: tiga bilangan, sebut saja A, B, dan C
- Bandingkan A dengan B dulu
- Dari yang lebih besar, bandingkan lagi dengan C
- Yang menang itu jawaban output-nya
Tulis pseudocode-nya dulu, baru gambar flowchart-nya. Kalau sudah, uji dengan data: A=5, B=12, C=8.
Kuis
- Sebuah tahun diinput: 1800. Ikuti algoritma tahun kabisat yang sudah kita susun, langkah demi langkah. Apa hasilnya dan kenapa?
- Dalam flowchart, simbol apa yang digunakan untuk menyatakan keputusan (percabangan Ya/Tidak)? Berikan contoh teks yang biasanya ditulis di dalamnya.
- Apa perbedaan antara pseudocode dan flowchart? Kapan kamu lebih memilih pakai salah satunya dibanding yang lain?