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.
Genap 1 Ganjil
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}
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
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
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:
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}
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