Anda di halaman 1dari 8

2FINITE STATE AUTOMATA (FSA)

2.1 Pendahuluan
Finite state automata (otomata berhingga) selanjutnya disebut dengan FSA, bukanlah
mesin fisik melainkan suatu model matematika dari suatu system yang menerima input dan
mengeluarkan output diskrit. FSA merupakan mesin otomata dari bahasa regular. FSA memiliki
state yang jumlahnya berhingga, dan dapat berpindah-pindah dari satu state ke state yang lain.
Pada bab ini akan dibahas tentang deterministic FSA disingkat dengan DFA.

2.2 Tujuan Khusus


Setelah mempelajari bab ini mahasiswa diharapkan mampu:
1. Menyebutkan defenisi Finite state automata
2. Menyebutkan perbedaan jenis Deterministic Finite Automata dan Non-deterministic
Finite Automata
3. Menggambarkan model mesin DFA

2.3 Penerapan Finite State Otomata


FSA adalah model matematika yang dapat menerima input dan mengeluarkan output
dengan besaran diskrit. FSA memiliki state yang berhingga banyaknya dan dapat berpindah dari
satu state ke state lainnya berdasar input dan fungsi transisi. FSA tidak memiliki tempat
penyimpanan/memory, hanya bisa mengingat state terkini. Mekanisme kerja dapat diaplikasikan
pada : elevator, text editor, analisa leksikal, parity cecker.
Contoh:
Sebuah sistem dengan odd parity cecker (pencek parity ganjil), dimana pengirim akan
menambahkan bit paritas pada data agar jumlah bit 1 menjadi ganjil, apabila jumlah bit 1
sudah ganjil, system akan menambahkan bit 0. FSA system tersebut dapat diterangkan sebagai
berikut:
0 0

Genap 1 Ganjil

Gambar 2.1 Mesin otomata untuk pencek parity ganjil


Gambar 2.1 di atas biasa disebut sebagai graph transisi, atau diagram transisi, atau diagram
keadaan, atau diagram state. Gambar tersebut dapat diterangkan sebagai berikut:
1. Lingkaran dengan tanda panah masuk/busur di sebelah kiri menandakan state awal.
2. Lingkaran menandakan kedudukan/ state
3. Label pada lingkaran (Genap, Ganjil) adalah nama state tersebut
4. Busur menyatakan transisi/perpindahan dari satu kedudukan ke kedudukan yang lain.
5. Label pada busur (0 dan 1) adalah symbol input.
6. Lingkaran ganda menyatakan state akhir.

Pada gambar 2.1 juga dapat kita lihat bahwa state awal berada pada state Genap. Karena
mesin FSA ini adalah mesin pencek parity ganjil, maka himpunan state akhir yang menyatakan
input diterima adalah state Ganjil. Simbol input yang diberikan hanya ada dua yaitu 0 dan 1.
Sebagai contoh apabila mesin FSA tersebut menerima input : 1101, maka urutan transisi
state yang terjadi adalah sebagai berikut:
Pertama dari state awal Genap mendapat input 1 menuju ke state Ganjil. Dari state ganjil
mendapat input 1 menuju ke state Genap, selanjutnya mendapat input 0 menuju state Genap, dan
terakhir mendapat input 1 menuju ke state Ganjil. Karena state berakhir pada state Ganjil, maka
dapat disimpulkan bahwa input diterima mesin.
Misal input : 1100
Genap 1 Ganjil 1 Genap 0 Genap 0 Genap
ditolak mesin
Defenisi 1. Finite State Automata dinyatakan oleh 5 tuple
M=(Q , , , S , F )
Q = himpunan state
= himpunan simbol input
= fungsi transisi : Q
S = state awal / initial state , S Q
F = state akhir, F Q
Contoh:
Q = {Genap, Ganjil}
= {0,1}
S = Genap
F = {Ganjil }

0 1
Genap Genap Ganjil
Ganjil Ganjil Genap
atau
(Genap,0) = Genap
(Genap,1) = Ganjil
(Ganjil,0) = Ganjil
(Ganjil,1) = Genap

Jenis FSA
Deterministic Finite Automata (DFA) : dari suatu state ada tepat satu state berikutnya untuk
setiap simbol masukan yang diterima
Non-deterministic Finite Automata (NFA) : dari suatu state ada 0, 1 atau lebih state berikutnya
untuk setiap simbol masukan yang diterima
2.4 Deterministic Finite Automata
Deterministic Finite Automata (DFA), adalah sebuah model yang digambarkan dalam
diagram state, dimana untuk suatu state ada tepat satu state yang dituju untuk setiap sismbol
masukan yang diterima.

Contoh:
Pada pengujian parity ganjil, seperti yang terlihat pada gambar 2.1, dimana dari state Genap
apabila mendapat input 1, maka state menuju ke state Ganjil, dan apabila mendapat input 0
state akan tetap pada state Genap. Artinya tidak ada dua tanda panah yang dituju apabila
mendapat input baik input 1 maupun input 0. Demikian pula dari state Ganjil apabila
mendapat input 1 akan menuju ke satu state yaitu ke state Genap dan apabila mendapat input
0 kembali ke state Ganjil.
Contoh lain : Pengujian untuk menerima bit string dengan banyaknya 0 genap, serta
banyaknya 1 genap.
0011 : diterima.
10010 : ditolak, karena banyaknya 0 ganjil
Diagram state-nya seperti pada gambar 2.2 di bawah ini.

start q 0
1 q 1

0 0 0 0

q 2
1 q 3

1
Gambar 2.2 Diagram State Penerima bit string dengan jumlah genap
DFA nya
Q = {q0 , q1 , q2 , q3 }
= {0,1}
S = q0
F = { q0}

Table fungsi transisi


0 1
q0 q2 q1
q1 q3 q0
q2 q0 q3
q3 q1 q2
( q0,011)= ( q2,11) =( q3,1)= q2 Ditolak
( q0,1010)= ( q1,010) =( q3,10)=( q2,0)= q0 Diterima
Contoh lain DFA : Variabel dalam bahasa pascal diawali oleh huruf (besar/kecil), dan
diikuti dengan huruf atau angka.

A..Z,a..z,0..9
q0 q1
start q 0 A..Z,a..z q 0

0..9 A..Z,a..z,0..9
q2
q 0

Gambar 2.3 Diagram state untuk penulisan yang diawali dengan huruf besar/kecil dan diikuti
dengan huruf atau angka.
Contoh DFA lainnya :

0 1 0,1

q 0 1 q 1 0 q 2

Gambar 2.4 Contoh Mesin DFA

DFA nya
Q = {q0 , q1 , q2 }
= {0,1}
S = q0
F = { q0, q1}
Table fungsi transisi
0 1
q0 q0 q1
q1 q2 q1
q2 q2 q2

Misalnya mesin DFA mendapat input 011, maka dapat dituliskan:

( q0,011) = ( q0,11) = ( q1,1) = q1

Dari state awal q0, jika mendapat input 0, state kembali ke q0, kemudian mendapat input 1, dari
state q0 menuju ke state q1, dan selanjutnya dari state q1 mendapat input 1 kembali ke state q1.
Karena q1 adalah state final atau akhir, maka string 011dikatakan diterima.
Misalnya mesin DFA mendapat input 1010, maka dapat dituliskan:

( q0,1010) = ( q1,010) = ( q2,10) = ( q2,0) = q2

Karena state q2 bukan merupakan state akhir, maka dapat dikatakan string 1010 ditolak karena
berakhir pada state yang bukan state Final. State final adalah state yang digambarkan dengan
garis lingkaran ganda.

2.5 Rangkuman
Deterministic Finite Automata (DFA) terdiri dari 5 (lima) tuple, yaitu himpunan kedudukan/state
(Q), himpunan symbol input (), fungsi transisi (), state awal (S), dan himpunan state akhir/finis
(F). Deterministic Finite Automata (DFA), adalah sebuah model yang digambarkan dalam
diagram state, dimana untuk suatu state ada tepat satu state yang dituju untuk setiap simbol
masukan yang diterima. Sebuah mesin otomata dikatakan dapat menerima suatu bahasa apabila
bahasa tersebut berakhir pada state finis, dan sebaliknya tidak diterima apabila tidak berakhir di
state finis.

2.6 Latihan
1. Gambarkan diagram transisi dari DFA berikut:
Q = {q0 , q1 , q2 }
= {0,1}
S = q0
F = { q0, q1}

Table fungsi transisi


0 1
q0 q0 q1
q1 q1 q2
q2 q0 q2

2. Gambarkan table fungsi transisi mesin DFA di bawah ini

10

start q 0
10 q 1

0 01 0 01

q 2 1 q 3

1
3. Bila L(M) adalah bahasa yang diterima oleh mesin DFA pada soal no. 1, tentukan apakah
string berikut termasuk L(M):
a. 11001100
b. 00101010
c. 11111111111
d. 0000000000
e. 101010101010
f. 011101110110
4. Bila L(M) adalah bahasa yang diterima oleh mesin DFA pada soal no. 2, tentukan apakah
string berikut termasuk L(M):
a. 11001100
b. 00101010
c. 11111111111
d. 0000000000
e. 101010101010
f. 011101110110

Anda mungkin juga menyukai