01. Apa itu pemrograman?

Tidak ada kode di bab ini. Sebelum menulis sesuatu untuk dijalankan komputer, ada baiknya kamu tahu apa yang sebenarnya kamu lakukan saat menulis program. Beberapa bab berikutnya membangun pemahaman itu hanya dengan kata-kata, kertas, dan pensil.

Program adalah daftar langkah

Program adalah daftar langkah yang diikuti komputer. Komputer membaca langkah-langkah itu secara berurutan, dari atas ke bawah, dan mengerjakan satu per satu.

Kamu sudah tahu cara menulis daftar langkah. Resep adalah daftar langkah untuk manusia:

1. Masukkan dua lembar roti ke dalam pemanggang.
2. Tekan tuasnya ke bawah.
3. Tunggu dua menit.
4. Keluarkan rotinya.
5. Oleskan mentega di atas roti panggang.

Program memakai ide yang sama, tetapi instruksinya untuk komputer, bukan untuk manusia.

Komputer sangat harfiah

Ada satu perbedaan besar antara instruksi untuk manusia dan instruksi untuk komputer. Manusia mengisi bagian yang tidak disebut. Kalau resep berkata masukkan roti ke dalam pemanggang, kamu tahu posisinya, seberapa dalam, dan bahwa bungkusnya tidak ikut masuk.

Komputer tidak mengisi apa pun. Ia mengerjakan persis apa yang kamu katakan, tidak lebih dan tidak kurang. Kalau kamu lupa berkata lepas bungkusnya dulu, bungkusnya ikut terpanggang.

Kedengarannya menjengkelkan, dan awalnya memang begitu. Tetapi itu juga alasan komputer bisa melakukan hal yang tidak bisa dilakukan manusia: komputer tidak pernah lelah, bosan, atau ceroboh. Ia mengerjakan langkah yang kamu tulis, dengan cara yang sama, setiap kali.

Kalau ada yang salah dalam program, biasanya karena penulisnya lupa satu langkah atau menulis langkah yang dipahami komputer dengan cara yang salah. Itulah bug. Bug bukan tanda bahwa kamu buruk dalam pemrograman. Setiap programmer memperbaiki bug setiap hari. Itu bagian dari pekerjaan, bukan kegagalan.

Lihat sekeliling ruangan tempat kamu berada sekarang. Pilih satu perangkat: ponsel, microwave, konsol game, apa saja. Coba sebutkan tiga langkah kecil yang dilakukannya, yang tidak akan repot ditulis orang karena terasa "sudah jelas". (Contoh untuk microwave: buka pintu, letakkan makanan di dalam, pastikan tidak ada logam pada makanan, tutup pintu, tekan tombol mulai.)

Seperti apa kode itu?

Kode hanyalah teks dalam sebuah file. Berikut potongan kecil program yang ditulis dalam Go, bahasa yang akan kamu pelajari di buku ini:

name := "Keiko"
fmt.Println("Halo, " + name)

Kamu belum perlu memahaminya sekarang. Di akhir Bab 11 kamu akan bisa membaca setiap katanya. Yang penting sekarang: kode bukan tembok simbol. Kode adalah teks biasa dalam baris-baris pendek yang mengikuti aturan satu bahasa. Begitu kamu tahu aturannya, baris-baris itu terbaca seperti kalimat.

Dua baris itu belum menjadi program utuh. File Go yang lengkap juga punya sedikit persiapan di sekelilingnya (package main dan func main), yang dibahas di Bagian 2. Kode di Bagian 1 tidak menampilkan persiapan itu dan hanya menunjukkan pernyataan yang perlu kamu baca.

Apa yang bisa kamu buat?

Apa pun yang berupa mengikuti langkah-langkah bisa menjadi program. Beberapa contoh yang mungkin menarik untukmu:

  • Game di mana komputer memilih angka rahasia dan kamu mencoba menebaknya.
  • Petualangan teks di mana kamu berjalan melewati ruangan dan memungut benda.
  • Halaman web buku tamu kecil di mana pengunjung meninggalkan pesan, lalu programmu menyimpannya dan menampilkannya kepada pengunjung berikutnya.

Kamu akan membuat ketiganya di buku ini. Dua yang pertama berjalan di jendela terminal biasa; yang ketiga adalah server web kecil yang kamu buka di browser.

Yang perlu kamu ingat dari bab ini

  • Program adalah daftar langkah.
  • Komputer mengerjakan persis apa yang kamu katakan.
  • Bug itu normal. Bug bukan tanda kegagalan.
  • Sisa buku ini mengajarkan langkah-langkah yang dipahami komputer.

PR

PR untuk Bagian 1 dikerjakan di kertas, belum pakai komputer. Siapkan selembar kertas dan pensil. Tujuannya berlatih menulis instruksi, bukan menulis kode.

Soal 1 — Temukan langkah yang kabur

Seseorang menulis langkah-langkah ini untuk "membuat secangkir teh":

1. Didihkan sedikit air.
2. Ambil kantong teh.
3. Masukkan ke dalam cangkir.
4. Buat sampai kekuatannya pas.
5. Tambahkan susu kalau mau.

Tiga dari langkah itu terlalu kabur untuk diikuti komputer apa adanya. Tuliskan tiga nomor langkah tersebut dan, untuk masing-masing, jelaskan dalam satu kalimat apa yang tidak diketahui komputer.

Soal 2 — Jadilah komputer

Tulis ulang instruksi Rapikan kamarmu sebagai daftar lima sampai sepuluh langkah yang spesifik. Bayangkan kamu menulis untuk orang yang belum pernah melihat kamarmu. Setiap langkah harus cukup kecil sehingga orang yang teliti bisa mengerjakannya tanpa bertanya.

Soal 3 — Di mana ia akan gagal?

Program untuk "membuat pancake" berisi langkah ini:

Tuangkan setengah isi mangkuk ke dalam wajan.

Kalau seorang teman menggandakan resepnya (sehingga mangkuk dua kali lebih penuh), apakah langkah ini masih menghasilkan jumlah adonan yang tepat? Mengapa? Jawab dalam dua atau tiga kalimat.

Tantangan — Lembar sandwich

Tulis daftar enam langkah bernomor agar saudara, orang tua, atau temanmu membuatkan sandwich selai kacang dan selai buah. Tulis setiap langkah sedemikian spesifik sehingga orang itu tidak bisa salah, bahkan kalau ia sengaja mengikuti setiap langkah dengan cara paling konyol ("tapi kamu tidak bilang sisi roti yang mana"). Setelah selesai, berikan lembar itu kepada seseorang dan minta ia mengikutinya secara harfiah. Lihat di mana langkahmu gagal.

Bingung atau sudah selesai? Buka halaman Solusi PR.