File header (file dengan ekstensi .h) adalah file yang berisi deklarasi, baik berupa konstanta, fungsi, kelas, namespace, dan sebagainya. Ingat! Hanya berisi deklarasi. Apabila berupa fungsi, yang tertulis dalam file header hanya prototipenya saja. File ini tidak berisi implenetasi atau kode-kode program dari fungsi atau kelas yang didefinisikan di dalamnya. Bagian implentasi biasanya disimpan dalam bentuk objek, yaitu file yang sudah dikompilasi sebelumnya. File-file inilah yang disebut Standard Runtime Library, dan akan dipanggil secara otomatis pada tahap linking. Dalam sistem operasi windows, biasanya library tersebut disimpan dalam file .lib atau .dll; sedangkan di linux, niasanya library akan disimpan dalam file .a atau .so.
C++ menyediakan banyak file header untuk berbagai macam keperluan. Perlu diingat bahwa asebagian besar file header dalam C++ standa sudah tidak memiliki ekstensi .h, misalnya <iostream>, <string>, <cstring>, <cstdlib>, dan sebagainya. Dalam C++ klasik atau tradisional, ekstensi .h wajib disertakan, misalnya <iostream.h>, <string.h>, dan sebagainya. Pada Sharing kali ini akan menggunakan bentuk standar sehingga file header yang digunakan pun adalah file header standar. File header arus dipanggil menggunakan directive #include.
Untuk lebih memahami kegunaan dari file header, perhatikan kembali contoh program sebelumnya (Di sini). Dalam kode tersebut kita menggunakan perintah cout, padahal kita tidak pernah mendifinisikan perintah tersebut. Pertanyaannya adalah, bagaimana compiler bisa mengenali perintah cout? Jawabannya adalah karena cout telah dideklarasikan di dalam file header "iostream", lebih tepatnya lagi dalam namespace std yang dideklarasikan pada file header "iostream". Pada saat kita menulis baris #include <iostream>, kita mengatakan kepada compiler bahwa kita akan menggunakan semua bentuk deklarasi yang ada di dalam file header "iostream".
Sebagai contoh, asumsikan kita memiliki kode program yang disimpan ke file halo.cpp. Dalam kode tersebut kita juga menggunakan file header "iostream". Pada situasi semacam ini, porses pembentukan program dapat digambarkan seperti berikut:
Gambar di atas merupakan gambar yang sudah disederhanakan.
Satu hal lagi yang perlu Anda ketahui tentang file header bahwa C++ juga akan mengenal semua file header milik bahasa C. Hanya saja, semua nama file header tersebut sudah diubah. Dalam bukunya, The C++ Programming Language, Bjarne Stroustrup ('pencipta' C++) menyatakan bahwa setiap file header dalam C++ yang diawali huruf 'c' adalah sama dengan file header milik bahasa C. Untuk setiap file header dengan nama <X.h> yang terdapat dalam bahasa C diubah namanya menjadi <cX>. Sebagai contoh, file header <stdio.h>, <string.h>, dan <stdlib.h> milik bahasa C; dalam bahasa C++ akan diubah namanya menjadi <cstdio>, <cstring>, dan <cstdlib>. Dengan demikian, file header lain yang tidak diawali dengan huruf 'c' merupakan library murni milik C++ dan tidak dikenal dalam bahasa C, misalnya <iostream>, <string>, <new>, <list>, dan sebagainya.
Pembuatan file header akan dikaji pada bagian tersendiri yaa hehe pada saat kita membahasa topik-topik tingkat lanjut
Sumber
- Buku PEMROGRAMAN C++ (revisi) MUDAH DAN CEPAT MENJADI MASTER C++ Karangan Budi Raharjo
Tidak ada komentar:
Posting Komentar