C++ | #19 Variabel Lokal dan Global


 

Halo teman-teman! 👋

Di part sebelumnya kita sudah belajar tentang fungsi dengan nilai balik (return). Nah, sebelum kita makin dalam ke fungsi, ada satu konsep penting yang harus kamu pahami, yaitu variabel lokal dan global.

Variabel ini punya “lingkup” (scope), alias di mana dia bisa diakses. Kalau salah paham, bisa bikin error atau hasil aneh di program. Jadi mari kita bahas pelan-pelan. 😁


🔹 Variabel Lokal

Variabel lokal adalah variabel yang dideklarasikan di dalam sebuah fungsi atau blok kode, dan hanya bisa digunakan di dalamnya.
Begitu fungsi selesai, variabel lokal akan hilang (memori dibebaskan).

👉 Anggap variabel lokal itu kayak “barang pinjaman” yang hanya bisa dipakai di ruangan tertentu.

Contoh Variabel Lokal:

#include <iostream> using namespace std; void contohLokal() { int x = 10; // variabel lokal cout << "Nilai x di dalam fungsi: " << x << endl; } int main() { contohLokal(); // cout << x; // ERROR! x tidak dikenal di sini return 0; }

Output:

Nilai x di dalam fungsi: 10

👉 Kalau kita coba akses x di luar fungsi contohLokal, pasti error karena x hanya berlaku di dalam fungsi itu saja.


🔹 Variabel Global

Variabel global adalah variabel yang dideklarasikan di luar semua fungsi, biasanya di bagian paling atas program.
Variabel ini bisa dipakai di semua fungsi selama program berjalan.

👉 Variabel global itu seperti “barang umum” yang bisa dipakai semua orang.

Contoh Variabel Global:

#include <iostream> using namespace std; int globalVar = 100; // variabel global void tampilkan() { cout << "Nilai globalVar di dalam fungsi: " << globalVar << endl; } int main() { cout << "Nilai globalVar di main: " << globalVar << endl; tampilkan(); return 0; }

Output:

Nilai globalVar di main: 100 Nilai globalVar di dalam fungsi: 100

👉 Karena globalVar dideklarasikan di luar fungsi, semua fungsi bisa mengaksesnya.


🔹 Perbedaan Penting antara Lokal dan Global

  1. Lokasi deklarasi

    • Lokal → di dalam fungsi/blok.

    • Global → di luar semua fungsi.

  2. Lama hidup (lifetime)

    • Lokal → hanya ada selama fungsi dijalankan.

    • Global → ada sepanjang program berjalan.

  3. Aksesibilitas

    • Lokal → hanya bisa diakses di fungsi/blok tempat dia dibuat.

    • Global → bisa diakses dari mana saja.


🔹 Nama Variabel yang Sama: Lokal vs Global

Kalau ada variabel lokal dengan nama yang sama dengan variabel global, maka variabel lokal akan menimpa (override) variabel global di dalam fungsi itu.

Contoh:

#include <iostream> using namespace std; int nilai = 50; // variabel global void tes() { int nilai = 100; // variabel lokal (menimpa global di sini) cout << "Nilai di dalam fungsi: " << nilai << endl; } int main() { cout << "Nilai global: " << nilai << endl; tes(); cout << "Nilai global lagi: " << nilai << endl; return 0; }

Output:

Nilai global: 50 Nilai di dalam fungsi: 100 Nilai global lagi: 50

👉 Di dalam fungsi tes(), variabel lokal nilai = 100 menutupi variabel global. Tapi setelah keluar dari fungsi, variabel global tetap utuh.


🔹 Kapan Gunakan Global dan Kapan Lokal?

  • Variabel Lokal → lebih aman, karena hanya dipakai di fungsi tertentu. Cocok kalau datanya cuma diperlukan di sana.

  • Variabel Global → praktis kalau datanya harus diakses banyak fungsi, tapi hati-hati karena bisa bikin program sulit dilacak kalau ada bug.

⚠️ Best Practice: Biasanya programmer lebih sering memakai variabel lokal. Global dipakai hanya kalau benar-benar diperlukan.


🔑 Kesimpulan

  • Variabel lokal: hanya ada di dalam fungsi, hilang setelah fungsi selesai.

  • Variabel global: bisa diakses dari mana saja, tetap ada selama program berjalan.

  • Kalau ada nama yang sama, lokal menimpa global di dalam fungsi.

  • Sebisa mungkin pakai variabel lokal biar program lebih aman dan jelas.


Oke, sampai sini kita sudah paham soal variabel lokal dan global.
Di part selanjutnya kita akan bahas yang lebih keren lagi, yaitu rekursi – fungsi yang memanggil dirinya sendiri 🔁.

Posting Komentar

0 Komentar