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

29
PERTEMUAN 6 TEORI BAHASA DAN OTOMATA [TBO]

Upload: ngonhi

Post on 06-Mar-2019

848 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

PERTEMUAN 6

TEORI BAHASA DAN OTOMATA

[TBO]

Page 2: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

Page 3: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

Page 4: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

FSA

Page 5: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

Page 6: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

FSA

Page 7: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

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

Page 8: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

ALUR PENGEMBANGAN FSA (2)

Page 9: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

Page 10: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

Mesin NFA dengan -move

Gambar 1

Page 11: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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.

Page 12: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

Page 13: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

Page 14: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

Mesin NFA dengan -move

Gambar 2

Page 15: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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.

Page 16: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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.

Page 17: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

Perhatikan Gambar 3 dan 4Gambar 3

Gambar 4

Page 18: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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.

Page 19: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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))

Page 20: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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.

Page 21: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

Tahapan 1

Tabel transisi dari NFA -move pada gambar 3

δ a b

q0

q1 {q2} {q3}

q2

q3

Page 22: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

Page 23: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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 !

Page 24: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

Page 25: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

Page 26: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

Tahapan 3 [4]

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

= -closure ((q2,a))

= -closure ()

=

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

= -closure ((q2,b))

= -closure ()

=

Page 27: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

Tahapan 3 [5]

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

= -closure ((q3,a))

= -closure ()

=

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

= -closure ((q3,b))

= -closure ()

=

Page 28: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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

Page 29: TEORI BAHASA DAN OTOMATA - kelasqta.files.wordpress.com · TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA ... Terdapat jenis otomata baru yang disebut NFA dengan -move ( disinibisadianggapsebagaiempty)

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.