- Bab 8 dari 8
- 35 menit
- 2 latihan kode
- 4 soal kuis
Latihan Robot di Petak dan Rangkuman
Di bab ini (8 bagian)
Tujuan bab ini
- Menyusun urutan perintah untuk aktivitas unplugged "Robot di Petak".
- Menjelaskan debugging sebagai kegiatan memperbaiki perintah yang salah.
- Memakai perulangan untuk meringkas perintah yang berulang.
- Merangkum empat pilar CT dan pesan utamanya.
Saatnya mencoba sendiri
Kamu sudah mempelajari pengertian CT, empat pilar, cara menuliskan algoritma, dan penerapannya. Bab terakhir ini mengajakmu berlatih, lalu merangkum semuanya.
Aktivitas unplugged: Robot di Petak
Aktivitas ini tidak butuh komputer. Ada sebuah papan berpetak, seekor "robot", bintang sebagai tujuan, dan beberapa batu sebagai penghalang. Tugasmu: tulis urutan perintah agar robot mencapai bintang tanpa melewati batu.
Perintah yang tersedia
| Perintah | Arti |
|---|---|
| MAJU | Bergerak 1 petak ke depan |
| BELOK KANAN | Berputar 90° ke kanan, tetap di petak yang sama |
| BELOK KIRI | Berputar 90° ke kiri, tetap di petak yang sama |
Aturan mainnya:
- Lakukan berpasangan: satu orang menjadi "programmer", satu lagi menjadi "robot".
- Robot menjalankan perintah persis apa adanya. Ia tidak boleh menebak maksud programmer.
- Robot mulai menghadap ke atas.
- Kalau robot salah arah, programmer memperbaiki perintahnya. Kegiatan ini disebut debugging.
Contoh jawaban
Robot mulai di pojok kiri bawah dan menghadap ke atas. Salah satu rute yang benar:
Mari telusuri. Dua kali MAJU membawa robot dua petak ke atas. BELOK KANAN membuatnya menghadap ke kanan, lalu tiga kali MAJU menggeser tiga petak ke kanan. BELOK KIRI membuatnya menghadap ke atas lagi, dua kali MAJU naik dua petak. Terakhir BELOK KANAN dan satu MAJU membawanya ke bintang.
Kalau kita beri nomor kolom (x) dari kiri dan baris (y) dari bawah, mulai dari (0, 0), robot berakhir di (4, 4).
Ada rute lain yang juga benar. Bandingkan rute kelompokmu dengan kelompok lain: rute mana yang paling pendek? Ini melatih kamu menilai algoritma, bukan hanya membuatnya.
Kenapa aktivitas ini melatih CT?
- Algoritma: kamu menyusun langkah yang runtut, jelas, dan berhingga.
- Dekomposisi: perjalanan panjang dipecah menjadi potongan, misalnya "naik dua petak", lalu "geser tiga petak".
- Abstraksi: yang penting hanya posisi, arah, dan letak batu. Warna papan tidak berpengaruh.
- Pola: kamu melihat perintah yang berulang, seperti MAJU, MAJU, MAJU.
Variasi: perintah ULANGI
Pola berulang itu bisa diringkas dengan perintah baru, ULANGI n KALI:
Hasilnya sama, tetapi perintahnya lebih ringkas. Inilah perulangan, struktur kontrol yang kamu pelajari sebelumnya.
Robot di Petak dalam JavaScript
Kita bisa membuat simulasi robot. Posisi dan arah robot disimpan dalam variabel, lalu setiap perintah mengubahnya.
Arah disimpan sebagai teks: "atas", "kanan", "bawah", "kiri". Belok kanan berarti bergeser satu langkah searah jarum jam di daftar itu:
indexOfmencari posisi sebuah nilai di array.urutanArah.indexOf("kanan")menghasilkan 1.% 4membuat indeks kembali ke 0 setelah 3. Dari "kiri" (indeks 3), (3 + 1) % 4 = 0, yaitu "atas". Operator sisa bagi yang sama dengan MOD di bab pseudocode ternyata berguna untuk pola yang berputar.
Untuk belok kiri, kita mundur satu langkah. Supaya tidak menghasilkan angka negatif, tambahkan 3 alih-alih mengurangi 1: (i + 3) % 4.
Langkah MAJU mengubah koordinat sesuai arah:
| Arah | Perubahan |
|---|---|
| atas | y bertambah 1 |
| kanan | x bertambah 1 |
| bawah | y berkurang 1 |
| kiri | x berkurang 1 |
Dengan potongan-potongan ini, kamu bisa membuat fungsi yang menjalankan seluruh daftar perintah. Itulah latihan di bab ini.
Rangkuman besar kelas ini
| Pilar | Intinya |
|---|---|
| Dekomposisi | Pecah masalah besar menjadi bagian kecil |
| Pengenalan Pola | Temukan kesamaan agar solusi bisa dipakai ulang |
| Abstraksi | Ambil yang penting, buang yang tidak relevan |
| Algoritma | Susun langkah yang runtut, jelas, dan berhingga |
Pesan utamanya: Computational Thinking bukan tentang membuat manusia berpikir seperti komputer. CT membantu kita merumuskan masalah dengan jelas, sehingga solusinya bisa dijalankan oleh siapa pun, manusia maupun mesin.
Bacaan lanjutan
Kalau ingin mendalami, beberapa sumber yang bisa kamu cari:
- Wing, J. M. (2006). Computational Thinking. Communications of the ACM, 49(3), 33-35.
- Wing, J. M. (2011). Research Notebook: Computational Thinking, What and Why? The Link, Carnegie Mellon University.
- Kemendikbudristek. Capaian Pembelajaran Mata Pelajaran Informatika, Kurikulum Merdeka.
- Tantangan Bebras Indonesia (bebras.or.id), kumpulan soal latihan berpikir komputasional yang sangat cocok untuk latihan tanpa komputer.
- BBC Bitesize, Introduction to Computational Thinking (KS3 Computer Science).
- Knuth, D. E. The Art of Computer Programming, Vol. 1, tentang ciri-ciri algoritma.
Tugas lanjutan
Pilih satu kegiatan rutin di rumah, misalnya mencuci piring atau menyiapkan sarapan. Tuliskan algoritmanya dalam pseudocode dan flowchart. Periksa apakah ketiga struktur kontrol muncul, lalu cek lima ciri algoritma yang baik.
Kesalahan umum
- Lupa bahwa belok tidak memindahkan robot. BELOK KANAN hanya mengubah arah, posisinya tetap.
- Salah menentukan kanan dan kiri. Kanan dan kiri dilihat dari arah hadap robot, bukan dari arah kamu melihat papan.
- Menyerah saat salah. Kesalahan adalah bagian normal dari menyusun algoritma. Debugging adalah keterampilan, bukan tanda gagal.
Rangkuman
- Aktivitas Robot di Petak melatih menyusun perintah yang dijalankan persis apa adanya.
- Debugging berarti menemukan dan memperbaiki perintah yang salah.
- Perintah berulang bisa diringkas dengan ULANGI n KALI, yaitu perulangan.
- Empat pilar CT: dekomposisi, pengenalan pola, abstraksi, dan algoritma.
- CT membantu merumuskan masalah dengan jelas agar solusinya bisa dijalankan manusia maupun mesin.
Slide 23 sampai 27 dari deck Computational Thinking: Berpikir Komputasional dari Nol. Penjelasan lengkapnya ada di mode Baca.

Selesaikan bab ini
- 1. Baca materi
- 2. Latihan kode (2)
- 3. Kuis (4 soal)
Latihan kode: Simulasi Robot di Petak
Robot mulai di x = 0, y = 0, menghadap "atas". Tulis jalankan(perintah) yang menerima array berisi "MAJU", "KANAN", atau "KIRI", lalu mengembalikan objek { x, y, arah } setelah semua perintah dijalankan.
"KANAN"dan"KIRI"hanya mengubah arah. PakaiurutanArahdan rumus(i + 1) % 4untuk kanan serta(i + 3) % 4untuk kiri."MAJU": atas menambah y, kanan menambah x, bawah mengurangi y, kiri mengurangi x.
Contoh: jalankan(["MAJU", "KANAN", "MAJU"]) menghasilkan { x: 1, y: 1, arah: "kanan" }.
Latihan kode: Perintah ULANGI n KALI
Tulis ulangi(perintah, n) yang mengembalikan array baru berisi isi perintah diulang n kali, berurutan.
Contoh:
ulangi(["MAJU"], 3)menghasilkan["MAJU", "MAJU", "MAJU"].ulangi(["MAJU", "KANAN"], 2)menghasilkan["MAJU", "KANAN", "MAJU", "KANAN"].
Petunjuk: pakai dua perulangan bersarang. Perulangan luar berjalan n kali, perulangan dalam memasukkan setiap perintah ke hasil.
Cek pemahaman
1Dalam aktivitas Robot di Petak, apa yang terjadi saat robot menerima perintah BELOK KANAN?
2Kegiatan memperbaiki perintah saat robot salah arah disebut
3Robot dalam aktivitas unplugged boleh menebak maksud programmer bila perintahnya kurang tepat.
4Robot mulai di (0, 0) menghadap atas. Di mana posisinya setelah perintah ini?
["MAJU", "MAJU", "KANAN", "MAJU"]