PENGANTAR TEKNIK KOMPILASI

Slides:



Advertisements
Presentasi serupa
Macam-Macam Perangkat Lunak Sistem
Advertisements

TEKNIK KOMPILASI By Kustanto, S.T.,M.Eng.
Pengayaan Software/Hardware dan Pengantarmukaan
Teknik Kompilasi Febuari 2013.
Pengantar Teknologi Informasi
PEMROGRAMAN TERSTRUKTUR
Pengantar Teknik Kompilasi
TEKNIK KOMPILASI.
Perkembangan Bahasa.
Analisis Semantik.
KOMPILASI KOMPILATOR (COMPILER) adalah :
Konsep dan Notasi Bahasa
Bahasa Pemrograman Tingkat Tinggi
Komponen sebuah Kompilator
Lexical Analyzer (Scanner)
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Pengantar Teknik Kompilasi
Pertemuan 1 & 2 Pendahuluan
MATERI PERKULIAHAN TEKNIK KOMPILASI
Algoritma dan Pemrograman
Pengantar Teknik Kompilasi
TEKNIK KOMPILASI.
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu: Istiqomah, s.kom
Teknik Kompilasi “Translator”
Pengantar Teknologi Informasi (Teori)
Bahasa Pemprograman Dasar
BAB 1 BAHASA PEMROGRAMAN
BAHASA PEMROGRAMAN TERSTRUKTUR
ALGORITMA & PEMROGRAMAN
BAHASA PEMROGRAMAN.
Analisa Semantik, Kode Antara,
Analisis semantik, kode antara dan pembangkitan kode
Pesan-pesan kesalahan
Pengantar Teknik Kompilasi
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
Pengantar Teknik Kompilasi
Semantics Analyser Contoh : A := ( A+B) * (C+D)
DASAR PEMROGRAMAN KOMPUTER
Analisis Sintaks (Parsing)
Analisa Semantik, Kode Antara,
Teknik Kompilasi “Translator”
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
DASAR PEMROGRAMAN KOMPUTER
TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI)
Proses kompilasi COMPILATOR.
PENGANTAR LOGIKA & TEKNIK PEMROGRAMAN
ALGORITMA & PEMROGRAMAN
Lecturer Note II Turbo Pascal & Pemrograman
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Pengantar Teknologi Informasi
Pengantar Pemrograman
Pengantar Teknologi Informasi
TEKNIK KOMPILASI PERTEMUAN II.
Pengantar Teknologi Informasi
Teknik Kompilasi Abdul Wahid, ST, M.Kom
Pengantar Pemrograman
Pengenalan Kompilasi & Klasifikasi Tatabahasa Formal menurut Chomsky
Pengantar Teknik Kompilasi
Ilustrasi Proses Kompilasi
Pengantar Teknik Kompilasi
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Automata Hingga Deterministik (AHD)
Pengantar Pemrograman
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Semantics Analyser by Kustanto
Dasar Pemrograman Pengenalan Nurul Anisa Sri Winarsih, M. CS
Pengantar Teknologi Informasi
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
KODE ANTARA,PEMBANGKITAN KODE,PENANGANAN
Transcript presentasi:

PENGANTAR TEKNIK KOMPILASI Tujuan Konsep Teknik Kompilasi

Tujuan Pembelajaran : Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler Mahasiswa memahami konsep pembuatan sebuah Compiler Mahasiswa mengetahui bagaimana sebuah bahasa pemrograman dapat diterjemahkan oleh mesin.

Materi Pembelajaran Bentuk-bentuk karakter dan kelas Grammar. Ekspresi Regular dan Automata Analisa Leksikal sebagai tahap awal kompilasi Analisa Sintaks, bentuk-bentuk derivasi serta implementasi parsing. Analisa Semantik dan tahapan Sintesa. Penanganan kesalahan kompilasi dan fungsi tabel informasi.

1. Bahasa Manusia komputer Masalah

Manusia-Masalah-Komputer Media interaksi secara efektif Media penyampaian gagasan dan pemikiran Menjembatani antara pemikiran manusia dengan komputer. Pemikiran manusia yg sering tidak terstruktur Komputer memerlukan hal yang pasti. Bahasa harus memiliki konstruksi (terminologi & elemen) = bahasa tingkat tinggi Komputer digital menerima bahsa tingkat rendah ( 0, 1) yg sulit dipahami manusia. Bahasa yang bagaimana? Tidak terstruktur Pasti dan terstruktur

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

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

Keuntungan Bahasa Tingkat Tinggi : Kemudahan untuk dipelajari,tdk perlu latar belakang hardware. Lebih mendekati permasalahan yang akan diselesaikan. Memberikan banyak pilihan struktur kontrol (kondisional,looping,struktur block(begin- end),nested statement). Program lebih mudah di-debug Kemampuan struktur data yg lebih baik. Deskripsi Modular

2.Tlanslator Agara dapat dieksekusi,program dalam bahasa tinggi harus ditranslasikan ke dalam bahasa mesin. Tlanslator melakukan pengubahan pengubahan source code / source program ke dalam target code / object code(bahasa mesin pada suatu komputer).Co:/ .pas menjadi . obj Assembler,kompilator Interpreter termasuk jenis dari translator.

Tidak membangkitkan object code Interpreter Translator Tidak membangkitkan object code Source code dan data diproses bersamaan Contoh, BASICA, SPSS, DBASE III Compiler Assembler Source Code adalah bahasa tingkat tinggi. Object Code adalah bahasa mesin atau assembly Source code dan data diproses tidak bersamaan Contoh, PASCAL, C Source Code adalah bahasa Assembly Object Code adalah bahasa mesin Contoh, Turbo Assembler

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

….. interpreter Interpreter tidak membangkitkan object code, translasi hanya dalam bentuk internal.Contoh interpreter: BASIC,LISP,SMALTALK (Matlab) Source dan data diproses pada saat yang sama.

Assembler Source Code Assembler Object Code Lingker File Target .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)

Compiler / Kompilator 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). Dari bahasa tingk tinggi ke bahasa mesin atau assembly.Source code dan data diproses pada saat yang berbeda.

Proses kompilasi dapat digambarkan melalui sebuah blok diagram sebagai berikut : Compiler Program sumber Bahasa sasaran Muncul Pesan-pesan kesalahan (error messages)

Model Kompilator Tugas Pokok dari Kompilator: Fungsi Analisis ; biasa disebut front end. Tugasnya melakukan dekomposisi (pemecahan) program sumber menjadi bagian2 dasarnya. Fungsi Sintesis ; biasa disebut back end.Tugasnya melakukan pembangkitan dan optimasi program objek.

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

Keterangan Model Kompilator : Program Sumber ditulis dalam bahasa sumber, misal Pascal, Assembler, dsb Program Sasaran dapat berupa bahasa pemrograman lain atau bahasa mesin pada suatu komputer Scanner : Memecah program sumber menjadi besaran leksik/token Parser : Memeriksa kebenaran dan urutan kemunculan token Penganalisa semantik : Melakukan analisa semantik, biasanya dalam realisasi akan digabungkan 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

Dilanjutkan minggu depan,…. Bagian dan Fungsi bagian dari Kompilator

Dilanjutkan minggu depan,…. Bagian dan Fungsi bagian dari Kompilator