Ini adalah respons terhadap permintaan Anda untuk membuat 50 soal Bab 1 dan 50 soal Bab 2, lengkap dengan kunci jawabannya, berdasarkan materi dari buku "Buku AI SMP Kelas 8 Semester 1."
BAB 1: Pengembangan Game Scratch Lanjutan (Level, Skor, Timer)
Total Soal: 50 (15 Soal Benar/Salah, 25 Soal Pilihan Ganda, 10 Soal Isian Singkat)
A. Benar atau Salah (15 Soal)
| No. | Soal | Jawaban | Sumber |
|---|---|---|---|
| 1. | Dalam Scratch, variabel hanya dapat menyimpan angka, tidak termasuk kata atau nilai tertentu. | Salah | Variabel dapat menyimpan angka, kata, atau nilai tertentu. |
| 2. | Variabel Skor berfungsi untuk menyimpan poin pemain dan dapat digunakan untuk menambahkan atau mengurangi poin sesuai aksi pemain. | Benar | Fungsi variabel Skor adalah menyimpan, menambah, atau mengurangi poin pemain. |
| 3. | Untuk mengatur nilai awal skor menjadi nol saat game dimulai, digunakan blok change [skor] by (0). | Salah | Untuk mengatur nilai awal skor saat game dimulai, digunakan blok set [skor] to (0). |
| 4. | Variabel Level berperan untuk menyimpan tingkat kesulitan atau tahap dalam game. | Benar | Variabel Level berfungsi menyimpan tingkat kesulitan atau tahap dalam game. |
| 5. | Contoh penerapan variabel Timer adalah mengurangi waktu setiap detik menggunakan blok change [sisa waktu] by (-1). | Benar | Mengurangi waktu setiap detik menggunakan blok change [sisa waktu] by (-1) adalah contoh penerapan variabel Timer. |
| 6. | Blok set [variabel] to [nilai] digunakan untuk menambahkan nilai variabel. | Salah | Blok set [variabel] to [nilai] digunakan untuk mengatur nilai awal. |
| 7. | Operator Aritmatika, seperti Tambah (+) dan Kurang (-), digunakan untuk membuat syarat atau keputusan otomatis dalam game. | Salah | Operator Aritmatika digunakan untuk menghitung (seperti total skor atau kecepatan objek). Operator Perbandingan digunakan untuk membuat syarat. |
| 8. | Operator Logika seperti and, or, dan not berguna untuk menggabungkan dua atau lebih kondisi. | Benar | Operator Logika digunakan untuk menggabungkan kondisi, seperti if <<(level) = 2> and <(sisa waktu) > 0>>. |
| 9. | Blok wait [detik] berfungsi untuk mengulangi aksi terus-menerus selama game berjalan. | Salah | Blok wait [detik] berfungsi untuk memberi jeda sebelum aksi selanjutnya. Blok forever yang berfungsi mengulangi aksi terus-menerus. |
| 10. | Konsep "lives" (nyawa) dalam game adalah bentuk variabel yang mengurangi jumlah kesempatan pemain. | Benar | Konsep "lives" adalah bentuk variabel yang mengurangi jumlah kesempatan pemain. |
| 11. | Agar variabel terlihat di panggung (stage), kita dapat menggunakan blok untuk menampilkannya. | Benar | Ada blok yang digunakan untuk menampilkan atau menyembunyikan variabel di panggung. |
| 12. | Dalam kasus "Tangkap Bintang, Hindari Batu," tangkap bintang akan menambah +5 poin, dan tangkap batu akan mengurangi -2 poin. | Benar | Tangkap bintang memberi +5 poin, dan tangkap batu mengurangi -2 poin. |
| 13. | Pada kasus "Ninja Semangka," jika kamu memotong bom, Health akan berkurang 15. | Benar | Jika kena bom, Health berkurang 15 poin. |
| 14. | Pada contoh if <(skor) > (100)> then // naik level end, operator perbandingan yang digunakan adalah <. | Salah | Operator perbandingan yang digunakan adalah > (lebih besar dari). |
| 15. | Logika forever membuat aksi di dalamnya diulang terus-menerus selama game berjalan. | Benar | Blok forever berfungsi mengulangi aksi terus-menerus. |
B. Pilihan Ganda (25 Soal)
| No. | Soal | Pilihan | Jawaban | Sumber |
|---|---|---|---|---|
| 16. | Variabel di Scratch diibaratkan sebagai... | a. Robot pemroses data | b. Kantong penyimpan informasi | c. Tampilan latar belakang |
| 17. | Apa blok yang wajib digunakan untuk meningkatkan nilai skor saat pemain menangkap koin? | a. set [skor] to (10) | b. change [skor] by (10) | c. wait (10) seconds |
| 18. | Apa fungsi utama dari Variabel Timer dalam game Scratch? | a. Mengukur waktu bermain | b. Menambah tantangan level | c. Menghitung poin pemain |
| 19. | Dalam kasus game "Lari dari Hantu," untuk memenangkan game, pemain harus berhasil mendapat... | a. 10 Health poin | b. 50 Skor poin | c. 5 kunci |
| 20. | Operator matematika yang digunakan untuk membuat perhitungan kecepatan objek atau waktu adalah... | a. Operator Logika | b. Operator Aritmatika | c. Operator Perbandingan |
| 21. | Jika kamu ingin pemain naik level setelah skor mencapai 100, blok apa yang paling tepat digunakan untuk mengecek kondisi ini? | a. forever | b. change [level] by (1) | c. if <(skor) > (99)> then |
| 22. | Blok bawaan Scratch yang dapat menghitung waktu sejak game dimulai disebut... | a. change timer | b. timer | c. wait until |
| 23. | Untuk menggabungkan dua kondisi, misalnya level = 2 DAN sisa waktu > 0, digunakan operator logika... | a. or | b. and | c. not |
| 24. | Jika pada game "Balapan Roket Mars" pemain tabrak batu, apa yang terjadi pada Health? | a. Health bertambah 10 | b. Health berkurang 10 poin | c. Skor bertambah 10 |
| 25. | Apa yang terjadi jika blok change [variabel] by (-1) dipasang pada variabel Waktu Sisa di dalam perulangan repeat until <(Waktu Sisa) = 0>? | a. Waktu bertambah | b. Game berhenti | c. Waktu Sisa berkurang 1 setiap detik |
| 26. | Pernyataan mana yang paling tepat menjelaskan peran Operator Perbandingan? | a. Menambah skor pemain | b. Mengulangi aksi program | c. Membuat syarat untuk menjalankan kode tertentu |
| 27. | Untuk membuat timer mundur yang fleksibel (durasi ditentukan pemain), nilai variabel Waktu Sisa diatur menggunakan variabel bawaan Scratch... | a. skor | b. answer | c. level |
| 28. | Dalam perancangan game, mengapa penting untuk menggunakan variabel? | a. Untuk membuat background lebih indah | b. Untuk menyimpan informasi yang berubah (dinamis) | c. Agar game memiliki suara latar |
| 29. | Jika skor pemain mencapai 50 poin pada kasus "Tangkap Bintang," apa yang terjadi? | a. Naik ke Level 2 | b. Game berakhir | c. Health berkurang 10 |
| 30. | Fungsi dari blok change [variabel] by [nilai] adalah... | a. Mengatur ulang variabel | b. Menambahkan atau mengurangi nilai | c. Menghentikan program |
| 31. | Hal yang BUKAN merupakan contoh Operator Aritmatika adalah... | a. Tambah (+) | b. Kurang (-) | c. Kali (*) |
| 32. | Saat membuat Level 2, variabel Level digunakan untuk... | a. Menghapus kode | b. Menyetel ulang skor | c. Mengganti kecepatan objek |
| 33. | Pada Soal 4 (Uji Refleks), variabel apa yang digunakan untuk mencatat apakah pemain berhasil mengklik sprite sebelum waktu habis? | a. Waktu Sisa | b. Level | c. Berhasil |
| 34. | Jika dalam game "Balap Kura-Kura Waktu 20 Detik" waktu habis sebelum finis, pesan apa yang muncul? | a. Menang! | b. Level Up! | c. Coba Lagi! |
| 35. | Di manakah biasanya blok change [Skor] by (1) diletakkan dalam logika game? | a. Di awal program | b. Di akhir program | c. Di dalam kondisi if saat pemain melakukan aksi benar |
| 36. | Jika pada kasus "Penjelajah Hutan Misterius," setiap 3 pilihan benar pemain naik level, logika ini membutuhkan variabel... | a. Timer | b. Level dan Skor | c. Suara |
| 37. | Apa yang dimaksud dengan logika modular yang digunakan dalam Soal 5 (Level Tak Terbatas)? | a. Menggunakan 10 variabel | b. Menggunakan operator sisa bagi (mod) | c. Menggunakan change by -1 |
| 38. | Jika variabel Skor nilainya 205, berapa nilai dari Skor mod 100? | a. 200 | b. 2 | c. 100 |
| 39. | Untuk membuat game terasa seru dan ada tekanan, fitur apa yang sangat penting ditambahkan? | a. Level | b. Skor | c. Timer |
| 40. | Game seperti "Subway Surfers" atau "Candy Crush" bisa memiliki level berbeda-beda tingkat kesulitannya berkat penggunaan... | a. Operator Aritmatika | b. Variabel Level | c. Blok say |
C. Isian Singkat (10 Soal)
| No. | Soal | Jawaban | Sumber |
|---|---|---|---|
| 41. | Dalam Scratch, blok forever berfungsi untuk mengulangi aksi __________. | terus-menerus | |
| 42. | Jika kamu ingin menambahkan 5 poin saat objek ditangkap, kamu menggunakan blok change [skor] by (___). | 5 | (Implisit dari contoh change by (-1)) |
| 43. | Variabel Level digunakan untuk mengganti kecepatan objek atau jenis __________. | rintangan | |
| 44. | Untuk mengatur ulang nilai variabel, misalnya saat naik level atau game dimulai, kita menggunakan blok __________. | set [variabel] to [nilai] | |
| 45. | Logika yang memungkinkan game untuk "berpikir" dan membuat perhitungan disebut Operator Matematika dan __________. | Logika | |
| 46. | Dalam kasus "Hujan Meteor," jika meteor menabrak pesawat, yang berkurang adalah variabel __________. | Health | |
| 47. | Blok repeat until akan mengulangi aksi sampai suatu kondisi __________. | terjadi | |
| 48. | Untuk memberi jeda sebelum aksi selanjutnya dalam sebuah skrip, kita menggunakan blok __________. | wait [detik] | |
| 49. | Dalam if <(skor) > (100)> then, nilai 100 disebut sebagai __________. | syarat / kondisi | |
| 50. | Untuk membuat game seru, fitur skor, level, dan timer sangat penting karena membuat game lebih menantang dan tidak __________. | membosankan |
BAB 2: Membuat Quiz Interaktif dengan Scratch
Total Soal: 50 (15 Soal Benar/Salah, 25 Soal Pilihan Ganda, 10 Soal Isian Singkat)
A. Benar atau Salah (15 Soal)
| No. | Soal | Jawaban | Sumber |
|---|---|---|---|
| 1. | Fungsi utama blok ask [pertanyaan] and wait adalah untuk menampilkan pertanyaan dan menunggu pemain mengetik jawaban. | Benar | Blok ask [pertanyaan] and wait menampilkan pertanyaan dan menunggu input jawaban. |
| 2. | Jawaban yang diketik oleh pemain di Scratch akan otomatis tersimpan dalam variabel yang harus dibuat sendiri oleh pengguna. | Salah | Jawaban otomatis tersimpan dalam variabel bawaan Scratch bernama answer. |
| 3. | Dalam membuat kuis, kita perlu menggunakan operator perbandingan (=) untuk membandingkan answer dengan jawaban yang benar. | Benar | Operator perbandingan (=) digunakan untuk memeriksa kebenaran jawaban. |
| 4. | Blok say [pesan] digunakan untuk memberi skor kepada pemain yang menjawab benar. | Salah | Blok say [pesan] digunakan untuk memberi umpan balik. |
| 5. | Struktur if...then...else memungkinkan program menjalankan dua kemungkinan kode, tergantung apakah kondisi benar atau salah. | Benar | Blok if...then...else memungkinkan menjalankan kode untuk jawaban benar (if) dan jawaban salah (else). |
| 6. | Jika pemain menjawab salah, blok change [Skor Kuis] by (1) harus diletakkan di dalam bagian else. | Salah | Blok penambahan skor diletakkan di dalam bagian if (jawaban benar), bukan else. |
| 7. | List di Scratch berfungsi seperti "daftar belanja digital" yang bisa menyimpan banyak data, seperti pertanyaan dan jawaban. | Benar | List adalah struktur data yang bisa menyimpan banyak pertanyaan dan jawaban. |
| 8. | Keuntungan utama menggunakan List adalah membuat kuis jadi lebih rumit dan kurang fleksibel. | Salah | Keuntungan List adalah membuat kuis lebih rapi dan fleksibel. |
| 9. | Dalam Scratch, kuis bisa menjadi lebih menantang dengan menambahkan batas waktu (Timer) untuk menjawab. | Benar | Penggunaan Timer dapat membuat kuis lebih menantang. |
| 10. | Untuk menyusun kuis dengan banyak pertanyaan, kita harus menggunakan satu blok ask saja yang berisi semua pertanyaan. | Salah | Kuis dengan banyak pertanyaan disusun dengan beberapa blok ask yang berurutan. |
| 11. | Scratch secara otomatis akan menganggap Merah dan merah sebagai jawaban yang sama. | Salah | Scratch membandingkan teks secara sensitif huruf besar-kecil, sehingga Merah ≠ merah. |
| 12. | Blok ask akan menghentikan Scratch sejenak sampai pemain mengisi jawabannya. | Benar | Blok ask akan membuat Scratch berhenti sejenak hingga pemain mengisi jawaban. |
| 13. | Pada kasus kuis berantai, jawaban yang benar akan membuat skor bertambah, sedangkan jawaban salah membuat program tetap menunjukkan jawaban yang benar. | Benar | Tujuan kuis berantai adalah membuat sistem kuis berurutan dengan penilaian dan komentar otomatis. |
| 14. | Umpan balik yang diberikan saat jawaban salah bisa berupa teks say [Oops! Jawabanmu salah. Coba lagi, ya!]. | Benar | Blok say digunakan untuk memberi umpan balik langsung ke pemain, termasuk saat jawaban salah. |
| 15. | Jika ada pertanyaan berikutnya, nilai dari variabel answer akan digantikan. | Benar | Jawaban dari pertanyaan baru akan menggantikan nilai answer yang lama. |
B. Pilihan Ganda (25 Soal)
| No. | Soal | Pilihan | Jawaban | Sumber |
|---|---|---|---|---|
| 16. | Di mana jawaban yang diketik oleh pemain akan otomatis tersimpan? | a. Variabel Skor | b. Variabel Pertanyaan | c. Variabel answer |
| 17. | Untuk membandingkan jawaban pengguna (answer) dengan jawaban yang benar (misalnya "Jakarta"), kita menggunakan... | a. Blok join | b. Blok if...then | c. Operator = |
| 18. | Apa tujuan utama membuat variabel baru bernama Skor Kuis? | a. Agar pemain tahu seberapa banyak jawaban yang benar | b. Untuk menyimpan teks pertanyaan | c. Untuk membuat karakter berbicara |
| 19. | Jika jawaban pemain benar, blok mana yang harus dipasang untuk menambah poin? | a. set [Skor] to (1) | b. change [Skor] by (1) | c. if <(answer) = (1)> |
| 20. | Struktur data yang digunakan untuk menyimpan banyak pertanyaan dan jawaban dalam satu tempat adalah... | a. Variabel | b. Blok Custom | c. List |
| 21. | Apa kerugian jika tidak segera menggunakan nilai dari variabel answer setelah blok ask? | a. Program akan berhenti | b. Nilainya akan digantikan oleh jawaban pertanyaan berikutnya | c. Skor otomatis bertambah |
| 22. | Dalam if <(answer) = [Jakarta]> then ... else ..., kode di bagian else akan dijalankan jika... | a. Jawaban salah | b. Jawaban benar | c. Program dimulai |
| 23. | Untuk membuat kuis lebih rapi dan memungkinkan pembaruan soal yang mudah, disarankan menggunakan... | a. Blok forever | b. List Pertanyaan dan List Jawaban | c. Banyak variabel skor |
| 24. | Jika kamu ingin menggunakan if...then...else untuk mengecek jawaban, operator apa yang harus digunakan untuk membandingkan? | a. + (Tambah) | b. - (Kurang) | c. = (Sama dengan) |
| 25. | Saat membuat kuis yang sensitif terhadap batas waktu, komponen apa yang perlu ditambahkan? | a. Variabel Level | b. Variabel Timer | c. List Jawaban |
| 26. | Dibandingkan dengan sistem yang hanya menggunakan blok ask berulang, List memungkinkan penggunaan struktur kontrol untuk menanyakan semua pertanyaan secara otomatis, yaitu... | a. wait (1) seconds | b. repeat (length of List Pertanyaan) | c. set [skor] to (0) |
| 27. | Untuk memastikan apakah suatu kuis interaktif sudah memenuhi tujuan, kita harus melakukan... | a. Hanya menggunakan ask | b. Menambah skor saja | c. Memeriksa kebenaran jawaban (Validasi) |
| 28. | Apa yang harus dilakukan untuk menghindari masalah sensitivitas huruf besar/kecil (misalnya Merah vs merah) saat mengecek jawaban? | a. Tambahkan blok say | b. Gunakan blok join | c. Mengubah jawaban dan answer menjadi huruf kecil semua |
| 29. | Jika kamu membuat kuis tentang sejarah dan ingin menampilkan bendera berkibar saat jawaban benar, ini termasuk bagian dari... | a. Menerima Jawaban | b. Validasi Jawaban | c. Memberi Umpan Balik |
| 30. | Dibandingkan dengan kuis tradisional, kuis digital interaktif memberi keunggulan pada... | a. Jumlah guru | b. Tempat pelaksanaan | c. Umpan balik yang instan |
| 31. | Ketika Scratch menampilkan pertanyaan di layar dan menunggu input, blok yang bekerja adalah... | a. say | b. ask...and wait | c. if...then |
| 32. | Berdasarkan kasus Kuis Waktu Nyata, berapa detik waktu yang diberikan untuk menjawab? | a. 5 detik | b. 10 detik | c. 30 detik |
| 33. | Dalam membuat kuis berantai (banyak pertanyaan berurutan), di mana posisi yang tepat untuk blok ask [Pertanyaan 2] and wait? | a. Di dalam blok if pertanyaan 1 | b. Setelah blok if...then...else pertanyaan 1 selesai | c. Sebelum bendera hijau diklik |
| 34. | Jika pada kasus Kuis Mata Pelajaran Favorit, total skor akhir harus ditampilkan, variabel skor perlu diatur agar... | a. Disembunyikan | b. Ditampilkan di layar | c. Diubah menjadi teks |
| 35. | Untuk memunculkan pesan "Betul! Kamu hebat!" setelah jawaban benar, kita menggunakan blok say [pesan] for (___) seconds. | a. 0 | b. 1 | c. 2 |
| 36. | Jika kamu membuat kuis dengan pilihan jawaban (A, B, C) menggunakan sprite tombol, event apa yang digunakan untuk memeriksa apakah tombol diklik? | a. when green flag clicked | b. when this sprite clicked | c. when backdrop switches |
| 37. | Dalam membuat kuis, apa yang harus segera dilakukan setelah menggunakan blok ask? | a. Mengubah latar belakang | b. Menambahkan skor | c. Menggunakan variabel answer untuk validasi |
| 38. | Apa yang terjadi pada variabel Skor Kuis jika pemain menjawab pertanyaan dengan salah? | a. Bertambah 1 | b. Berkurang 1 | c. Tidak berubah |
| 39. | Kuis yang didasarkan pada urutan pertanyaan yang semakin sulit (misal: Level 1, Level 2) menggunakan percabangan logika apa? | a. forever | b. if, else | c. wait |
| 40. | Selain List, fitur apa di Scratch yang memungkinkan sprite "berkomunikasi" untuk memindah alur kuis antar bagian? | a. say | b. change score by | c. when this sprite clicked |
C. Isian Singkat (10 Soal)
| No. | Soal | Jawaban | Sumber |
|---|---|---|---|
| 41. | Blok yang menampilkan teks atau komentar dari sprite untuk memberikan umpan balik adalah __________. | say | |
| 42. | Dalam membuat kuis interaktif, proses untuk memeriksa apakah jawaban pengguna benar atau salah disebut __________. | Validasi Jawaban | |
| 43. | List di Scratch bisa digunakan untuk menyimpan item yang disebut juga sebagai __________. | daftar belanja digital / data | |
| 44. | Ketika membuat kuis yang mengharuskan pemain mengulang level jika salah, kita harus menggunakan struktur __________. | if/else | |
| 45. | Fungsi yang bisa mengubah teks menjadi huruf kecil semua untuk mengatasi masalah sensitivitas huruf adalah __________. | lowercase | |
| 46. | Untuk menyusun kuis dengan banyak pertanyaan secara berurutan, kita perlu menggunakan beberapa blok ask dan __________. | if/else | |
| 47. | Variabel answer akan digantikan nilainya jika ada __________. | pertanyaan berikutnya | |
| 48. | Untuk membuat kuis berantai yang seru, tujuan utamanya adalah melatih __________. | ketepatan jawaban dalam format teks | |
| 49. | Jika skor diatur ke 0 pada awal permainan, blok yang digunakan adalah __________. | set [skor] to (0) | |
| 50. | Untuk membuat "bank soal" otomatis dalam kuis, kita menggunakan struktur data bernama __________. | List |

Latihan soal ini sangat membantu untuk persiapan ulangan saya!
ReplyDeleteWah sangat membantu banget latihan soalnya!
ReplyDeleteWah, tulisan tentang 100 Soal Informatika ini keren banget! 💻 Aku suka cara penyusunannya yang rapi dan sistematis. Soal-soalnya beragam dan mencakup banyak topik penting dalam dunia informatika, mulai dari logika pemrograman, Scratch, sampai konsep AI. Cocok banget buat siswa SMP atau siapa pun yang lagi belajar dasar-dasar teknologi digital.
ReplyDeleteYang menarik, setiap soal terasa relevan dengan kehidupan sehari-hari. Misalnya soal tentang game dan kuis interaktif di Scratch—itu bikin belajar jadi nggak membosankan. Aku juga lihat ada keseimbangan antara teori dan praktik, jadi pembacanya bisa langsung memahami konsep sambil mencoba sendiri di komputer.
Selain itu, bahasa yang digunakan juga mudah dipahami. Penjelasan di setiap bagian terasa seperti guru yang sabar dan ramah menjelaskan ke muridnya. Buat yang baru belajar informatika, gaya penulisannya membantu banget buat nggak cepat menyerah waktu ketemu istilah baru.
Menurutku, blog ini bisa jadi referensi bagus untuk belajar mandiri. Apalagi kalau ditambah pembahasan jawaban atau penjelasan singkat di tiap soal, pasti makin lengkap. Artikel ini menunjukkan bahwa belajar informatika bisa seru dan menyenangkan kalau dikemas dengan cara yang kreatif seperti ini.
Secara keseluruhan, postingan ini inspiratif dan edukatif banget. Terima kasih sudah berbagi, semoga blog ini terus berkembang dan bisa jadi tempat belajar bareng buat teman-teman yang tertarik dengan dunia teknologi dan coding. Ditunggu update soal bab berikutnya ya! 🚀
Soal ini sangat membantu untuk melatih skill dalam menggunakan scratch
ReplyDeletewih keren banget soalnya, sangat memutar otak
ReplyDeletekeren sekali saya inginbelajar terus karena soal ini makasih ( 9 - = -)9
ReplyDeletewahh,,, keren bngts y,,, xx,,, ðŸ¤ðŸ¤—
ReplyDelete