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 dalamcontoh_fungsi()
.Jika kita mencoba
print(x)
di luar fungsi, Python akan memberikan error karenax
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 mengiraz
adalah variabel lokal baru, bukan variabel globalz
.Variabel global
z
tidak berubah.
4. Menggunakan global
untuk Mengubah Variabel Global
global
untuk Mengubah Variabel Global👉 Jika ingin mengubah variabel global di dalam fungsi, kita harus menggunakan kata kunci global
.
Contoh global
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
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