Variabel Lokal dan Global di Python
Di Python, variabel memiliki cakupan (scope), yang menentukan di mana variabel tersebut dapat diakses dalam program. Ada dua jenis variabel utama berdasarkan cakupan:
- Variabel Lokal → Hanya bisa digunakan di dalam fungsi.
- Variabel Global → Bisa digunakan di seluruh program, termasuk dalam fungsi.
1. Variabel Lokal (Local Variable)
📌 Variabel yang dibuat di dalam fungsi hanya bisa digunakan di dalam fungsi tersebut.
Jika dicoba di luar fungsi, akan menyebabkan error.
Contoh Variabel Lokal
def fungsi():
pesan = "Halo, saya variabel lokal!" # Variabel lokal
print(pesan)
fungsi() # Output: Halo, saya variabel lokal!
# print(pesan) # ❌ ERROR! (pesan hanya ada di dalam fungsi)
❌ Kenapa error?
Karena pesan
hanya ada di dalam fungsi fungsi()
, jadi tidak bisa diakses dari luar.
2. Variabel Global (Global Variable)
📌 Variabel yang dibuat di luar fungsi bisa diakses dari mana saja dalam program.
Contoh Variabel Global
pesan = "Saya variabel global!" # Variabel global
def fungsi():
print(pesan) # Bisa diakses dari dalam fungsi
fungsi() # Output: Saya variabel global!
print(pesan) # Output: Saya variabel global!
✅ Kenapa bisa diakses?
Karena variabel pesan
dibuat di luar fungsi, jadi bisa digunakan di mana saja.
3. Mengubah Variabel Global di Dalam Fungsi
Biasanya, jika kita mencoba mengubah variabel global di dalam fungsi, Python akan menganggapnya sebagai variabel lokal.
Contoh yang Salah (Error)
angka = 10 # Variabel global
def ubah():
angka = 20 # Python menganggap ini variabel lokal!
print(angka) # Output: 20 (Tapi ini hanya lokal dalam fungsi)
ubah()
print(angka) # Output: 10 (Variabel global tidak berubah)
❌ Kenapa variabel global tidak berubah?
Karena Python menganggap angka
di dalam fungsi adalah variabel lokal baru, bukan mengubah yang global.
4. Gunakan global
untuk Mengubah Variabel Global
Untuk mengubah variabel global dari dalam fungsi, gunakan global
.
Contoh yang Benar
angka = 10 # Variabel global
def ubah():
global angka # Menggunakan global agar bisa mengubah variabel global
angka = 20
print(f"Nilai di dalam fungsi: {angka}")
ubah() # Output: Nilai di dalam fungsi: 20
print(f"Nilai di luar fungsi: {angka}") # Output: Nilai di luar fungsi: 20
✅ Kenapa berhasil?
Karena kita menggunakan global angka
, sehingga Python tahu bahwa kita ingin mengubah variabel angka yang ada di luar fungsi, bukan membuat variabel baru.
Kesimpulan
Tipe Variabel | Dideklarasikan di | Dapat diakses di | Dapat diubah di dalam fungsi? |
---|---|---|---|
Lokal | Di dalam fungsi | Hanya di dalam fungsi itu | Ya, tanpa perlu global |
Global | Di luar fungsi | Di seluruh program | Perlu global jika ingin diubah dari dalam fungsi |
Tips:
- Gunakan variabel lokal jika tidak perlu diakses di luar fungsi (lebih aman dan tidak mengganggu variabel lain).
- Gunakan variabel global dengan hati-hati, terutama jika kodenya panjang dan kompleks.
Semoga penjelasan ini membantu!
Leave a Reply