• Tidak ada hasil yang ditemukan

EKSPRESI REGULAR EKSPRESI REGULAR MATERI (1)

N/A
N/A
Protected

Academic year: 2018

Membagikan "EKSPRESI REGULAR EKSPRESI REGULAR MATERI (1)"

Copied!
25
0
0

Teks penuh

(1)

EKSPRESI REGULAR

EKSPRESI REGULAR

MATERI MINGGU

(2)

EKSPRESI REGULAR

EKSPRESI REGULAR

• Bahasa disebut reguler jika terdapat FSA yang dapat menerimanya.

• Bahasa reguler dinyatakan secara sederhana dengan ekspresi reguler/regular expression (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 ekspresi regular.

(3)

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 ab maksudnya :

A={a} dan B={b}

A ∪ B = gabungan/union antara himpunan A dengan himpunan B = {a,b} Dinotasikan secara singkat sebagai : ab

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}

(4)

Akibat

(5)

CONTOH

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*

• Sederetan bit 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)*

(6)

CONTOH

CONTOH

String apakah ekspresi-ekspresi regular berikut :

a. Ekspresi : (1,0)*

→ Sederetan bit NOL dan SATU dengan

jumlah sembarang dan susunan sembarang.

b. Ekspresi : (0,1)*1*

→ Sederetan bit NOL dan SATU dengan

jumlah sembarang urutan sembarang diikuti dengan deretan

bit SATU dengan jumlah nol atau lebih.

c. Ekspresi : (00)*(11)*

→ Deretan NOL kosong atau Genap

diikuti deretan SATU kosong atau genap.

a. Ekspresi : (11)*

(00)*

→ String kosong atau berisi bit NOL

(7)

Bahasa

Bahasa Reguler

Reguler

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

= {a

2

n | n ≥ 0 }

(8)

CONTOH

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 :

(9)

Sifat

Sifat Bahasa

Bahasa Reguler

Reguler

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)

(10)

CONTOH

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

(11)

Hubungan

(12)

Hubungan

(13)

Ekuivalensi

Ekuivalensi NFA, DFA,

NFA, DFA, dan

dan RG

RG

DFA bisa dibentuk dari NFA.

RG bisa dibentuk dari DFA.

NFA bisa dibentuk dari RG

DFA RG

(14)

Pembentukan

Pembentukan DFA

DFA dari

dari NFA

NFA

1. Diberikan sebuah NFA F = (K, V

T

, M, S, Z). Akan dibentuk sebuah

DFA F’ = (K’, V ’, M’, S’, Z’) dari NFA F tersebut. Algoritma

pembentukannya adalah sbb. :

2. Tetapkan : S’ = S dan V

T

’ = V

T

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

M’ = M

4. Setiap stata q yang merupakan

nilai

(atau

peta

) dari fungsi M

dan q

K, ditetapkan sebagai elemen baru dari K’. Tempatkan q

tersebut pada kolom Stata M’, lakukan pemetaan berdasarkan

fungsi M.

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

(15)

CONTOH

CONTOH

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

K = {A, B, C}, V

T

= {a, b}, S = A, Z = {C}, dan M didefinisikan sebagai

berikut :

Tentukan DFA hasil transformasinya !

STATA K NFA F Input

a b

A [A,B] C

B A B

(16)

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 :

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

(17)

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 dari

DFA F’ adalah sebagai berikut :

STATA K’ NFA F’ Input

(18)

Pembentukan

Pembentukan RG

RG dari

dari DFA

DFA

Diketahui sebuah DFA F = (K, V

T

, M, S, Z). Akan dibentuk

RG G = (V

T

’,V

N

, S’, Q).

Algoritma pembentukan RG dari DFA adalah sebagai berikut :

Tetapkan V

T

’ = V

T

, S’ = S, V

N

= S

Jika A

p

, A

q

ϵ K dan a ϵ V

T

, maka :

M(A

p

, a) = A ekuivalen dengan produksi

(19)

CONTOH

CONTOH

Diketahui sebuah DFA F dengan Z = {S} dan fungsi transisi M sebagai berikut : Dengan algoritma di atas maka diperoleh Q(RG)sbb. :

(20)

Pembentukan

Pembentukan NFA

NFA dari

dari RG

RG

Diketahui RG G = (V

T

, V

N

, S, Q). Akan dibentuk NFA F = (K, V

T

’, M, S’, Z).

Algoritma pembentukan NFA dari RG :

1. Tetapkan V

T

’ = V

T

, S’ = S, K = V

N

2. Produksi A

p

a A

q

ekuivalen dengan M(A

p

, a) = A

q

Produksi A

p

a ekuivalen dengan M(A

p

, a) = X, dimana X

V

(21)

CONTOH

CONTOH

Diketahui RG G = (VT, VN , S, Q) dengan : VT = {a, b}, VN = {S, A, B}, S = S, dan Q = {S

aS, SbA, AaA, AaB, Bb}

Tabel M :

(22)

Ekuivalensi

(23)

CONTOH

CONTOH

Tentukan NFA untuk ekspresi regular r = 0(1

23)*

Jawab :

r

1

= 0

r

2

= 1

r

3

= 23

(24)

CONTOH

CONTOH

r

5

= r

4

* = (1

23)*

(25)

TERIMAKASIH

Gambar

Tabel M :NFA F

Referensi

Dokumen terkait

Dari gambar diatas dapat kita katakan bahwa (i) merupakan contoh grafik fungsi karena untuk setiap elemen di sumbu x dipasangkan tepat satu pada elemen di sumbu

Kemampuan dari aplikasi web scraping adalah Sistem berupa fungsi menggunakan aplikasi berbasis web digunakan untuk melakukan proses web scraping, Menggunakan CMS

1" Mampu m Mampu mengamat engamati elemen- i elemen-elemen k elemen kerja dalam s erja dalam suatu pek uatu pekerjaan y erjaan yang spesi ang spesi#ik  #ik  dan mampu membuat

Fungsi f dikatakan dipetakan pada (onto) atau surjektif (surjective) jika setiap elemen himpunan B mrpkn bayangan dr satu atau lebih elemen himpunan A. Dengan kata

• Buatlah program yang membaca sebuah matriks dengan elemen integer, misalnya M, dan masukan sebuah nilai integer, misalnya X dan selanjutnya mengalikan setiap elemen matriks M

Apabila f(A) = B, yang berarti setiap elemen di B pasti merupakan peta dari sekurang-kurangnya satu elemen di A maka kita katakan f adalah suatu fungsi surjektif atau “f memetakan

Kemampuan dari aplikasi web scraping adalah Sistem berupa fungsi menggunakan aplikasi berbasis web digunakan untuk melakukan proses web scraping, Menggunakan CMS

Elemen-elemen dari chart fungsi urutan adalah langkah-langkah (step),pemindahan –pemindahan (transisi),cabang alternatif dan percabangan paralel. Setiap step menampilkan status