Pengertian Preprocessor serta penerapannya

Preprocessor jika diartikan kedalam bahasa indonesia Pre- artinya sebelum dan Processor- artinya pemroses. Didalam bahasa pemrograman C/C++ Preprocessor adalah proses yang dilakukan sebelum program di kompilasi. Preprocessor biasa digunakan untuk menuliskan sebuah makro, penggunaan pustaka (library), kompilasi berkondisi (conditional compiling), error generation, pragma.



Didalam bahasa pemrograman C/C++ terdapat beberapa Preprocessor yang dapat digunakan untuk melakukan suatu pekerjaan :

Penulisan Makro dan Pendefinisian konstan

   #define
   #undef

direktif preprocessing #define dan #undef dapat digunakan sebagai pendefinisian nilai tertentu.Identifier ini dapat berupa konstan atau funsi makro.

syntax:
    #define identifier replacement
    #undef  identifier

Identifier yang didefinisikan dengan #define akan terbaca atau dapat diakses didalam source code sampai dengan bertemu #undef

contoh:

#include
#include

#define KONSTAN 99

main()
{
    cout << "nilai KONSTAN = " << KONSTAN;
    getch();
}


Fungsi makro
Sebuah fungsi makro dapat didefinisikan dengan #define dengan format sebagai berikut

syntax:

    #define identifier(parameter-list) (replacement-text)       

contoh:

#include
#include

#define VOLUME_KUBUS(s) (s)*(s)*(s)

main()
{
    int n;
    int vol;

    cout << "masukan sisi kubus : ";
    cin >> n;

    vol = VOLUME_KUBUS(n);
    cout << "volume kubus dengan sisi " << n << " = " << vol;

    getch();
}


File inclusion untuk menggunakan pustaka

    #include

direktif #include dapat digunakan untuk header file eksternal yang akan diproses oleh compiler

syntax:

    #include <header-file>
                               atau
    #include "header-file"

contoh:

#include
#include

main()
{
    cout << "menggunakan file header dari iostream libraries\n";
    getch();
}


Kompilasi berkondisi (conditional compiling)

    #if
    #else
    #endif
    #ifdef
    #ifndef
    #elif
    #if defined
    #if !defined

Preprocessor di atas digunakan untuk mengontrol bagaimana source code program akan dikompilasi

Syntax:
    #if constant_expression
    #else
    #endif

    atau

    #if constant_expression
    #elif constant_expression
    #endif


    #ifdef identifier
    #else atau #elif
    #endif

    #ifndef identifier
    #else atau #elif
    #endif


    #ifdef identifier sama seperti menggunakan #if defined(identifier)
    #ifndef identifier sama seperti menggunaka #if !defined(identifier)

Compiler hanya mengkompilasi code setelah ekspresi #if jika constant_expression menghasilakan nilai tidak nol (true). Jika nilai adalah 0 (false), maka compiler akan mengabaikan baris kode sampai bertemu dengan #else, #elif, atau #endif. Direktif #ifdef dan #ifndef dapat digunakan untuk kompilasi berkondisi dari beberapa baris kode berdasarkan sudah atau belumnya identifier didefinisikan

contoh:

#include
#include

main()
{
    #if 1
        cout << "YuuuHuuuu\n";
    #else
        cout << "Blink_Blink\n";
    #endif

    getch();
}

Jika nilai setelah #if diganti dengan 0 maka yang akan tampil kata Blink_Blink


#include
#include

#define BAKPAO

main()
{
    
    cout << "makan mie ayam"

    #ifdef BAKPAO
        cout << " tambah bakpao";
    #endif

    getch();
}

Jika definisi BAKPAO di beri comment maka yang akan tampil adalah kata "makan mie ayam"


Error generating

direktif #error akan menghentikan proses kompilasi dan akan menampilkan pesan error

Syntax:

    #error message

contoh:

//#define JALAN
#ifndef JALAN
#error kompilasi dibatalkan karena kondisi tidak terpenuhi
#endif

#include

main()
{

    // tidak melakukan apa-apa
}

Hilangkan comment pada definisi #define JALAN untuk mengkompile

artikel ini disalin lengkap dari: http://algorpem12mi.blogspot.co.id/2010/10/preprocessor.html
halaman utama website: http://algorpem12mi.blogspot.co.id/
jika mencari artikel yang lebih menarik lagi, kunjungi halaman utama website tersebut. Terimakasih!

No comments:

Not Indonesian?

Search This Blog