Pendahuluan
Coba lihat sekelilingmu.
Mungkin ada ponsel di rumah. Mungkin ada televisi pintar, laptop, mesin ATM, kasir di minimarket, lampu lalu lintas, jam digital, gim, atau robot mainan. Semua benda itu tampak berbeda. Ada yang layarnya besar, ada yang kecil, ada yang tidak punya layar sama sekali. Tetapi banyak dari benda itu memiliki satu kesamaan penting: di dalamnya ada sistem komputasi.
Sistem komputasi adalah gabungan perangkat dan aturan kerja yang dapat menerima informasi, menyimpan atau mengolahnya, lalu menghasilkan sesuatu. Misalnya, mesin ATM menerima nomor PIN dan pilihan menu, memeriksa data rekening, lalu mengeluarkan uang atau menampilkan saldo.1 Lampu lalu lintas menerima aturan waktu, lalu berganti warna sesuai urutan. Gim menerima tombol yang kamu tekan, lalu tokoh di layar bergerak.
Buku ini mengajakmu mempelajari computer science sejak awal, dengan cara yang benar dan menyenangkan.
Computer science bukan hanya belajar mengetik kode
Banyak orang mengira belajar computer science berarti langsung belajar mengetik kode panjang di layar. Kode memang penting, tetapi kode bukan awal dari semuanya.
Sebelum menulis kode, kita perlu belajar cara berpikir.
Misalnya, bayangkan kamu ingin membuat program sederhana untuk memberi salam.
Program itu mungkin perlu bertanya:
“Siapa namamu?”
Lalu, jika pengguna menjawab:
“Alya”
Program menampilkan:
“Halo, Alya!”
Sebelum menulis kode dalam bahasa pemrograman apa pun, kita sudah perlu memahami beberapa hal:
- informasi apa yang masuk,
- informasi apa yang disimpan,
- langkah apa yang dilakukan,
- hasil apa yang keluar,
- apa yang terjadi jika pengguna salah mengetik,
- bagaimana memeriksa apakah program bekerja dengan benar.
Itulah dunia computer science.
Dalam buku ini, computer science berarti ilmu yang mempelajari informasi, algoritma, komputasi, dan cara menyelesaikan masalah dengan bantuan cara berpikir yang sangat teratur. Kerangka pembelajaran computer science untuk sekolah juga menempatkan konsep seperti sistem komputasi, jaringan, data, algoritma, pemrograman, dan dampak komputasi sebagai bagian penting dari bidang ini, bukan hanya kegiatan menulis kode (K–12 Computer Science Framework Steering Committee, 2016).
Apa itu informasi dan data?
Sebelum komputer dapat membantu kita, komputer perlu menerima sesuatu. Sesuatu itu sering kita sebut data.
Data adalah informasi yang dibuat dalam bentuk yang bisa disimpan, dikirim, atau diolah.
Contohnya:
- angka
8bisa menjadi data jumlah apel, - teks
"Budi"bisa menjadi data nama, - gambar kucing bisa menjadi data gambar,
- suara tepuk tangan bisa menjadi data suara,
- pilihan
benaratausalahbisa menjadi data jawaban, - daftar nama teman sekelas bisa menjadi data daftar.
Komputer tidak memahami dunia seperti manusia. Komputer tidak “melihat” kucing seperti kamu melihat kucing. Komputer menyimpan gambar kucing sebagai data. Nanti, di bab tentang teks, gambar, dan suara, kita akan belajar bahwa gambar dapat disusun dari titik-titik kecil yang disebut piksel, dan warna tiap piksel dapat disimpan sebagai angka.
Jadi, ketika kamu melihat foto di layar, komputer sebenarnya sedang bekerja dengan data.
Apa itu algoritma?
Sekarang bayangkan kamu ingin membuat roti isi.
Kamu mungkin melakukan langkah seperti ini:
- Ambil dua lembar roti.
- Oleskan selai.
- Tutup dengan roti kedua.
- Potong menjadi dua bagian.
- Sajikan di piring.
Langkah-langkah itu disebut algoritma jika disusun untuk mencapai tujuan tertentu.
Algoritma adalah urutan langkah yang jelas untuk menyelesaikan masalah atau mencapai tujuan.
Contoh lain:
Jika tujuanmu adalah “menemukan buku matematika di tas”, algoritmanya bisa seperti ini:
- Buka tas.
- Lihat buku paling atas.
- Jika itu buku matematika, ambil.
- Jika bukan, pindahkan buku itu ke samping.
- Ulangi sampai buku matematika ditemukan.
Algoritma tidak harus langsung ditulis dengan bahasa pemrograman. Algoritma bisa ditulis dengan kalimat biasa, gambar alur, tabel, atau gerakan tubuh. Yang penting, langkahnya cukup jelas untuk diikuti.
Ilmuwan komputer sering memakai cara berpikir seperti ini untuk memecahkan masalah. Jeannette Wing menjelaskan bahwa computational thinking adalah cara berpikir untuk merumuskan masalah dan menyusun penyelesaian dengan ide-ide dari computer science, seperti algoritma dan abstraksi (Wing, 2006). Dalam buku ini, kita akan menyebutnya sebagai berpikir komputasional: cara berpikir rapi untuk memecahkan masalah sehingga langkah-langkahnya bisa dijelaskan, diuji, dan diperbaiki.
Komputer sangat patuh, tetapi tidak bisa menebak seperti manusia
Manusia sering bisa menebak maksud teman.
Jika Ibu berkata:
“Tolong ambilkan minum.”
Kamu mungkin tahu bahwa yang dimaksud adalah mengambil gelas, mengisi air, lalu membawanya dengan hati-hati.
Komputer tidak seperti itu.
Komputer mengikuti instruksi yang diberikan kepadanya. Jika instruksinya kurang jelas, hasilnya bisa salah. Bukan karena komputer nakal, tetapi karena komputer tidak memahami maksud tersembunyi seperti manusia.
Misalnya, bayangkan kamu memberi instruksi kepada robot:
“Ambil buku.”
Robot mungkin bertanya:
- buku yang mana?
- di mana bukunya?
- ambil dengan tangan kanan atau kiri?
- setelah diambil, diletakkan di mana?
- bagaimana jika ada dua buku?
- bagaimana jika bukunya tidak ada?
Karena itu, dalam computer science kita belajar memberi instruksi yang jelas. Kita juga belajar memeriksa instruksi, menemukan kesalahan, dan memperbaikinya. Kegiatan menemukan dan memperbaiki kesalahan dalam program disebut debugging. Kata bug berarti kesalahan atau masalah dalam program, sedangkan debugging berarti proses mencari penyebabnya dan memperbaikinya.
Contoh sederhana:
Instruksi awal:
- Pakai sepatu.
- Pakai kaus kaki.
Ada yang terasa aneh, bukan? Biasanya kaus kaki dipakai sebelum sepatu. Urutan langkahnya perlu diperbaiki:
- Pakai kaus kaki.
- Pakai sepatu.
Kesalahan kecil dalam urutan dapat mengubah hasil. Itulah sebabnya kita akan belajar berpikir langkah demi langkah.
Mengapa belajar ini sejak SD?
Karena computer science bukan hanya untuk orang dewasa. Anak SD juga bisa belajar dasar-dasarnya.
Kamu tidak perlu langsung membuat aplikasi besar. Kamu bisa mulai dari hal kecil:
- membuat aturan permainan,
- menyusun langkah mencari benda,
- mengelompokkan kartu berdasarkan warna,
- membuat pola gambar,
- menulis instruksi untuk teman,
- merancang kuis,
- membuat cerita bercabang,
- memeriksa kesalahan dalam urutan langkah.
Semua itu melatih cara berpikir yang berguna saat nanti kamu belajar bahasa pemrograman apa pun.
Bahasa pemrograman bisa berbeda-beda. Ada Scratch, Python, JavaScript, Java, C, dan banyak lagi. Tetapi ide dasarnya sering mirip: ada data, instruksi, kondisi, pengulangan, variabel, fungsi, dan cara menguji program.
Jadi, buku ini tidak ingin membuatmu hafal satu bahasa pemrograman saja. Buku ini ingin membantumu memahami ide yang lebih dalam: bagaimana komputer bekerja dengan informasi dan bagaimana kita menyusun solusi yang jelas.
Kita akan belajar seperti penjelajah masalah
Dalam buku ini, kamu akan berjalan pelan-pelan dari ide yang sederhana menuju ide yang lebih kuat.
Kita mulai dengan pertanyaan besar:
Apa sebenarnya computer science itu?
Lalu kita melihat komputer di sekitar kita. Setelah itu, kita belajar tentang data: angka, teks, gambar, suara, pilihan benar-salah, dan daftar. Kita belajar mencari pola, membuat kelompok, menyusun algoritma, memberi instruksi yang jelas, memecah masalah besar, dan memilih informasi yang penting.
Nanti, kamu juga akan bertemu konsep yang sering dipakai dalam program:
- kondisi, seperti “jika hujan, maka bawa payung”;
- pengulangan, seperti “tepuk tangan 5 kali”;
- variabel, seperti kotak bernama untuk menyimpan nilai;
- fungsi, seperti perintah baru yang berisi beberapa langkah;
- struktur data, seperti daftar belanja atau papan skor.
Setelah itu, kita akan belajar mencari dan mengurutkan data, memperbaiki bug, memahami bilangan biner, mengenal jaringan dan internet, menjaga keamanan digital, mengenal kecerdasan buatan secara sederhana, dan merancang program sebelum mengoding.
Semua bab saling berhubungan. Karena itu, bacalah dengan sabar. Jika satu ide terasa sulit, itu bukan tanda kamu gagal. Itu tanda bahwa otakmu sedang belajar sesuatu yang baru.
Cara berpikir yang akan kita latih
Ada beberapa kebiasaan penting yang akan sering muncul dalam buku ini.
Pertama, kita akan belajar teliti. Teliti berarti memperhatikan detail kecil. Dalam computer science, detail kecil bisa sangat penting. Satu langkah yang tertukar bisa membuat algoritma gagal.
Kedua, kita akan belajar menjelaskan alasan. Tidak cukup hanya berkata, “Ini jawabannya.” Kita juga akan bertanya, “Mengapa begitu?” Misalnya, jika kita memilih cara mencari buku berdasarkan urutan rak, kita perlu menjelaskan mengapa cara itu lebih rapi daripada mencari secara acak.
Ketiga, kita akan belajar menguji. Menguji berarti mencoba apakah solusi kita bekerja. Jika kamu membuat aturan permainan, kamu perlu mencobanya. Jika ada bagian yang membingungkan, aturannya perlu diperbaiki.
Keempat, kita akan belajar memperbaiki. Dalam computer science, kesalahan bukan akhir. Kesalahan adalah petunjuk. Saat program tidak bekerja, kita bisa bertanya:
- langkah mana yang sudah benar?
- langkah mana yang membuat hasil berubah?
- contoh kecil apa yang bisa dicoba?
- apa yang harus diperbaiki?
Kebiasaan seperti ini juga penting dalam berpikir komputasional. Kerangka K–12 Computer Science Framework menjelaskan bahwa praktik belajar computer science mencakup merumuskan masalah, mengembangkan dan memakai abstraksi, membuat artefak komputasi, menguji serta memperbaiki, dan berkomunikasi tentang proses maupun hasil (K–12 Computer Science Framework Steering Committee, 2016).
Kamu tidak harus menjadi “anak yang selalu benar”
Saat belajar computer science, kamu tidak harus selalu benar pada percobaan pertama.
Misalnya, kamu membuat algoritma untuk menggambar rumah:
- Gambar persegi.
- Gambar segitiga di atasnya.
- Gambar pintu.
- Gambar jendela.
Mungkin hasil pertama kurang rapi. Segitiganya terlalu kecil. Pintunya melayang. Jendelanya berada di atap. Tidak apa-apa. Kamu bisa memperbaiki instruksi:
- Gambar persegi besar sebagai dinding.
- Gambar segitiga yang alasnya sama panjang dengan sisi atas persegi.
- Gambar pintu di bagian bawah tengah persegi.
- Gambar dua jendela kecil di kiri dan kanan pintu.
Sekarang instruksinya lebih jelas.
Belajar computer science mirip seperti itu. Kita membuat ide, mencoba, melihat hasil, lalu memperbaiki. Semakin sering kamu berlatih, semakin kuat cara berpikirmu.
Siap mulai?
Buku ini adalah undangan untuk berpikir seperti ilmuwan komputer muda.
Kamu akan belajar bahwa komputer bukan benda ajaib. Komputer bekerja dengan data dan instruksi. Program bukan mantra. Program adalah kumpulan langkah yang disusun dengan teliti. Kesalahan bukan musuh. Kesalahan adalah kesempatan untuk memahami masalah dengan lebih baik.
Jika kamu bisa bertanya, mencoba, memperhatikan pola, menjelaskan langkah, dan memperbaiki ide, kamu sudah memiliki bekal penting untuk belajar computer science.
Sekarang, mari kita mulai dari pertanyaan pertama:
Apa itu computer science?
References
K–12 Computer Science Framework Steering Committee. (2016). K–12 Computer Science Framework. Association for Computing Machinery. https://k12cs.org/
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://doi.org/10.1145/1118178.1118215