Anda di halaman 1dari 84

FINITE STATE AUTOMATA

Dewi Soyusiawaty
Review Materi

 Bahasa

 Automata

 Hubungan Bahasa dan Automata

 Penerapan Automata

 Operasi Bahasa

 Contoh Diagram Automata


Materi

 Tipe Automata

 Memahami konsep dan penerapan dari Finite State


Automata (FSA)
 Membuat FSA yang sesuai ntuk suatu bahasa yang
diberikan
 Mengetahui apakah sebuah string diterima atau ditolak
oleh FA
Sifat Automata

• Kelakuan mesin bergantung pada rangkaian masukan


yang diterima mesin
• Setiap saat mesin dapat berada pada status tertentu
dan dapat berpindah ke status baru karena ada
perubahan input
• Rangkaian input dapat dianggap sebagai suatu bahasa
yang harus dikenali
• Setelah pembacaan input selesai maka mesin akan
membuat keputusan

4
TEORI BAHASA OTOMATA
Computasi

CPU memory

5
TEORI BAHASA OTOMATA
temporary memory

input memory
CPU
output memory

Program memory

6
TEORI BAHASA OTOMATA
Contoh: f (x)  x3

temporary memory

input memory
CPU
output memory
Program memory
Compute 1 x x
Compute 2 x2  x 5
TEORI BAHASA OTOMATA
f (x)  x3

temporary memory
input memory
x2
CPU
output memory
Program memory
compute x x
compute x2  x 8
TEORI BAHASA OTOMATA
temporary memory f (x)  x3
z  2*2  4
f (x)  z * 2  8
input memory
x2
CPU
output memory
Program memory
compute x x
compute x2  x 9
TEORI BAHASA OTOMATA
temporary memory f (x)  x3
z  2*2  4
f (x)  z * 2  8
input memory
x2
CPU
f (x)  8
Program memory output memory
compute x x
compute x2  x 1
TEORI BAHASA OTOMATA 0
Automaton
temporary memory

Automaton
input memory
CPU
output memory

Program memory

9
TEORI BAHASA OTOMATA
Perbedaan dari beberapa Automata

Berdasarkan temporary memory

• Finite State Automata tidak mempunyai

• PushDown Automata bentuknya stack

• Turing Machines pengaksesan


memory random

12
TEORI BAHASA OTOMATA
Finite Automaton (FA)

temporary memory

Finite input memory

Automaton
output memory

Contoh: Mesin Pencari Kata


(Kekuatan komputasi kecil)
13
TEORI BAHASA OTOMATA
Pushdown Automaton (PDA)
Stack Push, Pop

Pushdown input memory

Automaton
output memory

Contoh : Compilers pada bahasa pemrograman

(Kekuatan komputasi medium)


14
TEORI BAHASA OTOMATA
Mesin Turing

Random Access Memory

Turing input memory

Machine
output memory

Contoh : Banyak Algoritma


(Kekuatan komputasi Tinggi)
15
TEORI BAHASA OTOMATA
Power of Automata

Dalam Menyelesaikan Permasalahan


Finite Pushdown Mesin
Automata Automata Turing

Kekuatan rendah Kekuatan tinggi

16
TEORI BAHASA OTOMATA
Power of Automata

Dalam Menyelesaikan Permasalahan


Finite Pushdown Mesin
Automata Automata Turing

Kekuatan rendah Kekuatan tinggi

17
TEORI BAHASA OTOMATA
Hirarki Chomsky

Penggolongan bahasa menjadi 4 tingkatan


Bahasa Mesin Automata

Reguler FSA

Bebas Konteks/Context Free PDA

LBA
Context Sensitive

Unrestricted/Phase Mesin Turing


Structure/Natural Language

18
TEORI BAHASA OTOMATA
Finite State Automata
 Jenis otomata yang tidak mempunyai penyimpanan, Kemampuan
mengingatnya terbatas

 Model automata dari bahasa regular

 Memiliki state yang banyaknya berhingga

 State dapat berpindah ke state yang lain. Perubahan state dinamakan


dengan fungsi transisi

 Contoh : Mekanisme kontrol pada suatu lift/elevator

 Mekanisme ini tidak mengingat semua permintaan sebelumnya

 Hanya posisi lift saat itu pada suatu lantai, pergerakan (atas atau
bawah) dan sekumpulan permintaan yang belum terpenuhi
FSA

 - Sistem elevator

 - Mesin pengeluar minuman kaleng (vending machine)

 - Pengatur lampu lalu lintas (traffic light regulator)

 - Sirkuit penyaklaran (switching) di komputer dan telekomunikasi

 - Protokol komunikasi (communication protocol)

 - Analisis Leksikal (Lexical analyzer)

 - Neuron nets
Finite Automata (FA)

Input
String
Output
“Accept”
Finite or
Automaton
“Reject”

21
TEORI BAHASA OTOMATA
Finite State Automata

 Tool yang yang sangat berguna untuk perancangan lexical


analyzer

 Yaitu bagian dari kompilator yang mengelompokkan


karakter ke dalam token

 Berupa unit terkecil seperti nama, variabel dan keyword

 Text editor, pemrosesan teks dan file searching


Jenis FSA

1. Deterministic Finite Automata (DFA)


Dari suatu state ada tepat satu state berikutnya untuk
setiap simbol masukan yang diterima.

2. Non-deterministic Finite Automata (NFA)


Dari suatu state ada 0, 1 atau lebih state berikutnya
untuk setiap simbol masukan yang diterima.

23
TEORI BAHASA OTOMATA
Suatu FSA memiliki state yang banyaknya berhingga, dan dapat
berpindah-pindah dari suatu state ke state lain.

Konfigurasi FA M  Q,, ,q0 , F 

Q : Himpunan states/kedudukan
 : Himpunan symbol input/masukan/ alphabet

 : fungsi transisi
q0 : state awal

F : state akhir
24
TEORI BAHASA OTOMATA
Cara kerja Finite Automata

1. Mesin membaca memori masukan berupa tape yaitu 1 karakter


tiap saat (dari kiri ke kanan) menggunakan head baca yang
dikendalikan oleh kotak kendali state berhingga dimana pada
mesin terdapat sejumlah state

2. Finite Automata selalu dalam kondisi yang disebut state awal pada
saat Finite Automata mulai membaca tape.

3. Perubahan state terjadi pada mesin ketika sebuah karakter


berikutnya dibaca.

4. Ketika head telah sampai pada akhir tape dan kondisi yang ditemui
adalah state akhir, maka string yang terdapat pada tape
dikatakan diterima
TEORI BAHASA OTOMATA Finite Automata (String-string merupakan
25

milik bahasa bila diterima Finite Automata bahasa tersebut).


Kasus Populer FSA
 Seorang petani dengan seekor
kambing, serigala, dan seikat
rumput berada pada suatu sisi
sungai (kita sebut sisi kiri)

 Terdapat sebuah perahu kecil dan


hanya bisa memuat petani dan
salah satu dari kambing, serigala
atau rumput.

 Petani akan menyeberangkan


ketiganya ke sisi kanan sungai,
tetapi jika petani meninggalkan
serigala dan kambing pada suatu
sisi sungai, maka kambing akan
dimakan serigala.

 Begitu juga jika kambing


ditinggalkan dengan rumput, maka
rumput akan dimakan kambing.
Kasus Populer FSA

 Mungkinkah menemukan cara melintasi sungai tanpa


menyebabkan kambing atau rumput dimakan?
Solusi Kasus Petani
 Bisa dimodelkan dengan memperhatikan objek pada sisi
sungai
 Kombinasi tiap sisi sungai untuk Petani (P), Kambing (K),
Serigala (S) dan Rumput (R)
 Input dari sistem adalah tindakan yang dilakukan Petani.

 Petani menyebrang sungai (input p), dengan kambing (input


k), dengan serigala (input s), atau rumput (input r).
 Tentukan semua kombinasi kedudukan untuk posisi Petani
Kambing Rumput dan Serigala
Kombinasi Kedudukan

Sisi Kiri Sisi Simbol Ket Sisi Kiri Sisi Simbol Ket
Kanan State Kanan State
PKSR o PKSR - 0 V PR SK PR – SK X
SR PK SR – PK V PS KR PS – KR X
SK PR SK – PR X K PSR K – PSR V
KR PS KR – PS X R PSK R – PSK V
PSR K PSR – K V S PKR S – PKR V
PSK R PSK – R V SKR P SKR – P X
PKR S PKR – S V P SKR P – SKR X
PK SR PK - SR V o PSKR 0 - PSKR V
Diagram FSA
Representasi Diagram Transisi

 lingkaran merepresentasikan kedudukan (state)

 label pada lingkaran adalah nama state tersebut

 busur menyatakan transisi

 label pada busur adalah masukan/input

 lingkaran didahului dengan sebuah busur tanpa label adalah


state awal

 limgkaran ganda menyatakan state akhir(finish)


Algoritma Permainan Logika PSRK
1. Mulai
2. Terdapat 3 objek yang akan diseberangkan oleh petani
3. Petani berangkat sendiri , misi gagal karena rumput dimakan kambing dan
kambing dimakan serigala
4. Rumput dan Petani berangkat, misi gagal karena kambing dimakan serigala.
5. Serigala dan Petani berangkat, misi gagal karena rumput dimakan kambing.
6. Kambing dan Petani berangkat, petani kembali sendiri
7. Petani dan rumput berangkat.
8. Jika petani kembali sendiri, maka misi gagal karena rumput dimakan kambing,
dan
9. Jika petani dan kambing kembali, maka lanjutkan langkah 10
10. Jika petani berangkat sendiri, maka misi gagal karena kambing dimakan
serigala, dan
11. Jika Petani dan serigala berangkat, maka lanjutkan langkah 12
12. Petani kembali sendiri, petani dan kambing berangkat
13. Misi sukses
14. Selesai.
Video Petani
DFA untuk mengenali Bilangan Cacah

34
TEORI BAHASA OTOMATA
DFA untuk mengenali Bilangan Cacah

  0,1,2,3,4,5,6,7,8,9 
Q  q0 , q1, q2
State awal = q0
State akhir = q1, q2
 q0,0 q1  q1,0 -  q2,0 q2
q1,1 -
q0,1 q2 q2,1 q2
q1,2 -
q0,2 q2 .... q0,2 q2
....
 q1,9 - ....
 q0,9 q2
TEORI BAHASA OTOMATA
 q0,9 q2
35
Graph Transisi
a, b

q5
a a, b
b b
q0 a q1 b q2 b q3 a q4

State •State akhir


awal •State diterima
transisi
state
36
TEORI BAHASA OTOMATA
Input Alphabet 
  a,b

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
37
TEORI BAHASA OTOMATA
Himpunan State = Q
Q  q0 , q1, q2 , q3 , q4 , q5

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

38
TEORI BAHASA OTOMATA
q
State Awal = 0

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

39
TEORI BAHASA OTOMATA
State Akhir = F
F  q4 

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

40
TEORI BAHASA OTOMATA
Fungsi Transisi = 
 :Q  Q

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
41
TEORI BAHASA OTOMATA
 q0 ,a   q1
Dibaca : State qo mendapat inputan a
menuju ke q1
a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
42
TEORI BAHASA OTOMATA
 q0 ,b   q5

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
43
TEORI BAHASA OTOMATA
 q2 ,b   q3

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
44
TEORI BAHASA OTOMATA
Fungsi Transisi 
 a b
q0 q1 q5 Digambarkan dengan tabel
q1 q5 q2 transisi
q2 q5 q3
a, b
3 4 5
q4 q5 q5
q5 q5 q5 q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
45
TEORI BAHASA OTOMATA
Memperpanjang Fungsi Transis*i
 * : Q  *  Q

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
46
TEORI BAHASA OTOMATA
 * q0 ,ab   q2

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
47
TEORI BAHASA OTOMATA
 * q0 ,abba   q4

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
48
TEORI BAHASA OTOMATA
 * q0 ,abbbaa   q5

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
49
TEORI BAHASA OTOMATA
Bahasa yang diterima oleh FA
FA =M

Definisi:
Bahasa LM  yang terdiri dari seluruh
inputan string yang diterima oleh M

LM  = { string yang dibawa oleh M


untuk dapat diterima oleh state}
50
TEORI BAHASA OTOMATA
Inisial Configurasi (Pertama Kali)
Input String
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

51
TEORI BAHASA OTOMATA
Membaca Input
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

52
TEORI BAHASA OTOMATA
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

53
TEORI BAHASA OTOMATA
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

54
TEORI BAHASA OTOMATA
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

55
TEORI BAHASA OTOMATA
Input selesai

a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

diterima 56
TEORI BAHASA OTOMATA
Ditolak/Diterima?
a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

57
TEORI BAHASA OTOMATA
a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

58
TEORI BAHASA OTOMATA
a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

59
TEORI BAHASA OTOMATA
a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

60
TEORI BAHASA OTOMATA
Input Selesai

a b a

a, b
Ditolak
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

61
TEORI BAHASA OTOMATA
Diterima atau Ditolak?
Jika inputannya 

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

62
TEORI BAHASA OTOMATA
State Awal

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

63
TEORI BAHASA OTOMATA
Ditolak

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

ditolak
64
TEORI BAHASA OTOMATA
Bahasa yang digunakan?

a a, b

q0 b q1 a, b q2

65
TEORI BAHASA OTOMATA
Contoh Lain :
a a b

a a, b

q0 b q1 a, b q2

66
TEORI BAHASA OTOMATA
a a b

a a, b

q0 b q1 a, b q2

67
TEORI BAHASA OTOMATA
a a b

a a, b

q0 b q1 a, b q2

68
TEORI BAHASA OTOMATA
a a b

a a, b

q0 b q1 a, b q2

69
TEORI BAHASA OTOMATA
Input selesai
a a b

a a, b
diterima

q0 b q1 a, b q2

70
TEORI BAHASA OTOMATA
Ditolak/Diterima?
b a b

a a, b

q0 b q1 a, b q2

71
TEORI BAHASA OTOMATA
b a b

a a, b

q0 b q1 a, b q2

72
TEORI BAHASA OTOMATA
b a b

a a, b

q0 b q1 a, b q2

73
TEORI BAHASA OTOMATA
b a b

a a, b

q0 b q1 a, b q2

74
TEORI BAHASA OTOMATA
Input selesai

b a b

a a, b

q0 b q1 a, b q2

ditolak
75
TEORI BAHASA OTOMATA
L(M) = ?
M

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
diterima
76
TEORI BAHASA OTOMATA
Contoh
M

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
diterima
77
TEORI BAHASA OTOMATA
Contoh: L(M) = ?
M

a, b

q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
diterima diterima diterima
78
TEORI BAHASA OTOMATA
Contoh
LM    , ab,abba M

a, b

q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
diterima diterima diterima
79
TEORI BAHASA OTOMATA
Contoh: L(M) = ?

a a, b

q0 b q1 a, b q2

diterima State jebakan

80
TEORI BAHASA OTOMATA
Example
LM   {a nb : n  0}

a a, b

q0 b q1 a, b q2

diterima ditolak
81
TEORI BAHASA OTOMATA
Contoh : Jika Berjalan dari q0 ke q5
diberi nama abbbaa

 * q0 ,abbbaa   q5
a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
82
TEORI BAHASA OTOMATA
L(M) ?
ab
a, b

q0 a q1 b q2

b a diterima

q3 a, b
83
TEORI BAHASA OTOMATA
Contoh
LM = { seluruh strings dengan prefik ab }
a, b

q0 a q1 b q2

b a diterima

q3 a, b
84
TEORI BAHASA OTOMATA

Anda mungkin juga menyukai