Variabel Global
Variabel Global adalah Variabel yang dapat dilihat dan dirubah oleh semua fungsi dalam program.
Variabel global sangat berbahaya karena secara tidak sengaja dapat termodifikasi oleh instruksi-instruksi dalam programnya sehingga pemakaian variabel global ini harus seminimal mungkin. Penggalan program berikut memberi contoh mengenai deklarasi dua variabel global x dan y:
#include
int x,y; // Global karena didefinisi sebelum suatu fungsi
main()
{
.
.
.
}
Jadi variabel global didefinisikan sebelum nama fungsi. Pada contoh di atas lokasi include
Variabel Lokal
Suatu variabel lokal hanya dapat dilihat dan dimodifikasi oleh fungsi dimana variabel lokal tersebut didefinisikan sehingga scope dari variabel lokal tersebut teriindungi Variabel lokal tidak dapat diubah atau bahkan dihapus oleh fungsi-fangsi yang lain lewat teknik pemrograman biasa. Variabel lokal didefinisikan sesudah tanda kurung { dari suatu blok yang umumnya adalah merupakan puncak dari fungsi. Variabel lokal hanya tampak didalam blok tersebut. Berikut adalah contoh program yang memakai variabel-variabel lokal dan global. Variabel j dan p adalah lokal sedang variabel i dan z adalah global.
#include
float z = 9.0; // Global variabel
int i = 10;
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;
}
Contoh program di atas tidak dapat menampilkan variabel p karena variabel p adalah lokal terhadap main() saja. Contoh program di bawah ini menunjukkan dua variabel lokal dan dua fungsi yang berbeda, meskipun namanya sama, tidak menjadi persoalan karena tetap dianggap dua variabel yang berbeda oleh kompiler.
//C3_5.CPP
#include
void ambil_umur(void);
main()
{
int umur; // Lokal teradap main()
cout << “Berapa umur anda ? “;
cin >> umur;
ambil_umur();
cout << “Umur dalam fungsi mainQ tetap: “ << umur << “n”;
return 0;
}
void ambil_umur(void)
{
int umur; // Lokal terhadap ambil_umur()
cout << “Berapa umur anda lagi ? “;
cin >> umur;
return;
}
Hati-hati kalau mendefinisikan variabel lokal dengan nama yang sama pada fungsi yang sama pada blok yang berbeda. C++ hanya melihat blok yang paling dalam sampai blok ini berakhir.
// C4_5.CPP
#include
int i = 123; //Global
main()
{
int i; // yang paling luar
i = 10;
{
int i; // yang lebih dalam
i = 20;
cout << i << ” “ << i << “n”-
{
int i; // yang paling dalam
I = 30;
cout << i << ” “ << i << ” “ << i << “n”
cout << “i global: “ << ::i << “n”;
}
}
cout << i << ” “ << i << ” “ << i << “n”;
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.
Sumber : http://informatika.web.id/
Artikel Lainnya
Coding
- Membuat Kalkulator Sederhana dangan PHP
- Belajar JavaScript Dasar | Mengenal JavaScript, Pengertian dan Pejelasan JavaScript
- Download Ebook Pemrograman Android Dasar Bahasa Indonesia
- Program if else if Menggunkan Import Scanner Pada Java
- Contoh Program Operator Perbandingan Pada Java
- Contoh Program Operator Logika Boolead True False Pada Java
- Cara Membuat Kode HTML Agar Terbaca Sebagai Teks Biasa Pada Posting Blog
- Mengenal Bilangan Biner (Binary)
- HTML Dasar (Tag, Atribut, Nilai, Penulisan) - Web Programming
- Cara Menghilangkan/ Menyembunyikan Judul Blog Di Header
- Cara Membuat Tombol Reply pada Komentar Blog
- Mengenal Java Programming ( Belajar Java Dasar )
0 comments:
Post a Comment
Terimakasih sudah berkunjung ke blog saya, dan silahkan tinggalkan jejak, baik berupa komentar, saran, ataupun kriktik yang bersifat membangaun. Terimakasih...!