UNIVERSITAS GUNADARMA
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI
RENCANA PEMBELAJARAN SEMESTER (RPS)
Nama Mata Kuliah Kode Mata Kuliah Bobot (sks) Semester Tgl Penyusunan
Teknik Kompilasi AK045335 3 7 Agustus 2018
Otorisasi Nama Koordinator Pengembang RPS Koordinator Bidang Keahlian (Jika Ada) Ketua Program Studi
Prof. Dr.-Ing. Adang Suhendra, S.Kom., M.Sc Capaian Pembelajaran (CP) CPL-PRODI (Capaian Pembelajaran Lulusan Program Studi) Yang Dibebankan Pada Mata Kuliah
CPPS 1
CPPS 2
Kemampuan memahami konsep sains yang mendukung analisis, metode dan teknik komputasi paralel yang terdistribusi dalam pengembangan produk perangkat lunak teknologi informasi untuk sistem dengan kompleksitas komputasi yang menerapkan pemikiran logis, kritis, sistematis dan inovatif.
Kemampuan mengidentifikasi, menganalisis, merancang dan mendapatkan solusi dengan komputasi serta
mengkombinasikan berbagai prosedur teknis rekayasa teknologi Informatika secara tepat, menyeluruh dan optimal. CPMK (Capaian Pembelajaran Mata Kuliah)
CPMK 1.2 Kemampuan menerapkan pemikiran logis, kritis, sistematis, dan inovatif.
CPMK 2.1 Kemampuan mengidentifikasi, menganalisis, merancang dan mendapatkan solusi dengan komputasi.
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.
Bahan Kajian / Materi Pembelajaran 1. Menjelaskan arti, tujuan, definisi compiler dan interpreter.
2. Menjelaskan arti definisi dan konsep Besaran leksikal ekpresi regular dan FSA. 3. Menjelaskan konsep CFG dan menerangkan jenis derivasi pada CFG.
4. Menerapkan beberapa teknik Top Down Parsing (TDP).
5. Menjelaskan predictive parser, parsing table dan konsep first and follow set. 6. Menjelaskan arti devinisi dan konsep -TDP Non-recursive Descent Parser.
7. Menjelaskan arti definisi dan Konsep Bottom Up Parser - Operator Presedence Parser. 8. Menjelaskan arti, definisi dan konsep Bottom Up Parser – Canonical LR.
9. Menjelaskan arti, definisi dan Mampu menjelaskan arti, definisi dan konsep Bottom Up Parser – Canonical SLR. 10. Menjelaskan arti, definisi dan konsep Derivasi CLR dan LALR.
11. Menjelaskan arti definisi dan konsep Anlisa semantic, tabel simbol dan Hash Tabel. 12. Menjelaskan arti, definisi dan konsep intermediate Code Generator.
13. Menjelaskan Error handling, cara optimasi, dan Tabel Informasi.
Daftar Referensi Utama :
1. Sukamdi, Merekayasa Interpreter (Sebuah Penerapan Teknik Kompilasi), Jakarta, PT Elex Media Komputindo, 1995 2. 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, 1985
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
Komputer, Laptop, Proyektor
Nama Dosen PengampuMata Kuliah: Teknik Kompilasi (AK045335) / 3
SKS
CAPAIAN PEMBELAJARAN MATA KULIAH SISTEM BASIS DATA 1 :
1.
Kemampuan merancang, membangun dan mengimplementasikan produk teknologi informasi.
2.
Kemampuan membuat pemodelan data.
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami predictive parser, parsing table dan konsep first and follow set (mg ke 6)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami arti, definisi dan Mampu menjelaskan arti, definisi dan konsep Bottom Up Parser – Canonical SLR(1) (mg ke 10)
EVALUASI TENGAH SEMESTER (mg ke 11)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami arti definisi dan konsep Anlisa semantic, tabel simbol dan Hash Tabel (mg ke 13)
EVALUASI AKHIR SEMESTER (mg ke 16)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami predictive parser, parsing table dan konsep first and follow set (mg ke 5)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami arti, definisi dan konsep Bottom Up Parser – Canonical LR(0) (mg ke 8,9)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami arti, definisi
dan konsep Derivasi CLR (1) dan LALR (1) (mg ke 12)
Teknik Kompilasi (AK045335)/3 SKS
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami arti definisi dan Konsep Bottom Up Parser - Operator Presedence Parser (mg ke 7)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami arti definisi dan Konsep Bottom Up Parser - Operator Presedence Parser (mg ke 7)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami arti, definisi dan konsep intermediate Code Generator (mg ke 14)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami Error
handling, cara optimasi, dan Tabel Informasi. (mg ke 15)
[CPPS 1, 2 CPMK 1.2, 2.1]:
Mahasiswa mampu memahami arti,
tujuan, definisi compiler dan interpreter (mg ke 1)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami arti definisi dan konsep Besaran leksikal ekpresi regular dan FSA (mg ke 2)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami konsep CFG dan menerangkan jenis derivasi pada CFG (mg ke 3)
[CPPS 1, 2 CPMK 1.2, 2.1]: Mahasiswa mampu memahami dan dapat menerapkan beberapa teknik Top Down Parsing (TDP) (mg ke 4)
Minggu Ke-
Sub-CPMK (Kemampuan akhir
yang diharapkan)
Bahan Kajian (Materi Pembelajaran) Bentuk & Metode Pembelajaran Waktu Belajar (Menit) Penilaian Referensi
Indikator Kriteria Bobot
1 Mahasiswa mampu memahami arti, tujuan, definisi compiler dan interpreter 1. Kegunaan Kompiler 2. Struktur Kompiler 3. Perbedaan compiler dan 4. interpreter - Bentuk : Kuliah - Metode : Ceramah, -Tugas 1 3 x 50 Menit - Mahasiswa mampu menjelaskan kelengkapan dan kebenaran mengenai konsep compiler dan interpreter Partisipasi Mahasiswa, Presentasi mahasiswa 8 % [1], [2], [3] 2 Mahasiswa mampu memahami arti definisi dan konsep Besaran leksikal ekpresi regular dan FSA
1. Analisa Leksikal 2. Besaran Leksikal 3. Token
4. Ekspresi Regular
5. Finite State Automata (FSA) - Bentuk : Kuliah - Metode : Ceramah, Self-Learning (V-Class), - Tugas 2 3 x 50 Menit - Mahasiswa mampu menjelaskan kelengkapan dan kebenaran penjelasan mengenai konsep Analisis Leksikal ekpresi regular dan FSA Partisipasi Mahasiswa, Presentasi mahasiswa 12 % [1], [2] ,[3] 3 Mahasiswa mampu memahami konsep CFG dan menerangkan jenis derivasi pada CFG
1. Context Free Grammar 2. Left Most Derivation 3. Right Most Derivation 4. Non Ambigous Grammar 5. Left Recursion, Right
Recursion - Bentuk : Kuliah - Metode : ceramah, Praktik Laboratorium, Diskusi Kelompok - Tugas 3 3 x 50 Menit - Mahasiswa mampu menjelaskan kelengkapan dan kebenaran penjelasan mengenai konsep Context Free Grammar/tata bahasa bebas konteks Partisipasi Mahasiswa, Presentasi mahasiswa 10 % [1], [2], [3], [4], [5] 4 Mahasiswa mampu memahami dan dapat menerapkan beberapa teknik
Top Down Parsing (TDP) 1. TDP Full Backtracking(Brute - Bentuk : Kuliah - Metode : 3 x 50 Menit - Mahasiswa mampu menjelaskan kelengkapan dan kebenaran penjelasan mengenai konsep TDP Partisipasi Mahasiswa, Presentasi mahasiswa, 10 % [1], [2], [3], [4], [5]
Top Down Parsing (TDP) Force Method) 2. TDP without backtracking (Recursive Descent Parser) Praktik Laboratorium, Diskusi Kelompok - Tugas 4 5 Mahasiswa mampu memahami predictive parser, parsing table dan konsep first and follow set
1. predictive parser 2. parsing table
3. konsep first and follow set - Bentuk : Kuliah - Metode: Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok - Tugas 5 3 x 50 Menit - Mahasiswa mampu menjelaskan kelengkapan dan kejelasan mengenai predictive parser, parsing table, dan konsep first and follow set Partisipasi Mahasiswa, Presentasi mahasiswa, 10 % [1], [2], [3] 6 Mahasiswa mampu memahami arti devinisi dan konsep TDP Non -recursive Descent Parser (LL(1)) 1. TDP Non-recursive Descent Parser (LL(1)) - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Praktik Laboratorium - Tugas 6 3 x 50 Menit - Mahasiswa mampu menjelaskan kelengkapan dan kejelasan Penerapan First dan Follow pada (LL(1))
Partisipasi Mahasiswa, Presentasi mahasiswa,
7 Mahasiswa mampu memahami arti definisi dan Konsep Bottom Up Parser - Operator Presedence Parser 1. Konsep Bottom Up Parser Operator Presedence Parser - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Praktik Laboratorium - Tugas 7 3 x 50 Menit - Mahasiswa mampu menjelaskan kelengkapan dan kejelasan Operator Presedence Parser Partisipasi Mahasiswa, Presentasi mahasiswa, 10 % [1], [2], [3] 8-9 Mahasiswa mampu memahami arti, definisi dan konsep Bottom Up Parser – Canonical LR(0) 1. Konsep Bottom Up Parser Canonical LR(0) - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Praktik Laboratorium - Tugas 8 6 x 50 Menit - Mahasiswa mampu menjelaskan kelengkapan dan kebenaran penjelasanmengenai konsep Canonical LR(0) Partisipasi Mahasiswa, Presentasi mahasiswa, 10 % [1], [2], [3] 10 Mahasiswa mampu memahami arti, definisi dan Mampu menjelaskan arti, definisi dan konsep Bottom Up Parser – Canonical SLR(1) 1. Konsep Bottom Up Parser Canonical SLR(1) - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, 3 x 50 Menit - Mahasiswa mampu menjelaskan kelengkapan dan kebenaran penjelasan mengenai konsep Buttom up Parser Canonical SLR(1) Partisipasi Mahasiswa, Presentasi mahasiswa, 5 % [1], [2], [3]
Praktik Laboratorium - Tugas 9
11 UJIAN TENGAH SEMESTER
12 Mahasiswa mampu memahami arti, definisi dan konsep Derivasi CLR (1) dan LALR (1) 1. Bottom Up Parser Derivasi Menggunakan CLR(1) Derivasi Menggunakan LALR(1) - Bentuk : Kuliah - Metode : ceramah, Problem Based Learning, Praktik Laboratorium, Diskusi Kelompok - Tugas 10 3 x 50 Menit - Mahasiswa mampu menjelaskan kelengkapan dan kebenaran penjelasanmengenai konsep derivasi dan LALR(1)
Partisipasi Mahasiswa, Presentasi mahasiswa, 5 % [1], [2], [3] 13 Mahasiswa mampu memahami arti definisi dan konsep Anlisa semantic, tabel simbol dan Hash Tabel
1. Analisis semantic suatu bahasa pemrograman 2. Tabel symbol 3. Hash tabel - Bentuk : Kuliah - Metode : ceramah, Problem Based Learning, Praktik Laboratorium, Diskusi Kelompok - Tugas 11 3 x 50 Menit - Mahasiswa mampu
kelengkapan dan kebenaran penjelasan mengenai konsep Analisa Semantik tabel symbol dan hash tabel
Partisipasi Mahasiswa, Presentasi mahasiswa, 5 % [1], [2], [3] 14 Mahasiswa mampu memahami arti, definisi dan konsep
1. Gambaran Umum Kode Antara (Intermediate
- Bentuk : Kuliah - Metode :
3 x 50 Menit
- Kelengkapan dan kejelasan mengenai Intermediate Code Generator Partisipasi Mahasiswa, Presentasi 5 % [1], [2], [3]
intermediate Code Generator Code Generator) 2. Syntax Directed Translation (SDT) 3. Syntax Tree
4. Three Address Code 5. N-Tuple Ceramah, Problem Based Learning, Diskusi Kelompok - Tugas 12 mahasiswa, 15 Mahasiswa mampu memahami Error handling, cara optimasi, dan Tabel Informasi.
Proyek Database Security dengan menggunakan Oracle
- Bentuk : Kuliah - Metode : Project Based Learning, - Tugas 13 3 x 50 Menit - Mahasiswa mampu
menjelaskan Error handling, cara optimasi, dan Tabel Informasi. Partisipasi Mahasiswa, Presentasi mahasiswa, 5% [1], [2], [3]