๐ŸŽฏ Tujuan โšก Event-Driven ๐ŸŽฎ Broadcast & Collision ๐Ÿ•น๏ธ Mini Catch Game Studio ๐Ÿ“ Evaluasi Formatif โœจ Rangkuman & Refleksi
Learn / KKA / Algoritma & Pemrograman / 02. Event & Interaksi
๐Ÿค– KKA ยท Unit 05 ยท Modul 02

Event-Driven Programming & Interaksi Game

Bagaimana membuat game yang merespons ketikan tombol pemain dan tabrakan objek? Kuasai paradigma Event-Driven Programming, teknik penyiaran pesan Broadcasting antar sprite, serta deteksi tabrakan Collision Sensing untuk membangun game interaktif pertamamu!

โฑ๏ธ Waktu: 45 Menit โšก Pemicu: Keyboard, Klik, & Broadcast ๐Ÿ“ Evaluasi: 20 Soal (4 Bagian)
๐ŸŽฏ

Tujuan Pembelajaran

Kompetensi yang akan kamu kuasai setelah menyelesaikan modul ini

01.
Memahami Konsep Event-Driven Programming

Menjelaskan bagaimana blok kode diam menunggu kejadian (event) sebelum mengeksekusi instruksi aksi.

02.
Menguasai Mekanisme Penyiaran Pesan (Broadcasting)

Mengoordinasikan dialog antar karakter dan pergantian level game menggunakan balok broadcast dan receive message.

03.
Menerapkan Deteksi Tabrakan (Collision Detection)

Menggunakan balok sensor [touching sprite] dan [touching color] untuk menambah skor atau memicu Game Over.

04.
Merancang Kontrol Pemain yang Responsif

Memprogram kendali gerak halus karakter menggunakan tombol panah keyboard atau pergerakan kursor mouse.

1

Anatomi Pemrograman Berbasis Peristiwa (Event)

Program interaktif bekerja berdasarkan formula: Pemicu (Trigger) โ†’ Aksi (Action)

โŒจ๏ธ

1. Input Keyboard

Balok when [space] key pressed atau tombol panah langsung menggerakkan sprite ke atas, bawah, kiri, atau kanan saat ditekan pemain.

๐Ÿ–ฑ๏ธ

2. Input Mouse & Klik

Balok when this sprite clicked memicu aksi interaktif seperti menekan tombol 'Play Game', membuka peti harta karun, atau menembak target.

๐Ÿ“ข

3. Sinyal Broadcast

Satu sprite dapat mengirimkan sinyal pesan rahasia (contoh: broadcast "musuh_kalah") yang langsung didengarkan oleh seluruh sprite lain.

2

Mekanik Inti Game: Deteksi Tabrakan & Skor

Membangun aturan main (game rules) agar permainan menjadi seru dan menantang

1. Sensor Sentuhan (Touching)

Kombinasi balok if then digunakan untuk mendeteksi saat keranjang berhasil menangkap buah yang jatuh.

2. Variabel Skor & Timer

Saat tabrakan terjadi, variabel skor ditambah: change [skor] by (1) dan suara 'ding' dibunyikan.

3. Kondisi Game Over

Jika waktu habis atau menyentuh bom: broadcast "game_over" dan tampilkan layar penutup.

๐ŸŽฎ

Interactive Catch Game & Event Simulator

Kendalikan mangkok dengan tombol panah untuk menangkap buah bintang yang jatuh dari langit!

Game Lab
๐Ÿ•น๏ธ Kontrol Pemain (Keyboard Event):
CATCH GAME STAGE SKOR: 0
โญ
๐Ÿฅฃ
Gunakan tombol di sebelah kiri untuk mengarahkan mangkok tepat di bawah bintang!
๐Ÿ“

Evaluasi Formatif: Event & Interaksi

Uji pemahaman event handling, broadcast message, dan collision sensing (Total Skor: 100)

Target Kelulusan Minimal 70 Poin
Bagian A

Pilihan Ganda (5 Soal ยท Bobot: 25 Poin)

1. Fitur di Scratch yang memungkinkan satu sprite mengirimkan sinyal pesan ke seluruh sprite lain di panggung adalah...

2. Balok sensor yang digunakan untuk mendeteksi apakah karakter game menyentuh rintangan dinding berwarna hitam adalah...

3. Kapan balok kode di bawah pemicu when I receive [level_2] akan dieksekusi?

4. Untuk membuat kontrol pemain bergerak ke arah kanan secara mulus saat tombol panah kanan ditekan, balok yang disusun di dalam loop forever adalah...

5. Contoh game Scratch yang sangat cocok menggunakan event deteksi sentuhan (collision detection) adalah...

Bagian B

Benar atau Salah (5 Soal ยท Bobot: 25 Poin)

1. Satu sinyal penyiaran pesan (broadcast) dapat diterima dan memicu aksi di beberapa sprite sekaligus pada saat bersamaan.
2. Balok when backdrop switches to [game_over] dapat digunakan untuk menyembunyikan karakter pemain dan memunculkan teks kekalahan.
3. Program event-driven hanya bisa berjalan secara berurutan kaku dan tidak dapat merespons klik mouse pengguna.
4. Perintah touching [mouse-pointer]? dapat dimanfaatkan untuk membuat game menggambar atau game menembak target dengan kursor.
5. Di Scratch, kita hanya boleh membuat maksimal 1 pesan broadcast saja dalam satu proyek game.
Bagian C

Menjodohkan Balok Event & Skenario Penggunaannya (5 Pasangan ยท Bobot: 25 Poin)

Bagian D

Urutan Siklus Game Menangkap Apel (Catch Game) (Bobot: 25 Poin)

Urutkan logika saat objek apel jatuh dari atas hingga tertangkap keranjang:

A. Apel muncul di posisi atas panggung acak: [go to x: pick random (-200 to 200) y: 160]
B. Apel bergerak turun ke bawah secara terus-menerus: [change y by -5] di dalam loop
C. Pemain menggerakkan mangkok ke kiri/kanan untuk menghadang posisi jatuhnya apel
D. Sensor mendeteksi tabrakan: [if touching (mangkok)? then change skor by 1]
E. Apel memainkan suara 'Pop' dan kembali meluncur dari atas panggung
โœจ

Rangkuman Materi & Refleksi Belajar

Tuliskan pemahaman dan pengalaman belajarmu pada materi ini

1. Kunci Interaktivitas: Event membuat program tidak statis, melainkan responsif terhadap aksi sentuhan manusia.

2. Komunikasi Broadcast: Sinkronisasikan adegan, musik latar, dan dialog antartokoh menggunakan sinyal pesan.

3. Game Mechanics: Padukan sensor tabrakan dengan variabel skor untuk menghadirkan kepuasan bermain.