Minggu, 30 November 2014

Macro pada C++


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 :

  1. #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();
}
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();
}

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();
}

dan untuk tampilan programnya adalah :

     7. #ifdef - #ifndef

         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



1 komentar: