15013 3 572012137097

1

DETERMINISTIC FINITE STATE AUTOMATA

3

DAN
NON DETERMINISTIC FINITE AUTOMATA

3.1 DETERMINISTIC FINITE AUTOMATA
Pada sebuah DFA dari suatu state ada tepat satu state berikutnya untuk setiap
symbol masukan yang diterima. Sebagai contoh kita memiliki sebuah automata pada
gambar 3.1 berikut :
a
a

b
b

q0


b

q1

q2
a

Gambar 3.1
Konfigurasi DFA diatas secara formal dinyatakan sebagai berikut :
Q = { q0, q1, q2 }
∑ = { a, b }
S = q0
F = { q2 }
Fungsi transisi yang ada sebagai berikut :
δ(q0,a) = q0
δ(q0,b) = q1
δ(q1,a) = q1
δ(q1,b) = q2
δ(q2,a) = q1
δ(q2,b) = q2

Fungsi sungsi tersebut bisa disajikan dalam table transisi berikut :
δ
q0
q1
q2

a
q0
q1
q1

b
q1
q2
q2

Perhatikan bahwa pada table transisi DFA diatas kita mempunyai sebuah state berikutnya
yang unik untuk setiap pasangan state-input. Jadi untuk sebuah state dan input yang
PUSAT PENGEMBANGAN BAHAN AJAR – UMB


Puji Catur Siswipraptini
S.Kom
Teori Bahasa Otomata

2

berlaku, kita bisa menentukan tepat satu state berikutnya. 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 L(M), yang
merupakan himpunan {xІ δ(S,x) didalam F}. Misal pada gambar 3.1 kita input-kan string
‘abb’ pada mesin tersebut, maka :
δ(q0,abb) = δ(q0, bb) = δ(q1, b) = q2
karena q2 termasuk di state akhir, maka ‘abb’ berada pada L(M).
Namun jika gambar 3.1 dimasukkan string ‘baba’ maka :
δ(q0, baba) = δ(q1, aba) = δ(q1, ba) = δ(q2, a) = q1
karena q1 tidak termasuk dalam state akhir, maka ‘baba’ tidak berada dalam L(M).
contoh lain pada gambar 3.2
1

0

1

q1

q0

q2

1

1

0

Gambar 3.2
Buat table transisinya…?

3.2 NON DETERMINISTIC FINITE AUTOMATA
Pada Non Deterministic Finite Automata (NFA) dari suatu state bisa terdapat 0, 1,
atau lebih busur keluar (transisi) berlabel symbol input yang sama. NFA didefinisikan pula

oleh 5 tupel M = (Q, δ, ∑, S, F) denngan arti yang sama pada DFA. Disini perbedaan ada
pada fungsi transisinya, dimana untuk setiap pasangan state-input, kita bisa memiliki 0 atau
lebih pilihan untuk state berikutnya. Contoh :
a
a

q0

q1

b

gambar 3.3

PUSAT PENGEMBANGAN BAHAN AJAR – UMB

Puji Catur Siswipraptini
S.Kom
Teori Bahasa Otomata


3

table transisi dari gambar 3.3 diatas adalah :


q0
q1

a
q1
q1

b

q0

Terlihat dari q0 tidak ada state berikutnya bila menerima input ‘b’ atau dinyatakan dengan 
Kita lihat contoh berikutnya :
a
b

a

q1

q0
b
a

b

q2

a

Gambar 3.4

Terlihat dari q0 bila menerima input ‘a’ maka akan
berpindah ke state q1 atau q2. Bila disajikan dalam
table transisi sebagai berikut :


q0
q1
q2

a
{q1, q2}
{q1}
{q2}

b
{q0}
{q0}
{q1}

3.3 EKIVALENSI ANTAR DFA
Misalkan terhadap 2 buah Deterministic Finite Automata, M1 dan M2, yang masing masing
menerima bahasa L(M1) dan L(M2). Jika L(M1) = L(M2) maka 2 DFA tersebut dikatakan
ekivalen. Sebagai contoh DFA M1 dan M2 memiliki diagram transisi seperti pada gambar 3.5
dan 3.6


PUSAT PENGEMBANGAN BAHAN AJAR – UMB

Puji Catur Siswipraptini
S.Kom
Teori Bahasa Otomata

4
a

a

q0

q1

Gambar 3.5 DFA M1
a

q0


q1

a

Gambar 3.6 DFA M2

3.4 REDUKSI JUMLAH STATE PADA FINITE STATE AUTOMATA
Untuk suatu bahasa regular kemungkinan ada sejumlah DFA yang dapat
menerimanya. Perbedaannya umumnya adalah pada jumlah state yang dimiliki oleh
otomata-otomata yang saling ekivalen tersebut.
Tentunya secara praktis FSA dengan jumlah state yang lebih sedikit merupakan FSA yang
paling efisien.
Untuk mendapatkan FSA yang efisien maka perlu dievaluasi dan direduksi jumlah
state dari FSA tersebut dengan tidak mengurangi kemampuan semula dalam menerima
suatu bahasa.
Setiap pasangan state didalam suatu FSA dapat dikelompokan atas :
 indistinguishable state
 distinguishable state
Distinguishable state adalah pasangan state yang dapat dibedakan, sedangkan
indistinguishable state adalah pasangan state yang tidak dapat dibedakan.

Untuk state-state yang indistinguishable pada prinsipnya dapat digabungkan menjadi satu
state. Reduksi jumlah state dapat dilakukan dengan pendekatan tersebut.

InDistinguishable State
Dua buah state p dan q dari sebuah FSA dikatakan indistinguishable jika :
δ (q, w)  F

begitu pula

δ (p, w)  F

PUSAT PENGEMBANGAN BAHAN AJAR – UMB

Puji Catur Siswipraptini
S.Kom
Teori Bahasa Otomata

5

dan
δ (q, w)  F

begitu pula δ (p, w)  F

untuk semua w  ∑*

Distinguishable State
Dua buah state p dan q dari sebuah FSA dikatakan distinguishable jika ada string w
 ∑* sedemikian sehingga :
δ (q, w)  F

sedangkan δ (p, w)  F

Relasi-relasi
Pasangan dua buah state memiliki salah satu kemungkinan : distinguishable atau
indistinguishable tetapi tidak kedua-duanya. Dalam hal ini terdapat sebuah relasi :
Jika

p dan q

indistinguishable,

dan

q dan r

juga indistinguishable

maka

p, q, dan r

indistinguishable

Dalam melakukan eveluasi state, didefinisikan suatu relasi :
Untuk Q adalah himpunan semua state
D adalah himpunan state-state distinguishable, dimana D  Q
N adalah himpunan state-state indistinguishable, dimana N  Q
maka x  N jika x  Q dan x  D

IMPLEMENTASI REDUKSI
Implementasi reduksi state dari suatu FSA dapat dilakukan sebagai berikut :
1. Hapuslah semua state tidak dapat dicapai dari state awal (useless state)
2. Indentifikasi state-state yang indistinguishable dan gabungkan
Secara lebih detil tahapan-tahapanya adalah sebagai berikut :
1. Hapuslah semua useless state
2. Buatlah semua pasangan state (p, q) yang distinguishable, dimana p  F dan q F.
Catat semua pasangan-pasangan state tersebut.
3. Untuk semua state lakukan pencarian state lainnya yang distinguishable dengan aturan:

PUSAT PENGEMBANGAN BAHAN AJAR – UMB

Puji Catur Siswipraptini
S.Kom
Teori Bahasa Otomata

6

“Untuk semua (p, q) dan semua a  ∑, hitunglah δ (p, a) = pa dan δ (q, a) = qa . Jika
pasangan (pa, qa) adalah pasangan state yang distinguishable maka pasangan (p, q)
juga termasuk pasangan yang distinguishable.
4. Semua pasangan state yang tidak termasuk sebagai state yang distinguishable, adalah
state-state indistinguishable.
5. Beberapa state yang indistinguishable dapat digabungkan menjadi satu state.
6. Sesuaikan transisi dari state-state gabungan tersebut.
Sebagai contoh adalah sebagai berikut :

q1

0

0,1

0

0

q0

1

1

q2
1

q4

0

q3

1

1

0

q5

Secara bertahap dilakukan reduksi sebagai berikut :
1. State q5 tidak dapat dicapai dari state awal dengan jalan apapun (useless state).
Hapus state q5
2. Catat state-state distinguishable, yaitu :
q4  F sedang q0, q1, q2, q3 F
sehingga pasangan (q0, q4) (q1, q4) (q2, q4) dan (q3, q4) adalah distinguishable.
3. Pasangan-pasangan state lain yang distinguishable diturunkan berdasarkan pasangan
dari langkah 2, yaitu :


Untuk pasangan (q0, q1)
δ(q0, 0) = q1 dan δ(q1, 0) = q2  belum teridentifikasi
δ(q0, 1) = q3 dan δ(q1, 1) = q4  (q3, q4) distinguishable maka
(q0, q1) adalah distinguishable.



Untuk pasangan (q0, q2)
δ(q0, 0) = q1 dan δ(q2, 0) = q1  belum teridentifikasi
δ(q0, 1) = q3 dan δ(q2, 1) = q4  (q3, q4) distinguishable maka
(q0, q2) adalah distinguishable.

PUSAT PENGEMBANGAN BAHAN AJAR – UMB

Puji Catur Siswipraptini
S.Kom
Teori Bahasa Otomata

7



Untuk pasangan (q0, q3)
δ(q0, 0) = q1 dan δ(q3, 0) = q2  belum teridentifikasi
δ(q0, 1) = q3 dan δ(q3, 1) = q4  (q3, q4) distinguishable maka
(q0, q3) adalah distinguishable.



Untuk pasangan (q1, q2)
δ(q1, 0) = q2 dan δ(q2, 0) = q1  belum teridentifikasi dan q1, q2 F
δ(q1, 1) = q4 dan δ(q2, 1) = q4  q4  F, maka (q1,q2) mungkin
indistinguishable.



Untuk pasangan (q1, q3)
δ(q1, 0) = q2 dan δ(q3, 0) = q2  belum teridentifikasi dan q2 F
δ(q1, 1) = q4 dan δ(q3, 1) = q4  q4  F, maka (q1,q3) mungkin
indistinguishable.



Untuk pasangan (q2, q3)
δ(q2, 0) = q1 dan δ(q3, 0) = q2  belum teridentifikasi dan q1, q2 F
δ(q2, 1) = q4 dan δ(q3, 1) = q4  q4  F, maka (q1,q2) mungkin
indistinguishable.

Karena berdasarkan relasi-relasi yang ada, tidak dapat dibuktikan (q1, q2), (q1, q3) dan
(q2, q3) distinguishable,

sehingga disimpulkan pasangan-pasangan state tersebut

indistinguishable.
4. Karena q1 indistinguishable dengan q2, q2 indistinguishable dengan q3, maka dapat
disimpulkan q1, q2, q3 saling indistinguishable dan dapat dijadikan satu state.
Berdasarkan langkah 1 s/d 4, dapat digambarkan DFA yang sudah direduksi statenya
sebagai berikut.

0

q0

0, 1

0,1

q12

1

q4

3

Kedua mesin sebelum dan sesudah direduksi akan tetap menerima bahasa yang
sama.

PUSAT PENGEMBANGAN BAHAN AJAR – UMB

Puji Catur Siswipraptini
S.Kom
Teori Bahasa Otomata

8

Latihan
1. Gambarkan diagram transisi dari DFA berikut :
Q = { q0, q1, q2 }
∑ = { a, b }
S = q0
F = { q0 }
Fungsi transisi dari DFA berikut :
δ
q0
q1
q2
2.

a
q1
q2
q2

b
q2
q0
q2

Gambarlah diagram transisi untuk NFA berikut :
Q = {q0, q1, q2, q3, q4 }
∑ = {0 , 1 }
S = q0
F = {q2, q4}
Fungsi transisi dari NFA berikut :
δ
q0
q1

0
{q0, q3}

1
{q0, q1}

ø

{q2}

q2
q3

{q2}
{q4}

{q2}

q4

{q4}

{q4}

ø

PUSAT PENGEMBANGAN BAHAN AJAR – UMB

Puji Catur Siswipraptini
S.Kom
Teori Bahasa Otomata