Bab 2 — Berpikir Seperti Pemrogram: Menulis Resep untuk Komputer

Seri B1 — Mulai dari Nol

CatatanDi bab ini, Anda akan:
  • Memahami apa itu algoritma (bocoran: resep yang sangat teliti)
  • Mengenal tiga bahan dasar semua program: urutan, pilihan, pengulangan
  • Membuat dan membaca flowchart sederhana
  • Memecah masalah besar menjadi langkah-langkah kecil

Masih belum ada kode di bab ini. Pemrogram yang baik berpikir dulu, mengetik kemudian. Bab ini melatih otot berpikir itu, memakai urusan lapangan yang sudah Anda kenal.

Algoritma: resep yang tidak boleh ambigu

Algoritma adalah urutan langkah yang jelas untuk mencapai sebuah tujuan. Anda sudah sering memakainya tanpa sadar: resep masakan, petunjuk arah, cara mengisi formulir.

Bedanya dengan instruksi biasa: algoritma untuk komputer tidak boleh ambigu. Ingat dari Bab 1, komputer adalah pegawai yang tidak punya akal. Bandingkan:

Instruksi untuk manusia Instruksi untuk komputer
“Beri pakan ikan secukupnya.” “Tebar 2 kg pakan. Selama ikan masih berebut, tambah 200 g.”
“Panen kalau sudah besar.” “Panen kalau bobot rata-rata sudah 500 g atau lebih.”
“Siram tanaman pagi-pagi.” “Siram pukul 06.00 selama 10 menit.”
PeringatanAWAS

Kata seperti secukupnya, kira-kira, agak, dan kalau sudah besar mudah dipahami manusia, tetapi tidak bisa dikerjakan komputer. Setiap kali menulis instruksi, tanyakan: “Bisakah orang yang sama sekali tidak tahu apa-apa mengerjakan ini dengan benar?”

Tiga bahan dasar semua program

Rahasia yang jarang diceritakan: program sebesar apa pun, dari kalkulator sampai aplikasi peta, tersusun dari tiga bahan dasar saja.

Bahan Artinya Contoh dari lapangan
Urutan Langkah dikerjakan satu per satu, dari atas ke bawah Ambil pakan → tebar pakan → catat jumlahnya
Pilihan Jika syarat terpenuhi, kerjakan A; kalau tidak, kerjakan B Jika pH air di bawah 6, tambahkan kapur; kalau tidak, biarkan
Pengulangan Ulangi langkah selama syarat masih berlaku Selama ikan masih berebut pakan, tambah pakan sedikit lagi

Itu saja. Seluruh sisa buku ini pada dasarnya adalah cara menuliskan ketiga hal ini dalam bahasa Python, lalu menerapkannya pada data hutan, kebun, sawah, kolam, dan kandang.

Flowchart: menggambar algoritma

Flowchart (diagram alur) adalah cara menggambar algoritma supaya mudah dilihat. Hanya ada beberapa bentuk:

Bentuk Artinya
Oval Mulai atau Selesai
Kotak Satu langkah yang dikerjakan
Belah ketupat Satu pertanyaan yang jawabannya “Ya” atau “Tidak”
Panah Arah alur, ke langkah berikutnya

Berikut algoritma memberi pakan di kolam, memakai ketiga bahan dasar sekaligus:

%%{init: {"flowchart": {"diagramPadding": 40}}}%%
flowchart TD
  A(["Mulai"]) --> B["Ambil 2 kg pakan"]
  B --> C["Tebar pakan ke kolam"]
  C --> D{"Ikan masih berebut pakan?"}
  D -- "Ya" --> E["Tambah 200 g pakan"]
  E --> D
  D -- "Tidak" --> F["Catat total pakan yang dipakai"]
  F --> G(["Selesai"])

Algoritma memberi pakan ikan: urutan, pilihan, dan pengulangan dalam satu gambar.

Coba telusuri dengan jari: mulai dari oval Mulai, ikuti panah. Di belah ketupat Anda harus memilih jalan “Ya” atau “Tidak”. Jalan “Ya” kembali ke pertanyaan yang sama. Itulah pengulangan: berputar sampai jawabannya “Tidak”.

TipTIPS

Tidak perlu aplikasi khusus. Flowchart cukup digambar di kertas dengan pensil. Kalau Anda bisa menelusuri gambarnya tanpa bingung, berarti algoritmanya sudah cukup jelas untuk diubah menjadi kode.

Pecah masalah besar menjadi langkah kecil

Misalkan atasan meminta: “Hitung hasil panen kebun bulan ini.” Terdengar besar dan kabur. Pemrogram memecahnya sampai setiap potongan jelas:

  1. Kumpulkan catatan panen setiap blok kebun.
  2. Untuk setiap blok: jumlahkan berat panen semua hari.
  3. Jumlahkan hasil semua blok.
  4. Bandingkan dengan target bulan ini.
  5. Tampilkan hasilnya dengan rapi.

Setiap nomor masih bisa dipecah lagi, sampai langkah terkecilnya begitu jelas sehingga bisa ditulis sebagai satu atau dua baris kode. Kebiasaan memecah masalah ini lebih berharga daripada menghafal aturan bahasa apa pun.

Mengetes algoritma di kepala

Sebelum menulis kode, uji algoritma dengan angka kecil. Contoh: pakan 2 kg, ikan berebut dua kali sebelum tenang.

Langkah Pakan yang sudah ditebar Ikan masih berebut?
Tebar pertama 2000 g Ya
Tambah 200 g 2200 g Ya
Tambah 200 g 2400 g Tidak

Hasil: total 2400 g. Mengetes secara manual seperti ini disebut uji coba di atas kertas (dry run). Kalau hasilnya sudah masuk akal di kertas, barulah kita yakin untuk mengetiknya.

Selain flowchart, pemrogram sering menulis algoritma sebagai pseudokode: kalimat bahasa sehari-hari yang disusun mirip kode, misalnya “ULANGI selama ikan berebut: tambah 200 g”. Pseudokode tidak dijalankan komputer. Ia hanya alat berpikir sebelum menulis kode sungguhan.

Latihan

  1. Tulis algoritma menyeduh teh manis dalam enam langkah atau lebih. Pastikan tidak ada kata secukupnya.
  2. Gambar flowchart untuk: “Periksa pH air kolam. Jika di bawah 6, tambahkan kapur lalu periksa lagi. Jika sudah 6 atau lebih, catat hasilnya.” Bagian mana yang berupa pengulangan?
  3. Tantangan: pecah tugas “Hitung jumlah pohon sehat di satu petak hutan” menjadi minimal lima langkah, lalu tandai langkah mana yang berupa pilihan dan mana yang berupa pengulangan.

Ringkasan Bab

  • Algoritma = urutan langkah yang jelas dan tidak ambigu untuk mencapai tujuan.
  • Semua program tersusun dari tiga bahan: urutan, pilihan, pengulangan.
  • Flowchart menggambar algoritma: oval (mulai/selesai), kotak (langkah), belah ketupat (pertanyaan), panah (arah).
  • Pecah masalah besar menjadi langkah kecil, lalu uji coba di atas kertas sebelum mengetik.

Selanjutnya, di Bab 3: kita berkenalan dengan terminal, jendela hitam tempat Anda “mengobrol” dengan komputer lewat ketikan, tanpa perlu takut salah.