Latihan Soal Ai Bab 1 dan Bab 2
SOAL BUKU AI SMP KELAS 8
Bab 1: Pengembangan Game Scratch Lanjutan (Level, Skor, Timer)
1. Blok kode apa yang digunakan untuk menyimpan data yang nilainya dapat berubah-ubah selama permainan berlangsung?
a. Gerakan
b. Tampilan
c. Variabel ✅
d. Kejadian
2. Dalam konteks game Scratch, variabel Skor berfungsi untuk:
a. Mengatur kecepatan sprite
b. Menghitung durasi permainan
c. Menghitung poin yang diperoleh pemain ✅
d. Mengubah kostum sprite
3. Untuk membuat variabel baru, blok kode yang diklik pertama kali adalah:
a. Make a Block
b. Make a List
c. Make a Sprite
d. Make a Variable ✅
4. Blok kode yang digunakan untuk menambah nilai variabel Skor setiap kali pemain berhasil dalam aksi tertentu adalah:
a. atur Skor ke [0]
b. tampilkan variabel Skor
c. ubah Skor sebesar [1] ✅
d. sembunyikan variabel Skor
5. Untuk memulai nilai variabel Skor menjadi nol di awal permainan, blok yang tepat adalah:
a. atur Skor ke [0] ✅
b. ubah Skor sebesar [0]
c. Skor = 0
d. reset Skor
6. Fitur Timer dalam game Scratch biasanya memanfaatkan blok kode dari kategori:
a. Gerakan
b. Suara
c. Kontrol
d. Sensing ✅
7. Blok ulangi [10] kali termasuk dalam kategori blok:
a. Gerakan
b. Kejadian
c. Kontrol ✅
d. Operator
8. Jika Anda ingin sprite melakukan tindakan berulang tanpa henti selama game berjalan, blok yang paling tepat adalah:
a. ulangi [100] kali
b. ulangi sampai ...
c. tunggu [1] detik
d. selamanya ✅
9. Untuk membuat waktu hitung mundur (timer), biasanya digunakan kombinasi blok tunggu [1] detik dan blok untuk:
a. Mengubah nilai Skor
b. Mengubah nilai variabel Timer sebesar [-1] ✅
c. Mengubah kostum sprite
d. Menghentikan semua script
10. Blok jika ... maka ... digunakan untuk:
a. Mengulang suatu aksi
b. Membuat keputusan berdasarkan kondisi ✅
c. Menampilkan pesan
d. Menggerakkan sprite
11. Untuk memeriksa apakah variabel Level sudah mencapai nilai tertentu (misalnya 5), Anda memerlukan blok dari kategori:
a. Gerakan
b. Tampilan
c. Kejadian
d. Operator ✅
12. Blok [10] > [5] adalah contoh blok dari kategori:
a. Gerakan
b. Kontrol
c. Sensing
d. Operator ✅
13. Jika kondisi Timer = 0 terpenuhi, dan Anda ingin game berakhir, blok apa yang digunakan di dalam blok jika ... maka ...?
a. atur Skor ke [0]
b. hentikan semua ✅
c. ganti kostum ke [kalah]
d. siarkan [Level_Baru]
14. Untuk berpindah ke tampilan panggung (backdrop) baru saat pemain naik Level, Anda akan menggunakan blok dari kategori:
a. Gerakan
b. Suara
c. Kontrol
d. Tampilan ✅
15. Variabel yang mencatat kemajuan pemain dalam game dari tahapan mudah ke sulit disebut:
a. Skor
b. Timer
c. Level ✅
d. Jeda
16. Blok siarkan [Level_Baru] digunakan untuk:
a. Memulai game
b. Mengirim pesan ke sprite lain atau panggung ✅
c. Mengganti kostum
d. Menampilkan variabel
17. Sprite lain akan merespons pesan Level_Baru menggunakan blok:
a. ketika aku menerima [Level_Baru] ✅
b. siarkan [Level_Baru] dan tunggu
c. ketika [bendera hijau] diklik
d. tunggu sampai [Level_Baru]
18. Untuk memberikan jeda waktu antar aksi dalam game, blok yang digunakan adalah:
a. ulangi [1] kali
b. selamanya
c. tunggu [1] detik ✅
d. hentikan script ini
19. Variabel global adalah variabel yang nilainya:
a. Hanya diketahui oleh satu sprite
b. Dapat digunakan dan diubah oleh semua sprite dan panggung ✅
c. Hanya digunakan untuk menampilkan skor
d. Berubah setiap detik
20. Variabel lokal (khusus untuk sprite) dapat dibuat dengan memilih opsi:
a. Untuk semua sprite
b. Hanya untuk sprite ini ✅
c. Untuk panggung saja
d. Global Variable
21. Blok ambil [nilai acak] dari [1] sampai [10] biasanya digunakan untuk:
a. Menghasilkan posisi atau nilai yang tidak terduga (random) ✅
b. Mengatur kecepatan sprite
c. Mengatur waktu tunggu
d. Menentukan skor maksimal
22. Dalam game dengan Level yang semakin sulit, koordinat posisi sprite musuh biasanya:
a. Tetap sama
b. Diatur ke 0, 0
c. Diubah menjadi lebih cepat atau lebih acak ✅
d. Dihilangkan
23. Untuk memastikan sprite muncul di tempat yang sama setiap awal level, blok yang digunakan adalah:
a. gerak [10] langkah
b. pergi ke x: [x] y: [y] ✅
c. ganti kostum ke [kostum1]
d. meluncur dalam [1] dtk ke x: [x] y: [y]
24. Untuk membuat boundary atau batas area permainan, digunakan blok jika ... maka ... dikombinasikan dengan blok menyentuh [tepi] dari kategori:
a. Kontrol
b. Gerakan
c. Sensing ✅
d. Operator
25. Blok atur kecepatan ke [1] akan berfungsi jika kecepatan adalah sebuah:
a. Kostum
b. Suara
c. Variabel ✅
d. Blok
26. Blok dan dalam kategori Operator digunakan untuk:
a. Membandingkan dua nilai
b. Menghitung total nilai
c. Menguji dua kondisi sekaligus ✅
d. Membuat teks menjadi satu
27. Blok atau dalam kategori Operator akan menghasilkan nilai Benar jika:
a. Kedua kondisi Benar
b. Salah satu kondisi Benar ✅
c. Kedua kondisi Salah
d. Pilihan a dan b benar
28. Jika Anda ingin membuat Level berakhir saat Skor mencapai 10 DAN Timer masih lebih besar dari 0, Anda akan menggunakan blok operator:
a. atau
b. dan ✅
c. tidak
d. mod
29. Blok tunggu sampai [kondisi] akan menghentikan eksekusi script sampai:
a. Kondisi di dalamnya bernilai Benar (True) ✅
b. Kondisi di dalamnya bernilai Salah (False)
c. Waktu tertentu telah berlalu
d. Bendera hijau diklik lagi
30. Variabel yang digunakan untuk membatasi jumlah nyawa (lives) pemain disebut:
a. Skor
b. Level
c. Nyawa ✅
d. Waktu
31. Untuk mengurangi variabel Nyawa sebesar 1, blok yang digunakan adalah:
a. atur Nyawa ke [0]
b. atur Nyawa ke [Nyawa - 1]
c. ubah Nyawa sebesar [-1] ✅
d. Nyawa - 1
32. Jika Nyawa pemain mencapai 0, script yang harus dijalankan adalah:
a. siarkan [Level_Up]
b. ubah Skor sebesar [10]
c. hentikan semua ✅
d. ubah kostum
33. Di game, seringkali diperlukan sprite untuk kembali ke posisi awal setelah terkena musuh. Blok yang digunakan adalah:
a. gerak [10] langkah
b. pergi ke x: [x] y: [y] ✅
c. berubah [15] derajat
d. sembunyikan
34. Blok ganti latar ke [game over] berada di kategori:
a. Gerakan
b. Suara
c. Tampilan ✅
d. Data
35. Pada awal game, sebelum loop utama berjalan, Anda perlu mengatur nilai awal untuk variabel seperti Skor, Level, dan Timer. Blok ini diletakkan setelah:
a. selamanya
b. ketika [bendera hijau] diklik ✅
c. siarkan [Level_Baru]
d. hentikan semua
36. Jika sebuah game memiliki 3 level dan Anda menggunakan variabel Level, nilai maksimum variabel ini adalah:
a. 0
b. 1
c. 2
d. 3 ✅
37. Untuk memastikan bahwa skor tidak melebihi skor maksimal, Anda bisa menggunakan blok jika ... maka ... dan operator:
a. =
b. <
c. > ✅
d. atau
38. Dalam blok jika [menyentuh musuh?] maka [ubah Nyawa sebesar -1], blok menyentuh [musuh?] berasal dari kategori:
a. Operator
b. Gerakan
c. Sensing ✅
d. Kontrol
39. Untuk membuat sprite musuh muncul secara acak di batas kanan panggung, Anda dapat menggunakan blok pergi ke x: [240] y: [nilai acak] di mana nilai y adalah:
a. 0
b. 240
c. 180
d. ambil acak dari [-180] sampai [180] ✅
40. Dalam platformer game, blok kode yang digunakan untuk mendeteksi apakah sprite menyentuh platform (lantai) adalah:
a. menyentuh [tepi]
b. tombol spasi ditekan?
c. menyentuh [warna ...] ✅
d. jarak ke [mouse pointer]
41. Untuk menambahkan efek suara saat pemain mendapatkan skor, digunakan blok dari kategori:
a. Gerakan
b. Suara ✅
c. Tampilan
d. Kejadian
42. Blok mainkan suara [pop] sampai selesai berfungsi untuk:
a. Menjalankan musik latar
b. Menjalankan suara efek satu kali ✅
c. Mengubah nada sprite
d. Menghapus suara
43. Jika ingin memainkan musik latar sepanjang permainan, blok yang tepat adalah:
a. mainkan suara [musik] sampai selesai
b. mainkan suara [musik] dan tunggu
c. selamanya mainkan suara [musik] ✅
d. hentikan semua suara
44. Untuk memulai permainan dari awal setelah “Game Over”, diperlukan blok untuk:
a. Mengulang skrip dari awal ✅
b. Menghapus semua sprite
c. Menambah level
d. Menyembunyikan skor
45. Jika ingin menampilkan pesan “Game Over” di layar, dapat digunakan blok:
a. katakan [Game Over] selama [2] detik ✅
b. tampilkan variabel Skor
c. siarkan [Game Over]
d. hentikan script ini
46. Untuk menampilkan skor di layar, digunakan blok:
a. tampilkan variabel [Skor] ✅
b. sembunyikan variabel [Skor]
c. atur Skor ke [0]
d. siarkan [Skor]
47. Jika kamu ingin menyembunyikan nilai variabel dari layar, blok yang digunakan adalah:
a. tampilkan variabel [Skor]
b. sembunyikan variabel [Skor] ✅
c. ubah Skor sebesar [0]
d. reset variabel
48. Untuk menandai waktu berakhirnya permainan menggunakan countdown, variabel yang biasanya digunakan adalah:
a. Skor
b. Level
c. Waktu ✅
d. Nyawa
49. Dalam game yang memiliki level berbeda, untuk berpindah dari satu level ke level berikutnya, biasanya digunakan kombinasi blok:
a. ubah Level sebesar [1] lalu siarkan [Level_Baru] ✅
b. reset Skor ke [0]
c. hentikan semua
d. tunggu [5] detik
50. Fungsi utama dari penggunaan Level, Skor, dan Timer dalam game Scratch adalah untuk:
a. Membuat animasi bergerak
b. Menambahkan elemen tantangan dan kemajuan bagi pemain ✅
c. Menambah sprite baru
d. Mempercepat eksekusi program
Bab 2: Pemrograman Lanjutan Scratch (Interaksi, Variabel Kompleks, dan Sensor)
1. Dalam Scratch, blok ketika tombol [spasi] ditekan digunakan untuk:
a. Mengulang aksi sprite
b. Menjalankan script saat tombol tertentu ditekan ✅
c. Menyimpan variabel
d. Mengatur waktu
2. Untuk mendeteksi arah pergerakan sprite sesuai panah keyboard, digunakan blok dari kategori:
a. Gerakan ✅
b. Kejadian
c. Operator
d. Suara
3. Blok tombol panah kanan ditekan? berfungsi untuk:
a. Menampilkan pesan
b. Menjalankan event ketika panah ditekan ✅
c. Mengatur skor
d. Mengubah warna sprite
4. Jika ingin sprite mengikuti posisi kursor mouse, digunakan blok:
a. gerak [10] langkah
b. arahkan ke [mouse-pointer] ✅
c. putar searah jarum jam
d. menyentuh [warna]
5. Blok jika menyentuh [mouse-pointer] maka ... digunakan untuk mendeteksi:
a. Tab collision antar sprite ✅
b. Pergantian level
c. Input keyboard
d. Reset permainan
6. Untuk membuat sprite bergerak lebih cepat, Anda dapat menggunakan blok:
a. ubah x sebesar [5] ✅
b. ubah x sebesar [1]
c. ubah y sebesar [-1]
d. tunggu [1] detik
7. Dalam game yang dikendalikan keyboard, arah kiri dan kanan biasanya diatur dengan mengubah nilai:
a. Variabel Skor
b. Nilai x ✅
c. Nilai y
d. Kecepatan suara
8. Untuk membuat sprite melompat ke atas, digunakan blok:
a. ubah y sebesar [10] ✅
b. ubah x sebesar [10]
c. ubah warna efek
d. sembunyikan sprite
9. Dalam permainan platform, gravitasi dapat disimulasikan dengan cara:
a. Menambah nilai y secara konstan
b. Mengurangi nilai y secara konstan ✅
c. Menambah kecepatan sprite
d. Menahan posisi sprite
10. Agar sprite tidak jatuh menembus lantai, digunakan logika:
a. jika menyentuh [warna lantai] maka ubah y sebesar [0] ✅
b. ubah y sebesar [-10]
c. hentikan semua
d. ubah Level
11. Blok menyentuh warna [warna tertentu]? berguna untuk:
a. Mengubah latar
b. Mendeteksi benturan ✅
c. Mengatur skor
d. Menghapus sprite
12. Dalam sistem interaksi antar sprite, siarkan [pesan] digunakan untuk:
a. Mengatur kecepatan sprite
b. Mengirim sinyal ke sprite lain ✅
c. Menghapus variabel
d. Menampilkan skor
13. Sprite yang menerima pesan akan menjalankan blok:
a. ketika aku menerima [pesan] ✅
b. ubah variabel
c. jika … maka …
d. tunggu sampai
14. Untuk menampilkan pesan teks di layar, digunakan blok:
a. tampilkan variabel
b. katakan [teks] selama [2] detik ✅
c. siarkan [teks]
d. ganti latar
15. Jika sprite A mengirim pesan ke sprite B agar berpindah posisi, maka sprite B harus memiliki blok:
a. ketika aku menerima [pindah] ✅
b. ubah Skor
c. sembunyikan variabel
d. hentikan semua
16. Blok sorot warna [warna]? digunakan untuk mendeteksi:
a. Benturan
b. Warna tertentu ✅
c. Posisi sprite
d. Ukuran sprite
17. Untuk menampilkan koordinat posisi sprite, digunakan blok dari kategori:
a. Data
b. Sensing ✅
c. Operator
d. Tampilan
18. Blok jarak ke [mouse-pointer] digunakan untuk:
a. Menghitung waktu
b. Mengukur jarak sprite ke penunjuk mouse ✅
c. Mengatur level
d. Menghapus sprite
19. Jika nilai jarak ke musuh < 50, maka bisa diartikan:
a. Sprite masih jauh
b. Sprite sudah dekat ✅
c. Sprite berhenti
d. Sprite tidak terlihat
20. Untuk memeriksa apakah nilai skor lebih besar dari 100, digunakan blok operator:
a. =
b. <
c. > ✅
d. dan
21. Dalam Scratch, blok bukan digunakan untuk:
a. Membalikkan hasil kondisi logika ✅
b. Mengulangi aksi
c. Menghapus variabel
d. Menambah level
22. Dalam logika game, jika pemain masih memiliki nyawa dan waktu belum habis, permainan berlanjut. Kondisi ini menggunakan blok operator:
a. atau
b. dan ✅
c. bukan
d. sama dengan
23. Untuk menghasilkan nilai acak antara 1 dan 100, digunakan blok:
a. ambil [nilai acak] dari [1] sampai [100] ✅
b. ubah variabel ke [100]
c. ulangi [100] kali
d. nilai acak (100)
24. Jika ingin membuat daftar skor tertinggi, diperlukan fitur List untuk:
a. Menyimpan banyak nilai ✅
b. Menyimpan satu nilai
c. Menyimpan posisi
d. Menyimpan sprite
25. Blok buat daftar [Nama_Pemain] akan:
a. Membuat variabel baru
b. Membuat struktur data list baru ✅
c. Menghapus variabel lama
d. Menampilkan pesan
26. Untuk menambahkan data ke dalam list, digunakan blok:
a. tambahkan [nilai] ke [List] ✅
b. hapus [nilai] dari [List]
c. set [List] ke [nilai]
d. tampilkan [List]
27. Untuk menghapus seluruh isi list, blok yang digunakan adalah:
a. hapus [1] dari [List]
b. hapus semua dari [List] ✅
c. kosongkan [List]
d. set [List] ke 0
28. Untuk menampilkan isi daftar ke layar, digunakan blok:
a. tampilkan list [List] ✅
b. tampilkan variabel
c. siarkan [List]
d. ubah [List] sebesar [1]
29. Jika ingin membuat sistem penyimpanan skor tertinggi, maka blok yang paling penting digunakan adalah:
a. List dan Variabel ✅
b. Operator dan Suara
c. Warna dan Gerakan
d. Tampilan dan Kejadian
30. Untuk menampilkan nama pemain yang disimpan dalam list, digunakan blok:
a. katakan [item 1 dari Nama_Pemain] ✅
b. ubah Nama_Pemain sebesar [1]
c. hapus item 1 dari Nama_Pemain
d. ubah warna Nama_Pemain
31. Blok panjang dari [List] digunakan untuk mengetahui:
a. Jumlah elemen dalam list ✅
b. Ukuran sprite
c. Panjang teks
d. Lama waktu
32. Jika ingin sprite berbicara berdasarkan item list ke-3, digunakan blok:
a. katakan [item 3 dari List] ✅
b. ubah item 3 dari List
c. tambahkan item ke List
d. hapus item 3 dari List
33. Untuk membuat game bisa menerima input nama dari pemain, digunakan blok:
a. tanyakan [Masukkan nama:] dan tunggu ✅
b. tampilkan variabel
c. ubah Skor sebesar [1]
d. hentikan semua
34. Jawaban dari blok “tanyakan … dan tunggu” akan disimpan dalam variabel:
a. Skor
b. Jawaban ✅
c. Timer
d. Nama
35. Untuk membandingkan apakah pemain mengetik “ya”, digunakan blok:
a. jika <jawaban> = [ya] maka ✅
b. ubah jawaban sebesar [ya]
c. siarkan [ya]
d. tampilkan [ya]
36. Jika ingin sprite mengubah warna setiap kali disentuh mouse, digunakan kombinasi blok:
a. ketika klik bendera hijau dan ubah efek warna sebesar [25] ✅
b. ubah warna kostum
c. siarkan [warna baru]
d. ubah ukuran sprite
37. Untuk membuat sprite muncul dan menghilang bergantian, digunakan blok:
a. tampilkan dan sembunyikan ✅
b. ubah warna
c. tunggu [1] detik
d. putar arah
38. Blok set efek warna ke [25] termasuk kategori:
a. Tampilan ✅
b. Suara
c. Kontrol
d. Operator
39. Untuk menghapus semua efek grafis pada sprite, digunakan blok:
a. hapus semua efek grafis ✅
b. sembunyikan sprite
c. reset efek
d. ubah warna ke 0
40. Dalam sistem sensor suara, blok volume suara akan memberikan:
a. Nilai volume mikrofon ✅
b. Nilai skor
c. Nilai waktu
d. Nilai acak
41. Jika volume suara > 50, maka sprite dapat:
a. Bergerak
b. Melompat ✅
c. Menyembunyikan diri
d. Mengganti latar
42. Untuk mendeteksi arah mouse, digunakan blok:
a. arah ke [mouse-pointer] ✅
b. jarak ke [mouse-pointer]
c. ubah arah sebesar [10]
d. tunggu [1] detik
43. Dalam Scratch, sensor video dapat digunakan untuk:
a. Mendeteksi gerakan tubuh pemain ✅
b. Merekam suara
c. Menghapus sprite
d. Mengubah kostum
44. Blok video aktifkan digunakan untuk:
a. Menghidupkan kamera ✅
b. Menghapus semua sprite
c. Mengatur kecepatan video
d. Menampilkan skor
45. Untuk mendeteksi gerakan tangan pemain di kamera, digunakan blok:
a. gerakan video pada [arah]
b. jumlah gerakan video ✅
c. ubah warna efek
d. sensor suara
46. Jika nilai jumlah gerakan video > 20, maka sprite akan:
a. Diam
b. Bergerak ✅
c. Menghilang
d. Mengatur ulang
47. Dalam Scratch, fitur interaktif yang merespons suara atau gerakan disebut:
a. Sensor ✅
b. Event
c. Operator
d. Loop
48. Untuk menghentikan semua script dalam proyek, digunakan blok:
a. hentikan semua ✅
b. reset
c. sembunyikan
d. tunggu [0] detik
49. Agar sprite bergerak mengikuti suara, bisa digunakan kombinasi:
a. jika volume suara > [50] maka ubah y sebesar [10] ✅
b. ubah warna efek sebesar [10]
c. tampilkan variabel
d. ganti kostum
50. Kesimpulan utama dari bab ini adalah:
a. Scratch hanya bisa untuk animasi
b. Scratch dapat digunakan membuat game interaktif dengan variabel, list, dan sensor ✅
c. Scratch tidak bisa mendeteksi suara
d. Scratch tidak bisa menyimpan data
Keren dan berguna untuk ulangan
ReplyDeletesangat bermanfaat untuk latihan materi
ReplyDeleteSangat bagus soalnya bisa latih sebelum ulangan
ReplyDeleteBermanfaat banget buat belajar dan soalnya susah jadi semangat ngerjain
ReplyDeleteSangat bermanfaat untuk belajar
ReplyDeletekeren banget sangat kreatif
ReplyDeletesangat keren dan kreatif
ReplyDeleteLatihan soal susah kali macam soal TKA
ReplyDeletesangat membantu untuk menjadi bahan belajar
ReplyDeleteBlog ini sangat bermanfaat
ReplyDeletemakasih latihan soalnya
ReplyDelete