Anda di halaman 1dari 14

REGEX

REGULAR EXPRESSION
Annisa Kunarji Sari 4611419049
Rafli Hillan Yufandani 4611419069
Viktoria Jati Kinasih 4611419081
Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat
menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state automata bisa dinyatakan
secara sederhana dengan ekspresi regular (regular expression).

Ekspresi regular selanjutnya kita sebut sebagai ER, memungkinkan menspesifikasikan atau
mendefinisikan bahasa-bahasa.

Ekspresi regular memberikan suatu pola (pattern) atau template untuk untai/string dari suatu Bahasa.

Untai yang menyusun suatu bahasa regular akan cocok (match) dengan pola Bahasa itu.
Notasi Ekspresi Regular

Definisi ekspresi reguler

• Ø = {} = (himpunan kosong) adalah sebuah ekspresi regular

• { ɛ } =string kosong adalah ekspresi regular

• Untuk setiap a ϵ ∑, maka a adalah ekspresi regular

• Jika a dan b adalah ekspresi regular maka a ∪ b , ab dan a* adalah ekspresi regular.

“Ø yang melambangkan himpunan kosong, atau tidak punya anggota, sedangkan { ɛ } adalah himpunan yang memiliki

satu anggota , yaitu string kosong.”


Notasi a ∪ b , ab dan a* adalah penyederhanaan notasi yang diperoleh dari notasi asli sebagai berikut : Jika
dimiliki himpunan A,B sebagai himpunan berikut :
Ekspresi a ∪ b maksudnya :
A={a} dan B={b}
A ∪ B = gabungan/union antara himpunan A dengan himpunan B = {a,b} Dinotasikan secara singkat sebagai : a
∪b
Ekspresi ab maksudnya :
A={a} dan B={b}
AB = CONCATENATION antara himpunan A dengan himpunan B = {ab} Dinotasikan secara singkat sebagai :
ab
Ekspresi a* maksudnya :
A={a}
A* = CLEENE closure dari himpunan A, didefinisikan : A0 ∪ A1 ∪ A2 ∪....∪ A∞, yang menghasilkan suatu
himpunan : { ɛ , a, aa, aaa, aaaa, ….}, dinotasikan sebagai a*
Akibat Logis Ekspresi Reguler, berdasarkan Aturan-Aturan dalam
Teori Himpunan

1. a ∪ b = b ∪ a
2. a ∪ Ø = Ø ∪ a
3. a ∪ a = a
4. (a ∪ b) ∪ c = a ∪(b ∪ c)
5. aɛ = ɛa = a
6. aØ = Øa = Ø
7. (ab)c=a(bc)
8. a(b ∪ c)=ab ∪ ac = dan (a ∪ b)c = ac ∪ bc
9. a* = a** = a*a* = (ɛ ∪ a)*=a*(a ∪ ɛ) = (a ∪ ɛ)a* = ɛ ∪ aa*
10.aa*= a*a
CONTOH
Ekspresikan dalam bentuk ekspresi reguler kalimat-kalimat berikut :
• Sederatan NOL minimal nol buah
Ekspresinya : 0*

• Sederatan NOL minimal satu buah


Ekspresinya : 00*

• Sederetan NOL minimal satu buah diikuti sederetan SATU sebanyak satu buah atau lebih
Ekspresinya : 00*11*

• Sederetanbit NOL dan SATU sembarang yang diawali dengan NOL dan diakhiri dengan SATU
Ekspresinya : 0(0,1)*1 atau ditulis : 0(0 ∪ 1)*1

• Sederetan SATU dengan jumlah GENAP


Ekspresinya : 11(11)*

• Sederetan NOL dengan jumlah GENAP diikuti sederetan SATU dengan jumlah GANJIL
Ekspresinya : 00(00)*1(11)*
CONTOH
String apakah ekspresi-ekspresi regular berikut :

Ekspresi (1,0)*
Sederetanbit NOL dan SATU dengan jumlah sembarang dan susunan sembarang.

Ekspresi (0,1)*1*
Sederetan bit NOL dan SATU dengan jumlah sembarang urutan sembarang diikuti dengan deretan bit
SATU dengan jumlah nol atau lebih.

Ekspresi (00)*(11)*
Deretan NOL kosong atau Genap diikuti deretan SATU kosong atau genap.

Ekspresi (11)* ∪ (00)*


String kosong atau berisi bit NOL genap atau bit SATU genap dengan posisi sembarang
Bahasa Regular
Apabila r adalah RE, maka L(r) adalah bahasa reguler yang dibentuk menggunakan ekspressi reguler
r.
Contoh :
Tentukan bahasa reguler yang dibentuk oleh r=(aa)* Jawab
L(r) = L( (aa)* )
= { λ, aa, aaaa, aaaaaa, ... }
= {a2n | n ≥ 0 }
menyatakan himpunan string a dengan jumlah genap
CONTOH
Tentukan bahasa reguler yang dibentuk oleh r =(aa*)(bb)*b
Jawab :
L ( r )= L((aa)*(bb)*b)
= { an b2m+1 | n, m ≥ 0}

Tentukan ekspresi reguler pembentuk bahasa pada S = {0,1}, yaitu L(r) = { w ϵ ∑* | w memiliki
substring ‘00’ }
Jawab :
r = (0+1)*00(0+1)*

Tentukan ekspresi reguler pembentuk bahasa pada ∑ = {a,b}, yaitu


L(r) = { abnw | n ≥ 3 , w ϵ {a , b}+ } Jawab :
r = abbb(a+b)(a+b)*
Sifat Bahasa Regular
Tertutup terhadap operasi himpunan sederhana
Jika L1 dan L2 adalah bahasa reguler, maka L1 U L2
L1 ∩ L2, L1L2, ~ (L1) dan L1* adalah bahasa reguler juga

Tertutup terhadap homomorphic image


Jika L1 adalah bahasa reguler, maka homomorphic image h(L1) adalah bahasa reguler juga.

Dimisalkan ∑ dan ᴦ adalah alfabet, maka fungsi homomorphic dinyatakan denganh :


∑→ᴦ
jika w = a1 a2 ... an
maka h(w) = h(a1) h(a2 ) ... h(an)
Jika L adalah bahasa pada ∑ maka homomorphic image bahasa L adalah h(L)= { h(w) | w ϵ L}
CONTOH
• Dimisalkan ∑ = {a,b} dan ᴦ = {a,b,c} dan didefinisikan h(a) = ab dan h(b) =bbc homomorphic image
bahasa L = {aa,aba } adalah

h(L)= { abab, abbbcab}

• Dimisalkan ∑= {a,b} dan ᴦ = {b,c,d} dan didefinisikan h(a) = dbcc dan h(b) =bdc

• homomorphic image bahasa L(r) yang dibentuk dari ekspresi reguler r = (a+b*)(aa)* adalah h(L(r))
yang dibentuk dengan ekspresi reguler r = (dbcc + (bdc)*) (dbccdbcc)*
Hubungan RE dan NFA
THANKS BRO

Anda mungkin juga menyukai