REGULAR EXPRESSION Yenni Astuti Version 1.1.0
(5 + 3) 4 Ekspresi Aritmatika 32 Ekspresi Reguler (0 1)0* semua string yang berawal dengan string 0 atau 1, diikuti sembarang jumlah 0
Ekspresi Reguler Operasi reguler yang digunakan untuk membentuk suatu bahasa (language). Operasi Reguler: ○ *
Language dari (0 1)0* (0 1) = ({0} {1}) 0* = {0}* semua string yang anggotanya simbol 0. (0 1)0* = (0 1) ○ 0* L = {00, 10, 000, 100, 0000, 1000, … }
Language dari (0 1)* Ekspresi ini dapat dituliskan sebagai *, dengan = {0,1} L = {0, 1, 00, 01, 10, 11, … }
Prioritas Operasi Aritmatika (perkalian) + (penambahan) Reguler * (operasi bintang) ○ (sambungan) (union/ gabungan)
Definisi Matematis Ekspresi Reguler R merupakan ekspresi reguler jika R adalah: a, dengan a anggota alfabet . . . (R1 R2) dengan R1 dan R2 merupakan ekspresi reguler. R1 ○ R2 dengan R1 dan R2 merupakan ekspresi reguler. (R1)*, dengan R1 merupakan ekspresi reguler. Ekspresi artinya bahasa mengandung string tunggal, bernama string kosong. Ekspresi artinya bahasa tidak mengandung string apapun.
Contoh Ekspresi Reguler = {0,1} 0*10* = {w|w memiliki tepat satu 1} *1 * = {w|w memiliki sekurangnya satu 1} *001 * = {w|w memiliki substring 001} ( )* = {w|panjang w adalah kelipatan tiga} 01 10 = {01, 10} (0 )(1 ) = {, 0, 1, 01}
Operasi Identitas R R = R Penambahan bahasa kosong ke sembarang bahasa tidak akan mengubah R. R ○ = R Penambahan string kosong ke sembarang string tidak akan mengubah R.
Aplikasi Ekspresi Reguler Identifikasi pola suatu bahasa Pengecekan alamat e-mail
Pengecekan Alamat Email [a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|0-9]+([_][a-z|0-9]+)*)?
Ekivalensi RE dan FA RE dan FA memiliki kemampuan yang sama dalam menggambarkan perilaku suatu sistem transisi. RE dapat diubah dalam bentuk FA yang dapat mengenali bahasa yang sama.
RE menjadi NFA1 Jika R = a untuk sembarang a pada . Maka L(R) = {a} q0 q1 a
RE menjadi NFA2 Jika R = , Maka L(R) = {} q0 Jika R = ,
RE menjadi NFA3 R = R1 R2 R = R1 ○ R2 R = R1*
R = (ab a)* Cari NFA ekivalennya yang diberi nama NFA N. Contoh: RE menjadi FA1 R = (ab a)* Cari NFA ekivalennya yang diberi nama NFA N. a a b b
R = (ab a)* Cari NFA ekivalennya yang diberi nama NFA N. Contoh: RE menjadi FA2 R = (ab a)* Cari NFA ekivalennya yang diberi nama NFA N. a b ab a b ab a
R = (ab a)* Cari NFA ekivalennya yang diberi nama NFA N. Contoh: RE menjadi FA3 R = (ab a)* Cari NFA ekivalennya yang diberi nama NFA N. (ab a)* a b
R = (a b)* aba Cari NFA ekivalennya yang diberi nama NFA N1. Contoh: RE menjadi FA4 R = (a b)* aba Cari NFA ekivalennya yang diberi nama NFA N1. a a b b
R = (a b)* aba Cari NFA ekivalennya yang diberi nama NFA N1. Contoh: RE menjadi FA5 R = (a b)* aba Cari NFA ekivalennya yang diberi nama NFA N1. a b a b
R = (a b)* aba Cari NFA ekivalennya yang diberi nama NFA N1. Contoh: RE menjadi FA5 R = (a b)* aba Cari NFA ekivalennya yang diberi nama NFA N1. a b (a b)*
R = (a b)* aba Cari NFA ekivalennya yang diberi nama NFA N1. Contoh: RE menjadi FA6 R = (a b)* aba Cari NFA ekivalennya yang diberi nama NFA N1. aba b a a
R = (a b)* aba Cari NFA ekivalennya yang diberi nama NFA N1. Contoh: RE menjadi FA6 R = (a b)* aba Cari NFA ekivalennya yang diberi nama NFA N1. (a b)* aba
FA menjadi RE1 qi qj qr qi qj BEFORE AFTER R4 R1 R3 R2
DFA menjadi RE2 1 2 a a, b b (a) 1 a a b b s 2 (b)
DFA menjadi RE3 1 a b (a b)* s (c) a a*b (a b)* s (d)
Tahapan Mengubah DFA menjadi RE DFA 2 state GNFA 4 state GNFA 3 state GNFA 2 state Ekspresi Reguler
DFA menjadi RE4
DFA menjadi RE5
DFA menjadi RE6
DFA menjadi RE7
DFA menjadi RE7
DFA menjadi RE8
See you on UTS