100% menganggap dokumen ini bermanfaat (1 suara)
229 tayangan8 halaman

Fsa Dengan Output

Finite state automata (FSA) dapat memiliki output selain hanya menerima atau menolak input. FSA dengan output dapat berupa mesin Moore dan mesin Mealy. Pada mesin Moore, output terkait dengan state, sedangkan pada mesin Mealy output terkait dengan transisi antar state. Mesin Moore dan Mealy dapat diubah menjadi ekivalen satu sama lain.

Diunggah oleh

Kardy K
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (1 suara)
229 tayangan8 halaman

Fsa Dengan Output

Finite state automata (FSA) dapat memiliki output selain hanya menerima atau menolak input. FSA dengan output dapat berupa mesin Moore dan mesin Mealy. Pada mesin Moore, output terkait dengan state, sedangkan pada mesin Mealy output terkait dengan transisi antar state. Mesin Moore dan Mealy dapat diubah menjadi ekivalen satu sama lain.

Diunggah oleh

Kardy K
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 8

TEORI BAHASA & OTOMATA

FSA dengan Output


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,
d, S, D, l), dimana:
Q = himpunan state
S = himpunan symbol input
d = fungsi transisi
S = state awal, SÎ Q
D = himpunan output
l = 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}
S = {0,1} (input dalam biner)
D = {0,1,2} (untuk output-nya pada kasus mod dengan 3 maka sisanya kemungkinan
adalah (0,1,2)
0 1
S = q0
l (q0) = 0 q0 1 q1 0 q2

l (q1) =1
0 0
l (q2) =2
0 1 2
Misalkan saja Gambar 1. Mesin Moore untuk modulus 3

· 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, l (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
l (q1) =1, maka 10 mod 3 = 1
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, d, S, D, l), dimana:
Q = himpunan state
S = himpunan symbol input
d = fungsi transisi
S = state awal, SÎ Q
D = himpunan output
l = fungsi output untuk setiap transisi

Contoh
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}
S = {0,1}
D = {Y,T}
S = q0
l (q0,0) = T
l (q0,1) = T
l (q1,0) = Y
l (q1,1) = T
0/Y
l (q2,0) = T
l (q2,1) =Y q1
0/T

q0 1/T 0/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}
S = {0,1}
D = {Y,T}
S = q0
l (q0Y) = Y
l (q0T) = T
l (q1Y) = Y
l (q1T) = T
l (q2Y) = Y
l (q2T) = T
1
1

0
q0 T 0 q1 T q2 T

T
T T
1
0
0

0
1
0

q0Y q1Y q2Y


1
1
Y
Y
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 }
S = {0,1}
D = {0,1,2}
S = q0
l (q0,0) = 0
l (q0,1) = 1
l (q1,0) = 2
l (q1,1) = 0
l (q2,0) = 1
l (q2,1) =2

0/0 1/2

q0 1/1 q1 0/2 q2

1/0 0/1

Gambar 4. Mesin Mealy yang ekivalen dengan gambar1.

Anda mungkin juga menyukai