Rangkuman Bab 2 Buku AI Informatika

Cara Membuat Kuis Interaktif dengan Scratch

Scratch adalah platform pemrograman visual yang memudahkan siapa pun untuk membuat berbagai jenis proyek interaktif, termasuk kuis digital. Kuis interaktif adalah proyek yang menampilkan pertanyaan, menerima jawaban dari pemain, mengevaluasi apakah jawaban tersebut benar atau salah, dan memberikan skor sebagai umpan balik. Pembuatan kuis membutuhkan pemahaman tentang variabel, kontrol alur, input pengguna, dan pengelolaan data menggunakan list. Pada rangkuman ini, kita akan membahas konsep-konsep tersebut secara lengkap.


1. Mengenal Cara Kerja Kuis Interaktif di Scratch

Kuis interaktif bukan hanya sekadar menampilkan pertanyaan dan menunggu jawaban. Kuis membutuhkan alur logika yang teratur dan terstruktur agar dapat berjalan dengan mulus. Secara umum, sebuah kuis interaktif di Scratch memiliki beberapa komponen inti:

1.1 Menampilkan pertanyaan kepada pemain

Pertanyaan bisa ditampilkan melalui:

  • Teks yang ditampilkan oleh sprite,

  • Balon bicara (say),

  • Atau melalui backdrop.

1.2 Menerima input dari pemain

Scratch memiliki blok input bernama:

ask [Pertanyaan] and wait

Ketika digunakan, Scratch akan menunggu jawaban pemain dan menyimpannya di variabel khusus “answer”.

1.3 Memeriksa jawaban

Jawaban pemain dibandingkan dengan jawaban yang benar. Jika cocok, pemain mendapat skor. Jika tidak, ditampilkan pesan salah.

1.4 Menghitung skor

Skor bertambah saat jawaban benar. Skor digunakan untuk memberi motivasi, menunjukkan progres, atau menentukan apakah pemain lulus.

1.5 Menampilkan hasil

Setelah semua pertanyaan selesai, sistem memberikan evaluasi:

  • Nilai akhir,

  • Poin yang diperoleh,

  • Atau ucapan selamat.

Kuis interaktif bisa dibuat sederhana (3–5 pertanyaan manual) atau lebih maju menggunakan list sehingga jumlah pertanyaan dapat bertambah tanpa menulis ulang logika.


2. Menerima Jawaban Pengguna (Input) dengan Blok “Ask & Answer”

Blok paling penting dalam kuis adalah:

ask [Teks pertanyaan] and wait

Ketika blok ini dijalankan:

  1. Scratch menampilkan kotak dialog.

  2. Pengguna mengetik jawaban.

  3. Jawaban disimpan di variabel otomatis bernama answer.

Contoh:

ask [Berapa hasil dari 2 + 2?] and wait if <(answer) = 4> then say [Benar!] else say [Salah!]

2.1 Tips menerima input

  • Pastikan tidak ada spasi di akhir jawaban pengguna.

  • Jika jawaban berupa teks, perhatikan kapitalisasi huruf.

  • Gunakan operator to lower case (di extension) atau cara manual untuk membuat jawaban tidak sensitif huruf besar.

Contoh tidak sensitif kapital:

if <(answer) = [kucing]> or <(answer) = [Kucing]> then ...

Cara yang lebih rapi adalah mengubah semua jawaban menjadi huruf kecil menggunakan list atau operator pengganti, namun Scratch standar tidak menyediakan fungsi otomatis ini, jadi triknya adalah memberi opsi ganda.


3. Memeriksa Apakah Jawaban Benar (Validasi Jawaban)

Validasi jawaban adalah proses memutuskan apakah jawaban pengguna benar atau salah. Ini dapat dilakukan dengan:

3.1 Menggunakan blok “if” sederhana

Contoh validasi angka:

if <(answer) = 10> then change skor by 1 else say [Jawaban salah!]

3.2 Validasi Teks

Karena teks mudah bervariasi, validasi bisa menggunakan beberapa alternatif:

if <(answer) = [jakarta]> or <(answer) = [Jakarta]> then change skor by 1

3.3 Validasi Multi-Jawaban

Jika jawaban benar memiliki beberapa bentuk:

if <(answer) = [ya]> or <(answer) = [iya]> or <(answer) = [betul]> then ...

3.4 Validasi menggunakan list (lebih canggih)

Jika jawaban berada dalam list tertentu:

if <(answer) is in [ListJawabanBenar]> then ...

Ini berguna untuk kuis besar.


4. Menyusun Kuis dengan Banyak Pertanyaan

Kuis bisa terdiri dari beberapa pertanyaan. Ada dua cara untuk membuatnya:


4.1 Cara Sederhana: Hardcoded (Manual)

Cocok untuk kuis 3–5 pertanyaan.

Contoh:

set skor to 0 ask [Ibukota Indonesia?] and wait if <(answer) = [Jakarta]> then change skor by 1 ask [5 + 7 = ?] and wait if <(answer) = 12> then change skor by 1 ask [Warna bendera Indonesia?] and wait if <(answer) = [merah putih]> then change skor by 1 say (join [Skor kamu: ] skor)

Metode ini mudah, tetapi jika pertanyaan banyak, skrip menjadi panjang dan sulit diubah.


4.2 Cara Profesional: Menggunakan List

List adalah struktur data seperti tabel yang menyimpan banyak elemen dalam satu wadah. Dalam kuis, kita bisa membuat:

  • List Pertanyaan

  • List Jawaban

Kedua list harus memiliki panjang yang sama dan selaras berdasarkan indeks. Artinya:

  • Pertanyaan ke-1 → Jawaban ke-1

  • Pertanyaan ke-2 → Jawaban ke-2

Konsep ini membuat kuis mudah diperluas.


5. Menggunakan List untuk Pertanyaan dan Jawaban

Penggunaan list membuat kuis lebih fleksibel dan dapat diperluas menjadi puluhan pertanyaan. Dengan list, kita cukup menambahkan elemen baru tanpa mengubah struktur program.


5.1 Membuat list

Buat dua list:

  1. ListPertanyaan

  2. ListJawaban

Contoh isi:

ListPertanyaan:

  1. Ibukota Indonesia?

  2. 10 × 10 = ?

  3. Planet terdekat dari matahari?

ListJawaban:

  1. Jakarta

  2. 100

  3. Merkurius


5.2 Membuat variabel pendukung

Tambahkan variabel:

  • NomorPertanyaan

  • Skor


5.3 Logika kuis menggunakan list

Contoh alur:

set skor to 0 set NomorPertanyaan to 1 repeat (length of ListPertanyaan) ask (item NomorPertanyaan of ListPertanyaan) and wait if <(answer) = (item NomorPertanyaan of ListJawaban)> then change skor by 1 change NomorPertanyaan by 1 end say (join [Skor kamu adalah ] skor)

Alur ini menyimpan konsep:

  1. Pertanyaan diambil satu per satu dari list.

  2. Jawaban dibandingkan dengan jawaban di list.

  3. NomorPertanyaan bertambah terus sampai akhir list.

  4. Skor meningkat setiap jawaban benar.

Metode ini membuat kuis otomatis dan rapi.


6. Menambahkan Fitur-Fitur Tambahan

Supaya kuis lebih menarik, kita dapat menambahkan fitur berikut:


6.1 Feedback untuk setiap soal

Menggunakan blok:

say [Benar!] for 2 seconds say [Jawaban salah] for 2 seconds

6.2 Timer untuk menjawab

Tambahkan variabel Timer:

set Timer to 10 repeat until <Timer = 0> wait 1 sec change Timer by -1 end

Jika Timer = 0 dan pemain belum menjawab, sistem dapat otomatis memberi nilai salah.


6.3 Nyawa atau Kesempatan

Tambahkan variabel Kesempatan:

set Kesempatan to 3 if <jawaban salah> then change Kesempatan by -1

Jika kesempatan habis → Game over.


6.4 Acak pertanyaan

Untuk membuat kuis lebih dinamis, pertanyaan dapat diacak.

Cara sederhana:

pick random 1 to (length of ListPertanyaan)

Namun ingat menghapus pertanyaan yang sudah dipakai agar tidak muncul lagi:

set nomor to (pick random 1 to (length of ListPertanyaan)) set pertanyaan ke (item nomor of ListPertanyaan) delete nomor of ListPertanyaan delete nomor of ListJawaban

6.5 Menyimpan riwayat skor

Jika ingin menyimpan skor terbaik:

if <skor > skorTertinggi> then set skorTertinggi to skor

7. Struktur Utama Kuis Mangoan (Kerangka Proyek Lengkap)

Berikut gambaran alur skrip yang sering dipakai di proyek Scratch:

7.1 Bagian persiapan

  • Reset skor

  • Set nomor pertanyaan ke 1

  • Tampilkan judul kuis

7.2 Loop utama kuis

Untuk setiap pertanyaan:

  1. Ambil pertanyaan dari list

  2. Tampilkan dengan “ask”

  3. Terima input pemain

  4. Cocokkan input dengan jawaban list

  5. Tambahkan skor

  6. Lanjut ke pertanyaan berikutnya

7.3 Bagian akhir kuis

  • Tampilkan total skor

  • Tampilkan ucapan selamat atau pesan peningkatan

  • Minta pemain bermain lagi


8. Contoh Alur Kode Lengkap (Gaya Penjelasan)

Di bawah ini ringkasan kode yang digunakan untuk kuis lengkap:

ketika bendera diklik set skor ke 0 set NomorPertanyaan ke 1 repeat (length of ListPertanyaan) ask (item NomorPertanyaan of ListPertanyaan) and wait if <(answer) = (item NomorPertanyaan of ListJawaban)> then change skor by 1 say [Benar!] for 1 second else say [Salah!] for 1 second change NomorPertanyaan by 1 end say (join [Kuis selesai! Skor kamu: ] skor)

Dengan kerangka ini, kamu bisa memperluas kuis hingga puluhan pertanyaan.


9. Keunggulan Kuis Berbasis List

Menggunakan list memiliki banyak keunggulan:

  1. Lebih rapi
    Kode tidak penuh blok “ask” bertumpuk.

  2. Lebih mudah diperluas
    Tambah pertanyaan hanya dengan menambah elemen list.

  3. Lebih modular
    Pertanyaan dan jawaban dapat diedit tanpa mengubah alur kuis.

  4. Dapat digunakan untuk acak pertanyaan
    Dengan menghapus pertanyaan yang sudah digunakan.

  5. Mendukung kuis besar
    Cocok untuk kuis berisi 20–50 pertanyaan.


10. Tips Profesional Membuat Kuis Scratch

Untuk menghasilkan kuis yang nyaman dimainkan:

10.1 Gunakan penamaan variabel yang jelas

Misalnya “Skor”, “NomorPertanyaan”, “Timer”.

10.2 Beri waktu jeda antara pertanyaan

Supaya pemain bisa melihat hasil jawaban sebelumnya.

10.3 Gunakan backdrop yang berbeda

Tampilkan layar intro, layar kuis, dan layar selesai.

10.4 Tambahkan suara

Suara benar/salah memberi umpan balik yang menyenangkan.

10.5 Gunakan karakter (sprite) sebagai host kuis

Sprite bisa menjadi pemandu yang berbicara.

Comments

Popular posts from this blog

Soal PG Informatika Bab 1-5

Rangkuman Bab 5

Rangkuman Bab 3