Anda di halaman 1dari 16

Pertemuan 5 Ekspresi Reguler

5.1. Penerapan Ekspresi Reguler (ER)


Sebuah bahasa dinyatakan reguler jika terdapat Finite State Automata (FSA) yang dapat menerimanya. Bahasa yang diterima oleh suatau FSA dapat dinyatakan secara sederhana dengan Ekspresi Reguler ER. ER memberikan suatau pola (pattern) atau template untuk untai (string) dari suatu bahasa. Banyak masalah pada perancangan perangkat lunak yang dapat disederhanakan dengan melakukan pengubahan notasi ER ke dalam implementasi komputer dari FSA yang bersangkutan.

5.2. Notasi ER
Nama asterik plus atau union plus Symbol * + Atau
+

Tabel 5.1. Notasi ER Keterangan Bisa tak muncul, bisa juga muncul berhingga kali (0 sampai n) Gabungan

Tanda plus pada posisi superscript, berarti minimal muncul satu kali (1-n)

titik

Berarti konkatenasi. Biasanya titik bisa dihilangkan. Misalnya a.b = ab

Table 5.2. Contoh ER

Ekspresi ER ab*cc 010*


a*d a+d a*b* ab (ab)*

String yang dibangkitkan abcc, abbcc, abbbcc, acc 01, 010, 0100, 01000
d, ad, aad, aaad ad, aad, aaad a, b, aa, bb, aaa, bbb, a, b a, b, aa, ab, bba, aaa, bbb,

01*+0

00, 010, 0110, 01110, 011110

5.3. Hubungan ER dan FSA


Untuk setiap ER, ada satu Non-Deterministik Finite Automata dengan transisi (NFA -move) Sementara untuk Deterministik Finite Automata DFA ada satu ER dari bahasa yang diterima Sederhananya kita dapat membuat satu NFA -move dari suatu ER

q0

q1

q2

q3

Gambar 5.1. NFA -move untuk ER: ab

a
q0 q1 b q2

Gambar 5.2. NFA -move untuk ER: a*b

q0

q1

q2

q3

q4

q5

Gambar 5.3. NFA -move untuk ER: ab

Tentukan ER untuk setiap mesin FSA pada gambar 5.4 dan gambar 5.5. 0 1 1

q0

q1
0

q2

Gambar 5.4. Mesin FSA

a q0

q1 a

q3

a q2

q4

b Gambar 5.5. Mesin FSA

Hubungan antara NFA, -move, DFA, dan ER

NFA DFA

NFA -move
ER

EKSPRESI REGULAR

EKSPRESI REGULAR Notasi Ekspresi Regular : * Yaitu karakter asterik ; berarti bisa tidak muncul, bisa juga muncul berhingga kali.
+

( pada posisi superscript/ diatas ) berarti minimal muncul satu kali

+ atau berarti union berarti gabungan Contoh Ekspresi Regular 1. ER : ab*cc

Contoh string yang dibangkitkan/ dibentuk : abcc, abbcc, abbbcc, abbbbcc, acc
2. ER : 010* Contoh string yang dibentuk : 01, 010, 0100, 01000, 010000

3. ER : a*d
String yang dibentuk : d, ad, aad, aaad

4. ER : a+d Contoh string yang dibentuk : ad, aad, aaad

5. ER : a*b* ( berarti atau )


string yang dibentuk : a, b, aa, bb, aaa, bbb, aaaa, bbbb 6. ER : ( a b ) berarti atau string yang dibentuk : a, b 7. ER : ( a b )* string yang dibentuk : a, b, ab, ba, abb, bba, aaaa, bbbb notasi kadang ditulis + 8. ER : 01* + 0 string yang dibentuk : 0, 01, 011, 0111, 01111

Hubungan Ekspresi Regular & FSA


qo q1

1. ER ; ab

q2

q3

qo a
2. ER ; a*b

q1

q2

3.

qo

q1

ER : a b b
q2

4.

qo

q1

q2

ER ; 010*

5.

qo

q1

0,1

q2

ER ; 0 ( 1 0 )

0,1
6.
qo 0 q1

ER ; 0 ( 1 0 ) * 7.
qo 0 q1 1 0 q2

ER ; 01*0
8. 0
qo

0 1
q1

ER ; 0*10*

9.
q0

ER ; a*

10.
qo

a
q1

b ER ; a ( ba )* 11.
q0

a
q1

b ER ; ( ab ) * 12.
qo 1 q1 0 0 1 q2 1

ER ; 01*10*11*

Anda mungkin juga menyukai