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
Gambar 7.4. Pemanggilan fungsi didalam fungsi voidAgakDalam() { cout<<"sekarangsayasedangdifungsiAgakDalam.\n"; PalingDalam();//panggilFungsi cout<<"SekarangsayaKembalikefungsiAgakDalam.\n"; } voidPalingDalam() { cout<<"SayasekarangdidalamfungsiPalingDalam.\n"; } intmain() { cout<<"sayasekarangsedangdidalamfungsiUtama.\n"; AgakDalam();//PanggilFungsi cout<<"SayakembalikeFungsiUtamaLagi.\n"; getch(); return0; }
7.4. Prototipe Fungsi
Sebelum compiler menemukan panggilan ke fungsi tertentu, kita harus sudah mengetahui beberapa hal mengenai fungsi. Secara khusus, kita harus mengetahui jumlah parameter yang digunakan oleh fungsi, jenis parameter, dan cara atau jenis kembalinya fungsi. Sebuah parameter membolehkan informasi untuk dikirim ke salah satu fungsi. Untuk saat ini, fungsi yang akan digunakan berupa fugsi yang tidak memiliki parameter dan, kecuali pada fungsi utama, dan cara kembalinya menggunakan jenis void. Salah satu cara untuk memastikan bahwa compiler ini memiliki informasi yang diperlukan adalah dengan menempatkan fungsi yang telah didefinisikan sebelum melakukan panggilan ke fungsi tersebut. Ini merupakan pendekatan yang diambil seperti halnya dalam program 7.1 sampai program 7.4 diatas. Cara lainnya adalah adalah dengan menyatakan fungsi dengan fungsi prototipe (a function prototype). Berikut ini adalah prototipe untuk fungsi TampilPesan seperti dalam Program 7.1 adalah sebagai berikut:
voidTampilPesan();
Prototipe tersebut diatas tampak mirip dengan fungsi header, kecuali ada titik koma dibagian akhir. Sebuah pernyataan fungsi akan memberitahukan ke compiler bahwa fungsi TampilPesan memiliki tipe kembali (return) void, berarti fungsi tersebut tidak mengembalikan nilai serta tidak menggunakan parameter. Prototipe fungsi biasanya ditempatkan pada bagian atas pada program sehingga compiler akan melakukan eksekusi terlebih dahulu sebelum fungsi tersebut dipanggil. Program 7.5 dibawah ini adalah modifikasi dari program 7.3 diatas. Definisi fungsi pertama dan kedua telah ditempatkan setelah program utama, dan fungsi prototip telah ditempatkan diatas program utama secara langsung setelah pernyataan namespace std. Perhatikan program dibawah ini: Program 7.5.
#include<conio.h> #include<iostream> usingnamespacestd; //PrototipeFungsi voidpertama(); voidkedua(); intmain() { cout<<"Sayasedangdiprogramutama.\n"; pertama();//memanggilfungsipertama kedua();//memanggilfungsikedua cout<<"Kembalidalamprogramutamalagi.\n"; getch(); return0; } voidpertama() { cout<<"sayasekarangdidalamfungsipertama.\n"; } voidkedua() { cout<<"sayasekarangdidalamfungsikedua.\n"; }
Keluaran Program adalah sebagai berikut: Sayasedangdiprogramutama
Next read ON halaman 5.