SATUAN ACARA PERKULIAHAN STMIK UBUDIYAH INDONESIA SEMESTER GENAP TAHUN AKADEMIK 2013/2014 MATA KULIAH FAKULTAS JURUSAN / JENJANG
: TEKNIK KOMPILASI : Fakultas Ilmu Komputer : Teknik Informatika
PROSES BELAJAR MENGAJAR DOSEN : Menerangkan (dengan contoh), diskusi, memberi tugas, melakukan evaluasi mingguan. MAHASISWA : Mendengarkan, mencatat, diskusi, mengerjakan tugas, mengerjakan evaluasi mingguan. MEDIA EVALUASI
: :
Papan Tulis, Kertas kerja, Overhead Projector Hasil test Mingguan, Ujian Mid, Ujian Akhir dan Tugas.
Minggu Ke
1.
Pokok-pokok Bahasan dan TIU
Sub Pokok Bahasan dan TIK
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
Hal 1 dari 6
Teknik Pembelajaran
Media Pembelajaran
Kuliah mimbar
Papan Tulis, OHP
Tugas
Ref.
-
2. Input dan Analisa Leksikal TIU: Mahasiswa memahami strategi pada system input dan cara kerja penganalisa leksikal.
2
3. Tata bahasa Context-Free
3 ,4
TIU: Mahasiswa dapat mngenal CFG dn bentuk-bentuk turunannya serta mahasiswa dapat membangun CFG.
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 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
Hal 2 dari 6
Kuliah mimbar
Papan Tulis, OHP
Papan Tulis, OHP
dengan semantika 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 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 3.7. Syntax-Directed translation Mahasiswa dapat menngunakan alat-alat bantu tata bahasa augmented dan attributed dalam mengimplementasikan tatabahasa. 4.Top-Down Parsing TIU: Mahasiswa dapat menggunakan teknik topdown parsing : PDA dan LL(1) 5
4.1. Push-Down Automata (PDA) 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
Hal 3 dari 6
Papan Tulis, OHP
4. Top-Down Parsing (Lanjutan) TIU: sda 6
7
4.2 LL(1) grammars Mahasiswa dapat menjelaskan konsep tata bahasa LL(1) Mahasiswa dapat menentukan himpunan FIRST 1. Mahasiswa dapat menentukan himpunan FOLLOW 2. Mahasiswa dapat menentukan himpunan LL(1) selection 3. Mahasiswa dapat membuat tabel parsing LL(1) UJIAN TENGAH SEMESTER
4. Top-Down Parsing (lanjutan) TIU: sda
8
5. Bottom-Up Parsing TIU: Mahasiswa dapat menggunakan teknik bottom-up parsing: LR(0), SLR(1), LR(1), LALR(1)
4.3 Modifying grammars Mahasiswa dapat memodifikasi grammar agar LL(1), menggunakan teknik-teknik left-factoring, cornersubtitution, singleton substitution, eliminasi ambiguitas, eliminasi left recursion, eliminasi Unreachable Productions Mahasiswa dapat mengimplementasikan LL(1) parser 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
9 5.2 Tabel Parsing LR Mahasiswa dapat mengidentifikasikan tatabahasa LR(0) Mahasiswa dapat membuat tabel parsing LR(0)
Hal 4 dari 6
Papan Tulis, OHP
5. Bottom-Up Parsing (lanjutan) TIU: sda
10
5. Bottom-Up Parsing (lanjutan) TIU: sda 11
6. Membangun Code TIU: Mahasiswa dapat membangun intermediate code
12
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) 5.3 Representasi Tabel LR - Mahasiswa dapat merepresentasikan tabel LR dalam bahasa pemrograman 5.4 Eliminasi Reduksi Tunggal - Mahasiswa dapat mengeliminasi produksi yang mengandung reduksi tunggal 5.5 Tata bahasa Ambigous Mahasiswa dapat mengatasi tatabahasa yang ambigous 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
Hal 5 dari 6
Strategi Optimisasi
7.1 Optimisasi Parser - Mahasiswa dapat mengaplikasikan konsep optimasi parser 7.2 Linear (peephole) Optimizations - Mahasiswa dapat mengaplikasikan konsep optimasi peephole
7. Strategi Optimisasi (Lanjutan)
7.3 Optimisasi Struktural - Mahasiswa dapat mengaplikasikan konsep optimasi struktural
6. Membangun Code TIU: Mahasiswa dapat membangun intermediate code
6.1 Intermediate Languages - Mahasiswa dapat merepresentasikan bahasa kedalam bentuk triples, quads, dan postfix 6.2 Table simbol 4. Mahasiswa dapat menyebutkan apa yang dimaksud dengan tabel simbol 5. Mahasiswa dapat menyebutkan kegunaan tabel simbol 6.3 Struktur Data Tabel Simbol 6. Mahasiswa dapat membentuk struktur data tabel simbol 7. Mahasiswa dapat merepresentasikan tipe variabel
13
14,15
16
UJIAN AKHIR SEMESTER
Hal 6 dari 6