Anda di halaman 1dari 23

FINITE STATE AUTOMATA (FSA)

FSA bukanlah

mesin fisik tapi suatu model


matematika dari suatu sistem yang
menerima input dan output diskrit.
FSA merupakan mesin otomata dari
bahasa regular.

FINITE STATE AUTOMATA (FSA)


FSA memiliki

state yang berhingga dan


dapat berpindah-pindah dari suatu state
ke state lain.
Perubahan state dinyatakan oleh fungsi
transisi.

FINITE STATE AUTOMATA (FSA)


FSA dinyatakan

dalam 5 tupel
M = (Q, , , S, F) dimana :
Q = himpunan state/kedudukan
= himpunan simbol input/masukan/abjad
= fungsi transisi
S = state awal/kedudukan awal, S Q
F = himpunan state akhir, F Q

FINITE STATE AUTOMATA (FSA)


Lingkaran

menyatakan state/kedudukan
Busur menyatakan transisi
Label pada busur menyatakan input
Lingkaran yang didahului busur menyatakan
state awal
Lingkaran ganda menyatakan state akhir
(fungsi transisi) dapat dinyatakan dengan
beberapa cara. Cara yang disarankan adalah
dengan diagram transisi atau tabel transisi.

FSA untuk menentukan bilangan biner


ganjil.

M = ({ODD,EVEN}, {0,1}, , EVEN, {ODD})


Q = {ODD, EVEN}
= {0, 1}
S = EVEN
F = {ODD}
=
0
1

EVEN

ODD

0
Diagram transisi

EVEN EVEN
*ODD EVEN
Tabel transisi

1
ODD
ODD

FINITE STATE AUTOMATA (FSA)


FSA bisa

digolongkan menjadi 2 macam :


Deterministic Finite Automata (DFA)
Non-deterministic Finite Automata (NFA)

DETERMINISTIC FINITE AUTOMATA


(DFA)
Disebut

DFA apabila dari suatu state ada


tepat satu state berikutnya untuk setiap
simbol masukan yang diterima.
DFA juga didefinisikan dengan 5 tupel M =
(Q, , , S, F)

DFA yang menerima untaian yang


memuat subuntai 01
A =
Q

({q0, q1, q2}, {0, 1}, , q0, {q2})

= {q0, q1, q2}

= {0, 1}
S = q0
F

= {q2}

1
q0

0
0

q1

0, 1
q2

q0

q1

q0

q1

q1

q2

*q2

q2

q2

NON-DETERMINISTIC FINITE
AUTOMATA (NFA)
Disebut

NFA apabila dari suatu state bisa


terdapat lebih dari satu transisi dengan
simbol input yang sama.
NFA juga didefinisikan dengan 5 tupel M =
(Q, , , S, F)

NFA yang menerima untaian yang


berakhir pada 01
A =
Q

({q0, q1, q2}, {0, 1}, , q0, {q2})

= {q0, q1, q2}

= {0, 1}
S = q0
F

= {q2}

0, 1
q0

q1

q2

q0

0
{q0, q1}

1
{q0}

q1

{q2}

*q2

NFA yang menerima untaian yang


berakhir pada 01
Apabila

pada suatu state tidak terdapat


transisi untuk sebuah input, seperti state
q1 dengan input 0. Secara formal dapat
ditulis (q1, 0)=

EKIVALENSI ANTAR DFA


Dua

buah DFA, M1 dan M2 yang masing-masing


menerima bahasa L(M1) dan L(M2) dikatakan
ekivalen jika L(M1) = L(M2)
0

DFA M1

dan M2 berikut
adalah ekivalen dimana
tampak bahwa DFA M2
lebih sederhana karena
jumlah state dan
transisinya lebih sedikit
daripada DFA M1

q0

q1

0
DFA M1

0
q0
DFA M2

REDUKSI PADA DFA


Distinguishable

: dua buah state yang


dapat dibedakan
State p dan q dikatakan distinguishable
apabila
(q,w) F dan (p,w) F, atau
(q,w) F dan (p,w) F

REDUKSI PADA DFA


Indistinguishable

: dua buah state yang tidak

dapat dibedakan
State p dan q dikatakan indistinguishable
apabila
(q,w) F dan (p,w) F, atau
(q,w) F dan (p,w) F
Apabila (p,q) indistinguishable dan (p,r) juga
indistinguishable, maka (q,r) juga
indistinguishable sehingga ketiga state tersebut
indistinguishable

LANGKAH-LANGKAH REDUKSI PADA


DFA

Hapus semua state yang tidak dapat dicapai dari state awal
dengan jalan manapun
Catatlah semua pasangan state (p,q) yang distinguishable dimana
pF dan qF
Untuk semua state lakukan pencarian state yang distinguishable
dengan dimana untuk semua (p,q) dan semua a hitunglah
(p,a)=pa dan (q,a)=qa. Jika (pa,qa) telah tercatat sebagai
pasangan distinguishable maka (p,q) juga dimasukkan sebagai
distinguishable
Dari langkah sebelumnya kita mendapat pasangan state yang
distinguishable. Sisanya merupakan pasangan state
indistinguishable.
Beberapa state indistinguishable dapat digabungkan ke dalam satu
state
Sesuaikan transisi dari dan ke state gabungan tersebut

Contoh Reduksi DFA


q1

0
q0

0
1

Tidak

1
q3

0
q2

0,1

ada state yang tak tercapai


State yang distinguishable sebagai berikut
(q0,q3), (q1,q3), (q2,q3) karena q0, q1, q2
sedangkan q3

Contoh Reduksi DFA

Pasangan lain : (q0,q1), (q0,1)=q2 dan (q1,1)=q3 karena


(q2,q3) adalah pasangan distinguishable maka (q0,q1)
adalah distinguishable
Pasangan lain : (q0,q2), (q0,1)=q2 dan (q2,1)=q3 karena
(q2,q3) adalah pasangan distinguishable maka (q0,q2)
adalah distinguishable
Setelah kita periksa pasangan state distinguishable
adalah (q0,q3), (q1,q3), (q2,q3), (q0,q1) dan (q0,q2). Sisanya
yaitu pasangan state (q1,q2) adalah indistinguishable
Karena (q1,q2) indistinguishable maka kedua state
tersebut dapat digabungkan menjadi satu state

Hasil Reduksi DFA


0
q0

Perhatikan

0,1 q ,q
1 2

q3

DFA yang telah direduksi

tersebut
Kedua DFA tersebut akan tetap menerima
bahasa yang sama

LATIHAN 1
Gambarkan

diagram transisi dari DFA berikut :


A = ({q0, q1, q2}, {a,b}, , q0, {q0})
Tabel

transisinya :

*q0

q1

q2

q1

q2

q0

q2

q2

q2

LATIHAN 2
Gambarkan

diagram transisi dari NFA berikut :


B = ({q0, q1}, {0,1}, , q0, {q1})
Tabel

transisinya :

q0

0
{q0,q1}

1
{q1}

*q1

{q0,q1}

LATIHAN 3
Bila

L(A) adalah bahasa yang diterima


oleh DFA pada soal LATIHAN 1. Tentukan
apakah untaian berikut termasuk dalam
L(A)!
aab
abab
aaaab

LATIHAN 4
Bila

L(B) adalah bahasa yang diterima


oleh NFA pada soal LATIHAN 2. Tentukan
apakah untaian berikut termasuk dalam
L(B)!
10
110
1110

LATIHAN 5
Lakukanlah

reduksi jumlah state pada


DFA dengan diagram transisi berikut :
1
0
q0

q1

q3

q4

0
1

q2
0

q5

Anda mungkin juga menyukai