Pendefinisian dalam bahasa C untuk prosedur dan fungsi melibatkan dua langkah utama: deklarasi dan definisi. Deklarasi memberi tahu compiler tentang nama fungsi, tipe kembalian, dan parameter yang diharapkan, sedangkan definisi memberikan implementasi dari fungsi tersebut. Berikut ini adalah penjelasan lebih rinci tentang prosedur dan fungsi dalam bahasa C.
Deklarasi fungsi (juga dikenal sebagai prototipe fungsi) menginformasikan kepada compiler tentang tipe kembalian fungsi, nama fungsi, dan parameter yang diterima fungsi tersebut. Ini biasanya ditempatkan di bagian atas file atau di header file (.h) sehingga dapat digunakan di banyak file.
// Prototipe fungsi
int tambah(int a, int b);
void cetakPesan(char *pesan);
Definisi fungsi adalah implementasi aktual dari fungsi tersebut, yang mencakup badan fungsi di mana logika fungsi ditulis. Berikut ini contoh definisi fungsi:
// Definisi fungsi tambah
int tambah(int a, int b) {
return a + b;
}
// Definisi fungsi cetakPesan
void cetakPesan(char *pesan) {
printf("%s\\\\n", pesan);
}
Berikut ini adalah contoh lengkap yang menunjukkan deklarasi dan definisi fungsi, serta cara memanggil fungsi tersebut dalam program utama.
#include <stdio.h>
// Deklarasi fungsi (prototipe)
int tambah(int a, int b);
void cetakPesan(char *pesan);
int main() {
int hasil;
hasil = tambah(3, 4); // Memanggil fungsi tambah
printf("Hasil: %d\\\\n", hasil);
cetakPesan("Hello, World!"); // Memanggil fungsi cetakPesan
return 0;
}
// Definisi fungsi tambah
int tambah(int a, int b) {
return a + b;
}
// Definisi fungsi cetakPesan
void cetakPesan(char *pesan) {
printf("%s\\\\n", pesan);
}
Prosedur dalam bahasa C sebenarnya adalah fungsi yang tidak mengembalikan nilai (tipe kembalian void). Dengan kata lain, prosedur adalah fungsi yang hanya melakukan tindakan tetapi tidak mengembalikan data kepada pemanggilnya.
// Deklarasi prosedur
void cetakPesan(char *pesan);
int main() {
cetakPesan("Ini adalah prosedur.");
return 0;
}
// Definisi prosedur
void cetakPesan(char *pesan) {
printf("%s\\\\n", pesan);
}
main(), dengan menyertakan nama fungsi dan argumen yang diperlukan.