01. Apa itu pemrograman?
Tidak ada kode di bab ini. Sebelum kamu menulis apa pun untuk dijalankan oleh komputer, ada baiknya kamu memahami dulu apa yang sebenarnya kamu lakukan ketika menulis sebuah program. Beberapa bab ke depan membangun pemahaman itu hanya dengan kata-kata, kertas, dan pensil.
Program adalah daftar langkah
Sebuah program adalah daftar langkah yang harus diikuti oleh komputer. Komputer membaca langkah-langkah itu secara berurutan, dari atas ke bawah, dan menjalankan setiap satu di antaranya.
Kamu sudah tahu cara menulis daftar langkah. Resep masakan adalah daftar langkah untuk orang:
1. Masukkan dua lembar roti ke dalam pemanggang.
2. Tekan tuasnya ke bawah.
3. Tunggu dua menit.
4. Ambil rotinya.
5. Oleskan mentega di atas roti panggang.
Program itu ide yang sama, tapi instruksinya ditujukan untuk komputer, bukan orang.
Komputer sangat harfiah
Ada satu perbedaan besar antara instruksi untuk orang dan instruksi untuk komputer. Orang bisa mengisi celah yang tidak disebutkan. Kalau resep bilang masukkan rotinya ke pemanggang, kamu tahu posisi yang benar, seberapa jauh ke dalam, dan bahwa plastik pembungkusnya tidak ikut dimasukkan.
Komputer tidak mengisi apa pun. Ia melakukan tepat apa yang kamu katakan, tidak lebih, tidak kurang. Lupa bilang lepas dulu pembungkusnya dan ia akan memanggang pembungkus plastiknya sekalian.
Kedengarannya menyebalkan, dan memang begitu di awal. Tapi itu juga alasan mengapa komputer bisa melakukan hal-hal yang tidak bisa dilakukan manusia: ia tidak pernah lelah, bosan, atau ceroboh. Ia menjalankan langkah yang kamu tulis, dengan cara yang sama, setiap saat.
Kalau ada yang salah dalam sebuah program, biasanya karena orang yang menulisnya lupa satu langkah atau menulisnya dengan cara yang komputer salah tangkap. Itu namanya bug. Bug bukan tanda bahwa kamu buruk dalam pemrograman. Setiap programmer memperbaiki bug setiap harinya. Itu bagian dari pekerjaannya, bukan sebuah kegagalan.
Lihat sekeliling ruangan yang kamu tempati sekarang. Pilih satu perangkat — ponsel, microwave, konsol game, apa saja. Coba sebutkan tiga langkah kecil yang dilakukannya yang tidak akan pernah dituliskan orang karena terasa "sudah jelas". (Contoh untuk microwave: buka pintunya, taruh makanan di dalam, pastikan tidak ada logam di makanan tersebut, tutup pintunya, tekan tombol mulai.)
Seperti apa tampilannya kode?
Kode hanyalah teks dalam sebuah berkas. Berikut adalah program kecil yang ditulis dalam Lua, bahasa yang akan kamu pelajari di buku ini:
local name = "Keiko"
print("Hello, " .. name)
Kamu belum diharapkan memahami itu sekarang — di akhir Bab 11 kamu akan bisa membaca setiap katanya. Yang penting sekarang adalah kode bukan tembok simbol-simbol aneh. Ini adalah teks biasa dalam baris-baris pendek yang mengikuti aturan satu bahasa. Begitu kamu tahu aturannya, baris-baris itu terbaca seperti kalimat.
Apa yang bisa kamu lakukan dengannya?
Apa pun yang melibatkan mengikuti langkah-langkah bisa dijadikan program. Beberapa contoh yang mungkin kamu anggap menarik:
- Sebuah game di mana komputer memilih angka rahasia dan kamu mencoba menebaknya.
- Sebuah petualangan teks di mana kamu berjalan melalui ruangan-ruangan dan mengambil benda-benda.
- Sebuah pengalaman Roblox kecil di mana koin muncul di dunia dan menghilang ketika kamu berjalan mengenainya.
Kamu akan membuat ketiganya di buku ini. Dua yang pertama berjalan di jendela terminal biasa; yang ketiga berjalan di dalam Roblox Studio.
Yang ingin disampaikan bab ini
- Program adalah daftar langkah.
- Komputer melakukan tepat apa yang kamu katakan.
- Bug itu normal. Itu bukan tanda kegagalan.
- Sisa buku ini mengajarkan kamu langkah-langkah yang dipahami komputer.
PR
PR untuk Bagian 1 dikerjakan di kertas — belum ada komputer. Ambil selembar kertas dan pensil. Tujuannya adalah berlatih menulis instruksi, bukan menulis kode.
Soal 1 — Temukan langkah yang tidak jelas
Seseorang menulis langkah-langkah ini untuk "membuat secangkir teh":
1. Didihkan air secukupnya.
2. Ambil kantong teh.
3. Masukkan ke dalam cangkir.
4. Buat kekuatannya pas.
5. Tambahkan susu kalau mau.
Tiga dari langkah-langkah itu terlalu tidak jelas untuk diikuti komputer apa adanya. Tuliskan tiga nomor langkah tersebut dan, untuk setiap satu, jelaskan dalam satu kalimat apa yang tidak diketahui komputer cara melakukannya.
Soal 2 — Jadilah komputer
Tulis ulang instruksi Bereskan kamarmu sebagai daftar
lima hingga sepuluh langkah yang spesifik. Bayangkan kamu menulis untuk
seseorang yang belum pernah melihat kamarmu. Setiap langkah harus cukup
kecil sehingga orang yang berhati-hati bisa melakukannya tanpa perlu
bertanya.
Soal 3 — Di mana ia akan rusak?
Sebuah program untuk "membuat pancake" menyertakan langkah ini:
Tuangkan setengah isi mangkuk ke dalam wajan.
Jika seorang teman menggandakan resepnya (sehingga mangkuk dua kali lebih penuh), apakah langkah ini masih menghasilkan jumlah adonan pancake yang benar? Kenapa atau kenapa tidak? Dua atau tiga kalimat.
Tantangan — Lembar sandwich
Tulis daftar enam langkah bernomor untuk meminta saudara, orang tua, atau teman membuat kamu sandwich selai kacang dan jelly. Tulis setiap langkah dengan sangat spesifik sehingga orang lain tidak bisa salah bahkan jika mereka mencoba mengartikan setiap langkah dengan cara yang paling konyol ("tapi kamu tidak bilang sisi mana dari roti"). Kalau sudah selesai, serahkan kertasnya ke seseorang dan minta mereka mengikutinya secara harfiah. Lihat di mana ia rusak.
Bingung atau sudah selesai? Buka halaman solusi PR.