Anda di halaman 1dari 20

Assalammu’alaikum warahmatullahi

wabarakatuh …
TEORI KOMPUTASI
Pertemuan 6 : FSA dengan Output (FSA Transducer)
Pendahuluan
• FSA Accepter
Input diterima
(bahasa)
FSA
ditolak

• FSA Transducer
Input
(bahasa)
FSA output
FSA dengan Output (Transducer)
1. Mesin Moore
• dikemukakan oleh Edward F. Moore, yang mempresentasikan konsep tersebut
dalam makalahnya yang berjudul “Gedanken-experiments on Sequential
Machines”, pada tahun 1956.
• merupakan FSA yang nilai outputnya ditentukan berdasarkan statenya.
2. Mesin Mealy
• dikemukakan oleh George H. Mealy, yang mempresentasikan konsep tersebut
dalam makalahnya yang berjudul “A Method for Synthesizing Sequential
Circuits”, pada tahun 1955.
• merupakan FSA yang nilai outputnya ditentukan berdasarkan state dan
inputnya atau transisinya.
Definisi Formal
• Mesin Moore: • Mesin Mealy:
• Q = himpunan state/kedudukan • Q = himpunan state/kedudukan
• Σ = himpunan simbol input • Σ = himpunan simbol input
• δ = fungsi transisi • δ = fungsi transisi
• S = state awal, S Є Q • S = state awal, S Є Q
• Δ = himpunan output • Δ = himpunan output
•  = fungsi output untuk setiap •  = fungsi output untuk setiap
state transisi
Contoh 1 : Mesin Moore
• Mesin Moore untuk modulus 2
• Definisi formal:
• Q = {Q0, Q1} Fungsi transisi (δ):
• Σ = {0, 1} 0 1
Q0 Q0 Q1
• S = Q0
Q1 Q0 Q1
•  = {0, 1}
• Fungsi output: Diagram state:
•  (Q0) = 0 0
1
•  (Q1) = 1 1
Q0/0 0 Q1/1
Contoh 2 : Mesin Moore
• Mesin Moore untuk modulus 3
• Definisi formal:
• Q = {Q0, Q1, Q2} Fungsi transisi (δ):
• Σ = {0, 1} 0 1
Q0 Q0 Q1
• S = Q0
Q1 Q2 Q0
•  = {0, 1, 2} Q2 Q1 Q2
• Fungsi output:
•  (Q0) = 0 Diagram state:
0
•  (Q1) = 1 1
1 0
•  (Q2) = 2
Q0/0 1 Q1/1 0 Q2/2
Pola modulus 3
• Bilangan outputnya 0:
• 3 = 11, 6=110, 9=1001, 12=1100, 15=1111, 18=10010, 21=10101, 24=11000, 27=11011, 30=11110,
33=100001, 36=100100, 39=100111, 42=101010, 45=101101, 48=110000, 51=110011, 54=110110,
57=111001, 60=111100, 63=111111, 66= 1000010, 69= 1000101, 72=1001000, 75=1001011,
78=1001110, 81=1010001, 84=1010100, 87=1010111, 90=1011010, 93=1011101, 96=1100000,
99=1100011, 102=1100110, 105= 1101001, 108=1101100, 111=1101111, 114=1110010,
117=1110101, 120=1111000, 123=1111011, 126=1111110, 129=10000001, 132=10000100,
135=10000111, 138=10001010, 141=10001101, 144=10010000, 147=10010011, 150=10010110
• Pola 1 = 11, (1111,111111), (110, 1100, 11000, 110000, 1100000, 11011, 110011, 1100011,
110110, 1101100, 1100110, 1101111), (11110, 111100, 1111000, 1111011, 1111110)
• Pola 2 = 1001, (100001, 10000001), (10010, 100100, 1001000, 10010000, 1000010, 10000100),
(100111, 10000111), (1001011, 10010011), (1001110, 10010110,), (111001, 1110010, 1101001)
• Pola 3 = 10101, (101010, 1010100), (101101, 1011101, 1011010), (1010111), (1010001),
(1000101, 10001010, 10001101), 1110101
Pola modulus 3
• Bilangan outputnya 1:
• 1=1, 4 = 100, 7=111, 10=1010, 13=1101, 16=10000, 19=10011, 22=10110, 25=11001, 28=11100,
31=11111, 34=100010, 37=100101, 40=101000, 43=101011, 46=101110, 49=110001, 52=110100,
55=110111, 58=111010, 61=111101, 64=1000000, 67=1000011, 70= 1000110, 73=1001001,
76=1001100, 79=1001111, 82=1010010, 85=1010101, 88=1011000, 91=1011011, 94=1011110,
97=1100001, 100=1100100, 103=1100111, 106= 1101010, 109=1101101, 112=1110000,
115=1110011, 118=1110110, 121=1111001, 124=1111100, 127=1111111, 130=10000010,
133=10000101, 136=10001000, 139=10001011, 142=10001110, 145=10010001, 148=10010100,
151=10010111
• Pola 1 = 1, (111, 11111, 1111111), (11100, 1111100, 1110000, 1110011, 111010, 1101010,
1110110), (1101, 11001, 110001, 1100001, 110100, 1100100, 110111, 1100111, 111101, 1111001,
1101101)
• Pola 2 = 100, (10000, 1000000, 1000011), (10011, 1001111, 1001100), (100101, 10000101, 1001001,
10010111, 10010100, 10010001), (1010, 10110, 101110, 1011110, 101000, 1011000, 1010010),
(101011, 1011011, 1010101), (100010, 1000110, 10001110, 10000010), (10001000, 10001011)
Pola modulus 3
• Bilangan outputnya 2:
• 2= 10, 5 = 101, 8=1000, 11=1011, 14=1110, 17=10001, 20=10100, 23=10111, 26=11010, 29=11101,
32=100000, 35=100011, 38=100110, 41=101001, 44=101100, 47=101111, 50=110010, 53=110101,
56=111000, 59=111011, 62=111110, 65=1000001, 68=1000100, 71= 1000111, 74=1001010, 77=1001101,
80=1010000, 83=1010011, 86=1010110, 89=1011001, 92=1011100, 95=1011111, 98=1100010,
101=1100101, 104=1101000, 107=1101011, 110=1101110, 113=1110001, 116=1110100, 119=1110111,
122=1111010, 125=1111101, 128=10000000, 131=10000011, 134=10000110, 137=10001001,
140=10001100, 143=10001111, 146=10010010, 149=10010101, 152=10011000, 155=10011011,
158=10011110, 161=10100001, 164=10100100, 167=10100111, 170=10101010, 173=10101101
• Pola 1 = 10, (1000, 100000, 10000000), (101, 10001, 1000001,1011, 10111, 101111, 1011111, 100011,
1000111, 10001111, 10000011), (10100 , 101100, 1011100, 1010000, 1000100, 10001100, 1110100),
(101001, 10100001, 1011001, 1010011, 10100111, 10001001), (10100100), (1010110, 10101010,
10101101), (1110, 111110), (11101, 111011, 1110111, 1111101, 1110001)
• Pola 2 = 100110, (10011110), (10011000), (1001010, 10010010), (1001101, 10011011, 10010101),
(10000110)
• Pola 3. = 11010, (110010, 1100010, 1101110), (110101,1100101, 1101011), (1111010), (1101000)
ER modulus 3
• Pola untuk bilangan outputnya 0:
• Pola 1 = 11, (1111,111111), (110, 1100, 11000, 110000, 1100000, 11011, 110011, 1100011,
110110, 1101100, 1100110, 1101111), (11110, 111100, 1111000, 1111011, 1111110)
• Pola 2 = 1001, (100001, 10000001), (10010, 100100, 1001000, 10010000, 1000010,
10000100), (100111, 10000111), (1001011, 10010011), (1001110, 10010110,), (111001,
1110010, 1101001)
• Pola 3 = 10101, (101010, 1010100), (101101, 1011101, 1011010), (1010111), (1010001),
(1000101, 10001010, 10001101), 1110101
• Tahap pembentukan ER:
• (11) maka Ekepresi Reguler untuk
• (110*)+
• (1(00)*10*)+
bilangan mod 3 = 0:
• (1(01*0)*10*)+ L((1(01*0)*10*)+)
ER modulus 3
• Pola untuk bilangan outputnya 1:
• Pola 1 = 1, (111, 11111, 1111111), (11100, 1111100, 1110000, 1110011, 111010, 1101010,
1110110), (1101, 11001, 110001, 1100001, 110100, 1100100, 110111, 1100111, 111101, 1111001,
1101101)
• Pola 2 = 100, (10000, 1000000, 1000011), (10011, 1001111, 1001100), (100101, 10000101,
1001001, 10010111, 10010100, 10010001), (1010, 10110, 101110, 1011110, 101000, 1011000,
1010010), (101011, 1011011, 1010101), (100010, 1000110, 10001110, 10000010), (10001000,
10001011)
• Tahap pembentukan ER:
• 1
• 1(11)* maka Ekepresi Reguler untuk


1(10*1)*
1(00)* + (10*1)*
bilangan mod 3 = 1:
• 1((01*0) + (10*1))* L(1((01*0) + (10*1))*)
ER modulus 3
• Pola untuk bilangan outputnya 2:
• Pola 1 = 10, (1000, 100000, 10000000), (101, 10001, 1000001,1011, 10111, 101111, 1011111, 100011,
1000111, 10001111, 10000011), (10100 , 101100, 1011100, 1010000, 1000100, 10001100, 1110100), (101001,
10100001, 1011001, 1010011, 10100111, 10001001), (10100100), (1010110, 10101010, 10101101), (1110,
111110), (11101, 111011, 1110111, 1111101, 1110001)
• Pola 2 = 100110, (10011110), (10011000), (1001010, 10010010), (1001101, 10011011, 10010101),
(10000110)
• Pola 3. = 11010, (110010, 1100010, 1101110), (110101,1100101, 1101011), (1111010), (1101000)
• Tahap pembentukan ER:
• (10)
• (10(00)*) maka Ekepresi Reguler untuk
• (10(00)*1*) bilangan mod 3 = 2:
• (10((00) + 1)*)
• (10(((0(11)*0) + 1)* ) L((11 + 0)*10(((1*0(10*1)*0) + 1)* )
• (10(((1*0(10*1)*0) + 1)* )
• ((11)*10(((1*0(10*1)*0) + 1)* )
• ((11 + 0)*10(((1*0(10*1)*0) + 1)* )
Konversi ER ke FSA
• Bilangan outputnya 0, tahapnya: • Bilangan outputnya 2, tahapnya:
• (11) • (10)
• (110*)+ • (10(00)*)
• (1(00)*10*)+ • (10(00)*1*)
• (1(01*0)*10*)+ • (10((00) + 1)*)
 L((1(01*0)*10*)+) • (10(((0(11)*0) + 1)* )
• Bilangan outputnya 1, tahapnya: • (10(((1*0(10*1)*0) + 1)* )
• 1 • ((11)*10(((1*0(10*1)*0) + 1)* )
• 1(11)* • ((11 + 0)*10(((1*0(10*1)*0) + 1)* )
• 1(10*1)*  L((11 + 0)*10(((1*0(10*1)*0) + 1)* )
• 1(00)* + (10*1)* 0
1
• 1((01*0) + (10*1))*
1 0
 L(1((01*0) + (10*1))*)
Q0/0 1 Q1/1 0 Q2/2
Contoh 3 : Mesin Mealy
• Mesin Mealy untuk memeriksa bilangan ganjil
• Definisi formal:
• Q = {Q1, Q2} Fungsi transisi (δ):
• Σ = {0, 1} 0 1
• S = Q1 Q1 Q1 Q2
•  = {Ganjil, Genap} Q2 Q1 Q2
• Fungsi output:
•  (Q1, 0) = Genap Diagram state:
•  (Q1, 1) = Ganjil 0/Genap
•  (Q2, 0) = Genap 1/Ganjil
1/Ganjil
•  (Q2, 1) = Ganjil Q1 Q2
0/Genap
Contoh 4 : Mesin Mealy
• Mesin Mealy untuk modulus 3
• Definisi formal:
• Q = {Q1, Q2, Q3} Fungsi transisi (δ):
• Σ = {0, 1}
• S = Q1 0 1
•  = {0, 1, 2} Q1 Q1 Q2
• Fungsi output: Q2 Q3 Q1
•  (Q1, 0) = 0 Q3 Q2 Q3
•  (Q1, 1) = 1
•  (Q2, 0) = 2 Diagram state:
0/0
•  (Q2, 1) = 0 1/2
•  (Q3, 0) = 1 1/1 0/2
•  (Q3, 1) = 2 Q1 1/0 Q2 0/1 Q3
Kesimpulan:
• Langkah pertama untuk membuat FSA transducer adalah menentukan
kemunginan output untuk permasalahan tersebut.
• Secara umum untuk kasus modulus kemungkinan outputnya adalah 0 sampai n-1,dimana n
nya adalah bilangan pembaginya.
• Langkah ke-2 adalah menentukan fungsi outputnya.
• pada mesin moore outputnya berkorelasi dengan state
• pada mesin mealy outputnya berkorelasi dengan transisi.
• Langkah ke-3 menentukan fungsi transisinya berdasarkan pola dari
permasalahannya dengan menggambarkan FSDnya.
• minimum jumlah statenya sama dengan jumlah outputnya
• pada umumnya jumlah state pada FSD transducer sama dengan jumlah outputnya.
• Langkah terakhir menentukan definisi formal dari FSAnya
Latihan
• Buat mesin Moore dan mesin Mealy untuk modulus 4!
Wassalammu’alaikum warahmatullahi
wabarakatuh …

Anda mungkin juga menyukai