TeoriBahasadanOtomata Lecture 8 Ekspresi dan Bahasa Regular Ekspresi

  • Slides: 23
Download presentation
Teori-Bahasa-dan-Otomata Lecture #8 Ekspresi dan Bahasa Regular

Teori-Bahasa-dan-Otomata Lecture #8 Ekspresi dan Bahasa Regular

Ekspresi Reguler • Sebuah bahasa dinyatakan memiliki ekspresi regular jika terdapat Finite State Automata

Ekspresi Reguler • Sebuah bahasa dinyatakan memiliki ekspresi regular jika terdapat Finite State Automata (FSA) yang dapat menerimanya. • Bahasa-bahasa yang diterima oleh FSA bisa dinyatakan secara sederhana dengan ekspresi regular (regular expression)

Notasi Ekspresi Reguler ‘*’ bisa tidak muncul, bisa juga muncul berhingga kali ER :

Notasi Ekspresi Reguler ‘*’ bisa tidak muncul, bisa juga muncul berhingga kali ER : ab*cc, 010*, a*d ‘+’ berarti minimal muncul satu kali + atau U union. (titik) konkatenansi Biasanya tanpa ditulis titiknya, misal ab, berarti sama dengan a. b

Sifat Komutatif & Asosiatif yang berlaku pada ER 1) A + B = B

Sifat Komutatif & Asosiatif yang berlaku pada ER 1) A + B = B + A Hukum ini (hukum komutatif untuk gabungan) menyatakan bahwa kita dapat melakukan gabungan dua bahasa tersebut, baik dengan urutan seperti di sebelah kiri ‘=’ maupun seperti di sebelah kanan ‘=’

Sifat Komutatif & Asosiatif yang berlaku pada ER 2) (A + B) + C

Sifat Komutatif & Asosiatif yang berlaku pada ER 2) (A + B) + C = A + (B + C) Hukum ini (hukum asosiatif untuk gabungan) menyatakan bahwa kita dapat melakukan gabungan pada tiga bahasa, baik dengan mengambil gabungan dua bahasa pertama terlebih dahulu maupun dengan mengambil gabungan dua bahasa terakhir

Sifat Asosiatif & Komutatif yang berlaku pada ER 3) (AB) C = A (BC)

Sifat Asosiatif & Komutatif yang berlaku pada ER 3) (AB) C = A (BC) Hukum ini (hukum asosiatif untuk penyambungan/ concatenation) menyatakan bahwa kita dapat merenteng tiga bahasa dengan menyambung dua bahasa pertama terlebih dahulu atau dua bahasa terakhir terlebih dahulu.

Hukum : AB = BA tidak berlaku dalam ekspresi reguler Contoh: ekspresi reguler 01

Hukum : AB = BA tidak berlaku dalam ekspresi reguler Contoh: ekspresi reguler 01 dan 10 Ekspresi tersebut berturut-turut melambangkan bahasa {01} dan {10}. ekspresi 0 untuk A dan 1 untuk B tidak dapat disubstitusi. Karena bahasanya berbeda, maka hukum AB=BA tidak berlaku.

Hukum Aljabar Ekspresi Reguler Identitas dan Anihilator Identitas suatu operator Nilai yang sedemikian sehingga

Hukum Aljabar Ekspresi Reguler Identitas dan Anihilator Identitas suatu operator Nilai yang sedemikian sehingga ketika dikenakan pada identitas dan suatu nilai lain, maka hasilnya nilai lain lagi Contoh: 0 adalah identitas untuk penjumlahan, karena 0+x=x+0=x 1 adalah identitas untuk perkalian, karena 1 xx=xx 1=x

Anihilator untuk suatu operator Nilai yang sedemikian sehingga ketika operator tersebut dikenakan pada anihilator

Anihilator untuk suatu operator Nilai yang sedemikian sehingga ketika operator tersebut dikenakan pada anihilator dan suatu nilai lain, hasilnya adalah anihilator Contoh: 0 adalah anihilator untuk perkalian, karena 0 xx=xx 0=0

Hukum Identitas dan Anihilator yang berlaku pada ER 1) θ + L = L

Hukum Identitas dan Anihilator yang berlaku pada ER 1) θ + L = L + θ = L Hukum ini menegaskan bahwa θ adalah identitas untuk operasi gabungan 2) Є L = L Є = L Hukum ini menegaskan bahwa Є adalah identitas untuk operasi concatenation 3) θ L = L θ = θ Hukum ini menegaskan bahwa θ adalah anihilator untuk operasi concatenation

Hukum Aljabar Ekspresi Reguler Hukum Distributif Hukum distributif melibatkan dua operator, dan menyatakan bahwa

Hukum Aljabar Ekspresi Reguler Hukum Distributif Hukum distributif melibatkan dua operator, dan menyatakan bahwa salah satu operator dapat dipaksa untuk dikenakan pada tiap-tiap argumen operator lain secara individual Contoh: hukum distributif perkalian atas penjumlahan x x ( y +z ) = ( x x y ) + ( x x z )

Hukum Distributif yang berlaku pada ER 1) A ( M + N) = AM

Hukum Distributif yang berlaku pada ER 1) A ( M + N) = AM + AN Hukum ini adalah hukum distributif kiri concatenation terhadap gabungan (union) 2) (M + N)A = MA + NA Hukum ini adalah hukum distributif kanan concatenation terhadap gabungan (union)

Hukum Aljabar Ekspresi Reguler Hukum Idempoten Suatu operator dikatakan idempoten jika hasil penerapannya pada

Hukum Aljabar Ekspresi Reguler Hukum Idempoten Suatu operator dikatakan idempoten jika hasil penerapannya pada dua nilai yang sama sebagai argumen adalah nilai itu sendiri Operator aritmetika biasa tidak bersifat idempoten; x + x ≠ x dan x x x ≠ x

Contoh Ekspresi Regular 1. ER : ab*cc Maka b bisa tidak muncul atau muncul

Contoh Ekspresi Regular 1. ER : ab*cc Maka b bisa tidak muncul atau muncul sejumlah berhingga kali Contoh string yang bisa dibangkitkan: abcc, abbcc, abbbcc, dan lainnya. 2. ER : 010* Maka 0 bisa tidak muncul atau muncul sejumlah berhingga kali Contoh string yang bisa dibangkitkan: 01, 0100, 01000, dan lainnya.

Contoh Ekspresi Regular 3. ER : Maka a minimal muncul satu kali Contoh string

Contoh Ekspresi Regular 3. ER : Maka a minimal muncul satu kali Contoh string yang bisa dibangkitkan: ad, aaad, aaaad dan lainnya. 4. ER : a* U b* Contoh string yang bisa dibangkitkan: a, b, aa, bb dan lainnya. 5. ER : 01* + 0 Contoh string yang bisa dibangkitkan: 0, 011 dan lainnya.

Hubungan ER dengan FSA Ø Untuk setiap ekspresi regular ada satu Nondeterministic Finite Automata

Hubungan ER dengan FSA Ø Untuk setiap ekspresi regular ada satu Nondeterministic Finite Automata dengan transisi (NFA -move) yang ekivalen. Ø Sementara untuk Deterministic Finite Automata ada satu ekspresi regular dari bahasa yang diterima oleh Deterministic Finite Automata. Ø Sederhananya kita bisa membuat suatu Nondeterministic Finite Automata -move dari suatu ekspresi regular. Ø Bisa dilihat contohnya pada gambar berikut. Yang perlu diperhatikan disitu, state akhir akan menandakan apakah suatu input diterima atau tidak

Contoh: 1. ER : ab 2. ER : a*b 3. ER : a U

Contoh: 1. ER : ab 2. ER : a*b 3. ER : a U b FSA untuk ER tersebut?

üInput yang menuju final state (q 2) adalah 0, atau 10* üPada state q

üInput yang menuju final state (q 2) adalah 0, atau 10* üPada state q 2, menerima input 1 dalam jumlah berapapun (1*) akan tetap di q 2 MAKA Bisa dikatakan mesin itu menerima 01* atau 10*11* ER : 01* U 10*11*

Menentukan Pola dalam Teks Berkaitan dengan penggunaan otomata untuk pencarian sebuah kata dalam file

Menentukan Pola dalam Teks Berkaitan dengan penggunaan otomata untuk pencarian sebuah kata dalam file atau penyimpanan yang besar seperti Web

Ekspresi lengkap untuk alamat yang kita buat adalah: ‘jalan | jln . | Perumahan.

Ekspresi lengkap untuk alamat yang kita buat adalah: ‘jalan | jln . | Perumahan. [A-Z] [a-z]* ( [A-Z] [a-z])*)* [0 -9]+ [A-Z]? ’ • ‘blank’ digunakan layaknya spasi • Tanda petik digunakan untuk mencegah agar ekspresi tersebut tidak seperti beberapa ekspresi yang terpisahkan karena penggunaan ‘blank’

PR Tentukan FSA dari ER berikut: 1. 2. 3. 4. 5. 6. ER :

PR Tentukan FSA dari ER berikut: 1. 2. 3. 4. 5. 6. ER : 0 (1 U 0)* ER : 01*0 ER : 0*10* ER : a(ba)* ER : (ab)*

PR Tentukan ER untuk Mesin FSA berikut:

PR Tentukan ER untuk Mesin FSA berikut: