Pada kesempatan kali ini kita akan membahas Perbedaan Variabel Global
dan Variabel Lokal Lengkap Contoh dan Penjelasan nya dalam Bahasa C++.
Baiklah langsung saja kita bahas Perbedaan Variabel Global dan Variabel
Lokal.
Sebelum menginjak pada perbedaan variabel lokal dan variabel global, mari
kita pahami terlebih dahulu Apa itu Variabel ? Variabel Adalahsebuah tempat
untuk menampung data dimemori dimana tempat tersebut dapat menampung
nilai (data) yang dapat berubah-ubah selama proses program. atau variabel
juga disebut sebagai sebuah identifier yang mempunyai nilai dinamis, arti kata
dinamis disini bermaksud bahwa nilai variabel tersebut dapat kita ubah sesuai
kebutuhan dalam program.
Variabel Global
Apabila di dalam kode program membutuhkan sebuah variabel yang dapat
dikenali oleh semua lingkungan dalam program yang kita buat, maka variabel
tersebut harus dideklarasikan sebagai variabel yang bersifat global.
Dalam bahasa C++ sendiri kita telah mengetahui bahwa struktur program
dalam bahasa C++ selalu ada fungsi utama dengan nama main() . Apabila
kita mendeklarasikan sebuah variabel diluar fungsi main() / fungsi lain /
prosedur lain, maka dengan sendirinya compiler akan menganggap variabel
tersebut sebagai variabel global.
Jadi Variabel global adalah variabel yang dapat digunakan atau dipanggil atau
dikenali oleh semua fungsi / prosedur / dikenali diseluruh program. Variabel
global ini dapat digunakan pada beberapa fungsi / prosedur, Hal ini betujuan
untuk menghemat penulisan, karena tidak perlu lagi berkali - kali menuliskan
variabel yang sama pada beberapa fungsi / prosedur.
return 0;
}
Variabel Lokal
Berbeda dengan variabel global, variabel lokal adalah variabel yang hanya
dikenali oleh sebuah fungsi / prosedur saja (hanya dikenali pada fungsi /
prosedur tempat variabel tersebut dideklarasikan). Hal tersebut karena proses
deklarasi variabel lokal dilakukan di dalam lingkup fungsi yang dimaksud.
return 0;
}
void tampilkan_lagi(void);
main()
{
float p = 2.0; //Lokal terhadap main()
cout << i << ” ” << p << ” ” << z << “n”-
tampilkan_lagi();
return 0;
}
void tampilkan_lagi(void)
{
int j = 5.0; // Lokal terhadap tampilkanJagiQ
cout << j << ” ” << z << “n”;’
// Error, tidak dapat menampilkan variabel p
// cout << p << “n”;
return;
}
//C3_5.CPP
#include <iostream.h>
void ambil_umur(void);
main()
ambil_umur();
cout << “Umur dalam fungsi mainQ tetap: “ << umur << “n”;
return 0;
}
void ambil_umur(void)
return;
// C4_5.CPP
#include <iostream.h>
main()
i = 10;
{
i = 20;
I = 30;
return 0;
Ada tiga variabel lokal i yang berbeda pada program di atas. Variabel
lokal i hilang pada saat keluar dari blok. C++ selalu mencetak variabel
lokal i yang dianggap paling lokal. Dalam C++ variabel lokal mempunyai
hirarki yang lebih tinggi dari variabel global namum dengan scope
resolution operator (::) kita dapat memberitahu kompiler untuk memakai
global variabel meskipun sedang berada dalam scope lokal. Dari contoh
program di atas tampak bahwa meskipun berada di blok yang paling
dalam, variabel global i tetap dapat ditampilkan dengan scope resolution
operator ::. Jadi scope resolution operator memungkinkan kita mendapat
akses ke global variabel.
Bagaimana kalau kita punya suatu variabel lokal yang ingin dipakai oleh
dua fungsi atau lebih?. Jika dua fungsi ingin memakai suatu variabel
bersama-sama, salah satu cara yang dapat dipakai adalah membuat
variabel tersebut global namun ini bukan cara yang baik, cara lain yang
lebih baik adalah mendefinisikan variabel tersebut sebagai variabel lokal
pada salah satu fungsi lalu melewatkannya ke fungsi yang lain,
keuntungan dari cara kedua ini adalah variabel lokal tersebut hanya
dikenal di dua fungsi sehingga tidak dapat di akses oleh fungsi-fungsi
yang lain.