Teknik Kompilasi

Sebelumnya pena wikara telah posting arsitektur dan organisasi komputer. Kali ini pena wikara akan membahas apa itu teknik kompilasi.

Teknik ialah metode atau cara. Sedangkan kompilasi merupakan suatu proses penterjemahan dan penggabungan dari suatu program awal (source code) ke bentuk bahasa sasaran (on target language/object code). Bahasan mengenai dasar teknik kompilasi diantaranya :

  1. Translator
  2. Bahasa Pemograman
  3. Model Kompilator

TRANSLATOR

Adalah suatu program di mana mengambil input program dari source code kemudian dituliskan dalam bentuk object code. Atau translator dapat dikatakan sebagai perubahan dari source code ke object code. Proses penterjemahan dilakukan oleh kompilator disebut compiling atau kompilasi. Kompilator (compiler) bertugas untuk melaporkan jika kemungkinan terjadinya kesalahan/error.

Ada 3 jenis translator :

A. Assembler

  • Source Code : bahasa assembly
  • Object Code : bahasa mesin

contoh : Turbo assembler, marco assembler

assemblerB. Compiler / Kompilator

Sebuah program yang membaca suatu program yang dituliskan ke dalam suatu bahasa sumber dan menerjemahkannya ke dalam suatu bahasa.

  • Source Code : tingkat tinggi
  • Object Code : bahasa mesin/assembly
  • Source Code dan data diproses pada saat yang berbeda

compilerC. Interpreter

Sebuah program yang digunakan untuk menterjemahkan, mengeksekusi dan memberikan hasil dari eksekusi instruksi masukannya. Interpreter tidak membangkitkan object code, hasil translasinya dalam bentuk internal. Source code dan data diproses pada saat yang sama.

interpreter

BAHASA PEMOGRAMAN

Bahasa dan tingkat ketergantungannya dengan mesin dibedakan atas 4 :

  1. Mesin Language/Bahasa Mesin
  2. Bahasa Pemograman/Bahasa Manusia
  3. Bahasa Assembly
  4. Bahasa yang problem oriented

Mesin Language/Bahasa Mesin

Merupakan bentuk terendah dari bahasa komputer. Disebut low level language -> object language. Bahasa mesin berkomunikasi langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, register. Setiap instruksi dalam program direpresentasikan dengan kode numerik berupa deretan angka nol dan satu (0,1). Setiap instruksi dalam bahasa mesin, dibentuk menjadi micro code yaitu seperti prosedur dalam bahasa mesin.

Bahasa Pemograman/Bahasa Manusia

Merupakan high level language -> user oriented. Contoh : cobol, portran, pascal, C, C++, dll. Disebut bahasa tingkat tinggi karena memberikan fasilitas yang lebih banyak, kontrol program yang terstruktur, dan mudah dipahami manusia.

Bahasa Assembly

Merupakan bentuk simbolik dari bahasa mesin, setiap code operasi program memiliki kode simbolik. Contoh :

penjumlahan : ADD (addition)

perkalian : MUL (multiplication)

Pada bahasa assembly tersedia alat bantu untuk debug yang tidak terdapat pada bahasa mesin. contoh : turbo assembler dari borland, marco assembler dari microsoft

Bahasa yang Problem Oriented

Memungkinkan penyelesaian untuk suatu masalah dengan aplikasi yang lebih spesifik. Contoh :

Database : SQL, Oracle, Acess, dll

Multimedia : Flash Mx,Corel draw, dll

Arsitek : Autocad, 3D Max, Cogo

MODEL KOMPILATOR

Sebuah kompilator umumnya dibedakan atas 2 :

  1. Fungsi analisis (Front End). Bertugas melakukan dekomposisi program sumber menjadi bagian-bagian dasarnya.
  2. Fungsi synthesis (Back End). Bertugas melakukan pembangkitan kode dan optimasi program object.

model kompilator

Keterangan :

  1. Scanner, memecah program sumber menjadi besaran leksikal.
  2. Parser, memeriksa kebenaran dan urutan kemunculan token.
  3. Analisis Semantic, melakukan analisa semantic biasanya dalam realisasi akan digabungkan dengan intermediate, code generator atau bagian yang berfungsi membangkitkan kode antara.
  4. Code generator, untuk membangkitkan kode objek.
  5. Code optimizer, untuk memperkecil hasil dan mempercepat proses.
  6. Tabel simbol, menyimpan semua informasi yang berhubungan dengan proses kompilasi.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s