• Tidak ada hasil yang ditemukan

DFA. Teori Bahasa dan Automata. Viska Mutiawani - Informatika FMIPA Unsyiah

N/A
N/A
Protected

Academic year: 2021

Membagikan "DFA. Teori Bahasa dan Automata. Viska Mutiawani - Informatika FMIPA Unsyiah"

Copied!
58
0
0

Teks penuh

(1)

DFA

(2)

DFA

DFA: Deterministic Finite Automata

Atau Automata Hingga Deterministik (AHD)

Merupakan salah satu bentuk dari Finite

Automata

Automata

Finite Automata merupakan salah satu dari

mesin automata.

(3)

Deterministic Finite Automata (DFA)

Input Tape

String

Output

“Terima”

atau

“Tolak”

Finite

Automaton

(4)

Graf Transisi

5

q

a

a

b

b

b

a

,

b

a

,

State awal

State penerima

state

transisi

0

(5)

5

q

a

a

b

b

b

a

,

b

a

,

}

,

{

a

b

Alfabet

0

q

a

q

1

b

q

a

2

b

q

b

3

a

q

4

Untuk setiap state, akan ada transisi

untuk setiap simbol dalam alfabet

(6)

Konfigurasi awal

b

a

,

Input String

a b b a

Input Tape

Kepala tape

1

q

q

2

q

3

q

4

a

b

b

a

5

q

a

a

b

b

a

,

b

0

q

State awal

(7)

Membaca input

b

a

,

a b b a

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(8)

b

a

,

a b b a

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(9)

b

a

,

a b b a

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(10)

b

a

,

a b b a

Input selesai dibaca

0

q

a

q

1

b

q

2

b

q

3

a

q

4

terima

5

q

a

a

b

b

a

,

b

(11)

b

a

,

a b a

Kasus ditolak

Input String

1

q

q

2

q

3

q

4

a

b

b

a

5

q

a

a

b

b

a

,

b

0

q

(12)

b

a

,

a b a

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(13)

b

a

,

a b a

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(14)

b

a

,

tolak

a b a

Input finished

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

tolak

b

a

,

(15)

b

a

,

)

(

Kasus penolakan yang lain

Input tape kosong

Input selesai

(tidak ada simbol dibaca)

1

q

q

2

q

3

q

4

a

b

b

a

5

q

a

a

b

b

a

,

b

0

q

tolak

(16)

Jadi bahasa yang diterima:

L 

abba

b

a

,

Automaton ini hanya menerima satu string

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(17)

Untuk menerima suatu string:

semua input harus berhasil dibaca dan

state terakhir adalah state penerima

Untuk menolak suatu string:

semua input harus berhasil dibaca dan

state terakhir bukanlah state penerima

(18)

Contoh lain (1)

b

a

,

ab

abba

L

,

,

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(19)

)

(

Input tape kosong

b

a

,

Input selesai dibaca

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

terima

(20)

Contoh lain (2)

a

a

,

b

b

a

,

b

0

q

q

1

q

2

(21)

a

a

,

b

a

a

b

Input String

b

a

,

b

0

q

q

1

q

2

(22)

a

a

,

b

a

a

b

b

a

,

b

0

(23)

a

a

,

b

a

a

b

b

a

,

b

0

(24)

a

a

,

b

a

a

b

accept

Input selesai dibaca

b

a

,

b

0

q

q

1

q

2

(25)

a

a

,

b

a

b

b

Kasus ditolak

Input String

b

a

,

b

0

q

q

1

q

2

(26)

a

a

,

b

a

b

b

b

a

,

b

0

q

q

1

q

2

(27)

a

a

,

b

a

b

b

b

a

,

b

0

q

q

1

q

2

(28)

a

a

,

b

a

b

b

Input finished

b

a

,

b

0

q

q

1

q

2

tolak

(29)

Jadi bahasa yang diterima:

L

{

a

n

b

:

n

0

}

a

a

,

b

b

a

,

b

0

(30)

Contoh lain (3)

0

q

q

1

1

}

1

{

Alfabet:

0

q

q

1

1

Bahasa yang diterima:

even}

is

and

:

{

x

x

*

x

EVEN

(31)

Definisi Formal DFA

(Deterministic Finite Automata)

: Set/Kumpulan state

: Alfabet input

Q

q

F

M

,

,

,

0

,

Q

: Alfabet input

: Fungsi transisi

: State awal

: Set/kumpulan state penerima

0

q

F

(32)

Set/kumpulan state

Q

b

a

,

q

0

,

q

1

,

q

2

,

q

3

,

q

4

,

q

5

Q 

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(33)

Alfabet Input

b

a

,

a,

b

Alfabet input tidak pernah terdiri dari:

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(34)

State awal

q

0

b

a

,

1

q

q

2

q

3

q

4

a

b

b

a

5

q

a

a

b

b

a

,

b

0

q

(35)

Set dari state penerima

F

Q

b

a

,

 

q

4

F 

0

q

a

q

1

b

q

2

b

q

3

a

5

q

a

a

b

b

a

,

b

4

q

(36)

Fungsi transisi

:

Q

Q

q

x

q

q

x

q

,

)

(

q

q

Menjelaskan hasil transisi

(37)

b

a

,

q

0

,

a

q

1

2

q

q

3

q

4

a

b

b

a

5

q

a

a

b

b

a

,

b

0

q

q

1

(38)

q

0

,

b

q

5

b

a

,

1

q

q

2

q

3

q

4

a

b

b

a

5

q

a

a

b

b

a

,

b

0

q

(39)

b

a

,

q

2

,

b

q

3

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(40)

a

b

0

q

1

q

q

1

q

q

5

5

q

q

2

q

q

Tabel transisi untuk:

simbol

2

q

3

q

4

q

5

q

5

q

q

3

4

q

q

5

q

a

q

b

q

b

q

a

q

5

q

a

a

b

b

b

a

,

b

a

,

5

q

5

q

5

q

5

q

st

ate

(41)

Fungsi transisi diperluas

Q

Q

*

*

:

q

w

q

,

)

(

*

w

q

Menjelaskan state yang terakhir

setelah membaca string

(42)

0

2

*

,

ab

q

q

b

a

,

Contoh:

3

q

q

4

a

b

b

a

5

q

a

a

b

b

b

a

,

b

a

,

0

q

q

1

q

2

(43)

0

5

*

,

abbbaa

q

q

b

a

,

1

q

q

2

q

3

q

4

a

b

b

a

5

q

a

a

b

b

a

,

b

0

q

(44)

1

4

*

,

bba

q

q

b

a

,

0

q

a

q

1

b

q

2

b

q

3

a

q

4

5

q

a

a

b

b

a

,

b

(45)

Kasus khusus:

Untuk setiap state

q

q

q

(46)

q

,

w

q

*

q

k

w

1

2

1

2

k

Secara umumnya:

Mengimplikasikan ada suatu jalan transisi

q

w

q

q

1

2

k

q

(47)

Bahasa yang diterima oleh DFA

Bahasa yang diterima oleh DFA M

dinotasikan sebagai L(M) dan mengandung

semua string yang diterima oleh M

Atau dapat dikatakan:

(48)

Untuk suatu DFA

Bahasa yang diterima oleh

Q

q

F

M

,

,

,

0

,

M

 

M

w

q

w

F

L

 

M

w

*

:

*

q

,

w

F

L

*

:

*

0

,

0

q

w

q

q 

F

(49)

Bahasa yang ditolah oleh

 

M

w

q

w

F

L

*

:

*

0

,

M

0

q

w

q

q 

F

(50)

Contoh DFA lainnya

b

a

,

}

,

{ b

a

b

a

,

0

q

*

)

(

M

L

0

q

}

{

)

(

M

L

Bahasa kosong

Semua string yang mungkin

dari alfabet

(51)

b

a

,

}

,

{ b

a

0

q

0

q

a

,

b

}

{

)

(

M

L

(52)

 

M

L

= {semua string dengan prefix }

ab

b

a

,

}

,

{ b

a

a

b

0

q

q

1

q

2

State penerima

b

a

,

3

q

a

b

(53)

 

M

L

= {semua string yang mengandung substring 001 }

1

0

0

,

1

}

1

,

0

{

0

00

001

1

0

1

1

0

0

(54)

 

M

L

1

0

0

,

1

}

1

,

0

{

= {semua string yang tidak mengandung

substring 001 }

0

00

001

0

1

1

0

1

,

0

(55)

*

,

:

)

(

M

awa

w

a

b

L

b

b

a

a

b

a

0

q

q

2

q

3

4

q

(56)

Bahasa Regular

Definisi:

Suatu bahasa L merupakan bahasa regular jika

ada DFA M yang menerimanya ( L(M) = L )

Bahasa yang diterima oleh DFA

membentuk

bahasa regular

(57)

abba

,

ab,

abba

}

0

:

{

a

n

b

n

{ semua string dengan prefix ab }

{ semua string dengan substring 001 }

Contoh bahasa regular:

*

,

:

w

a

b

awa

{ semua string dengan substring 001 }

Sebab wujud DFA yang menerima bahasa-bahasa di atas

(lihat slide-slide sebelumnya)

even}

is

and

}

1

{

:

{

x

x

*

x

}

{

{

}

{ b

a

,

}

*

(58)

Dan wujud bahasa yang bukan regular

}

0

:

{

a

b

n

L

n

n

,

1

z

,

1

y

,

1

x

:

{

x

y

z

n

m

ADDITION

k

Sebab tidak ada DFA yang menerima bahasa tersebut.

Kita akan membuktikannya dengan pumping lemma

}

n

m 

k

Gambar

Tabel transisi untuk:

Referensi

Dokumen terkait

tingkat kedua, yaitu mengenali pola-pola pada Finite State Automata tingkat kedua. Fungsi ini pada dasarnya sama dengan fungsi prosesFA1, hanya saja input yang

 Adalah suatu sistem yang terdiri atas sejumlah berhingga state yang mempelajari tentang mesin abstrak yang menerima input dan mengeluarkan output dalam bentuk diskret (satu

tingkat kedua, yaitu mengenali pola-pola pada Finite State Automata tingkat kedua. Fungsi ini pada dasarnya sama dengan fungsi prosesFA1, hanya saja input yang

Membimbing mahasiswa agar memahami konsep teori himpunan, fungsi dan relasi, graph and tree.. Membimbing mahasiswa agar memahami deterministic finite automata, regular languages,

DECISION PROBLEM บทสรุป A finite automaton receives the input string, and results in the output “accept” or “reject”... DECISION PROBLEM ปญหาตัดสินใจ A computational problem that a

Tugas 1 String dan Bahasa Jawaban Revisi 19.02 Kuliah Teori Bahasa dan Automata 2018-2019 Fakultas Ilmu Komputer Universitas Indonesia Karena adanya beberapa kesalahan minor maupun