RENCANA PEMBELAJARAN SEMESTER
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS GUNADARMA
MATA KULIAH
KODE
RUMPUN MK
BOBOT
SEMESTER
TGL REVISI
Teknik Kompilasi
AK045235
2 SKS
VII (PTA)
OTORISASI
PENGEMBANG RPS
KOORDINATOR MATA KULIAH
KETUA PROGRAM STUDI
Prof. Dr.-Ing. Adang Suhendra
Capaian Pembelajaran (CP)
Program Studi : pengetahuan, sikap, keterampilan, kompetensi, dan akumulasi pengalaman kerja
1. Mengetahui penerapan konsep ilmu komputer pada perilaku komputer, yaitu algoritma, arsitektur computer,
struktur data maupun penerapan mata kuliah teori bahasa dan automata.
2. Mengetahui bahwa Kompilator adalah merupakan kontruksi inti dari ilmu komputer.
3.
Mampu membangun kompilator untuk Bahasa yang mereka desain.
4. Mampu membangun proyek pemrograman besar dengan struktur data yang sangat besar serta interaksi kompleks
antara algoritma.
5. Mampu Membangun aplikasi perangkat lunak yang berkaitan dengan pengetahuan ilmu komputer.(CP-KKA1)
6. Mampu Membangun dan mengevaluasi perangkat lunak dalam berbagai area, termasuk yang berkaitan dengan
interaksi antara manusia dan komputer. (CP-KKA5)
Mata Kuliah :
2. Menjelaskan arti definisi dan konsep Besaran leksikal ekpresi regular dan FSA. (2)
3. Menjelaskan konsep CFG dan menerangkan jenis derivasi pada CFG. (3)
4. Menerapkan beberapa teknik Top Down Parsing (TDP). (4)
5. Menjelaskan predictive parser, parsing table dan konsep first and follow set. (5)
6. Menjelaskan arti devinisi dan konsep -TDP Non-recursive Descent Parser (LL(1)). (6)
7. Menjelaskan arti definisi dan Konsep Bottom Up Parser - Operator Presedence Parser. (7)
8. Menjelaskan arti, definisi dan konsep Bottom Up Parser – Canonical LR(0). (8-9)
9. Menjelaskan arti, definisi dan Mampu menjelaskan arti, definisi dan konsep Bottom Up Parser – Canonical SLR(1).
(10)
10. Menjelaskan arti, definisi dan konsep Derivasi CLR (1) dan LALR (1). (12)
11. Menjelaskan arti definisi dan konsep Anlisa semantic, tabel simbol dan Hash Tabel. (13)
12. Menjelaskan arti, definisi dan konsep intermediate Code Generator. (14)
13. Menjelaskan Error handling, cara optimasi, dan Tabel Informasi. (15)
Deskripsi Singkat MK
Mata Kuliah ini mempelajari Teknik melakukan proses kompilasi dari program sumber (Bahasa tingkat tinggi) ke dalam
program tujuam (bahasa tingkat rendah). Mempelajari Proses kompilasi yang terdiri dari 2 tahap, yaitu tahap analisa dan
tahap sintesa, di mana pada tahap analisa melakukan proses analisa leksikal (scanner), analisa sintaksis (parser), dan
analisa semantic & kode antara. Kemudian tahap sisntesis melakukan prosesnpembentuk kode, dan pengoptimal kode.
Dari Mata kuliah Teori Bahasa & Automata, Finite automata digunakan dalam proses analisis leksikal. Sedangkan Push
down automata digunakan dalam proses analisis sitaksis.
Secara keseluruhan mata kuliah ini mempelajari tujuan dan definisi compiler dan interpreter, menjelaskan arti, definisi dan
konsep analisa leksikal, ekspresi regular dan FSA. Menjelaskan Konsep CFG, Konsep Top Down Parsing Full bactracking dan
tanpa back tracking, menjelaskan arti definisi dan konsep Bottom up parser, operator presedence parser LR(0), SLR(1),
derivasi menggunakan CLR dan LALR. Menjelaskan Predictive parser, parsing table, konsep first dan follow set. Bahasa
LL(1)Menjelaskan arti definisi dan konsep analisa semantik, tabel simbol dan hash table. Menjelaskan arti definisi dan
konsep kode antara, Syntax directed translation, syntax tree address code, dan N tuple. Menjelaskan Error handling, cara
optimasi, dan Tabel Informasi.
1.
Sukamdi, Merekayasa Interpreter (Sebuah Penerapan Teknik Kompilasi), Jakarta, PT Elex Media Komputindo, 19952.
Holub, A. I., Compiler Design in C. Prentice-Hall International, Inc. Englewood Cliffs, New-Jersey, 1990.3.
Aho, A. V., R. Sethi, and J. D. Ullman. Compiler: Principles, Techniques, and Tools. Addison Wesley Publishing Company, Reading, Massachusetts, 1988.4.
Tremblay, Jean-Paul, Paul G. Sorenson, The Theory and Practice of Compiler, McGraw-Hill Co, New York, 19855.
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.Media Pembelajaran
Perangkat Lunak
Perangkat Keras
Pascal, C++, phyton
Komputer, Laptop, Proyektor
Mata Kuliah Prasyarat
Teori Bahasa dan Automata
Metode Pembelajaran
1. Ceramah/Kuliah Pakar,
2. Problem Based Learning/FGD
3. Project Based Learning
4. Praktik Laboratorium
5. Self-Learning (V-Class)
6. Diskusi Kelompok
Minggu
Ke-
CP-MK
Materi Pembelajaran
Metode / Strategi
Pembelajaran
Penilaian
Referensi
Indikator
Bentuk
Bobot
1
Mampu menjelaskan arti, tujuan, definisi compiler dan interpreter
Kegunaan Kompiler Struktur Kompiler Perbedaan compiler dan
interpreter
1,2,5,6 Indikator:
Kelengkapan dan kebenaran mengenai konsep compiler dan interpreter
Kriteria:
Ketepatan dalam menjawab
Latihan dan Tugas
Bentuk Penilaian:
Tes lisan berupa kuis
8 % [1], [2], [3]
2 Mampu menjelaskan arti definisi dan
Analisa Leksikal
Besaran Leksikal 1,2,4,5,6
Indikator:
Kelengkapan dan
Latihan dan Tugas
Bentuk Penilaian:
konsep Besaran leksikal ekpresi regular dan FSA
Token
Ekspresi Regular Finite State Automata
(FSA)
kebenaran
penjelasanmengenai konsep Analisis Leksikal ekpresi regular dan FSA
Kriteria: Ketepatan dalam mengerjakan soal Tes tertulis 3 Mampu menjelaskan konsep CFG dan menerangkan jenis derivasi pada CFG
Context Free Grammar Left Most Derivation Right Most Derivation Non Ambigous Grammar Left Recursion, Right
Recursion 1,2,4,6 Indikator: Kelengkapan dan kebenaran penjelasan mengenai konsep Context Free Grammar/tata bahasa bebas konteks
Kriteria:
Ketepatan dalam menjawab
Latihan dan Tugas
Bentuk Penilaian: Kuis 10 % [1], [2], [3], [4], [5] 4 Mahasiswa mengerti dan dapat menerapkan beberapa teknik Top Down Parsing (TDP)
Top Down Parsing (TDP) TDP Full Backtracking (Brute Force Method) TDP without backtracking (Recursive Descent Parser) 1,2,4,6 Indikator: Kelengkapan dan kebenaran penjelasanmengenai konsep TDP Kriteria: Ketepatan dalam mengerjakan soal
Latihan dan Tugas
Bentuk Penilaian:
Tes tertulis
10 % [1], [2], [3], [4], [5]
5 Mampu menjelaskan predictive parser, parsing table dan konsep first and follow set
predictive parser parsing table konsep first and
follow set 1,2,4,5,6 Indikator: Kelengkapan dan kejelasan mengenai predictive parser, parsing table, dan konsep first and follow set
Kriteria:
Ketepatan dalam menjawab
Latihan dan Tugas
Bentuk Penilaian:
Tes lisan berupa kuis
10 % [1], [2], [3]
6 Mampu menjelaskan arti devinisi dan konsep -TDP Non-recursive Descent Parser (LL(1)) TDP Non-recursive Descent Parser (LL(1)) 1,2,4,6 Indikator: Kelengkapan dan kejelasan Penerapan First dan Follow pada (LL(1))
Kriteria:
Ketepatan dalam menjawab
Latihan dan Tugas
Bentuk Penilaian:
Tes lisan berupa kuis
10 % [1], [2], [3]
7 Mampu menjelaskan arti definisi dan Konsep Bottom Up Parser - Operator Presedence Parser
Konsep Bottom Up Parser Operator Presedence Parser 1,2,4,6 Indikator: Kelengkapan dan kejelasan Operator Presedence Parser Kriteria: Ketepatan dalam menjawab
Latihan dan Tugas
Bentuk Penilaian:
Tes lisan berupa kuis
10 % [1], [2], [3]
8-9 Mampu menjelaskan arti, definisi dan konsep Bottom Up Parser – Canonical LR(0)
Konsep Bottom Up Parser Canonical LR(0) 1,2,4,6 Indikator: Kelengkapan dan kebenaran penjelasanmengenai konsep Canonical
Latihan dan Tugas
Bentuk Penilaian:
Tes tertulis
LR(0)
Kriteria: Ketepatan
mengerjakan soal 10 Mampu menjelaskan
arti, definisi dan Mampu menjelaskan arti, definisi dan konsep Bottom Up Parser – Canonical SLR(1)
Konsep Bottom Up Parser Canonical SLR(1) 1,2,4,6 Indikator: Kelengkapan dan kebenaran penjelasan mengenai konsep Buttom up Parser Canonical SLR(1) Kriteria: Ketepatan mengerjakan soal -
Latihan dan Tugas
Bentuk Penilaian:
Tes lisan berupa kuis
5 % [1], [2], [3]
11 UJIAN TENGAH SEMESTER
12 Mampu menjelaskan arti, definisi dan konsep Derivasi CLR (1) dan LALR (1) Bottom Up Parser Derivasi Menggunakan CLR(1) Derivasi Menggunakan LALR (1) 1,2,4,6 Indikator: Kelengkapan dan kebenaran penjelasanmengenai konsep derivasi dan LALR(1)
Kriteria: Ketepatan
mengerjakan soal
Latihan dan Tugas
Bentuk Penilaian:
Tes tertulis
5 % [1], [2], [3]
13 Mampu menjelaskan arti definisi dan konsep Anlisa
semantic, tabel simbol dan Hash Tabel
Analisis semantic suatu bahasa pemrograman Tabel symbol Hash tabel 1,2,4,6 Indikator: Kelengkapan dan kebenaran penjelasanmengenai konsep Analisa Semantik tabel
Latihan dan Tugas
Bentuk Penilaian:
Tes lisan berupa kuis
symbol dan hash tabel Kriteria: Ketepatan dalam menjawab 14 Mampu menjelaskan
arti, definisi dan konsep intermediate Code Generator
Gambaran Umum Kode Antara (Intermediate Code Generator) Syntax Directed
Translation (SDT) Syntax Tree
Three Address Code N-Tuple 1,2,4,5,6 Indikator: Kelengkapan dan kejelasan mengenai Intermediate Code Generator Kriteria: Ketepatan dalam menjawab
Latihan dan Tugas
Bentuk Penilaian:
Tes lisan berupa kuis
5 % [1], [2], [3]
15 Mampu menjelaskan Error handling, cara optimasi, dan Tabel Informasi. Error handling Cara optimasi Tabel informasi 1,2,4,6 Indikator: Kelengkapan dan kejelasan mengenai Error handling, cara optimasi, dan Tabel Informasi
Kriteria:
Ketepatan dalam menjawab
Latihan dan Tugas
Bentuk Penilaian:
Tes lisan berupa kuis
5% [1], [2], [3]