UNIVERSITAS MUHAMMADIYAH PROF DR HAMKA (UHAMKA) FAKUTAS TEKNIK INFORMATIKA
RENCANA PEMBELAJARAN SEMESTER (RPS)
MATA KULIAH KODE MK RUMPUN MK BOBOT (sks) SEMESTER TANGGAL
PENYUSUNAN
DIREVISI Teori Bahasa dan
Automata
03015209 Bahasa
Pemrograman (PL)
3 4 23 Agustus 2017
OTORISASI DOSEN PENGEMBANG RPS KOORDINATOR RMK KETUA PROGRAM STUDI
Atiqah Meutia Hilda, S.Kom., M.Kom.
Wildan Toyib
(Atiqah Meutia Hilda, S.Kom., M.Kom.) (Arry Avorizano, S.Kom., M.Kom.) CAPAIAN
PEMBELAJARAN MK
CPL F TI
P1 (1.1) P1 (1.4) P2 (2.1) P2 (2.2) P2 (2.4) P2 (2.6)
P2 (2.7)
Lulusan mampu menguasai konsep-konsep matematika untuk memcahkan berbagai masalah yang berkaitan dengan logika.
Lulusan mampu menguasai konsep dan teori konsep-konsep struktur diskrit, yang meliputi materi dasar matematika yang digunakan untuk memodelkan dan menganalisis sistem komputasi
Lulusan mampu menguasai teori dan konsep yang mendasari ilmu komputer.
Lulusan mampu memahami konsep-konsep bahasa pemrograman mengidentifikasi model-model bahasa pemrograman serta membandingkan berbagai solusi
Lulusan mampu menguasai bidang fokus pengetahuan ilmu komputer serta mampu beradaptasi dengan perkembangan ilmu pengetahuan dan teknologi
Lulusan mampu memahami konsep-konsep algoritma dan kompleksitas, meliputi konsep-konsep sentral dan kecakapan yang dibutuhkan untuk merancang, menerapkan dan menganalisis algoritma untuk menyelesaikan masalah.
Lulusan mampu menguasai konsep dan prinsip algoritma serta teori ilmu komputer yang dapat digunakan dalam pemodelan dan desain sistem berbasis komputer
CP-MK Setelah mengikuti kuliah ini mahasiswa mampu merancang Algoritma pada beberapa permasalahan sesuai aturan dan pembuktiannya.
Sub CP-MK: 1. Mahasiswa mampu memahami teori komputasi mereview dan pemahaman kembali terhadap permasalahan dan terminologi mengenai himpunan, graph, dan fungsi.
2. Mahasiswa mampu memahami model bahasa, konsep sentral dan pembangun bahasa, dan mampu untuk membedakan golongan bahasa menurut aturan Chomsky serta memahami terhadap Regular Grammar (RG) 3. Mahasiswa mampu untuk membedakan kedua kakas (diagram transisi dan tabel transisi) pada Finite
Automata (FA), memanfaatkannya, dan mengetahui peranan kakas tersebut pada FA. Memahami DFA dan perbedaannya dengan NDFA, definisi formal DFA,
4. Mahasiswa memahami definisi formal dan karakteristik NDFA, bagaimana membangun NDFA, serta kemampuan untuk mengubah NDFA menjadi DFA yang ekivalen.
5. Mahasiswa memahami definisi formal dan karakteristik NDFA dengan ε-Move, serta kemampuan untuk mengubah NDFA dengan ε-Move menjadi DFA yang ekivalen.
6. Mahasiswa memahami terhadap karakteristik Minimum DFA dan kemampuan untuk mereduksi DFA yang belum minimum sehingga diperoleh Minimum DFA yang ekivalen.
7. Mahasiswa mampu untuk melakukan operasi terhadap beberapa FA, membentuk grammar yang lebih kompleks, membangun dan mengidentifikasi ekspresi regular, serta melakukan konversi antara ekspresi regular dengan FA.
8. Mahasiswa mampu untuk mengubah bentuk FA menjadi RG yang ekivalen atau sebaliknya
9. Mahasiswa memahami terhadap penggunaan dan pembuatan alternatif mesin automata, yaitu Mesin Mealy dan Moore.
10. Mahasiswa mampu merepresentasikan PDA, dan penggunaan PDA sebagai penerima bahasa.
11. Mahasiswa mampu membuat dan mengurai string bahasa yang dibangun oleh CFG dan mengkonversikan CFG menjadi PDA ataupun sebaliknya.
12. Mahasiswa mampu mengubah sebuah CFG menjadi CNF yang ekivalen dengan tahap-tahap yang benar.
13. Mahasiswa mampu mengenal definisi dan kelebihan Deterministic PDA (DPDA) dan implementasinya dalam sebuah LL Parser.
14. Mahasiswa mampu Mengetahui tentang Pumping Lemma beserta fungsinya dikaitkan dengan tata bahasa (grammar) yang telah dipelajari.
15. Mahasiswa mampu membangun Turing Machine.
16. Mahasiswa mampu mengembangkan Turing Machine sebagai mesin unrestricted grammar dan mengkombinasikan beberapa Turing Machines.
17. Mahasiswa mampu memodelkan Turing Machine ke dalam notasi block untuk membangun kombinasi Turing Machines.
DESKRIPSI SINGKAT MATA KULIAH
Kuliah ini memberikan pemahaman tentang pengantar teori komputasi, yang berisi materi tentang teori bahasa dan automata. Pada mata kuliah ini, dijelaskan teori dan pemodelan dari beberapa tata bahasa (grammar) berdasarkan hirarki Chomsky. Tata bahasa yang dimaksud di antaranya regular grammar, context sensitive grammar, context free grammar, dan unrestricted grammar. Pemodelan bahasa yang digunakan mengikuti model mesin sesuai tata bahasa yang sedang dibahas.
MATERI
PEMBELAJARAN/
POKOK BAHASAN
1. Pendahuluan Teori Himpunan
2. Grammer dan Tingkat Bahasa Regular Grammar (RG)
3. Finite Automata (FA) Diagram dan Tabel Transisi Deterministic Finite Automata (DFA) 4. Non-Deterministic Finite Automata (NDFA)
5. NDFA dengan ε-Move
6. Minimum DFA
7. Operasi FA dan Regular Expression FA vs. RG 8. Mesin Mealy dan Moore [pengayaan]
9. Pushdown Automata (PDA)
10. Contect Free Grammar (CFG) PDA vs. CFG 11. Chomsky Normal Form (CNF)
12. Deterministic PDA dan LL Parser 13. Pumping Lemma [pengayaan]
14. Turing Machine
15. Combining Turing Machines 16. Basic Building Block
PUSTAKA 1. Brookshear, Glen J., “Theory of Computation : Formal Language, Automata and Complexity”, The Benjamin/Cummings Publishing Company, 1989
2. Revesz, Gyorgy E., “Introduction to Formal Languages”, McGraw Hill Book Company, 1985
3. Hopcroft, Jhon E., and Jeffery D. Ullman, “Introduction to Automata Theory, Language, and Computation”
4. Linz Peter, “An Introduction to Formal Languages and Automata 5th Edition, Jones & Bartlett Publishers”, ISBN: 144961552X, 9781449615529, 2011
5. Utdirartatmo, Firrar, “Teknik Kompilasi”, J&J Learning Yogyakarta, ISBN: 979-9398-11-8, 2001 6. Hariyanto, Bambang, “Teori Bahasa, Otomata dan Komputasi serta Terapannya”
7. Sipser, M, “Introduction to the Theory of Computation”, Cengage Learning, 2012.
MEDIA
PEMBELAJARAN
Ceramah, diskusi, praktik/demo, pemberian tugas dan Tanya jawab
TEAM TEACHING Atiqah Meutia Hilda, S.Kom., M.Kom.
Wildan Toyib MATA KULIAH
PRASYARAT
Matematika Diskrit
Minggu ke-
Sub-CP-MK (Sbg kemampuan akhir yang diharapkan
Indikator Kriteria &
Bentuk Penilaian
Metode Pembelajaran (Estimasi Waktu)
Materi Pembelajaran Bobot Penilaian 1 Mahasiswa mampu memahami
teori komputasi mereview dan pemahaman kembali terhadap permasalahan dan terminologi mengenai himpunan, graph, dan fungsi.
.
• Mahasiswa mengenal mata kuliah Teori Komputasi yang akan diajarkan dan memahami lingkup pembelajaran, aturan kuliah, komponen penilaian, dan referensi acuan.
• Mahasiswa mengingat dan memahami kembali permasalahan dan terminologi mengenai
himpunan, graph, dan fungsi.
Tugas 1 : Kriteria : Ketepatan dan penguasaan Bentuk test : Kuis
Tugas 2 : jika benar diberi point, jika salah diberi point nol
• Pemberian Kontrak Perkuliahan
• Kuliah, diskusi dan tanya Jawab : [TM: 1 x (3 x 50’)]
• Tugas 1 : Membaca kembali literature tentang Teori Himpunan
[BT+BM:1+1)x(3x60’)]
• Tugas 2 : Menyelesaikan persoalan Himpunan [BT+BM:1+1)x(3x60’)]
Pendahuluan - Teori Himpunan
6%
2 Mahasiswa mampu memahami model bahasa, konsep sentral dan pembangun bahasa, dan mampu untuk membedakan golongan bahasa menurut aturan Chomsky serta memahami terhadap Regular Grammar (RG)
• Mahasiswa
memahami manfaat model bahasa, konsep sentral dan pembangun bahasa, serta mampu membedakan golongan bahasa
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya jawab Tugas 3:
• Kuliah, diskusi dan tanya Jawab : [TM: 1 x (3 x 50’)]
• Tugas 3 : Menentukan Klasifikasi Grammar dan Regular Grammar [BT+BM:1+1)x(3x60’)]
Grammar dan Tingkat Bahasa - Regular Grammar (RG)
9%
menurut aturan Chomsky.
• Mahasiswa
memahami Regular Grammar,
bagaimana
membangunnya, dan perbedaannya dengan tata bahasa lainnya
jika benar diberi point, jika salah diberi point nol
3 Mahasiswa mampu untuk membedakan kedua kakas (diagram transisi dan tabel transisi) pada Finite Automata (FA), memanfaatkannya, dan mengetahui peranan kakas tersebut pada FA. Memahami DFA dan perbedaannya dengan NDFA, definisi formal DFA,
• Mahasiswa mampu membedakan kedua kakas (diagram transisi dan tabel transisi) pada Finite Automata (FA), memanfaatkannya, dan mengetahui peranan kakas tersebut pada FA.
• Mahasiswa memahami DFA dan perbedaannya dengan NDFA, definisi formal DFA, bagaimana membangun DFA, dan mampu
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya jawab Tugas 4:
jika benar diberi point, jika salah diberi point nol
• Kuliah, diskusi dan tanya jawab : [TM: 1 x (3 x 50’)]
• Tugas 4 :
Membuat Diagram dan Tabel transisi FA
[BT+BM:1+1)x(3x60’)]
Finite Automata (FA)
- Diagram dan Tabel Transisi - Deterministic Finite Automata (DFA)
12%
mengubah FA menjadi DFA
4 Mahasiswa memahami definisi formal dan karakteristik NDFA, bagaimana membangun NDFA, serta kemampuan untuk
mengubah NDFA menjadi DFA yang ekivalen.
• Mahasiswa
memahami definisi formal dan
karakteristik NDFA, bagaimana
membangun NDFA, serta mampu
mengubah NDFA menjadi DFA yang ekivalen.
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya jawab Tugas 5: jika benar diberi point, jika salah diberi point nol
• Kuliah, diskusi dan tanya jawab : [TM: 1 x (3 x 50’)]
• Tugas 5 :
Membuat diagram dan tabel transisi NDFA [BT+BM:1+1)x(3x60’)]
Non Deterministic Finite Automata (NDFA)
10%
5 Mahasiswa memahami definisi formal dan karakteristik NDFA dengan ε-Move, serta
kemampuan untuk mengubah NDFA dengan ε-Move menjadi DFA yang ekivalen.
• Mahasiswa
memahami definisi formal dan
karakteristik NDFA dengan ε-Move, serta mampu mengubah NDFA dengan ε-Move menjadi DFA yang ekivalen.
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya jawab Tugas 6:
jika benar diberi point, jika salah diberi point nol
• Kuliah, diskusi dan tanya jawab : [TM: 1 x (3 x 50’)]
• Tugas 6 :
Membuat diagram dan Tabel Transisi NDFA dengan ε-Move
[BT+BM:1+1)x(3x60’)]
NDFA dengan εMove 10%
6 Mahasiswa memahami terhadap karakteristik Minimum DFA dan kemampuan untuk mereduksi DFA yang belum minimum sehingga diperoleh Minimum DFA yang ekivalen.
• Mahasiswa memahami karakteristik
Minimum DFA dan mampu mereduksi DFA yang belum
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya jawab
• Kuliah, diskusi dan tanya jawab: [TM: 1 x (3 x 50’)]
• Tugas 7 :
Minimum DFA 5%
minimum sehingga diperoleh Minimum DFA yang ekivalen.
Tugas 7:
jika benar diberi point, jika salah diberi point nol
Menentukan Minimum DFA
[BT+BM:1+1)x(3x60’)]
7 Mahasiswa mampu untuk melakukan operasi terhadap beberapa FA, membentuk grammar yang lebih kompleks, membangun dan
mengidentifikasi ekspresi regular, serta melakukan
konversi antara ekspresi regular dengan FA.
• Mahasiswa mampu melakukan operasi terhadap beberapa FA, membentuk grammar yang lebih kompleks,
membangun dan mengidentifikasi ekspresi regular, serta melakukan konversi antara ekspresi regular dengan FA.
• Mahasiswa mampu mengubah bentuk FA menjadi RG yang ekivalen atau sebaliknya.
Kriteria : Ketepatan dan penguasaan Bentuk non test :
Tanya jawab Tugas 8:
jika benar diberi point, jika salah diberi point nol
• Kuliah dan diskusi : [TM: 1 x (3 x 50’)]
• Tugas 8 : Menentukan Operasi FA dan Regular Expression - FA vs. RG
[BT+BM:1+1)x(3x60’)]
- Operasi FA dan Regular Expression - FA vs. RG
10%
8 Mahasiswa mampu untuk mengubah bentuk FA menjadi RG yang ekivalen atau
sebaliknya
• Mahasiswa dapat mengubah bentuk FA menjadi RG yang ekivalen atau sebaliknya
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya jawab Tugas 9:
• Kuliah, diskusi dan tanya jawab : [TM: 1 x (3 x 50’)]
• Tugas 9 :
Membuat Mesin Mealy dan Moore [pengayaan]
[BT+BM:1+1)x(3x60’)]
Mengubah Bentuk FA menjadi RG yang ekivalen atau sebaliknya
8%
jika benar diberi point, jika salah diberi point nol
UJIAN TENGAH SEMESTER 9 Mahasiswa mampu memahami
terhadap penggunaan dan pembuatan alternatif mesin automata, yaitu Mesin Mealy dan Moore.
• Mahasiswa memahami penggunaan dan pembuatan alternatif mesin automata, yaitu Mesin Mealy dan Moore.
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya jawab Tugas 9:
jika benar diberi point, jika salah diberi point nol
• Kuliah, diskusi dan tanya jawab : [TM: 1 x (3 x 50’)]
• Tugas 10 :
Membuat Mesin Mealy dan Moore [pengayaan]
[BT+BM:1+1)x(3x60’)]
Mesin Mealy dan Moore [pengayaan]
8%
10 Mahasiswa mampu
merepresentasikan PDA, dan penggunaan PDA sebagai penerima bahasa.
• Mahasiswa memahami Pushdown
Automata (PDA), kelebihan kelebihan dan karakteristik PDA, representasi PDA, dan
penggunaan PDA sebagai penerima bahasa.
Kriteria : Ketepatan,dan penguasaan Bentuk non test:
Tanya Jawab Tugas 10:
jika benar diberi point, jika salah diberi point nol
• Kuliah dan diskusi : [TM: 1 x (3 x 50’)]
• Tugas 11 :
Mengaplikasikan kasus logika predikat
menggunakan prolog [BT+BM:1+1)x(3x60’)
Pushdown Automata (PDA) 12%
11 Mahasiswa mampu membuat dan mengurai string bahasa yang dibangun oleh CFG dan
mengkonversikan CFG menjadi PDA ataupun sebaliknya.
• Mahasiswa
memahami Context Free Grammar (CFG), definisi dan karakteristiknya, serta mampu membuat dan
Kriteria : Ketepatan, dan penguasaan Bentuk non test:
Tanya Jawab Tugas 11:
• Kuliah dan diskusi : [TM: 1 x (3 x 50’)]
• Tugas 12 :
Membuat Context Free Grammar
[BT+BM:1+1)x(3x60’)]
Context Free Grammar (CFG) - PDA vs. CFG
12%
mengurai string bahasa yang
dibangun oleh CFG.
• Mahasiswa memahami hubungan antara CFG dengan PDA dan
mengkonversikan CFG menjadi PDA ataupun sebaliknya.
jika benar diberi point, jika salah diberi point nol
12 Mahasiswa mampu mengubah sebuah CFG menjadi CNF yang ekivalen dengan tahap-tahap yang benar.
• Mahasiswa
memahami Chomsky Normal Form (CNF), yaitu bentuk normal dari sebuah CFG menurut aturan Chomsky, serta mampu mengubah sebuah CFG menjadi CNF yang ekivalen dengan tahap-tahap yang benar.
Kriteria : Ketepatan, dan penguasaan Bentuk non test:
Tanya Jawab Tugas 12:
jika benar diberi point, jika salah diberi point nol
• Kuliah dan diskusi : [TM: 1 x (2 x 50’)]
• Tugas 13 :
Menentukan Chomsky Normal Form (CNF) [BT+BM:1+1)x(3x60’)]
Chomsky Normal Form (CNF)
5%
13 Mahasiswa mampu mengenal definisi dan kelebihan
Deterministic PDA (DPDA) dan implementasinya dalam sebuah LL Parser.
• Mahasiswa mengenal definisi dan kelebihan Deterministic PDA (DPDA) dan implementasinya
Kriteria : Ketepatan, dan penguasaan Bentuk non test:
Tanya Jawab Tugas 13:
• Kuliah dan diskusi : [TM: 6 x (2 x 50’)]
• Tugas 14 : Menentukan
Deterministic PDA dan LL Parser
[BT+BM:1+1)x(3x60’)]
Deterministic PDA dan LL Parser
8%
dalam sebuah LL Parser.
jika benar diberi point, jika salah diberi point nol 14 Mahasiswa mampu Mengetahui
tentang Pumping Lemma beserta fungsinya dikaitkan dengan tata bahasa (grammar) yang telah dipelajari.
• Mahasiswa
mengetahui Pumping Lemma beserta fungsinya dikaitkan dengan tata bahasa (grammar) yang telah dipelajari.
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya Jawab Tugas 14:
jika benar diberi point, jika salah diberi point nol
• Kuliah dan diskusi : [TM: 1 x (2 x 50’)]
• Tugas 15 :
Menentukan Pumping Lemma [pengayaan]
[BT+BM:1+1)x(3x60’)]
Pumping Lemma [pengayaan]
9%
15 Mahasiswa mampu membangun Turing Machine.
• Mahasiswa
memahami konsep deterministic mesin sebagai mesin unrestricted grammar, konsep dan definisi formal dari Turing Machine, diagram transisinya, dan pembangunan Turing Machine.
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya Jawab Tugas 15:
jika benar diberi point, jika salah diberi point
• Kuliah dan diskusi : [TM: 1 x (2 x 50’)]
• Tugas 16 :
Menentukan Mesin Turing
[BT+BM:1+1)x(2x60’)]
Turing Machine 10%
16 Mahasiswa mampu mengembangkan Turing Machine sebagai mesin unrestricted grammar dan mengkombinasikan beberapa Turing Machines.
• Mahasiswa mampu mengembangkan Turing Machine sebagai mesin
unrestricted grammar dan
mengkombinasikan
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya Jawab Tugas 15:
• Kuliah dan diskusi : [TM: 1 x (2 x 50’)]
• Tugas 17 : Menentukan Combining Turing Machines
[BT+BM:1+1)x(2x60’)]
Combining Turing Machines 4%
beberapa Turing Machines.
jika benar diberi point, jika salah diberi point 17 Mahasiswa mampu memodelkan
Turing Machine ke dalam notasi block untuk membangun
kombinasi Turing Machines.
• Mahasiswa mampu memodelkan Turing Machine ke dalam notasi block untuk membangun kombinasi Turing Machines.
Kriteria : Ketepatan dan penguasaan Bentuk non test:
Tanya Jawab Tugas 15:
jika benar diberi point, jika salah diberi point
• Kuliah dan diskusi : [TM: 1 x (2 x 50’)]
• Tugas 18 :
Menentukan Basic Building Block
[BT+BM:1+1)x(2x60’)]
Basic Building Block 5%
UJIAN AKHIR SEMESTER Catatan :
1. TM : Tatap muka, BT : Belajar Terstruktur, BM : Belajar Mandiri
2. TM : 1x(1x50*) dibaca : kuliah tatap muka 1 kali (minggu) x 3 sks x 50 menit = 150 menit (2,5 jam)
3. ((BT+BM : (1+1)x(3x60)) dibaca : belajar terstruktur 1 kali (minggu) dan belajar mandiri 1 kali (minggu) x 3 sks x 60 menit = 360 menit (6 jam)
4. Penulisan daftar pustaka disarankan menggunakan salah satu standar penulisan daftar pustaka