DC
Kelas Digital Creative
Robotika · IoT · Scratch · Canva · CapCut · AI
← kembali ke Home

Memahami Events (Peristiwa) di Scratch – Bagian 2

⏱ 20 Menit Scratch August 2026 🔧 Scratch Website

Memahami Events (Peristiwa) di Scratch — Bagian 2

Melanjutkan pembahasan sebelumnya, video ini membahas empat blok terakhir dari kategori Events: loudness, timer, serta konsep broadcast message (mengirim dan menerima pesan antar sprite).

1. Blok “When Loudness > _”

Scratch bisa mendeteksi seberapa keras suara di sekitar (misalnya lewat mikrofon perangkat). Untuk melihat nilai loudness secara real-time, buka kategori Sensing dan centang checkbox di samping blok loudness — sebuah monitor kecil akan muncul di stage menampilkan nilai loudness yang terus berubah sesuai suara di sekitar. Semakin sepi, nilainya akan mendekati 0 atau 1; semakin keras suaranya, nilainya akan semakin tinggi.

Karena loudness termasuk event, kita bisa memicu kode berdasarkan nilai tersebut. Contoh:

when loudness > 55
say "I am loud" for 5 seconds

Setiap kali suara yang terdeteksi melebihi nilai 55, sprite akan menampilkan gelembung teks “I am loud”.

2. Blok “When Timer > _”

Di balik layar, Scratch memiliki sebuah timer (pengatur waktu) yang otomatis berjalan dan terus bertambah sejak project mulai dijalankan. Untuk melihat nilainya, buka kategori Sensing dan centang checkbox pada blok timer — monitor timer akan muncul di stage. Timer ini bisa direset ke nol kapan saja dengan mengklik tombol reset timer pada monitornya.

Kita bisa memicu kode berdasarkan nilai timer ini. Contoh:

when timer > 30
say "30 seconds passed"

Begitu timer melewati angka 30 (detik), sprite otomatis akan menampilkan teks “30 seconds passed”.

3. Konsep Broadcast Message (Mengirim & Menerima Pesan)

Jika kita memiliki dua sprite dan ingin sprite A “berkomunikasi” dengan sprite B, satu-satunya cara adalah melalui broadcast message (siaran pesan). Sprite A mengirim (broadcast) sebuah pesan, lalu sprite B bisa “mendengarkan” dan merespons pesan tersebut. Ada dua blok yang berperan:

  • broadcast _ — mengirim/menyiarkan pesan.
  • when I receive _ — menerima pesan tertentu dan menjalankan kode sebagai respons.

4. Praktik: Mengirim Pesan Antar Sprite

Sebagai contoh, tambahkan dua sprite, misalnya Batter A dan Batter B. Skenario: Batter A berpindah dari base 1 ke base 2, lalu mengirim pesan. Setelah Batter B menerima pesan tersebut, Batter B akan berpindah dari base 3 ke base 4.

Skrip pada Batter A:

when [green flag] clicked
glide 1 secs to x: [base2 x] y: [base2 y]
broadcast [run]
say "I reached" for 5 seconds

Saat membuat pesan baru, klik dropdown pada blok broadcast, pilih New Message, lalu beri nama pesan tersebut (misalnya “run”).

Skrip pada Batter B:

when I receive [run]
glide 1 secs to x: [base4 x] y: [base4 y]

Saat dijalankan, Batter A akan bergerak ke base 2, mengirim pesan “run”, lalu langsung melanjutkan kodenya sendiri (menampilkan “I reached”). Bersamaan dengan itu, Batter B yang menerima pesan “run” juga akan mulai bergerak ke base 4.

5. Blok “Broadcast _ and Wait”

Pada contoh di atas, setelah Batter A mengirim pesan, ia langsung lanjut menjalankan kode berikutnya tanpa menunggu Batter B selesai bergerak. Jika kita ingin Batter A menunggu sampai Batter B benar-benar selesai menjalankan kodenya sebelum melanjutkan, gunakan blok broadcast _ and wait sebagai pengganti broadcast _ biasa:

when [green flag] clicked
glide 1 secs to x: [base2 x] y: [base2 y]
broadcast [run] and wait
say "I reached" for 5 seconds

Dengan perubahan ini, teks “I reached” pada Batter A baru akan muncul setelah Batter B selesai bergerak dari base 3 ke base 4 — bukan bersamaan seperti sebelumnya.

Ringkasan

  • when loudness > _ memicu kode berdasarkan tingkat volume suara yang terdeteksi.
  • when timer > _ memicu kode berdasarkan waktu (detik) sejak project berjalan; timer bisa direset kapan saja.
  • broadcast _ mengirim pesan ke semua sprite dan langsung lanjut menjalankan kode berikutnya (tidak menunggu).
  • broadcast _ and wait mengirim pesan, namun menunggu sampai script penerima pesan selesai dijalankan sebelum lanjut.
  • when I receive _ menjalankan kode saat pesan tertentu diterima — inilah cara sprite-sprite di Scratch bisa saling “berkomunikasi”.