Finite State Automata 1 Penerapan Finite State Automata
8
1101 urutan state yang terjadi
EVEN 1 ODD 1 EVEN 0 EVEN 1 ODD
Berakhir dengan state ODD sehingga “1101” diterima oleh mesin Bila mesin mendapatkan input:
101 urutan state yang terjadi
EVEN 1 ODD 0 ODD 1 EVEN
Berakhir dengan state EVEN maka “101” ditolak oleh mesin. Meskipun pada contoh diatas state akhirnya hanya satu, pada umumnya
bisa terdapat sejumlah state akhir. Istilah state akhir tidak berarti komputasi disini berupa perpindahantransisi berhenti halt begitu state akhir tercapai. State akhir
hanya menyatakan kedudukan-kedudukan tertentu sebagai kedudukan-kedudukan yang diterima.
Secara formal finite state automata dinyatakan oleh 5 tupel atau M=Q,
Σ,δ,S,F, dimana: Q = himpunan statekedudukan
Σ = himpunan simbol inputmasukanabjad δ = fungsi transisi
S = state awalkesusukan awal, S ∈Q
F = himpunan state akhir F adalah jumlah state akhir, jadi jumlah state akhir pada suatu finite state
automata bisa lebih dari satu. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Maka contoh diatas bisa dinyatakan sebagai berikut: Q = {ODD,EVEN}
Σ = {0,1} S = EVEN
F = {ODD} Finite state automata berdasarkan pada pendefinisian kemampuan
berubah state-statenya bisa dikelompokkan ke dalam deterministik maupun non deterministik,.
A.2 Deterministic Finite State Automata
Pada otomata berhingga deterministik Deterministic Finite Automata, selanjutnya disebut dengan DFA, dari suatu state ada tepat satu state berikutnya
untuk setiap simbol masukan yang diterima. Sebagai contoh, misal ada otomata seperti pada gambar berikut ini:
a a b b b
a q
1
q
2
q
gambar 2.1 mesin DFA Konfigurasi Deterministic Finite State Automata di atas secara formal
dinyatakan sebagai berikut: Q = {q
,q
1
,q
2
} Σ = {a,b}
S = q F = {q
2
} PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Fungsi transisi yang ada sebagai berikut: δq
,a = q δq
,b = q
1
δq
1
,a = q
1
δq
1
,b = q
2
δq
2
,a = q
1
δq
2
,b = q
2
Biasanya fungsi-fungsi transisi ini disajikan dalam sebuah tabel transisi. Tabel transisi tersebut menunjukkan state-state berikutnya untuk kombinasi state-
state dan input. Tabel transisi dari fungsi transisi diatas sebagai berikut:
δ a b
q q
q
1
q
1
q
1
q
2
q
2
q
1
q
2
Tabel 1.1
Pada tabel transisi Deterministic Finite Automata diatas, nampak bahwa sebuah state berikutnya yang unik untuk setiap pasangan state-input. Jadi untuk
sebuah state dan input yang berlaku, bisa ditentukan tepat satu state berikutnya. Pada Deterministic Finite Automata,
δ merupakan sebuah fungsi yang harus terdefinisi untuk semua pasangan state-input yang ada dalam Q X
Σ. Sehingga apapun state saat itu atau inputnya, selalu terdapat satu dan hanya satu state
11
berikutnya. State berikutnya itu ditentukan oleh informasi yang ada di dalam pasangan state-input.
Suatu string x dinyatakan diterima bila δS,x berada pada state akhir.
Biasanya secara formal dikatakan bila M adalah sebuah finite state automata, M=Q,
Σ, δ, S, F, menerima bahasa yang disebut LM, yang merupakan himpunan {x
⏐δS,x didalam F}. Misal pada contoh gambar 2.1 diberi input string ‘abb’ pada mesin
tersebut. Maka : δq
,abb= δq
,bb= δq
1
,b= q
2
karena q
2
termasuk state akhir, maka ‘abb’ berada dalam LM misal pada ontoh gambar 2.1 di beri input string ‘baba’ pada mesin tersebut,
maka: δq
,baba= δq
1
,aba = δq
1
,ba= δq
1
,a = q
1
karena q
1
tidak termasuk state akhir, maka ‘baba’ tidak berada dalam LM. Contoh lain, misal terdapat gambar mesin DFA sebagai berikut:
a,b a
b q
q
1
tabel transisi dari gambar 2.2 adalah : δ
a b q
q
1
q
1
q
1
q
1
q Tabel
1.2 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Jadi dari suatu gambar diagram transisi dapat dibuat tabel transisinya. Sebaliknya dapat pula digambar diagram transisi suatu Deterministic Finite
Automata bila diketahuai tabel transisinya. Contoh terdapat tabel transisi:
δ a b
q q
q
1
q
1
q q
Tabel 1.3 Dengan S = q
F = {q
1
} Maka diagram transisinya dapat dilihat pada gambar 2.3 berikut ini:
a b
a,b q
q
1
gambar 2.3
A.3 Non Deterministic Finite State Automata
Pada Non-deterministic Finite Automata NFA dari suatu state bisa terdapat 0,1, atau lebih busur keluar transisi berlabel simbol input yang sama.
Non-deterministic Finite Automata didefinisikan pula dengan lima tupel M = Q, Σ, δ, S, F, dengan arti yang serupa pada Deterministic Finite Automata.
Perbedaannya terletak pada fungsi transisinya, dimana untuk setiap pasangan state-input, bisa memiliki nol atau lebih pilihan untuk state berikutnya.
13
Contoh: a,b
a,b a
gambar 2.4 mesin otomata NFA q
q
1
Dari gambar 2.4, dari state q terdapat dua busur keluar yang berlabel
input ‘a’. Dari state q bila mendapat input ‘a’ bisa berpindah ke state q
atau q
1
, yang secara formal dinyatakan:
δq ,a= {q
,q
1
}
maka otomata ini disebut non-deterministik tidak pasti arahnya. Tabel transisinya sebagai berikut:
δ a b
q {q
,q
1
} {q
1
} q
1
{q
1
} {q
1
} Tabel
2.1 Perlu diperhatikan bahwa cara penulisan state hasil transisi pada tabel transisi
untuk Non-deterministic Finite State Automata digunakan kurung kurawal ‘{‘ dan ‘}’, karena hasil transisinya merupakan suatu himpunan state.
Suatu string diterima oleh Non-Deterministic Finite Automata bila terdapat suatu urutan sehubungan dengan input string tersebut dari state awal
menuju state akhir. Misalkan saja LM adalah bahasa yang diterima oleh Non- PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Deterministic Finite Automata pada gambar 2.4. Tentukan apakah string ‘ab’ termasuk dalam LM? Untuk Non-Deterministic Finite Automata harus mencoba
semua kemungkinan yang ada sampai terdapat satu yang mencapai state akhir. Dalam contoh diatas, urutan transisi yang mencapai state akhir:
δq ,ab =
δq
1
,b = q
1
Jadi untuk membuktikan suatu string diterima oleh Non-Deterministic Finite Automata tersebut dibuktikan dulu suatu urutan transisi yang menuju state
akhir . Contoh lain, misal terdapat gambar 3.2 mesin NFA:
b a a
q q1
gambar 3.2 Terlihat tidak ada busur keluar dari state q
1
untuk simbol input ‘b’ atau secara formal dinyatakan:
δq
1
,b = φ
15
tabel transisinya sebagai berikut:
Tabel 2.2