MEMBUAT CHATBOT DENGAN SCRATCH
Chatbot Scratch: Pemrograman Interaktif melalui Percakapan
Belajar melalui input, variabel, keputusan, kostum, backdrop, animasi, debugging, dan pengujian program.
Materi 1 • Dasar Chatbot & Karakter
Materi pembelajaran Informatika • KKA • Scratch
Belajar Pemrograman Interaktif melalui Percakapan, Variabel, Keputusan, Kostum, dan Debugging

Ilustrasi
pembuka: chatbot sebagai karakter yang dapat diajak berinteraksi.
|
Konteks
pembelajaran |
1. Chatbot: Program yang Bisa Diajak Berbicara
Pernahkah
kamu membayangkan sebuah karakter di layar yang bisa bertanya, membaca
jawabanmu, lalu memberikan respons? Itulah gagasan
dasar chatbot. Dalam proyek Scratch ini, kita tidak langsung membuat sistem
yang rumit. Kita mulai dari percakapan sederhana, kemudian menambahkan
kemampuan menyimpan jawaban, mengambil keputusan, mengubah ekspresi, berpindah
lokasi, dan bergerak.

Gambar
1. Contoh tampilan chatbot yang meminta nama pengguna.
Tujuan utama proyek adalah membuat karakter
yang dapat menerima jawaban pengguna dan memberikan respons sesuai kondisi.
Materi sumber menempatkan proyek ini sebagai latihan pemrograman karakter
percakapan di Scratch.
|
Pertanyaan
pemantik |
Kaitan dengan pembelajaran mendalam
Proyek ini cocok untuk pembelajaran
mendalam karena siswa tidak hanya meniru susunan blok. Mereka perlu memahami
hubungan antara input, penyimpanan data, kondisi, output, dan pengujian. Proses
mencoba lalu memperbaiki bug juga mendorong penalaran kritis dan kemandirian.
·
Penalaran kritis: menganalisis
mengapa respons chatbot berbeda ketika jawaban pengguna berubah.
·
Kreativitas: merancang
karakter, pertanyaan, respons, kostum, dan lokasi sendiri.
·
Kemandirian: menguji program,
menemukan kesalahan, lalu memperbaikinya.
·
Komunikasi: membuat dialog yang
mudah dipahami pengguna.
·
Kolaborasi: menguji chatbot
bersama teman dan menerima masukan.
2. Tentukan Karakter Chatbot Sebelum Menulis Kode
Pemrograman yang baik dimulai dari
perencanaan. Sebelum menyusun blok Scratch, tentukan terlebih dahulu siapa
chatbot-mu. Sumber materi mengajak siswa memikirkan nama, tempat tinggal,
kepribadian, serta hal yang disukai atau tidak disukai oleh karakter.
Gambar 2. Pilihan karakter chatbot
Rancang karakter sederhana
·
Nama chatbot:
______________________________
·
Tempat tinggal:
____________________________
·
Kepribadian: ceria / serius /
lucu / pemalu / ramah
·
Hal yang disukai:
___________________________
·
Hal yang tidak disukai:
______________________
|
Aktivitas
bermakna |
Dari rancangan ke program
Setelah karakter dipilih, chatbot perlu
diberi perilaku. Pada tahap awal, sprite ketika diklik akan menanyakan nama,
menunggu jawaban, kemudian memberikan respons. Pola ini merupakan fondasi
percakapan: peristiwa pertanyaan input respons.

Gambar
3. Struktur dasar percakapan: sprite diklik, bertanya, menunggu, lalu
merespons.
3. Input dan Respons: Chatbot Mulai Berbicara
Pada Scratch, blok ask ... and wait
digunakan untuk meminta jawaban. Setelah pengguna mengetik jawaban, program
dapat melanjutkan ke blok berikutnya. Inilah titik penting yang membedakan
animasi biasa dengan program yang merespons input.

Gambar
4. Contoh tampilan saat chatbot meminta nama.

Gambar
5. Contoh respons setelah pengguna memberikan nama.
Uji program, jangan hanya melihat kode
Jalankan chatbot, masukkan namamu, lalu
perhatikan responsnya. Jika program tidak berjalan sesuai harapan, jangan
langsung mengubah banyak blok. Tentukan dahulu bagian mana yang menghasilkan
perilaku yang tidak sesuai.
|
Kebiasaan
programmer |
Tantangan kecil
Ubah pertanyaan awal menjadi pertanyaan
yang lebih kontekstual, misalnya “Siapa namamu?” atau “Bagaimana kabarmu hari
ini?”. Pastikan respons berikutnya masih masuk akal terhadap jawaban pengguna.
4. Menyimpan Jawaban dengan answer dan Variabel
Jawaban pengguna tidak harus berhenti
sebagai respons sesaat. Jawaban dapat digunakan kembali. Materi sumber
memperkenalkan nilai answer dan kemudian variabel name agar nama pengguna dapat
disimpan dan dipakai pada bagian lain program.

Gambar
6. Menggabungkan teks “Hi” dengan nilai answer.

Gambar
7. Menyimpan answer ke variabel name sebelum digunakan.
Mengapa variabel penting?
Bayangkan chatbot menerima nama “Alya”.
Jika nama hanya dipakai sekali, program akan sulit menggunakannya kembali.
Dengan variabel name, data tersebut dapat disimpan sehingga dialog berikutnya
dapat menyebut nama pengguna.
·
answer = jawaban terbaru yang
diberikan pengguna.
·
name = tempat menyimpan nama
agar dapat dipakai kembali.
·
join = menggabungkan teks
dengan nilai yang tersimpan.
|
Cek
pemahaman |
Materi 2 • Input, Variabel & Keputusan
Materi pembelajaran Informatika • KKA • Scratch
5. Membuat Chatbot Mengambil Keputusan
Chatbot menjadi lebih menarik ketika
responsnya tidak selalu sama. Program dapat memeriksa jawaban pengguna,
kemudian menentukan tindakan. Pada materi sumber, chatbot menanyakan apakah
pengguna baik-baik saja dan memberikan respons berbeda ketika jawaban “yes”
atau “no”.

Gambar
8. Contoh logika keputusan menggunakan if–then.
Cara membaca logika
1.
Chatbot meminta nama dan
menyimpannya pada variabel name.
2.
Chatbot menanyakan kondisi
pengguna.
3.
Program memeriksa nilai answer.
4.
Jika answer sama dengan “yes”,
chatbot memberikan respons positif.
5.
Jika kondisi tidak terpenuhi,
program dapat diarahkan ke respons lain.
Struktur seperti ini merupakan dasar
pengambilan keputusan dalam pemrograman. Siswa perlu memperhatikan bahwa
perubahan satu jawaban dapat mengubah jalur program.
Latihan prediksi
Jika pengguna menjawab “no”, apakah blok
respons pada bagian then akan dijalankan? Jelaskan alasanmu berdasarkan kondisi
pada blok if.
6. if–then–else: Memberi Respons untuk Dua Kondisi
Struktur if–then–else membuat chatbot
memiliki dua jalur respons. Ketika kondisi benar, program menjalankan bagian
then. Ketika kondisi tidak benar, program menjalankan bagian else. Materi
sumber kemudian meminta siswa menguji program dengan jawaban “yes” dan “no”.

Gambar
9. Struktur if–then–else dengan dua kemungkinan respons.
|
Pikirkan
seperti ini |
Kembangkan dialog
Kamu dapat mengganti isi percakapan agar
lebih dekat dengan kehidupan siswa. Misalnya, chatbot bertanya apakah pengguna
ingin belajar bersama. Respons positif dapat berupa ajakan memulai, sedangkan
respons negatif dapat berupa kalimat yang tetap ramah.
Perhatikan bahwa pemrograman bukan sekadar
membuat program “bisa berjalan”. Respons juga perlu sesuai dengan konteks
percakapan. Inilah bagian yang melatih komunikasi dan kreativitas.
7. Kostum: Membuat Respons Lebih Ekspresif
Chatbot memiliki beberapa costume. Tab
Costumes dapat digunakan untuk melihat dan mengatur tampilan karakter. Dengan
kostum yang berbeda, satu karakter dapat menunjukkan ekspresi yang sesuai
dengan responsnya.

Gambar
10. Tab Costumes dan beberapa pilihan kostum chatbot.

Gambar
11. Contoh ekspresi chatbot saat memberikan respons positif.

Gambar
12. Contoh ekspresi chatbot saat memberikan respons negatif.
Misalnya, ketika jawaban pengguna positif,
chatbot dapat memakai ekspresi senang. Ketika jawaban negatif, chatbot dapat
memakai ekspresi lain. Dengan demikian, respons tidak hanya berupa teks, tetapi
juga diperkuat oleh visual.
|
Ide
desain |
Materi 3 • Kostum, Debugging & Backdrop
Materi pembelajaran Informatika • KKA • Scratch
8. Debugging: Ketika Kostum Tidak Kembali ke Awal
Salah satu bagian paling penting dalam
proyek ini adalah memperbaiki bug. Materi sumber menunjukkan masalah: setelah
kostum berubah, program dapat tetap menggunakan kostum tersebut ketika proyek
dijalankan lagi. Siswa diminta menguji, mengamati, lalu memperbaikinya.

Gambar
13. Contoh kode yang mengatur kostum berdasarkan hasil jawaban.
Apa penyebab masalahnya?
Program mengubah kostum sesuai jawaban,
tetapi belum memastikan kondisi awal setiap kali sprite diklik. Akibatnya,
keadaan dari percobaan sebelumnya dapat memengaruhi tampilan berikutnya.

Gambar
14. Menetapkan kostum awal sebelum chatbot mulai bertanya.
|
Langkah
debugging |
9. Berpindah Lokasi dengan Backdrop
Setelah percakapan dan ekspresi berjalan,
proyek dapat dikembangkan dengan perpindahan lokasi. Pada materi sumber,
chatbot bertanya apakah pengguna ingin pergi ke bulan. Jika jawabannya “yes”,
backdrop diganti menjadi moon.

Gambar
15. Contoh chatbot ketika berada di lokasi bulan.
Perubahan backdrop menunjukkan bahwa
jawaban pengguna dapat memengaruhi lingkungan tempat karakter berada. Program
menjadi lebih interaktif karena ada hubungan antara input dan perubahan visual.
Pola yang perlu dipahami
·
Pertanyaan menghasilkan input.
·
Input diperiksa menggunakan
kondisi.
·
Kondisi menentukan apakah
backdrop akan berubah.
·
Perubahan backdrop memberi
umpan balik visual kepada pengguna.
10. Menggabungkan Semua Bagian Menjadi Satu Program
Pada tahap ini, beberapa konsep
digabungkan: mengatur kondisi awal, meminta nama, menyimpan nama, memberikan
sapaan, meminta jawaban, menentukan respons, mengubah kostum, dan mengganti
backdrop. Kode lengkap pada sumber menjadi contoh bagaimana bagian-bagian kecil
disusun menjadi satu alur.

Gambar
16. Kode lengkap yang menggabungkan percakapan, keputusan, kostum, dan
backdrop.
Cara membaca program dari atas ke bawah
Mulailah dari blok event ketika sprite
diklik. Setelah itu ikuti urutan perintah secara vertikal. Tandai kapan data
masuk, kapan data disimpan, kapan kondisi diperiksa, dan kapan tampilan
berubah. Cara membaca alur ini membantu siswa memahami program sebagai
serangkaian langkah logis.
|
Pertanyaan
reflektif |
Materi 4 • Program Lengkap, Animasi & Pengujian
Materi pembelajaran Informatika • KKA • Scratch
11. Animasi: Membuat Chatbot Melompat
Interaksi dapat diperkuat dengan animasi
sederhana. Pada materi sumber, ketika kondisi “yes” terpenuhi, chatbot dibuat
bergerak naik dan turun sebanyak empat kali. Pola ini memanfaatkan repeat,
perubahan posisi, dan jeda waktu.

Gambar
17. Contoh perulangan untuk menghasilkan gerakan melompat.
Perulangan repeat membuat serangkaian
perintah dijalankan beberapa kali. Jika gerak naik dan gerak turun ditempatkan
secara berurutan, pengguna akan melihat animasi seperti lompatan.
Eksperimen
·
Apa yang terjadi jika jumlah
repeat diubah dari 4 menjadi 6?
·
Apa yang terjadi jika nilai
perubahan posisi diperbesar?
·
Apa yang terjadi jika wait
dihilangkan?
·
Menurutmu, kombinasi mana yang
menghasilkan gerakan paling nyaman dilihat?
12. Tantangan: Rancang Percakapanmu Sendiri
Setelah menguasai pola dasar, jangan
berhenti pada contoh. Materi sumber mendorong siswa membuat pertanyaan lain,
misalnya mengajak pengguna bernyanyi atau menari.

Gambar
18. Contoh chatbot mengajukan pertanyaan baru.

Gambar
19. Contoh variasi pertanyaan pada chatbot.
Proyek mini: Chatbot Teman Belajar
Buat chatbot yang menyapa pengguna,
menanyakan nama, menanyakan apakah pengguna siap belajar, lalu memberikan
respons berbeda. Tambahkan minimal satu perubahan kostum dan satu perubahan
backdrop.
·
Minimal 3 pertanyaan.
·
Minimal 2 variabel.
·
Minimal 1 struktur
if–then–else.
·
Minimal 2 kostum dengan fungsi
berbeda.
·
Minimal 2 backdrop.
·
Minimal 1 animasi menggunakan
repeat.
·
Lakukan pengujian bersama
teman.
|
Produk
akhir |
13. Uji Bersama Teman: Program yang Baik Harus Diuji
Pengujian dengan orang lain membantu
menemukan masalah yang mungkin tidak terlihat oleh pembuat program. Materi
sumber mengajak siswa meminta teman mencoba chatbot dan menilai karakter, bug,
serta kesesuaian respons.

Gambar
20. Contoh interaksi chatbot yang dapat diuji bersama teman.
Checklist pengujian
|
Aspek |
Hasil |
Catatan |
|
Pertanyaan mudah dipahami |
☐ Ya ☐ Tidak |
________________ |
|
Nama tersimpan dengan benar |
☐ Ya ☐ Tidak |
________________ |
|
Respons sesuai jawaban |
☐ Ya ☐ Tidak |
________________ |
|
Kostum berubah sesuai kondisi |
☐ Ya ☐ Tidak |
________________ |
|
Backdrop kembali ke kondisi awal |
☐ Ya ☐ Tidak |
________________ |
|
Tidak ada bug saat diuji ulang |
☐ Ya ☐ Tidak |
________________ |
|
Deep
learning |
||
14. Tantangan Lanjutan: Simpan Data Baru
Setelah variabel name dikuasai, siswa dapat
membuat variabel lain. Materi sumber memberi contoh pertanyaan “Di mana kamu
tinggal?” lalu jawaban disimpan pada variabel baru, misalnya place.

Gambar
21. Chatbot meminta lokasi tempat tinggal pengguna.

Gambar
22. Jawaban lokasi disimpan dan dapat digunakan kembali.
Kembangkan menjadi percakapan kontekstual
Jika variabel place sudah berisi jawaban
pengguna, chatbot dapat menggunakannya pada respons berikutnya. Dengan
demikian, percakapan tidak hanya berdasarkan teks yang sudah ditulis
sebelumnya, tetapi mulai menggunakan informasi yang diberikan pengguna.
Tantangan terakhir
Buat pertanyaan baru yang dapat dijawab “yes”
atau “no”. Rancang dua respons berbeda untuk kedua kemungkinan jawaban
tersebut. Materi sumber memberi contoh pertanyaan tentang apakah pengguna ingin
mendengar lelucon.Latihan Soal Interaktif
15 soal • 2 menit • nilai otomatis • pembahasan setelah pengiriman
|
Petunjuk |

Stimulus 1. Potongan program dasar chatbot.
Perhatikan program pada gambar. Ketika
sprite diklik, chatbot mengajukan pertanyaan dan menunggu jawaban. Jika
pengguna mengetik “Rani”, tindakan yang paling tepat adalah …

Stimulus 2. Jawaban pengguna disimpan ke
variabel name.
Pada gambar terlihat blok set name to
answer. Jika pengguna mengetik “Bima”, pernyataan yang paling tepat adalah …

Stimulus 3. Kondisi answer menentukan jalur
respons.
Chatbot memeriksa apakah answer sama dengan
“yes”. Jika pengguna menjawab “no”, respons yang paling mungkin dijalankan
adalah …

Stimulus 4. Kostum berubah sesuai jawaban.
Setelah menjawab “no”, wajah chatbot
berubah menjadi tidak senang. Ketika program dijalankan kembali, wajah tersebut
masih muncul sebelum pertanyaan baru. Perbaikan paling logis adalah …

Stimulus 5. Chatbot berada di lokasi bulan.
Dalam proyek sumber, chatbot berpindah ke
bulan setelah menanyakan apakah pengguna ingin pergi ke bulan. Jika perpindahan
hanya boleh terjadi ketika jawaban “yes”, konsep yang paling tepat adalah …

Stimulus 6. Kode lengkap chatbot.
Mengapa program pada gambar lebih
interaktif daripada chatbot awal?

Stimulus 7. Repeat digunakan untuk gerakan
melompat.
Gerakan naik dan turun berada di dalam
repeat 4. Jika angka 4 diganti menjadi 8 tanpa mengubah perintah lain,
dampaknya adalah …

Stimulus 8. Chatbot meminta lokasi tempat
tinggal pengguna.
Agar jawaban tempat tinggal dapat digunakan
kembali pada kalimat berikutnya, variabel baru yang paling sesuai adalah …

Stimulus 9. Tab Costumes menyediakan beberapa
tampilan karakter.
Siswa ingin membuat chatbot menampilkan
ekspresi berbeda sesuai jawaban. Fitur yang paling relevan adalah …

Stimulus 10. Chatbot mengajukan pertanyaan
baru.
Jika siswa ingin membuat dua respons
berbeda berdasarkan jawaban “yes” dan “no”, struktur yang paling sesuai adalah
…

Stimulus 11. Chatbot memberikan respons setelah
menerima nama.
Saat diuji bersama teman, ditemukan respons
yang tidak sesuai. Tindakan yang paling tepat adalah …

Stimulus 12. Program menetapkan backdrop dan
kostum awal.
Mengapa pengaturan backdrop dan kostum awal
sebaiknya diletakkan sebelum chatbot mulai bertanya?

Stimulus 13. Kode lengkap chatbot.
Berdasarkan kode pada gambar, centang semua
pernyataan yang benar.

Stimulus 14. Perubahan kostum berdasarkan
kondisi.
Jika blok pengaturan kostum awal dihapus,
jelaskan masalah yang mungkin muncul ketika chatbot dijalankan berkali-kali.

Stimulus 15. Jawaban tempat tinggal digunakan
dalam percakapan.
Rancang urutan blok Scratch agar chatbot
dapat menanyakan tempat tinggal, menyimpan jawabannya dalam variabel place,
kemudian memberikan respons menggunakan nilai place.
