BAB V EKSPRESI REGULER 1. Penerapan Ekspresi Reguler 2. Notasi Ekspresi Reguler 3. Hubungan Ekspresi Reguler dan Finite State Automata
Baca Don’K : Bahasa disebut reguler jika terdapat FSA yang dapat menerimanya. Bahasa reguler dinyatakan secara sederhana dengan ekspresi reguler/regular expression (RE). Contoh penerapan : searching string pada file RE -> NFA dengan Move -> DFA
Penerapan Ekspresi Regular Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu FSA bisa dinyatakan secara sederhana dengan ekspresi regular. Ekspresi Regular (ER), memungkinkan menspesifikasikan atau mendefinisikan bahasa-bahasa. Ekspresi Regular memberikan suatu pola dari suatu bahasa. String/untai yang menyusun suatu bahasa regular akan cocok dengan pola bahasa itu.
Contoh 1 : Otomata yang hanya menerima input 0…9 0,1,2,3,…,9 q0 0,1,2,3,…, 9 q1 Selain 0,1,2,3,.,9 Selain 0,1,2,3,.,9 q2 Menerima simbol input antara 0…9. Ekspresi Regularnya : (digit) (digit) *
Contoh 2: Otomata yang menerima input 2 huruf dan selanjutnya digit. q0 huruf q1 huruf q2 Ekspresi Regular : (huruf) (huruf) (digit)*
Notasi Ekspresi Regular ‘*’ : tidak muncul atau muncul berhingga kali (0-n). ‘+’ : minimal muncul satu kali ‘+’ atau : gabungan ‘.’ (titik) : konkatenasi, tanda titik boleh dihilangkan.
himpunan string gabungan RT operasi penyambungan string thd himpunan Definisi ekspresi reguler Jika merupakan himpunan simbol, maka , , dan a adalah ekspresi reguler dasar jika r dan t masing masing merupakan ekspresi reguler maka komposisi berikut merupakan ekspresi reguler : Ekspresi Makna r+t rt r* (r) himpunan string gabungan RT operasi penyambungan string thd himpunan Kleene closure dari R r
Contoh Ekspresi Regular (ER): ER : ab*cc → acc, abcc, abbcc, abbbcc, ab..bcc ER : 010* → 01, 010, 0100, 01000, 01000..0 ER : a*d → d, ad, aad, aaad, aa..aad. ER : a+d → ad, aad, aaad, aaaad, a..ad. ER : a* b* → a, b, aa, bb, aaa, bbb,… ER : (a b) → a, b ER : (a b)* → a,b, ab, ba, abb, baa, aaa,bbb,.. ER : 01*+0 → 0, 01, 011, 0111.. Notasi ‘’ kadang ditulis juga sebagai ‘+’
Ada Penjelasannya….!!! (0+1)* : himpunan seluruh string yang dapat dibentuk dari simbol ‘0’ dan ‘1’ (0+1)*00(0+1)* : himpunan string biner yang mengandung paling sedikit satu substring ‘00’ (0+1)*00 : himpunan string biner yang diakhiri dengan ‘00’
Hubungan Ekspresi Regular dan Finite State Automata Untuk setiap ER ada satu NFA ε-move yang ekivalen. Untuk setiap DFA ada satu ER dari bahasa yang diterima oleh DFA.
Hubungan antara NFA ε-move, NFA, DFA dan ER EKSPRESI REGULAR
LIHAT DULU … ???? Contoh : Jawab: L(r) = L( (aa)* ) Apabila r adalah RE, maka L(r) adalah bahasa reguler yang dibentuk menggunakan ekspressi reguler r. Contoh : Tent. bahasa reguler yang dibentuk oleh r=(aa)* Jawab: L(r) = L( (aa)* ) = { , aa, aaaa, aaaaaa, ... } = { a2n | n 0 } menyatakan himpunan string a dengan jumlah genap
LIHAT DULU … ???? Tentukan ekspresi reguler pembentuk bahasa pada = {0,1}, yaitu L(r) = { w * | w memiliki substring ‘00’ } Jawab : r = (0+1)*00(0+1)*
LIHAT DULU … ???? Tentukan ekspresi reguler pembentuk bahasa pada = {a,b}, yaitu L(r) = { abnw | n 3 , w {a , b}+ } Jawab : r = abbb(a+b)(a+b)*
OK .. THE END