Belajar C #19: Memahami Header File
Pada tutorial ini, kita akan mempelajari konsep header file pada C sehingga nantinya bisa membuat program secara modular.
Apa itu Header file?
Gimana cara pakainya?
Mari kita pelajari.
Apa itu Header File?
Header file adalah file dengan ekstensi .h
yang berisi definisi dari fungsi, variabel, macro, dan konstanta.
Pada program-program yang sudah kita buat, kita sering memasukkan header file stdio.h
ke dalam program.
#include <stdio.h>
File stdio.h
adalah header file yang berisi definisi dari fungsi-fungsi untuk standar input dan output seperti printf()
, scanf()
, gets()
, puts()
, dan sebagainya.
File stdio.h
ada di mana?
Jika kamu pakai Linux, file stdio.h
akan berada di direktori /usr/include/
.
Jika kamu pakai Windows, file stdio.h
akan berada di folder compiler, misalnya C:\MinGw\include
.
Kita bisa membuka file stdio.h
dengan teks editor dan melihat isinya.
Mengapa kita Butuh Header File?
Header file pada C sebenarnya berperan sebagai library.
Apa itu library?
Library dalam pemrograman adalah sekumpulan fungsi-fungsi dan konstanta yang bisa kita pakai kembali.
Misalnya:
Kita sedang membuat program sekala besar. Program ini punya kode yang sangat banyak sampai ribuan. Maka kita tidak mungkin akan menulis program tersebut dalam satu file saja.
Biar gampang dikelola, program harus dibuat menjadi modul atau library dengan menulisnya di file yang terpisah.
Dengan begitu, kita hanya perlu mengimpor dan menggunakannya pada program utama.
Jadi mengapa kita membutuhkan header file?
Karena agar bisa membuat program secara modular sehingga program tersebut gampang dikelola dan dikembangkan.
Cara Impor Header File
Ada dua cara mengimpor header file ke dalam program.
Cara pertama: Menggunakan kurung sudut
#inlude <stdio.h>
Ini digunakan untuk mengimpor header file yang berada di folder sistem (/usr/include)
.
Cara kedua: Menggunakan tanda petik
#include "nama_file.h"
Cara kedua digunakan untuk mengimpor header file yang masih satu folder dengan program kita.
Biar semakin paham, mari kita coba latihan.
Latihan: Contoh Program dengan Header File
Buatlah folder baru dengan nama header_file
, kemudian di dalamnya buat tiga file:
- File
main.c
program utama; - File
hitung_umur.h
header file hitung umur; - File
hitung_umur.c
kode implementasi dari header file.
Isilah masing-masing file dengan kode seperti ini:
File: hitung_umur.h
int hitung_umur(int tahun_lahir, int tahun_sekarang);
File: hitung_umur.c
int hitung_umur(int tahun_lahir, int tahun_sekarang) {
return tahun_sekarang - tahun_lahir;
}
File: main.c
#include <stdio.h>
#include "hitung_umur.h"
void main() {
int tahun_sekarang = 2022;
int tahun_lahir = 1999;
// menggunakan fungsi dari hitung_umur.h
int umur = hitung_umur(tahun_lahir, tahun_sekarang);
printf("Umur kamu %d tahun", umur);
}
Setelah itu, kita bisa compile semua programnya.
Karena di sini ada dua file kode file c, maka kita harus meng-compile kedua file tersebut.
Jika hanya meng-compile main.c
saja, maka tidak akan bisa.
Lalu gimana cara compile kedua file ini?
Caranya tinggal ditambahkan aja semua nama file yang mau di-compile pada perintah gcc
.
Contoh:
gcc main.c hitung_umur.c -o main
Maka hasilnya:
Program berhasil di-compile, untuk menjalankannya ketik perintah berikut:
./main
Maka hasilnya:
Latihan: Menggunakan Codeblocks
Buka Codeblocks, kemudian Klik menu File–>New Project... Lalu pilih Console application
Setelah itu klik Next.
Pilih C sebagai bahasa pemrograman yang akan dipakai. Setelah itu klik Next.
Setelah itu, isi nama project dengan latihan_header_file
, kemudian klik Next.
Pada pemilihan compiler, pilih GNU GCC Compiler. Setelah itu klik Finish.
Project kita sudah siap..
Mari kita tambahkan file baru.
Caranya:
Klik menu File–>New File, kemudian pilih Empty File.
Jika muncul jendela seperti ini:
Klik Yes.
Kemudian isi nama filenya dengan hitung_umur.h
dan klik Save.
Jika muncul seperti ini, klik saja OK.
Setelah itu, isi file hitung_umur.h
dengan kode seperti ini:
int hitung_umur(int tahun_lahir, int tahun_sekarang);
Kemudian, buat satu lagi file untuk mengimplementasikan hitung_umur.h
, yakni hitung_umur.c
.
Caranya sama seperti tadi.
Klik File–>New File–>Empty File. Lalu berikan nama dengan hitung_umur.c
dan isi kodenya seperti ini:
int hitung_umur(int tahun_lahir, int tahun_sekarang) {
return tahun_sekarang - tahun_lahir;
}
Terakhir, ubah kode pada main.c
menjadi seperti ini:
#include <stdio.h>
#include <stdlib.h>
#include "hitung_umur.h"
int main()
{
int tahun_sekarang = 2022;
int tahun_lahir = 1999;
// menggunakan fungsi dari hitung_umur.h
int umur = hitung_umur(tahun_lahir, tahun_sekarang);
printf("Umur kamu %d tahun", umur);
return 0;
}
Setelah itu coba Compile dan Run.
Maka hasilnya:
Mantap 👍
Apa Selanjutnya?
Header file membantu kita membuat program menjadi modular, sehingga kita tidak perlu menulis kode berulang-ulang.
Tinggal impor saja header file dari program yang lain dan langsung bisa dipakai.
Selanjutnya coba buat project-mu dengan teknik ini dan coba pelajari juga tentang make file pada C.
Selamat belajar. 🙌