Ekspresi Regular

Post on 15-Jan-2016

56 views 2 download

description

Ekspresi Regular

Transcript of Ekspresi Regular

TI U

NPA

R (A

de C

S)

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

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

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

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)

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

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

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

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

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+

Ø Ø

{} {}

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

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

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)

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, … }

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,……}

TI U

NPA

R (A

de C

S)

Prioritas Operasi

Aritmatika

1. (perkalian)

2. + (penambahan)

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

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.

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}

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.

TI U

NPA

R (A

de C

S)

Aplikasi Ekspresi Reguler

• Identifikasi pola suatu bahasa• Pengecekan alamat e-mail• fsa@yahoo.com• Unpar@gmail.com• pertamina@pertamina.co.id

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]+)*)?

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.

TI U

NPA

R (A

de C

S)

RE menjadi NFA1

Jika R = a untuk sembarang a pada .

Maka L(R) = {a}

q0 q1a

TI U

NPA

R (A

de C

S)

RE menjadi NFA2

Jika R = ,

Maka L(R) = {}

Jika R = ,

Maka L(R) =

q0

q0

TI U

NPA

R (A

de C

S)

RE menjadi NFA3

R = R1 R2

R = R1 . R2

R = R1*

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

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

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

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

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

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

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

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

TI U

NPA

R (A

de C

S)

FA menjadi RE1

qiqj

qr

R4

R1 R3

R2

qjqi(R1)(R2)*(R3)

(R4)

BEFORE AFTER

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)

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)

TI U

NPA

R (A

de C

S)

Latihan Deskripsikan Himpunan string dalam RE yang diterima oleh FNA

1

2

TI U

NPA

R (A

de C

S)

3

4

TI U

NPA

R (A

de C

S)

TERIMA KASIH