Teknik Informatika STTA 2013 Regex Teknik Informatika STTA 2013 Yenni Astuti, S.T., M.Eng.
Regular expressions FSA (NFSA atau DFSA) merupakan cetak biru (blueprint) untuk membuat suatu mesin yang dapat mengenali regular language (RL). Regex merupakan cara pendeklarasian RL yang ramah pengguna (user-friendly). Contoh: 01* + 10*
Regular expressions Regex digunakan, misalnya pada: Perintah grep UNIX Tools Lex (Lexical analyzer generator) dan Flex (Fast Lex) UNIX
Regular Language Finite Automata Regular Language Regular Expressions Finite Automata Regular Expressions
Regular Language Finite Automata Regular Language Regular Expressions Finite Automata Regular Expressions
Regular Language Finite Automata Regular Language Regular Expressions Finite Automata Regular Expressions
Review (Operasi Bahasa) Gabungan (Union) L M = {w | w L atau w M} Sambungan (Konkatenasi) LM = {w | w = xy, x L atau y M} Pangkat L0 = {}, L1 = L, Lk+1 = LLk Klosur L* = 𝑖=0 ∞ 𝐿 𝑖
Regular Language & Regular Expressions Contoh 1: r = (a + b.c)* L(r) = {a,bc}* L(r) = {, a,bc, aa, abc, bca, …}
Regular Language & Regular Expressions Contoh 2: r = (a + b)*(a + bb) L(r) = {a, bb, aa, abb, ba, bbb, …}
Regular Language & Regular Expressions Contoh 3: r = (aa)*(bb)*b L(r) = {a2nb2mb | n,m ≥ 0}
Regular Language & Regular Expressions Contoh 4: r = (aa)*(bb)*b L(r) = {a2nb2mb | n,m ≥ 0}
Regular Language & Regular Expressions Contoh 5: r = (0+1)*00(0+1)* L(r) = {semua string yang memiliki sekurangnya dua 0 berurutan}
Regular Language & Regular Expressions Contoh 6: r = (1+01)*(0+)* L(r) = {semua string tanpa dua 0 berurutan}
Regular Language Finite Automata Regular Language Regular Expressions Finite Automata Regular Expressions
DFSA & RE Contoh 1: Buatlah RE dari DFSA berikut Konversikan dalam bentuk RE
DFSA & RE Konversi dalam bentuk RE Eliminasi Keadaan 1, menjadi:
DFSA & RE Eliminasi Keadaan 1 RE dari DFSA : (0+10)*11(0+1)*
DFSA & RE Contoh 2: Buatlah RE dari DFSA yang dapat menerima 1 berjumlah genap Eliminasi Keadaan 2, menjadi
DFSA & RE Dua keadaan akhir, matikan Keadaan 3 dahulu! Hasilnya 0* karena yang menuju Keadaan 3 tidak akan diterima FSA
DFSA & RE Selanjutnya, matikan Keadaan 1! Hasilnya 0*10*1(0+10*1)
DFSA & RE Dikombinasikan dengan hasil sebelumnya, menjadi: 0*+0*10*1(0+10*1)
0+10*1 1 3 10*1 1 2 3 1 1 1