Anda di halaman 1dari 20

Konversi NFA ke DFA

Pertemuan Ke-6

Sri Handayaningsih, S.T., M.T.


Email : ning_s12@yahoo.com
Teknik Informatika 1
TIU dan TIK
Mengetahui cara proses konversi NFA ke
DFA

2
TEORI BAHASA OTOMATA
Formulasi Konversi
Mengubah NFA Mn = (Qn, ∑n, n, q0n,Fn)
Diubah menjadi
DFA Md = (Qd, ∑d, d, q0d,Fd)

Dengan ketentuan :
1. Qd  2Qn, setiap elemen Qd dapat dituliskan sebagai
qi1, qi2, qi3…qis dengan s = |Qn|
2. Fd = {qi1, qi2, qi3…qis | paling sedikit adalah satu ip
sehingga qipFn}
3. d(qi1, qi2, qi3…qis) = rj1, rj2, rj3, … rjs dengan rjp
=n(qip,a)
3
TEORI BAHASA OTOMATA
Contoh
Diketahui sebuah tabel
transisi NFA sbb: n 0 1
A = State awal A A B
C = State akhir
B A,B C
∑ = {0,1}
Q = {A, B, C} C C A

4
TEORI BAHASA OTOMATA
Penyelesaian
Buat gambar graf transisinya

0 0
0

1 1
A B C
0

5
TEORI BAHASA OTOMATA
Buat state-state baru

n 0 1 n 0 1
A A B A A B
B A,B C B AB C
C C A C C A
AB AB BC

Dibuat state baru


AB muncul State baru
BC

6
TEORI BAHASA OTOMATA
n 0 1
A A B
B AB C
C C A
AB AB BC
BC ABC CA

State Baru
7
TEORI BAHASA OTOMATA

n 0 1
A A B
B AB C
C C A
AB AB BC
Tidak
BC ABC CA muncul
state
ABC ABC BC baru
lagi
CA AC BC

8
TEORI BAHASA OTOMATA
Contoh 1. Ekivalensi NFA ke DFA
Diberikan NFA untuk menerima string yg diakhiri ab

a,b

a b
q2
qo q1

Pertanyaan :
1. Buat Tabel Transisi NFA
2. Buat Tabel Transisi DFA hasil konversi dari NFA
3. Buat Graf Transisinya
9
TEORI BAHASA OTOMATA
Jawaban
Tabel Transisi NFA 
n a b
q0 q0, q1 q0
q1 - q2
q2 - -

Dibuat state baru


q0q1

10
TEORI BAHASA OTOMATA
2. Tabel Transisi DFA

n a b
q0 q0q1 q0
q1 - q2
q2 - -
q0q1 q0q1 q0q2

State Baru

11
TEORI BAHASA OTOMATA
2. Tabel Transisi DFA


n a b Dihasilkan DFA dengan :
Q = {q0, q1, q2, q0q1, q0q2}
q0 q0q1 q1 n = {a, b}

State awal = q0
q1 - q2
State akhir = q2 dan q0q2
q2 - -
q0q1 q0q1 q0q2

q0q2 q0q1 q1
12
TEORI BAHASA OTOMATA
3. Graf Transisi DFA

a b
q2
null q1

a, b

b a

a b
q0q2
qo q0q1

b
13
TEORI BAHASA OTOMATA
Kesimpulan
Dari hasil graf transisi state q1, q2 dan
null tidak bisa dicapai dari status awal,
sehingga :

Dihasilkan DFA dengan :


Q = {q0, q0q1, q0q2}
n = {a, b}

State awal = q0
State akhir = q0q2

14
TEORI BAHASA OTOMATA
Hasil Akhir

b a

a b
q0q2
qo q0q1

15
TEORI BAHASA OTOMATA
Contoh 2
Diberikan sebuah tabel transisi NFA sebagai
berikut :


n a b

q0 {q0, q1} {q1}

q1  {q0, q1}

Buat :
1. Graf transisinya
2. Ubah dalam bentuk DFA (Tabel dan Graf transisinya)
16
TEORI BAHASA OTOMATA
Jawaban :

a, b
a b

q0 q1

1. Graf transisi NFA

17
TEORI BAHASA OTOMATA
2. Tabel Transisi NFA ke DFA

n a b

q0 {q0, q1} {q1}

q1  {q0, q1}
n a b

q0 {q0q1} {q1}
State baru
q1  {q0q1}

q0q1 q0q1 q0q1


18
TEORI BAHASA OTOMATA
3. Graf Transisi

a a, b
b
a

q0
q1 null

a, b

a b
q0q1

19
TEORI BAHASA OTOMATA
Pustaka
1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata,
Teknik Informatika UAD, 2005
2. Hopcroft John E., Rajeev Motwani, Jeffrey D.
Ullman, Introduction to Automata Theory,
Languages, and Computation, 2rd, Addison-
Wesley,2000
3. Martin C. John, Introduction to Languages and
Theory of Computation, McGraw-Hill Internatioanal
edition,1991
4. Linz Peter,Introduction to Formal Languages &
Automata, DC Heath and Company, 1990
5. Dulimarta Hans, Sudiana, Catatan Kuliah
Matematika Informatika, Magister Teknik
Informatika ITB, 1998
6. Hinrich Schütze, IMS, Uni Stuttgart, WS 2006/07
slide on RPI CSCI 2400
20
TEORI BAHASA OTOMATA