Fungsi Void Pemanggilan Fungsi
256
Direktorat Pembinaan SMK | 2008
}
int
main {
cout Hello
dari program Utama.\n ;
cout ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐\n
; TampilPesan;
memanggil TampilPesan cout
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐\n ;
cout kembli
ke Fungsi Utama lagi.\n ;
getch; return
; }
Keluaran programnya adalah: Hello
dari program Utama. ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
Salam Hello dari fungsi TampilPesan. ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
kembli ke Fungsi Utama lagi.
Fungsi TampilPesan disebut oleh baris utama adalah: TampilPesan;
Baris ini digunakan untuk fungsi panggilan. Dimana hal ini merupakan
nama fungsi yang diikuti oleh tanda kurung dan titik koma. Coba kita
bandingkan dengan fungsi header seperti berikut:
Function Header
void
TampilPesan Function
Call
TampilPesan; Fungsi header adalah bagian
dari definisi fungsi. Ia menyatakan kembali sebuah fungsi dari jenis,
nama, dan daftar parameter. Hal ini tidak diakhiri dengan titik koma
karena definisi dari tubuh fungsi yang mengikutinya. Fungsi panggilan
adalah pernyataan yang melaksanakan fungsi tersebut,
sehingga diakhiri dengan titik koma seperti pernyataan C++ lainnya.
Fungsi panggilan tidak ada dalam daftar, dan jika program ini tidak ke
dalam fungsi, tanda kurung yang akan dikosongkan.
Walaupun program mulai dijalankan pada program utama
main, fungsi TampilPesan didefinisikan terlebih dahulu. Hal ini
karena compiler harus mengetahui fungsi dari jenis return, jumlah
parameter, dan setiap jenis parameter sebelumnya yang
dipanggil. Salah satu cara agar compiler mengetahui informasi ini
adalah dengan menempatkan fungsi
2008 | Direktorat Pembinaan SMK
257 definisi sebelum semua panggilan ke
fungsi. Perhatikan bagaimana program
diatas mengalir. Dalam memulai, tentu saja, didalam fungsi utama. Bila
panggilan ke TampilPesan yang dihadapi, program untuk cabang
yang berfungsi dan melakukan pernyataan-nya. Setelah selesai
melaksanakan TampilPesan, program cabang kembali ke fungsi
utama dan kembali dengan baris yang mengikuti fungsi panggilan. Hal
ini diilustrasikan pada gambar dibawah ini.
Gambar 7.2. Ilustrasi Fungsi Dalam menyatakan pemanggilan
Fungsi dapat menggunakan struktur kendali seperti loop, pernyataan IF,
dan pernyataan switch. Program dibawah merupakan program yang
melakukan pemanggilan fungsi TampiPesan kedalam satu looping
Program 7.2. include
conio.h include
iostream
using namespace std;
void
TampilPesan {
void
TampilPesan {
cout Salam Hello dari fungsi TampilPesan.\n
; }
int
main {
cout Hello
dari program Utama.\n ;
TampilPesan; cout
kembli ke Funsgi Utama lagi.\n
; getch;
return
; }
258
Direktorat Pembinaan SMK | 2008
cout Salam Hello dari fungsi TampilPesan.\n
; }
int
main {
cout Hello
dari program Utama.\n ;
cout ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐\n
;
for int count =
; count
5 ;
count++ TampilPesan;
memanggil Fungsi TampilPesan cout
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐\n ;
cout kembli
ke Funsgi Utama lagi.\n ;
getch; return
; }
Keluaran Programnya adalah: Hello
dari program Utama. ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
Salam Hello dari fungsi TampilPesan. Salam Hello dari fungsi TampilPesan.
Salam Hello dari fungsi TampilPesan. Salam Hello dari fungsi TampilPesan.
Salam Hello dari fungsi TampilPesan. ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
kembli
ke Funsgi Utama lagi. Setiap program dapat dimungkinkan
untuk memiliki banyak fungsi atau sebuah fungsi dalam sebuah
program. Program dibawah 7.3. dibawah ini memiliki tiga fungsi: yaitu
utama, fungsi pertama dan fungsi kedua. Untuk lebih jelas perhatikan
program dibawah ini:
Program 7.3 include
conio.h include
iostream
using namespace std;
void
pertama {
cout Saya sekarang sedang di Fungsi Pertama.\n
; }
void
kedua
2008 | Direktorat Pembinaan SMK
259 {
cout Saya sekarang sedang di Fungsi Kedua.\n
; }
int
main {
cout Saya
sedang di program Utama.\n ;
pertama; pemanggilan fungsi pertama
kedua; pemanggilan fungsi kedua
cout Saya
kembali ke Program Utama.\n ;
getch; return
; }
Keluaran programnya adalah sebagai berikut: Saya
sedang di program Utama. Saya sekarang sedang di Fungsi Pertama.
Saya sekarang sedang di Fungsi Kedua. Saya
kembali ke Program Utama. Dalam program diatas fungsi utama
terdiri dari pemanggilan fungsi pertama dan kedua dengan instruksi
sebagai berikut:
pertama; kedua;
Setiap panggilan pernyataan menyebabkan program untuk cabang
ke salah satu fungsi dan kemudian kembali ke utama bila fungsi selesai.
Gambar dibawah menggambarkan jalan yang diambil oleh program
260
Direktorat Pembinaan SMK | 2008
Gambar 7.3. Pemanggilan lebih dari satu fungsi Sebuah fungsi sering juga
dipanggil dalam dalam sebuah hirarki, atau berlapis. Program
dibawah ini merupakan sebuah program yang memiliki tiga buah
fungsi dimana fungsi tersebut adalah utama,
Agakdalam dan
PalingDalam .
Kerja program tersebut adalah fungsi palingdalam dipanggil oleh fungsi
agakdalam dan kemudian fungsi AgakDalam dipanggil oleh fungsi
Utama. Untuk lebih jelasnya perhatikan program dibawah ini:
Program 7.4. include
conio.h include
iostream
using namespace std;
void
PalingDalam {
cout Saya
sekarang sedang di dalam fungsi PalingDalam.\n ;
}
void
AgakDalam
void
pertama {
cout Saya sekarang sedang di Fungsi Pertama.\n
; }
void
kedua {
cout Saya sekarang sedang di Fungsi Kedua.\n
; }
int
main {
cout Saya
sedang di program Utama.\n ;
pertama; kedua;
cout Saya
kembali ke Program Utama.\n ;
getch; return
; }
2008 | Direktorat Pembinaan SMK
261 {
cout sekarang
saya sedang di fungsi AgakDalam.\n ;
PalingDalam; panggil Fungsi
cout Sekarang
saya Kembali ke fungsi AgakDalam.\n ;
}
int
main {
cout saya
sekarang sedang didalam fungsi Utama.\n ;
AgakDalam; Panggil Fungsi
cout Saya
kembali ke Fungsi Utama Lagi.\n ;
getch; return
; }
Keluaran Program adalah sebagai berikut: saya
sekarang sedang didalam fungsi Utama. sekarang
saya sedang di fungsi AgakDalam. Saya
sekarang sedang di dalam fungsi PalingDalam. Sekarang
saya Kembali ke fungsi AgakDalam. Saya
kembali ke Fungsi Utama Lagi. Dalam Program 7.4 diatasfungsi
utama hanya memanggil fungsi agakDalam. Sedangkan fungsi
AgakDalam memanggil Fungsi PalingDalam. Program diatas adalah
memanggil fungsi dan kemudian fungsi yang dipanggil tersebut
memnggil fungsi yang lain. Untuk lebih jelasnya perhatikan gambar
dibawah ini:
262
Direktorat Pembinaan SMK | 2008
Gambar 7.4. Pemanggilan fungsi didalam fungsi