MEMBUAT CHATBOT DENGAN SCRATCH

POJOK INFORMATIKA • INFORMATIKA & KKA

Chatbot Scratch: Pemrograman Interaktif melalui Percakapan

Belajar melalui input, variabel, keputusan, kostum, backdrop, animasi, debugging, dan pengujian program.

Kurikulum MerdekaDeep LearningScratchMedia Web Interaktif

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
Artikel ini disusun sebagai bahan belajar Informatika SMP berbasis Kurikulum Merdeka dengan pendekatan pembelajaran mendalam (deep learning): peserta didik memahami konsep, mencoba, menguji, menemukan kesalahan, memperbaiki, lalu mengembangkan karya sendiri.

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
Menurutmu, apakah chatbot yang hanya menjawab satu pertanyaan sudah dapat disebut interaktif? Apa yang perlu ditambahkan agar percakapannya terasa lebih hidup?

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
Jangan memilih karakter hanya karena tampilannya menarik. Pikirkan bagaimana karakter tersebut akan memengaruhi cara chatbot berbicara dan merespons pengguna.

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
Uji amati tentukan masalah ubah bagian yang diperlukan uji kembali. Siklus ini akan terus digunakan ketika proyek semakin kompleks.

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
Jika pengguna mengetik “Raka”, apa yang seharusnya tersimpan pada variabel name setelah blok set name to answer dijalankan?

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
if adalah pertanyaan keputusan. then adalah tindakan ketika syarat terpenuhi. else adalah tindakan ketika syarat tidak terpenuhi.

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
Pilih ekspresi yang benar-benar mendukung makna dialog. Ekspresi wajah yang bertentangan dengan teks justru dapat membingungkan pengguna.

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
Reproduksi bug cari penyebab buat perubahan kecil jalankan kembali bandingkan hasil. Jangan mengubah semua bagian program sekaligus karena akan menyulitkan pencarian penyebab.

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
Bagian mana yang berfungsi sebagai input? Bagian mana yang berfungsi sebagai penyimpanan data? Bagian mana yang membuat keputusan? Bagian mana yang menghasilkan perubahan visual?

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
Chatbot tidak harus panjang. Yang penting alurnya jelas, responsnya sesuai input, dan kamu dapat menjelaskan alasan setiap bagian kode digunakan.

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
Pengujian bukan tahap tambahan yang boleh dilewati. Saat siswa menemukan bug, menjelaskan penyebabnya, lalu memperbaikinya, proses belajar menjadi lebih reflektif dan bermakna.

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
Amati gambar sebelum menjawab. Gunakan konsep input, answer, variabel, if–then–else, kostum, backdrop, repeat, dan debugging.

Klik Mulai Mengerjakan Soal untuk menampilkan soal. Timer akan mulai menghitung mundur setelah tombol ini ditekan.
SISA WAKTU
02:00
Durasi 2 menit
Soal 1Menganalisis input dan output

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 …

Soal 2Menganalisis variabel

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 …

Soal 3Memprediksi respons if–then–else

Stimulus 3. Kondisi answer menentukan jalur respons.

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

Soal 4Debugging kostum

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 …

Soal 5Menganalisis perubahan backdrop

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 …

Soal 6Membaca alur program lengkap

Stimulus 6. Kode lengkap chatbot.

Mengapa program pada gambar lebih interaktif daripada chatbot awal?

Soal 7Menganalisis perulangan

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 …

Soal 8Menentukan variabel yang tepat

Stimulus 8. Chatbot meminta lokasi tempat tinggal pengguna.

Agar jawaban tempat tinggal dapat digunakan kembali pada kalimat berikutnya, variabel baru yang paling sesuai adalah …

Soal 9Menilai penggunaan kostum

Stimulus 9. Tab Costumes menyediakan beberapa tampilan karakter.

Siswa ingin membuat chatbot menampilkan ekspresi berbeda sesuai jawaban. Fitur yang paling relevan adalah …

Soal 10Menganalisis desain percakapan

Stimulus 10. Chatbot mengajukan pertanyaan baru.

Jika siswa ingin membuat dua respons berbeda berdasarkan jawaban “yes” dan “no”, struktur yang paling sesuai adalah …

Soal 11Menilai proses pengujian

Stimulus 11. Chatbot memberikan respons setelah menerima nama.

Saat diuji bersama teman, ditemukan respons yang tidak sesuai. Tindakan yang paling tepat adalah …

Soal 12Menilai kondisi awal program

Stimulus 12. Program menetapkan backdrop dan kostum awal.

Mengapa pengaturan backdrop dan kostum awal sebaiknya diletakkan sebelum chatbot mulai bertanya?

Soal 13Pilih semua pernyataan yang benar

Stimulus 13. Kode lengkap chatbot.

Berdasarkan kode pada gambar, centang semua pernyataan yang benar.

Soal 14Analisis kesalahan

Stimulus 14. Perubahan kostum berdasarkan kondisi.

Jika blok pengaturan kostum awal dihapus, jelaskan masalah yang mungkin muncul ketika chatbot dijalankan berkali-kali.

Soal 15Rancang algoritma chatbot

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.



Hasil latihan
0
Gunakan hasil latihan untuk mengetahui konsep yang sudah dikuasai dan bagian yang masih perlu dipelajari kembali.
Diberdayakan oleh Blogger.