Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pendahuluan 1 Tujuan Pembelajaran : 1.Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler 2.Mahasiswa memahami konsep pembuatan.

Presentasi serupa


Presentasi berjudul: "Pendahuluan 1 Tujuan Pembelajaran : 1.Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler 2.Mahasiswa memahami konsep pembuatan."— Transcript presentasi:

1 Pendahuluan 1 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.

2 Arti Kata Teknik Kompilasi Teknik adalah suatu metode atau cara Kompilasi suatu proses menggabungkan serta menterjemahkan sesuatu (source program) menjadi bentuk lain Compile: menterjemahkan sebuah program yang ditulis dalam bahasa pemrograman tingkat tinggi ke bahasa mesin Pendahuluan2

3 Kenapa Perlu Translator? Bagi user yang hanya pengguna mungkin kata-kata translator adalah membingungkan. Kenapa perlu translator? Pertanyaan tsb akan membingungkan bagi programmer yang membuat program dengan bahasa mesin Pendahuluan3

4 Latar Belakang Bahasa mesin adalah bentuk bahasa terendah pada komputer, kita dapat berhubungan/komunikasi langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, register dan sangat primitif. Bahasa mesin adalah tidak lebih dari urutan bit- bit 0 dan 1 Instruksi dalam bahasa mesin bisa saja dibentuk menjadi micro-code, semacam prosedur dalam bahasa mesin Pendahuluan4

5 Bagaimana dengan orang yang tidak mengerti bahasa mesin? Bagi user yang tidak mengerti bahasa mesin akan mengalami masalah. Hal ini disebabkan karena mereka harus belajar dahulu bahasa mesin, dan akan bergabung pada jenis mesin komputer yang digunakan. Jika jenis komputer mengalami perubahan maka dapat dipastikan bahwa user harus mempelajari lagi bahasa mesin dengan jenis komputer yang baru. Pendahuluan5

6 Bagaimana dengan orang yang tidak mengerti bahasa mesin? Oleh karena itu manusia berusaha dan menciptakan suatu bahasa yang dapat dimengerti baik oleh manusia maupun oleh komputer. Bahasa yang demikian ini sering disebut dengan bahasa tingkat tinggi. Pendahuluan6

7 Bagaimana dengan orang yang tidak mengerti bahasa mesin? Untuk era sekarang user tidak lagi banyak dipusingkan mengenai penterjema karena kemudahan- kemudahan yang diberikan oleh bahasa tingkat tinggi sekarang sangatlah memudahkan dan lebih fleksibel dalam bekerja pada mesin-mesin komputer yang berbeda. Pendahuluan7

8 8 1. Bahasa Pemrograman Bahasa Pemrograman Bahasa mesin Bahasa Assembly Bahasa Tingkat tinggi Bahasa Problem Oriented

9 Pendahuluan 9 Bahasa mesin merupakan bentuk terendah dari bahasa komputer. Instruksi direpresentasikan dalam kode numerik. Bahasa Assembly merupakan bentuk simbolik dari bahasa mesin. Kode misalnya ADD, MUL, dsb Bahasa tingkat tinggi (user oriented) lebih banyak memberikan fungsi kontrol program, kalang, block, dan prosedur. Bahasa problem oriented sering juga dimasukkan sebagai bahasa tingkat tinggi, misalnya SQL, Myob, dsb. Program Language

10 Bahasa Tingkat Tinggi Bahasa yang lebih dikenal oleh manusia, maksudnya adalah statement yang digunakan menggunakan bahasa yang dipakai oleh manusia (Inggris) Programmudah untuk dikoreksi dan diperbaiki (debug) Tidak tergantung pada salah satu jenis mesin komputer Bahasa tingkat tinggi biasanya masih membutuhkan translator Pendahuluan10

11 Bahasa Tingkat Tinggi Memberikan fasilitas yang lebih banyak, seperti struktur kontrol program yang terstruktur, memiliki blok-blok, serta prosedur dan fungsi-fungsi: Struktur kontrol seperti: kondisi (If...Then...Else), perulangan (For, While) struktur blok (begin...End, {...}) Pendahuluan11

12 Bahasa Tingkat Tinggi Oleh karena itu dari bahasa tingkat tinggi ke dalam bahasa mesin dibutuhkan sesuatu untuk menterjemahkan agar mesin (komputer) mengerti apa yang diinginkan manusia. Menerjemahkan statement bahasa tingkat tinggi ke dalam bahasa tingkat rendah dapat dibedakan menjadi dua; melalui interpreter atau compiler yang fungsinya sama yaitu menerjemahkan Pendahuluan12

13 Pendahuluan Translator Translator melakukan pengubahan source code / source program ke dalam target code / object code Interpreter dan Compiler termasuk dalam kategori translator. Translator Interpreter Compiler  Tidak membangkitkan object code  Source code dan data diproses bersamaan  Contoh, BASICA, SPSS, DBASE III  Source Code adalah bahasa tingkat tinggi.  Object Code adalah bahasa mesin atau assembly  Source code dan data diproses tidak bersamaan  Contoh, PASCAL, C Assembler  Source Code adalah bahasa Assembly  Object Code adalah bahasa mesin  Contoh, Turbo Assembler

14 Pendahuluan 14 Interpreter Analisa Leksikal Analisa Sintaks Intermediate Program Interpretasi Pengelolaan Tabel Program Sumber Penanganan Kesalahan Hasil Operasi

15 Pendahuluan 15 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) Source Code Object Code Assembler File Target Lingker.ASM.OBJ.EXE /.COM Proses Sebuah Kompilasi pada Bahasa Assembler

16 Pendahuluan 16 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 sumberBahasa 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

17 Pendahuluan 17 Penganalisa Leksikal (scanner) Penganalisa Sintaks (parser) Penganalisa Semantik Pembangkit Kode antara Pembentuk kode Pengoptimal kode Program Sumber Program Sumber Program Sasaran Program Sasaran TABEL SIMBOL TABEL SIMBOL ANALISA SINTESA Bagan pokok proses kompilasi Blok Diagram

18 Pendahuluan 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 Keterangan

19 Pendahuluan 19 Source Code 1 Source Code 2 Source Code n Object Code 1 Object Code 2 Object Code n Compiler 1 Compiler 2 Compiler n Lingker Executable Library Object Code Pembentukan file Executable berdasar dari beberapa Source Code Source Code dapat terdiri dari satu atau lebih behasa pemrograman.

20 Pendahuluan 20 Pembuatan Compiler Pembuatan kompilator dapat dilakukan dengan : 1.Bahasa Mesin Tingkat kesulitannya tinggi, bahkan hampir mustahil dilakukan sangat tergantung pada mesin 2. Bahasa Assembly Bahasa Assembly bisa dan biasa digunakan sebagai tahap awal pada proses pembuatan sebuah kompilator Hasil dari program mempunyai ukuran yang relatif kecil Sulit dimengerti karena perintahnya singkat-singkat, butuh usaha yang besar untuk membuat compiler dengan bahasa ini

21 Pendahuluan 21 Pembuatan Compiler Pembuatan kompilator dapat dilakukan dengan : 3.Bahasa Tingkat Tinggi lain pada,mesin yang sama Proses pembuatan kopilator akan lebih mudah Fasilitas yang dimiliki lebih baik (banyak) Memiliki ukuran yang relatif besar, misal membuat compiler pascal dengan menggunakan bahasa C Untuk mesin yang berbeda perlu dikembangkan tahapan- tahapan tambahan. Misal membuat compiler C pada Dos berdasarkan compiler C pada unix 5.Bootstrap Pembuatan kompilator secara bertingkat. P2 P1 P0


Download ppt "Pendahuluan 1 Tujuan Pembelajaran : 1.Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler 2.Mahasiswa memahami konsep pembuatan."

Presentasi serupa


Iklan oleh Google