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

Memahami Control (Kontrol) di Scratch – Bagian 1

⏱ 20 Menit Scratch August 2026 🔧 Scratch Website

Memahami Control (Kontrol) di Scratch — Bagian 1

Kategori Control berisi blok-blok yang mengatur alur jalannya program — seperti menunda eksekusi, mengulang kode, atau menjalankan kode secara kondisional. Tutorial ini membahas lima blok pertama dari kategori Control.

1. Blok “Wait _ Seconds”

Blok ini menunda eksekusi blok berikutnya selama jumlah detik yang ditentukan. Contoh skrip untuk mendemonstrasikannya:

when [green flag] clicked
glide 1 secs to x: _ y: _
wait 4 seconds
glide 1 secs to x: _ y: _

Saat dijalankan, sprite akan bergerak (glide pertama), lalu berhenti/menunggu selama 4 detik tanpa melakukan apa pun, dan baru setelah itu menjalankan gerakan (glide) kedua. Tanpa blok wait, kedua blok glide akan langsung berjalan berurutan tanpa jeda.

2. Blok “Repeat _”

Blok ini mengulang kode yang ada di dalamnya sebanyak jumlah kali yang ditentukan pada parameternya. Contoh: repeat 4 akan menjalankan kode di dalamnya sebanyak 4 kali berturut-turut.

when [green flag] clicked
repeat 4
    glide 1 secs to random position

Skrip ini setara persis dengan menuliskan blok glide sebanyak empat kali secara manual satu per satu — namun dengan repeat, kode menjadi jauh lebih ringkas dan mudah dikelola.

3. Blok “Forever”

Blok ini menjalankan kode di dalamnya secara berulang tanpa henti (infinite loop), selama program masih berjalan. Contoh:

when [green flag] clicked
forever
    glide 1 secs to random position

Sprite (misalnya berbentuk roket) akan terus bergerak berpindah-pindah tanpa henti. Satu-satunya cara menghentikannya adalah dengan mengklik tombol Stop (ikon merah) di atas stage. Blok ini sangat berguna untuk kasus-kasus yang memerlukan pengecekan atau aksi yang berjalan terus-menerus selama program aktif.

4. Blok “If _ Then”

Blok if then adalah blok kondisi — kode di dalamnya hanya akan dijalankan jika kondisi yang diberikan bernilai true (benar). Jika kondisinya false (salah), kode di dalamnya tidak akan dijalankan sama sekali.

Contoh skenario: sebuah roket melayang di luar angkasa, dan ketika roket menyentuh sprite bernama “Earth” (Bumi), tampilkan pesan “Landed on Earth”:

when [green flag] clicked
forever
    glide 1 secs to random position
    if  then
        say "Landed on Earth" for 2 seconds

Kondisi touching _? diambil dari kategori Sensing (akan dibahas lebih lanjut pada video lain), dan menghasilkan nilai true/false tergantung apakah sprite sedang menyentuh sprite target atau tidak. Pesan hanya akan muncul saat kondisi tersebut bernilai true, yaitu saat roket benar-benar menyentuh Bumi.

5. Blok “If _ Then / Else”

Blok ini mirip dengan if then, namun memiliki bagian tambahan yaitu else (jika tidak). Jika kondisi bernilai true, bagian kode di dalam if akan dijalankan. Jika kondisi bernilai false, maka bagian kode di dalam else yang akan dijalankan sebagai gantinya.

Contoh skenario: jika roket sedang menyentuh Bumi, tampilkan “Landed on Earth”; jika tidak, tampilkan “I am flying”:

when [green flag] clicked
forever
    glide 1 secs to random position
    if  then
        say "Landed on Earth"
    else
        say "I am flying"

Saat dijalankan, pesan akan otomatis berganti sesuai kondisi — menampilkan “I am flying” ketika roket melayang, dan berubah menjadi “Landed on Earth” tepat saat roket menyentuh Bumi.

Perbedaan “If Then” vs “If Then/Else”

  • if then — hanya menjalankan kode jika kondisi true; jika kondisi false, tidak melakukan apa pun.
  • if then/else — jika kondisi true, jalankan bagian if; jika kondisi false, jalankan bagian else sebagai gantinya.

Ringkasan

  • wait _ seconds — menunda eksekusi kode berikutnya selama waktu tertentu.
  • repeat _ — mengulang kode di dalamnya sebanyak jumlah kali tertentu.
  • forever — mengulang kode di dalamnya tanpa henti selama program berjalan.
  • if then dan if then/else — menjalankan kode secara kondisional berdasarkan nilai boolean (true/false).