Preprocessor sangat penting dalam bahasa C, sehingga perlu untuk mengenal bagian ini. Preprocessor adalah bagian dari code yang bukan bagian langsung dari instruksi program. Bagian akan dieksekusi sebelum program dijalankan oleh compiler. Semua perintah preprocessor dimulai dengan (#
) yang kemudian diikuti oleh header file atau macro.
Untuk memulai menulis program bahasa C, biasanya terdapat #include <stdio.h>
yang merupakan perintah untuk menyertakan file header. Selain itu terkadang juga terdapat #define
untuk mendefinisikan sebuah macro dan ada juga #undef
yang berkebalikan dengan #define
. Sebagai pengetahuan, #if
dan #else
untuk memeriksa apakah kondisi sudah memenuhi bahkan sebelum proses compile berlangsung. Sama seperti if else
yang ada pada percabangan, jika kondisi benar maka program menjalankan kode setelah if
dan sebaliknya. #ifdef
untuk memeriksa apakah terdapat suatu macro, sedangkan #ifndef
untuk memeriksa jika macro tidak ada.
Tak jarang kita membutuhkan berbagai perintah, misalnya dalam matematika penting untuk mencari akar kuadrat dari suatu nilai. Dalam bahasa C sebenarnya bisa langsung mencarinya, yaitu dengan menyertakan header math.h
. Ekstensi h (.h) menandakan bahwa file tersebut adalah header.
#include <stdio.h> #include <math.h> int main() { int n; scanf("%d", &n); printf("%lf\n", sqrt(n)); //akar dari n }
Tanpa baris kedua, perintah sqrt(n)
tidak bisa berjalan. Ada banyak header file dengan berbagai fungsi bawaan yang dapat membantu menulis kode lebih cepat.
Sedangkan #define
cara penggunaanya juga cukup mudah.
#define nama nilai
Sama seperti file header, #define
berlaku secara keseluruhan satu kode. Misalkan untuk menghitung luas bidang datar. Untuk menghitung luas lingkaran, perlu menggunakan Pi dan kita bisa menentukan nilai pi terlebih dahulu.
#include <stdio.h> #define PI 3.14159 int main(){ int r; scanf("%d", &r); printf("%lf\n", PI*r*r); }
Tentu saja tanpa baris kedua program tidak berjalan sebagaimana mestinya. Selain untuk mendefinisikaan sebuah variabel, #define
juga dapat mendefinisikan suatu fungsi.
#include <stdio.h> #define PI 3.14159 #define LuasLingkaran(r) PI*r*r #define cetak printf int main(){ int r; scanf("%d", &r); cetak("%lf\n", LuasLingkaran(r)); }
Perintah untuk mencetak pada baris ke-9 sudah berubah karena cetak()
terdefinisi sebagai printf()
. Bahkan lebih jauh lagi penggunaan #define
bisa seperti:
#include <stdio.h> #define web "cahInfor" #define fLoop(a,b) for(int i=a;i<b;i++) int main(){ fLoop(0,5) printf("%s\n", web); }
Dengan keluaran:
cahInfor cahInfor cahInfor cahInfor cahInfor
Demikian, sangat penting untuk mengenal preprocessor dalam bahasa C karena dapat memudahkan dan mempersingkat penulisan kode.