Macro Dan File Header
Didalam penyusunan suatu makro ada beberapa hal yang perlu dipelajari
adalah:
Preprocessor Directives
Preprocessor directive merupakan suatu perintah yang termasuk kedalam
program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk
preprocessor. Preprocessor ini dijalankan secara otomatis oleh kompiler, ketika
didalam proses penterjemahan (Compile) program berlangsung, didalamnya
membuat nilai pembuktian pertama dan menterjemahkan code program didalam kode
objek. Didalam penggunaan preprocessor directive selalu dimulai dengan tanda : #
Ada beberapa preprocessor directive, diantaranya adalah:
1. # define
Digunakan untuk mendefinisikan suatu nilai tertentu kepada suatu nama
konstanta. Bentuk umum dari preprocessor directive #define ini adalah:
#define nama_konstanta teks
Dalam pendeklarasian preprocessor directive #define, Nama_Konstanta
sebaiknya ditulis dengan menggunakan huruf besar, guna untuk membedakannya
dengan nama_variabel. Sedangkan Teks merupakan suatu nilai yang diberikan pada
nama_konstanta. Teks dapat berupa:
• Numerik contoh: #define PI 3.14
• Karakter contoh: #define HURUF ‘B’
• String contoh: #define JABATAN “INSTRUCTOR”
• Pernyataan contoh: #define CETAK (“Borland C++”)
• Fungsi Sederhana contoh: #define LUAS_KUBUS (n*n)
Setelah #define ditentukan didalam program cukup dituliskan
nama_konstantanya saja. # define akan mengganti semua nama konstanta tadi
dengan teksnya sebelum proses kompilasi dimulai.
2. # include
Preprocessor #include telah dibahas pada bab sebelumnya, yaitu berfungsi
untuk memasukkan atau menyertakan file-file header kedalam program yang akan
dibuat. Dalam penulisan #include ada dua bentuk penulisan :
#include "nama_file_header"
atau
#include <nama_file_header>
Pada bentuk penulisan #include mempunyai arti yang berbeda, yaitu:
• #include "nama_file_header"
“Pertama kali compiler akan mencari file header yang disebutkan pada directori
yang sedang aktif dan apa bila tidak ditemukan akan mencari pada directori
dimana file header tersebut berada “.
• #include <nama_file_header>
“Pertama kali compiler akan mencari file header yang disebutkan pada directori
yang ada file headernya, kecuali pada directori yang sedang aktif.
3. # if - #endif
Preprocessor #if - #endif digunakan untuk mengkompilasi jika pernyataan
kondisi pada #if bernilai benar, jika tidak maka, diabaikan. Pernyataan kondisi
berupa ekspresi konstanta yang dideklarasikan dengan #define.
Benuk Penulisan #if ekspresi-konstanta
penyataan;
#endif
4. # if - #else - #endif
Preprocessor #if - #else -#endif digunakan untuk mengkompilasi jika
pernyataan kondisi pada #if bernilai benar, jika #if bernilai salah maka, pernyataan
#else dikompilasi. Pernyataan kondisi berupa ekspresi konstanta yang dideklarasikan
dengan #define.
Benuk Penulisan #if ekspresi-konstanta
Penyataan-1;
#else
Penyataan-2;
#endif
5. # elif
Preprocessor #elif digunakan untuk mengkompilasi dari pernyataan
bertingkat. Dalam hal ini #elif sama halnya seperti #elseif, merupakan kombinasi
dari #if dan #else. Perintah dijalankan sesuai dengan kondisi yang telah ditentukan,
Hasil hanya dapat dijalankan sesuai dengan ketentuan yang benar. Bentuk #elif
diikuti oleh ekspresi-konstanta.
Benuk Penulisan #if ekspresi-konstanta-1
Penyataan-1;
#elif ekspresi-konstanta-2
Penyataan-2;
# elif ekspresi-konstanta-n
Penyataan-n;
#endif
6. #undef
Preprocessor #undef digunakan untuk menghilangkan nilai yang telah
didefiniskan dari daftar definisi.
7. # ifdef - # ifndef
Preprocessor #ifdef dan #ifendef memberikan bagian dari program yang akan
dikompile, hal ini dapat dilakukan jika sudah konstanta didefiniskan pada bagian
#define, hal ini merupakan parameter yang khusus yang harus terdefinisi.
Benuk umum penulisan sebagai berikut:
#ifdef
nama-konstanta pernyataan;
#endif
Penjelasan: Jika nama-konstanta terdefinisi maka, pernyataan akan dijalankan, jika
nama-konstanta tidak terdefinisi maka, pernyataan akan diabaikan.
Pembuatan File Header
File Header adalah suatu file dengan akhiran .h . File ini sebenarnya berisikan
deklarasi fungsi dan definisi konstanta. Selain file-file header standar yang
disediakan oleh C++, kita dapat juga membuat file header sediri, dengan cara yang
sama seperti membuat file editor. Yang harus diperhatikan pada saat menyimpan file
header yang telah dibuat harus digunakan akhiran .h .
Sebagai latihan berikut ini akan dibuatkan suatu file header sendiri yang akan
digunakan pada file editor.
Buatlah program file heder dibawah ini, kemudian simpan dengan nama : atur.h,
pada folder kerja anda folder include.
Contoh-8 /* atur.h
contoh pembuatan file header untuk
pengaturan.
Copyright (c) Frieyadie 2001
All Rights Reserved.
*/
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define tampil cprintf
#define masuk scanf
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()
Latihan :
Buatlah program menghitung luas dan keliling lingkaran. Proses berada didalam
file header, nama file header yang diinginkan : lingkaran.h
Tampilan Yang Diinginkan:
Masukkan Nilai Jari-jari : ... <di-input>
Luas Lingkaran : ... < hasil proses >
Keliling Lingkaran : ... < hasil proses >
Jawab :
/*lingkaran.h
*/
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define tampil cprintf
#define masuk scanf
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()
Simpan pada direktori C:\BC5\INCLUDE\..... , selanjutnya compile file lingkaran.h .
Buatlah program di bawah ini , kemudian gunakan header yang sudah anda buat ..
*/
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define tampil cprintf
#define masuk scanf
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()
Simpan pada direktori C:\BC5\INCLUDE\..... , selanjutnya compile file lingkaran.h .
Buatlah program di bawah ini , kemudian gunakan header yang sudah anda buat ..
/*-----------------------------------*/
/*program
dengan file header sendiri*/
/*----------------------------------*/
#include
<stdio.h>
#include
<conio.h>
#include
<iostream.h>
#include
"lingkaran.h"
mulai()
awal
int r,L,K;
hapus();
warna(5);
tampil("\nPROGRAM MENGHITUNG LUAS DAN KELILING LINGKARAN\n");
cout<<endl;
cout<<"Masukkan Nilai Jari-jari = ";cin>>r;
L = 3.14*r*r;
K = 3.14*r;
cout<<endl;
cout<<"-----------------------------------------"<<endl;
cout<<endl;
cout<<"\tLuas Lingkaran : "<<L<<endl;
cout<<"\tKeliling Lingkaran : "<<K<<endl;
cout<<endl;
cout<<"-----------------------------------------";
tahan;
akhir