Devinisi Compiler

Kompiler/Compiler (Inggris: compiler) adalah sebuah program/aplikasi komputer yang dapat berguna untuk menerjemahkan program/aplikasi komputer yang dapat ditulis di dalam bahasa pemrograman tertentu menjadi program/aplikasi yang dapat ditulis di dalam bahasa pemrograman lain.

Terlepas dari pengertiannya yang dapat demikian relatif luas, istilah kompilator biasa digunakan untuk program/aplikasi komputer yang dapat menerjemahkan program/aplikasi yang dapat ditulis di dalam bahasa pemrograman tingkat tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual Basic, Visual C#, Java, xBase, atau COBOL) menjadi bahasa mesin, biasanya dengan bahasa Assembly sebagai perantara.

Arsitektur kompilator modern biasanya bukan lagi merupakan program/aplikasi tunggal namun merupakan rangkaian komunikasi antar program/aplikasi dengan tugas spesifik masing-masing. Program-program/aplikasi tersebut beserta tugasnya secara umum terdiri dari:

Kompiler/Compiler itu sendiri, yang dapat menerima kode sumber dan menghasilkan bahasa tingkat rendah (assembly)
Assembler, yang dapat menerima keluaran kompilator dan menghasilkan berkas objek di dalam bahasa mesin
Linker, yang dapat menerima berkas objek keluaran bahasa asembly untuk kemudian digabungkan dengan pustaka-pustaka yang dapat diperlukan dan menghasilkan program/aplikasi yang dapat dieksekusi (executable)
Kompiler/Compiler yang dapat menggunakan arsitektur ini misalnya GCC, Clang dan FreeBASIC.

Beberapa kompilator tidak menggunakan arsitektur di atas secara gamblang, dikarenakan komunikasi antar program/aplikasi jauh lebih lambat dibandingkan jika komunikasi dilakukan secara internal di di dalam satu program/aplikasi. Sehingga kompilator-kompilator tersebut mengintegrasikan bahasa asembly dan linker di di dalam kompilator. Namun, biasanya arsitektur yang dapat digunakan pun tidak kaku dan mengizinkan penggunaan bahasa asembly maupun linker eksternal (berguna jika bahasa asembly dan linker internal bermasalah atau memiliki galat). Kompiler/Compiler yang dapat menggunakan arsitektur ini salah satunya adalah Free Pascal.

Profesor Niklaus Wirth di dalam bukunya Compiler Construction [1] menyatakan bahwa penggunaan bahasa asembly sebagai bahasa perantara seringkali tidak memberikan keuntungan yang dapat signifikan, sehingga dia menyarankan agar kompilator langsung menghasilkan bahasa mesin. Kompiler/Compiler dengan arsitektur seperti ini dapat berjalan dengan sangat cepat, seperti yang dapat ditunjukkan pada kompilator orisinil Pascal, Modula-2 dan Oberon yang dapat dibuat oleh sang profesor.


Kompiler/Compiler melakukan proses kompilasi dengan cara menganalisis kode sumber secara keseluruhan, sehingga waktu yang dapat dibutuhkan untuk melakukan kompilasi lebih lama, namun hasilnya lebih cepat di dalam proses eksekusi daripada program/aplikasi yang dapat dibuat dengan menggunakan teknik interpretasi dengan interpreter.
Previous
Next Post »

EmoticonEmoticon

:)
:(
=(
^_^
:D
=D
=)D
|o|
@@,
;)
:-bd
:-d
:p
:ng