finite state machine / automataelearning.amikompurwokerto.ac.id/index.php/download/materi/... ·...
TRANSCRIPT
![Page 1: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/1.jpg)
FINITE STATE MACHINE / AUTOMATA
![Page 2: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/2.jpg)
BAHASA FORMAL
Dapat dipandang sebagai entitasabstrak, yaitu sekumpulan string yang berisi simbol-simbol alphabet
Dapat juga dipandang sebagai entitas-entitas abstrak yang dapat dikenali ataudibangkitkan oleh mesin komputasi
Mesin komputasi yang sesuai untuk kelas
bahasa ini
Finite State Machine / Automata
![Page 3: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/3.jpg)
FINITE AUTOMATA
Mesin abstrak berupa sistem modelmatematika dengan masukan dan keluarandiskrit yang dapat mengenali bahasasederhana dan dapat diimplementasikansecara nyata.
![Page 4: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/4.jpg)
FINITE AUTOMATA
Model matematika/graf yang dapatmenerima input dan mengeluarkan output
Memiliki state yang berhingga banyaknya dan dapatberpindah dari satu state ke state lainnya berdasarinput dan fungsi transisi
Tidak memiliki tempat penyimpanan/memory, hanya bisa mengingat state terkini.
Mekanisme kerja dapat diaplikasikan pada : elevator, text editor, pencek parity.
![Page 5: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/5.jpg)
(Q, ∑, δ, S, F)FSA / FSM Didefinisikan oleh 5 tupel :
FINITE STATE AUTOMATA
Q : himpunan hingga state
∑ : himpunan hingga simbol input (alfabet)
δ : fungsi transisi, menggambarkan transisi state FSA akibatpembacaan simbol input.(Fungsi transisi ini biasanya diberikan dalam bentuk tabelatau representasi lainnya.)
S : state AWAL (Start)F : himpunan state AKHIR (Final)
![Page 6: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/6.jpg)
Finite State Automata dapat dimodelkan dengan Finite State Diagram (FSD) dapat juga disebut State Transition Diagram.
FINITE STATE DIAGRAM
Lingkaran bergaris tunggal berartistate sementara
Lingkaran bergaris ganda berarti state akhir
1. Lingkaran menyatakan stateLingkaran diberi label sesuai dengan nama state tersebut.
Adapun pembagian lingkaran adalah:
![Page 7: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/7.jpg)
2. Anak Panah menyatakan transisi yang terjadi
Label di anak panah menyatakan simbolyang membuat transisi dari 1 state ke state lain
1 anak panah diberi label start untukmenyatakan awal mula transisi dilakukan
![Page 8: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/8.jpg)
Contoh:
FSA untuk mengecek parity angka 1 biner ganjil
Q ={Genap, Ganjil} himpunan state∑ ={0,1} himpunan simbol inputδ = fungsi transisi
S = Genap StartF = {Ganjil} Final state(ingat untuk himpunan harus ditulis di dalam {} )
![Page 9: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/9.jpg)
input : 1101 diterima mesin
input : 1100 ditolak mesin
input : 1011 diterima mesin
input : 11011 ditolak mesin
Genap
Genap
Ganjil
Ganjil
![Page 10: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/10.jpg)
Maka:
Q = {Genap, Ganjil}
δ = {0,1}S = GenapF = {Ganjil}
Tabel Transisi:
δ (Genap,0) = Genapδ (Genap,1) = Ganjilδ (Ganjil,0) = Ganjilδ (Ganjil,1) = Genap
![Page 11: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/11.jpg)
Jenis Finite State Automata
1.Deterministic Finite Automata (DFA) otomata berhingga yang pasti (tetap/tertentu)
dari suatu state ada tepat satu state berikutnyauntuk 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
otomata berhingga yang tidak pasti
Untuk NFA harus dicoba semua kemungkinanyang ada sampai terdapat satu yang mencapaistate akhir.
![Page 12: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/12.jpg)
Deterministic Finite Automata (DFA)
Pada DFA dari suatu state ada tepat satu state berikutnya untuk setiap simbol input (masukan) yang di terima
Contoh : pengujian parity ganjil
Contoh lain : Pengujian untuk menerima bit string dengan banyaknya 0 genap, serta banyaknya 1 genap.
![Page 13: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/13.jpg)
Pengujian untuk menerima bit string denganbanyaknya 0 genap, serta banyaknya 1 genap.
Diagram transisi-nya:
0011 : diterima.
10010 : ditolak, karena banyaknya 0 ganjil
DFA nyaQ = {q0 , q1 , q2 , q3 }δ = {0,1}S = q0F = { q0}
![Page 14: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/14.jpg)
Fungsi Transisi
δ ( q0,011)= δ ( q2,11) = δ ( q3,1)= q2
Ditolak
δ ( q0,1010)= δ ( q1,010) = δ ( q3,10)= δ ( q2,0)= q0
Diterima
011
1010
![Page 15: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/15.jpg)
Non-deterministic Finite Automata (NFA)
Perbedaan dengan DFA: fungsi transisi dapat memiliki 0 atau lebih fungsi transisi untuk setiap simbol inputan
Untuk NFA harus dicoba semua kemungkinan yang ada sampai terdapat satu yang mencapai state akhir.
String diterima NFA bila terdapat suatu urutan transisi berdasar input, dari state awal ke state akhir.
![Page 16: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/16.jpg)
Contoh :
G = ({q0 , q1 , q2 , q3, q4 }, {0,1}, δ , q0 , { q2 , q4}}
Q = {q0 , q1 , q2 , q3, q4 }δ = {0,1}S = q0F = { q2, q4 }
![Page 17: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/17.jpg)
Fungsi Transisi
![Page 18: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/18.jpg)
Contoh : string 01001 Diterima
![Page 19: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/19.jpg)
Reduksi FSAPasangan State
Distinguishable & Indistinguishable
![Page 20: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/20.jpg)
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 Є ∑ */
/
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 Є ∑ */
/
![Page 21: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/21.jpg)
Prosedur Menentukan Pasangan Status Indistinguishable
1. Hapus semua state yang tak dapat dicapai daristate awal.
2. Catat semua pasangan state (p,q) yang distinguishable, yaitu {(p,q) | p Є F q Є F}
3. Untuk setiap pasangan (p,q) sisanya, buatlah tabel state dengan mengecek setiap pasangan satu persatu
/
![Page 22: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/22.jpg)
Contoh
1. Hapus state yang tidak tercapai -> tercapai semua2. Pasangan distinguishable (q0,q4), (q1,q4), (q2,q4),
(q3,q4).3. Pasangan sisanya (q0,q1), (q0,q2), (q0,q3), (q1,q2)
(q1,q3) (q2,q3)
![Page 23: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/23.jpg)
![Page 24: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/24.jpg)
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.
![Page 25: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/25.jpg)
Contoh:
1. pasangan status indistinguishable (q1,q2), (q1,q3) dan (q2,q3).
2. q1,q2,q3 ketiganya dapat digabung dalam satu state q123
3. Menyesuaikan transisi, sehingga DFA menjadi
![Page 26: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/26.jpg)
EKUIVALENSI NFA-DFA
Algoritma :
1. Buat semua state yang merupakan subset dari state
semula
2. Telusuri transisi state–state yang baru terbentuk,
dari diagram transisi.
3. Tentukan state awal : {q0}
4. Tentukan state akhir adalah state yang elemennya
mengandung state akhir.
5. Reduksi state yang tak tercapai oleh state awal.
6. Rename nama-nama state yang tersisa.
![Page 27: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/27.jpg)
Ubahlah NFA berikut menjadi DFA
Contoh :
M= {{q0,q1}, {0,1}, δ, q0,{q1}}
Jawab :
tabel transisi
Q = {q0 , q1}δ = {0,1}
S = q0F = { q1 }
![Page 28: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/28.jpg)
1. State yang akan dibentuk : {}, {q0} {q1},{q0,q1}
2. Telusuri state
3. State awal : {q0}
4. State akhir yang mengandung q1, yaitu {q1},{q0,q1}
![Page 29: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/29.jpg)
Diagram transisi-nya:
![Page 30: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/30.jpg)
0 1
q0 {q1,q2} {}
q1 {} {q0,q1}
q2 {q1} {q1}
•Diket: M={{q0,q1 ,q2}, {0,1}, , q0,{q1}} dengan tabel transisi sbb. Ubahlah NFA berikut menjadi DFA
![Page 31: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam](https://reader031.vdocuments.site/reader031/viewer/2022013104/5a8883397f8b9afc5d8e77c0/html5/thumbnails/31.jpg)
SEKIAN………….