Anda di halaman 1dari 6

SATUAN ACARA PERKULIAHAN MATA KULIAH TEKNIK KOMPILASI** (S1/TEKNIK INFORMATIKA) KODE / SKS AK-045335 / 3 SKS Pertemuan Ke 1 Pokok

Bahasan dan TIU 1. Konsep Dasar TIU : Mahasiswa memahami konsep dan cara kerja kompilator. Sub-pokok Bahasan dan Sasaran Belajar Cara Pengajaran Media Papan Tulis & OHP Tugas Membuat kompilator sederhana sebgaiamana pada subbab1.3 ref.[1] atau bab 2 ref.[2] Referensi 1,2 Acuan Praktek

2. Input dan Analisa Leksikal TIU: Mahasiswa memahami strategi

1.1. Motivasi Ceramah - 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 Ceramah Kompilator. - Mahasiswa dapat menjelaskan cara kerja penganalisa sintaks dan bagaimana penganalisa sintaks berhubungan dengan bagian lain dari kompilator

Papan Tulis & OHP

1,2

pada system input dan cara kerja penganalisa leksikal.

3. Tata bahasa Context-Free TIU: Mahasiswa dapat mngenal CFG dn bentuk-bentuk turunannya serta mahasiswa dapat membangun CFG.

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) Ceramah - 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 - Mahasiswa dapat menentukan produksi yang left maupun right recursion dari suatu tatabahasa

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.

1,2

Implementasi AH dari token pembentuk bahasa one line programming

4.Top-Down Parsing TIU: Mahasiswa dapat menggunakan teknik topdown parsing : recursive descent parser dan LL(1)

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 - 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

Mahasiswa membuat diagram state dari one line programming

1, 2

Mahasiswa membuat parser recursive descent dari one line programming

4. Top-Down Parsing (Lanjutan) TIU: sda

Ceramah

Papan Tulis & OHP

1, 2

4. Top-Down Parsing (lanjutan) TIU: sda

4.3 Modifying grammars Ceramah - Mahasiswa dapat memodifikasi grammar agar LL(1), menggunakan teknik-teknik leftfactoring, corner-subtitution, singleton substitution, eliminasi ambiguitas, eliminasi left recursion, eliminasi Unreachable Productions

Papan Tulis & OHP

Mahasiswa memodifikasi tata bahasa one line programming agar LL(1) dan membuatkan tabel pasing LL(1)-nya

1, 2

5. Bottom-Up Parsing TIU: Mahasiswa dapat menggunakan teknik bottom-up parsing: LR(0), SLR(1), LR(1), LALR(1)

Mahasiswa dapat mengimplementasikan LL(1) parser Ceramah Papan Tulis & OHP 1, 2

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) 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 review kompilasi sampai tahapan parsing

5. Bottom-Up Parsing (lanjutan) TIU: sda

Ceramah

Papan Tulis & OHP

Mahasiswa membuat tabel parsing SLR(0) bahasa one line programming

1, 2

Diskusi TIU: memahami proses kerja one pass compiler

Diskusi

Papan Tulis & OHP

Mahasiswa berkelompok diberi tugas mengarang bahasa yang mengandung operasi aritmatika, cetak,

1, 2

Mhs membangun kompiler one line programming

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 Mhs menambahkan konstruk bercabang (loop) membangun kompiler one line programming

11. 12.

UJIAN TENGAH SEMESTER 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. 7. Membangun Code dan Tabel simbol TIU: Mahasiswa dapat membangun intermediate code, 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 Ceramah Papan Tulis & OHP 1, 2

13.

dan dapat mengelola tabel simbol.

tabel simbol 6.3 Struktur Data Tabel Simbol - Mahasiswa dapat membentuk struktur data tabel simbol - Mahasiswa dapat merepresentasikan tipe 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 Ceramah Papan Tulis & OHP 1, 2

14

8. Strategi Optimisasi

Referensi : 1. Holub, A. I., Compiler Design in C. Prentice-Hall International, Inc. Englewood Cliffs, New-Jersey, 1990. 2. Aho, A. V., R. Sethi, and J. D. Ullman. Compiler: Principles, Techniques, and Tools. Addison Wesley Publishing Company, Reading, Massachusetts, 1988. 3. Tremblay, Jean-Paul, Paul G. Sorenson, The Theory and Practice of Compiler, McGraw-Hill Co, New York, 1985 4. Sukamdi, Merekayasa Interpreter (Sebuah Penerapan Teknik Kompilasi), Jakarta, PT Elex Media Komputindo, 1995. 5. Pittman, T., James Peters, The Art of Compiler Design, Theory & Practice, Englewood Cliffs, New Jersey, Prentice-Hall, Inc, 1992. 6. Firrar Utdirartomo, Teknik Kompilasi, Yogyakarta, J&J Learning, 2001. 7. Sumantri Slamet, Heru S., Teknik Kompilasi, Jakarta, PT Elex Media Komputindo, 1995. 8. D. Suryadi H.S., Pengantar Automata Bahasa Formal dan Kompilasi, Jakarta, Penerbit Gunadarma.

Anda mungkin juga menyukai