PENDAHULUAN
A. TEKNIK KOMPILASI
Teknik kompilasi telah lama diberikan di lingkungan pendidikan tinggi bidang computer
di Indonesia. Pembahasan dalam mata kuliah ini biasanya berkisar pada teori automata,
teori kompilasi, teori grammar. Praktek teknik kompilasi pun telah diberikan di lingkungan
laboratorium, walau biasanya masih terbatas pada demonstrasi hal teori, ataupun sekedar
pengenalan compiler yang ada atau banyak digunakan.
Pada dasarnya pengetahuan pembuatan kompiler (compiler construction) ini merupakan
pengetahuan dasar komputasi yang sangat baik sekali. Pengetahuan ini dimanfaatkan pada
beragam aplikasi nantinya. Misal teknik parsing, pengenalan pola teks, optimasi kode dan
lain sebagainya. Bahkan suatu database engine pun di bagian “front end” selalu
menggunakan parsing ini. Pengetahuan tentang kompilasiakan dapat memberikan landasan
bagi programmer untuk menyusun program yang efektif dan efisien. Ketika seseorang
melakukan pemrograman, sebetulnya secara tidak sadar dia akan melakukan proses
penambahan suatu bahasa. Misal pembuatan suatu fungsi (ataupun prosedur) pada
dasarnya merupakan suatu proses “penambahan kosa-kata”dari bahasa pemrograman
tersebut. Dari yang tadinya tidak memiliki fungsi tersebut hingga akhirnya ditambahkan
suatu “vocabulary” untuk melakukan suatu fungsi tersebut. Untuk itulah pemahaman
penyusunan kompiler merupakan suatu dasaryang utama dalam bidang ilmu komputer.
Jadi Teknik Kompilasi Merupakan Teknik dalam melakukan pembacaan suatu program
yang ditulis dalam bahasa sumber, kemudian diterjemahkan ke dalam suatu bahasa lain yang
disebut bahasa sasaran
Dalam melakukan proses penerjemahan tersebut, sudah barang tentu kompilator akan
melaporkan adanya keanehan-keanehan atau kesalahan yang mungkin ditemukannya.
Proses penerjemahan yang dilakukan oleh kompilator ini disebut proses kompilasi
(compiling).
Bila dipandang sepintas lalu, maka akan timbul beranekaragam kompilator yang dapat
dibuat,yaitu :
a. Bahasa Sumber seperti bahasa FORTRAN, PASCAL, C dan juga bahasa-bahasa lainnya
yang sifat dan pemakaiannya agak spesifik atau khusus, seperti bahasa untuk
program DBASE, SPSS dan lain sebagainya.
1
b. Bahasa Sasaran dapat berupa bahasa sumber lain seperti C, FORTRAN dan lain
sebagainya atau Bahasa Mesin (Machine Language) yang digunakan oleh suatu
prosessor mikro atau sumber komputer besar maupun komputer super. Sejarah
perkembangan suatu kompilator sudah dimulai sejak lama, yaitu pada saat mulai
ditemukannya komputer pada awal 1950-an. Sejak waktu tersebut teknik dan cara
pembentukan suatu kompilator telah berkembang dengan sangat pesat dan
pembentukkan suatu kompilator dapat dilakukan makin mudah. Demikian pula
program bantu (tools) untuk membuat suatu kompilator sudah dapat diperoleh
sehingga pembentukan suatu kompilator dapat dilakukan dengan cepat. Kompilator
pertama yang dibuat adalah kompilator untuk bahasa FORTRAN yang pada saat itu
dikembangkan dengan memakan sejumlah tenaga ahli yang setara dengan pekerjaan
yang dilakukan oleh 18 orang. Dengan adanya program bantu dan tata cara
pembentukan yang sistematis dan tertata dengan baik serta pendefinisian struktur
bahasa yang cermat, maka suatu kompilator untuk bahasa yang terstruktur seperti
PASCAL atau C dapat dikembangkan. Proses kompilasi dari suatu kompilator pada
dasarnya dapat dibagi ke dalam 2 bagian utama yaitu bagian analisis dan bagian
sintesis.
B. KOMPILATOR
Kompilator adalah suatu program yang membaca program yang ditulis dengan bahasa
tertentu (bahasa sumber) dan menerjemahkannya kedalam bahasa lain (bahasa tujuan).
Contoh bahasa sumber adalah bahasa pemrograman tradisional seperti Fortran, pascal, dll.
2
Sedangkan bahasa tujuan pada umumnya merupakan bahasa mesin atau bahasa assemby
yang tergantung terhadap jenis mesinnya.
Proses kompilator dapat digambarkan sebagai berikut :
a.
I. PEMBAGIAN KOMPILASI
Proses kompilasi dari suatu kompilator pada dasarnya dapat dibagi ke dalam 2 bagian
utama yaitu bagian analisis dan bagian sintesis.
Tahap analisis program yang ditulis dalam bahasa sumber dibagi dan dipecah ke
dalam beberapa bagian yang kemudian akan dipresentasikan ke dalam suatu
bentuk antara dari program sumber. Operasi-operasi yang dilakukan oleh
program sumber ditentukan dan dicatat dalam suatu struktur pohon (tree) yang
disebut dengan nama pohon sintaks (sintax tree) Dalam hal ini setiap nodal pada
tree tersebut menyatakan suatu operasi, sedangkan anak dari nodal (titik)
tersebut memberikan argumen yang diperlukan. Secara umum proses dalam
tahap analis terdiri dari 3 bagian utama, yaitu
a. Proses analisis leksikal
b. Proses analisis sintaktik
c. Proses analisis semantic
3
Bagan pokok proses kompilasi
Keterangan :
Program sumber : ditulis dalam bahasa sumber, misal pascal assembler,dsb
Program sasara : dapat berupa bahasa pemrograman lain atau bahasa mesin pada
suatu komputer
Scaner : memecah program sumber menjadi besaran leksik/token
Parser : memeriksa kebenaran dan urutan kemunculan token
Penganalisa sematik : melakukan analisa sematik, biasanya dalam realisasi akan
digunakan dengan intermediate code generator (bagian yang berfungsi
membangkitkan kode antara)
Pembentuk kode : membangkitkan kode objek
Pengoptimal kode : memperkecil hasil dan mempercepat proses
Tabel : menyimpan semua informasi yang berhubungan dengan proses kompilasi
4
tersebut agar tidak terdeteksi antivirus, maka kita harus memberi penanda lain. Dengan
menjalankan modul compiler tersebut kita dapat memberi penanda virus A dengan karakter
5
2. Translator
Interpreter
Interpreter tidak membangkitkan object code, hasil translasi hanya dalam bentuk
internal. Contoh interpreter: BASICA/GW-BASIC, LISP, SMALLTALK. Source code dan data
diproses pada saat yang sama. Proses interpretasi dapat dilihat pada gambar 1.3.
6
4 KOMPILATOR
7
DAFTAR PUSTAKA
1. http://telaga.cs.ui.ac.id/~heru/publications/ModeUserGuidelPascal.pdf
2. http://lecturer.ukdw.ac.id/anton/download/KOMPILER-Modul5.pdf
3. http://pakhartono.files.wordpress.com/2009/10/otomata_01.pdf
4. http://dharmayanti.staff.gunadarma.ac.id/Downloads/files/17573/1Pendahuluan+Ko
mpilasi+%5BCompatibility+Mode%5D.pdf
5. http://fsolihin.files.wordpress.com/2009/09/12-bapk-teknik-kompilasi.pdf
6. http://kuliahonline.unikom.ac.id/?go/kuliah/&getMateriFile=NjMxMQ%3D
%3D&kID=MTE5OQ%3D%3D