Top Banner
REGULAR EXPRESSION ADE CHANDRA SAPUTRA S.KOM.,M.CS T I U N P A R ( A d e C S )
38

Ekspresi Regular

Jan 15, 2016

Download

Documents

Farhan Sabran

Ekspresi Regular
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ekspresi Regular

TI U

NPA

R (A

de C

S)

REGULAR EXPRESSIONADE CHANDRA SAPUTRA S.KOM.,M.CS

Page 2: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Buku

John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. 2001. Introduction to Automata Theory, Languange, and Computation. Edisi ke-2. Addison-Wesley

Page 3: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Pendahuluan

Tata Bahasa Reguler Chomsky: Aturan :

Simbol pada sebelah kiri harus berupa sebuah simbol variabel

Simbol pada sebelah kanan maksimal hanya memiliki sebuah simbol variabel dan bila ada hanya terletak di posisi paling kanan

Page 4: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh Tata Bahasa Reguler

A b (diterima)

a B (ditolak, karena simbol pada sebelah kiri harus berupa simbol variabel)

A B (diterima)

A Bc (Ditolak, karena simbol variabel pd sebelah kanan hrs berada pd posisi paling kanan)

A bcD (diterima)

Page 5: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Tentukan apakah produksi2 berikut memenuhi aturan tata bahasa Reguler : A b

B bdB

B C

B bC

B Ad

B bcdef

B bcdefg

A aSa

A aSS

A

Page 6: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Ekspresi Regular

Bahasa dinyatakan regular finite state automata yg menerima

Bahasa2 yg diterima oleh suatu finite state automata bisa dinyatakan secara sederhana dgn Ekspresi Regular

Contoh pemakaian ER adalah pd suatu text editor

Page 7: Ekspresi Regular

TI U

NPA

R (A

de C

S)

(5 + 3) 4 Ekspresi Aritmatika

Ekspresi Reguler(0 1)0*

32

semua string yang berawal dengan string 0 atau 1, diikuti sembarang jumlah 0

Page 8: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Notasi Ekspresi Regular

_* yaitu karakter asterik, berarti bisa tidak muncul, bisa juga muncul dari satu kali

_+ berarti minimal muncul satu kali

+ atau U berarti union

. (titik / dot) berarti konkatenasi

Page 9: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Bahasa Regular VS Ekpresi Regular

Bahasa Reguler Reguler Expression

{a} a

{b} b

{a,b} a.b

{a,b} = {a} U {b} a U b

{a}* a*

{a}+ a+

Ø Ø

{} {}

Page 10: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh ER

ER : ab * cc Cth string yg dibangkitkan : abcc, abbcc, abbbcc,

abbbbcc, acc

ER : 010* Cth string yg dibangkitkan : 01, 010, 0100, 01000

ER : a*d Cth string yg dibangkitkan : d, ad, aad, aaad

ER : a+d Cth string yg dibangkitkan : ad, aad, aaad

Page 11: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh ER

ER : a* U b* (U berarti atau) Contoh string yg dibangkitkan : a, b , aa, bb, aaa,

bbb, dst

ER : a U b Contoh string yg dibangkitkan : a , b

ER : 01* + 0 Contoh string yg dibangkitkan : 0 , 01, 011, 0111,

01111

Page 12: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Ekspresi Reguler

Operasi reguler yang digunakan untuk membentuk suatu bahasa (language).

Operasi Reguler:1. (Union)

2. . (konkatenasi)

3. * (closure)

Page 13: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Language dari (0 1)0*

(0 1) = ({0} {1})

0* = {0}* semua string yang anggotanya simbol 0.

(0 1)0* = (0 1) . 0*

L = {00, 10, 000, 100, 0000, 1000, … }

Page 14: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Language dari (0 1)*

Ekspresi ini dapat dituliskan sebagai *, dengan = {0,1}

L = {0, 1, 00, 01, 10, 11, … }

Kalau diteruskan (3 digit) menjadi :

{….,000,001,010,011,100,101,110,111,……}

Page 15: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Prioritas Operasi

Aritmatika

1. (perkalian)

2. + (penambahan)

Reguler1. * (operasi bintang)2. . (sambungan)3. (union/ gabungan)

Page 16: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Definisi Matematis Ekspresi Reguler

R merupakan ekspresi reguler jika R adalah:

1. a, dengan a anggota alfabet .

2. .

3. .

4. (R1 R2) dengan R1 dan R2 merupakan ekspresi reguler.

5. R1 . R2 dengan R1 dan R2 merupakan ekspresi reguler.

6. (R1)*, dengan R1 merupakan ekspresi reguler.

Page 17: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh Ekspresi Reguler

= {0,1}

1. 0*10* = {w|w memiliki tepat satu 1}

2. *1 * = {w|w memiliki sekurangnya satu 1}

3. *001 * = {w|w memiliki substring 001}

4. ( )* = {w|panjang w adalah kelipatan tiga}

5. 01 10 = {01, 10}

6. (0 )(1 ) = {, 0, 1, 01}

Page 18: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Operasi Identitas R

R = R

Penggabungan bahasa kosong ke sembarang bahasa tidak akan mengubah R.

R ○ = R

Penyambungan string kosong ke sembarang string tidak akan mengubah R.

Page 19: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Aplikasi Ekspresi Reguler

• Identifikasi pola suatu bahasa• Pengecekan alamat e-mail• [email protected][email protected][email protected]

Page 20: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Pengecekan Alamat Email

[a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|0-9]+([_][a-z|0-9]+)*)?

Page 21: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Ekivalensi RE dan FA

RE dan FA memiliki kemampuan yang sama dalam menggambarkan perilaku suatu sistem transisi.

RE dapat diubah dalam bentuk FA yang dapat mengenali bahasa yang

sama.

Page 22: Ekspresi Regular

TI U

NPA

R (A

de C

S)

RE menjadi NFA1

Jika R = a untuk sembarang a pada .

Maka L(R) = {a}

q0 q1a

Page 23: Ekspresi Regular

TI U

NPA

R (A

de C

S)

RE menjadi NFA2

Jika R = ,

Maka L(R) = {}

Jika R = ,

Maka L(R) =

q0

q0

Page 24: Ekspresi Regular

TI U

NPA

R (A

de C

S)

RE menjadi NFA3

R = R1 R2

R = R1 . R2

R = R1*

Page 25: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh: RE menjadi FA1

R = (ab a)*

Cari NFA ekivalennya yang diberi nama NFA N.

aa

bb

Page 26: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh: RE menjadi FA2

R = (ab a)*

Cari NFA ekivalennya yang diberi nama NFA N.

ab a b

ab aa b

a

Page 27: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh: RE menjadi FA3

R = (ab a)*

Cari NFA ekivalennya yang diberi nama NFA N.

(ab a)*

a b

a

Page 28: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh: RE menjadi FA4

R = (a b)* aba

Cari NFA ekivalennya yang diberi nama NFA N1.

aa

bb

Page 29: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh: RE menjadi FA5

R = (a b)* aba

Cari NFA ekivalennya yang diberi nama NFA N1.

a b a

b

Page 30: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh: RE menjadi FA5

R = (a b)* aba

Cari NFA ekivalennya yang diberi nama NFA N1.

(a b)*

a

b

Page 31: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh: RE menjadi FA6

R = (a b)* aba

Cari NFA ekivalennya yang diberi nama NFA N1.

aba

a b a

Page 32: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Contoh: RE menjadi FA6

R = (a b)* aba

Cari NFA ekivalennya yang diberi nama NFA N1.

(a b)* aba

Page 33: Ekspresi Regular

TI U

NPA

R (A

de C

S)

FA menjadi RE1

qiqj

qr

R4

R1 R3

R2

qjqi(R1)(R2)*(R3)

(R4)

BEFORE AFTER

Page 34: Ekspresi Regular

TI U

NPA

R (A

de C

S)

DFA menjadi RE2

1

2

a

a, b

b

(a)

1

a

a

a b

b

s

2

(b)

Page 35: Ekspresi Regular

TI U

NPA

R (A

de C

S)

DFA menjadi RE3

1

a

a

b (a b)*

s

(c)

a

a*b (a b)*

s

(d)

Page 36: Ekspresi Regular

TI U

NPA

R (A

de C

S)

Latihan Deskripsikan Himpunan string dalam RE yang diterima oleh FNA

1

2

Page 37: Ekspresi Regular

TI U

NPA

R (A

de C

S)

3

4

Page 38: Ekspresi Regular

TI U

NPA

R (A

de C

S)

TERIMA KASIH