Saturday 25 March 2017

Procedur dan fungsi

• Prosedur : Fungsi yang tidak mengembalikan nilai (void function)

• Fungsi yang mengembalikan nilai (nonvoid function)


Perbedaan Procedur dan Fungsi :

• Procedure tidak mengembalikan nilai ke program utama, sedangkan fungsi akan mengembalikan nilai ke program utama, itu sebabnya fungsi harus ada tipe datanya (integer, char atau string).
• Procedure outputnya diletakkan di dalam procedure, kalau fungsi outputnya di letakkan di program utama.
• Prosedur di panggil diprogram utama dengan menuliskan nama procedure tersebut di program utama. Contoh : cetak_hasil();
• Fungsi di panggil dengan memasukkan ke suatu variabel. atau bisa juga dengan langsung menuliskannya di program utama.
Contoh :
hasil = tambah(a,b);
atau
printf(“hasilnya adalah %d “, tambah(a,b));

Deklarasi Prosedur dan Fungsi
<tipe> nama_fungsi (<parameter>){
 tubuh fungsi 
}
<tipe> adalah tipe data nilai kembalian 
fungsi 
<parameter> adalah tipe data yang masuk dalam fungsi





Catatan :

• Bila fungsi tidak mendeklarasikan tipe data nilai kembaliannya, maka secara default akan dianggap bertipe integer 
• Fungsi yang tidak mengembalikan nilai (prosedur), diberikan nilai void pada tipe kembaliannya
• Fungsi yang mengembalikan nilai, nilai yang dikembalikan dapat bertipe int, float, atau char, atau tipe yang lain 
• Nilai yang dikembalikan harus sesuai dengan tipe data nilai kembalian

Contoh Prosedur pada Program 

#include <stdio.h>
void hello(int row) {
     int i;
     for(i = 0; i <= row; i++) {
         printf("Hello World\n");
     }
 }
int main()
{
hello(2);
}

Contoh Fungsi pada Program 

#include <stdio.h>
int tambah(int a, int b) {
     int c;
     c = a + b;
     return c;
}
int main()
{
int hasil;
hasil = tambah(2,3);
 printf("\nHasilnya adalah %d\n",
hasil);
}

Aturan Prosedur dan Fungsi :

• Fungsi dan Prosedur letaknya tidak boleh berada di bawah main()
• Jika ingin meletakakannya di bawah main maka fungis/prosedur harus dideklarasikan terlabih dahulu sebelum main()

Contoh :