Variabel Static Local FUNGSI

2008 | Direktorat Pembinaan SMK 285 } Keluaran Program adalah sebagai berikut: localNum is 5 localNum is 5 Walaupun pernyataan terakhir dalam fungsi showLocal took 99 pada localNum, variabel yang hancur bila fungsi kembali. Pada saat fungsi tersebut dipanggil, localNum akan recreated dan diinisialisasi ke 5 lagi. Kadang-kadang keinginan untuk sebuah program untuk mengingat adalah nilai yang disimpan dalam variabel lokal antara fungsi panggilan. Hal ini dapat dicapai dengan membuat variabel statis. variabel Static adalah variable lokal yang tidak hancur bila fungsi kembali. Mereka ada untuk seluruh masa program, walaupun mereka hanya lingkup fungsi mereka yang ditetapkan. Program 7.21 menunjukkan beberapa karakteristik statik lokal variabel. Program 7.21 include iostream using namespace std; Fungsi prototipe void showStatic; int main { for int count = ; count 5 ; count++ showStatic; return ; } void showStatic { static int statNum; Static local variable cout statNum adalah statNum endl; statNum++; } Program diatas terdapat variabel statNum adalah di tambahkan dengan satu incremented pada fungsi showStatic, dan tetap dengan nilai antara setiap panggilan fungsi. Perhatikan bahwa walaupun tidak 286 Direktorat Pembinaan SMK | 2008 secara eksplisit statNum diinisialisasi, dimulai pada nol. Seperti variabel global adalah variabel lokal statik diinisialisasi ke nol secara default. Jika Anda memberikan nilai initialization statis variabel lokal, hanya dilakukan sekali initialization. Hal ini biasanya terjadi karena variabel inisialisasi dibuat, dan variabel lokal statik hanya dibuat sekali saat menjalankan sebuah program. program dibawah hanya sedikit modifikasi. Program 7.22 include iostream using namespace std; void showStatic; int main { for int count = ; count 5 ; count++ showStatic; return ; } void showStaticvoid { static int statNum = 5 ; cout statNum adalah statNum endl; statNum++; } Keluaran program diatas adalah sebagai berikut: statNum adalah 5 statNum adalah 6 statNum adalah 7 statNum adalah 8 statNum adalah 9 Walaupun pernyataan yang digunakan utuk mendefinisikan inisialisasi statNum ke 5, initialization tidak terjadi pada setiap kali fungsi dipanggil. Jika tidak, variabel y tidak dapat mempertahankan nilai-nya antara fungsi panggilan. 2008 | Direktorat Pembinaan SMK 287

7.12. Soal Latihan

Jawablah soal latihan dibawah ini dengan baik dan benar. 1. Apa yang dimaksud dengan fungsi pada pemrograman komputer 2. Apakah alasanya menggunakan fungsi 3. Jelaskan cara pemanggilan fungsi didalam sebuah fungsi 4. Apakah yang dimaksud dengan argumen 5. Apakah perbedaan antara fungsi dengan prosedur 6. Buatlah program sederhana menggunakan fungsi untuk mencari bilangan genap antara 1 sampai dengan 10 288 Direktorat Pembinaan SMK | 2008