Jumat, 18 Januari 2013

Preprosesor Dalam Bahasa C

Preprosesor dalam bahasa C

                Dalam Bahasa C mencakup beberapa intruksi preprocessor yang digunakan untuk memberikan perintah pada compiler. Perintah-perintah preprocessor tersebut adalah:
1.      #define
2.      #elif
3.      #else
4.      #endif
5.      #error
6.      #if
7.      #ifdef
8.      #ifndef
9.      #include
10.  #inline
11.  #pragma
12.  #undef

Masing-masing fungsi tersebut akan dijelaskan secara singkat dibawah ini. (intruksi yang berhubungan dengan #elif, #else, #endif, #ifdef, dan #ifndef  semuanya dijelaskan dalam #if).

#Define
“#define” digunakan untuk melaksanakan subtitusi makro dari satu lembar teks satu denga lembar teks yang lain melalui suatu file dimana teks tersebut digunakan.
Bentuk Umumnya:
            #define namecaracter-sequence
Perhatikan, bahwa dalam perintah ini, tidak ada tanda titik koma. Selanjutnya, bila karakter pertama berhasil, maka dia akan berhenti  hanya pada akhir baris. Contoh, jika kita ingin memakai “TRUE” untuk angka 1 dan “FALSE” untuk angka 0, maka kita buat dua #define makro :
            #define TRUE 1
            #define FALSE 0
            Pada contoh tersebut, compiler akan mengganti  1 dan 0 setiap menjumpai TRUE dan FALSE.
            Intruksi #define mempunyai feature kuat yang lain:  suatu makro mempunyai argument. Makro yang mempunyai argument akan bekerja sama dengan fungsi. Setiap ditemukan makro, maka argument akan bergabung dengan makro yang ditempatkan oleh argument actual tersebut yang berada pada program.
Contoh:
            #include “stdio.h”
            #define ABS (a) (a) <0  ? – (a)  : (a)
            main (void)
            {
            Printf(“abs of -1 and 1 : %d %d”, ABS (-1), ABS (1));
            Return 0;
            }
            Ketika rogram tersebut di compile, “a” pada definisi makro akan diganti dengan angka -1 dan 1, tanda kurung yang ada di “a” sangat diperlukan untuk meyakinkan subtitusi pada semua hal yang semestinya.

#Error
                Intriksi #error akan memaksa compiler untuk menghentikan suatu kompilasi. Pada pokonya #error ini digunakan dalam “debugging”.
Bentuk Umumnya:
            #error message
Jika dijumpai #error , maka akan terlihat suatu pesan dan angka baris.

#if, #elif, #else, #endif, #ifdef, dan #ifndef 
                Intruksi-intruksi tersebut digunakan pada beberapa porsi variasi compile secara selektif. Ide yang umum adalah bahwa jika suatu ekspresi setelah #if, #ifdef, atau #ifndef adalah benar, maka kode yang berada diantara salah satu dari mereka dan #endif, akan tersusun;  tapi jika yang terjadi sebaliknya,  maka akan terlompati. #endif digunakan untuk menandai akhir suatu blok. Intruksi #else dapat digunakan dengan salah satu dari mereka dengan cara yang sama, yaitu dengan “else” pada perintah C.
Bentuk Umum pada #if:
#if constant-expression
Jika ekspresi konstanta tersebut betul, maka blok kode akan tersusun.
Bentuk Umum pada #ifdef:
            #ifdef macro-name
Jika nama makro telah ditentukan dengan #define, maka blok kode berikutnya akan tersusun.
Intruksi #elif digunakan untuk membuat suatu perinyah “if-else-if”.
Bentuk Umumnya:
            #elif constant-expression
#elif dapat digunakan dengan #if, tai tidak dengan #ifdef dan #ifndef.

#Include
                Intruksi #include akan memerintah compiler membaca dan menyusun file sumber yang lain.
Bentuk Umumnya:
            #include “filename” atau #include <filename>
File sumber yang akan dibaca harus ditutup antara tanda kurung atau tanda kurung lancip. Jika nama file ditutup dengan tanda kurung lancip, maka file akan dicari dengan cara yang telah ditentukan oleh kreasi dari compiler.
            Sering kali ini berarti suatu pencurian beberapa direktori khusus yang didalamnya terdapat file.
            Jika nama file ditutup dengan tanda kurung, maka file akan dicari dengan cara yang telah ditantukan implementasinya. Pada beberapa implementasi hal ini berarti pencarian direktori yang sedang aktif bekerja. Jika file tidak ditemukan maka pencarian akan diulang seolah nama file ditutup dengan tanda kurung lancip. Kita harus melihat buku manual compiler agar kembali mengetahui detil perbedaan antara tanda kurung dengan tanda kurung lancip.
            #include dapat diletakan pada file-file yang ada lainnya. Contoh: #include<stdio.h>.

#Line
Intruksi #line digunakan untuk mengubah isi dari “ __LINE__” dan “__FILE__”, yang telah ditentukan pada compiler.
Bentuk utamanya: #line number “filename
Dimana”number” adalah integer positif, dan “filename” adalah identifier  ayng valid. “number” akan menjadi angka baris sumber dan “filename” akan menjadi nama file sumber. Nama dari file adalah optional. #line pada pokonya digunakan untuk “debugging” suatu tujuan dan aplikasi khusus.

#pragma
                Instruksi #pragma adalah suatu instruksi yang telah didefinisikan implementainya, yang memungkinkan suatu variasi instruksi yang diberikan pada compiler. Contoh suatu compiler mungkin mempunyai suatu pilihan untuk mendukung pembuatan penggandaan program. Pilihan penggandaan (trace), kemudian akan ditentukan oleh perintah #pragma.

#undef
                Instruksi #undef digunakan untuk memindah definisi yang telah ditentukan sebelumnya dari nama makro yang mengikutinya.
Bentuk umumnya:
            #undef macro-name




Persamaan dan Perbadaan C dengan C++

Bahasa C merupakan hasil pengembangan dari bahasa B yang ditulis oleh Ken Thompson pada tahu 1970 yang akarnya yaitu dari bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Sedangkan bahasa C sendiri di tulis oleh Brian W. Kernighan dan Denies M. Ritchie pada tahun 1972. Bahasa C pada awalnya dioperasikan pada sistem operasi UNIX.
Bahasa C merupakan bahasa pemrograman tingkat menengah yang berada diantara bahasa tingkat rendah dan bahsa tingkat tinggi yang biasa disebut dengan bahasa Assambly. Bahasa C mempunyai banyak kemampuan, diantaranya membuat perangkat lunak seperti dBASE, Word Star, dan lain-lain. Pada tahun 1980, seorang ahli Bjarne Stroustrup mengembangkan beberapa hal dari bahasa C yang kemudian dinamakan C with Classes karena disini lebih berbasis objek. Dan kemudian pada tahun 1983 berganti nama C++.
Pada C++ ini terdapat tambahan object Oriented Programming (OOP) yang tujuan utamanya adalah membantu dalam membuat dan mengelola program yang besar dan kompleks.C++ merupakan bahasa yang powerfull. Tidak sedikit dari bahasa pemrograman yang familiar sekarang merupakan pengembangan dari C++ seperti PHP (PHP Hypertext Preprocessor). Banyak hal yang bisa dilakukan dengan C++ seperti membuat aplikasi game. C++ lebih banyak digunakan untuk aplikasi server karena kapasitasnya yang tidak terlalu besar.
Jadi, buat para pembaca yang gila dengan C++ jangan takut karena C++ adalah bahasa pemrograman yang bukan tergolong baru.

Kelebihan bahasa C++ :
·         Kode bahasa C++ dengan portabilitas dan fleksibilitas yang tinggi untuk semua jenis komputer.
·         bahasa Standard-nya ANSI bisa dipakai diberbagai platform.
·         kecepatan program jika dibanding dengan program yang sama buatan bahasa lain, relatif lebih cepat.
·         Bahasa C++ tersedia hampir di semua jenis komputer.
·         Bahasa C++ hanya menyediakan sedikit kata-kata kunci (hanya terdapat 48 kata kunci).
·          Dukungan pustaka fungsi dan kelas yang banyak sehingga memungkinkan pembuatan aplikasi makro.
·          C++ adalah bahasa yang terstruktur, dengan demikian akan lebih mendukung OOP.
·         Bahasa C++ termasuk bahasa tingkat menengah dan lebih dekat dengan bahasa mesin.
·         Kode program bersifat reuseable, sehingga dapat digunakan kembali pada project lain dengan hanya menggunakan library dan  file header.
·         C++ dapat membuat aplikasi graphic processor berkualitas tinggi.

Kelemahan Bahasa C++ :
·         C++ tidak murni OOP sehingga kurang cocok untuk mengajarkan Konsep OOP karena kaidah-kaidah OOP dapat dilanggar.Dan
di C++ ada konsep pointer yang sangat membingunkan, ini salah satu alasan mengapa C++ menjadi momok yg paling tidak
disukai.
·         C++ walapun tidak terpengaruh oleh Sistem Operasi tetapi tool untuk developmentnya harus spesific pada salah satu sistem operasi contoh Visual Studio hanya dapat berjalan di Windows. Alasan ini juga nantinya akan dapat menurunkan minat terhadap sistem operasi yang lain contohnya Linux. Apabila dalam praktiknya menggunakan Visual Studio maka otomatis akan menggunakannya juga dan pada akhirnya malas untuk mencoba sistem operasi yang lain.
·         Implementasi C++ dalam teknologi IT pada saat sekarang sudah sangat sedikit sekali.
·         “susah” untuk membuat sesuatu dengan C++ sehingga kepeminatannya dalam memperdalam Programming akhirnya harus kandas
kecuali dengan inisitif sendiri mempelajari bahasa/teknologi lain.




Tidak ada komentar:

Posting Komentar