Beberapa hal yang perlu dipelajari dalam penyusunan suatu
macro adalah :
- Prepocessor Directives
Preprocessor Directive adalah suatu perintah yang termasuk
ke dalam 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 ( # ).
Yang termasuk
preprocessor directive adalah :
- #define
Digunakan untuk mendefinisikan suatu nilai tertentu kepada suatu nama konstanta. Bentuk umum dari preprocessor directive #define adalah :
#define nama_konsanta teks
Ex : #define NILAI 75
Dalam penulisan nama konstanta sebaiknya ditulis menggunakan huruf besar untuk membedakannya dengan nama variabel dan teks merupakan nilai dari konstanta tersebut. Dalam contoh di atas diketahui untuk nama konstanta adalah NILAI dan teks adalah 75 dan itu adalah nilai yang tetap. Artinya di dalam program jika kita memasukkan kata nilai, maka akan otomatis keluar angka 75.
Contoh Program menggunakan #define :
/*Program Penggunaan #define */
#include<conio>
#include<iostream>
#define NILAI 75
main()
{
clrscr();
int nilai;
nilai=NILAI;
cout<<"Nilai Ilham adalah "<<nilai<<endl;
getch();
}
#include<conio>
#include<iostream>
#define NILAI 75
main()
{
clrscr();
int nilai;
nilai=NILAI;
cout<<"Nilai Ilham adalah "<<nilai<<endl;
getch();
}
dan tampilan programnya
2. #include
Preprocessor #include berfungsi untuk memasukkan atau menyertakan file-fie header ke dalam program yang akan dibuat. Penulisan #include ada 2 macam yaitu :
- #include "file_header"
Pertama kali kompiler akan mencari file header yang disebutkan pada directori yang sedang aktif dan apabila tidak ditemukan akan mencari pada directori dimana file header tersebut berada. Contoh : #include "iostream.h" #include "conio.h"
- #include <file_header>
Pertama kali compiler akan mencari file header yang disebutkan pada directori yang ada file headernya, kecuali pada directori yang sedang aktif. Contoh : #include <conio.h>
#include<stdio.h>
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.
Bentuk penulisan preprocessor #if - #endif adalah :
#if ekspresi - konstanta
pernyataan;
#endif
Contoh Program menggunakan #if - #endif adalah :
/*Program Penggunaan #if - #endif*/
#include<iostream>
#include<conio>
#define NILAI 75
main()
{
#if NILAI>=70
cout<<"Selamat Anda LULUS"<<endl;
#endif
getch();
}
dan tampilan programnya yaitu:
4. #if - #else - #endif
Prepocessor ini digunakan untuk mengkompilasi jika pernyataan kondisi pada #if bernilai benar, jika #if bernilai salah, maka pernyataan #else dikompilasi. Penggunaan preprocessor ini sama halnya dengan penggunaan if - else pada program biasa. Pernyataan kondisi berupa ekspresi konstanta yang di deklarasikan menggunakan #define.
Bentuk Umum penulisan #if - #else - #endif adalah :
#if ekspresi-konstanta
pernyataan-1;
#else
pernyataan-2;
#endif
Contoh program menggunakan Preprocessor #if - #else - #endif adalah :
/*Program Penggunaan #if - #else - #endif*/
#include<iostream>
#include<conio>
#define NILAI 70
main()
{
#if NILAI>70
cout<<"Selamat Anda LULUS"<<endl;
#else
cout<<"Maaf, Anda Tidak Lulus"<<endl;
#endif
getch();
}
dan untuk tampilan programnya adalah :
5. #elif
Preprocessor #elif digunakan untuk mengkompilasi dari pernyataan bertingkat. Dalam hal ini #elif sama halnya seperti #elseif, #elif 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.
Bentuk umum penulisan #eif adalah :
#if ekspresi-konstanta-1
pernyataan-1;
#elif ekspresi-konstanta-2
pernyataan-2;
#elif ekspresi-konstanta-n
pernyataan-n;
Contoh Program menggunakan preprocessor #elif adalah :
/*Program Penggunaan #elif */
#include<conio>
#include<iostream>
#define N 15
main()
{
#if N>10
cout<<"Lebih Besar Dari Sepuluh"<<endl;
#elif N==10
cout<<"Sama Dengan Sepuluh"<<endl;
#else
cout<<"Lebih Kecil Dari Sepuluh"<<endl;
#endif
getch();
}
#include<conio>
#include<iostream>
#define N 15
main()
{
#if N>10
cout<<"Lebih Besar Dari Sepuluh"<<endl;
#elif N==10
cout<<"Sama Dengan Sepuluh"<<endl;
#else
cout<<"Lebih Kecil Dari Sepuluh"<<endl;
#endif
getch();
}
dan untuk tempilan programnya yaitu :
6. #undef
Preprocessor #undef digunakan untuk menghilangkan nilai yang telah didefinisikan (#define) dari daftar definisi.
Contoh Program Penggunaan #undef adalah :
/*Penggunaan #undef */
#include<iostream>
#include<conio>
#define LEBAR_MAKS 100
#if LEBAR_MAKS>200
#undef LEBAR_MAKS //--> menghilangkan LEBAR_MAKS
#define LEBAR_MAKS 200
#elsif LEBAR_MAKS <50
#undef LEBAR_MAKS //--> menghilangkan LEBAR_MAKS
#define LEBAR_MAKS 50
#else
#undef LEBAR_MAKS //--> menghilangkan LEBAR_MAKS
#define LEBAR_MAKS 50
#endif
main( )
{
char str[LEBAR_MAKS];
cout<<LEBAR_MAKS;
getch();
}
#include<iostream>
#include<conio>
#define LEBAR_MAKS 100
#if LEBAR_MAKS>200
#undef LEBAR_MAKS //--> menghilangkan LEBAR_MAKS
#define LEBAR_MAKS 200
#elsif LEBAR_MAKS <50
#undef LEBAR_MAKS //--> menghilangkan LEBAR_MAKS
#define LEBAR_MAKS 50
#else
#undef LEBAR_MAKS //--> menghilangkan LEBAR_MAKS
#define LEBAR_MAKS 50
#endif
main( )
{
char str[LEBAR_MAKS];
cout<<LEBAR_MAKS;
getch();
}
dan untuk tampilan programnya adalah :
Preprocessor #ifdef dan #ifndef 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.
Bentuk umum penulisannya adalah :
#ifdef
nama-konstanta pernyataan
#endif
Jika nama-konstanta terdefinisi, maka pernyataan akan dijalankan, jika nama-konstanta tidak terdefinisi, maka pernyataan diabaikan .
Contoh program menggunakan #ifdef dan #ifndef adalah :
//--> Penggunaan #ifdef dan #ifndef
#include<iostream>
#include<conio>
#define ANAK1 "ILHAM"
#define ANAK2 "HADIANSYAH"
main( )
{
#ifdef ANAK1
cout<<"Pagi ini "<<ANAK1<<" pergi Kesekolah";
#else
#ifndef ANAK2
cout<<"Hari ini "<<ANAK1<<" "<<ANAK2;
cout<<" pergi Kesekolah";
#else
cout<<"Pagi ini "<<ANAK2<<"pergi Kesekolah";
#endif
#endif
getch();
}
dan untuk tampilan programnya adalah :
Nah itu tadi pembahasan mengenai Macro pada C++, jangan lupa komennya (^.^)b
Komentar ini telah dihapus oleh pengarang.
BalasHapus