Scratch: Find the Bug dengan Scratch
🐞 Find the Bug – Belajar Debugging dengan Scratch
Media pembelajaran interaktif berbasis web untuk Informatika dan Koding & Kecerdasan Artifisial.
A. Tujuan Pembelajaran
·
Siswa memahami bahwa program
dapat memiliki kesalahan dan perlu diuji secara bertahap.
·
Siswa mampu menjelaskan fungsi
backdrop, sprite, event, perulangan, perpindahan posisi, dan pengaturan ukuran
dalam proyek Scratch.
·
Siswa mampu membaca potongan
blok Scratch dan memperkirakan perilaku program.
·
Siswa mampu menemukan bagian
program yang menyebabkan perilaku tidak sesuai tujuan, lalu mengusulkan
perbaikannya.
·
Siswa mampu menguji program,
mengamati hasil, dan melakukan refleksi terhadap proses pemecahan masalah.
B. Keterkaitan dengan Deep Learning
Pembelajaran
mendalam pada kegiatan ini tidak berhenti pada
meniru blok. Siswa diajak memahami alasan sebuah blok digunakan, mencoba
program, mengamati hasil, menemukan masalah, memperbaiki, lalu menjelaskan
kembali temuannya. Proses tersebut membuat belajar lebih berkesadaran,
bermakna, dan menyenangkan.
Berkesadaran:
Siswa menyadari bahwa setiap perubahan blok dapat
memengaruhi perilaku permainan.
Bermakna:
Siswa melihat langsung hubungan antara kode, gerak
sprite, backdrop, timer, dan tujuan permainan.
Menggembirakan:
Kegiatan dikemas sebagai misi menemukan bug
sehingga siswa belajar melalui tantangan.
C. Konsep Berpikir Komputasional yang Muncul
|
Konsep |
Contoh dalam proyek |
|
Dekomposisi |
Permainan
dibagi menjadi layar awal, level pertama, level kedua, layar akhir, dan kode
tiap sprite. |
|
Pengenalan
pola |
Siswa
membandingkan perilaku Beetle pada beberapa backdrop dan mengenali pola
perubahan ukuran/posisi. |
|
Algoritma |
Urutan blok
menentukan apa yang dilakukan sprite sejak bendera hijau diklik sampai
permainan selesai. |
|
Debugging |
Siswa menguji,
menemukan perilaku yang salah, mencari penyebab, lalu memperbaiki program. |
1. Mengenal Tantangan “Find the Bug”
Find
the Bug adalah permainan sederhana dengan misi
menemukan sprite Beetle yang ditempatkan pada beberapa situasi. Dari sudut
pandang belajar pemrograman, permainan ini menarik karena siswa tidak hanya
membuat tampilan, tetapi juga harus memastikan program berjalan sesuai rencana.
Inti
tantangannya adalah debugging. Jika Beetle terlalu
besar, terlalu kecil, salah posisi, muncul pada waktu yang tidak tepat, atau
permainan tidak berpindah ke level berikutnya, siswa perlu mencari bagian
program yang menyebabkan masalah tersebut.
2. Menyiapkan Layar Awal
Permainan
dimulai dengan sebuah panggung. Backdrop Chalkboard digunakan sebagai layar awal.
Backdrop tersebut diubah menjadi format vektor, diberi judul “Find the bug”,
kemudian diberi nama “start”. Backdrop kosong yang tidak dipakai dihapus.
Gambar 2. Backdrop Chalkboard yang digunakan
untuk layar awal
Gambar 3. Contoh penempatan judul “Find the
bug” pada backdrop.
Selanjutnya,
tambahkan backdrop Spotlight dari kategori Music.
Backdrop ini digunakan ketika permainan masuk ke level pertama.
Gambar 4. Backdrop Spotlight untuk level
pertama
Logika awalnya sederhana: ketika bendera hijau diklik, Stage mengganti backdrop menjadi “start”. Pada halaman 2 sumber, blok tersebut dituliskan sebagai when flag clicked → switch backdrop to [start]
3. Level Pertama: Menemukan Beetle
Pada
level pertama, siswa menambahkan sprite Beetle.
Ketika permainan berpindah ke Spotlight, Beetle dibuat kecil dan ditempatkan
pada bola disko. Tujuannya adalah membuat Beetle tidak langsung terlihat oleh
pemain.
Gambar 5. Sprite Beetle yang digunakan dalam permainan.
Gambar 6. Saat backdrop menjadi Spotlight,
Beetle diperkecil dan dipindahkan ke koordinat tertentu.
Perhatikan
hubungan antarblok. Blok “when backdrop switches to
[Spotlight]” menjadi pemicu. Setelah pemicu terjadi, ukuran Beetle diubah
menjadi 20% dan Beetle dipindahkan ke x: 13, y: 132.
Ketika Beetle ditemukan dan diklik, program memainkan suara Pop sampai selesai lalu berpindah ke backdrop berikutnya.
Gambar 7. Event ketika Beetle diklik: suara Pop
dimainkan lalu backdrop berpindah. Sumber: halaman 3.
Uji sederhana untuk siswa: klik bendera hijau, lalu klik Beetle. Apakah Beetle tampil besar di Chalkboard dan menjadi kecil ketika berada di Spotlight? Jika hasilnya berbeda, itulah saatnya mulai mencari bug.
4. Gangguan Burung Beo: Membuat Sprite Bergerak
Pada
bagian berikutnya, ditambahkan sprite Parrot
sebagai pengganggu. Parrot perlu tetap tegak, bergerak terus, dan terlihat
seperti mengepakkan sayap.
Gambar 8. Sprite Parrot sebagai pengganggu permainan.
Gambar 9. Pengaturan gaya rotasi left-right dan
arah terbang Parrot.
Mengapa
pengaturan rotasi penting? Karena siswa ingin
Parrot berubah arah secara horizontal tanpa berputar terbalik. Pada sumber,
gaya rotasi diatur menjadi “left-right” dan arah ditetapkan 35.
Gambar 10. Perulangan gerak Parrot: bergerak,
memantul saat menyentuh tepi, lalu terus mengganggu permainan.
Blok forever membuat gerakan terus berlangsung. Di dalamnya terdapat move 10 steps dan if on edge, bounce. Dengan demikian, Parrot terus bergerak di Stage.
Gambar 11. Animasi Parrot: next costume,
perubahan color effect, dan jeda waktu.
Bagian ini juga mengajarkan bahwa gerak yang terlihat hidup tidak selalu membutuhkan banyak kode. Beberapa blok sederhana yang diulang dengan urutan tepat sudah dapat menghasilkan animasi.
5. Level Kedua: Membuat Beetle Lebih Sulit Ditemukan
Setelah
pemain menyelesaikan level pertama, permainan dapat dilanjutkan ke level kedua.
Silahkan gunakan backdrop Urban. Beetle dibuat kecil dan ditempatkan pada
lokasi yang lebih sulit diperhatikan.
Gambar 12. Contoh suasana Urban yang digunakan untuk level kedua.
Gambar 13. Beetle diperkecil menjadi 20% dan
ditempatkan pada koordinat baru.
Salah
satu ide penting pada level ini adalah posisi sprite terhadap objek lain. Jika Beetle seharusnya berada di belakang objek, pengaturan layer
perlu diperhatikan.
Gambar 14. Contoh penggunaan pengaturan layer agar Beetle berada di belakang.
6. Layar Akhir dan Penggunaan Timer
Permainan
membutuhkan tanda selesai. Backdrop Chalkboard digunakan lagi dan diberi
nama “end”. Beetle kemudian ditampilkan pada layar akhir. Timer ditampilkan
sebagai bagian dari hasil permainan.
Gambar 15. Beetle ditampilkan pada layar akhir dan dapat mengatakan waktu yang diperlukan.
Sebaliknya,
pada layar awal timer tidak perlu ditampilkan.
Karena itu, ketika backdrop menjadi “start”, bagian say dapat dikosongkan.
Gambar 16. Timer disembunyikan pada layar awal.
Ketika permainan masuk ke Spotlight, timer di-reset agar pengukuran waktu dimulai kembali untuk level pertama.
7. Belajar Debugging: Jangan Takut Salah
Kesalahan
dalam program bukan tanda bahwa siswa gagal. Kesalahan
justru dapat menjadi petunjuk untuk memahami cara kerja program. Guru dapat
membiasakan siswa menggunakan siklus sederhana: buat → jalankan → amati → temukan masalah → perbaiki → uji kembali.
1.
Amati perilaku yang tidak
sesuai tujuan.
2.
Tentukan kapan kesalahan
terjadi.
3.
Cari blok yang berhubungan
dengan kejadian tersebut.
4.
Ubah satu bagian pada satu
waktu agar penyebab perubahan mudah dilacak.
5.
Jalankan kembali program dan
bandingkan hasilnya.
8. Rangkuman Kode dan Alur Permainan
Dokumen sumber halaman 8 merangkum kode
Beetle, Parrot, dan Stage. Ringkasan berikut ditulis ulang agar lebih mudah
dibaca siswa.
Stage
|
when flag clicked |
Beetle — Level pertama
|
when backdrop switches to [Spotlight] |
Beetle
— Layar awal
|
when backdrop switches to [start] |
Beetle
— Layar akhir
|
when backdrop switches to [end] |
Beetle — Level kedua
|
when backdrop switches to [Urban] |
Beetle
— Saat diklik
|
when this sprite clicked |
Parrot
|
when flag clicked |
9. Aktivitas Belajar: Misi Detektif Bug
Misi
siswa: buat atau salin proyek Find the Bug,
kemudian sengaja ubah satu blok sehingga terjadi kesalahan. Teman satu kelompok
bertugas menemukan bagian yang berubah dan menjelaskan akibatnya.
|
Tahap |
Kegiatan siswa |
Bukti belajar |
|
Mengamati |
Menjalankan
proyek tanpa mengubah kode. |
Catatan
perilaku program. |
|
Memprediksi |
Menebak blok
yang mungkin menyebabkan bug. |
Alasan
berdasarkan kode. |
|
Menguji |
Mengubah satu
bagian lalu menjalankan ulang. |
Hasil
sebelum/sesudah. |
|
Memperbaiki |
Mengembalikan
atau mengganti blok yang tepat. |
Program
berjalan sesuai tujuan. |
|
Menjelaskan |
Menceritakan
penyebab dan solusi. |
Penjelasan
lisan/tulisan. |
10. Refleksi Siswa
·
Bug apa yang paling mudah kamu
temukan? Mengapa? ________________________________________________
·
Bagian kode mana yang paling
membutuhkan ketelitian? ________________________________________________
·
Apa yang terjadi jika blok
reset timer dihilangkan? ________________________________________________
·
Bagaimana kamu memastikan bahwa
perbaikanmu benar-benar berhasil?
________________________________________________
·
Apa strategi yang akan kamu
gunakan jika menemukan bug pada proyek Scratch lain?
________________________________________________
11. Latihan Soal HOTS Berbasis Stimulus – Model AKM/TKA
Petunjuk umum. Soal berikut menggunakan gambar/ilustrasi dari materi Find the Bug sebagai stimulus. Siswa tidak hanya mengingat nama blok, tetapi menganalisis hubungan antara stimulus, kode, perilaku program, dan tujuan permainan. Bentuk soal dibuat bergaya AKM/TKA; soal ini bukan soal resmi AKM/TKA.
Durasi pengerjaan: 2 menit. Soal baru ditampilkan setelah tombol mulai ditekan. Setelah jawaban dikirim, soal disembunyikan kembali dan hasil nilai ditampilkan.
Nilai dihitung berdasarkan kunci dan rubrik pada dokumen kunci jawaban.