Teori Bahasa Formal dan Automata

dokumen-dokumen yang mirip
Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata

Lecture Notes Teori Bahasa dan Automata

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata

MODUL 12: BENTUK-BENTUK SEDERHANA DAN BENTUK-BENTUK NORMAL

Teknik Kompiler 7. oleh: antonius rachmat c, s.kom

Memiliki kelemahan terlalu panjang jalannya padahal berujung pada S a, produksi D A juga menyebabkan kerumitan.

PENYEDERHANAAN Context Free Grammar

TEORI BAHASA & OPERASI MATEMATIS (2)

Teori Komputasi 11/23/2016. Bab 6: Context-Free Grammar & Parsing. Context-Free Grammar. Context-Free Grammar

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN AUTOMATA

KONSEP GRAMMAR DAN BAHASA

SATUAN ACARA PERKULIAHAN (SAP)

anggota alfabet dinamakan simbol terminal atau token.

Ekspresi Reguler. Pertemuan Ke-8. Sri Handayaningsih, S.T., M.T. Teknik Informatika

Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)

BAB II TINJAUAN PUSTAKA. Bahasa menurut kamus Websters adalah the body of words and methods of

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Lecture Notes Teori Bahasa dan Automata

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

FTIK / PRODI TEKNIK INFORMATIKA

Teori Bahasa dan Otomata 1

Translasi Context-Free Grammar Menjadi Parsing Tree Berbasis Algoritma Cocke-Younger-Kasami

Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner

GRAMMAR AND LANGUAGE

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Tujuan Penyederhanaan

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

UNIVERSITAS GADJAH MADA FMIPA/DIKE/ILMU KOMPUTER Gedung SIC Lantai 1, Sekip, Bulaksumur, 55281, Yogyakarta

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

Lecture Notes Teori Bahasa dan Automata

BAB I TEORI BAHASA DAN AUTOMATA

Teori Bahasa & Otomata

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

Dasar Teori Bahasa & Grammar

Aplikasi Pengubah Bentuk Normal Chomsky Menjadi Bentuk Normal Greibach dengan Metode Substitusi

Contents.

MODUL XIII TEORI BAHASA DAN AUTOMATA

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

IF-UTAMA 1. Definisi. Grammar. Definisi

Penyederhanaan Tata Bahasa Bebas Konteks. Kuliah Online : TBA [2012/2013]

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

BAB III CFG DAN PARSING

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi.

Grammar dan Tingkat Bahasa

BAHASA BEBAS KONTEKS UNTUK KOMPLEMEN DARI STRING BERULANG CONTEXT FREE LANGUAGE FOR COMPLEMENT OF REPEATED STRING

Language Is Cool. The Chomsky Hierarchy. Normal Forms. Chomsky Normal Form (CNF) & Greibach Normal Form (GNF) Teori Bahasa & Otomata - Danang Junaedi

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

RENCANA PEMBELAJARAN SEMESTER

ALGORITMA PEMROGRAMAN 1C SINTAKS

TEORI BAHASA DAN AUTOMATA

Aplikasi Simulator Mesin Turing Pita Tunggal

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

BAB I PENDAHULUAN 1-1

TEORI BAHASA DAN OTOMATA [TBO]

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

Tata Bahasa Pemrograman

Fr*snd*mffi. Fakultns tlmu Komputer, l;nivrrsitfls. f&,# d *-B. ,, :..:.4 t:,{;. ${r= st :rir"l, r;t. .j"s*l!&,. '":*& \',?Srlrlfu. :1i-,=-+n 3r: lvqd

APLIKASI PROGRAM DINAMIS DALAM ALGORITMA COCKE- YOUNGER -KASAMI (CYK)

Tata Bahasa Bebas Konteks

RENCANA PEMBELAJARAN SEMESTER

LEMBAR PENGESAHAN PROSEDUR PELAKSANAAN KULIAH

2. Review TeoriBahasaFormal danotomata

Penerapan Program Dinamis dalam Algoritma Cocke- Younger-Kasami dan Earley untuk Pemrosesan Bahasa Natural

Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa

BAB II TINJAUAN PUSTAKA. konsep, fakta, termasuk simbol simbol serta aturan agar mempunyai makna.

2. MesinTuring (Bagian2)

IF-UTAMA 1. Penurunan (Derivation) [2] Penurunan (Derivation) Contoh Penurunan [1] Parse Tree [1]

Teori Bahasa dan Operasi Matematis.

BAB VI METODE PARSING

TEKNIK KOMPILASI Konsep & Notasi Bahasa

TEORI BAHASA DAN OTOMATA

POHON PENURUNAN Context Free Grammar

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA

Amir Hamzah AKPRIND PRESS 2009

Aplikasi Penyederhanaan Context Free Grammar

Analisis Sintaksis (syntactic analyzer atau parser)

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS

TEORI BAHASA DAN OTOMATA [TBO]

Teori Matematika Terkait dengan TBO

Penghilangan Rekursif Kiri

Konsep dan Notasi Bahasa. Istiqomah, S.Kom

Teknik Informatika PERTEMUAN 2. TEORI BAHASA & OTOMATA Imam Riadi, M.Kom Shofwatul Uyun, M.Kom. Teknik Informatika

DIKTAT TEORI BAHASA DAN OTOMATA

BAB III AUTOMATA HINGGA NON-DETERMINISTIK DAN EKUIVALENSI AHN AHD - GR

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

BAB I PENDAHULUAN. memiliki tata bahasa dan aturan yang lebih luas dan luwes, sehingga tidak

Teori Bahasa & Otomata

Mesin Turing. Pertemuan Ke-14. Sri Handayaningsih, S.T., M.T. Teknik Informatika

TEORI BAHASA & AUTOMATA

RENCANA PEMBELAJARAN SEMESTER (RPS)

PALINDROM CONTEXT FREE GRAMMAR PADA MESIN PUSH DOWN AUTOMATA

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

Transkripsi:

Teori Bahasa Formal dan Automata Pertemuan 12 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA

POKOK BAHASAN Penghilangan ε-production Penghilangan Unit Production Penyederhanaan Grammar Chomsky Normal Form (CNF)

PENYEDERHANAAN GRAMMAR Menghilangkan construct yang melambatkan parsing grammar Terbentuknya suatu normal form untuk bahasa Context Free

PENGHILANGAN ε-production ε-production (A ε) dapat melambatkan parser. Definisi : X V adalah nullable jika X ε Ide (dalam menemukan simbol nullable secara rekursif) : Basis : jika P berisi A ε maka labeli A sebagai nullable. Induksi : untuk semua aturan produksi X X 1 X 2 X k, jika masingmasing X i adalah nullable, maka labeli X sebagai nullable. Berhenti : jika tidak ada simbol lagi yang dapat dikategorikan sebagai nullable.

PENCARIAN SIMBOL NULLABLE Contoh : jika diberikan grammar G1 diberikan oleh: S ABC BCB A ab a B CC b C S ε Menemukan simbol-simbol nullable: Basis : {C} Induksi 1 : {B, C} Induksi 2 : {S, B, C}

PENGHILANGAN ε-production Andaikan dilakukan penghapusan simbol nullable langsung, maka: Sebagai contoh dari slide sebelumnya, dapat dilakukan derivasi S BCB, S CB, S BC, S BB, S B Namun, jika aturan produksi C ε langsung dihilangkan begitu saja, maka derivasi tersebut tidak dapat dilakukan lagi. Maka dari itu, perlu ditambahkan semua derivasi yang mungkin menggunakan ε production, dengan membuat aturan produksi baru.

PENGHILANGAN ε-production ALGORITMA : a) Identifikasi semua simbol nullable b) Gantikan semua aturan produksi berbentuk X X 1 X 2 X k dengan sebuah himpunan dari aturan produksi yang berbentuk X α 1 α 2 α k, dimana: i. α i = X i (jika X i tidak nullable) ii. α i = X i atau ε (jika X i nullable) c) Hilangkan semua ε-production

Lanjutan Contoh : PENGHILANGAN ε-production a) Simbol-simbol yang nullable : {S, B, C} b) Maka akan diperoleh grammar berikut (G 2 ): S ABC AB AC A BCB BC CB BB B C ε A ab a B CC C ε b C S ε c) Setelah dihilangkan ε production (G 3 ): S ABC AB AC A BCB BC CB BB B C A ab a B CC C b C S Catatan : Di awal S ε mungkin, sekarang tidak. Oleh karena itu ε L(G 1 ) namun ε L(G 3 ). Hal ini tidak dapat dihindari.

LATIHAN 1 Jika diberikan grammar sebagai berikut : S aaa bbb ε A C a B C b C CDE ε D A B ab Hilangkan semua ε production dari grammar tersebut!

PENGHILANGAN UNIT PRODUCTION Unit production (A B) dapat melambatkan parser. Algoritma: 1. Hilangkan semua ε-production. 2. Untuk semua X, Y V jika X Y dan Y α bukan unit production maka tambahkan X α ke aturan produksi. 3. Hilangkan semua unit production.

PENGHILANGAN UNIT PRODUCTION Contoh Grammar G 1 dibangun dengan : S A B A Sa a B S b Algoritma: S A, S B, B S, B A. Dari itu akan diperoleh grammar baru (G 2 ) : S Sa a b S A B A Sa a B Sa a b S A B Setelah semua unit production dihilangkan, maka terbentuk (G 3 ) : S Sa a b A Sa a B Sa a b

LATIHAN 2 Dengan grammar yang sama seperti latihan 1 : S aaa bbb ε A C a B C b C CDE ε D A B ab Lanjutkan dengan menghilangkan unit production dari hasil penghilangan ε production yang telah di peroleh!

PENGHILANGAN SIMBOL TAK BERGUNA Simbol dikatakan berguna (useful symbol) jika memenuhi kondisi: S αxβ w Dimana X T* dan α, β (V U T)* Useless symbol merupakan simbol-simbol yang tidak berpartisipasi pada derivasi string-string dalam suatu bahasa Sebuah simbol dikatakan tidak berguna (useless) jika simbol tersebut Non-Generating (???) atau Unreacheble (???).

PENGHILANGAN SIMBOL TAK BERGUNA Definisi : X (V U T) adalah generating jika X w untuk suatu w T* X (V U T) adalah reacheble jika S αxβ untuk suatu α, β (V U T)* X adalah useful jika X generating dan reacheble. Generating : simbol yang jika ditelusuri dapat menghasilkan string dalam suatu bahasa Reacheble : simbol yang dapat dicapai dari suatu derivasi yang berawal di S

PENGHILANGAN SIMBOL TAK BERGUNA Langkah penghilangan simbol tidak berguna : 1. Hilangkan X yang Non-Generating 2. Hilangkan X yang Unreacheble Algoritma penghilangan simbol yang Non-Generating : 1. Basis : labeli semua terminal sebagai generating 2. Induksi : untuk semua aturan produksi X X 1 X 2 X k jika masingmasing X i adalah generating, maka X dapat dilabeli generating 3. Berhenti : jika tidak ditemukan simbol generating lagi

PENGHILANGAN SIMBOL TAK BERGUNA Algoritma penghilangan simbol yang Unreacheble : 1. Basis : labeli S sebagai reachecle 2. Induksi : untuk semua aturan produksi X X 1 X 2 X k jika X adalah reacheble, maka masing-masing X i dapat dilabeli dengan reacheble 3. Berhenti : jika tidak ditemukan simbol reacheble lagi

PENGHILANGAN SIMBOL TAK BERGUNA Contoh : Jika diberikan Grammar G 1 S AB AC CD A BB B AC ab C Ca CC D BC b d Penghilangan simbol yang Non-Generating Basis : {a, b, d} Induksi 1 : {a, b, d, B, D} Induksi 2 : {a, b, d, B, D, A} Induksi 3 : {a, b, d, B, D, A, S} Maka diperoleh simbol C adalah Non-Generating. Sehingga hilangkan C dan semua aturan produksi yang berisi C di LHS ataupun RHS.

PENGHILANGAN SIMBOL TAK BERGUNA Contoh : Hasil dari proses sebelumnya akan memunculkan grammar G 2 S AB A BB B ab D b d Penghilangan simbol yang Unreacheble Basis : {S} Induksi 1 : {S, A, B} Induksi 2 : {S, A, B, a, b} Maka diperoleh simbol D dan d adalah Unreacheble. Hilangkan simbol dan aturan produksi yang mengandung D atau d baik itu yang berada di LHS ataupun RHS.

PENGHILANGAN SIMBOL TAK BERGUNA Hasil Akhir : setelah dua proses dilakukan, maka terbentuk grammar G 3 S AB A BB B ab

LATIHAN 3 Masih dengan grammar pada latihan 1 : S aaa bbb ε A C a B C b C CDE ε D A B ab Lanjutkan dengan menghilangkan useless symbol dari hasil penghilangan unit production yang telah di peroleh pada latihan 2!

CHOMSKY NORMAL FORM CFG G memiliki format CNF jika semua aturan produksinya berbentu: a) A a, b) A XY, dimana A, X, Y V dan a T. Algoritma: 1) Hilangkan ε-production, unit production serta useless symbol 2) Hilangkan mixed bodies 3) Faktorisasi semua aturan produksi yang panjang

Menghilangkan Mixed Bodies KONSTRUKSI Untuk masing-masing a T, tambahkan variabel baru V a dan V a a Di masing-masing aturan produksi yang menggandung a, maka gantikan a dengan V a Maka akan diperoleh aturan produksi yang berbentuk: i. A a ii. A A 1 A 2 A k (k 2) Dengan A 1, A 2,, A k V

KONSTRUKSI Faktorisasi Aturan Produksi yang Panjang Untuk A A 1 A 2 A k (k 3), tambahkan variabel baru B 1, B 2,, B k-2 Sehingga terbentuk aturan produksi baru yaitu:

LATIHAN 4 Masih dengan grammar pada latihan 1 : S aaa bbb ε A C a B C b C CDE ε D A B ab Bawalah grammar yang diperoleh dari latihan 3 ke bentuk Chomsky Normal Form (CNF)!

PUSTAKA John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction To Automata Theory, Languages, and Computation Dr.-Ing. Reza Pulungan, M.Sc. Bahan Ajar Teori Komputasi. JIKE UGM.

Terima Kasih!