Fungsi dan Prosedur dalam C++





Fungsi atau dalam beberapa literatur ada yang mengistilahkan subrutin, subprogram maupun prosedur, adalah salah satu teknik pemrograman untuk meningkatkan modularitas program yang akan dibuat. Semakin besar tingkat modularitasnya, maka kecenderungannya adalah program itu akan relatif semakin baik. Karena program yang size-nya besar, banyak baris kode, akan dipecah menjadi modul-modul yang ukurannya lebih kecil. Beberapa keuntungannya adalah dalam hal efisiensi dan kemudahan dalam debugging. Bagian tugas-tugas yang sama cukup dengan menuliskan kode program satu kali saja tetapi bisa dipanggil/ dijalankan berulang kali sepanjang program. Di sisi lain, jumlah baris kode program yang semakin sedikit akan memudahkan dalam menelusuri kesalahan yang ditemukan. Penggunaan konsep fungsi juga akan mengakibatkan isi dari void main() akan menjadi semakin ringkas.

Bentuk umum Sebuah fungsi adalah sebagai berikut :
               Tipedata namafungsi(daftarparameter)
          {

                             /*Badan Fungsi*/
                     return nilaireturn; /* untuk tipe data bukan void */
          } 

Jenis-jenis dari function adalah :
1.      Void (Fungsi tanpa nilai balik)
Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.
Ciri-ciri dari jenis fungsi Void adalah sebagai berikut:
  1. Tidak adanya keyword return.
  2. Tidak adanya tipe data di dalam deklarasi fungsi.
  3. Menggunakan keyword void.
  4. Tidak dapat langsung ditampilkan hasilnya.
  5. Tidak memiliki nilai kembalian fungsi.
2.      Non-void (Fungsi dengan nilai balik)
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut.
Ciri-ciri dari jenis fungsi non void adalah sebagai berikut:
  1. Ada keyword return
  2. Ada tipe data yang mengawali fungsi
  3. Tidak ada keyword void
  4. Memiliki nilai kembalian
  5. Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu
  6. Sehingga dapat langsung ditampilkan hasilnya 
  7. Non-void : int jumlah (int a, int b) 

         Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Procedure biasanya bersifat suatu aktifitas seperti meghitung faktorial sebuah bilangan, mencari bilangan genap dari sekumpulan bilangan ,dsb. Prosedur banyak digunakan pada program yang terstruktur karena:
  • Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
  • Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
  • Membuat kode program lebih mudah dibaca.
  • Dapat digunakan untuk menyembunyikan detil program

Prosedur yang baik memiliki ciri-ciri sebagai berikut:
  • Hanya memiliki satu fungsi tujuan (logical inherent). Sebuah prosedur sebaiknya hanya memiliki satu fungsi tujuan dan tidak bercampur dengan tujuan lain. Hal ini untuk membuat prosedur lebih focus.
  • Berukuran kecil (small size). Yang dimaksud ukuran disini adalah panjang algoritma atau panjang kode program pada suatu prosedur. Ukuran kecil akan mudah dibaca maupun diperbaiki.
  • Tidak tergantung pada prosedur lain (independent). Sebuah prosedur harusnya bersifat mandiri, artinya sebuah prosedur dapat berjalan dan diuji tanpa menunggu bagian lainnya selesai. Selain itu variable yang digunakan dalam prosedur tidak mempengaruhi variabel yang digunakan pada bagian lain di keseluruhan program.
Bentuk umum prosedur adalah sebagai berikut:
                Void NamaProsedur (DaftarParameter) 
           {
             /*BadanProsedur*/
           )


Semoga bermamfaat.

Komentar