Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel...

27
Pemrograman Terstruktur C++ :: Person 10 :: Stefani. P. Tangkuman Yan Makarunggala Supardi Jamali Dosen : Ir. Hasanuddin Sirait, MT STMIK / AMIK PARNA RAYA MANADO Published by. imeldaflorensia91

Transcript of Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel...

Page 1: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

Pemrograman

Terstruktur C++

:: Person 10 ::

• Stefani. P. Tangkuman

• Yan Makarunggala

• Supardi Jamali

Dosen : Ir. Hasanuddin Sirait, MT

STMIK / AMIK PARNA

RAYA MANADO

Published by. imeldaflorensia91

Page 2: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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 .

Published by. imeldaflorensia91

Page 3: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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;

} Published by. imeldaflorensia91

Page 4: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

//*********************************************************

// 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

Published by. imeldaflorensia91

Page 5: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

Di utama / awal, num bernilai 1

Di func, num bernilai 20

Kembali ke utama / awal, num masih bernilai 1

Keluaran Program

Published by. imeldaflorensia91

Page 6: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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.

Published by. imeldaflorensia91

Page 7: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

Program 6-17

// 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;

} Published by. imeldaflorensia91

Page 8: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

//*****************************************************

// 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

Published by. imeldaflorensia91

Page 9: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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

Published by. imeldaflorensia91

Page 10: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

/ / 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";

}

Program 6-18

Published by. imeldaflorensia91

Page 11: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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

Published by. imeldaflorensia91

Page 12: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

Dalam utama, num tidak terlihat!

Dalam func, num adalah 2

Tapi, sekarang berubah menjadi 50

Kembali di utama, num masih tidak

terlihat!

Keluaran Program

Published by. imeldaflorensia91

Page 13: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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.

Published by. imeldaflorensia91

Page 14: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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;

}

Published by. imeldaflorensia91

Page 15: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

Keluaran Program

globalNum adalah 0

Published by. imeldaflorensia91

Page 16: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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.

Published by. imeldaflorensia91

Page 17: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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";

}

Published by. imeldaflorensia91

Page 18: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

/ / ******************************************

/ / 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

Published by. imeldaflorensia91

Page 19: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

/ / ******************************************

/ / 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

Published by. imeldaflorensia91

Page 20: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

Keluaran Program

Ada 10 ekor sapi utama.

Ada 100 sapi di texas.

Ada 50 ekor sapi di

arkansas.

Kembali pada utama,

ada 10 sapi.

Published by. imeldaflorensia91

Page 21: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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;

Published by. imeldaflorensia91

Page 22: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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

Published by. imeldaflorensia91

Page 23: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

/ / ******************************************************************

/ / 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

Published by. imeldaflorensia91

Page 24: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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

Published by. imeldaflorensia91

Page 25: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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

Published by. imeldaflorensia91

Page 26: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

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

Published by. imeldaflorensia91

Page 27: Pemrograman Terstruktur C++ - imeldaflorensia91 · 6.10 Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’ , dan tidak dapat diakses di luar fungsi

Published by. imeldaflorensia91