GARIS
GARIS
GARIS
GARIS----GARIS BESAR PROGRAM PENGAJARAN (GBPP)
GARIS BESAR PROGRAM PENGAJARAN (GBPP)
GARIS BESAR PROGRAM PENGAJARAN (GBPP)
GARIS BESAR PROGRAM PENGAJARAN (GBPP)
Pertemua
n /
Minggu
Pokok Bahasan /
Tujuan
Instruksional
Umum (TIU)
Sub Pokok Bahasan dan Sasaran Belajar /
Tujuan Instruksional Khusus (TIK)
Tehnik
Pembelajara
n
Media
Pembelajaran
Evaluasi
Referensi
1 1. Konsep Dasar TIU :
Mahasiswa memahami konsep dan cara kerja kompilator.
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
Recursive-Ceramah Papan Tulis & OHP
Membuat kompilator sederhana
sebgaiamana pada subbab1.3 ref.[1] atau bab 2 ref.[2]
1,2 Mata Kuliah : Teknik Kompilasi
Bobot Mata Kuliah : 3 Sks
Deskripsi Mata Kuliah : Kompetensi Dasar, Indikator, Analisis Leksikal, Anlisis Sintati, Intermidiate code Generation, Code Optimization.
Descent. 2 2. Input dan Analisa Leksikal TIU: Mahasiswa memahami strategi pada system input dan cara kerja penganalisa leksikal.
2.1. Penganalisa Leksikal Sebagai Bagian dari Kompilator.
- Mahasiswa dapat menjelaskan cara kerja penganalisa sintaks dan bagaimana 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.
Ceramah Papan Tulis & OHP 1,2 3 3. Tata bahasa Context-Free TIU: Mahasiswa dapat mngenal CFG dn bentuk-bentuk turunannya serta mahasiswa dapat membangun CFG.
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 mesin stata dan tatabahasa
- Mahasiswa dapat menentukan apakah suatu tata bahasa adalah Right Linear
3.5. List, Recursion and Associativity
Ceramah Papan Tulis & OHP
- Mhs diberikan tatabahasa one line programming - Menentukan token yang terlibat - Membuat rumusan token - Membuat AH untuk token tersebut - Melakukan derivasi
dari kalimat yang diberikan - Menurunkan
kalimat lain dari tatabahasa tsb.
- 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 4.Top-Down Parsing TIU: Mahasiswa dapat menggunakan teknik topdown parsing : recursive descent parser dan LL(1)
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
Ceramah Papan Tulis & OHP
Mahasiswa membuat diagram state dari one line programming 1, 2 5 4. Top-Down Parsing (Lanjutan) TIU: sda 4.2 LL(1) grammars
- Mahasiswa dapat menjelaskan konsep tata bahasa LL(1)
- Mahasiswa dapat menentukan himpunan FIRST
- Mahasiswa dapat menentukan himpunan FOLLOW
- Mahasiswa dapat menentukan himpunan LL(1) selection
- Mahasiswa dapat membuat tabel parsing LL(1)
- Mahasiswa dapat menerapkan Penanganan kesalahan panic mode
Ceramah Papan Tulis & OHP 1, 2 6 4. Top-Down Parsing (lanjutan) TIU: sda 4.3 Modifying grammars
- Mahasiswa dapat memodifikasi grammar agar LL(1), menggunakan teknik-teknik left-factoring, corner-subtitution, singleton substitution, eliminasi ambiguitas, eliminasi left recursion, eliminasi Unreachable Productions
- Mahasiswa dapat mengimplementasikan
Ceramah Papan Tulis & OHP
Mahasiswa memodifikasi tata bahasa one line programming agar LL(1) dan
membuatkan tabel pasing LL(1)-nya
LL(1) parser 7 5. Bottom-Up Parsing TIU: Mahasiswa dapat menggunakan teknik bottom-up parsing: LR(0), SLR(1), LR(1), LALR(1)
5.1 Cara Kerja Konsep Bottom Up
- Mahasiswa dapat menyebutkan cara kerja teknik parsing bottom-up
- Mahasiswa dapat menunjukkan cara menangani errror recovery dari teknik bottom-up
5.2 Tabel Parsing LR
- Mahasiswa dapat mengidentifikasikan tatabahasa LR(0)
- Mahasiswa dapat membuat tabel parsing LR(0)
Ceramah Papan Tulis & OHP 1, 2 8 5. Bottom-Up Parsing (lanjutan) TIU: sda
5.2 Tabel Parsing LR (lanjutan )
- Mahasiswa dapat mengidentifikasikan tatabahasa SLR(1)
- Mahasiswa dapat membuat tabel parsing SLR(1)
- 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
Ceramah Papan Tulis & OHP
Mahasiswa membuat tabel parsing SLR(0) bahasa one line programming
1, 2
9 Diskusi
TIU: memahami proses kerja one pass compiler
- review kompilasi sampai tahapan parsing Diskusi Papan Tulis & OHP Mahasiswa berkelompok diberi tugas mengarang bahasa yang mengandung operasi aritmatika, cetak, operasi cabang/ bersyarat. Dirumuskan dalam tata bahasa Mahasiswa
mengimplementasikan
menjadi one pass compiler berdasarkan tugas parser yang diminta (rec-descn, LL, LR) 10. Quiz / presentasi project TIU: Mahasiswa dapat mengimplementasi kan parsing
Diskusi Papan Tulis & OHP
Mahasiswa merepresentasikan kompilasi bahasa masing yang telah dibuat, dimulai dari tatabahasa, rumusan token, diagram pengenalan token, diagram/tabel parsing, dan bagaimana diimplementasikan di program mereka. 1, 2
11. UJIAN TENGAH SEMESTER 12. 6. Analisa Semantik Syntax-directed definition
Translation scheme
3.7. Syntax-Directed translation
- Mahasiswa dapat menngunakan alat-alat bantu tata bahasa augmented dan attributed dalam mengimplementasikan tatabahasa.
13. 7. Membangun Code dan Tabel simbol TIU: Mahasiswa dapat membangun intermediate code, dan dapat mengelola tabel simbol. 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 variabel
Ceramah Papan Tulis & OHP
1, 2
14 8. Strategi Optimisasi
7.1 Optimisasi Parser
optimasi parser
7.2 Linear (peephole) Optimizations
- Mahasiswa dapat mengaplikasikan konsep optimasi peephole
7.3 Optimisasi Struktural
- Mahasiswa dapat mengaplikasikan konsep optimasi struktural
OHP