05. Penamaan dan dekomposisi — Solusi PR
Masalah-masalah ini punya lebih dari satu jawaban yang benar. Jangan cocokkan kata-katanya persis — yang penting nama dan langkahnya bisa dipahami oleh orang asing. Jadikan ini sebagai tolok ukur, bukan kunci jawaban.
Soal 1 — Ganti nama yang misterius
Soal. Ganti empat nama yang tidak berguna agar program mudah dibaca.
Cara memikirkanya. Baca perhitungannya.
a dikali b terlihat seperti jumlah dikali
harga; menambahkan 100 terlihat seperti biaya tetap. Beri nama setiap
nilai sesuai maknanya.
Penulisan ulang yang baik.
local quantity = 3
local price_each = 250
local subtotal = quantity * price_each
local total = subtotal + 100
print(total)Hasilnya 850 — biaya untuk 3 barang dengan harga 250
masing-masing, ditambah biaya tetap sebesar 100.
Kesalahan umum.
- Memberi nama berdasarkan tipe —
number_a,number_b. Tidak lebih baik dariadanb. Beri nama berdasarkan maknanya. - Hanya mengganti sebagian nama. Kalau masih ada satu nama yang misterius, pembaca masih harus menebak-nebak.
Soal 2 — Pecah pekerjaan besar
Soal. Pecah pekerjaan besar menjadi lima sampai delapan langkah pendek yang diberi nama.
Contoh jawaban untuk bersiap ke sekolah:
- Bangun dari tempat tidur.
- Cuci muka dan gosok gigi.
- Berpakaian.
- Sarapan.
- Kemas tas sekolah.
- Pakai sepatu dan jaket.
- Berangkat dari rumah.
Yang membuatnya bagus. Setiap baris bisa dibayangkan dalam satu detik. Tidak ada yang berupa "lakukan rutinitas pagi" — terlalu besar untuk dipercaya.
Soal 3 — Beri nama langkah-langkah sebagai fungsi
Soal. Ubah tiga langkahmu menjadi nama
kata_kata.
Contoh jawaban, menggunakan tiga langkah di atas:
- Sarapan →
eat_breakfast - Kemas tas sekolah →
pack_bag - Pakai sepatu dan jaket →
put_on_shoes
Yang membuatnya bagus. Setiap nama adalah kata kerja pendek ditambah bendanya. Kalau sebuah langkah butuh tiga atau empat kata untuk diberi nama, kemungkinan itu sebenarnya lebih dari satu langkah.
Tantangan — Pemecahan dua tingkat
Soal. Pecah sebuah pekerjaan menjadi empat langkah besar, lalu pecah salah satunya menjadi tiga langkah yang lebih kecil.
Contoh jawaban untuk menyelenggarakan pesta ulang tahun kecil-kecilan:
- Sebelum acara
- Makanan
- Tata piring dan gelas.
- Keluarkan camilan gurih.
- Keluarkan kue pada momen yang tepat.
- Permainan
- Setelah acara
Yang membuatnya bagus. Tiga sub-langkah berada di bawah Makanan, bukan di bawah seluruh pesta. Susunan bertingkat itu — langkah besar yang terdiri dari langkah-langkah kecil — adalah bentuk dari setiap program nyata: sebuah keseluruhan yang terdiri dari bagian-bagian, setiap bagian terdiri dari bagian-bagian yang lebih kecil.
Selesai?
Itulah akhir dari Bagian 1. Kamu sudah belajar apa itu program, cara merencanakannya di atas kertas, tiga pola yang menjadi dasar setiap program, cara menelusuri kode secara manual, dan cara memberi nama serta memecah masalah. Mini-proyek Bagian 1 menggabungkan semua kemampuan perencanaan ini ke dalam satu diagram alir. Setelah itu, kamu akhirnya akan menginstal Lua dan menulis kode sungguhan.