Mini-proyek Bagian 1: Diagram alir untuk program nyata

Mini-proyek pertama ini tidak ada kodenya. Isinya adalah diagram alir, digambar di atas kertas, untuk sebuah program nyata — bukti bahwa kamu bisa merencanakan seluruh program sebelum menulisnya, menggunakan tiga pola dari Bab 03.

Yang harus dibuat

Pilih salah satu dari berikut:

  • Sebuah game kecil (Batu-Gunting-Kertas, Tebak Kata, game memori).
  • Rutinitas harian (pagi harimu, sebelum tidur, bersiap pergi ke sekolah).
  • Pekerjaan rumah dengan titik berhenti yang jelas (mencuci piring, mengajak setiap anjing di rumah jalan-jalan, menyiram setiap tanaman di rak).

Gambar diagram alirnya di selembar kertas. Diagram alir itu harus memuat ketiga pola dari bab sebelumnya:

  • Urutan (Sequence): minimal dua aksi berturut-turut.
  • Keputusan (Decision): minimal satu berlian dengan cabang ya dan cabang tidak.
  • Pengulangan (Repetition): minimal satu panah yang menunjuk kembali ke langkah sebelumnya.

Itu saja spesifikasinya. Tidak ada file awal — cukup kertas, pensil, dan penghapus.

Contoh yang sudah dikerjakan: Game Tebak Angka

Game Tebak Angka dari Bagian 4 (yang akan kamu koding di Bab 18) memiliki ketiga pola tersebut. Diagram alirnya terlihat seperti ini:

yes no yes no Start Pick a random number1 to 100 Set attempts to 0 Ask the player for a guess Add 1 to attempts Is the guess too low? Say "too low" Is the guess too high? Say "too high" Say "correct!" andshow attempts Done

Temukan ketiga polanya:

  • Urutan: pilih angka acak → atur percobaan ke 0 → minta tebakan → tambah 1 ke percobaan ada di bagian atas isi perulangan.
  • Keputusan: apakah tebakan terlalu kecil? dan apakah tebakan terlalu besar? adalah dua keputusan. Salah satu cabangnya kembali ke perulangan; jalur ketiga (tidak kecil dan tidak besar) mencapai Selesai.
  • Pengulangan: panah panjang di sebelah kiri, yang kembali dari Katakan "terlalu kecil" dan Katakan "terlalu besar" menuju Minta tebakan dari pemain, adalah sebuah perulangan. Kasus benar! adalah jalan keluarnya.

Ketika kamu membaca kode Bab 18 nanti, kamu akan mengenali bentuk yang persis sama ini:

repeat
    attempts = attempts + 1
    io.write("Guess: ")
    guess = tonumber(io.read())
    if guess < target then
        print("Too low.")
    elseif guess > target then
        print("Too high.")
    else
        print("Correct! ...")
    end
until guess == target

repeat ... until adalah panah perulangan. if/elseif/else adalah dua keputusan. Baris-baris di antaranya adalah urutan di dalam isi perulangan. Diagram alir berubah menjadi kode, hampir satu langkah demi satu langkah.

Cara memeriksa diagram alirmu sendiri

Setelah selesai, bacalah dengan suara keras sambil menelusuri setiap panah dengan jarimu. Seharusnya terdengar seperti lembaran instruksi untuk teman yang teliti tapi tidak tahu apa-apa. Kalau kedengarannya wajar, diagram alirnya kemungkinan sudah benar. Kalau ada langkah yang terlewat, jarimu akan tersangkut tepat di situ.

Periksa juga:

  • Apakah setiap panah akhirnya mencapai titik akhir (kotak ( Done ) atau ( End ))?
  • Apakah setiap berlian punya dua panah yang keluar darinya (satu ya, satu tidak)?
  • Apakah pertanyaan di perulangan mencakup sesuatu yang berubah di dalam isi perulangan? Kalau pertanyaannya tidak pernah mendapat jawaban baru, perulangan tidak akan pernah berakhir.

Sudah selesai?

Kalau diagram alirmu lulus tes baca dengan suara keras dan memuat ketiga pola, kamu sudah selesai. Tunjukkan ke seseorang kalau mau — menjelaskan diagram alirmu sendiri adalah cara bagus untuk membuktikan bahwa kamu benar-benar memahaminya.

Bab berikutnya — Bab 06 — Persiapan — menginstal Lua dan editor kode di komputer Windowsmu. Setelah itu, kamu mulai mengubah diagram alir menjadi kode nyata.