Kamis, 02 Januari 2014

KOMPILASI


1.Bahasa Pemrograman
Untuk memanfaatkan computer, kita perlu berkomunikasi dengan computer tersebut. Segala instruksi lepada computer harus disusun lebih dahulu dan harus ditulis dalam bahasa yang hendaknya dapat dimengerti oleh computer. Bahasa seperti ini yang dimaksud dan dikenal sebagai bahasa pemrograman. 

Dalam pemrograma computer, suatu bahasas pemrograman berfungsi melayani, sebagai suatu alat komunikasi antara kita dengan suatu masalah yang akan diselesaikan. Dengan bahasa pemrograman, kita menulis program penyelesaian masalah tersebut dan disini computer meniling untuk menyelesaikan masalah tersebut. 

Suatu program penyelesai masalah akan lebih mudah dan alami untuk kita peroleh jika bahasa pemrograman yang digunakan cukup sesuai dengan tipe masalah. Bahasa pemrograman harus mengandung susunan serta struktur yang mencerminkan terminology elemen yang digunakan dalam penyajian masalah dan hendaknya bebas dari computer yang digunakan. 

Hirarki atau tingkatan dari bahasa pemrograman berdasarkan pada peningkatan kebebasan mesin yaitu:
a.Bahasa Mesin
b.Bahasa Rakitan
c.Bahasa Tingkat Tinggi
d.Bahasa Berorientasi Masalah

2.Translator
Input dari sebuah penterjemah atau translator adalah sebiah program yang disebut program sumber atau source sumber. Program sumber ini selanjutnya diterjemahkan kedalam sebuah program obyek atau program target. Program sumber ditulis dalam suatu bahasa sumber (source language) dan program obyek kedalam suatu bahasa obyek (object language).

Suatu translator yang mentransformasikan suatu bahasa tingkat tinggi, seperti FORTRAN, PASCAL atau COBOL ke dalam bahasa mesin computer ke dalam bahasa rakitan disebut Kompilator atau Compiler. Waktu yang digunakan untuk mengkonversikan suatu program ke program obyek disebut waktu kompilasi atau compile time. Program obyek dijalankan dalam waktu yang disebut waktu pelaksanaan atau run time. 

Salah satu bentuk lain dari translator adalah interpreter. Pada Interpreter , proses terhadap suatu bentuk internal  dari program sumber dan proses terhadap data berlangsung pada waktu yang sama. 

3.Model Kompilator
Pekerjaan untuk membuat sebuah Kompilator untuk suatu bahasa sumber adalah teramat rumit. Kerumitan serta sifat dari proses kompilasi tergantung pada tingkat keluasan dari bahasa sumber. Kerumitan kompilator dapt dikurangi jika perancang bahasa pemrograman mempertimbangkan bermacam-macam factor perancangan.

Suatu Kompilator harus melaksanakan 2 tugas utama, yakni analisis terhadap program sumber, dan tugas sintesis memadukan menjadi program obyek yang ekivalen.

Suatu program sumber adalah suatu untai atau string dari symbol yang umumnya berupa huruf,angka atau symbol khusus seperti +,-,(,), dan sebagainya. Suat program sumber berisi bentuk dasar seperti :
-nama variable
-label
-konstanta
-kata kunci ataupun operator

4.Analisis Leksikal
Analisis Leksikal atau Scanner mempunyai tujuan untuk memisahkan naskah program sumber yang masuk, menjadi leksikografis terkecil atau Token misalnya konstanta, nama variable, kata kunci (seperti  DO, IF,THEN dalam PL/I). Pada hakikatnya tugas penganalisis Leksikal adalah melaksanakan sintaks tingkat rendah.

5.Analisis Sintaks
Penganalisis Sintaks lebih rumit dibandingkan dengan Penganalisis Leksikal. Fungsinya adalah menerima sumber dari Penganalisis Leksikal, dan selanjutnya penganalisis Sintaks akan menentukan struktur secara keseluruhan dari program sumber. Dalam melakukan analisis sintaks, kita memandang kelompok Token sebagai sintaks yang lebih besar seperti ekspresi, statement, dan prosedur Penganalisis Sintaks yang disebut Parser. Parser akan menghasilkan pohon Sintaks dan sejenisnya. Disini simpul daun merupakan Token, dan setiap simpul yang bukan daun mewakili suatu tipe kelas Sintaks. 

Sumber  : Pengantar Automata Bahasa Formal dan Komputasi , D. Suyadi H.S, Universitas Gunadarma

Tidak ada komentar:

Posting Komentar