Anda di halaman 1dari 9

BAB 11

FINITE-STATE MACHINE AND AUTOMATA

11.1 FINITE STATE MACHINE


Finite State Machine adalah suatu model abstrak dari suatu sistem yang terdiri dari enam
buah paramater sebagai berikut :

1. Sebuah himpunan input simbol yang berhingga dilambangkan dengan 𝐼


2. Sebuah himpunan output simbol yang berhingga dilambangkan dengan 𝑂
3. Sebuah himpunan state simbol yang berhingga dilambangkan dengan 𝑆
4. Sebuah fungsi next state yang dilambangkan dengan 𝑓: 𝑆 × 𝐼 → 𝑆
5. Sebuah fungsi output yang dilambangkan dengan 𝑔 ∶ 𝑆 × 𝐼 → 𝑂
6. Sebuah state awal yang dilambangkan dengan 𝜎 𝜖 𝑆

Suatu finite state mechine dilambangkan dengan 𝑀 = (𝐼, 𝑂, 𝑆, 𝑓, 𝑔, 𝜎)

Contoh 11.1 :
Misalkan I  {a, b} , O  {0,1} , S  {s0 , s1} dengan fungsi f dan g nya diperlihatkan pada
Tabel 11.1
Tabel 11.1 : Tabel Keadaan Contoh 12.1
f : SxI  S g : SxI  O
S
a b a b
s0 s0 s1 0 1
s1 s1 s1 1 0

Mesin ini menggambarkan suatu sistem yang terdiri dari dua buah input a atau b yang
mungkin menghasilkan dua buah output 0 atau 1. Sistem terdiri dari dua states atau keadaan
yaitu keadaan s 0 atau s1 . Jika pada keadaan s 0 diberikan input a maka akan menghasilkan
keadaan s 0 dan menghasilkan keluaran 0, tetapi jika diberikan input b maka akan menjadi
keadaan s1 dan menghasilkan keluaran 1. Lain halnya Jika pada keadaan s1 diberikan
input a ataupun b maka akan menghasilkan keadaan s1 dan menghasilkan keluaran 1 jika
diberikan input a dan keluaran 0 jika diberikan input b. Tabel 11.1 bisa juga dinyatakan
dalam bentuk lain yaitu dalam bentuk diagram transisi keadaan atau state transition diagram
yang diperlihatkan pada gambar 11.1 berikut

Gambar 11.1: State Diagram Contoh 11.1

Finite State Machine 125


Jika pada contoh 11.1 diberikan input string aababba dengan keadaan awal adalah s 0 maka
keluaran dari mesin berupa string juga yaitu 0011001. Sehingga secara umum dapat
dinyatakan :

Jika M  ( I , O, S , f , g ,  ) diberikan input string   x1 x2 x3 ...xn maka akan menghasilkan


keluaran yang berkorenspondensi dengan input string itu   y1 y 2 y3 ... y n jika diketahui
 0 1 2 3 ... n  S dimana  0   ,  i  f ( i 1 , xi ) dan yi  g ( i 1 , xi )

Contoh 11.2 :
Diberikan Tabel Keadaan pada Tabel 11.2, tentukanlah state transition diagram dan
keluarannya jika diberikan input 101011.

Tabel 11.2 : Tabel Keadaan Contoh 11.2


f : SxI  S g : SxI  O
S
0 1 0 1
s0 s1 s3 1 0
s1 s1 s2 1 1
s2 s3 s4 0 0
s3 s1 s0 0 0
s4 s3 s4 0 0

Gambar 11.2 : State Transition Diagram Contoh 11.2

Maka keluarannya adalah 001000 dengan urutan keadannya adalah s0 s3 s1 s 2 s3 s0

Contoh 11.3 :
Gambarkanlah state transition diagram pada proses penjumlahan serial dua buah
bilangan biner yang panjangnya masing-masing adalah n digit.

Diberikan   xn xn1 xn2 ...x1 dan   y n y n1 y n2 ...y1 dimana xi  {0,1} dan yi  {0,1} maka
akan dihasilkan   z n1 z n z n1 z n2 z n3 ...z1 dimana z i  {0,1} , zi  ci 1  xi  yi , ci  {0,1}
adalah carry dari penjumlahan xi  yi . Jika state awal, c0  0 , dilambangkan dengan NC
dan state c0  1 dilambangkan dengan C maka tabel keadaannya diperlihatkan pada Tabel
11.3 dan state diagram digambarkan pada Gambar 11.3.

Finite State Machine 126


Tabel 11.3 : Tabel keadaan contoh 11.3
f : SxI  S g : SxI  O
S
00 01 10 11 00 01 10 11
NC NC NC NC C 0 1 1 0
C NC C C C 1 0 0 1

Gambar 11.3 : State Transition Diagram untuk Contoh 11.3

Contoh 11.4 :
Gambarkanlah state transition diagram pada proses penerimaan sebuah string biner yang
panjangnya n digit. Jika sedikitnya ada tiga buah bit “1” yang berurutan maka sistem
akan mengeluarkan output 1 yang berarti string error. Jika tidak maka string diterima
dengan memberikan keluaran 0.

Sistem M  ( I , O, S , f , g , s0 ) dimana I  {0,1} , O  {0,1} , S  {s0 , s1 , s2 } dengan


f : SxI  S dan g : SxI  O diperlihatkan pada Tabel Keadaan 11.4 dan state diagram pada
Gambar 11.4.
Tabel 11.4 : Tabel Keadaan Contoh 11.4
f : SxI  S g : SxI  O
S
0 1 0 1
s0 s0 s1 0 0
s1 s0 s2 0 0
s2 s0 s3 0 1
s3 s3 s3 1 1

Gambar 11.4 : State Transition Diagram untuk contoh 11.4

Finite State Machine 127


11.2 FINITE STATE AUTOMATA
Finite state automata adalah bentuk khusus dari finite state machine. Finite state automata
adalah Finite state machine yang mana ouput bersimbol {0,1} dan state sekarang
menentukan nilai keluarannya. Semua state yang nilai keluarannya adalah 1 adalah accepting
state, keadaan yang diterima dilambangkan dengan dua lingkaran yang konsentris.

Perhatikan Finite state machine yang dinyatakan pada Tabel 11.5 yang transisi diagramnya
digambarkan pada Gambar 11.5

Tabel 11.5 : Tabel Keadaan Finite State Automata


f : SxI  S g : SxI  O
S
a b a b
s0 s1 s0 1 0
s1 s2 s0 1 0
s2 s2 s0 1 0

Gambar 11.5 : State Transition Diagram untuk Tabel 11.5

Dari state transition diagram terlihat bahwa keadaan sekarang di s 0 maka keluaran pastilah
0 sedangkan pada keadaan sekarang di s1 ataupun s 2 selalu keluaran adalah 1. Karena
keadaan sekarang menentukan nilai keluarannya maka finite state machine ini dapat disebut
sebagai finite state automata. Penggambaran state diagram disederhanakan tanpa
menyertakan nilai kelurannya lagi dan accepting state digambarkan dengan dua lingkaran
seperti yang diperlihatkan pada Gambar 11.6

Gambar 11.6 : State Transition Diagram dari Finite State Automata Tabel 11.5

Suatu finite state automata dapat dinyatakan dengan A  ( I , S , f , ,  ) dimana   S yang


adalah accepting state dengan state awal   S .

Finite State Machine 128


Contoh 11.5 :
Ubahlah state transistion diagram dari finite state automata gambar 11.7a ke state
transition diagram dari finite state machine nya.

Gambar 11.7a : STD Finite State Automata Gambar 11.7b : STD Finite State Machine

Contoh 11.6
Diketahui A  ( I , S , f , ,  ) , I  {a, b}, S  {s0 , s1, s2},  {s2},  s0 dan Tabel
keadannya diperlihatkan pada Tabel 11.6, tentukanlah state transition diagram nya

Tabel 11:6 : Tabel Keadaan Contoh 11.6


S f
a b
s0 s0 s1
s1 s0 s2
s2 s0 s2
Gambar 11.8 : State Transition Diagram untuk Contoh 11.6

Jika input string   x1 x2 x3 ...xn diberikan kepada A  ( I , S , f , ,  ) maka keluaran akan


berakhir ke salah satu keadaan dan itu menentukan apakah string   x1 x2 x3 ...xn dapat
diterima atau tidak. Jika ia berakhir pada accepting state maka string   x1 x2 x3 ...xn
diterima. Jika   abaa diberikan pada finite state automata sesuai Tabel 11.5 maka akan
berakhir pada accepting state,  2 maka   abaa diterima. Tetapi jika   abbabba
diberikan ke gambar 12.7a maka  tidak diterima. Suatu string  diterima oleh finite state
automata A ditulis Ac(A)

Contoh 11.7
Rancangah suatu finite state automata yang hanya menerima input string yang tidak
mengandung a dari string yang mengandung {a,b}. Perancangan finite state automata
diperlihatkan pada gambar 11.9.

Finite State Machine 129


Gambar 11.9 : Finite state automata contoh 11.7

Keadaan NA adalah keadaan awal yang sekaligus keadaan yang diterima sedangkan keadaan
A adalah keadaan yang menerima string yang mengandung a.

Contoh 11.8
Rancangah suatu finite state automata yang hanya menerima input string yang hanya
mengandung a sebanyak ganjil dari string yang mengandung {a,b}. Perancangan finite
state automata diperlihatkan pada gambar 11.10.

Gambar 11.10 : Finite state automata contoh 11.8

Keadaan E adalah keadaan awal yang sekaligus keadaan yang menerima string yang
megandung a genap sedangkan O keadaan yang menerima string yang mengandung a ganjil.

Finite state automata A dan A’ adalah ekivalen apabila A dan A’ menerima secara tepat atas
suatu string yang sama atau Ac(A)=Ac(A’). Gambar 11.11 adalah finite state automata yang
ekivalen dengan Gambar 11.9

Gambar 11.11 : Finite state automata yang ekivalen dengan Gambar 11.9

Finite State Machine 130


11.3 Latihan Bab 11
1. Gambarkan state diagram yang sesuai dengan tabel keadaan berikut.
a. M  ( I , O, S , f , g ,  0 ) , I  {a, b}, O  {0,1}, S  { 0 ,  1}
f : SxI  S g : SxI  O
S
a b a b
0 1 1 1 1
1 0 1 0 1
Jika diberikan input   abba tentukan keluarannya.

b. M  ( I , O, S , f , g ,  0 ) , I  {a, b}, O  {0,1}, S  { 0 ,  1}


f : SxI  S g : SxI  O
S
a b a b
0 1 0 0 0
1 0 0 1 1
Jika diberikan input   abba tentukan keluarannya.

c. M  ( I , O, S , f , g ,  0 ) , I  {a, b}, O  {0,1}, S  { 0 ,  1 ,  2 }


f : SxI  S g : SxI  O
S
a b a b
0 1 1 0 1
1 2 1 1 1
2 0 0 0 0
Jika diberikan input   aabbaba tentukan keluarannya.

d. M  ( I , O, S , f , g ,  0 ) , I  {a, b, c}, O  {0,1}, S  { 0 ,  1 ,  2 }


f : SxI  S g : SxI  O
S
a b c a b c
0 0 1 2 0 1 0
1 1 1 0 1 1 1
2 2 1 0 1 0 0
Jika diberikan input   aabbcc tentukan keluarannya.

e. M  ( I , O, S , f , g ,  0 ) , I  {a, b, c}, O  {0,1,2}, S  { 0 ,  1 ,  2 ,  3 }


f : SxI  S g : SxI  O
S
a b c a b c
0 1  0 2 1 1 2
1 0 2 2 2 0 0
2 3 3 0 1 0 1
3 1 1 0 2 0 2

Finite State Machine 131


2. Buatlah state diagram untuk sistem berikut ini jika inputnya adalah suatu string biner
yang terdiri dari n digit.
a. Output benilai 1 jika digit “1” input berjumlah genap selain itu output bernilai 0.
b. Output benilai 1 jika digit “1” input kelipatan 3 selain itu output bernilai 0.
c. Output benilai 1 jika string “101” ada pada input selain itu output bernilai 0.

3. Sebuah Vending machine dapat menerima uang lima ratusan, ribuan dan dua ribuan.
Vending machine itu dapat mengeluarkan minuman A atau minuman B yang masing-
masing berharga Rp.3000. Jika vending machine itu menerima uang deposit lebih dari
Rp. 3000 secara otomatis melakukan pengambalian hingga terdeposit Rp. 3000.
Tombol A untuk mengeluarkan minuman A dan Tombol B untuk mengeluarkan
minuman B. Buatlah state diagram untuk menggambarkan proses yang terjadi pada
vending machine ini. Jelaskan simbol-simbol yang digunakan.

4. Tentukan tabel transisi keadaan dari gambar state transition diagram berikut :
a.

b. c.

d. e.

Finite State Machine 132


5. Perlihatkan apakah finite state machine berikut adalah finite state automata jika benar
gambarkanlah finite state automatanya.
a. b.

c.

6. Gambarkanlah finite state machine dari finite state automata berikut :


a. b.

c.

7. Gambarkanlah finite state automata yang hanya menerima string yang mengandung
{a,b} dan hanya menerima kondisi string berikut ini :
a. Tepat satu b
b. Sedikitnya satu b
c. Mengandung a yang merupakan bilangan kelipatan 3
d. Setiap b kemudian diikuti dengan a
e. Mengandung abba
f. Diakhiri dengan aba
g. Dimulai dengan baa dan diakhiri dengan baa

Finite State Machine 133

Anda mungkin juga menyukai