Function dan Procedure di C++

Procedure dan Function disebut juga subroutine, merupakan blok statement yang dapat dipanggil dari lokasi yang berbeda di dalam program. Yang membedakan antara function dan procedure yaitu: suatu function jika dijalankan/dipanggil akan mengembalikan suatu nilai.

Dalam PASCAL dikenal istilah procedure dan function, dalam Basic dikenal sub dan function, sedangkan dalam C++, Java, PHP, dan keturunan C lainnya dikenal hanya istilah function. Apabila kita ingin membuat subroutine yang tidak mengembalikan nilai, kita dapat memberi nilai kembalian berupa void.

Fungsi (Function) merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus. Pada intinya fungsi berguna untuk :
  • Mengurangi pengulangan penulisan program yang berulangan atau sama.
  • Dapat melakukan pendekatan top-down dan divide-and-conquer: program besar dapat dipisah menjadi program-program kecil.
  • Program menjadi terstruktur, sehingga mudah dipahami dan dikembangkan.
  • Kemudahan dalam mencari kesalahan-kesalahan karena alur logika jelas dan kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
  • Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan.
  • Mempermudah dokumentasi.
  • Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain


Kategori Function dalam C/C++

Standard Library Function
Yaitu fungsi-fungsi yang telah disediakan oleh C/C++ dalam file-file header atau librarynya. Misalnya: clrscr(), printf(), getch()
Untuk function ini kita harus mendeklarasikan terlebih dahulu library yang akan digunakan, yaitu dengan menggunakan preprosesor direktif.

Programmer-Defined Function
Adalah function yang dibuat oleh programmer sendiri. Function ini memiliki nama tertentu yang unik dalam program, letaknya terpisah dari program utama, dan bisa dijadikan satu ke dalam suatu library buatan programmer itu sendiri yang kemudian juga di-include-kan untuk penggunaanya.


Struktur Function


1. Function Prototype

Prototipe fungsi digunakan untuk menjelaskan kepada kompiler mengenai :
  • Tipe keluaran fungsi.
  • Jumlah parameter.
  • Tipe dari masing-masing parameter.
Salah satu keuntungan pemakai prototipe, kompiler akan melakukan konversi antara tipe parameter dalam definisi dan parameter saat pemanggilan fungsi tidak sama atau akan menunjukkan kesalahan jika jumlah parameter dalam definisi dan saat pemanggilan berbeda.
Contoh lain :
long kuadrat (long l) ;
Pada contoh pertama, fungsi kuadrat ( ) mempunyai argumen/parameter bertipe long dan nilai balik bertipe long.

void garis ( );
Pada contoh kedua, fungsi garis ( ) tidakmemiliki argumen/parameter dan nilai baliknya tidak ada (void).

double maks (double x, double y)
Pada contoh ketiga, fungsi maks( ) mempunyai dua buah argumen/parameter, dengan masing-masing argumen bertipe double.

2. Function Definition

tipe_data nama_fumgsi(arguman 1, argument 2){
Variabel_lokal;
Statement_1;
Statement_2;
...
return (variabel);
}


3. Parameter Fungsi

Terdapat dua macam para parameter fungsi, yaitu :
1. Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi.
2. Parameter Aktual adalah variabel yang dipakai dalam pemanggilan fungsi.

No comments: