Fungsi Pada C++

Dalam suatu program sering kali lebih mudah kalau dipecah menjadi beberapa fungsi yang masing-masing fungsi melakukan satu tugas tertentu saja. Fungsi yang telah dibuat dapat dipakai berulang-ulang bahkan oleh programmer lain yang tidak mengerti cara kerjanya tapi tahu cara pakainya saja, jadi detil detil yang rumit, yang merupakan bagian operas! dari program, dapat disembunyikan. Dengan dipecah menjadi beberapa fungsi maka pembuatan program menjadi lebih mudah karena kesalahan-kesalahan yang terjadi terlokalisir dalam masing-masing fungsi. Juga organisasi program menjadi lebih baik karena tugas dari fungsi utama main() menjadi sangat sederhana yaitu melakukan pemanggilan dari fungsi-fungsi ini mengikuti urutan yang dikehendaki. Masing-masing fungsi melakukan tugasnya, setelah selesai lalu kembali ke main(). Pemecahan program menjadi fungsi-fungsi ini dikenal sebagai modular programming atau pemrograman tersetruktur.

Fungsi-fungsi dalam C++ pada umumnya mempunyai sifat-sifat sebagai berikut:

  • Masing-masing fungsi mempunyai nama, .penamaan fungsi sama seperti penamaan variabel. Nama fLingsi ini diikuti sepasang tanda kurung yang oleh C-H- dipakai untuk membedakan fungsi dengan variabel. Dalam tanda kurung ini dapat berisi argumen-argumen fungsi tersebut. Jika fungsi ini tidak memerlukan argumen maka dalam tanda kurung ini tidak berisi apa-apa, untuk fungsi dalam C++ tanda kurung yang kosong ini umumnya diisi kata kunci void. Jika fungsi memerlukan argumen maka argumen-argumennya dapat berupa variabel-variabel dari berbagai tipe, antara argumen yang satu dengan argumen yang lain dipisahkan dengan koma.
  • Badan dari masing-masing fungsi, mulai segera setelah tanda kurung tutup dari nama fungsi, harus dimulai dengan tanda kurung { dan diakhiri dengan tanda kurung }. Ini berarti bahwa badan fungsi minimal terdiri dari satu blok. Badan dari fungsi ini berisi deklarasi variabel-variabel dan penyataan-pemyataan.

 

Contoh dari suatu fungsi untuk mengkwadratkan bilangan-bilangan bulat adalah sebagai berikut:

void   hitung_kuadrat(int n)

{

int kuadrat = 0;

 

while (kuadrat <= 50)

{

kuadrat = n * n;

cout << “Kuadrat dari ” << n << ” adalah ”

<< kuadrat<< “n”;

n++;

}

return;

}

Dalam C++, argumen-argumen dari fungsi dapat mempunyai harga default. Jika pada saat fungsi yang mempunyai default argumen ini dipanggil namun argumennya dihilangkan maka kompiler otomatis akan memakai nilai default dari argumen yang dihilangkan tersebut. Jika pada saat dipanggil argumennya diisi maka isi ini yang dipakai. Default argumen ini membuat program menjadi lebih fleksibel, argumen-argumen yang nilai defaultnya tidak perlu diubah tidak perlu diisi namun ada aturan yang perlu diperhatikan.

Bila kita menghilangkan argumen yang pertama maka argumen-argumen selanjutnya juga harus dihilangkan. Kita dapat menghilangkan argumen yang kedua dan mengisi argumen yang pertama. Aturan ini tidak terikat padajumlah argumen. Secara umum aturannya  adalah kalau kita menghilangkan suatu argumen maka kita harus menghilangkan semua argumen dikanannya. Contoh program berikut ini memperjelas konsep di atas.

// C1_5.CPP

#include <iostream.h>

 

// Output program ini adalah :

// pertama = 1, kedua = 2.3, ketiga = 4

// pertama = 5, kedua = 2.3, ketiga = 4

// pertama =6, kedua = 7.8, ketiga =4

// pertama = 9, kedua = 10.11, ketiga =12

 

//Prototipedari fungsi

void tampilkan(int-l, float=2.3, long=4);

 

main ()

{

tampilkan();                   // semua default

tampilkan(5);                // isi argumen pertama

tampilkan(6, 7.8);            // isi pertama dan kedua

tampilkan(9, 10.11, 12L);    // isi ketiganya

return 0;

}

 

void tampilkan(int pertama, float kedua, long ketiga)

{

cout << “npertama = ” << pertama;

cout << “, kedua ==” << kedua;

cout << “, ketiga = “  <<  ketiga;

return;

}

Perhatikan bahwa untuk memanggil fungsi cukup dengan menulis namanya, termasuk tanda kurung dan argumen-argumennya dan diakhiri dengan titik koma (;.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>