• 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>
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
int i;
for(i = 0; i <= row; i++) {
printf("Hello World\n");
}
}
int main()
{
hello(2);
}
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 :