Variabel Global dan Lokal

Variabel Global dan Lokal dalam Python

Dalam Python (dan banyak bahasa pemrograman lainnya), variabel dibagi menjadi variabel global dan variabel lokal berdasarkan di mana mereka dideklarasikan dan bagaimana mereka dapat diakses.


1. Variabel Lokal

👉 Variabel yang dideklarasikan di dalam fungsi dan hanya dapat digunakan di dalam fungsi tersebut.

Contoh Variabel Lokal

def contoh_fungsi():
    x = 10  # Variabel lokal
    print("Nilai x di dalam fungsi:", x)

contoh_fungsi()

# print(x)  # ERROR: x tidak bisa diakses di luar fungsi

Penjelasan:

  • x hanya bisa diakses di dalam contoh_fungsi().

  • Jika kita mencoba print(x) di luar fungsi, Python akan memberikan error karena x hanya ada di dalam fungsi tersebut.


2. Variabel Global

👉 Variabel yang dideklarasikan di luar fungsi dan bisa diakses dari mana saja dalam program.

Contoh Variabel Global

y = 20  # Variabel global

def contoh_fungsi():
    print("Nilai y di dalam fungsi:", y)  # Bisa diakses

contoh_fungsi()
print("Nilai y di luar fungsi:", y)  # Bisa diakses juga

Penjelasan:

  • y dideklarasikan di luar fungsi, sehingga bisa diakses di dalam maupun di luar fungsi.


3. Mengubah Variabel Global di dalam Fungsi

🚨 Masalah: Jika kita mencoba mengubah variabel global di dalam fungsi tanpa deklarasi eksplisit, Python akan membuat variabel lokal baru.

Contoh Masalah

z = 30  # Variabel global

def ubah_z():
    z = 50  # Variabel lokal (bukan mengubah global)
    print("Nilai z di dalam fungsi:", z)

ubah_z()
print("Nilai z di luar fungsi:", z)  # Tidak berubah, tetap 30

Penjelasan:

  • Di dalam ubah_z(), Python mengira z adalah variabel lokal baru, bukan variabel global z.

  • Variabel global z tidak berubah.


4. Menggunakan global untuk Mengubah Variabel Global

👉 Jika ingin mengubah variabel global di dalam fungsi, kita harus menggunakan kata kunci global.

Contoh global

z = 30  # Variabel global

def ubah_z():
    global z  # Memastikan kita mengubah variabel global
    z = 50
    print("Nilai z di dalam fungsi:", z)

ubah_z()
print("Nilai z di luar fungsi:", z)  # Sekarang z berubah menjadi 50

Penjelasan:

  • Dengan global z, kita memberi tahu Python bahwa kita ingin mengubah variabel global, bukan membuat variabel lokal baru.


Kesimpulan

Jenis Variabel
Dideklarasikan di
Aksesibilitas
Bisa diubah di dalam fungsi?

Lokal

Dalam fungsi

Hanya di dalam fungsi

Ya

Global

Di luar fungsi

Bisa diakses dari mana saja

Harus pakai global

Menghapus variabel python


Variabel Python dapat dihapus dengan mneggunakan fungsi del ‘nama variabel’. Pada contoh di atas ekesekusi program menampilkan NameError: name 'var1' is not defined, mengindikasikan kalau kita telah menghapus variabel yang telah didefinisikan sebelumnya dengan del var1 (menghapus var1).





Last updated