Anda di halaman 1dari 6

TEKNIK KOMPILASI Pertemuan 1 Dosen : Tri Ari Cahyono, S.Kom, M.

Kom -----------------------------------------------------------------------------KATA TEKNIK KOMPILASI - Teknik adalah suatu metode atau cara - Kompilasi adalah suatu proses mengabungkan serta menterjermahkan sesuatu (source program) menjadi bentuk lain. - Compile : To translate a program written in a high-level programming language into machine language. BAHASA PEMROGRAMAN - Program adalah deretan instruksi yang digunakan untuk mengendalikan komputer. - Program dibuat menggunakan bahasa pemrograman. - Bahasa Pemrograman (programming language)merupakan kosa kata atau aturan-aturan gramatik untuk memberikan perintah kepada komputer untuk melaksanakan suatu tugas. - Kumpulan aturan ini disebut syntax. TINGKATAN BAHASA PEMROGRAMAN Bahasa mesin pada komputer hanya mengenal 0 dan 1. Agar user dapat berkomunikasi dengan komputer diperlukan bahasa pemrograman. 1. Bahasa Tingkat Rendah (Low Level Language) Bahasa perograman yang menggunakan bahasa mendekati bahasa mesin. Contoh : Bahasa Assembly 2. Bahasa Tingkat Menengah (Middle Level Language) Bahasa pemrograman yang menggunakan aturan-aturan (syntax) dalam penulisan pernyataannya yang mudah dipahami dan memiliki instruksi/sintax tertentu yang dapat langsung diakses oleh komputer. Contoh : Bahasa C 3. Bahasa Tingkat Tinggi (High Level Language) Bahasa pemrograman yang penulisan pernyataannya (syntax) mudah dipahami secara langsung oleh manusia. (karena syntax nya menggunakan bahasa manusia). Contoh : Bahasa PASCAL

4. Apiklasi Bahasa Pemrograman (Application Level Language) Bahasa pemrograman tingkat tinggi yang didukung vasilitas visual untuk membuat antarmuka. Contoh : Delphi TRANSLATOR Translator adalah suatu program dimana mengambil input sebuah program yang ditulis pada satu bahasa program (source language) ke bahasa lain (The object on target language). Ada beberapa jenis translator untuk menterjemahkan agar dikenali oleh mesin, diantaranya : 1. Assembler Source code adalah bahasa assembly, Object code adalah bahasa mesin

*.asm

assembler

object code

Gambar penerjemah assembler

2. Compiler Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa assembly. Source code dan data diproses berbeda.
data

source code

compiler

execution

object code

hasil

Gambar Penterjemah Compiler

3. Interpreter Interpreter tidak menghasilkan bentuk object code, tetapi hasil translasinya hanya dalam bentuk internal, dimana program induk harus selalu ada-berbeda dengan compiler.

source code

Translator

hasil

data

Gambar penterjemah interpreter

TAHAPAN COMPILER Kompilator (compiler) adalah sebuah program yang membaca suatu program yang ditulis dalam suatu bahasa sumber (source language) dan menterjemahkannya ke dalam suatu bahasa sasaran (target language). Proses kompilasi dikelompokan ke dalam dua kelompok besar : 1. Tahap Analisa (Front-end) Program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (intermediate representation) 2. Tahap Sintesa (Back-end) Membangun program sasaran yang diinginkan dari bentuk antara.

Gambar tahapan kompilasi Tahap-tahap yang harus dilalui pada saat mengkompilasi program, yaitu: 1. Analisa Leksikal 2. Analisa Sintaks 1-4 Tahap analisa (front-end) 3. Analisa Semantik 4. Pembangkit Kode Antara

5. Code optimization 6. Object code generation

5-6 Tahap sintesa (back-end)

Gambar Skema Blok Kompilator Keterangan : - Analisa Leksikal (scanner) Berfungsi memecah teks program sumber menjadi bagian-

bagian kecil yang mempunyai satu arti yang disebut token, seperti : konstanta, nama variabel, keyword, operator. Analisa Sintaks(parser) Berfungsi mengambil program sumber (sudah dalam bentuk barisan token) dan menentukan kedudukan masing-masing token berdasarkan aturan sintaksnya dan memeriksa kebenaran dan urutan kemunculan token. Analisa Semantik Berfungsi menentukan validitas semantiks/keberartian program sumber. Biasanya bagian ini digabung dengan Pembangkit kode antara (intermediate code generator). Pembangkit Kode Antara Berfungsi membangkitkan kode antara.

Code optimation Berfungsi mengefisienkan kode antara yang dibentuk.

Code generator Berfungsi membangkitkan kode program target dalam bahasa target yang ekivalen dengan bahasa sumber .

Symbol table management Berfungsi mengelola tabel simbol selama proses kompilasi. Tabel simbol adalah struktur data yang memuat record untuk tiap identifier dengan atribut-atribut identifier itu.

Penangan Kesalahan (Error handler) Berfungsi menangani kesalahan yang berlangsung selama proses kompilasi.

MUTU COMPILER a. Kecepatan dan waktu proses kompilasi Hal ini tergantung dari algoritma untuk menulis kompiler pengkompilasi. b. Mutu program objek Dilihat dari ukuran dan kecepatan eksekusi program. c. Integrated Development Environtment (IDE) Fasilitas-fasilitas terintegrasi yang dimiliki oleh kompiler. Misalnya untuk debugging, editing, dan testing. Contoh : bandingkan antara compiler Pascal dan Clipper. kompiler itu dan

BOOTSTRAP Metode Bootstrap dikembangkan oleh Nikolaus Writh, penulis bahasa Pascal. Metode Bootstrap adalah pembuatan kompilator secara bertingkat.

Gambar Metode Bootstrap

Metode ini menganggap bahwa C dibangun dengan Assembly, B dibangun dengan C, dan A dibangun dengan B. Jadi compiler dapat dikembangan sebelumnya. secara Metode keseluruhannya Bootstrap berarti dengan menulis bahasa-bahasa suatu bahasa

dengan kompiler versi sebelumnya.

Anda mungkin juga menyukai