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

Memahami Control (Kontrol) di Scratch – Bagian 2

⏱ 20 Menit Scratch August 2026 🔧 Scratch Website

Memahami Control (Kontrol) di Scratch — Bagian 2

Melanjutkan pembahasan sebelumnya, video ini membahas tiga blok Control berikutnya: wait until, repeat until, dan stop, lewat praktik membuat efek gravitasi dan lompatan sederhana.

1. Blok “Wait Until”

Blok ini akan menunggu sampai kondisi yang diberikan bernilai true, dan baru menjalankan blok berikutnya setelah kondisi tersebut terpenuhi. Untuk mendemonstrasikannya, kita akan membuat efek sederhana: sprite kucing terus turun (gravitasi), dan melompat saat tombol spasi ditekan.

Langkah A: Membuat Efek Gravitasi (Kucing Terus Turun)

  1. Buat variabel baru bernama Gravity dari kategori Variables.
  2. Susun skrip berikut:
when [green flag] clicked
set [Gravity] to 0
forever
    change [Gravity] by -1
    change y by (Gravity)

Skrip ini membuat nilai Gravity terus berkurang (semakin negatif), sehingga posisi Y sprite terus menurun — menciptakan efek seperti gravitasi yang menarik kucing ke bawah terus-menerus.

Langkah B: Membuat Kucing Melompat Saat Spasi Ditekan

when [green flag] clicked
forever
    if  then
        set [Gravity] to 10

Dengan skrip ini, menekan tombol spasi akan membuat nilai Gravity menjadi 10 (positif), sehingga kucing bergerak naik. Namun ada masalah: jika tombol spasi ditahan terus, kucing akan terus naik tanpa henti karena kondisi terus bernilai true selama tombol ditekan.

Langkah C: Menggunakan “Wait Until” untuk Memperbaikinya

Agar kucing hanya melompat sekali per tekan (bukan terus naik saat tombol ditahan), gunakan wait until dikombinasikan dengan operator not untuk menunggu sampai tombol dilepas terlebih dahulu:

when [green flag] clicked
forever
    if  then
        set [Gravity] to 10
        wait until >

Sekarang, setelah kucing melompat, skrip akan menunggu sampai tombol spasi benar-benar dilepas sebelum bisa memicu lompatan berikutnya — sehingga menahan tombol tidak lagi membuat kucing terus naik tanpa henti.

2. Blok “Repeat Until”

Blok ini mengulang kode di dalamnya terus-menerus sampai kondisi yang diberikan bernilai true (kebalikan dari repeat biasa yang mengulang berdasarkan jumlah angka tetap). Contoh skenario: sprite kucing bergerak maju terus sampai menyentuh tepi (edge) stage:

when [green flag] clicked
repeat until 
    move 10 steps

Kucing akan terus bergerak maju, dan otomatis berhenti begitu menyentuh tepi stage — karena kondisi touching edge? sudah bernilai true.

3. Blok “Stop”

Blok ini menghentikan skrip yang sedang berjalan. Klik dropdown pada blok untuk melihat tiga pilihan:

  • all — menghentikan semua skrip, baik pada sprite ini maupun sprite lain di seluruh project.
  • this script — hanya menghentikan skrip yang sedang berjalan tersebut (jika sprite memiliki lebih dari satu skrip terpisah, skrip lainnya tetap berjalan).
  • other scripts in sprite — menghentikan skrip-skrip lain pada sprite yang sama, tanpa menghentikan skrip yang sedang menjalankan blok stop ini.

Contoh penggunaan: kucing bergerak maju terus (menggunakan repeat until touching edge), namun jika kucing menyentuh sprite “Building” di tengah jalan, seluruh program langsung berhenti:

when [green flag] clicked
forever
    move 10 steps
    if  then
        stop [all]

Saat kucing menyentuh sprite Building, blok stop all akan langsung menghentikan seluruh skrip yang sedang berjalan, sehingga kucing berhenti bergerak seketika — berbeda dari sebelumnya yang baru berhenti saat menyentuh tepi stage.

Ringkasan

  • wait until — menunggu sampai kondisi tertentu bernilai true sebelum melanjutkan ke blok berikutnya.
  • repeat until — mengulang kode sampai kondisi tertentu terpenuhi (berbeda dengan repeat yang mengulang berdasarkan jumlah tetap).
  • stop — menghentikan skrip, dengan tiga pilihan cakupan: all (semua skrip), this script (skrip ini saja), atau other scripts in sprite (skrip lain pada sprite yang sama).