Post Detail

February 16, 2025 in Python Bassic

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:

  1. Variabel Lokal → Hanya bisa digunakan di dalam fungsi.
  2. 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 VariabelDideklarasikan diDapat diakses diDapat diubah di dalam fungsi?
LokalDi dalam fungsiHanya di dalam fungsi ituYa, tanpa perlu global
GlobalDi luar fungsiDi seluruh programPerlu 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

Your email address will not be published. Required fields are marked *