Anda di halaman 1dari 16

TIF22405 Teori Bahasa dan Otomata

IF1703405 Teori Bahasa dan Otomata

Elan Suherlan, M.Si


Herika Hayurani, M.Kom
Review:
Klasifikasi Chomsky (1)
Berdasarkan komposisi bentuk ruas kiri dan ruas kanan produksinya
(  ), Noam Chomsky mengklasifikasikan 4 tipe grammar :

1. Grammar tipe ke-0 : Unrestricted Grammar (UG)


Ciri : ,   (VT VN )*, > 0
2. Grammar tipe ke-1 : Context Sensitive Grammar (CSG)
Ciri : ,   (VT VN ) *, 0 <   
3. Grammar tipe ke-2 : Context Free Grammar (CFG)
Ciri :   VN ,   (VT VN )*
4. Grammar tipe ke-3 : Regular Grammar (RG)
Ciri :   VN ,   {VT , VT VN} atau   VN,   {VT , VN VT}

2 2
Review:
Klasifikasi Chomsky (2)

Tipe sebuah grammar (atau bahasa) ditentukan


dengan aturan sebagai berikut:

“A language is said to be type-i (i = 0, 1, 2, 3) language


if it can be specified by a type-i grammar but can’t be
specified any type-(i+1) grammar.”

3 3
Review: Mesin
Pengenal Bahasa

Kelas Bahasa Mesin Pengenal Bahasa

Unrestricted Grammar (UG) Mesin Turing (Turing Machine), TM

Context Sensitive Grammar (CSG) Linear Bounded Automata, LBA

Context Free Gammar (CFG) Pushdown Automata, PDA

Regular Grammar (RG) Automata, FSA

4
Review: Finite State
Automata (FSA)
a. Deterministik Finite Automata
a. Dari suatu state ada tepat satu state berikutnya untuk
setiap simbol input yang diterima.
b. Sebuah kalimat diterima oleh suatu DFA jika tracingnya
berakhir di state AKHIR.
b. Nondeterministik Finite Automata
a. Pada Non-deterministic Finite Automata (NFA), suatu
state bisa terdapat 0, 1, atau lebih busur keluar (transisi)
berlabel simbol input yang sama.
b. String diterima oleh NFA bila terdapat suatu urutan
transisi sehubungan dengan input string dari state awal
menuju state akhir. 5
Pokok Bahasa
Selanjutnya

1. Ekivalensi dua buah DFA

2. Reduksi jumlah state pada DFA

6
Ekivalensi DFA (1)
Dua buah DFA disebut ekivalen apabila kedua DFA tersebut
menerima bahasa yang sama

 Contoh : DFA yang menerima bahasa {an | n0 }


a a

q4 a q4 q4

Jadi untuk suatu bahasa regular, kemungkinan ada sejumlah DFA


yang dapat menerimanya. Perbedaannya terletak pada jumlah
state yang dimiliki DFA-DFA yang saling ekivalen tersebut.

7
Ekivalensi DFA (2)

Algoritma Moore :
Langkah-langkah Untuk menetapkan apakah 2 DFA
(A dan A’) ekivalen. Yaitu :
1. Vertex dari A dan A’ diberi nama yang semuanya berbeda.
2. Buat tabel perbandingan (3 kolom) dengan elemen-
elemennya pasangan terurut (v, v’), vA dan v’A’.
Elemen baris pertama, kolom pertama adalah pasangan
vertex-vertex awal (start). (v, v’) dikolom 1, kita tempatkan
(va,va’) dikolom 2  edge berlabel a mengarah dari v ke va
dan dari v’ ke va’. Demikian pula pada kolom 3 untuk (vb,
vb’).
8
Ekivalensi DFA (3)
3. Jika (va, va’) belum pernah muncul sebelumnya pada
kolom 1, tempatkan dia pada kolom 1. Demikian pula
untuk (vb, vb’)
4. Jika selama proses, muncul pasangan (v, v’) dengan v =
vertex akhir dan v’ bukan vertex akhir, atau sebaliknya.
Maka ke-2 DFA tidak ekivalen. Proses berhenti.
Dalam hal lain, proses berhenti bila tidak ada lagi
pasangan baru di kolom 2 atau di kolom 3. Maka ke-2
DFA ekivalen.

9 9
Ekivalensi DFA :
Contoh

b
b

Moore
DFA - A DFA - B

10
Reduksi Jumlah State
pada DFA (1)

 Mereduksi jumlah state pada DFA adalah mengurangi


jumlah state dari DFA tersebut, dengan tidak
mengurangi kemampuannya semula untuk menerima
suatu bahasa.

 Dua buah state p dan q dari suatu DFA dikatakan


Indistinguishable jika
(q, w)F sedang (p, w)F, dan
(q, w)F sedang (p, w)F
untuk semua w*

11
Reduksi Jumlah
State pada DFA (2)
 State p dan q dikatakan distinguishable jika ada
string w* sedemikian sehingga :
(q, w)F sedang (p, w)F

 Jika p dan q Indistinguishable, dan jika q dan r juga


Indistinguishable, maka p dan r juga
Indistinguishable, dan ketiga state tersebut
Indistinguishable.

12
Tahapan Reduksi
State DFA (1)
1. Hapuskan semua state yang tidak dapat dicapai dari
state awal, dengan jalan manapun.
2. Buat semua pasangan state (p, q) yang distinguishable,
dimana pF, dan qF. Catat pasangan state-state
tersebut.
3. Untuk semua state lakukan pencarian state yang
distinguishable dengan aturan :
“Untuk semua (p, q) dan semua a, hitunglah (p, a)= pa, dan
(q, a)= qa. Jika pasangan (pa, qa) telah tercatat sebagai
distinguishable, maka pasangan (p, q) juga dimasukkan sebagai
distinguishable.”

13
Tahapan Reduksi
State DFA (2)
4. Dari hasil nomor 3, didapat pasangan state-state
yang distinguishable. Pasangan-pasangan state lain
yang tidak termasuk di dalamnya dapat ditentukan
sebagai state yang indistinguishable.
5. Beberapa state yang saling indistinguishable dapat
digabungkan ke dalam satu state.
6. Sesuaikan transisi dari dan ke state-state gabungan
tersebut.

14
Tahapan Reduksi State
DFA : Contoh (1)

1. Hapus state yang tidak


q1 tercapai -> tidak ada
0 1
0, 1

0
0 2. Pasangan
1
q0 q2 q4 distinguishable (q0,q4),
0
(q1,q4), (q2,q4), (q3,q4).
1 1
q3 3. Pasangan sisanya
(q0,q1), (q0,q2), (q0,q3),
(q1,q2) (q1,q3) (q2,q3)

15
Tahapan Reduksi State
DFA : Contoh (2)
state 1 state 2
Pasangan Hasil
0 1 0 1
(q0,q1) q1 q3 q2 q4 Distinguishable
(q0,q2) q1 q3 q1 q4 Distinguishable
(q1,q2) q2 q4 q1 q4 Indistinguishable
(q0,q3) q1 q3 q2 q4 Distinguishable
(q1,q3) q2 q4 q2 q4 Indistinguishable
(q2,q3) q1 q4 q2 q4 Indistinguishable

4. Pasangan status indistinguishable (q1,q2), (q1,q3) dan (q2,q3).


5. q1,q2,q3 ketiganya dapat digabung dalam satu state q123
6. Menyesuaikan transisi, sehingga DFA menjadi
0 0, 1

0, 1 1
q q123 q4
0

16

Anda mungkin juga menyukai