Ekspresi Reguler Pertemuan Ke-8 Sri Handayaningsih, S.T., M.T. Email : ning_s12@yahoo.com Teknik Informatika
TIU dan TIK 1. memahami konsep ekspresi reguler dan ekivalensinya dengan bahasa reguler. 2. Mengetahun Penerapan Ekspresi Reguler 3. Mengetahui Definisi Formal ER 4. Mengetahui Bahasa untuk ER 5. Mengetahui proses Konversi ER ke FA 2
Ekspresi Regular ekspresi Regular adalah menggambarkan bahasa regular Contoh: ( a b c)* Menggambarkan bahasanya a, bc*, a, bc, aa, abc, bca,... 3
Definisi Rekursif Ekspresi reguler yg paling sederhana :,, Diberikan ekspresi reguler r 1 and r 2 Maka : r r r 1 1 1 r r 1 r * 2 2 Merupakan ekspresi reguler 4
Contoh 1 Ekspresi reguler a b c * ( c ) Bukan Ekspresi reguler : a b 5
Bahasa dari Ekspresi reguler L: r bahasa dari Ekspresi reguler r L contoh ( a b c )*, a, bc, aa, abc, bca,... 6
Definisi Untuk Ekspresi reguler yg paling sederhana: L L L a a 7
Definisi (Lanjutan) Untuk Ekspresi reguler r1 dan r 2 L L r 1 r 2 L r 1 L r 2 r 1 r 2 L r 1 L r 2 L * r1 L r * 1 L r 1 L r 1 8
Contoh 2 Ekspresi reguler : a b a * L a b a * L a b L a * L a a L L a b b b L a * b L a * a * a,, a, aa, aaa,... a, aa, aaa,..., b, ba, baa,... 9
Tentukan L(r) dari : Ekspresi reguler r a b * a bb 10
Jawab Ekspresi reguler r a b * a bb L r a Adalah :, bb, aa, abb, ba, bbb,... 11
Tentukan L(r) dari : Ekspresi reguler aabbb r * * 12
Jawab Ekspresi reguler aabbb r * * L 2 n 2 m r { a b b : n, m 0 } 13
Apakah berikut ini merupakan Ekspresi reguler? L(r) = { seluruh string yang tidak boleh ada dua 0 yang berurutan } 14
Contoh 1 Ekspresi reguler r ( 0 1)*00 (0 1) * L(r) = {seluruh string yang ada dua 0 yang berurutan } 15
Contoh 2 Reguler ekspresi r 1 01)*(0 ) ( L(r) = {seluruh string yang tidak ada dua 0 yang berurutan } 16
Equivalen ekspresi Reguler Definisi: ekspresi regular r r 2 1 dan adalah equivalen jika L( r1 ) L ( r2 ) 17
Contoh L = {seluruh string yang tidak ada dua 0 yang berurutan } r1 (1 01)*(0 ) r2 (1*011*)*(0 ) 1*(0 ) L( r1 ) L( r2 ) L r1 dan r 2 Adalah equivalen Ekspresi reguler 18
Expresi Reguler dan Bahasa Reguler 19
Teorema General Bahasa dengan Ekspresi Reguler Bahasa Regular 20
Pembuktian General Bahasa dengan Ekspresi Reguler Bahasa Regular General Bahasa dengan Ekspresi Reguler Bahasa Regular 21
Pembuktian - bagian 1 General Bahasa dengan Ekspresi Reguler Bahasa Regular Untuk setiap ekspresi reguler Bahasa L(r) r adalah reguler Pembuktian dengan induksi pada ukuran r 22
Induksi Dasar Ekspresi reguler Paling Sederhana: NFA,, a L ( M1 ) L ( ) L( M 2) { } L ( ) L( M3) { a} L ( a) Bahasa reguler 23
Induksi Hipotesa Asumsi Untuk ekspresi reguler maka ; r 1 danr 2 L ( r 1 ) dan L( r 2 ) adalah bahasa reguler 24
Langkah Induksi Pembuktian: Lr r 1 2 L L r 1 r 2 r * 1 Adalah Bahasa Reguler L r 1 25
Dengan definisi dari ekspresi reguler, maka: L r r L r Lr 1 2 1 2 L r r L r L r 1 2 1 2 L r L r 1 * 1 * L r 1 L r 1 26
Dengan hipotesis induksi didapatkan: dan L ( r 1 ) L( r 2 ) adalah bahasa reguler diketahui: Bahasa reguler adalah pendekatan dari 3 hal ini: Union Concatenation Star L L r 1 r r Lr 1 L r * 1 L 2 2 27
L Oleh karena itu : r 1 r 2 L r 1 L r 2 L r r L r L r 1 2 1 2 Adalah bahasa reguler L r L r * 1 * 1 28
Kesimpulan: L(( r 1 )) Adalah bahasa reguler 29
Pembuktian - bagian 2 General Bahasa dengan Ekspresi Reguler Bahasa reguler untuk setiap bahasa reguler ekspresi reguler r dengan L merupakan L( r) L Pembuktian dengan contruksi pada Ekspresi reguler 30
Selama NFA M L adalah reguler yang diambil dari yang diterimanya L ( M ) L Satu state akhir 31
Dari M konstruksi untuk equivalen menggunakan Graf Transisi secara Umum Dengan penamaan transisi adalah ekspresi reguler Contoh : M a c a c a,b a b 32
Contoh Lain : a b q0 1 b q a, b q2 b a b q0 1 b b q a b q2 33
Perulangan state : a b q0 1 b q a b q2 b bb*a b bb* ( a b ) q0 q2 34
Kesimpulan Ekspresi Reguler : bb*a b bb* ( a b ) q 0 q 2 r ( bb* a)* bb *( a b ) b * L( r) L( M ) L 35
Secara Umum Pergerakan Statenya : d e c qi q q j a b ae* d ce*d ce* b qi ae*b q j 36
Graf transisi Akhir : 1r r 4 r 3 q0 r 2 q f Kesimpulan ekspresi reguler : r r 1 * r2 ( r4 r 3r1 * r 2 )* L( r) L( M ) L 37
Standard dari Bahasa Reguler Bahasa reguler FA NFA Ekspresi Regular 38
Jika diberikan Bahasa Regular L Berarti: Bahasa L adalah standar representasi 39
Properti dari Bahasa Regular 40
Untuk bahasa regular L L2 1 dan Union: Concatenation: Star: Reversal: Complement: Intersection: L1 L 2 L 1 L 2 L 1 * R L 1 L 1 L1 L 2 Adalah Bahasa Reguler 41
Bahasa reguler L 1 Bahasa reguler L 2 LM 1 L 1 LM 2 L 2 NFA M 1 NFA M 2 State yang diterima tunggal State yang diterima tunggal 42
Contoh n 0 n L1 { a b} a M 1 b M 2 L 2 ba b a 43
NFA untuk L 1 L 2 Union M 1 M 2 44
NFA untuk a Contoh L1 L2 { a b} { ba} n L1 { a b} b n L2 { ba} b a 45
Concatenation L 1 L 2 NFA untuk M 1 M 2 46
NFA untuk Contoh n L1 L2 { a b}{ ba} { a bba} n n L1 { a b} } a L2 { ba} b b a 47
NFA untuk Star Operation L 1 * M 1 L 1 * 48
Contoh NFA untuk * } { * 1 b a L n { b} a L n 1 2 1 L w w w w w i k 49 a b } { 1 b a L n
Reverse NFA for R L 1 L 1 M 1 M 1 1. Reverse seluruh transisi 2. Buat state awal yg dapat diterima dan sebaliknya 50
Contoh n L1 { a b} a M 1 b R 1 L ba { n } a M 1 b 51
Complement L 1 M 1 L 1 M 1 1. Ambil FA yang diterima oleh L 1 2. Buat state akhir non-final, dan sebaliknya Kenapa tdk NFA? 52
Contoh a a,b M 1 n L1 { a b} b a,b n L1 { a, b}* { a b} a b a,b M 1 a,b 53
Intersection L1 regular Lihat L1 L2 L2 regular regular 54
L1 L L L Hukum DeMorgan s : 2 1 2 L1, L 2 L1, L 2 L1 L 2 L1 L 2 L1 L 2 regular regular regular regular regular 55
Contoh n L1 { a b} regular L1 L2 { ab} L 2 { ab, ba } regular regular 56
Pembuktian lain untuk Closur Interseksi Mesin M 1 Mesin M 2 FA untuk L 1 FA untuk L2 Bangun FA baru M yg dpt diterima L1 L2 M Simulasi secara paralel M1dan M 2 57
State pada M q i, p j State padam1 State pada M 2 58
FA M1 FA M 2 q a 1 q2 transisi p a 1 p2 transisi FA M q1, p 1 a q 2, p 2 transisi 59
FA M1 FA M 2 q 0 State awal p 0 State awal FA M q 0, p 0 State awal 60
FA M1 FA M 2 q i State akhir p j State akhir p k FA M q i, p j q i, pk State akhir Kedua isi harus dapat diterima oleh state 61
M Simulasi secara paralel M1 dan M 2 M Menerima string w Jika dan hanya jika M 1 M 2 menerima string w menerima stringw dan L( M ) L ( M1) L( M2) 62
Contoh: n 0 n L1 { a b} L ab { m } 2 m 0 a M 1 M 2 b b q0 q1 q 2 a,b p0 p 1 b p 2 a, b a, b a a 63
Konstruksi Mesin untuk Irisan 64
Automata untuk irisan L n { a b} { ab } { ab} n a,b q 0, p 0 a q 0, p 1 a b q 1, p 1 q 2, p 2 b q 1, p 2 b a q 0, p 2 b q 2, p 1 a a b a,b 65
Pustaka 1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata, Teknik Informatika UAD, 2005 2. Hopcroft John E., Rajeev Motwani, Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, 2rd, Addison-Wesley,2000 3. Martin C. John, Introduction to Languages and Theory of Computation, McGraw-Hill Internatioanal edition,1991 4. Linz Peter,Introduction to Formal Languages & Automata, DC Heath and Company, 1990 5. Dulimarta Hans, Sudiana, Catatan Kuliah Matematika Informatika, Magister Teknik Informatika ITB, 1998 6. Hinrich Schütze, IMS, Uni Stuttgart, WS 2006/07, Slides based on RPI CSCI 2400 66