Mesin finite-state: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Bot5958 (bicara | kontrib)
k WPCleaner v2.05b - Perbaikan untuk PW:CW (Kategori sebelum subjudul terakhir - Kategori ganda)
InternetArchiveBot (bicara | kontrib)
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.2
Baris 215:
Perilaku dari FSM dapat diamati di banyak perangkat dalam masyarakat modern yang melakukan urutan tindakan yang ditentukan sebelumnya tergantung pada urutan peristiwa yang disajikan. Contoh sederhananya adalah [[mesin penjual otomatis]], yang mengeluarkan produk ketika kombinasi koin yang tepat disimpan, [[elevators]], yang urutan pemberhentiannya ditentukan oleh lantai yang diminta oleh pengendara, [[lampu lalu lintas]], yang mengubah urutan saat mobil menunggu, dan [[kunci kombinasi]], yang memerlukan masukan urutan angka dalam urutan yang benar.
 
Mesin finite-state memiliki daya komputasi yang lebih sedikit dibandingkan beberapa model komputasi lain seperti [[mesin Turing]].<ref name="Belzer2">{{cite book|last1=Belzer|first1=Jack|last2=Holzman|first2=Albert George|last3=Kent|first3=Allen|year=1975|url=https://books.google.com/books?id=W2YLBIdeLIEC|title=Encyclopedia of Computer Science and Technology|location=USA|publisher=CRC Press|isbn=978-0-8247-2275-3|volume=25|pages=73}}</ref> Perbedaan daya komputasi berarti ada tugas komputasi yang dapat dilakukan mesin Turing tetapi FSM tidak bisa. Ini karena [[memori]] FSM dibatasi oleh jumlah keadaan yang dimilikinya. Mesin keadaan-terbatas memiliki daya komputasi yang sama dengan [[mesin Turing]] yang dibatasi sedemikian rupa sehingga kepalanya hanya dapat melakukan operasi "baca", dan harus selalu bergerak dari kiri ke kanan. FSM dipelajari di bidang [[teori automata]] yang lebih umum.
 
== Contoh: pintu putar yang dioperasikan dengan koin ==
[[Berkas:Turnstile_state_machine_colored.svg|jmpl|Diagram state untuk pintu putar]]
[[Berkas:Torniqueterevolution.jpg|jmpl|Pintu Putar]]
Contoh mekanisme sederhana yang dapat dimodelkan oleh mesin state adalah [[pintu putar]].<ref name="Koshy2">{{cite book|last=Koshy|first=Thomas|year=2004|url=https://books.google.com/books?id=90KApidK5NwC&pg=PA762|title=Discrete Mathematics With Applications|publisher=Academic Press|isbn=978-0-12-421180-3|pages=762}}</ref><ref name="⁇⁇⁇?2">{{cite web|last=Wright|first=David R.|year=2005|title=Finite State Machines|url=http://www4.ncsu.edu/~drwrigh3/docs/courses/csc216/fsm-notes.pdf|work=CSC215 Class Notes|publisher=David R. Wright website, N. Carolina State Univ.|archive-url=https://web.archive.org/web/20140327131120/http://www4.ncsu.edu/~drwrigh3/docs/courses/csc216/fsm-notes.pdf|archive-date=27 March 2014|access-date=14 July 2012|url-status=dead}}</ref> Pintu putar, digunakan untuk mengontrol akses ke kereta bawah tanah dan wahana taman hiburan, adalah gerbang dengan tiga lengan berputar setinggi pinggang, satu di sebrang pintu masuk. Awalnya lengan terkunci, menghalangi jalan masuk, mencegah pengunjung lewat. Menyimpan koin atau [[token]] di slot di pintu putar akan membuka kunci lengan, memungkinkan satu pelanggan untuk mendorong. Setelah pelanggan melewatinya, lengannya dikunci lagi hingga koin lain dimasukkan.
 
Dianggap sebagai mesin state, pintu putar memiliki dua kemungkinan status: Terkunci dan Tidak Terkunci.<ref name="Koshy2" /> Ada dua kemungkinan masukan yang mempengaruhi statusnya: memasukkan koin ke dalam slot (koin) dan mendorong lengan (mendorong). Dalam keadaan terkunci, mendorong lengan tidak berpengaruh; tidak peduli berapa kali dorongan masukan diberikan, itu tetap dalam keadaan terkunci. Memasukkan koin - yaitu, memberi mesin masukan koin - akan menggeser status dari Terkunci ke Tidak Terkunci. Dalam keadaan tidak terkunci, memasukkan koin tambahan tidak berpengaruh; artinya, memberikan masukan koin tambahan tidak mengubah status. Namun, pelanggan mendorong lengan, memberikan masukan dorong, menggeser status kembali ke Terkunci.
Baris 316:
 
== Klasifikasi ==
Mesin keadaan-terbatas dapat dibagi lagi menjadi akseptor, pengklasifikasi, transduser, dan pengurut.<ref name="Keller2001">{{cite book|last=Keller|first=Robert M.|year=2001|url=http://www.cs.hmc.edu/~keller/cs60book/%20%20%20All.pdf|title=Computer Science: Abstraction to Implementation|publisher=Harvey Mudd College|page=480|chapter=Classifiers, Acceptors, Transducers, and Sequencers|chapter-url=http://www.cs.hmc.edu/~keller/cs60book/12%20Finite-State%20Machines.pdf}}</ref>
 
=== Akseptor ===
Baris 467:
* Samek, M., [http://www.state-machine.com/psicc/index.php ''Practical Statecharts in C/C++''], CMP Books, 2002, {{ISBN|1-57820-110-1}}.
* Samek, M., [http://www.state-machine.com/psicc2/index.php ''Practical UML Statecharts in C/C++, 2nd Edition''], Newnes, 2008, {{ISBN|0-7506-8706-1}}.
* Gardner, T., [http://www.troyworks.com/cogs/ ''Advanced State Management''] {{Webarchive|url=https://web.archive.org/web/20081119071252/http://www.troyworks.com/cogs/ |date=2008-11-19 }}, 2007
* Cassandras, C., Lafortune, S., "Introduction to Discrete Event Systems". Kluwer, 1999, {{ISBN|0-7923-8609-4}}.
* Timothy Kam, ''Synthesis of Finite State Machines: Functional Optimization''. Kluwer Academic Publishers, Boston 1997, {{ISBN|0-7923-9842-4}}
Baris 585:
* Samek, M., [http://www.state-machine.com/psicc/index.php ''Practical Statecharts in C/C++''], CMP Books, 2002, {{ISBN|1-57820-110-1}}.
* Samek, M., [http://www.state-machine.com/psicc2/index.php ''Practical UML Statecharts in C/C++, 2nd Edition''], Newnes, 2008, {{ISBN|0-7506-8706-1}}.
* Gardner, T., [http://www.troyworks.com/cogs/ ''Advanced State Management''] {{Webarchive|url=https://web.archive.org/web/20081119071252/http://www.troyworks.com/cogs/ |date=2008-11-19 }}, 2007
* Cassandras, C., Lafortune, S., "Introduction to Discrete Event Systems". Kluwer, 1999, {{ISBN|0-7923-8609-4}}.
* Timothy Kam, ''Synthesis of Finite State Machines: Functional Optimization''. Kluwer Academic Publishers, Boston 1997, {{ISBN|0-7923-9842-4}}