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 <iostream.h>
#include <conio.h>
#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 <iostream.h>
#include <conio.h>
#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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
#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 <iostream.h>
main()
{
// tidak melakukan apa-apa
}
Hilangkan comment pada definisi #define JALAN untuk mengkompile
Referensi
http://en.wikipedia.org/wiki/C_preprocessor
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/1.7.html
C Programming Language (ANSI C) K&R
Kelompok_12:
Ennos Mattan Manalu : 12108849
Nurulirfan : 12107065
Tukiyat : 12108345
Irfan Fahmi : 12108259
Hendri Baskoro : 12106014
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 <iostream.h>
#include <conio.h>
#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 <iostream.h>
#include <conio.h>
#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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
#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 <iostream.h>
main()
{
// tidak melakukan apa-apa
}
Hilangkan comment pada definisi #define JALAN untuk mengkompile
Referensi
http://en.wikipedia.org/wiki/C_preprocessor
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/1.7.html
C Programming Language (ANSI C) K&R
Kelompok_12:
Ennos Mattan Manalu : 12108849
Nurulirfan : 12107065
Tukiyat : 12108345
Irfan Fahmi : 12108259
Hendri Baskoro : 12106014
How To Make Money in Slot Machines - Work-Tomake Money
BalasHapusMake Money From Slot Machines and win real money on slot machines, but make money through other ways, like winning real money. For example, you หารายได้เสริม can make