Lecture Notes Teori Bahasa dan Automata

dokumen-dokumen yang mirip
Lecture Notes Teori Bahasa dan Automata

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata

Lecture Notes Teori Bahasa dan Automata

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

Aplikasi Simulator Mesin Turing Pita Tunggal

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

Teori Bahasa Formal dan Automata

DFA. Teori Bahasa dan Automata. Viska Mutiawani - Informatika FMIPA Unsyiah

TEORI BAHASA DAN AUTOMATA

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata

FTIK / PRODI TEKNIK INFORMATIKA

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

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

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. dirancang dan selanjutnya dapat diketahui gambaran dan kemampuan sistem secara

2. MesinTuring (Bagian2)

Operasi FA dan Regular Expression

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

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

Teori Matematika Terkait dengan TBO

MODUL 4: Nondeterministic Finite Automata

INTELLIGENT DECISION SUPPORT SYSTEM DALAM MENDETEKSI BEHAVIOUR SIRKUIT LOGIKA

SATUAN ACARA PERKULIAHAN (SAP)

LEMBAR PENGESAHAN PROSEDUR PELAKSANAAN KULIAH

TEORI BAHASA DAN AUTOMATA

DAFTAR PUSTAKA. (Diakses pada

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state

Teori Bahasa & Otomata

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

PEMODELAN PERANGKAT LUNAK UNTUK PENGERTIAN DETERMINISTIC FINITE AUTOMATA DAN NON-DETERMINISTIC FINITE AUTOMATA

TEORI BAHASA DAN OTOMATA [TBO]

Pada tahun 1961, Pumping Lemma yang merupakan metode untuk membuktikan regularitas dan iregularitas suatu bahasa ditemukan oleh Yehoshua Bar-Hillel, M

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I

REGULAR EXPRESSION ADE CHANDRA SAPUTRA S.KOM.,M.CS

Pendahuluan [6] FINITE STATE AUTOMATA. Hubungan RE & FSA [5] Finite State Diagram [6] 4/27/2011 IF-UTAMA 1

Penggunaan Induksi Matematika untuk Mengubah Deterministic Finite Automata Menjadi Ekspresi Reguler

Grammar dan Tingkat Bahasa

Non-Deterministic Finite Automata

FINITE STATE AUTOMATA

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

PENDEKATAN TEORI AUTOMATA UNTUK MENYELESAIKAN APLIKASI-APLIKASI DI BIDANG ILMU KECERDASAN BUATAN

BAB I PENDAHULUAN 1-1

TEORI BAHASA DAN AUTOMATA

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Von Neumann

TEKNIK KOMPILASI Konsep & Notasi Bahasa

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

Deterministic Finite Automata

TEORI BAHASA DAN AUTOMATA

Penerapan Regular Expression dalam parsing JSON

NonDeterministic Finite Automata. B.Very Christioko, S.Kom

Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga

Non-deterministic Finite Automata Dengan -Move

STEMMING KATA KERJA BAHASA INDONESIA PADA FILE TEKS MENGGUNAKAN ALGORITMA LOVINS DAN ALGORITMA PAICE/HUSK. Proposal Tugas Akhir. Logo kampus.

Teori Bahasa dan Otomata

BAB I TEORI BAHASA DAN AUTOMATA

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

RENCANA PEMBELAJARAN SEMESTER

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

4. Undecidabality(Bagian3)

Reduksi DFA [Deterministic Finite Automata]

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA

Teori Komputasi 10/15/2015. Bab 3: Konsep Bahasa dan Otomata. Teori Bahasa. Teori Bahasa. Agenda. Teori Bahasa Otomata Operasi Dasar String

Pendahuluan. CSG3D3 Teori Komputasi

TEORI BAHASA DAN OTOMATA [TBO]

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

RENCANA PEMBELAJARAN SEMESTER (RPS)

TEORI BAHASA DAN OTOMATA

MATERI PERTEMUAN KE-1

TEORI BAHASA DAN OTOMATA [TBO]

Teori Bahasa dan Otomata

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. dengan perangkat yang digunakan. Beberapa kriteria standar ditentukan agar sistem

MODUL 2: Bahasa Regular dan Ekspresi Regular

IF-UTAMA 1. Definisi. Grammar. Definisi

TEORI BAHASA DAN OTOMATA [TBO]

TEKNIK KOMPILASI Bahasa Regular

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

Deterministic Finite Automata (DFA) Non-Deterministic Automata (NFA)

1. LATAR BELAKANG SIMUTATOR FINITE AIITOMATA SEBAGAI AI,AT PERANCANG REGULAR TANGUAGE

FINITE STATE MACHINE / AUTOMATA

PERTEMUAN II. Finite State Automata (FSA) Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA)

Beberapa Sifat Operator Self Adjoint dalam Ruang Hilbert

PENGANTAR OTOMATA DAN KOMPILASI

TEORI BAHASA DAN AUTOMATA

MODUL 3: Finite Automata

Penerapan Finite State Automata Pada Proses Peminjaman Buku di Perpustakaan Universitas Kristen Satya Wacana Artikel Ilmiah

TEORI BAHASA DAN OTOMATA PENGANTAR

SENTENCE ANALYSIS WITH ARTIFICIAL INTELLIGENCE MACHINE LEARNING USING FINITE STATE AUTOMATA

Konsep Bahasa. Simbol Abjad/alfabet String/kata/untai String kosong Bahasa (Language) Bahasa Kosong Bahasa Universal dari

Lecture Notes Algoritma dan Pemrograman

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

RENCANA PEMBELAJARAN SEMESTER

PERANGKAT LUNAK PENGUCAPAN KATA BAHASA INDONESIA BERDASARKAN PEMENGGALAN KATA DENGAN FINITE STATE AUTOMATA

Transkripsi:

Pumping Lemma RL (edisi 2) 1/5 Lecture Notes Teori Bahasa dan Automata Pumping Lemma Untuk Regular Language Thompson Susabda Ngoen Revisi 1 Hopcroft mengatakan regular language dapat dideskripsikan dengan empat cara: DFA, NFA, ε-nfa, dan regular expression. Tulisan ini bertujuan menjelaskan cara menguji sebuah language apakah berjenis regular language, dengan pengujian pumping lemma. Definisi Formal Hopcroft et al memberi definisi pumping lemma untuk regular language sebagai berikut: Misalkan L adalah sebuah regular language. Haruslah terdapat (there exist) sebuah bilangan n (bilangan n ini bergantung kepada language L dan bisa berbeda dengan language yang) yang sedemikian rupa sehingga terhadap setiap string w pada L yang panjangnya n, string w ini harus dapat dibagi menjadi tiga bagian, w = xyz dengan ketentuan: 1. y ε 2. xy n 3. untuk semua k 0, string xy k z juga merupakan string dari language L. Hopcroft mengatakan bahwa terhadap sebuah string dengan panjang tertentu dari sebuah regular language, kita selalu bisa mendapatkan substring y, yang posisinya tidak terlalu jauh dari awal string tersebut, yang dapat dipompa (pumped). Maksudnya adalah Jika sebuah language berjenis regular language maka string-string language ini harus mempunyai bagian (substring) yang bisa di-pump atau di-loop. Berdasarkan notasi yang biasa digunakan oleh Hopcroft maka x, y, dan z masing-masing adalah sebuah string (kumpulan karakter), atau lebih tepat disebut substring dari string w. Yang harus kita tanyakan adalah apakah y boleh hanya berupa sebuah simbol saja ataukah minimal harus dua simbol? Hopcroft tidak memberi informasi secara eksplisit mengenai hal ini. Hopcoft memberi contoh language yang menghasilkan string-string 0 n 1 n, dan mengatakan xy terdiri atas simbol-simbol 0 saja dan z terdiri atas simbol-simbol 1. Hal ini bisa berupa x = 0 y = 0 n-1 x = 0 n/2 y = 0 n/2 x = 0 n-1 y = 0 Selanjutnya Hopcroft menyatakan bahwa dengan k bernilai nol, yaitu tidak menyertakan y, maka string yang terbentuk mempunyai jumlah simbol 0 yang lebih sedikit daripada jumlah simbol 1, tidak lebih dari n-1 buah simbol 0. Pernyataan ini secara implisit menyatakan y boleh berupa satu simbol saja. Hopcroft mengatakan regular language dapat dideskripsikan dengan empat cara: DFA, NFA, ε-nfa, dan regular expression. Pembuktian Informal 1. Regular expression membentuk regular language. Jika sebuah language adalah regular language maka language ini harus bisa didefinisi atau dideskripsi dengan regular expression, maksudnya harus bisa dituliskan regular expression yang menghasilkan string-string language tersebut.

Pumping Lemma RL (edisi 2) 2/5 2. Regular expression membentuk jenis language yang sama dengan language yang dibentuk finite automaton, yaitu regular language. Jika sebuah language adalah regular language maka harus bisa dibuatkan finite automaton yang menerima string-string language tersebut. Jika terhadap sebuah language tidak bisa dibuatkan regular expression yang menghasilkan string-string language tersebut dan juga tidak bisa dibuatkan finite automaton yang menerima string-string language tersebut, maka language tersebut bukan berjenis regular language. Persoalan yang timbul adalah bagaimana cara kita memastikan atau membuktikan bahwa terhadap sebuah language tertentu tidak bisa dibuatkan regular expression dan DFA-nya? Kita tidak bisa membuatkan RE dan DFA-nya tetapi mungkin orang lain bisa! Dengan demikian pembuktian informal ini menjadi kurang kuat. Ilustrasi Dengan DFA Jika L 1 berjenis regular language maka harus terdapat DFA, sebut saja D 1, yang menerima bahasa L 1. Misalkan D 1 terdiri atas n state. String w adalah salah satu string bahasa L 1 yang panjangnya lebih besar daripada n. Karena w merupakan string bahasa L 1 maka string w harus bisa di-accept D 1. Jumlah state D 1 hanya ada n buah sedangkan w boleh melebihi n (lihat definisi). String w hanya mungkin di-accept D 1 apabila pada D 1 terdapat jalur yang bersifat looping. Misalkan string w terdiri atas simbol-simbol a 1 a 2 a m dengan m n, maka string ini dapat kita bagi menjadi tiga bagian x terdiri atas a 1 a 2 a 3... a i y terdiri atas a i+1 a i+2... a j z terdiri atas a j+1 a j+2... a m seperti diilustrasikan gambar berikut: Untuk k bernilai nol maka terbentuk string a 1 a 2 a 3... a i a j+1 a j+2... a m yang diterima DFA ini. Untuk k bernilai dua maka terbentuk string a 1 a 2 a 3... a i a i+1 a i+2... a j a i+1 a i+2... a j a j+1 a j+2... a m yang diterima DFA ini. Contoh Pengujian Karena y boleh berupa satu simbol saja maka perlu menguji semua kemungkinan untuk menyimpulkan sebuah language bukan regular. 1. Language L 1 = {0 n 1 : n > 0 }. Apakah L 1 adalah regular language? Misalkan w = xyz adalah string pada L 1 yang panjangnya 3 dan diuraikan menjadi x = 0 y = 0 z = 1 syarat 2: xy = 00 3 terpenuhi jika k bernilai 0 maka terbentuk string 01 L 1 jika k bernilai 1 maka terbentuk string 001 L 1 jika k bernilai 2 maka terbentuk string 0001 L 1

Pumping Lemma RL (edisi 2) 3/5 Kesimpulan: L 1 adalah regular language Pembuktian informal RE untuk L 1 : 00*1 DFA Pada pembuktian di atas kita membagi string 001 dengan masing-masing subtring terdiri atas satu simbol. Apakah kita boleh membagi string 001 menjadi demikian? x = 0 y = 01 z = ε Persyaratan definisi adalah y tidak empty dan xy 3, artinya boleh. Pembagian seperti ini menyebabkan xy 0 z tidak bersifat regular, demikian juga dengan xy 2 z. Kalau demikian apa kesimpulan kita, L 1 regular atau bukan? Perhatikan definisi di atas, frasa there exist menyatakan jika terdapat (bisa didapatkan) kasus yang memenuhi kriteria maka language dianggap regular, BUKAN semua kasus harus memenuhi persyaratan baru dianggap regular. 2. Language L 2 terdiri atas string-string yang dibentuk oleh substring 01 atau 10 berulang kali, Contoh string-string pada L 2 adalah: 01, 10, 0101, 1010, 0110, 1001, 011010010101 Apakah L 2 adalah regular language? Misalkan w adalah string berbentuk pengulangan 01. Kita ambil w = xyz yang panjangnya 4 dan diuraikan menjadi x = 0 y = 10 z = 1 syarat 2: xy = 010 4 terpenuhi jika k bernilai 0 maka terbentuk string 01 L 2 jika k bernilai 1 maka terbentuk string 0101 L 2 jika k bernilai 2 maka terbentuk string 010101 L 2 Pembuktian cara lain: Misalkan w adalah string berbentuk pengulangan 10. Kita ambil w = xyz yang panjangnya 4 dan diuraikan menjadi x = ε y = 10 z = 10 syarat 2: xy = 10 4 terpenuhi jika k bernilai 0 maka terbentuk string 10 L 2 jika k bernilai 1 maka terbentuk string 1010 L 2 jika k bernilai 2 maka terbentuk string 101010 L 2 Pembuktian cara lain:

Pumping Lemma RL (edisi 2) 4/5 Misalkan w adalah string berbentuk campuran pengulangan 01 dan 10. Kita ambil w = xyz yang panjangnya 4: 0110 dan diuraikan menjadi x = 01 y = 10 z = ε syarat 2: xy = 0110 4 terpenuhi jika k bernilai 0 maka terbentuk string 01 L 2 jika k bernilai 1 maka terbentuk string 0110 L 2 jika k bernilai 2 maka terbentuk string 011010 L 2 Pembuktian informal RE untuk L 1 : (01 + 10) (01 + 10)* (01 + 10) DFA: diminimasi menjadi 3. Language L 3 = {0 n 1 n : n > 0 }. Apakah L 3 adalah regular language? Terdapat tiga kemungkinan menentukan substring y. a. Substring y terdiri atas simbol 0 x = 0 y = 0 z = 11 syarat 2: xy = 00 4 terpenuhi jika k bernilai 0 maka terbentuk string 011 L 3 b. Substring y terdiri atas simbol 1 x = 00 y = 1 z = 1 syarat 2: xy = 001 4 terpenuhi jika k bernilai 0 maka terbentuk string 001 L 3 c. Substring y terdiri atas simbol 01 x = 0 y = 01 z = 1 syarat 2: xy = 001 4 terpenuhi jika k bernilai 0 maka terbentuk string 01 L 3 jika k bernilai 1 maka terbentuk string 0011 L 3 jika k bernilai 2 maka terbentuk string 001011 L 3

Pumping Lemma RL (edisi 2) 5/5 Kesimpulan: L 3 BUKAN regular language Mengapa L 3 bukan regular language? Language L 3 perlu mengingat berapa jumlah simbol 0 yang diproses. RE dan DFA tidak mempunyai kemampuan untuk mengingat jumlah simbol 0 yang diproses. Dengan demikian tidak mungkin membandingkan jumlah simbol 0 dengan jumlah simbol 1. Referensi Hopcroft, E. John, Rajeev Motwani, Jeffrey D. Ullman, (2001), Introduction to Automata Theory, Languages, and Computation, 2 nd edition, Addison-Wesley