Anda di halaman 1dari 4

Deterministic Finite Automata (DFA)

 Deterministic Finite Automata (DFA) akan berada pada suatu state tunggal setelah pembacaan
dari serangkaian input.

 Istilah “deterministic” menunjuk kepada fakta bahwa pada setiap input terdapat satu dan hanya
satu state yang dituju oleh automata dari state tertentu.

Definisi DFA
Suatu DFA terdiri dari :

1. Sebuah himpunan berhingga dari state dinotasikan Q.

2. Sebuah himpunan berhingga dari simbol input, dinotasikan .

3. Fungsi transisi yang memiliki argumen sebuah state dan sebuah simbol input, serta
mengembalikan sebuah state, biasanya dinotasikan sebagai . Untuk q  Q dan a  

: Q    Q

dan (q,a) menyatakan state kemana DFA bergerak. Dalam bentuk graf,  direpresentasikan
oleh arc antara state dan label pada arc.

Jika q adalah state, dan a adalah simbol input, maka (q,a) adalah state p sedemikian sehingga
terdapat sebuah arc yang diberi label a dari q ke p.

4. Sebuah state awal (start state), merupakan salah satu dari state-state dalam Q.

5. Sebuah himpunan dari final state F.

Himpunan F adalah subset dari Q.

DFA seringkali dinotasikan sebagai sebuah tuple 5 elemen A = (Q, , , q0, F), dimana

A : Nama dari DFA

Q : Himpunan state

 : Simbol-simbol input

 : Fungsi transisi

q0: Start state

F : Himpunan accepting state.

Pemrosesan String oleh DFA


 Anggaplah a1, a2, ..., an adalah sebuah rangkaian dari simbol input.
 Dengan berawal dari start state , dengan dibacanya simbol input a1, DFA menuju state q1.
Sehingga

(q0, a1) = q1.

 Selanjutnya DFA memproses simbol input selanjutnya, yaitu a2, dengan mengevaluasi (q1, a2) =
q2.

 Dengan cara yang sama DFA akan memasuki state q3, q4, ..., qn, sehingga

(qi-1, ai) = qi untuk setiap i.

 Jika qn  F maka input a1, a2, ..., an diterima dan jika qn  F maka input a1, a2, ..., an ditolak.

 Bahasa dari DFA adalah semua string yang diterima oleh DFA tersebut.

Contoh 1

 DFA berikut menerima semua string dari para 0 dan para 1 yang memiliki urutan 01 pada suatu
tempat dalam string:

A = ({q0, q1, q2}, {0, 1}, , q0, {q1})

dimana 

(q0, 0) = q2 (q0, 1) = q0

(q2, 0) = q2 (q2, 1) = q1

(q1, 0) = (q1, 1) = q1

Notasi untuk DFA


 Selain dinyatakan dalam tuple 5-elemen, DFA dapat dinyatakan menggunakan

 Diagram transisi, yaitu graf yang terdiri dari node dan arc

 Tabel transisi, yaitu daftar tabular dari fungsi .

Tabel Transisi

 Tabel transisi menyatakan himpunan dari state dan alphabet input. Sebuah diagram transisi
untuk suatu DFA A = (Q, , , q0, F) adalah sebuah graf yang didefinisikan sebagai berikut:

1. Untuk setiap state dalam Q, terdapat sebuah node.

2. Untuk setiap q  Q dan setiap simbol input a  , misalkan (q,a) = p. Maka diagram transisi
memiliki sebuah arc dari node q ke node p, diberi label a.
Jika terdapat beberapa simbol input yang menyebabkan transisi dari q ke p, maka
diagram transisi dapat memiliki suatu arc, yang diberi label berupa daftar dari simbol-simbol
input tersebut.

3. Terdapat sebuah tanda panah menuju start state q0, yang diberi label start. Tanda panah
tersebut tidak berasal dari state-state lain.

4. Node yang menyatakan final state (yaitu dalam F) diberi tanda oleh lingkaran ganda. State yang
bukan dalam F memiliki sebuah lingkaran tunggal.

Contoh 2

 Diagram transisi untuk DFA dalam Contoh 1 adalah

1
0

start 0 1
q0 q2 q1
0,1

Contoh 3

 Tabel transisi untuk fungsi  pada Contoh 2 adalah

Start state diberi tanda dengan sebuah arah panah, dan final state diberi tanda dengan sebuah
tanda bintang.

Bahasa dari Sebuah DFA


 Bahasa dari sebuah DFA, A = (Q, , , q0, F), dinotasikan L(A) didefinisikan oleh
Dengan demikian bahasa dari A adalah himpunan string w yang berawal dari state awal q0 ke suatu
accepting state.

Jika L adalah L(A) untuk suatu DFA A, maka dikatakan L adalah bahasa regular

Contoh

Anda mungkin juga menyukai