UNIVERSITAS GUNADARMA
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
RENCANA PEMBELAJARAN SEMESTER (RPS)
Nama Mata Kuliah
Kode Mata Kuliah
Bobot (sks)
Semester
Tgl Penyusunan
Teori Bahasa & Otomata
IT045330
3
6
Agustus 2018
Otorisasi
Nama Koordinator Pengembang
RPS
Koordinator Bidang Keahlian
(Jika Ada)
Ketua Program Studi
Prof, Dr.-Ing. Adang Suhendra, S.Si, S.Kom, MSc
Capaian Pembelajaran (CP)
CPL-PRODI (Capaian Pembelajaran Lulusan Program Studi) Yang Dibebankan Pada Mata Kuliah
CPPS 1
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.
CPPS 2
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.1
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.
CPMK 2.1
Kemampuan mengidentifikasi, menganalisis, merancang dan mendapatkan solusi dengan komputasi.
Deskripsi Singkat MK
Mata Kuliah ini membahas Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan
perancangan kompilator (compiler) dan pemroses naskah (text processor). Pemahaman tentang otomata yang merupakan
mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam
bahasa tertentu. Pada perkulihan mata kuliah ini mahasiswa mempelajari prinsip grammer dan klasifikasi tata bahasa formal
(Menurut Chomsky). Juga dibahas tentang mesin pengenal bahasa seperti Mesin Turing, Linear Bounded Automaton, LBA,
Automata Pushdown (Pushdown Automata), PDA, Automata Hingga (Finite Automata), FA
Bahan Kajian / Materi
Pembelajaran
1.
Memahami konsep dan istilah yang umum digunakan dalam Teori Bahasa dan Otomata.
2.
Memahami tipe-tipe bahasa dan menganalisa tipe-tipe Bahasa.
3.
Memahami Automata Hingga (AH) dari suatu Bahasa.
4.
Memahami jenis-jenis Otomata Hingga dan konsep ekivalensi antar jenis tersebut.
5.
Merancang AH dari suatu Bahasa.
6.
Merancang AH dari suatu Bahasa.
7.
Menentukan Bentuk Normal Chomsky (BNC) dari sembarang tata bahasa context free.
8.
Merancang Pushdown Automata (PDA) dari Suatu Bahasa.
9.
Memahami ekivalensi antara mesin PDA dan bahasa bahasa context free.
10.
Memahami Grammar Context Free dan Parsing.
11.
Mengenal, menjalankan, dan membuat mesin Turing dari suatu bahasa.
12.
Mengenal, menjalan, dan membuat Linear Bounded Automaton (LBA) dari suatu Bahasa.
13.
Memahami hubungan bahasa formal dan proses kompilasi
Daftar Referensi
Utama :
1.
D. Suryadi HS. Pengantar Automata Bahasa Formal dan Kompilasi. Penerbit Gunadarma.
2.
Martin, John C., Introduction to Languages and the Theory of Computaion, McGraw-Hill Inc, Singapore, 1991
3.
Tremblay, Jean-Paul, Paul G. Sorenson, The Theory and Practice of Compiler, McGraw-Hill Co, New York, 1988
4.
Kelley, Dean, Otomata dan Bahasa-bahasa Formal, PT. Prenhallindo
5.
Hopcroft, John E., Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison Wesley
Publishing Company, Reading, Massachusetts, 1979
Media Pembelajaran
Perangkat Lunak
Perangkat Keras
Nama Dosen Pengampu
Mufid Nilmada
Mata Kuliah Prasyarat
Mata Kuliah: Teori Bahasa & Otomata (
IT045330)
/ 3 SKSEVALUASI TENGAH SEMESTER (PERT 11)
[CPPS 3 CPMK 1.1]:
Mahasiswa mampu memahami ekivalensi
antara mesin PDA dan bahasa bahasa context free
(mgg ke-10)[CPPS 4 CPMK 2.1]:
Mahasiswa mampu memahami dan merancang
Pushdown Automata (PDA) dari suatu Bahasa
(mgg ke-9)[CPPS 4 CPMK 2.1]:
Mahasiswa mampu memahami dan
menentukan Bentuk Normal Chomsky (BNC) dari sembarang tata
bahasa context free
(mgg ke-8)CAPAIAN PEMBELAJARAN MATA KULIAH :
1. 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.
2. Kemampuan mengidentifikasi, menganalisis, merancang dan mendapatkan solusi dengan komputasi.
[CPPS 3 CPMK 1.1]
Mahasiswa mampu memahami Grammar
Context Free dan Parsing
(mgg ke-12)[CPPS 4 CPMK 2.1]
Mahasiswa mampu memahami, mengenal,
menjalan, dan membuat Linear Bounded Automation (LBA) dari
suatu bahasa
(mgg ke-14)[CPPS 4 CPMK 2.1]
Mengenal, menjalankan, dan membuat mesin
Turing dari suatu bahasa
(mgg ke-13)[CPPS 3 CPMK 1.1]
Mahasiswa mampu memahami hubungan
bahasa formal dan proses kompilasi
(mgg ke-15)[CPPS 3 CPMK 1.1]:
Mahasiswa mampu memahami Automata
Hingga (AH) dari suatu Bahasa
(mgg ke-3)[CPPS 3 CPMK 1.1]:
Mahasiswa mampu memahami konsep dan
istilah yang umum digunakan dalam Teori Bahasa dan Otomata
(mgg ke-2)[CPPS 3 CPMK 1.1Mahasiswa mampu memahami tipe-tipe bahasa dan menganalisa tipe-tipe bahasa (mgg ke-1)
[CPPS 4 CPMK 2.1]:
Mahasiswa mampu memahami dan merancang
AH dari suatu Bahasa
(mgg ke-7)[CPPS 4 CPMK 2.1]:
Mahasiswa mampu memahami dan merancang
AH dari suatu Bahasa
. (mgg ke-6)[CPPS 3 CPMK 1.1]:
Mahasiswa mampu memahami jenis-jenis
Otomata Hingga dan konsep ekivalensi antar jenis tersebut
(mgg ke-4 dan mgg ke-5)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 konsep dan istilah yang umum digunakan dalam Teori Bahasa dan Otomata
Komponen Tata bahasa Formal
- Konsep-konsep : karakter, string, kata, token,kalimat, bahasa
- Tata bahasa : menggunakan istilah-istilah simbol terminal, non terminal, produksi, derivasi - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok 3 x 50  Mahasiswa mampu menjelaskan karakter, string, kata, token, kalimat, bahasa dengan benar.  Mahasiswa mampu menjelaskan symbol terminal, non terminal, produksi dengan benar.  Mahasiswa mampu menjelaskan prinsip bahasa formal dengan benar. Partisipasi Mahasiswa, Presentasi Mahasiswa 5 % [1],[4],[5] 2 Mahasiswa mampu memahami tipe-tipe bahasa dan menganalisa tipe-tipe bahasa Klasifikasi Tatabahasa Formal menurut Chomsky. -Tata bahasa : unrestricted, context sensitive, context free, regular
-Tata bahasa Chomsky
- Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok 3 x 50 Mahasiswa mampu menjelaskan perbedaan dan sifat khusus keempat tata bahasa
 Mahasiswa mampu menjelaskan dan memberi contoh setiap bahasa yang termasuk kelas setiap tata bahasa Chomsky  Mahasiswa mampu Partisipasi Mahasiswa, Presentasi Mahasiswa 5 % [1],[4],[5]
menjelaskan setiap tata bahasa tingkatannya lebih tinggi juga merupakan tata bahasa yang lebih rendah (misalnya tata bahasa regular juga adalah tata bahasa context sensitive) 3 Mahasiswa mampu
memahami Automata Hingga (AH) dari suatu Bahasa
Automata Hingga Deterministik (AHD) - Definisi AHD sebagai pasangan 5 tuple
- AHD dalam bentuk tabel dari bentuk graf yang diketahui dan
sebaliknya.
- AHD yang diberikan untuk mengenal suatu untai dan diterima tidaknya untai tersebut oleh AHD.
- Ekivalensi AHD dan bahasa regular Ekspresi Regular (ER) Equivalensi antara bahasa regular dengan ekspresi regular. - Definisi rekursif ER Operasi pada ER : concate, alternate dan clossure (Kleene dan positive) - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok - Tugas 1 3 x 50 Mahasiswa mampu menjelaskan
definisi AHD sebagai pasangan 5 tuple -Mahasiswa mampu menjelaskan dan menyajikan AHD dalam bentuk tabel dari bentuk graf yang diketahui dan sebaliknya -Mahasiswa mampu menjelaskan dan menjalankan AHD yang diberikan untuk mengenal suatu untai menyimpulkan diterima tidak untai tersebut oleh AHD -Mahasiswa mampu menjelaskan dan menarik kesimpulan mengenai Partisipasi Mahasiswa, Presentasi Mahasiswa 10 % [1],[4],[5]
equivalensi bahasa regular dengan ekspresi regular Melakukan operasi pada ER : concate, alternate dan clossure (Kleene dan positive)
4 – 5 Mahasiswa mampu memahami jenis-jenis Otomata Hingga dan konsep ekivalensi antar jenis tersebut
Automata Hingga Nondeterministik (AHN)
- Konsep AHN
- Perbedaan AHD dengan AHN
- AHN dengan graf dan tabel
- AHN yang diberikan untuk mengenal string w Transformasi AHN menjadi AHD
- Membentuk AHD yang ekivalen dengan suatu AHN
AHN dengan transisi hampa (AHN-epsilon) - Konsep AHN- epsilon - Perbedaan antara AHD, AHN dan AHN- epsilon) - AHN- epsilon dalam graf maupun tabel
- AHN- epsilon yang diberikan untuk mengenal string w -AHN yang ekivalen
- Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok - Tugas 2 3 x 50 - Mahasiswa mampu menjelaskan konsep AHN, perbedaan AHD dengan AHN - Mahasiswa mampu menjelaskan AHN dengan graf dan tabel - Mahasiswa mampu menjelaskan AHN yang diberikan untuk mengenal string w - Mahasiswa mampu menjelaskan dan membentuk AHD yang ekivalen dengan suatu AHN yang diberikan - Mahasiswa mampu menjelaskan
konsep AHN- epsilon, perbedaan antara AHD, AHN dan AHN-
Partisipasi Mahasiswa, Presentasi Mahasiswa 15 % M4 7,5%, M5 7,5% [1],[4],[5]
dengan suatu AHN- epsilon epsilon
- Mahasiswa mampu menjelaskan dan
menyajikan AHN- epsilon dalam graf maupun tabel
- Mahasiswa mampu menjelaskan dan menjalankan AHN-epsilon yang diberikan untuk mengenal string w
- Mahasiswa mampu membentuk AHN yang ekivalen dengan suatu AHN epsilon yang diberikan 6 Mahasiswa mampu
memahami dan
merancang AH dari suatu Bahasa
Equivalensi Grammar Regular (GR) dengan AH - Transformasi himpunan produksi pada GR menjadi fungsi transisi pada AHN
- Transformasi fungsi transisi pada AHD menjadi himpunan produksi pada GR Equivalensi ER dan AHN-epsilon
Graf AHN-epsilon jika diketahui ER - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok - Tugas 3 3 x 50 - Mahasiswa mampu menjelaskan dan membuat transformasi himpunan produksi pada GR menjadi fungsi transisi AHN, transformasi fungsi transisi pada AHD menjadi himpunan produksi pada GR Membentuk graf AHN-epsilon jika diketahui ER Partisipasi Mahasiswa, Presentasi Mahasiswa 10 % [2],[4],[5]
7 Mahasiswa mampu memahami dan
merancang AH dari suatu Bahasa
Automata Hingga dengan Output (AHO)
- AHO dalam konsep mesin Moore maupun Mealy Ekivalensi dari mesin Moore dan Mealy
- Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok - Tugas 4 3 x 50 - Mahasiswa mampu menjelaskan dan menyajikan AHO dalam konsep mesin Moore maupun Mealy - Mahasiswa mampu menjelaskan dan menunjukkan ekivalensi dari mesin Moore dan Mealy
Merancang AHO untuk masalah yang sederhana Partisipasi Mahasiswa, Presentasi Mahasiswa 10 % [2],[4],[5] 8 Mahasiswa mampu memahami dan menentukan Bentuk Normal Chomsky (BNC) dari sembarang tata bahasa context free
Pengertian Dasar Bentuk Normal Chomsky (BNC) - BNC pada context free - BNC dengan tata bahasa regular yang
mempunyai kemiripan dengan BNC
- Simbol nullable, dan produksi unitas Empat langkah normalisasi
BNC dari sembarang context free malalui 4 langkah. - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok - Tugas 5 3 x 50 - Mahasiswa mampu menjelaskan dan mengidentifikasikan alasan BNC dilakukan kepada context free - Mahasiswa mampu menjelaskan perbedaan antara BNC dengan tata bahasa regular yang mempunyai kemiripan dengan BNC - Mahasiswa mampu menjelaskan dan menunjukkan simbol nullable, dan
Partisipasi Mahasiswa, Presentasi Mahasiswa
produksi unitas - Mahasiswa mampu menjelaskan dan membentuk BNC dari sembarang context free. 9 Mahasiswa mampu memahami dan merancang Pushdown Automata (PDA) dari suatu Bahasa
Definisi Pushdown Automata (PDA) - Definisi PDA
- PDA untuk mengenal string w - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok - Tugas 6 3 x 50 Mahasiswa mampu menjelaskan definisi PDA Menjalankan PDA yang diberikan untuk mengenal string w Partisipasi Mahasiswa, Presentasi Mahasiswa 5% [2],[4],[5] 10 Mahasiswa mampu memahami ekivalensi antara mesin PDA dan bahasa bahasa context free
PDA dari tata bahasa context free
- PDA yang ekivalen dengan tatabahasa context free yang diberikan
Bahasa context free dari PDA
- Tatabahasa context free yang ekivalen dengan
PDA yang diberikan
- Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok - Tugas 7 3 x 50 Mahasiswa mampu menjelaskan dan membuat PDA yang ekivalen dengan tatabahasa context free yang diberikan Membuat tatabahasa context free yang ekivalen dengan PDA
yang diberikan Partisipasi Mahasiswa, Presentasi Mahasiswa 5% [4],[5] 11
12 Mahasiswa mampu memahami Grammar Context Free dan Parsing
Terminologi Sintaks - Pohon sintaks
- Identifikasin sentensial, phrase, simple phrase, dan handle dari suatu tata bahasa. Parsing - Definsi parsing - Bagian-bagian dari pohon sintaks 1,2 Membuat pohon sintaks Mengidentifikasin sentensial, phrase, simple phrase, dan handle dari suatu tata bahasa
Menjelaskan definsi 7,5 % [2] [4][5]
- Kalimat dengan pohon sintaks
- Sentensial dalam suatu pohon sintaks
- Kaitan antara derivasi dengan pohon sintaks Sifat Ambiguous
- Ambiguous bagi kalimat maupaun tata bahasa - Kelemahan kalimat ambiguous - Perbaikan grammar ambiguous jika - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok - Tugas 8 3 x 50 - Mahasiswa mampu menjelaskan dan membuat pohon sintaks - Mahasiswa mampu menjelaskan dan engidentifikasin sentensial, phrase, simple phrase, dan handle dari suatu tata bahasa - Mahasiswa mampu menjelaskan definsi parsing - Mahasiswa mampu menjelaskan dan mengenal bagianbagian dari pohon sintaks - Mahasiswa mampu menjelaskan dan membentuk kalimat dengan pohon sintaks - Mahasiswa mampu menjelaskan dan menentukan sentensial dalam suatu pohon sintaks - Mahasiswa mampu menjelaskan kaitan antara derivasi dengan pohon Partisipasi Mahasiswa, Presentasi Mahasiswa 5% [2],[4],[5]
memungkinkan Teknik-teknik Parsing - Perbedaan antara parsing top-down
dengan parsing bottomup - Perbedaan parsing topdown dengan backup
dan tanpa backup - Menunjukkan
perbedaan parsing topdown backup teknik
Brute-Force dengan recursive descent - Pengertian rekursif-kiri dan kaitannya dengan parsing top-down sintaks - Mahasiswa mampu menjelaskan pengertian ambiguous bagi kalimat maupaun tata bahasa - Mahasiswa mampu menjelaskan kelemahan kalimat ambiguous - Mahasiswa mampu menjelaskan dan mengusahakanperba ikan grammar ambiguous jika memungkinkan - Mahasiswa mampu menjelaskan dan menunjukkan perbedaan antara parsing top-down dengan parsing bottom-up - Mahasiswa mampu menjelaskan dan menunjukkan perbedaan parsing top-down dengan backup dan tanpa backup
- Mahasiswa mampu menjelaskan dan menunjukkan perbedaan parsing top-down backup teknik Brute-Force dengan recursive descent - Mahasiswa mampu menjelaskan pengertian rekursifkiri dan kaitannya
dengan parsing topdown 13 Mengenal, menjalankan,
dan membuat mesin Turing
dari suatu bahasa.
Mesin turing (MT) - Definisi MT - Hubungannya dengan bahasa unrestricted MT sebagai pengenal suatu bahasa - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok - Tugas 9 3 x 50 - Mahasiswa mampu menjelaskan definisi MT - Mahasiswa mampu menjelaskan hubungannya dengan bahasa unrestricted - Mahasiswa mampu menjelaskan dan menjalankan MT sebagai pengenal suatu bahasa Membuat mesin Turing dari suatu bahasa Partisipasi Mahasiswa, Presentasi Mahasiswa 10 % [1],[4],[5]
14 Mahasiswa mampu memahami, mengenal, menjalan, dan
membuat Linear Bounded Automation (LBA) dari suatu bahasa
Linear Bounded Autmaton (LBA) - Definisi LBA
- Hubungan LBA dengan bahasa context sensitive - LBA sebagai pengenal suatu bahasa
LBA untuk mengenal bahasa tertentu - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok 3 x 50 - Mahasiswa mampu menjelaskan definisi LBA - Mahasiswa mampu menjelaskan hubungan LBA dengan bahasa context sensitive - Mahasiswa mampu menjelaskan LBA sebagai pengenal suatu bahasa Membuat LBA untuk mengenal bahasa tertentu 5 % [2],[4],[5] 15 Mahasiswa mampu memahami hubungan bahasa formal dan proses kompilasi
Umum
- Proses kompilasi, fase analisisnya, dan fase sintesisnya
Fase Analisa
- kompilator pada fase analisa (leksikal, sintaks, dan semantik) Fase sintesa - Kompilator pada fase sintesa (pembentukan dan optimalisasi kode - Bentuk : Kuliah - Metode : Ceramah, Problem Based Learning, Self-Learning (V-Class), Diskusi Kelompok 3 x 50 - Mahasiswa mampu menjelaskan proses kompilasi, fase analisisnya, dan fase sintesisnya - Mahasiswa mampu menjelaskan semua hal yang dilakukan kompilator pada fase analisa (leksikal, sintaks, dan semantik) 5 % [1],[3]
Menejelaskan semua hal yang dilakukan kompilator pada fase sintesa (pembentukan dan optimalisasi kode) 16
FORMAT RANCANGAN TUGAS 1
Nama Mata Kuliah
: Teori Bahasa dan Otomata
SKS
: 2
Program Studi : Teknik Informatika
Pertemuan ke : 6
Fakultas
: Teknologi Industri
A.
TUJUAN TUGAS :
Memahami dan pengimplementasian mesin-mesin abstract pengenal suatu bahasa
B.
URAIAN TUGAS :
a.
Obyek Garapan
4 Macam mesin pengenal bahasa
b.Metode atau Cara pengerjaan
-
Carilah beberapa referensi berupa jurnal / artikel ilmiah
-
Rangkumlah referensi tersebut dengan membedakan proses apa saja yang dilakukan dan implementasinya pada Finite
State Automata, Push Down Automata, Linear Bounded Automata, Mesin Turing.
-
Rangkuman dibuat dalam bentuk tabel perbandingan dan disiapkan dalam ppt minimal 5 halaman
-
Presentasikan hasil rangkuman tersebut di depan kelas
c.
Deskripsi Luaran tugas yang dihasilkan :
Tayangan presentasi minimal 5 halaman dengan font Arial, ukuran 16
C.
KRITERIA PENILAIAN (7,5 %) Kelengkapan isi rangkuman
Kebenaran isi rangkuman
Daya tarik komunikasi/presentasi
FORMAT RANCANGAN TUGAS 2
Nama Mata Kuliah
: Teori Bahasa dan Otomata
SKS
: 2
Program Studi : Teknik Informatika
Pertemuan ke : 12
Fakultas
: Teknologi Industri
A.
TUJUAN TUGAS :
Mampu menganalisa sintaks dengan menggunakan derivasi dan parsing
B.
URAIAN TUGAS :
a. Obyek Garapan
Dengan grammer yang diberikan mampu menguraikan baik secara derivasi kalimat
maupun parsing b. Metode atau Cara pengerjaan.
- Diberikan beberapa contoh grammer kemudian diuraikan secara derivasi dan parsing, kemudian juga membuat sendiri grammer
yang lain dan diuraikan.
- Hasil dikumpulkan
- Presentasikan hasil di depan Kelas.
c. Deskripsi Luaran tugas yang dihasilkan :
- Minimal membuat 5 grammer
C.