Computational Thinking: Berpikir Komputasional dari Nol

Belum masuk. Progresmu tidak tersimpan.

Masuk
  • Bab 8 dari 8
  • 35 menit
  • 2 latihan kode
  • 4 soal kuis

Latihan Robot di Petak dan Rangkuman

Di bab ini (8 bagian)
  1. Tujuan
  2. Saatnya mencoba sendiri
  3. Aktivitas unplugged: Robot di Petak
  4. Robot di Petak dalam JavaScript
  5. Rangkuman besar kelas ini
  6. Bacaan lanjutan
  7. Kesalahan umum
  8. Rangkuman

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

PerintahArti
MAJUBergerak 1 petak ke depan
BELOK KANANBerputar 90° ke kanan, tetap di petak yang sama
BELOK KIRIBerputar 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:

MAJU, MAJU, BELOK KANAN, MAJU, MAJU, MAJU,
BELOK KIRI, MAJU, MAJU, BELOK KANAN, MAJU

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:

ULANGI 2 KALI: MAJU
BELOK KANAN
ULANGI 3 KALI: MAJU
BELOK KIRI
ULANGI 2 KALI: MAJU
BELOK KANAN
MAJU

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:

const urutanArah = ["atas", "kanan", "bawah", "kiri"];

function belokKanan(arah) {
  const i = urutanArah.indexOf(arah);
  return urutanArah[(i + 1) % 4];
}

belokKanan("atas"); // "kanan"
belokKanan("kiri"); // "atas"
  • indexOf mencari posisi sebuah nilai di array. urutanArah.indexOf("kanan") menghasilkan 1.
  • % 4 membuat 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:

ArahPerubahan
atasy bertambah 1
kananx bertambah 1
bawahy berkurang 1
kirix berkurang 1

Dengan potongan-potongan ini, kamu bisa membuat fungsi yang menjalankan seluruh daftar perintah. Itulah latihan di bab ini.

Rangkuman besar kelas ini

PilarIntinya
DekomposisiPecah masalah besar menjadi bagian kecil
Pengenalan PolaTemukan kesamaan agar solusi bisa dipakai ulang
AbstraksiAmbil yang penting, buang yang tidak relevan
AlgoritmaSusun 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.

Selesaikan bab ini

  1. 1. Baca materi
  2. 2. Latihan kode (2)
  3. 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. Pakai urutanArah dan rumus (i + 1) % 4 untuk kanan serta (i + 3) % 4 untuk 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

  1. 1Dalam aktivitas Robot di Petak, apa yang terjadi saat robot menerima perintah BELOK KANAN?

  2. 2Kegiatan memperbaiki perintah saat robot salah arah disebut

  3. 3Robot dalam aktivitas unplugged boleh menebak maksud programmer bila perintahnya kurang tepat.

  4. 4Robot mulai di (0, 0) menghadap atas. Di mana posisinya setelah perintah ini?

    ["MAJU", "MAJU", "KANAN", "MAJU"]