Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
OTOMATA
FINITE STATE AUTOMATA
(FSA)
Finite State Automata
Sebuah Finite State Automata adalah:
Model matematika yang dapat menerima input dan
mengeluarkan output
Kumpulan terbatas (finite set) dari state
(kondisi/keadaan). Satu diantaranya menjadi initial
state (kondisi awal) atau start state, dan beberapa
(bisa berarti tidak ada) dari antaranya dinyatakan
sebagai final state
Himpunan alphabet berisi beberapa huruf, dimana
string-string bentukan dari alphabet akan dibaca
huruf demi huruf
Finite Automata Lanjt..
Kumpulan terbatas dari transition yang
menjelaskan untuk tiap state dan tiap huruf yang
dibaca ke state mana perjalanan dilanjutkan
berdasarkan input dan fungsi transisi
Tidak memiliki tempat penyimpanan atau
memory, sehingga hanya bisa mengingat state
terkini
Mekanisme kerja dapat diaplikasikan pada:
elevator, text editor, analisa leksikal, pen-cek-an
parity
Contoh 1
Alphabet yang digunakan hanya 2 huruf, a dan b
Ada 3 buah state, yaitu x, y dan z
Aturan trasition yang dipakai adalah:
1. Dari state x dan input a menuju state y
2. Dari state x dan input b menuju state z
3. Dari state y dan input a menuju state x
4. Dari state y dan input b menuju state z
5. Dari state z dan input apa saja tetap di state z
Ditentukan juga x sebagai start state dan z
sebagai final state
Contoh 1 Lanjt..
Perhatikan apa yang akan terjadi bila string aaa
diumpankan ke FA tersebut
Penelusuran akan dimulai dari start state:
Huruf pertama adalah a, sesuai aturan-1 akan
menuju state y
Huruf kedua adalah a, sesuai aturan-3 akan
menuju state x
Huruf ketiga adalah a, sesuai aturan-1 akan
menuju state y
String sudah diumpankan semua, tapi tidak mencapai
final state
Jadi, string aaa bukanlah termasuk di dalam bahasa
yang didefinisikan oleh FA
Contoh 1 Lanjt..
Contoh lain, bila string abba
diumpankan ke FA tersebut
Hasilnya, perjalanan mencapai
pada state z (final state)
Jadi, string abba termasuk word
dalam bahasa yang didefinisikan oleh
FA tersebut
Contoh 1 Lanjt..
(Transition Table )
Tidak sulit menerka word apa saja yang diterima oleh
FA tersebut, yaitu stringnya harus berisi minimal sebuah
b agar mencapai state z
Dari transition rule di atas, dapat dibuatkan sebuah
transition table seperti di bawah ini:
State a b
Start x y z
y x z
Final z z z
FA dapat dianggap sebagai suatu mesin. Ada suatu
pergerakkan, perpindahan dari sebuah state ke state
lain, karena adanya sebuah input
Contoh 1 Lanjt..
(Transition Diagram )
FA yang digambarkan dalam bentuk grafis
Tanda (-) untuk start state dan (+) untuk final state
Bentuk lain, start state memakai panah dan final
state memakai lingkaran ganda
a a
x- y x y
a a
b b b b
z
z+ b b
a
a
Contoh 2
a a a, b
+ + a, b
b
b
2 busur atau lebih yang berasal dari state yang sama
dan menuju ke state yang sama pula dapat disatukan
seperti gambar di atas
Sekilas terkesan bahwa FA di atas dapat menerima
string dalam bentuk apapun
Namun, bila inputnya adalah null string (), maka tidak akan
terjadi perpindahan state
Jadi language yang diterima oleh mesin di atas adalah:
( a + b ) ( a + b ) * = ( a + b )+
Contoh 3
Ada kemungkinan sebuah FA tidak
akan menerima language apapun
a
a, b
a,b
a,b a,b
+
Contoh 4
2
a a
1- b a 4+ a, b
b b
Q = Himpunan state
Σ = Himpunan simbol input
δ = Fungsi/tabel transisi δ : Q × Σ
S = State awal / initial state , S ∈ Q
F = State akhir, F ∈ Q
Contoh 5
(Pen-cek Parity Ganjil)
Misal input : 1101
δ(Genap,1)=(Ganjil);
δ(Ganjil,1)=(Ganjil);
δ(Ganjil,0)=(Genap);
δ(Genap,1)=(Ganjil)
Result: Diterima mesin
Misal input : 1100
δ(Genap,1)=(Ganjil);
δ(Ganjil,1)=(Ganjil);
δ(Ganjil,0)=(Genap);
δ(Genap,0)=(Genap)
Result: Ditolak mesin
Contoh 5 Lanjt.
Tuple pada contoh 5:
Q = {Genap, Ganjil}; Σ = {0,1}; S = {Genap}; F = {Ganjil}
δ 0 1
Genap Genap Ganjil
Ganjil Genap Ganjil
Penjabaran tabel transisi di atas adalah:
δ(Genap,0) = {Genap}
δ(Genap,1) = {Ganjil}
δ(Ganjil,0) = {Genap}
δ(Ganjil,1) = {Ganjil}
Jenis FSA
Deterministic Finite Automata (DFA)
Dari suatu state ada tepat satu state
berikutnya untuk setiap simbol masukan
yang diterima
Non-deterministic Finite Automata
(NFA)
Dari suatu state ada 0, 1 atau lebih state
berikutnya untuk setiap simbol masukan
yang diterima
DFA
(Deterministic Finite Automata)
Perhatikan !!
Contoh 5 : Pengujian parity ganjil