210 likes | 448 Views
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).
E N D
Regex TeknikInformatika STTA 2013 YenniAstuti, S.T., M.Eng.
Regular expressions • FSA (NFSA atau DFSA) merupakancetakbiru (blueprint) untukmembuatsuatumesin yang dapatmengenaliregular language (RL). • Regex merupakancarapendeklarasian RL yang ramahpengguna (user-friendly). • Contoh: 01* + 10*
Regular expressions • Regex digunakan, misalnyapada: • Perintahgrep UNIX • ToolsLex (Lexical analyzer generator) danFlex (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 (OperasiBahasa) • Gabungan (Union) L M = {w | w L atauw M} • Sambungan (Konkatenasi) LM = {w | w = xy, x L atauy M} • Pangkat L0 = {}, L1= L, Lk+1= LLk • Klosur L* =
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 Contoh4: 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 memilikisekurangnyadua 0 berurutan}
Regular Language & Regular Expressions Contoh6: r = (1+01)*(0+)* L(r) = {semua string tanpadua 0 berurutan}
Regular Language Finite Automata • Regular Language Regular Expressions • Finite Automata Regular Expressions
DFSA & RE Contoh 1: • Buatlah RE dari DFSA berikut • Konversikandalambentuk RE
DFSA & RE • EliminasiKeadaan 1, menjadi: • Konversidalambentuk RE
DFSA & RE • RE dari DFSA : (0+10)*11(0+1)* • EliminasiKeadaan1
DFSA & RE Contoh 2: • Buatlah RE dari DFSA yang dapatmenerima1 berjumlahgenap • EliminasiKeadaan 2, menjadi
DFSA & RE • Duakeadaanakhir, matikanKeadaan 3 dahulu! • Hasilnya 0* karena yang menujuKeadaan 3 tidakakanditerima FSA
DFSA & RE • Selanjutnya, matikanKeadaan 1! • Hasilnya 0*10*1(0+10*1)
DFSA & RE • Dikombinasikandenganhasilsebelumnya, menjadi: 0*+0*10*1(0+10*1)