Teknik Kompilasi      Abdul Wahid, ST, M.KomAlamat : Jl. Mawar No. 22 A SungguminasaTlp. 08152520599Email : wahid@unm.ac.i...
Pendahuluan    Tujuan Pembelajaran :    1. Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler   ...
1. Bahasa Pemrograman                            Bahasa                             mesin                                 ...
Bahasa tingkat tinggi     Bahasa mesin merupakan bentuk                                                       (user orient...
2. Translator      Translator melakukan pengubahan source code / source program kedalam target code / object code       In...
Interpreter                                      Penanganan                                       Kesalahan    Program    ...
Assembler                                                                                     File         Source         ...
Compiler     Definisi : Kompilator (compiler) adalah sebuah program yang membaca suatu program yang ditulis               ...
Blok Diagram         Program                                                                Program         Sumber        ...
Keterangan     1. Program Sumber ditulis dalam bahasa sumber, misal Pascal, Assembler, dsb     2. Program Sasaran dapat be...
Library Object                                                                               Code          Source         ...
Pembuatan Compiler     Pembuatan kompilator dapat dilakukan dengan :      1.      Bahasa Mesin              Tingkat kesuli...
Upcoming SlideShare
Loading in …5
×

1. pendahuluan kompilasi

1,650 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,650
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
41
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

1. pendahuluan kompilasi

  1. 1. Teknik Kompilasi Abdul Wahid, ST, M.KomAlamat : Jl. Mawar No. 22 A SungguminasaTlp. 08152520599Email : wahid@unm.ac.id / de_wahid@yahoo.comFB : Abdul Wahid YunusTwitter :@wahid_yunusWebsite : blog.unm.ac.id/wahidWahidlewa.worpress.com Pendahuluan 1
  2. 2. Pendahuluan Tujuan Pembelajaran : 1. Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler 2. Mahasiswa memahami konsep pembuatan sebuah Compiler 3. Mahasiswa mengetahui bagaimana sebuah bahasa pemrograman dapat diterjemahkan oleh mesin. Metari Pembelajaran 1. Bentuk-bentuk karakter dan kelas Grammar. 2. Ekspresi Regular dan Automata 3. Analisa Leksikal sebagai tahap awal kompilasi 4. Analisa Sintaks, bentuk-bentuk derivasi serta implementasi parsing. 5. Analisa Semantik dan tahapan Sintesa. 6. Penanganan kesalahan kompilasi dan fungsi tabel informasi. 2Pendahuluan
  3. 3. 1. Bahasa Pemrograman Bahasa mesin Bahasa Assembly Bahasa Pemrograman Bahasa Tingkat tinggi Bahasa Problem Oriented 3Pendahuluan
  4. 4. Bahasa tingkat tinggi Bahasa mesin merupakan bentuk (user oriented) lebih terendah dari bahasa komputer. banyak memberikan fungsi Instruksi direpresentasikan dalam kontrol program, kalang, kode numerik. block, dan prosedur. Program Language Bahasa problem oriented Bahasa Assembly merupakan bentuk sering juga dimasukkan sebagai simbolik dari bahasa mesin. Kode bahasa tingkat tinggi, misalnya ADD, MUL, dsb misalnya SQL, Myob, dsb. 4Pendahuluan
  5. 5. 2. Translator Translator melakukan pengubahan source code / source program kedalam target code / object code Interpreter dan Compiler termasuk dalam kategori translator. Interpreter  Tidak membangkitkan object code Translator  Source code dan data diproses bersamaan  Contoh, BASICA, SPSS, DBASE III Assembler Compiler  Source Code adalah bahasa tingkat tinggi.  Source Code adalah bahasa Assembly  Object Code adalah bahasa mesin atau assembly  Object Code adalah bahasa mesin  Source code dan data diproses tidak bersamaan  Contoh, Turbo Assembler  Contoh, PASCAL, C 5Pendahuluan
  6. 6. Interpreter Penanganan Kesalahan Program Analisa Analisa Intermediate Hasil Sumber Interpretasi Operasi Leksikal Sintaks Program Pengelolaan Tabel 6Pendahuluan
  7. 7. Assembler File Source Assembler Object Code Lingker Target Code .ASM .OBJ .EXE / .COM Proses Sebuah Kompilasi pada Bahasa Assembler • Source Code adalah bahasa Assembler, Object Code adalah bahasa mesin • Object Code dapat berupa file object (.OBJ), file .EXE, atau file .COM • Contoh : Turbo Assembler (dari IBM) dan Macro Assembler (dari Microsoft) 7Pendahuluan
  8. 8. Compiler Definisi : Kompilator (compiler) adalah sebuah program yang membaca suatu program yang ditulis Dalam suatu bahasa sumber (source language) dan menterjemahkannya kedalam suatu bahasa sasaran (target language) Proses kompilasi dapat digambarkan melalui sebuah blok diagram sebagai berikut : Program sumber Compiler Bahasa sasaran Pesan-pesan kesalahan (error messages) Proses Kompilasi dikelompokkan kedalam dua kelompok besar : 1. Analisa : Program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (Intermediate Representation ) 2. Sintesa : Membangun program sasaran yang diinginkan dari bentuk antara 8Pendahuluan
  9. 9. Blok Diagram Program Program Sumber Sasaran ANALISA SINTESA Penganalisa Penganalisa Penganalisa Semantik Pembentuk Pengoptimal Leksikal Sintaks Pembangkit kode kode (scanner) (parser) Kode antara TABEL SIMBOL Bagan pokok proses kompilasi 9Pendahuluan
  10. 10. Keterangan 1. Program Sumber ditulis dalam bahasa sumber, misal Pascal, Assembler, dsb 2. Program Sasaran dapat berupa bahasa pemrograman lain atau bahasa mesin pada suatu komputer 3. Scanner : Memecah program sumber menjadi besaran leksik/token 4. Parser : Memeriksa kebenaran dan urutan kemunculan token 5. Penganalisa semantik : Melakukan analisa semantik, biasanya dalam realisasi akan digabungkan Dengan intermediate code generator (bagian yang berfungsi membangkitkan kode antara) 6. Pembentuk Kode : Membangkitkan kode objek 7. Pengoptimal Kode : Memperkecil hasil dan mempercepat proses 8. Tabel : Menyimpan semua informasi yang berhubungan dengan proses kompilasi 10Pendahuluan
  11. 11. Library Object Code Source Object Code 1 Compiler 1 Code 1 Source Object Code 2 Compiler 2 Code 2 Lingker Executable Source Object Code n Compiler n Code n • Pembentukan file Executable berdasar dari beberapa Source Code • Source Code dapat terdiri dari satu atau lebih behasa pemrograman. 11Pendahuluan
  12. 12. Pembuatan Compiler Pembuatan kompilator dapat dilakukan dengan : 1. Bahasa Mesin Tingkat kesulitannya tinggi, bahkan hampir mustahil dilakukan 2. Bahasa Assembly Bahasa Assembly bisa dan biasa digunakan sebagai tahap awal pada proses pembuatan sebuah kompilator 3. Bahasa Tingkat Tinggi lain pada ,mesin yang sama Proses pembuatan kopilator akan lebih mudah 4. Bahasa tingkat tinggi yang sama pada mesin yang berbeda Misal, pembuatan kompilator C untuk DOS, berdasar C pada UNIX 5. Bootstrap Pembuatan kompilator secara bertingkat. 12Pendahuluan

×