Variabel Lokal dan Global
7.11. Variabel Lokal dan Global
Seperti yang telah ditetapkan fungsi lainnya, yang biasanya tidak bahwa variabel didalam fungsi bisa mengaksesnya. Program 7.15 utama, Anda juga dapat menetapkan
menunjukkan bahwa variabel yang fungsi di dalam fungsi-fungsi lainnya.
ditetapkan dalam suatu fungsi yang Variabel yang ditetapkan dalam tersembunyi, dimana fungsi lainnya fungsi lokal ke fungsi. Mereka mungkin telah terpisah, berbeda tersembunyi dari pernyataan dalam variabel dengan nama yang sama.
Program 7.15 #include <iostream>
using namespace std;
void anotherFunction();
int main() {
int num = 1 ;
cout << "Dalam program utatma,num adalah: " << num << endl; anotherFunction(); cout << "Kembali dalam program utama, num masih" << num << endl;
return 0 ; }
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Fungsi
void anotherFunction() {
int num = 20 ; // variabel Local
cout << "Dalam anotherFunction, num adalah: " << num << endl; }
Keluaran Program adalah sebagai berikut: Dalam program utatma,num adalah: 1 Dalam anotherFunction, num adalah: 20 Kembali dalam program utama, num masih 1
Meskipun terdapat dua variabel sebagai variabel yang ditetapkan num, program ini hanya bisa didalamnya akan terlihat, sehingga "melihat" salah satu dari mereka dalam variabel num program utama setiap saat. Ketika program tersembunyi. Perhatikan program dijalankan dalam program utama, yang mengilustrasikan sifat tertutup yang didefinisikan pada variabel num
dari dua fungsi, dimana bentuk kotak akan terlihat pada program utama. mewakili lingkup variabel Ketika anotherFunction disebut
Fungsi main
Variabel num hanya terlihat pada Int num = 1;
program utama
Fungsi anotherFunction
Variabel num hanya terlihat pada int num = 20;
anotherFunction
Gambar 7.10. Dua Fungsi yang mempunyai sifat tertutup,
Sebuah Lokal variabel dapat mudah. Sebuah variabel global dikatakan sebagai variable yang merupakan variabel yang ditetapkan aman dan tersembunyi dari fungsi diluar oleh semua fungsi dalam lain, tetapi variable ini tidak sebuah program. Program 7.16 menyediakan cara yang mudah untuk
menunjukkan dua buah fungsi utama berbagi data. Jika sejumlah besar dan anotherFunction, dimana data harus dapat diakses oleh semua
menggunakan akses yang sama fungsi dalam program, variabel global
yaitu variabel global num. dapat digunakan sebagai alternatif
Direktorat Pembinaan SMK | 2008
Fungsi
Bahasa Pemrorgraman
Program 7.16 #include <iostream>
using namespace std;
void anotherFunction();
// Fungsi prototipe int num = 2 ; // variabel Global
int main() {
cout << "dalam program utama, num adalah" << num << endl; anotherFunction(); cout << "kembali dari program utama, num adalah" << num << endl;
return 0 ; }
void anotherFunction() {
cout << "dalam fungsi anotherFunction, num adalah " << num << endl; num = 50 ; cout << "tetapi, sekarang telah diubah menjadi " << num << endl; }
Dalam Program 7.16 diatas, dan anotherFunction, maka variabel num didefinisikan diluar keduanya memiliki akses ke fungsi semua fungsi. Karena muncul tersebut. sebelum definisi pada program utama
Program 7.17 #include <iostream>
using namespace std;
int globalNum; // variabel Global. Otomatis diatur ke null. int main() {
cout << "globalNum adalah " << globalNum << endl; return 0 ; }
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Fungsi
Jika sebuah fungsi memiliki variabel hanya dapat dilihat oleh fungsi. Hal lokal dengan nama yang sama ini ditunjukkan oleh Program dibawah sebagai variabel global, variabel lokal
ini:
Program 7.18 #include <iostream>
using namespace std;
// Funsi prototipe void texas(); void arkansas();
int cows = 10 ; //variabel global
int main() {
cout << "Disana banyak " << cows << " cows di program utama.\n" ; texas(); arkansas(); cout << "Kembali dalam program utama, disana banyak" << cows << " cows.\n" ;
return 0 ; }
void texas()
{ int cows = 100 ; //variabel Local
cout << "disana " << cows << " cows di texas.\n" ; }
void arkansas()
{ int cows = 50 ; // variabel Local
cout << "There are " << cows << " cows in arkansas.\n" ; }
Ketika program diatas sedang merupakan program untuk mendaftar menjalankan fungsi utama, variabel dan program ini menggunakan global cows akan terlihat. Dalam variabel global dan lokal. Fungsi fungsi texas dan Arkansas, meskipun
ringUpSale menghitung dan ada variabel lokal dengan nama menampilkan harga, pajak penjualan, cows. Variabel global tidak terlihat dan subtotal untuk setiap item yang ketika program sedang menjalankan dibeli. Memiliki variabel lokal, pajak, fungsi mereka. program dibawah yang memiliki nama yang sama
Direktorat Pembinaan SMK | 2008
Fungsi
Bahasa Pemrorgraman seperti variabel global. Pajak pada program utama untuk menghitung
ringUpSale variabel yang digunakan total pajak penjualan pada untuk menghitung pajak penjualan pembelian. Supaya lebih jelas, pada item, sementara global pajak perhatikan program dibawah ini: variabel yang digunakan oleh
Program 7.19 #include <iostream> #include <iomanip>
using namespace std;
// Fungsi prototipe
void ringUpSale();
// variabel Global const double TAX_RATE = 0.06 ;
double tax, sale, total;
int main() {
char again;
cout << fixed << showpoint << setprecision( 2 );
do {
ringUpSale(); cout << "Apakah disana ada ada sesuatu yang dapat dijual? " ; cin >> again;
} while (again == 'y' || again == 'Y'); tax = sale * TAX_RATE; total = sale + tax; cout << "\nPajak penjualannya adalah " << tax << endl; cout << "Total Pembayaran adalah " << total << endl;
return 0 ; }
void ringUpSale()
{ //Variabel Local
int qty; double unitPrice, tax, thisSale, subTotal;
cout << "\nJumlah: " ;
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Fungsi
cin >> qty; cout << "Harga per satuan: " ; cin >> unitPrice;
thisSale = qty * unitPrice; // total harga unit sale += thisSale;
// Update variabel global penjualan tax = thisSale * TAX_RATE; // pembayaran pajak untuk item subTotal = thisSale + tax; // subtotal untuk tiap item cout << "harga untuk tiap item:" << thisSale << endl; cout << "pajak untuk tiap item: " << tax << endl; cout << "SubTotal untuk tiap item: " << subTotal << endl;