Person 10Person 10. 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)

Presentasi serupa


Presentasi berjudul: "Person 10Person 10. 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)"— Transcript presentasi:

1 Person 10Person 10

2 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.

3 Program 6-16 // Program ini menampilkan pendeklarasian variabel ‘a’ dalam suatu fungsi // Yang tersembunyi dari fungsi lain. #include 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; }

4 //********************************************************* // 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; } Lanjutan

5 Di utama / awal, num bernilai 1 Di func, num bernilai 20 Kembali ke utama / awal, num masih bernilai 1 Keluaran Program

6 Figur 6-8 FUNGSI UTAMA NUM = 1 Variabel pada num hanya terlihat pada fungsi utama (main). FUNGSI FUNC NUM = 20 Variabel pada num hanya terlihat pada fungsi func.

7 Program 6-17 // Program ini menampilkan variabel global // kepada semua fungsi yang dekat setelah program // mendeklarasikan variabel. #include 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; }

8 //***************************************************** // 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; } Lanjutan

9 Di utama / awal, num bernilai 2 Di func, num bernilai 2 Tapi, sekarang berubah nilai menjadi 50 Kembali ke utama / awal, num bernilai 50 Keluaran Program

10 / / Program ini menunjukkan bahwa variabel global terlihat / / Untuk semua fungsi yang muncul dalam program setelah / / Deklarasi variabel. #include 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"; } Program 6-18

11 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; } Lanjutan

12 Dalam utama, num tidak terlihat! Dalam func, num adalah 2 Tapi, sekarang berubah menjadi 50 Kembali di utama, num masih tidak terlihat! Keluaran Program

13 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.

14 Program 6-19 // Program ini memiliki variabel global yang tidak diinisialisasi. #include int globalNum; // Global variable. Automatically set to zero. void main(void) { cout << "globalNum is " << globalNum << endl; }

15 Keluaran Program globalNum adalah 0

16 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.

17 Program 6-20 / / Program ini menunjukkan bahwa ketika variabel lokal memiliki / / Nama yang sama sebagai variabel global, fungsi hanya melihat / / Variabel lokal. #include // 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"; }

18 / / ****************************************** / / Definisi fungsi texas. * / / Sapi-sapi variabel lokal diatur ke 100. * / / ****************************************** void texas(void) { int cows = 100; cout << "There are " << cows << " cows in texas.\n"; } Lanjutan

19 / / ****************************************** / / Definisi fungsi arkansas. * / / Sapi-sapi variabel lokal diatur ke 50. * / / ****************************************** void arkansas(void) { int cows = 50; cout << "There are " << cows << " cows in arkansas.\n"; } Lanjutan

20 Keluaran Program Ada 10 ekor sapi utama. Ada 100 sapi di texas. Ada 50 ekor sapi di arkansas. Kembali pada utama, ada 10 sapi.

21 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 void ringUpSale(void); // Function prototype // Global Variables const float taxRate = 0.06; float tax, sale, total; void main(void) { char again;

22 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; } Lanjutan

23 / / ****************************************************************** / / 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 Lanjutan

24 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; } Lanjutan

25 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 Keluaran Program

26 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

27 TERIMA KASIH Keyword : smarthur


Download ppt "Person 10Person 10. 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)"
Iklan oleh Google