Anda di halaman 1dari 31

BAHASA AUTOMATA

Pertemuan ke- 4

Oleh:
Siti Nurul A,M.Si
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) Finite State Automata, FSA


FINITE STATE AUTOMATA (FSA) [1]

 Disebut juga Automata Hinga (AH).

 FSA / AH adalah mesin yang dapat mengenali


bahasa reguler tanpa menggunakan
storage/memory.

 Tidak memiliki tempat penyimpanan/memory, hanya


bisa mengingat state terkini.

 FSA / AH berhubungan dengan Regular Grammar.


FINITE STATE AUTOMATA (FSA) [2]

 FSA / AH adalah kelas mesin dengan kemampuan-


kemampuan paling terbatas.

 Memiliki state yang berhingga banyaknya dan dapat


berpindah dari satu state ke state lainnya berdasar
input dan fungsi transisi.

 Sejumlah status dapat didefinisikan pada mesin


untuk “mengingat” beberapa hal secara terbatas.
Manfaat nyata:
 Software untuk mendesain dan mengecek
perilaku sirkuit digital. Contoh: mesin ATM.

 Bagian“Lexical Analyzer” dari berbagai


kompiler yang berfungsi membagi teks input
menjadi logical unit seperti Keyword,
Identifier, dan pungtuasi.

 Search engine → menscan web, dan


menemukan kata, frase atau pola yang tepat.
DEFINISI FORMAL
 Definisi 1: FSA didefinisikan sebagai
pasangan 5 tupel : (Q, ∑, δ, S, F).
 Q : himpunan hingga state
 ∑ : himpunan hingga simbol input (alfabet)
 δ : fungsi transisi, menggambarkan transisi
state FSA akibat pembacaan simbol input.
Fungsi transisi ini biasanya diberikan dalam
bentuk tabel.
 S  Q : state AWAL
 F  Q : himpunan state AKHIR
Fungsi Transisi
 Untuk q, r  Q dan a  ∑, jika δ(q,a)=r
terdefinisi, maka saat mesin berada dalam
status q menerima masukan simbol a, mesin
akan bertransisi ke status r.
 Dengan diagram status digambarkan dengan
bulatan dan transisi dengan panah, sbb:
Jenis FSA

 Ada dua jenis FSA :


 Deterministic finite automata (DFA).
 Non deterministik finite automata (NFA).
Deterministic finite automata (DFA)
 Transisi state FSA akibat pembacaan sebuah
simbol bersifat tertentu.
δ : Q  ∑ Q

 Dari suatu state ada tepat satu state


berikutnya untuk setiap simbol masukan yang
diterima.
Non deterministik finite automata
(NFA)
 Transisi state FSA akibat pembacaan sebuah
simbol bersifat tak tentu.
δ : Q  ∑  2Q

 dari suatu state ada 0, 1 atau lebih state


berikutnya untuk setiap simbol masukan yang
diterima.
Deterministic finite automata (DFA)
 Disebut juga Automata Hingga Deterministik
(AHD).

 AHD sering digambarkan dengan cara :


 Table Transisi State
 Transisi Digraph
Buatlah tabel transisi dari Diagram
transisi berikut
1

start q 0 1 q 1

0 0 0 0

q 2 1 q 3

1
DFA nya :
 Q = {q0 , q1 , q2 , q3 }
  = {0,1}
 S = q0
 F = { q0}
 Fungsi transisi

 ( q0,011)= ( q2,11) =( q3,1)= q2 (Ditolak)


 ( q0,1010)= ( q1,010) =( q3,10)=( q2,0)= q0
(Diterima)
Contoh lain DFA [3]:
 AHD F(Q, ∑, δ, S, F), dimana:
 Q = {q0, q1, q2}
 ∑ = {a, b}
 δ diberikan dalam tabel berikut :

 S = q0
 F = {q0, q1}
Contoh lain DFA [3]:
 Ilustrasi graf untuk AHD F adalah sebagai berikut :
 Lambang state awal adalah node dengan anak panah.
 Lambang state awal adalah node ganda.

 Contoh kalimat yang diterima AHD : a, b, aa, ab, ba, aba, bab,
abab, baba
 Contoh kalimat yang tidak diterima AHD : bb, abb, abba
 AHD ini menerima semua kalimat yang tersusun dari simbol a
dan b yang tidak mengandung substring bb
Non deterministik finite automata
(NFA)

 Disebut juga Automata Hingga Non


Deterministik (AHN)

 Fungsi transisi dapat memiliki 0 atau lebih


fungsi transisi
Contoh NFA [1]:
 NFA (Q, ∑, δ, S, F). dimana :
 Q = {q0, q1, q2,q3, q4}
 ∑= {a, b,c}
 δ diberikan dalam tabel berikut :

 S = q0
 F = {q4}
Ilustrasi graf untuk NFA adalah
sebagai berikut :
Contoh lain NFA :
 G = ({q0 , q1 , q2 , q3, q4 }, {0,1},  , q0 , { q2 , q4}}
Diagram transisi:

0,1

q 3
0 q 4
0,1
0
q 0
0,1
1
q 1 1 q 2
Ekuivalen
 Definisi 2: Dua buah FSA disebut ekuivalen
apabila kedua FSA tersebut menerima
bahasa yang sama.
 Contoh : FSA yang menerima bahasa
{an | n0 }

a a

q 4 a q 4 q 4
Indistinguishable
 Definisi 3: Dua buah state dari FSA disebut
indistinguishable (tidak dapat dibedakan)
apabila :
 (q,w)F sedangkan (p,w)F dan
 (q,w) F sedangkan (p,w) F untuk semua
w  *
Distinguishable
 Definisi 4: Dua buah state dari FSA disebut
distinguishable (dapat dibedakan) bila
terdapat w  * sedemikian hingga:

 (q,w)F sedangkan (p,w)F dan


 (q,w) F sedangkan (p,w) F untuk semua
w  *
Prosedur menentukan pasangan status
indistinguishable
1. Hapus semua state yang tak dapat dicapai
dari state awal.
2. Catat semua pasangan state (p,q) yang
distinguishable, yaitu {(p,q) | p  F  q  F}
3. Untuk setiap pasangan (p,q) sisanya,
4. untuk setiap a , tentukan (p,a) dan
(q,a)
Contoh:

q1
0 1 0,1
0 0

q0 q2 1 q4

0
1 1
q3
Langkah-Langkah
1.Identifikasilah setiap kombinasi state yang mungkin:
(q0,q1),(q0,q2),(q0,q3),(q0,q4), (q1,q2),(q1,q3),(q1,q4),
(q2,q3), (q2,q4), (q3,q4)
2. State yang berpasangan dengan state akhir merupakan
state yang distinguishable: (q0,q4), (q1,q4), (q2,q4), (q3,q4)
3. Pasangan sisanya (q0,q1), (q0,q2), (q0,q3), (q1,q2)
(q1,q3) (q2,q3)
Jika masing2 state mendapat input yang sama, maka bila
satu state mencapai state akhir dan yang lain tidak
mencapai state akhir maka dikatakan distinguishable
 Catatan : jumlah pasangan seluruhnya :

 5 5!
C    10
 2 2! 3!
Prosedur Reduksi DFA
1. Tentukan pasangan status indistinguishable.
2. Gabungkan setiap group indistinguishable
state ke dalam satu state dengan relasi
pembentukan group secara berantai : Jika p
dan q indistingishable dan jika q dan r
indistinguishable maka p dan r
indistinguishable, dan p,q serta r
indistinguishable semua berada dalam satu
group.
3. sesuaikan transisi dari dan ke state-state
gabungan.
Contoh :
 pasangan status indistinguishable (q1,q2),
(q1,q3) dan (q2,q3).
 q1,q2,q3 ketiganya dapat digabung dalam
satu state q123
 Menyesuaikan transisi, sehingga DFA
menjadi
0,1
0

q 0
0,1 q 123
1 q 4
Latihan
1.
Gambarkan diagram transisi dari NFA berikut
2. Lakukan reduksi jumlah state pada DFA
pada gambar berikut

Anda mungkin juga menyukai