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

Perbedaan Variabel Global dan Lokal di Scratch

⏱ 20 Menit Scratch August 2026 🔧 Scratch Website

Perbedaan Variabel Global dan Lokal di Scratch

Setelah memahami apa itu variabel, kini kita akan membahas dua jenis variabel di Scratch: global variable dan local variable. Keduanya menentukan sprite mana saja yang bisa mengakses dan mengubah nilai suatu variabel.

Apa Itu Global Variable?

Global variable adalah variabel yang nilainya bisa dibaca maupun diubah oleh sprite mana pun dalam project — tidak peduli sprite mana yang awalnya membuat variabel tersebut. Contoh: jika sprite “Cat” membuat variabel bernama Score, maka sprite lain seperti “Lion” tetap bisa membaca dan mengubah nilai variabel Score tersebut, meskipun bukan yang membuatnya.

Apa Itu Local Variable?

Local variable adalah variabel yang nilainya hanya bisa diubah oleh sprite yang membuatnya. Sprite lain tetap bisa membaca nilainya, tapi tidak bisa mengubahnya. Contoh: jika sprite “Lion” membuat variabel lokal bernama Name, maka hanya Lion yang bisa mengubah nilai variabel tersebut; sprite “Cat” hanya bisa membacanya, tidak bisa mengubahnya.

Cara Membuat Variabel Global vs Lokal

Saat membuat variabel baru lewat tombol Make a Variable, akan muncul jendela dengan dua pilihan cakupan (scope) di bagian bawah:

  • For all sprites — membuat variabel bersifat global (bisa diakses & diubah semua sprite).
  • For this sprite only — membuat variabel bersifat lokal (hanya sprite pembuatnya yang bisa mengubah nilainya).

Praktik: Membuat dan Menguji Global Variable

Misalnya kita punya dua sprite, Sam dan Ben. Buat variabel baru dengan opsi For all sprites, beri nama Score. Variabel ini akan otomatis muncul dan bisa digunakan oleh kedua sprite, meskipun dibuat lewat sprite Sam.

Skrip pada sprite Sam:

when [green flag] clicked
set [Score] to "2 - 3"
say (Score)

Skrip pada sprite Ben:

when [green flag] clicked
set [Score] to "4 - 3"
say (Score)

Karena Score adalah variabel global, masing-masing sprite bisa mengatur nilainya sendiri-sendiri secara independen — Sam akan menampilkan “2 – 3” sementara Ben menampilkan “4 – 3”, meskipun keduanya menggunakan variabel dengan nama yang sama.

Praktik: Membuat dan Menguji Local Variable

Sambil berada di sprite Sam, buat variabel baru dengan opsi For this sprite only, beri nama Team. Variabel ini hanya akan muncul pada sprite Sam saja — jika kita berpindah ke sprite Ben, variabel Team tidak akan terlihat di daftar variabel milik Ben (karena bersifat lokal, khusus milik Sam).

Skrip pada sprite Sam:

when [green flag] clicked
set [Team] to "Real Madrid"
say (Team)

Karena Ben tidak memiliki akses langsung ke variabel lokal milik Sam, Ben tidak bisa menggunakan blok set untuk mengubahnya. Namun, Ben tetap bisa membaca nilainya melalui kategori Sensing, menggunakan blok pelaporan variabel milik sprite lain (pilih sprite “Sam” pada dropdown-nya):

when [green flag] clicked
say (Sam's Team)

Saat pertama dijalankan sebelum Sam mengatur nilainya, Ben akan menampilkan 0 (nilai default), sementara Sam sudah menampilkan “Real Madrid”. Namun setelah skrip Sam sempat berjalan dan mengatur nilai Team, Ben yang membaca ulang nilai tersebut akan ikut menampilkan “Real Madrid” — karena Ben hanya bisa membaca, bukan mengubah nilai variabel lokal milik Sam.

Ringkasan

Aspek Global Variable Local Variable
Dibuat dengan opsi For all sprites For this sprite only
Bisa dibaca oleh Semua sprite Semua sprite
Bisa diubah oleh Semua sprite Hanya sprite pembuatnya
  • Global variable cocok untuk data yang perlu dibagikan dan diubah oleh banyak sprite sekaligus, misalnya skor total dalam game.
  • Local variable cocok untuk data milik sprite tertentu saja yang tidak boleh diubah sembarangan oleh sprite lain, meskipun sprite lain tetap boleh membacanya.