Anda di halaman 1dari 49

Deterministic Finite Automata

(DFA)
Non-Deterministic Automata
(NFA)

Pertemuan Ke-4
Sri Handayaningsih, S.T.,
M.T.
Email :
ning_s12@yahoo.com
Teknik Informatika 1
TIU dan TIK
1. Mengetahui perbedaan antara
DFA dan NFA
2. Perbedaan DFA dan NFA
3. Ekuivalensi antar FA
4. Definisi Formal NFA
5. Fungsi transisi NFA
6. Contoh-contoh NFA dengan
inputan string yang diterima dan
ditolak.

2
TEORI BAHASA OTOMATA
FA
FA dibagi menjadi 2, yaitu :
Jenis FA Definisi Bentuk Transisi
1. DFA FA di dalam
(Deterministic menerima input
mempuyai tepat
Finite satu busur keluar.
Automata)
2. NFA FA di dalam
(Non Deterministic menerima input
mempuyai lebih
Finite Automata) dari satu busur
keluar atau tidak
punya busur
keluar.
TEORI BAHASA OTOMATA 3
Graph Transisi DFA

a b
q0 q0 q1
q1 q2 q2
q2 q2 q2
4
TEORI BAHASA OTOMATA
Graph Transisi NFA

a
q0 {q1,q3}
q1 q2
q2 -
q3 -
5
TEORI BAHASA OTOMATA
Ekuivalensi Antar FA
Diberikan dua mesin FA M1 dan M2.
Masing-masing menerima bahasa
L(M1) dan L(M2).

Kedua mesin tersebut disebut


ekuivalen jika menerima bahasa yang
sama yaitu :
L(M1) = L(M2)

6
TEORI BAHASA OTOMATA
Graf Transisi M1 Graf Transisi M2
a
a
a
q0 q1 a
q0 q1
NFA M1
DFA M2

a a
q0 {q0, q1} q0 q1
q1 - q1 q1
n
L(M1) = a a
n L(M2) = aa
7
TEORI BAHASA OTOMATA
Definisi Formal NFA
M Q, , , q0 , F
Q: Himpunana state, mis. q0 , q1, q2

Inputan alphabet, mis : a, b


: Fungsi Transisi

q :
0 State awal
F: State akhir
8
TEORI BAHASA OTOMATA
Fungsi Transisi

q0 , 1 q1

q0 q1 0, 1 q2
1

9
TEORI BAHASA OTOMATA
(q1,0) {q0 , q2}

q0 q1 0, 1 q2
1

10
TEORI BAHASA OTOMATA
(q0 , ) {q0 , q2}

q0 q1 0, 1 q2
1

11
TEORI BAHASA OTOMATA
(q2 ,1)

q0 q1 0, 1 q2
1

12
TEORI BAHASA OTOMATA
Nondeterministic Finite Automaton (NFA)

Alphabet = {a}

a
q1 q2
a
q
0 a
q3

13
TEORI BAHASA OTOMATA
Alphabet = {a}

Dua Pilihan q1 a q2
a
q
0 a
q3

14
TEORI BAHASA OTOMATA
Alphabet = {a}

Dua Pilihan a Tdk ada


q1 q2
a Transisi
q
0 a
q3 Tdk ada
Transisi
15
TEORI BAHASA OTOMATA
Pilihan Pertama

a a
a
q1 q2
a
q
0 a
q3

16
TEORI BAHASA OTOMATA
First Choice

a a
a
q1 q2
a
q
0 a
q3

17
TEORI BAHASA OTOMATA
First Choice

a a
a
q1 q2
a
q
0 a
q3

18
TEORI BAHASA OTOMATA
Pilihan Pertama

a a
Inputan sudah selesai
a
q1 q2 diterima
a
q
0 a
q3

19
TEORI BAHASA OTOMATA
Pilihan Kedua

a a
a
q1 q2
a
q
0 a
q3

20
TEORI BAHASA OTOMATA
Pilihan Kedua

a a
a
q1 q2
a
q
0 a
q3

21
TEORI BAHASA OTOMATA
Pilihan Kedua

a a
a
q1 q2
a

q0 a

Tdk ada transisi:


q3 automata error
22
TEORI BAHASA OTOMATA
Pilihan Kedua

a a
Inputan belum selesai
a
q1 q2
a
q
0 a

q
3 ditolak
23
TEORI BAHASA OTOMATA
Sebuah NFA menerima string, jika:
Kamputasi pada NFA menerima string

Komputasi adalah :
Seluruh inputan dimasukkan dan
automata dimulai dari state awal
menuju ke state akhir

24
TEORI BAHASA OTOMATA
Contoh 1
Apakah aa diterima oleh NFA:

pilihan 1 pilihan 2
diterima
q aq
q1 a q2 1 2
a a
q0 a q a
0
q3 q ditolak
3

Diagram transisi yang dipilih adalah pilihan 1.


Karena komputasi dapat diterima aa 25
TEORI BAHASA OTOMATA
Contoh yang Tidak Diterima

a
a
q1 q2
a
q
0 a
q3

26
TEORI BAHASA OTOMATA
Pilihan Pertama

a
a
q1 q2
a
q
0 a
q3

27
TEORI BAHASA OTOMATA
Pilihan Pertama

a
ditolak
a
q1 q2
a
q
0 a
q3

28
TEORI BAHASA OTOMATA
Pilihan Kedua

a
a
q1 q2
a
q
0 a
q3

29
TEORI BAHASA OTOMATA
Pilihan Kedua

a
a
q1 q2
a
q
0 a
q3

30
TEORI BAHASA OTOMATA
Pilihan Kedua

a
a
q1 q2
a
q
0 a

q3 ditolak

31
TEORI BAHASA OTOMATA
Sebuah NFA Menolak string, jika:
Tidak ada komputasi pada NFA yang menerima
string.

Untuk setiap komputasi:


seluruh inputan selesai dimasukkan
dan automata tidak sampai pada
State akhir.
ATAU
Inputan belum selesai dimasukkan
32
TEORI BAHASA OTOMATA
Contoh 2
Apakah a ditolak oleh NFA:

ditolak

q aq
1 2 q1 q2
a a
q0 a q a
0

q3 ditolak q3

Seluruh komputasi yang mungkin ditolak


33
TEORI BAHASA OTOMATA
Contoh Yang Ditolak

a a a
a
q1 q2
a
q
0 a
q3

34
TEORI BAHASA OTOMATA
Pilihan Pertama

a a a
a
q1 q2
a
q
0 a
q3

35
TEORI BAHASA OTOMATA
Pilihan Pertama

a a a

a
q1 q2
a
a Tidak ada transisi:
q0
q3 Automata error

36
TEORI BAHASA OTOMATA
Pilihan Pertama

a a a
Inputan tidak terselesaikan
a
q1 q2 ditolak
a
q
0 a
q3

37
TEORI BAHASA OTOMATA
Pilihan Kedua

a a a
a
q1 q2
a
q
0 a
q3

38
TEORI BAHASA OTOMATA
Pilihan Kedua

a a a
a
q1 q2
a
q
0 a
q3

39
TEORI BAHASA OTOMATA
Pilihan Kedua

a a a
a
q1 q2
a

q0 a

Tidak ada transisi:


q3 Automata error
40
TEORI BAHASA OTOMATA
Pilihan Kedua

a a a
Inputan tidak terselesaikan
a
q1 q2
a
q
0 a

q
3 ditolak
41
TEORI BAHASA OTOMATA
aaa Ditolak oleh NFA

ditolak

q aq
q1 a q2 1 2
a a
q0 a q a
0

q3
ditolak
q3

Seluruh komputasi yang mungkin ditolak


42
TEORI BAHASA OTOMATA
L(M)?

a
q1 q2
a
q
0 a
q3

43
TEORI BAHASA OTOMATA
Bahasa yang menerima: L {aa}

a
q1 q2
a
q
0 a
q3

44
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 Schtze, IMS, Uni Stuttgart, WS 2006/07,
Slides based on RPI CSCI 2400
45
TEORI BAHASA OTOMATA