Pemrograman Terstruktur C++ Dosen : Ir. Hasanuddin Sirait, MT :: Person 10 :: Stefani. P. Tangkuman Yan Makarunggala Supardi Jamali STMIK / AMIK PARNA RAYA MANADO Created By Stefanikha69
6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi (a) tersebut. Suatu variabel global dideklarasikan (di) luar / selain semua fungsi (a) dan dapat diakses dalam lingkup nya . Created By Stefanikha69
Program 6-16 // Program ini menampilkan pendeklarasian variabel ‘a’ dalam suatu fungsi // Yang tersembunyi dari fungsi lain. #include <iostream.h> void func(void); // Fungsi Prototipe void main(void) { int num = 1; cout<<"In main, num is " <<num<<endl; func(); cout<<"Back in main, num is still "<<num<<endl; } Created By Stefanikha69
Lanjutan void func(void) { int num = 20; //********************************************************* // Mendefinisikan fungsi func. * / / Ini memiliki variabel lokal, num, yang nilai awal, 20, * / / Akan ditampilkan.* void func(void) { int num = 20; cout << "In func, num is " << num << endl; } Created By Stefanikha69
Keluaran Program Di utama / awal, num bernilai 1 Di func, num bernilai 20 Kembali ke utama / awal, num masih bernilai 1 Created By Stefanikha69
Figur 6-8 Variabel pada num hanya terlihat pada fungsi utama (main). Variabel pada num hanya terlihat pada fungsi func. FUNGSI FUNC NUM = 20 Created By Stefanikha69
Program 6-17 void main(void) { // Program ini menampilkan variabel global // kepada semua fungsi yang dekat setelah program // mendeklarasikan variabel. #include <iostream.h> void func(void); // Fungsi Prototipe int num = 2; // Variabel Global void main(void) { cout << "In main, num is " << num << endl; func(); cout << "Back in main, num is " << num << endl; } Created By Stefanikha69
Lanjutan void func(void) { //***************************************************** // Mendefinisikan Fungsi func. * // func menggantikan nilai dari setiap variabel global num * void func(void) { cout << "In func, num is " << num << endl; num = 50; cout << "But, it is now changed to " << num << endl; } Created By Stefanikha69
Di utama / awal, num bernilai 2 Di func, num bernilai 2 Keluaran Program Di utama / awal, num bernilai 2 Di func, num bernilai 2 Tapi, sekarang berubah nilai menjadi 50 Kembali ke utama / awal, num bernilai 50 Created By Stefanikha69
Program 6-18 / / Program ini menunjukkan bahwa variabel global terlihat / / Untuk semua fungsi yang muncul dalam program setelah / / Deklarasi variabel. #include <iostream.h> void func(void); // Function prototype void main(void) { cout << "In main, num is not visible!\n"; func(); cout << "Back in main, num still isn't visible!\n"; } Created By Stefanikha69
Lanjutan int num = 2; // Global variable // ***************************************************** // Definisi fungsi fungsi * // Perubahan fungsi nilai variabel num global. * void func(void) { cout << "In func, num is " << num << endl; num = 50; cout << "But, it is now changed to " << num << endl; } Created By Stefanikha69
Keluaran Program Dalam utama, num tidak terlihat! Dalam func, num adalah 2 Tapi, sekarang berubah menjadi 50 Kembali di utama, num masih tidak terlihat! Created By Stefanikha69
Variabel global diinisialisasi 0 oleh default • Kecuali Anda secara eksplisit menginisialisasi numerik variabel global, mereka secara otomatis diinisialisasi ke nol. • variabel karakter global diinisialisasi NULL, atau kode ASCII 0. Created By Stefanikha69
Program 6-19 // Program ini memiliki variabel global yang tidak diinisialisasi. #include <iostream.h> int globalNum; // Global variable. Automatically set to zero. void main(void) { cout << "globalNum is " << globalNum << endl; } Created By Stefanikha69
Keluaran Program globalNum adalah 0 Created By Stefanikha69
Variabel Lokal dan Global dengan Nama yang sama • Jika fungsi memiliki variabel lokal dengan nama yang sama sebagai variabel global, hanya variabel lokal dapat dilihat oleh fungsi. Created By Stefanikha69
Program 6-20 / / Program ini menunjukkan bahwa ketika variabel lokal memiliki / / Nama yang sama sebagai variabel global, fungsi hanya melihat / / Variabel lokal. #include <iostream.h> // Fungsi Prototipe void texas(); void arkansas(); int cows = 10; void main(void) { cout << "There are " << cows << " cows in main.\n"; texas(); arkansas(); cout << "Back in main, there are " << cows << " cows.\n"; } Created By Stefanikha69
Lanjutan / / ****************************************** / / Definisi fungsi texas. * / / Sapi-sapi variabel lokal diatur ke 100. * void texas(void) { int cows = 100; cout << "There are " << cows << " cows in texas.\n"; } Created By Stefanikha69
Lanjutan / / ****************************************** / / Definisi fungsi arkansas. * / / Sapi-sapi variabel lokal diatur ke 50. * void arkansas(void) { int cows = 50; cout << "There are " << cows << " cows in arkansas.\n"; } Created By Stefanikha69
Keluaran Program Ada 10 ekor sapi utama. Ada 100 sapi di texas. Ada 50 ekor sapi di arkansas. Kembali pada utama, ada 10 sapi. Created By Stefanikha69
Program 6-21 / / Program ini memiliki variabel lokal dan global. Dalam fungsi / / RingUpSale, ada variabel bernama pajak daerah. ada / / Juga variabel global dengan nama yang sama. #include <iostream.h> void ringUpSale(void); // Function prototype // Global Variables const float taxRate = 0.06; float tax, sale, total; void main(void) { char again; Created By Stefanikha69
Lanjutan cout.precision(2); cout.setf(ios::fixed | ios::showpoint); do { ringUpSale(); cout << "Is there another item to be purchased? "; cin >> again; } while (again == 'y' || again == 'Y'); tax = sale * taxRate; total = sale + tax; cout << "The tax for this sale is " << tax << endl; cout << "The total is " << total << endl; } Created By Stefanikha69
Lanjutan / / ****************************************************************** / / Definisi fungsi ringUpSale. * / / Fungsi ini meminta untuk kuantitas dan harga satuan dari item. * / / Kemudian menghitung dan menampilkan pajak penjualan dan subtotal * / / Untuk barang-barang. * void ringUpSale(void) { int qty; float unitPrice, tax, thisSale, subTotal; cout << "Quantity: "; cin >> qty; cout << "Unit price: "; cin >> unitPrice; thisSale = qty * unitPrice; // Dapatkan harga total unit Created By Stefanikha69
Lanjutan sale += thisSale; // Perbarui penjualan variabel global tax = thisSale * taxRate; // Dapatkan pajak penjualan untuk barang-barang subTotal = thisSale + tax; // Dapatkan subtotal untuk item ini cout << "Price for these items: " << thisSale << endl; cout << "tax for these items: " << tax << endl; cout<< "subTotal for these items: " << subTotal << endl; } Created By Stefanikha69
Keluaran Program Jumlah: 2 [Enter] Harga Satuan: 20.00 [Enter] Harga untuk item: 40.00 pajak untuk barang-barang: 2.40 subtotal untuk item: 42.40 Apakah ada item lain yang akan dibeli? y [Enter] Jumlah: 3 [Enter] Harga Satuan: 12.00 [Enter] Harga untuk item: 36.00 pajak untuk barang-barang: 2.16 subtotal untuk item: 38.16 Apakah ada item lain yang akan dibeli? n [Enter] Pajak untuk dijual ini adalah 4,56 Totalnya adalah 80,56 Created By Stefanikha69
Hati-hati Dengan Variabel global • Hal ini menggoda untuk membuat semua variabel global. Tapi jangan lakukan itu! • Menggunakan variabel global dapat menyebabkan masalah. - Ini lebih sulit untuk debug program yang menggunakan global yang variabel Created By Stefanikha69
Thank’s for your attention PRESENTED BY PERSON 10 (Stefani, Yan, Supardi) Download This File : Stefanikha69.wordpress.com Thank’s for your attention Created By Stefanikha69