Anda di halaman 1dari 10

MODUL VII

TEORI BAHASA DAN AUTOMATA


Judul Penyusun

TRANDUCER (FSA DENGAN OUTPUT)


Pengesahan Tanggal : Pengarsipan Tanggal :

Tanggal :

Nixon Erzed

Tujuan : Mahasiswa mengenal pengembangan lebih jauh dari suatu mesin otomata dan penggunaannya dalam pembuatan keputusan Materi : FSA dengan output Mesin Moore Mesin Mealy

PUSAT PENGEMBANGAN BAHAN AJAR-UMB

Ir. Nixon Erzed MT

TEORI BAHASA DAN AUTOMATA

FINITE STATE AUTOMATA DENGAN OUTPUT Mesin Moore


Suatu keterbatasan dari finite state automata yang sudah kita pelajari selama ini keputusannya terbatas pada diterima atau ditolak. otomata tersebut biasa disebut sebagai accepter, dalam hal ini finite state accepter. Kita bisa mengkonstruksi sebuah finite state automata yang memiliki keputusan beberapa keluaran/ output, dalam hal ini otomata tersebut akan dikenal sebagai transducer. Pada mesin Moore, output akan berasosiasi dengan state. Mesin Moore didefinisikan dalam 6 (enam) tupel, M = (Q, , , S, , ), dimana: Q = himpunan state = himpunan symbol input = fungsi transisi S = state awal, S Q = himpunan output = fungsi output untuk setiap state *Perhatikan: komponen state Final dari Deterministic Finite Automata dihilangkan, karena disini keputusan dimunculkan sebagai output. Kita lihat contoh penerapan dari Mesin Moore. Misal kita ingin memperoleh sisa pembagian (modulus) suatu bilangan dengan 3. Dimana input dinyatakan dalam biner. Mesin Moore yang bersesuaian bisa dilihat pada gambar 1. Konfigurasi mesin sebagai berikut: Q = {q0,q1,q2} = {0,1} (input dalam biner) = {0,1,2} (untuk output-nya pada kasus mod dengan 3 maka sisanya kemungkinan adalah (0,1,2) S = q0 (q0) = 0 (q1) =1

PUSAT PENGEMBANGAN BAHAN AJAR-UMB

Ir. Nixon Erzed MT

TEORI BAHASA DAN AUTOMATA

(q2) =2

0 q0
0

1 1 q1
0

q2

Gambar 1. Mesin Moore untuk modulus 3


Misalkan saja 5 mod 3 = ? input 5 dalam biner 101 bila kita masukkan 101 ke dalam mesin, urutan state yang dicapai: q0,q1,q2,q3 Perhatikan state terakhir yang dicapai adalah q2, (q2) =2, maka 5 mod 3 = 2 10 mod 3 =? input 10 dalam biner 1010 bila kita masukkan 1010 ke dalam mesin, urutan state yang dicapai: q0,q1,q2,q2, q1 (q1) =1, maka 10 mod 3 = 1

PUSAT PENGEMBANGAN BAHAN AJAR-UMB

Ir. Nixon Erzed MT

TEORI BAHASA DAN AUTOMATA

Mesin Mealy
Bila output pada mesin Moore berasosiasi dengan state, maka output pada Mesin Mealy akan berasosiasi dengan transisi. Mesin Mealy sendiri didefinisikan dalam 6 tupel, M = (Q, , , S, , ), dimana: Q = himpunan state = himpunan symbol input = fungsi transisi S = state awal, S Q = himpunan output = fungsi output untuk setiap transisi Contoh penerapan Mesin Mealy kita lihat pada gambar2. Mesin itu akan mengeluarkan output apakah menerima (Y) atau menolak (T), suatu masukan. Dimana mesin akan mengeluarkan output Y bila menerima untai yang memiliki akhiran 2 simbol berturutan yang sama, atau secara formal dalam ekspresi regular: (0+1)*(00+11) Contoh input yang diterima : 01011, 01100, 1010100, 10110100, 00, 11, 100, 011. 000, 111 Konfigurasi dari Mesin Mealy tersebut: Q = {q0,q1,q2} = {0,1} = {Y,T} S = q0 (q0,0) = T (q0,1) = T (q1,0) = Y (q1,1) = T (q2,0) = T (q2,1) =Y

PUSAT PENGEMBANGAN BAHAN AJAR-UMB

Ir. Nixon Erzed MT

TEORI BAHASA DAN AUTOMATA

0/Y

q1

0/T q0 0/T

1/T

1/T q2

1/Y

Gambar 2. Mesin Mealy

Ekivalensi Mesin Moore dan Mesin Mealy


Dari suatu Mesin Moore dapat dibuat Mesin Mealy yang ekivalen, begitu juga sebaliknya. Untuk mesin Mealy pada gambar 2 dapat kita buat Mesin Moore yang ekivalen yaitu gambar 3. Bisa kita lihat state pada mesin Moore dibentuk dari kombinasi state pada Mealy dan banyaknya output. Karena jumlah state Mealy = 3, dan jumlah output = 2, maka jumlah state pada Moore yang ekivalen = 6. Bisa dilihat konfigurasi Mesin Moore yang dibentuk: Q = {q0Y, q0T, q1Y,q1T, q2Y,q2T} = {0,1} = {Y,T} S = q0 (q0Y) = Y (q0T) = T (q1Y) = Y (q1T) = T (q2Y) = Y (q2T) = T

PUSAT PENGEMBANGAN BAHAN AJAR-UMB

Ir. Nixon Erzed MT

TEORI BAHASA DAN AUTOMATA

1 1

q0 T
T 0 0

q1 T
T 0

q2 T
1 0

T 0 T 0

0 0

q0 Y
Y 0

q1 Y
1 Y 0 Y 0

q2 Y

Gambar 3. Mesin Moore yang ekivalen dengan gambar 2 Bila kita perhatikan dari gambar diatas, state q0Y dapat dihapus karena tidak ada busur yang mengarah ke state tersebut. Untuk memperoleh ekivalensi mesin Mealy dari suatu mesin Moore caranya lebih mudah, cukup dengan menambahkan label output ke setiap transisi dan menghapus label output pada setiap state. Kita lihat gambar 4 merupakan mesin Mealy yang ekivalen dengan mesin Moore pada gambar 1. Konfigurasi Mesin Mealy tersebut: Q = {q0, q1, q2 } = {0,1} = {0,1,2} S = q0 (q0,0) = 0 (q0,1) = 1 (q1,0) = 2 (q1,1) = 0 (q2,0) = 1 (q2,1) =2

PUSAT PENGEMBANGAN BAHAN AJAR-UMB

Ir. Nixon Erzed MT

TEORI BAHASA DAN AUTOMATA

0/0 q0 1/1 q1 0/2 q2

1/2

0/1 1/0

Gambar 4. Mesin Mealy yang ekivalen dengan gambar1.

Latihan soal
1. Diberikan mesin automata sebagai berikut : Q = {p, q, r, s}; = {0, 1}; S=p ; F = {s}

Untuk setiap tabel transisi gambarkan diagram mesinnya (diagram state) lembar jawaban anda, dan jawablah soal dikolom sampingnya

Tabel transisi I. p q r s 0 p, q r s s 1 p r s
1. 2. 3. 4. 5. 6. 7.

Soal tentukanlah apakah ditolak tentukanlah apakah ditolak tentukanlah apakah ditolak tentukanlah apakah ditolak tentukanlah apakah ditolak tentukanlah apakah ditolak tentukanlah apakah ditolak 0110 diterima atau 1001 diterima atau 110 diterima atau 1001 diterima atau 01011 diterima atau 001 diterima atau 100 diterima atau

II.

p q r s

0 q r,s s

1 p s q q, s

8.

tentukanlah apakah ditolak 9. tentukanlah apakah ditolak 10. tentukanlah apakah ditolak 11. tentukanlah apakah ditolak 12. tentukanlah apakah ditolak

0110 diterima atau 1001 diterima atau 110 diterima atau 1001 diterima atau 01011 diterima atau

PUSAT PENGEMBANGAN BAHAN AJAR-UMB

Ir. Nixon Erzed MT

TEORI BAHASA DAN AUTOMATA

13.

tentukanlah apakah 001 diterima atau ditolak 14. tentukanlah apakah 100 diterima atau ditolak

III

p q r s

0 q r s,r q

1 r,p p s

15.

tentukanlah apakah ditolak 16. tentukanlah apakah ditolak 17. tentukanlah apakah ditolak 18. tentukanlah apakah ditolak 19. tentukanlah apakah ditolak 20. tentukanlah apakah ditolak 21. tentukanlah apakah

0110 diterima atau 1001 diterima atau 110 diterima atau 1001 diterima atau 01011 diterima atau 001 diterima atau 100 diterima atau

ditolak 2. Untuk setiap diagram mesin (diagram state) berikut tuliskanlah definisi formal 5 tuple dan tabel transisinya pada lembar jawaban anda, dan jawablah soal dikolom sampingnya

Diagram state I. q0 0 q2 1 1 0 1 1 q3

soal Tentukanlah apakah string berikut dapat diterima atau ditolak : 1. 1101 2. 0101 3. 1001 4. 1010 5. 0011

q1 0 0

II. 0 q0 1 q2 0

q1 0

q3

0, 1

1 1 q4

q5

Tentukanlah apakah string berikut dapat diterima atau ditolak 6. 1101 7. 0101 8. 1001 9. 1010 10. 0011

0, 1

PUSAT PENGEMBANGAN BAHAN AJAR-UMB

Ir. Nixon Erzed MT

TEORI BAHASA DAN AUTOMATA

III. 0 q0 1 0 q2 q1 0 1 1

q3

0 0

1 q4

q5 0, 1

Tentukanlah apakah string berikut dapat diterima atau ditolak 11. 1101 12. 0101 13. 1001 14. 1010 15. 0011

PUSAT PENGEMBANGAN BAHAN AJAR-UMB

Ir. Nixon Erzed MT

TEORI BAHASA DAN AUTOMATA

3. Pelajarilah dengan seksama persoalan berikut ini : Sebuah rombongan yang terdiri dari 3 orang bikshu dan 3 orang kanibal tiba ditepi sebuah sungai yang dalam dan berbahaya. Satu-satunya cara untuk menyebrangi sungai adalah dengan sebuah perahu yang tertambat dipinggir sungai tersebut. Perahu hanya mampu memuat 2 orang penumpang. Perahu tidak memiliki tukang dayung sehingga mesti ada bikshu atau kanibal membawa perahu dari satu sisi kesisi lainnya. Persoalannya adalah jika disatu keadaan terdapat lebih banyak kanibal dibanding bikshu, maka bikshu tersebut akan dimakan oleh kanibal tersebut. a. b. Definisikanlah suatu mesin automata yang menggambarkan penyelesaian persoalan tersbut. Definisikanlah bentuk formal 5 tuple dari mesin yang anda buat.

4. Buatlah sebuah mesin Mealy yang mengeluarkan output 75 bila menerima untai yang memiliki akhiran 3 simbol berturutan berpola 100 atau 111. Dan output 50 jika tidak mengikuti pola tersebut 5. Buatlah sebuah mesin Mealy yang mengeluarkan output S bila menerima untai yang memiliki akhiran 3 simbol berturutan berpola 001 atau 110. Dan output T jika tidak mengikuti pola tersebut 6. Buatlah sebuah mesin Mealy untuk menghitung berapa hasil Modulus 4 7. Ubahlah mesin Mealy berikut menjadi mesin Moore 1/Y Q1 0/T 1/Y Q0 1/T Q2 0/T 0/T

Dan definisikanlah dengan kalimat anda sendiri pola untai dan output dari mesin tersebut

PUSAT PENGEMBANGAN BAHAN AJAR-UMB

Ir. Nixon Erzed MT

TEORI BAHASA DAN AUTOMATA

10

Anda mungkin juga menyukai