25
EKSPRESI REGULAR EKSPRESI REGULAR MATERI MINGGU MATERI MINGGU KE KE- -4 4

TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

Embed Size (px)

Citation preview

Page 1: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

EKSPRESI REGULAREKSPRESI REGULAR

MATERI MINGGU MATERI MINGGU KEKE--44

Page 2: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

EKSPRESI REGULAREKSPRESI REGULAR• Bahasa disebut reguler jika terdapat FSA yang dapat menerimanya.

• Bahasa reguler dinyatakan secara sederhana dengan ekspresi reguler/regularexpression (RE).

• Contoh penerapan : searching string pada file

• RE -> NFA dengan e Move -> DFA

Definisi ekspresi reguler

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

2. { ɛ } =string kosong adalah ekspresi regular

3. Untuk setiap a ϵ ∑, maka a adalah ekspresi regular

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

“Ø yang melambangkan himpunan kosong, atau tidak punya anggota, sedangkan{ ɛ } adalah himpunan yang memiliki satu anggota , yaitu string kosong.”

22

8 April 2015 Teori Bahasa dan Otomata

Page 3: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

Notasi a ∪ b , ab dan a* adalah penyederhanaan notasi yang diperoleh dari notasiasli 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∞, yangmenghasilkan suatu himpunan : { ɛ , a, aa, aaa, aaaa, ….}, dinotasikan sebagai a*

8 April 2015 Teori Bahasa dan Otomata

33

Page 4: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

AkibatAkibat LogisLogis EkspresiEkspresi RegulerReguler, , berdasarkanberdasarkan AturanAturan--AturanAturan dalamdalamTeoriTeori HimpunanHimpunan,,

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

8 April 2015 Teori Bahasa dan Otomata

44

Page 5: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

CONTOHCONTOHEkspresikan 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 buahatau lebih

Ekspresinya : 00*11*

• Sederetan bit NOL dan SATU sembarang yang diawali dengan NOL dandiakhiri 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 jumlahGANJIL

Ekspresinya : 00(00)*1(11)*

8 April 2015 Teori Bahasa dan Otomata

55

Page 6: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

CONTOHCONTOHString apakah ekspresi-ekspresi regular berikut :

a. Ekspresi : (1,0)* → Sederetan bit NOL dan SATU denganjumlah sembarang dan susunan sembarang.

b. Ekspresi : (0,1)*1* → Sederetan bit NOL dan SATU denganjumlah sembarang urutan sembarang diikuti dengan deretanbit SATU dengan jumlah nol atau lebih.

c. Ekspresi : (00)*(11)* → Deretan NOL kosong atau Genapdiikuti deretan SATU kosong atau genap.

a. Ekspresi : (11)* ∪ (00)* → String kosong atau berisi bit NOLgenap atau bit SATU genap dengan posisi sembarang

8 April 2015 Teori Bahasa dan Otomata

66

Page 7: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

BahasaBahasa RegulerReguler

Apabila r adalah RE, maka L(r) adalah bahasa reguler yang dibentukmenggunakan 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

8 April 2015 Teori Bahasa dan Otomata

77

Page 8: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

CONTOHCONTOH• 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)*

8 April 2015 Teori Bahasa dan Otomata

88

Page 9: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

SifatSifat BahasaBahasa RegulerReguler• 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 bahasareguler 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}

8 April 2015 Teori Bahasa dan Otomata

99

Page 10: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

CONTOHCONTOH• 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)*

8 April 2015 Teori Bahasa dan Otomata

1010

Page 11: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

HubunganHubungan RE RE dandan NFANFA

8 April 2015 Teori Bahasa dan Otomata

1111

Page 12: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

HubunganHubungan RE RE dandan NFANFA

8 April 2015 Teori Bahasa dan Otomata

1212

Page 13: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

EkuivalensiEkuivalensi NFA, DFA, NFA, DFA, dandan RGRG• DFA bisa dibentuk dari NFA.

• RG bisa dibentuk dari DFA.

• NFA bisa dibentuk dari RG

8 April 2015 Teori Bahasa dan Otomata

1313

DFA RG

NFA

Page 14: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

PembentukanPembentukan DFA DFA daridari NFANFA

1. Diberikan sebuah NFA F = (K, VT, M, S, Z). Akan dibentuk sebuahDFA F’ = (K’, V ’, M’, S’, Z’) dari NFA F tersebut. Algoritmapembentukannya adalah sbb. :

2. Tetapkan : S’ = S dan VT’ = VT

3. Copykan tabel NFA F sebagai tabel DFA F’. Mula-mula K’ = K danM’ = M

4. Setiap stata q yang merupakan nilai (atau peta) dari fungsi Mdan q K, ditetapkan sebagai elemen baru dari K’. Tempatkan qtersebut pada kolom Stata M’, lakukan pemetaan berdasarkanfungsi M.

5. Ulangi langkah (3) sampai tidak diperoleh stata baru.

6. Elemen Z’ adalah semua stata yang mengandung stata elemen Z.

8 April 2015 Teori Bahasa dan Otomata

1414

Page 15: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

CONTOHCONTOHBerikut ini diberikan sebuah NFA F = (K, V , M, S, Z) dengan :

K = {A, B, C}, VT = {a, b}, S = A, Z = {C}, dan M didefinisikan sebagaiberikut :

Tentukan DFA hasil transformasinya !

8 April 2015 Teori Bahasa dan Otomata

1515

STATA K NFA F Input

a b

A [A,B] C

B A B

C B [A,B]

Page 16: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

Jawab:

Berdasarkan algoritma di atas, maka :

1. S’ = S = A, VT’ = VT = {a, b}.

2. Hasil copy tabel NFA F menghasilkan tabel DFA F’ berikut :

3. Pada tabel DFA F’ di atas terdapat stata baru yaitu [A,B]. Pemetaan [A,B] adalah :M([A,B],a) = M(A,a)∪M(B,a) = [A,B] ∪ A = [A,B], dan M([A,B],b) = M(A,b)∪M(B,b)

= C ∪ B = [B,C], sehingga diperoleh tabel berikut :

8 April 2015 Teori Bahasa dan Otomata

1616

STATA K’ NFA F’ Input

a b

A [A,B] C

B A B

C B [A,B]

STATA K’ NFA F’ Input

a b

A [A,B] C

B A B

C B [A,B]

[A,B] [A,B] [B,C]

Page 17: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

4. Langkah (3) di atas menghasilkan stata baru yaitu [B,C]. Setelah pemetaan terhadap[B,C] diperoleh tabel berikut :

5. Setelah langkah (4) di atas tidak terdapat lagi stata baru.

Dengan demikian DFA F’ yang dihasilkan adalah : DFA F’ = (K’, VT’, M’, S’, Z’), dimana : K’ ={A, B, C, [A,B], [B,C]}, VT’ = {a, b}, S’ = A, Z’ = {C, [B,C]}. Fungsi transisi M’ serta Graf dariDFA F’ adalah sebagai berikut :

8 April 2015 Teori Bahasa dan Otomata

1717

STATA K’ NFA F’ Input

a b

A [A,B] C

B A B

C B [A,B]

[A,B] [A,B] [B,C]

[B,C] [A,B] [A,B]

Page 18: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

PembentukanPembentukan RG RG daridari DFADFA

8 April 2015 Teori Bahasa dan Otomata

1818

Diketahui sebuah DFA F = (K, VT, M, S, Z). Akan dibentuk

RG G = (VT’,VN, S’, Q).

Algoritma pembentukan RG dari DFA adalah sebagai berikut :

• Tetapkan VT’ = VT, S’ = S, VN = S

• Jika Ap, Aq ϵ K dan a ϵ VT, maka :

M(Ap, a) = A ekuivalen dengan produksi

ZA jika,aA

ZA jika,aAA

qp

qqp

Page 19: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

CONTOHCONTOHDiketahui sebuah DFA F dengan Z = {S} dan fungsi transisi M sebagai berikut :

Dengan algoritma di atas maka diperoleh Q(RG)sbb. :

M(S,0) = B S 0B

M(S,1) = A S 1A

M(A,0) = C A 0C

M(A,1) = S A 1

M(B,0) = S B 0

M(B,1) = C B 1C

M(C,0) = A C 0A

M(C,1) = B C 1B

RG yang dihasilkan adalah G(VT’, VN, S’, Q), dengan VT’ = {0,1}, VN = {S, A, B, C}, S’ = S, dan Q = {S 0B, S 1A, A 0C, B 1C, C 0A, C 1B,

A 1, B 0}

8 April 2015 Teori Bahasa dan Otomata

1919

STATA K DFA F

INPUT

0 1

S B A

A C S

B S C

C A B

Page 20: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

PembentukanPembentukan NFA NFA daridari RGRGDiketahui RG G = (VT, VN, S, Q). Akan dibentuk NFA F = (K, VT’, M, S’, Z).

Algoritma pembentukan NFA dari RG :

1. Tetapkan VT’ = VT, S’ = S, K = VN

2. Produksi Ap a Aq ekuivalen dengan M(Ap, a) = Aq

Produksi Ap a ekuivalen dengan M(Ap , a) = X, dimana X V

3. K = K ∪ {X}

4. Z = {X}

8 April 2015 Teori Bahasa dan Otomata

2020

Page 21: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

CONTOHCONTOHDiketahui RG G = (VT, VN , S, Q) dengan : VT = {a, b}, VN = {S, A, B}, S = S, dan Q = {S aS, S bA, A aA, A aB, B b}

Tabel M :

Terapkan algoritma di atas untuk memperoleh NFA F sebagai berikut :

1. VT’ = VT = {a, b}, S’ = S, K = VN = {S, A, B}

2. S aS M(S,a) = S, S bA M(S,b) = A,

A aA M(A,a) = A, A aB M(A,a) = B,

B b M(B,b) = X

NFA yang diperoleh : F(K, VT’, M, S’, Z), dengan K = {S, A, B, X}, VT’ = {a, b}, S’ = S, Z= {X},

8 April 2015 Teori Bahasa dan Otomata

2121

STATA K NFA F

INPUT

a b

S S A

A [A,B] ⌽

B ⌽ X

X ⌽ ⌽

Page 22: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

EkuivalensiEkuivalensi NFANFA-- DenganDengan ER (ER (EkspresiEkspresi Regular)Regular)

8 April 2015 Teori Bahasa dan Otomata

2222

Page 23: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

CONTOHCONTOHTentukan NFA untuk ekspresi regular r = 0(1 23)*

Jawab :

r1 = 0

r2 = 1

r3= 23

r4= r2 r3 = 1 23

8 April 2015 Teori Bahasa dan Otomata

2323

Page 24: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

CONTOHCONTOH

8 April 2015 Teori Bahasa dan Otomata

2424

r5= r4* = (1 23)*

r = r5= 0(1 23)*

Page 25: TEORI BAHASA DAN OTOMATA PERTEMUAN KE-4.pdf

8 April 2015 Teori Bahasa dan Otomata

2525

TERIMAKASIHLilis Setyowati