REGEX (REGULAR EXPRESSION)
STIKOM Artha Buana
Teknik Informatika
2014
Ir. Ahmad Haidaroh, M.Kom.
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*
- 2STIKOM Artha Buana
Regular expressions
• Regex digunakan, misalnya pada:
• Perintah grep UNIX
• Tools Lex (Lexical analyzer generator) dan
Flex (Fast Lex) UNIX
- 3STIKOM Artha Buana
• Regular Language Finite Automata
• Regular Language  Regular Expressions
• Finite Automata  Regular Expressions
- 4STIKOM Artha Buana
• Regular Language Finite Automata
• Regular Language  Regular Expressions
• Finite Automata  Regular Expressions
- 5STIKOM Artha Buana
• Regular Language Finite Automata
• Regular Language  Regular Expressions
• Finite Automata  Regular Expressions
- 6STIKOM Artha Buana
Review (Operasi Bahasa)
• 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* = 𝑖=0
∞
𝐿𝑖
- 7STIKOM Artha Buana
x = 01101 dan y = 110
Maka xy = 01101110 dan yx = 11001101
Jika L = {001, 10, 111} dan M = {, 001} maka
L.M = {001, 10, 111, 001001, 10001, 111001}
Regular
Language
Regular Language & Regular Expressions
Contoh 1:
r = (a + b.c)*
L(r) = {a,bc}*
L(r) = {, a,bc, aa, abc, bca, …}
- 8STIKOM Artha Buana
Regular Expressions
Regular Language & Regular Expressions
Contoh 2:
r = (a + b)*(a + bb)
L(r) = {a, bb, aa, abb, ba, bbb, …}
- 9STIKOM Artha Buana
Regular Language & Regular Expressions
Contoh 3:
r = (aa)*(bb)*b
L(r) = {a2nb2mb | n,m ≥ 1}
- 10STIKOM Artha Buana
Regular Language & Regular Expressions
Contoh 4:
r = (aa)*(bb)*b
L(r) = {a2nb2mb | n,m ≥ 0}
- 11STIKOM Artha Buana
Regular Language & Regular Expressions
Contoh 5:
r = (0+1)*00(0+1)*
L(r) = {semua string yang memiliki
sekurangnya dua 0 berurutan}
- 12STIKOM Artha Buana
Regular Language & Regular Expressions
Contoh 6:
r = (1+01)*(0+)
L(r) = {semua string tanpa dua 0
berurutan}
)0(*)011( r
- 13STIKOM Artha Buana
• Regular Language Finite Automata
• Regular Language  Regular Expressions
• Finite Automata  Regular Expressions
- 14STIKOM Artha Buana
DFSA & RE
Contoh 1:
• Buatlah RE dari DFSA berikut
• Konversikan dalam bentuk RE
- 15STIKOM Artha Buana
DFSA & RE
• Eliminasi Keadaan 1, menjadi:
• Konversi dalam bentuk RE
- 16STIKOM Artha Buana
DFSA & RE
• RE dari DFSA : (0+10)*11(0+1)*
• Eliminasi Keadaan 1
- 17STIKOM Artha Buana
Ingat ! : State Input dan Output harus selalu ada
DFSA & RE
Contoh 2:
• Buatlah RE dari DFSA yang dapat menerima 1
berjumlah genap
• Eliminasi Keadaan 2, menjadi
- 18STIKOM Artha Buana
DFSA & RE
• Dua keadaan akhir, matikan Keadaan 3 dahulu!
• Hasilnya 0* karena yang menuju Keadaan 3 tidak
akan diterima FSA (seharusnya finish di 3)
- 19STIKOM Artha Buana
DFSA & RE
• Selanjutnya, matikan Keadaan 1!
• Hasilnya (10*1(0+10*1)
- 20STIKOM Artha Buana
DFSA & RE
• Dikombinasikan dengan hasil sebelumnya,
menjadi: (0*+10*1(0+10*1)
- 21STIKOM Artha Buana

Regular Expression - TBO - Materi 4

  • 1.
    REGEX (REGULAR EXPRESSION) STIKOMArtha Buana Teknik Informatika 2014 Ir. Ahmad Haidaroh, M.Kom.
  • 2.
    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* - 2STIKOM Artha Buana
  • 3.
    Regular expressions • Regexdigunakan, misalnya pada: • Perintah grep UNIX • Tools Lex (Lexical analyzer generator) dan Flex (Fast Lex) UNIX - 3STIKOM Artha Buana
  • 4.
    • Regular LanguageFinite Automata • Regular Language  Regular Expressions • Finite Automata  Regular Expressions - 4STIKOM Artha Buana
  • 5.
    • Regular LanguageFinite Automata • Regular Language  Regular Expressions • Finite Automata  Regular Expressions - 5STIKOM Artha Buana
  • 6.
    • Regular LanguageFinite Automata • Regular Language  Regular Expressions • Finite Automata  Regular Expressions - 6STIKOM Artha Buana
  • 7.
    Review (Operasi Bahasa) •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* = 𝑖=0 ∞ 𝐿𝑖 - 7STIKOM Artha Buana x = 01101 dan y = 110 Maka xy = 01101110 dan yx = 11001101 Jika L = {001, 10, 111} dan M = {, 001} maka L.M = {001, 10, 111, 001001, 10001, 111001}
  • 8.
    Regular Language Regular Language &Regular Expressions Contoh 1: r = (a + b.c)* L(r) = {a,bc}* L(r) = {, a,bc, aa, abc, bca, …} - 8STIKOM Artha Buana Regular Expressions
  • 9.
    Regular Language &Regular Expressions Contoh 2: r = (a + b)*(a + bb) L(r) = {a, bb, aa, abb, ba, bbb, …} - 9STIKOM Artha Buana
  • 10.
    Regular Language &Regular Expressions Contoh 3: r = (aa)*(bb)*b L(r) = {a2nb2mb | n,m ≥ 1} - 10STIKOM Artha Buana
  • 11.
    Regular Language &Regular Expressions Contoh 4: r = (aa)*(bb)*b L(r) = {a2nb2mb | n,m ≥ 0} - 11STIKOM Artha Buana
  • 12.
    Regular Language &Regular Expressions Contoh 5: r = (0+1)*00(0+1)* L(r) = {semua string yang memiliki sekurangnya dua 0 berurutan} - 12STIKOM Artha Buana
  • 13.
    Regular Language &Regular Expressions Contoh 6: r = (1+01)*(0+) L(r) = {semua string tanpa dua 0 berurutan} )0(*)011( r - 13STIKOM Artha Buana
  • 14.
    • Regular LanguageFinite Automata • Regular Language  Regular Expressions • Finite Automata  Regular Expressions - 14STIKOM Artha Buana
  • 15.
    DFSA & RE Contoh1: • Buatlah RE dari DFSA berikut • Konversikan dalam bentuk RE - 15STIKOM Artha Buana
  • 16.
    DFSA & RE •Eliminasi Keadaan 1, menjadi: • Konversi dalam bentuk RE - 16STIKOM Artha Buana
  • 17.
    DFSA & RE •RE dari DFSA : (0+10)*11(0+1)* • Eliminasi Keadaan 1 - 17STIKOM Artha Buana Ingat ! : State Input dan Output harus selalu ada
  • 18.
    DFSA & RE Contoh2: • Buatlah RE dari DFSA yang dapat menerima 1 berjumlah genap • Eliminasi Keadaan 2, menjadi - 18STIKOM Artha Buana
  • 19.
    DFSA & RE •Dua keadaan akhir, matikan Keadaan 3 dahulu! • Hasilnya 0* karena yang menuju Keadaan 3 tidak akan diterima FSA (seharusnya finish di 3) - 19STIKOM Artha Buana
  • 20.
    DFSA & RE •Selanjutnya, matikan Keadaan 1! • Hasilnya (10*1(0+10*1) - 20STIKOM Artha Buana
  • 21.
    DFSA & RE •Dikombinasikan dengan hasil sebelumnya, menjadi: (0*+10*1(0+10*1) - 21STIKOM Artha Buana