teori bahasa dan otomata - kelasqta.files.wordpress.com · teori bahasa dan otomata [tbo]...

Post on 06-Mar-2019

852 Views

Category:

Documents

10 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PERTEMUAN 6

TEORI BAHASA DAN OTOMATA

[TBO]

PENGGABUNGAN 2 FSA

Pada 2 mesin FSA dapat dilakukan penggabungan,disebut union serta konkatenasi.

Misalkan terdapat dua mesin NFA, M1 dan M2

Gambar 5: M1

Gambar 6: M2

OPERASI UNION Diketahui L(M1) adalah bahasa yang diterima oleh M1 dan

L(M2) adalah bahasa yang diterima oleh M2. Dilakukan operasi union berikut:

L(M3) = L(M1) L(M2)

atau dengan notasi lain:L(M3) = L(M1) + L(M2)

Bisa dibuat mesin M3 yang menerima bahasa L(M3)dengan cara:

Tambahkan state awal untuk M3, hubungkan dengan stateawal M1 dan state awal M2 menggunakan transisi

Tambahkan state akhir untuk M3, hubungkan dengan state-state akhir M1 dan state-state akhir M2 menggunakantransisi

HASIL UNION qs dan qf adalah state awal dan state final mesin baru

FSA

OPERASI KONKATENASI

Diketahui L(M1) adalah bahasa yang diterima olehM1 dan L(M2) adalah bahasa yang diterima oleh M2.

Dilakukan operasi konkatenasi berikut:

L(M4) = L(M1).L(M2)

Bisa dibuat mesin M4 yang menerima bahasaL(M4) dengan cara:

State awal M1 menjadi state awal M4

State-state akhir M2 menjadi state akhir M4

Hubungan state-state akhir M1 dengan state awalM2 menggunakan transisi

HASIL KONKATENASI qA0 dan qB1 adalah state awal dan state final mesin baru

FSA

ALUR PENGEMBANGAN FSA (1) FSA hasil operasi gabungan atau konkatenasi adalah sebuah

NFA -move. Untuk selanjutnya harus diubah menjadi NFAtanpa -move.

ALUR PENGEMBANGAN FSA (2)

NFA DENGAN -MOVE

Terdapat jenis otomata baru yang disebut NFA dengan-move ( disini bisa dianggap sebagai empty)

Pada NFA dengan -move (transisi ), diperbolehkanmerubah state tanpa membaca input

Disebut dengan transisi karena tidak bergantungpada suatu input ketika melakukan transisi

Mesin NFA dengan -move

Gambar 1

Penjelasan Gambar 1

Dari q0 tanpa membaca input dapat berpindah keq1

Dari q1 tanpa membaca input dapat berpindah keq2

Dari q4 tanpa membaca input dapat berpindah keq1

Salah satu kegunaan dari transisi ini adalahmemudahkan dalam mengkombinasikan finite stateautomata.

-Closure Untuk NFA -Move

-closure adalah himpunan state-state yang dapatdicapai dari suatu state tanpa membaca input.

Misal: -closure (q0) = himpunan-himpunanstate-state yang dapat dicapai dari state q0tanpa membaca input.

Maka dengan melihat gambar 1 -closure

(q0) = q0,q1,q2, artinya dari state q0 tanpamembaca input dapat mencapai state q0, q1, danq2.

Perhatikan Gambar 1

-closure untuk state seluruhnya bisa dilihat sebagaiberikut:

-closure (q0) = q0,q1,q2

-closure (q1) = q1,q2

-closure (q2) = q2

-closure (q3) = q3

-closure (q4) = q1,q2,q4

Mesin NFA dengan -move

Gambar 2

Perhatikan Gambar 2

Dari gambar 2 diketahui -closure untuk setiap stateadalah:

-closure (q0) = q0,q1,q3

-closure (q1) = q1,q3

-closure (q2) = q2,q4

-closure (q3) = q3

-closure (q4) = q4

Perhatikan: Pada suatu state yang tidak memilikitransisi , maka -closurenya adalah state itu sendiri.

Ekivalensi NFA -move ke NFA tanpa -move

Dari sebuah NFA dengan -move dapat diperolehNFA tanpa -move yang ekivalen. (Dalam materiini sebutan NFA saja mengacu pada NFA tanpa -move).

Contoh:

Bila terdapat NFA -move, seperti pada gambar 3.

Gambar 4 adalah NFA tanpa -move yang ekivalendengan NFA -move pada gambar 3.

Perhatikan Gambar 3 dan 4Gambar 3

Gambar 4

Penjelasan..

Perhatikan bahwa NFA -move semula menerimabahasa yang membuat string ’b’, selanjutnya bisadilihat bahwa NFA tanpa -move pada gambar 4 jugamampu menerima bahasa yang memuat string ‘b’.

Maka dapat dinyatakan bahwa kedua mesin tersebutekivalen, karena mampu menerima bahasa yangsama.

Tentu saja bila gambarnya tidak sesederhana itu,perlu dilakukan beberapa tahapan untukmendapatkan perubahan dari NFA -move ke NFAtanpa -move.

Tahapan Perubahan

1. Buat table transisi Non-deterministic Finite Automatadengan -move semula

2. Tentukan -closure untuk setiap state

3. Carilah setiap fungsi transisi hasil perubahan dariNFA -move ke NFA tanpa -move (sebut sajasebagai ’), dimana ’ didapatkan dengan rumus:

’(state, input)

=

-closure ((-closure(state), input))

Tahapan Perubahan Lanjt..

4. Berdasarkan hasil no.(3), buatlah table transisi dandiagram transisi dari NFA tanpa -move yang ekivalendengan NFA -move tersebut.

5. Menentukan state-state akhir untuk NFA tanpa -move tersebut, yaitu state-state akhir semuladitambah dengan state-state yang -closure –nyamenuju ke salah satu dari state akhir semula. Dalambahasa formalnya:

F’ = F q(-closure (q) F)

Misal: bila semula F= q0, q3, _closure q1, =q0, q2, maka F’=q0, q1, q3.

Tahapan 1

Tabel transisi dari NFA -move pada gambar 3

δ a b

q0

q1 {q2} {q3}

q2

q3

Tahapan 2

Dari NFA -move pada gambar 3 tentukan -closureuntuk setiap state (-closure bisa juga disingkatsebagai -cl):

-cl (q0) = q0,q1

-cl (q1) = q1

-cl (q2) = q2

-cl (q3) = q3

Tahapan 3 [1]

Cari ’ dengan memanfaatkan table transisi dan -closure yang diperoleh sebelumnya, sebagai berikut:’(q0,a), ’(q0,b), ’(q1,a), ’(q1,b), ’(q2,a), ’(q2,b),’(q3,a), dan ’(q3,b)

Perhatikan penjabaran pada slide selanjutnya !

Tahapan 3 [2]

’(q0,a) = -closure ((-closure(q0),a))

= -closure ((q0,q1,a))

= -closure (q2)

= q2

’(q0,b) = -closure ((-closure(q0),b))

= -closure ((q0,q1,b))

= -closure (q3)

= q3

Tahapan 3 [3]

’(q1,a) = -closure ((-closure(q1),a))

= -closure ((q1,a))

= -closure (q2)

= q2

’(q1,b) = -closure ((-closure(q1),b))

= -closure ((q1,b))

= -closure (q3)

= q3

Tahapan 3 [4]

’(q2,a) = -closure ((-closure(q2),a))

= -closure ((q2,a))

= -closure ()

=

’(q2,b) = -closure ((-closure(q2),b))

= -closure ((q2,b))

= -closure ()

=

Tahapan 3 [5]

’(q3,a) = -closure ((-closure(q3),a))

= -closure ((q3,a))

= -closure ()

=

’(q3,b) = -closure ((-closure(q3),b))

= -closure ((q3,b))

= -closure ()

=

Tahapan 4

Bisa dilihat table transisi dan diagram untuk NFA tanpa

-move dari hasil tahapan sebelumnya :

δ a b

q0 {q2} {q3}

q1 {q2} {q3}

q2

q3

Tahapan 5

Akhirnya ditentukan himpunan state akhir untuk NFAtanpa -move ini. Himpunan state akhir semulaadalah q3. Karena tidak ada state lain yang -closure-nya memuat q3, maka himpunan state akhirsekarang tetap q3.

Perhatikan: karena disini mesin NFA maka state

tidak perlu dimunculkan dalam diagram transisi.

top related