Anda di halaman 1dari 22

FINITE STATE MACHINES (FSM)

I Dewa Made Bayu Atmaja Darmawan,S.Kom.,M.Cs.

2012

Kegunaan FSM
Software untuk desain dan verifikasi rangkaian digital,
Lexical analyzer pada compiler,-> memilah suatu kata pada

dokumen,
Pencarian pada teks yang besar (search engine di web, grep,
dll),
Desain, verifikasi, dan implementasi sistem software yang
melibatkan interaksi (protokol jaringan, electronic
commerce, sistem reaktif, dll),
Dan lain-lain.

Dewa Bayu

Masalah (Problem)
Dalam mata kuliah ini, masalah didefinisikan sebagai berikut:
Bahasa (Language): L adalah sebuah himpunan dari string
(word, kata),
Input: string x,
Masalah: Menentukan apakah x L atau tidak.
Mesin menyelesaikan masalah L dengan menerima atau
menolak x.

Dewa Bayu

Masalah (Problem)
Meskipun masalah di kehidupan nyata sering bukanlah

masalah pengenalan bahasa sederhana, umumnya kita bisa


mengungkapkan struktur esensialnya dalam suatu L.

Contoh:
L adalah himpunan semua program C++ yang benar.

Di mata kuliah compiler, sebuah mesin yang dapat menguji

legalitas atau kebenaran sebuah program, dapat


diadaptasikan untuk membuat object code sewaktu
pengujian berlangsung.

Dewa Bayu

Definisi-Definisi
Alfabet (): adalah sembarang himpunan terhingga (finite)

simbol-simbol.

= {0, 1},
= {a, b, c, , z},
= semua karakter ASCII.

String (w): adalah sebuah barisan terhingga simbol-simbol

dari alfabet (string w = w1w2 wn, di mana 1 i n,


wi ).
101,
string,
Rp1.000.000.

Dewa Bayu

Definisi-Definisi
String Kosong: .
Panjang string: |w| = |w1w2 wn| = n.
| | = 0,

|1001| = 4,
|string| = 6.

Perkalian Cartesian (Cartesian product):

Ini berarti semua string dengan panjang


k di mana setiap simbolnya diambil dari .

Dewa Bayu

Definisi-Definisi
Closure perkalian: = 0 1 2 . Ini berarti

semua string dengan panjang terhingga dari . (Catatan:


sendiri adalah himpunan tak terhinggainfinite).
0 = {},
1 = ,

2 = .

Contoh:
= {0, 1},
= {, 0, 1, 00, 01, 10, 11, 000, 001, }.
Dewa Bayu

Definisi-Definisi
Penyambungan (Concatenation):

x = x1 xn
y = y1 ym
x y = x1 xny1 ym.
Penting!!!
X = X = X,
|x y| = |x| + |y|.

Dewa Bayu

Bahasa
Bahasa L adalah sekumpulan string dari suatu alfabet

(L ).

Catatan Penting!
L dan bisa jadi berukuran tak terhingga, namun keduanya
berisi string-string dengan panjang yang terhingga.

Dewa Bayu

Contoh
= {a, b, c, , z},

L = semua kata-kata bahasa Indonesia.


= {0, 1},
L = {, 01, 0011, 000111, }.
= ASCII,
L = semua program C++ yang dapat dicompile.

Dewa Bayu

Finite Automata (FA)


Model komputasi yang paling paling sederhana.
Melingkupi kelas bahasa reguler (regular language).
Operasi:
Selalu berada di salah satu dari state yang jumlahnya terhingga,
Berpindah-pindah state sebagai respons terhadap input,
Menerima input (string) jika berakhir di salah satu state Final

(Accepting).

Dewa Bayu

Contoh FA
FA untuk menguji apakah sebuah string biner berisi substring

01.

= {0, 1},
L = {w |w berisi substring 01},
= {x01y | x, y }.
Contoh:
11010 L,
000111 L,

111000

Dewa Bayu

L.

Contoh FA

q0: menunggu 0 yang pertama,

q1: telah menerima 0, menunggu 1,


q2: telah menerima 01, menunggu akhir dari string input.

Dewa Bayu

Notasi
State:
State Start
State Final

Transisi

Ini berarti: di state q1, jika FA menerima input 1, maka FA


berpindah ke state q2.
Dewa Bayu

Penting!!!
FA memindai (scan) string input dari kiri ke kanan (tidak bisa

mundur!); menerima simbol satu per satu; sambil melakukan


transisi (berpindah dari state ke state),
Menerima: Jika FA berada di state Final (Accepting)
sewaktu FA mencapai akhir dari string input,
Bahasa FA: L = {w | FA menerima w}.

Dewa Bayu

Secara Formal
Finite Automaton A = (Q, , , q0, F ), dimana:
1. Q: himpunan terhingga state-state (contoh: Q = {q0, q1,
q2}),
2. : alfabet input (contoh: = {0, 1}),
3. q0: state Start (Initial), q0 Q,
4. F : himpunan state-state Final (Accepting), F Q (contoh:
F = {q2}),
5. : Q Q: fungsi transisi (transition function).

Dewa Bayu

Transition Function
:Q Q
mengkodekan diagram yang telah kita lihat sebelumnya, yaitu
(p, a) = q sama dengan

dapat juga direpresentasikan dengan tabel transisi:

Dewa Bayu

Extended Transition Function


Tujuan: memperluas definisi ke lebih dari satu transisi,
Ide:
: satu transisi pada simbol input a ,

: sebarisan transisi pada substring input w .

Secara formal:

Dewa Bayu

: Q Q.

(p,w) = q berarti dimulai dari state p, substring input w


membawa FA ke state q.

Contoh

Dewa Bayu

Extended Transition Function


Bagaimana memperoleh dari ?

Aplikasi:
(q0, ) = q0,
(q0, 1) = ( (q0, ), 1) = (q0, 1) = q0,
(q0, 10) = ( (q0, 1), 0) = (q0, 0) = q1,
(q0, 101) = ( (q0, 10), 1) = (q1, 1) = q2.
Dewa Bayu

Extended Transition Function

Bukti:

Dengan demikian, kedua fungsi dan

menghasilkan nilai
yang sama pada string dengan panjang 1, dan hanya
didefinisikan untuk string seperti itu.

Dewa Bayu

Bahasa Sebuah FA
Diberikan: A = (Q, , , q0, F )
L(A) = semua string yang diterima oleh A.

Dewa Bayu

Anda mungkin juga menyukai