SATUAN ACARA PERKULIAHAN (SAP)
Nama Mata Kuliah
: Teknik kompilasi
Kode Mata Kuliah
: Non-Reguler
Bobot Kredit
: 3 SKS
Semester Penempatan
: I
Penanggung Jawab Mata Kuliah
: Fathiah, ST. M. Eng.
Pertemua n/Minggu
1
2
Pokok Bahasan / Tujuan Instruksional Umum (TIU) 1. Konsep Dasar TIU : Mahasiswa memahami konsep dan cara kerja kompilator.
2. Input dan Analisa Leksikal TIU: Mahasiswa
Sub Pokok Bahasan dan Sasaran Belajar/ Tujuan Instruksional Khusus (TIK)
1.1. Motivasi - Mahasiswa mengetahui tujuan pembelajaran mata kuliah teknik kompilasi - Mahasiswa mengetahui hal-hal yang akan dipelajasri pada matakuliah ini. 1.2. Bagian-bagian compiler (kompilator) - Mahasiswa dapat menyebutkan definisi dari istilah-istilah yang digunakan dalam kompilasi - Mahasiswa dapat menjelaskan fase-fase kompilator. - Mahasiswa dapat menjelaskan fase penganalisa leksikal - Mahasiswa dapat menjelaskan fase parser - Mahasiswa dapat menjelaskan fase code generator 1.3. Representasi Bahasa-bahasa Komputer - Mahasiswa dapat mengekspresikan suatu bahasa komputer kedalam suatu tata bahasa - Mahasiswa dapat membuat syntax diagram dari suatu tata bahasa. 1.4. Kompilator Recursive-Descent Expression - Mahasiswa dapat membangun kompilator sederhana menggunakan teknik RecursiveDescent. 2.1. Penganalisa Leksikal Sebagai Bagian dari Kompilator. - Mahasiswa dapat menjelaskan cara kerja penganalisa sintaks dan bagaimana
Teknik Pembelaj aran
Media Pembelaja ran
Evaluasi
Refe rensi
Ceramah
OHP dan Papan Tulis
1
Ceramah
OHP dan Papan Tulis
1
memahami strategi pada system input dan cara kerja penganalisa leksikal.
3
3. Tata bahasa Context-Free TIU: Mahasiswa dapat mngenal CFG dn bentuk-bentuk turunannya serta mahasiswa dapat membangun CFG.
penganalisa sintaks berhubungan dengan bagian lain dari kompilator 2.2. System Input - Mahasiswa dapat membangun modul system input untuk penganalisa leksikal 2.3. Analisa Leksikal - Mahasiswa dapat menyebutkan definisi/istilah dalam bahasa formal - Mahasiswa dapat membuat abstraksi bahasa melalui ekspresi regular, definisi regular, otomata hingga. - Mahasiswa dapat mengimplementasikan NFA kedalam suatu program. 3.1. Konsep Contex Free Grammar (CFG) - Mahasiswa dapat menyebutkan definisi CFG. - Mahasiswa dapat merumuskan CFG dari bahasa Contex Free 3.2. Derivasi dan bentuk sentensial - Mahasiswa dapat melakukan derivasi secara umum, left maupun right dari suatu CFG - Mahasiswa dapat memberi contoh viable prefix, handle dan bentuk sentential dari suatu derivasi 3.3. Pohon Parsing dan hubungannya dengan sintaktik analisis - Mahasiswa dapat membuat pohon parsing dari suatu derivasi - Mahasiswa dapat memberi contoh masalah sintaktik maupun masalah semantik dari suatu tata bahasa. 3.4. Right Linear grammar - Mahasiswa dapat menyebutkan hubungan
Ceramah
OHP dan Papan Tulis
1
4
5
4.Top-Down Parsing TIU: Mahasiswa dapat menggunakan teknik topdown parsing : recursive descent parser dan LL(1) 4. Top-Down Parsing (Lanjutan) TIU: sda
mesin stata dan tatabahasa - Mahasiswa dapat menentukan apakah suatu tata bahasa adalah Right Linear 3.5. List, Recursion and Associativity - Mahasiswa dapat menentukan produksi yang left maupun right recursion dari suatu tatabahasa - Mahasiswa dapat menyebutkan hubungan associativity dan recursion - Mahasiswa dapat menentukan tata bahasa yang left /right associative 3.6. Ambigous Grammar - Mahasiswa dapat menentukan grammar yang ambigous 4.1. Recursive Descent Parser - Mahasiswa dapat menggunakan PDA sebagai parsing top-down - Mahasiswa dapat menujukkan proses error recovery - Mahasiswa dapat mengimplemnetasikan Attributed grammars pada PDA - Mahasiswa dapat membuat tabel parsing berdasarkan PDA
4.2 LL(1) grammars - Mahasiswa dapat menjelaskan konsep tata bahasa LL(1) - Mahasiswa dapat menentukan himpunan FIRST - Mahasiswa dapat menentukan himpunan FOLLOW
Ceramah
OHP dan Papan Tulis
1
Ceramah dan diskusi
OHP dan Papan Tulis
1
6
7 8
9
- Mahasiswa dapat menentukan himpunan LL(1) selection - Mahasiswa dapat membuat tabel parsing LL(1) - Mahasiswa dapat menerapkan Penanganan kesalahan panic mode 4. Top-Down 4.3 Modifying grammars Parsing - Mahasiswa dapat memodifikasi grammar (lanjutan) agar LL(1), menggunakan teknik-teknik leftfactoring, corner-subtitution, singleton TIU: substitution, eliminasi ambiguitas, eliminasi sda left recursion, eliminasi Unreachable Productions - Mahasiswa dapat mengimplementasikan LL(1) parser UJIAN TENGAH SEMESTER 5. Bottom-Up 5.1 Cara Kerja Konsep Bottom Up Parsing - Mahasiswa dapat menyebutkan cara kerja teknik parsing bottom-up TIU: - Mahasiswa dapat menunjukkan cara Mahasiswa dapat menangani errror recovery dari teknik menggunakan bottom-up teknik bottom-up parsing: LR(0), 5.2 Tabel Parsing LR SLR(1), LR(1), - Mahasiswa dapat mengidentifikasikan LALR(1) tatabahasa LR(0) - Mahasiswa dapat membuat tabel parsing LR(0) 5. Bottom-Up 5.2 Tabel Parsing LR (lanjutan ) Parsing - Mahasiswa dapat mengidentifikasikan (lanjutan) tatabahasa SLR(1) - Mahasiswa dapat membuat tabel parsing TIU: SLR(1)
Ceramah dan diskusi
OHP dan Papan Tulis
1
Ceramah dan diskusi
OHP dan Papan Tulis
1
Ceramah dan diskusi
OHP dan Papan Tulis
1
sda
10
11
12 & 13
Diskusi TIU: memahami proses kerja one pass compiler 6. Analisa Semantik
7. Membangun Code dan Tabel simbol TIU: Mahasiswa dapat membangun intermediate code, dan dapat mengelola tabel simbol.
- Mahasiswa dapat mengidentifikasikan tatabahasa LR(1) - Mahasiswa dapat membuat tabel parsing LR(1) - Mahasiswa dapat mengidentifikasikan tatabahasa LALR(1) - Mahasiswa dapat membuat tabel parsing LALR(1) - Mahasiswa dapat merepresentasikan tabel LR dalam bahasa pemrograman - review kompilasi sampai tahapan parsing
Syntax-directed definition Translation scheme 3.7. Syntax-Directed translation - Mahasiswa dapat menngunakan alat-alat bantu tata bahasa augmented dan attributed dalam mengimplementasikan tatabahasa. 6.1 Intermediate Languages - Mahasiswa dapat merepresentasikan bahasa kedalam bentuk triples, quads, dan postfix 6.2 Table simbol - Mahasiswa dapat menyebutkan apa yang dimaksud dengan tabel simbol - Mahasiswa dapat menyebutkan kegunaan tabel simbol 6.3 Struktur Data Tabel Simbol - Mahasiswa dapat membentuk struktur data tabel simbol - Mahasiswa dapat merepresentasikan tipe
Ceramah dan diskusi
OHP dan Papan Tulis
1
Ceramah dan diskusi
OHP dan Papan Tulis
1
Ceramah dan diskusi
OHP dan Papan Tulis
1
14
15
8. Strategi Optimisasi
Quiz / presentasi project TIU: Mahasiswa dapat mengimplementa si kan kompolasi
16
variabel 7.1 Optimisasi Parser - Mahasiswa dapat mengaplikasikan konsep optimasi parser 7.2 Linear (peephole) Optimizations - Mahasiswa dapat mengaplikasikan konsep optimasi peephole
7.3 Optimisasi Struktural - Mahasiswa dapat mengaplikasikan konsep optimasi struktural 11.1 Linear Bounded Autmaton (LBA) Ceramah - Mahasiswa dapat menjelaskan definisi LBA dan - Mahasiswa dapat menjelaskan hubungan LBA diskusi dengan bahasa context sensitive - Mahasiswa dapat menjelaskan LBA sebagai pengenal suatu bahasa - Mahasiswa dapat membuat LBA untuk mengenal bahasa tertentu
UJIAN AKHIR SEMESTER
Referensi: -
Ceramah dan diskusi
Sediyono, Edi. Teknik Kompilasi Teori dan Praktik. Penerbit Andi
OHP dan Papan Tulis
1
OHP dan Mahasiswa 1 Papan Tulis merepresentasikan kompilasi bahasa masing yang telah dibuat, dimulai dari tatabahasa, rumusan token, diagram pengenalan token, diagram/tabel parsing, dan bagaimana diimplementasikan di program mereka.