5.3. Lingkup variabel
Lingkup variabel menentukan keberadaan suatu variabel tertentu dalam fungsi. Ada variabel yang hanya dikenal di suatu fungsi dan tidak dikenal pada fungsi lain. Namun ada juga variabel yang dapat diakses oleh semua fungsi.
Variabel Otomatis
Variabel yang didefinisikan di dalam suatu fungsi berlaku sebagai variabel lokal bagi fungsi. Artinya, variabel tersebut hanya dikenal didalam fungsi tempat variabel didefinisikan.
Contoh program :
//*---------------------------------------------------------*
//* Contoh 5.2 : Memperlihatkan efek variabel *
//* otomatis (lokal) *
//*---------------------------------------------------------*
#include < iostream.h>
#include <conio.h>
void alpha(); // Prototipe fungsi
void main()
{
int x = 22; // Variabel lokal pada main()
double y = 2.22;
clrscr();
cout << “ Pada main() : x = “ << x
<< “ y = “ << y << endl;
alpha(); // Panggil fungsi alpha
cout << “Pada main() : x = “ << x
<< “ y = “ << y << endl;
}
// Definisi fungsi alpha()
void alpha()
{
int x = 20; // Variabel lokal pada alpha()
double y = 3.14;
cout << “Pada alpha() : x = “ << x
<< “ y = “ << y << endl;
}
Hasil ekseskusi :
|
Tampak bahwa perubahan x dan y pada alpha() tidak mempengaruhi variabel bernama sama pada main(). Karena variabel-variabel tersebut bersiafat lokal bagi masing-masing fungsi yag mendefinisikannya. Variabel x dan y pada fungsi alpha() yang disebut sebagai variabel otomatis.
Variabel Eksternal
Variabel eksternal adalah variabel yang didefinisikan diluar fungsi manapun. Variabel ini dikenal juga sebagai variabel global, sebab variabel ini dikenal disemua fungsi.
Contoh program :
//*---------------------------------------------------------------*
//* Contoh 5.3 : Pemakaian Variabel eksternal *
//*--------------------------------------------------------------*
#include <iostream.h>
#include <conio.h>
int oblade = 550; // Variabel eksternal
void tambah(); // Prototipe fungsi
void main()
{
clrscr();
cout << oblade << endl;
tambah();
cout << oblade << endl;
tambah();
cout << oblade << endl;
}
// Definisi fungsi
void tambah ()
{
oblada ++ ; // Variabel eksternal dinaikkan
}
|
Contoh program :
//*------------------------------------------------------------*
//* Contoh 5.4 : Pemakaian Variabel eksternal *
//* dengan tambahan kata extern *
//*------------------------------------------------------------*
#include <iostream.h>
#include <conio.h>
int oblade = 550; // Variabel eksternal
void tambah(); // Prototipe fungsi
void main()
{
clrscr();
cout << oblade << endl;
tambah();
cout << oblade << endl;
tambah();
cout << oblade << endl;
}
// Definisi fungsi
void tambah ()
{
extern oblade;
oblada ++ ; // Variabel eksternal dinaikkan
}
Variabel Statis
Variabel eksternal maupun otomatis dapat berkedudukan sebagai variabel statis. Suatu variabel statis mempunyai sifat :
- Jika variabel lokal berdiri sebagai variabel satatis, maka :
- Variabel tetap hanya dapat diakses pada fungsi yang mendefinisikannya
- Variabel tidak hilang saat eksekusi fungsi berakhir
- Inisialisasi oleh pemrogram akan dilakukan sekali saja selama program dijalankan.
- Jika variabel eksternal dijadikan sebagai variabel statis,variabel ini dapat diakses oleh semua file yang didefinisikan pada file yang sama dengan variabel eksternal tersebut.
Contoh program :
//*-----------------------------------------------------------*
//* Contoh 5.5 : Menunjukkan efek variabel satatis *
//*-----------------------------------------------------------*
#include<iostream.h>
#include <conio.h>
void saya_ingat(); // Prototipe fungsi
void main()
{
int mana = 50;
clrscr();
saya_ingat();
saya_ingat();
saya_ingat();
cout << “ main() : mana = “ << mana << endl;
}
// Pada fungsi berikut
// mana didefinisikan sebagai variabel statis
void saya_ingat()
{
static int mana = 77; // variabel statis
mana ++; // Naikkan sebesar 1
cout << “ Saya_ingat () : mana = “ << mana << endl;
}
|
0 komentar:
Posting Komentar