4:12 PM
Kali ini, yang akan kita pelajari adalah header. Header merupakan file yang berisi deklarasi variabel, function, tipe data, dll. Semua function standar dalam Bahasa C ada dalam header. Karena itu, sebuah program dalam Bahasa C minimal menggunakan 1 header seperti "stdio.h" supaya bisa menggunakan fungsi-fungsi standar dalam bahasa C. Sebelumnya, kita sering menggunakan #include dan header. #include digunakan untuk menambahkan / menyisipkan isi file "Header" ke dalam kode program saat program dicompile. Untuk menggunakan Header standar kita mengapit nama header dengan "<" dan ">" bersama dengan pernyataan #include. Salah satu header standar yang bisa kita gunakan adalah "stdio.h" yang berguna untuk menampilkan input dan output. Kita bisa menggunakan fungsi printf untuk membuat program "Hello world".#include <stdio.h> int main(){ printf("Hello, World!\n"); return 0; } Program diatas mencetak "Hello, world!" dengan function printf. Function printf merupakan function dalam header "stdio.h".
Membuat header sendiri Selain header standar dari bahasa C, kita juga bisa membuat header kita sendiri. Header tersebut bisa kita letakkan di folder yang sama dengan file berisi kode program dalam bahasa C. Untuk menggunakan header di dalam folder yang sama dengan kode program kita, kita bisa menuliskan nama header dalam tanda kutip. Misalnya :#include <iostream> #include "headerku.h" int main(){ std::cout << PI;//variabel atau konstanta ini ada di dalam "headerku.h" return 0; } Kalau kalian ingin menggunakan kode program di atas, kalian harus meletakkan file "headerku.h" di dalam folder yang sama dengan file kode program tersebut. Header tersebut harus berisi variabel atau konstanta dengan dengan nama "PI".Untuk lebih jelasnya, projectnya bisa didownload di sini. Header dan Library Eksternal
Dalam bahasa C, function dalam library eksternal dihubungkan dengan kode program menggunakan header dan file library (.a atau .lib). Selain itu, untuk menjalankan program kita butuh runtime library (.dll untuk windows atau .so untuk linux). Library berisi sekumpulan function terpisah yang bisa digabungkan dengan program yang akan kita buat. Header biasanya hanya berisi prototype dan deklarasi variabel jika function sudah disimpan dalam library. Untuk menggunakan header eksternal yang terdiri dari banyak file, kalian perlu mengatur posisinya lewat setting di IDE atau compiler. Setelah letak foldernya diatur lewat setting, header eksternal bisa digunakan dengan cara yang hampir sama dengan header standar. Berikut ini contoh kode program sederhana untuk SDL2. #include <SDL2/SDL.h> #include <stdio.h> int main( int argc, char* args[] ){ SDL_Window* window = NULL; SDL_Surface* layar = NULL; if( SDL_Init( SDL_INIT_VIDEO ) < 0 ){ printf( "gagal : %s\n", SDL_GetError() ); } else{ window = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 640, SDL_WINDOW_SHOWN ); if( window == NULL ){ printf( "gagal : %s\n", SDL_GetError() ); } else{ layar = SDL_GetWindowSurface( window ); SDL_FillRect( layar, NULL, SDL_MapRGB( layar->format, 0xFF, 0xFF, 0x00 ) ); SDL_UpdateWindowSurface( window ); SDL_Delay( 5000 ); } } SDL_DestroyWindow( window ); SDL_Quit(); return 0; }Membuat Library Sendiri Selain menggunakan library yang sudah ada, kita bisa juga membuat library sendiri dengan bahasa C. Kita bisa menggunakan IDE seperti code block atau IDE lain yang sudah menyediakan project untuk membuat library. Library bisa kita gunakan untuk kode program yang dibuat dengan bahasa pemrograman yang sama. Untuk menggunakan library kita bisa melakukan pengaturan lewat setting dalam IDE. Library biasanya menyertakan header yang berisi nama function dalam library tersebut. Dalam OS Linux, ada dua tipe library yang bisa kita buat dengan bahasa C atau bahasa pemrograman lainnya. Jenis-jenis library tersebut, yaitu :
Untuk membuat static library, klik File => New => Project. Kemudian, pilih static library, dan klik Go. Pilih folder dan bahasa pemrograman yang akan kita gunakan setelahnya dengan menekan tombol Next beberapa kali hingga Finish.
#include <stdio.h> int Tambah(int i1, int i2){ return i1 + i2; } int Kurang(int i1, int i2){ return i1 - i2; } void Tampilkan(int i1, int i2){ printf("A: %d", i1); printf("B: %d", i2); printf("A+B: %d", i1-i2); printf("B-B: %d", i1+i2); } Setelah kalian berhasil mengcompile, kalian bisa mendapatkan hasilnya di folder "bin/Release" atau "bin/Debug" di dalam folder Project kalian. Static library adalah file dengan ekstensi "*.a" atau "*.lib". Kalian bisa menggunakan static library berulang-ulang dalam project lain yang kalian buat.
Cara Menggunakan Static Library Untuk menggunakan static library, kita bisa membuat project baru berupa program console atau GUI. Sekarang kita akan menggunakan program console untuk menggunakan static library. Buat project baru dengan bahasa C dan ketik kode program di bawah ini setelah kalian membuat project baru.#include <stdio.h> #include <stdlib.h> int Tambah(int i1, int i2);//Prototype Function tambah int Kurang(int i1, int i2);//Prototype Function kurang int main(){ printf("%d\n", Tambah(3, 1)); printf("%d\n", Kurang(3, 1)); return 0; } Kalau kalian menggunakan bahasa C++, programnya mungkin tidak akan bisa dicompile karena static library dibuat dalam bahasa C. Kalian bisa menggunakan extern "C" untuk mengatasi error karena perbedaan bahasa pemrograman. Kode program untuk bahasa C++ yang menggunakan library dari bahasa C bisa kalian lihat di bawah ini. #include <stdio.h> #include <stdlib.h> extern "C"{ int Tambah(int i1, int i2);//Prototype Function tambah int Kurang(int i1, int i2);//Prototype Function kurang } int main(){ printf("%d\n", Tambah(3, 1)); printf("%d\n", Kurang(3, 1)); return 0; } Untuk menggunakan function yang terdapat dalam library, kalian perlu menambahkan prototype dari function yang akan kalian gunakan dalam kode program yang memerlukannya. Kalian bisa meletakkan prototype dan variabel yang kalian butuhkan dalam program utama maupun header. Berikut ini adalah cara pengaturannya.
|