371 likes | 565 Views
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.
E N D
REGULAR EXPRESSION YenniAstuti Version 1.1.0
(5 + 3) 4 EkspresiAritmatika 32 EkspresiReguler (0 1)0* semua string yang berawaldengan string 0 atau 1, diikutisembarangjumlah 0
EkspresiReguler Operasireguler yang digunakanuntukmembentuksuatubahasa (language). OperasiReguler: • • ○ • *
Language dari (0 1)0* • (0 1) = ({0} {1}) • 0* = {0}* semua string yang anggotanyasimbol 0. • (0 1)0* = (0 1) ○ 0* • L = {00, 10, 000, 100, 0000, 1000, … }
Language dari (0 1)* • Ekspresiinidapatdituliskansebagai*, dengan = {0,1} • L = {0, 1, 00, 01, 10, 11, … }
PrioritasOperasi Aritmatika • (perkalian) • + (penambahan) • Reguler • * (operasibintang) • ○ (sambungan) • (union/ gabungan)
DefinisiMatematisEkspresiReguler R merupakanekspresiregulerjika R adalah: • a, denganaanggotaalfabet. • . • . • (R1 R2) dengan R1dan R2merupakanekspresireguler. • R1○ R2 dengan R1danR2merupakanekspresireguler. • (R1)*, dengan R1merupakanekspresireguler.
ContohEkspresiReguler = {0,1} • 0*10* = {w|wmemilikitepatsatu 1} • *1 * = {w|wmemilikisekurangnyasatu 1} • *001 * = {w|wmemiliki substring 001} • ( )* = {w|panjang w adalahkelipatantiga} • 01 10 = {01, 10} • (0 )(1 ) = {, 0, 1, 01}
OperasiIdentitas R • R = R Penambahanbahasakosongkesembarangbahasatidakakanmengubah R. • R ○ = R Penambahan string kosongkesembarang string tidakakanmengubah R.
AplikasiEkspresiReguler • Identifikasipolasuatubahasa • Pengecekanalamat e-mail
PengecekanAlamat 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 memilikikemampuan yang samadalammenggambarkanperilakusuatusistemtransisi. RE dapatdiubahdalambentuk FA yang dapatmengenalibahasa yang sama.
RE menjadi NFA1 • Jika R = a untuksembarang a pada. Maka L(R) = {a} q0 a q1
RE menjadi NFA2 • Jika R = , Maka L(R) = {} • Jika R = , Maka L(R) = q0 q0
RE menjadi NFA3 • R = R1 R2 • R = R1○ R2 • R = R1*
Contoh: RE menjadi FA1 R = (ab a)* Cari NFA ekivalennya yang diberinama NFA N. a a b b
Contoh: RE menjadi FA2 R = (ab a)* Cari NFA ekivalennya yang diberinama NFA N. b a ab b a ab a a
Contoh: RE menjadi FA3 R = (ab a)* Cari NFA ekivalennya yang diberinama NFA N. (ab a)* b a a
Contoh: RE menjadi FA4 R = (a b)* aba Cari NFA ekivalennya yang diberinama NFA N1. a a b b
Contoh: RE menjadi FA5 R = (a b)* aba Cari NFA ekivalennya yang diberinama NFA N1. a a b b
Contoh: RE menjadi FA5 R = (a b)* aba Cari NFA ekivalennya yang diberinama NFA N1. (a b)* a b
Contoh: RE menjadi FA6 R = (a b)* aba Cari NFA ekivalennya yang diberinama NFA N1. aba b a a
Contoh: RE menjadi FA6 R = (a b)* aba Cari NFA ekivalennya yang diberinama NFA N1. (a b)* aba
FA menjadi RE1 R4 qj qi qi qj (R1)(R2)*(R3) (R4) R1 qr R3 R2 BEFORE AFTER
DFA menjadi RE2 1 s 1 a a b b a 2 2 a, b a b (a) (b)
DFA menjadi RE3 s s 1 a a*b (a b)* b (a b)* a a (c) (d)
TahapanMengubah DFA menjadi RE DFA 2 state GNFA 4 state GNFA 3 state EkspresiReguler GNFA 2 state