03. Tiga blok bangunan — Solusi pekerjaan rumah
Soal 1 — Temukan polanya
Contoh jawaban.
- Menghitung kelereng dalam toples — repetition. Lihat satu kelereng, tambah 1 ke count, lalu yang berikutnya, dan yang berikutnya, sampai tidak ada yang tersisa.
- Memutuskan apakah kamu bisa membeli game baru — decision. Pertanyaannya adalah apakah harganya kurang dari tabunganku?. Ya mengarah ke beli; tidak mengarah ke tunggu.
- Mengikuti resep tanpa pilihan di dalamnya — sequence. Setiap langkah terjadi sekali, berurutan.
- Meminta pengguna memasukkan angka sampai mereka mengetik yang valid — repetition di luar (terus bertanya), dengan sebuah decision di dalamnya (apakah jawabannya valid?). Repetition adalah pola utamanya.
- Mencetak setiap nama dalam daftar kelas — repetition. Polanya adalah "untuk setiap nama, cetak". Apakah list-nya punya 20 nama atau 200, loop berjalan sekali per nama.
Kesalahan umum.
- Menyebut segalanya decision karena deskripsinya punya if. If sering ada di dalam loop tanpa menjadi pola utama. Tanyakan: apakah ini berhenti setelah satu putaran, atau terus berjalan? Jika terus berjalan, pola utamanya adalah repetition.
Soal 2 — Hanya sequence
Contoh jawaban.
Kesalahan umum.
- Menyelipkan pertanyaan. Apakah roti panggangnya sudah cukup coklat? adalah berlian, dan soal ini mengatakan tidak ada berlian. Percayakan pada pemanggang untuk pop sendiri.
Soal 3 — Sequence dan decision
Contoh jawaban.
Kesalahan umum.
- Meletakkan matikan lampu hanya di satu cabang. Kedua cabang berakhir dengan cara yang sama, jadi langkah itu ada setelah keduanya bergabung, bukan di dalam salah satunya.
Tantangan — Ketiga pola
Contoh jawaban. Flowchart ini menggunakan ketiga pola sekaligus: sebuah sequence dari langkah-langkah setup di atas, sebuah loop di tengah yang terus memanggil hewan peliharaan, dan sebuah decision di bawah tentang hadiahnya.
Setiap pola ada di sini:
- Sebuah sequence di atas mengisi mangkuk dan memulai penghitung.
- Sebuah loop di tengah memanggil hewan peliharaan hingga lima kali, dengan decision kecil di dalamnya (apakah hewan peliharaan sudah datang? dan apakah call count 5?).
- Sebuah decision di bawah memeriksa apa yang terjadi dan baik memberi hadiah hewan peliharaan atau menyimpan makanan.
Kedua jalur keluar dari loop mengarah ke tempat yang sama (decision di bawah), sehingga sisa program berjalan dengan cara yang sama tidak peduli bagaimana loop berakhir.
Kesalahan umum.
- Bagian yang paling sulit adalah dua cara keluar dari loop: hewan peliharaan datang, atau penghitung mencapai 5. Lupakan salah satunya dan itu adalah bug — loop tidak pernah berakhir, atau menyerah terlalu cepat.
- Kehilangan jejak "apakah hewan peliharaan datang?" setelah loop. Dalam kode kamu akan menyimpan jawabannya dalam sebuah variable. Di kertas, beri label panah yang keluar dari loop sehingga decision di bawah tahu apa yang harus diperiksa.
Selesai?
Sekarang kamu bisa menemukan tiga blok bangunan dalam rencana apa pun. Dua bab berikutnya mempertajam sisi membaca dari keterampilan yang sama: Menelusuri program dengan tangan menunjukkan cara mengetahui apa yang dilakukan kode di atas kertas, dan Penamaan dan dekomposisi menunjukkan cara menjaga program tetap cukup jelas untuk ditelusuri dari awal. Kemudian proyek mini Bagian 1 mengikat keterampilan perencanaan bersama.