190 likes | 715 Views
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.
E N D
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 0,1,2,3,…, 9 q0 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. 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.
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 :
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 NFA DFA NFA ε-move EKSPRESI REGULAR
LIHAT DULU … ???? • 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)*