FUNGSI DALAM C+ +

9.2. FUNGSI DALAM C+ +

Fungsi dalam C+ + memegang peranan sangat penting. Hal ini karena sebenarnya program dalam C+ + adalah kumpulan dari fungsi-fungsi. Fungsi- fungsi yang telah tersedia maupun yang kita buat sendiri ini akan dipanggil dalam fungsi utama yaitu main(). Seperti semua bahasa pemrograman, C+ + menyediakan built-in function yang dapat diakses dengan lebih dulu memanggil file headernya di awal program yang kita buat. C+ + juga menyediakan fasilitas

230 Rekayasa Perangkat Lunak 230 Rekayasa Perangkat Lunak

9.2.1. Tipe- tipe Fungsi

Ada dua jenis fungsi, yaitu fungsi yang tidak mengembalikan nilai dan fungsi yang mengembalikan nilai.

Fungsi yang tidak mengembalikan nilai

Fungsi ini dibuat dengan tipe void. Dalam VB atau Pascal, fungsi ini dikenal sebagai prosedur. Perhatikan contoh 9.16 berikut.

Contoh 9.16. Fungsi tanpa pengembalian nilai.

#include <iostream> using namespace std;

// Membuat fungsi cetak angka void CetakAngka() {

for (int C=0; C<10; C++) { cout<<C+1<<endl; } }

// Fungsi utama dalam program C++ int main() {

// Memanggil fungsi CetakAngka CetakAngka();

return 0; }

Pada contoh ini kita membuat fungsi dengan nama CetakAngka dengan tipe void sehingga tidak mengembalikan nilai (return value). Perhatikan bagaimana mendeklarasikan fungsi. Fungsi akan berjalan sampai akhir kode pada fungsi tersebut.

Fungsi yang mengembalikan nilai

Fungsi ini akan mengembalikan sebuah nilai untuk digunakan pada bagian program yang lain. Untuk mendefinisikan fungsi tipe ini, kita tidak menggunakan void, tetapi langsung tipe data dari nilai yang akan dikembalikan oleh fungsi tersebut. Perhatikan contoh 9.17 berikut.

Contoh 9.17. Fungsi dengan pengembalian nilai.

#include <iostream>

Rekayasa Perangkat Lunak 231 Rekayasa Perangkat Lunak 231

char* NilaiChar() { return "Ini nilai yang akan dikembalikan"; }

// Fungsi utama int main() {

// Memanggil dan menampilkan hasil fungsi cout<< NilaiChar();

return 0; }

Pada tipe fungsi ini, kita membutuhkan pernyataan return untuk menunjukkan bagian yang akan dikembalikan nilainya. Pada contoh di atas, tipe data dari nilai yang akan dikembalikan adalah char. Bentuk char dengan tanda * menunjukkan variabel NilaiChar boleh berisi lebih dari satu huruf dan akan disimpan/ dicetak sebagaimana ketika kita memasukkan isinya.

9.2.2. Penggunaan Parameter dalam Fungsi

Seperti halnya pada VB dan Java, fungsi pada C+ + juga membolehkan digunakan parameter atau argumen untuk melewatkan input atau menampung output dari fungsi tersebut. Perhatikan contoh-contoh berikut.

Contoh 9.18. Fungsi dengan parameter input.

#include <iostream> using namespace std;

// Membuat fungsi dengan parameter input int Kuadrat(int X) {

int hasil; hasil = X * X; return hasil;

} int main() {

int Bil, HASIL; cout<<"Masukkan sebuah bilangan bulat : "; cin>>Bil; HASIL = Kuadrat(Bil);

//memanggil fungsi kuadrat cout<<"Kuadrat dari bilangan “<<Bil<<” adalah : "<<HASIL;

return 0; }

Fungsi pada contoh 9.18 adalah Kuadrat. Fungsi ini membutuhkan satu variabel input (pada contoh dinamakan X). Pada fungsi main(), variabel Bil

232 Rekayasa Perangkat Lunak 232 Rekayasa Perangkat Lunak

Contoh 9.19. Fungsi dengan parameter input dan output.

#include <iostream> using namespace std;

// Membuat fungsi dengan parameter input int Kuadrat(int X, int *hasil) {

*hasil = X * X; return *hasil;

} int main() {

int Bil, HASIL; cout<<"Masukkan sebuah bilangan bulat : "; cin>>Bil; // Menampilkan nilai setelah diproses di dalam fungsi cout<<"Kuadrat dari bilanga "<<Bil<<" adalah :

"<

Contoh 9.19 merupakan pengembangan dari Contoh 9.18. Pada fungsi Kuadrat kita tambahkan parameter output yaitu hasil. Parameter keluaran, harus dilewatkan berdasarkan alamat memorinya (yaitu hasil), sehingga harus menggunakan pointer (lihat tanda * sebelum variabel hasil. Demikian juga cara pemanggilan fungsinya, parameter input dan outputnya harus disebutkan. Parameter output yang menyimpan hasil perhitungan harus kita beri awalan &.