Sunday, November 1, 2015

Prototipe Fungsi dalam Bahasa C

Prototipe Fungsi dalam Bahasa C adalah cara pendeklarasian fungsi dalam bentuk yang lebih baik dari cara sebelumnya. Prototipe fungsi atau function prototype adalah purwa rupa sebuah fungsi tanpa isi karena memang hanya deklarasi saja. Tujuan dari penggunaan prototipe fungsi adalah membuat struktur penulisan program bahasa C yang lebih baik sekaligus memudahkan kita mengontrol fungsi-fungsi yang ada dalam program beserta tipe dan parameternya.

Lebih jelas tentang manfaat dari prototipe fungsi bisa dijelaskan seperti ini. Pertama kita tahu bahwa setiap fungsi dalam bahasa C harus didefinisikan sebelum digunakan. Jadi jika sebuah fungsi akan dipakai dalam rutin utama main() maka fungsi tersebut harus didefinisikan diatas fungsi main(). Hal ini juga berlaku jika sebuah fungsi akan digunakan oleh fungsi yang lain.

Cara penulisan seperti ini sekilas memang tidak menjadi masalah ketika program bahasa C yang kita buat relatif sederhana dengan sedikit fungsi. Namun jika kemudian program berkembang menjadi lebih komplek maka kita akan kesulitan memperhatikan setiap fungsi dan terutama urutan definisinya. Apalagi masing-masing fungsi memiliki kode yang banyak berbaris-baris tentu kita bisa pusing dibuatnya.

Untuk lebih jelas bisa perhatikan script berikut ini:
 #include <stdio.h>    
   
 float hitung_luas_persegi_panjang(float panjang, float lebar)  
 {  
     return (panjang * lebar);  
 }  
   
 float hitung_luas_lingkaran(float diameter)  
 {  
     return (3.14 * diameter * diameter / 4 );  
 }  
   
 int main ()     
 {     
     float panjang = 20.25;  
     float lebar = 4.75;  
     float diameter = 8.5;  
     float luas;  
       
     luas = hitung_luas_persegi_panjang(panjang,lebar);  
     printf("LUAS PERSEGI PANJANG = %f \n",luas);  
       
     luas = hitung_luas_lingkaran(diameter);  
     printf("LUAS LINGKARAN = %f \n",luas);  
     return 0;    
 }    

Pada contoh diatas tampak bahwa fungsi hitung_luas_persegi_panjang dan hitung_luas_lingkaran berada diatas fungsi main dan ini membuat letak fungsi main akan berada dibagian paling bawah. Cara penulisan seperti ini akan membuat kita kesulitan dalam membaca alur program jika jumlah fungsi sudah semakin banyak.

Dan untuk mengatasi hal itu maka dibuat sebuah deklarasi dengan prototipe fungsi seperti berikut ini:
 #include <stdio.h>   
   
 //prototipe fungsi  
 float hitung_luas_persegi_panjang(float panjang, float lebar);  
 float hitung_luas_lingkaran(float diameter);  
   
 int main ()    
 {    
     float panjang = 20.25;  
     float lebar = 4.75;  
     float diameter = 8.5;  
     float luas;  
       
     luas = hitung_luas_persegi_panjang(panjang,lebar);  
     printf("LUAS PERSEGI PANJANG = %f \n",luas);  
       
     luas = hitung_luas_lingkaran(diameter);  
     printf("LUAS LINGKARAN = %f \n",luas);  
     return 0;   
 }   
   
 //definisi fungsi  
 float hitung_luas_persegi_panjang(float panjang, float lebar)  
 {  
     return (panjang * lebar);  
 }  
   
 float hitung_luas_lingkaran(float diameter)  
 {  
     return (3.14 * diameter * diameter / 4 );  
 }  
Prototipe fungsi digunakan untuk menjelaskan kepada kompiler mengenai tipe keluaran fungsi, jumlah parameter dan tipe dari masing-masing parameter. Informasi ini nantinya akan dipakai untuk mengecek kebenaran saat pemanggilan fungsi. Dengan prototipe fungsi maka kompiler akan melakukan konversi atau menampilkan pesan error jika seandainya tipe parameter saat definisi dan tipe saat pemanggilan berbeda.

Bentuk lengkap sebuah prototipe fungsi:

tipe_fungsi nama_fungsi(tipe_parameter1,tipe_parameter2,...);

Contoh prototipe fungsi dengan argumen parameter:

float hitung_luas(float panjang, float lebar);

Contoh prototipe fungsi tanpa argumen parameter:

int set_default(void);

0 komentar

Post a Comment