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

Comments

Post a Comment

Popular posts from this blog

Artikel Pembelajaran Coding dan Ai SMP Labschool Jakarta by Khan Khaizuran 8C/18

Rangkuman Analisis Data Bab 2 by Khan Khaizuran 8C/18

Artikel Jaringan Komputer dan Internet by Khan Khaizuran 8C/18