teori bahasa otomata

29
Teori Bahasa dan Otomata Finite State Automata & Finite State Machine I Wayan Aries Agetia 131052086 Fakultas Teknologi Industri Jurusan Teknik Informatika Institut Sains dan Teknologi Akprind Yogyakarta

Upload: aries-agetia

Post on 24-Nov-2015

319 views

Category:

Documents


13 download

DESCRIPTION

Teori Bahasa dan Otomata - IST AKPRIND Yogyakarta by I Wayan Aries Agetia

TRANSCRIPT

Teori Bahasa dan OtomataFinite State Automata & Finite State Machine

I Wayan Aries Agetia131052086

Fakultas Teknologi Industri Jurusan Teknik InformatikaInstitut Sains dan Teknologi AkprindYogyakarta

2014

PENDAHULUAN

Pada materi Teori Bahasa Otomata (TBO) ini dibahas tentang Pengertian TBO, Model Komputasi TBO, Peranan TBO dalam Ilmu Komputer dan Contoh Penerapan TBO. Komputer mengikuti sejumlah prosedur sistematis, atau algoritme, yang dapat diaplikasikan untuk serangkaian input (string) yang menyatakan integer dan menghasilkan jawaban setelah sejumlah berhingga langkah. Teori otomata adalah studi tentang peralatan atau mesin komputasi abstrak, yang dapat didefinisikan secara matematis. Tahun 1930-an Alan Turing telah mempelajari mesin abstrak yang memiliki kemampuan seperti komputer sekarang (dalam hal apa yang dihitung). Mesin abstrak merupakan model teoritis dari perangkat keras atau perangkat lunak yang digunakan dalam teori otomata.Tipe paling sederhana dari mesin abstrak adalah finite automaton atau finite state machine. Prinsip yang mendasari mesin ini adalah sistem pada setiap saat dalam salah satu dari sejumlah state berhingga dan bergerak diantara state-state tersebut dalam merespon sinyal input individual.Teori otomata mempelajari model mesin komputer menggunakan model matematika. Namun matematika yang digunakan benar-benar berbeda dibanding matematika klasik dan kalkulus. Model yang digunakan adalah model mesin state atau model transisi state.

A. Pengertian Finite AutomataFinite automata adalah mesin abstrak berupa sistem model matematika dengan masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana (bahasa reguler) dan dapat diimplementasikan secara nyata dimana sistem dapat berada disalah satu dari sejumlah berhingga konfigurasi internal disebut state.State sistem merupakan ringkasan informasi yang berkaitan dengan masukan- masukan sebelumnya yang diperlukan untuk menentukan perilaku sistem pada masukan- masukan berikutnya.Finite Automata menggunakan prosedur yang saat diberikan masukan "string berhingga" akan berhenti. Finite Automata menyatakan "ya" dengan sejumlah berhingga komputasi jika string tersebut merupakan elemen bahasa sehingga lebih berfokus pada pengenalan dimana bila diberikan suatu program (string) akan menyatakan apakah string tersebut termasuk di bahasa atau tidak.

B. Model Finite AutomataModel Finite Automata memiliki ciri-ciri:1. memori 'infinite'-nya adalah null (tidak ada memori sementara).2. mead hanya bergerak 1 arah.3. hanya berisi memori masukan berupa tape berisi string masukan dan sejumlah kendali berhingga.

C. Properti Finite AutomataFinite Automata memiliki:1. himpunan state kendali berhingga2. simbol-simbol masukan yang dibolehkan/diijinkan3. state mula (initial state)4. simpunan state akhir (set of final states)D. Fungsi transisi state (state transition function)Adanya fungsi yang memberikan state saat itu (current state) dan simbol masukan saat itu (current input symbol). Selain itu juga fungsi memberikan/menyatakan semua state berikutnya yang dimungkinkan.Semua kemungkinan transisi dipandang dijalankan secara paralel. Bila terdapat transisi yang menuju/sampai state akhir, berarti string masukan diterima otomata.

E. Jenis FSA: DFA (Deterministic Finite Automata) : Atomata berhingga yang pasti (tetap/tertentu). Setiap rancangan state input selalu tepat ada satu state berikutnya. Dari suatu state ada tepat satu state berikutnya untuk setiap symbol masukan yang diterima. Untuk sebuah state dan input yang berlaku bisa ditentukan tepat satu state berikutnya. Suatu string x dinyatakan diterima bila _(S,x) berada pad state akhir.Dengan kata lain secara formal bila M adalah sebuah bahasa FSA, M = (Q, _, d, S, F) menerima bahasa yang disebut L(M) yang merupakan himpunan {x | d (S,x) di dalam F}.

NDFA (Non-Deterministic Finite Automata) : Atomata berhingga yang tidak pasti. Untuk setiap pasangan state input, bisa memiliki 0 (nol) atau lebih pilihan untuk state berikutnya. Untuk setiap state tidak selalu tepat ada satu state berikutnya untuk setiap simbol input yang ada. Dari suatu state bisa terdapat 0,1 atau lebih busur keluar (transisi) berlabel simbol input yang sama. Untuk NFA harus dicoba semua kemungkinan yang ada sampai terdapat satu yang mencapai state akhir. Suatu string x dinyatakan diterima oleh bahasa NFA, M= (Q, _, d, S, F) bila {x | d (S,x) memuat sebuah state di dalam F}.

(DFA)Deterministic Finite Automata:Contoh DFA:DFA :Q = {q0, q1, q2} diberikan dalam tabel berikut := {a, b} S = q0F = {q0, q1}

Kalimat yang diterima oleh DFA : a, b, aa, ab, ba, aba, bab, abab, baba. Kalimat yang ditolak oleh DFA : bb, abb, abba.DFA ini menerima semua kalimat yang tersusun dari simbol a dan b yang tidak mengandung substring bb.DFA :Pada suatu NFA, Suatu state dapat memiliki tujuan ke beberapa state yang berbeda dengan alphabet penghubung yang sama. Akan tetapi, hal ini tidak diperbolehkan pada suatu DFA. Untuk menyederhanakan suatu NFA menjadi suatu DFA dipergunakan Tabel Transisi yang memiliki kolom berupa variasi alphabet yang diterima dan baris berupa nama- nama state asal. Sedangkan titik temu antara suatu kolom dan baris diisi dengan nama- nama state tujuan dari state asal yang tertera pada bagian kolom.

Berikut ini adalah Contoh suatu DFA yang akan mengenali suatu bilangan Cacah :DFA bilangan Cacah = < , S, S0, F> = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} S = {S0, S1, S2}S0 = S0F = {S1, S2}Bagan DFA untuk Bilangan Cacah:

Table Transisi DFA untuk Bilangan Cacah: 01..9

S0S1S2

S1--

S2S2S2

Bagan pada Gambar di atas sudah merupakan bagan DFA karena tidak ada state asal yang memiliki tujuan ke lebih dari satu state tujuan dengan alphabet penghubungan yang sama.

(NFA) Non-deterministik Finite Automata:Pada NFA terdapat kemungkinan lebih dari 1 transisi yang keluar dari sebuah state dengan sumber input yang sama.Gambar berikut ini adalah Contoh NFA yang menginformasikan NFA yang menerima aa* | bb*:

Table Transisi NFA Seperti :

aB

01,3--

1-2-

2-2-

3--4

4--4

Bagan pada gambar itu sudah merupakan bagan NFA, karena ada state asal yang memiliki tujuan ke lebih dari satu state tujuan dengan alphabet penghubungan yang sama ( ).Pada gambar diatas state 0 sebagai start dan state 2 serta state 4 adalah final state. Disini digambarkan NFA menerima suatu input berupa aa* | bb*. Suatu string aaa akan diterima dengan melalui state 0, 3, 4, 4, 4 dan 4. NFA mempunyai kelebihan dapat melakukan backtracking, namun aksesnya lebih lambat dibandingkan dengan DFA (Deterministic Finite Automaton).

NFAContoh NFA:Berikut ini sebuah contoh NFA (Q, , , S, F). dimana : Q = {q0 , q1 , 21 ,q3 , q4 }= {a, b,c} S = q0F = {q4}

Kalimat yang diterima NFA di atas : aa, bb, cc, aaa, abb, bcc, cbbKalimat yang tidak diterima NFA di atas : a, b, c, ab, ba, ac, bc

Sebuah kalimat di terima NFA jika : Salah satu tracing-nya berakhir di state AKHIR, atau Himpunan state setelah membaca string tersebut mengandung state AKHIR.

F. Cara Kerja Finite AutomataFinite Automata bekerja dengan cara 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 berhingga.Finite Automata selalu dalam kondisi yang disebut state awal (initial state) pada saat Finite Automata mulai membaca tape. Perubahan state terjadi pada mesin ketika sebuah karakter berikutnya dibaca.Ketika head telah sampai pada akhir tape dan kondisi yang ditemui adalah state akhir, maka string yang terdapat pada tape dikatakan diterima Finite Automata (String-string merupakan milik bahasa bila diterima Finite Automata bahasa tersebut).

G. Implementasi Finite AutomataSistem dengan state berhingga diterapkan pada:- 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- sistem Komputer

H. Finite State Diagram (FSD)Perilaku Finite Automata dimodelkan dengan Finite State Diagram (FSD) dapat juga disebut State Transition Diagram.Finite State Diagram terdiri dari:1. Lingkaran menyatakan stateLingkaran diberi label sesuai dengan nama state tersebut.Adapun pembagian lingkaran adalah:- Lingkaran bergaris tunggal berarti state sementara- Lingkaran bergaris ganda berarti state akhir

2. Anak Panah menyatakan transisi yang terjadiLabel di anak panah menyatakan simbol yang membuat transisi dari 1 state ke state lain,1 anak panah diberi label start untuk menyatakan awal mula transisi dilakuka. Contoh :Gambar dibawah menggambarkan perilaku FA untuk penerimaan bilangan nyata (riil) yang paling tidak mempunyai 1 digit setelah titik desimal adalah sebagai berikut:Simpul-simpul (berbentuk lingkaran) pada FSD dibawah mengambarkan state-state dari FA, yaitu :- Simpul S- Simpul A- Simpul B

Busur dari 1 simpul ke simpul lain menandakan transisi state. Karakter samping atau diatas busur menandakan karakter yang menyebabkan terjadinya transisi state. Simpul dengan garis ganda menunjukkan state akhir. Digit adalah nilai 0,1,2,3,4,5,6,7,8,9

Gambar : FSD Bilangan Nyata Dengan Minimal Satu Angka di Belakang Titik Desimal

Contoh string : 9.8765- Busur berlabel StartMenunjukkan transisi ke state S- Head membaca nilai "9"Terdapat kondisi yang menunjukkan kesesuaian dengan aturan kendali pada state S yaitu adanya busur yang menunjukkan digit kembali ke state S (berarti memiliki kesesuaian bahasa)- Pembacaan ke karakter berikutnya adalah "."Terdapat kesesuaian dengan aturan kendali pada state S, yaitu adanya busur yang menunjukkan nilai "." ke state A (kondisi berada di state A)- Pembacaan karakter berikutnya = "8"Terdapat kesesuaian dengan aturan kendali yang sekarang sudah berada di state A, yaitu busur ke state B yang menunjukkan digit (kondisi berada di state B)- Pembacaan karakter berikutnya = "7"Terdapat kesesuaian dengan aturan kendali pada state B, yaitu adanya busur yang menunjukkan digit kembali ke state B (kondisi tetap berada di posisi B)- Pembacaan karakter berikutnya = "6"Terdapat kesesuaian dengan aturan kendali pada state B, yaitu adanya busur yang menunjukkan digit kembali ke state B (kondisi tetap berada di posisi B)- Pembacaan karakter berikutnya = "5"Terdapat kesesuaian dengan aturan kendali pada state B, yaitu adanya busur yang menunjukkan digit kembali ke state B (kondisi tetap berada di posisi B)

Pada akhir pembacaan dilakukan penyesuaian apakah karakter terakhir berada pada state akhir. Bila kesesuai kondisi "YA" maka string termasuk di dalam bahasa, dalam hal ini karakter "5" berada pada state B yaitu state dengan lingkaran bergaris ganda yang menandakan state akhir, maka sesuai.String 9.8765 termasuk di dalam bahasa Finite Automata pada FSD di atas.

Contoh string : a- Busur berlabel StartMenunjukkan transisi ke state S- Head membaca nilai "a"Terdapat kondisi yang menunjukkan ketidaksesuaian dengan aturan kendali pada state S yaitu tidak adanya busur yang menunjukkan persamaan simbol dengan simbol yang dibaca ("a")- Ketidaksesuaian simbolAturan kendali pada kondisi "TIDAK" menandakan string a tidak termasuk di dalam bahasa FSD di atas.

I. Klasifikasi Finite AutomataFinite automata dapat berupa:- Deterministic Finite Automata (DFA)Terdiri dari 1 transisi dari suatu state pada 1 simbol masukan.- Nondeterminictic Finite Automata (NDFA)Lebih dari 1 transisi dari suatu state dimungkinkan pada simbol masukan yang samaKedua finite automata tersebut mampu mengenali himpunan reguler secara presisi. Dengan demikian kedua finite automata itu dapat mengenali string-string yang ditunjukkan dengan ekspresi reguler secara tepat.DFA dapat menuntun recognizer (pengenal) lebih cepat disbanding NDFA.Namun demikian, DFA berukuran lebih besar dibanding NDFA yang ekivalen dengannya.Lebih mudah membangun NDFA dibanding DFA untuk suatu bahasa, namun lebih mudah mengimplementasikan DFA dibanding NDFA.

Finite State Machine (Mesin keadaan terbatas)Ada beberapa definisi mengenai Finite State Machine (FSM) atau sering juga disebut dengan Finite State Automata (FSA).1. FSM didefenisikan sebagai perangkat komputasi yang memiliki input berupa string dan output yang merupakan satu dari dua nilai yang dapat di-accept dan reject (Rich : 2009).2. Finite Automata adalah model matematika sistem dengan masukan dan keluaran diskrit. Sistem dapat berada di salah satu dari sejumlah berhingga konfigurasi internal disebut state (Hariyanto : 2004).3. FSM adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Pada satu saat dalam periode waktu yang cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri. Transisi keadaanini umumnya juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana atau melibatkan rangkaian proses yang relatif kompleks (Setiawan : 2006).Contoh dari mesin seperti ini adalah : Mesin Jaja (Vending Machine) Pintu otomatis Telepon Umum

Contoh Diagram FSM Diagram tersebut memperlihatkan FSM dengan dua buah state dan dua buah input serta empat buah aksi output yang berbeda : seperti terlihat pada gambar, ketika sistem mulai dihidupkan, sistem akan bertransisi menuju state0, pada keadaan ini sistem akan menghasilkan Action1 jika terjadi masukan Event0, sedangkan jika terjadi Event1 maka Action2 akan dieksekusi kemudian sistem selanjutnya bertransisi ke keadaan State1 dan seterusnya.

Secara formal FSM dinyatakan oleh 5 tupel atau M=(Q, , , S, F),(Utdirartama, 2001) dimana:Q = himpunan state/kedudukan = himpunan symbol input/masukan/abjad = fungsi transisiS = state awal/ kedudukan awal (initial state), S QF = himpunan state akhir, F Q

FSM terdiri dari dua jenis, yaitu FSM ber-output dan FSM tidak ber-output. FSM tidak ber-output digunakan untuk pengenalan bahasa dalam komputer, dengan input yang dimasukkan akan diperoleh apakah input tersebut dikenal oleh bahasa komputer atau tidak. Salah satu penggunaan FSM tidak ber-output adalah program compiler, yaitu program untuk memeriksa apakah perintah yang digunakan pengguna benar atau salah. Sementara untuk FSM ber-output digunakan untuk merancang mesin atau sistem (Zen, 2008). Ada dua metode utama untuk memperlakukan FSM untuk menghasilkan output. Yaitu Moore Machine dan Mearly Machine yang dinamakan berdasarkan penemunya.

1. Moore State Machine

Gambar Diagram Moore State Machine

Moore Machine adalah tipe dari FSM dimana output dihasilkan dari state. Pada gambar diatas mencontohkan dimana state mendefenisikan apa yang harus dilakukan (Brownlee, 2010). Keluaran pada Moore Machine diasosiasikan sebagai state (Hariyanto, 2004).

2. Mearly State Machine

Gambar Diagram Mearly Machine

Mearly Machine berbeda dengan Moore Machine dimana keluarannya merupakan hasil dari transisi antar state (Brownlee, 2010). Keluaran pada Mearly Machine diasosiasikan sebagai transisi (Hariyanto, 2004)

Kelebihan FSMFSM memiliki beberapa kelebihan (Brownlee, 2010), diantaranya :1. Sederhana, sehingga mudah diimplementasikan2. Bisa diprediksi responnya3. Komputasi ringan4. Relatif fleksibel5. Merupakan metode AI lama yang bisa digunakan pada berbagai sistem6. Mudah ditransfer dari abstrak menjadi kode program

Kelemahan FSMSelain memiliki banyak kelebihan, FSM juga mempunyai beberapa kelemahan (Brownlee, 2010), diantaranya :1. Karena sifatnya bisa diprediksi, maka implementasi pada game kurang disukai2. Implementasi pada sistem yang lebih besar lebih sulit karena pengaturan dan pemeliharaannya jadi kompleks3. Sebaiknya hanya digunakan pada sistem dimana sifat sistem bisa didekomposisi menjadi state.4. Kondisi untuk transisi state adalah tetap

Teknik Pemodelan FSMFinite State Machine bukanlah metode yang baru. FSM sudah lama ada dan konsep dekomposisi biasanya sudah dipahami dan sering digunakan oleh orang-orang yang memiliki pengalaman dalam membuat program komputer atau desain program komputer. Ada beberapa teknik pemodelan abstrak yang bisa digunakan untuk membantu defenisi atau pemahaman dan desain dari FSM, mayoritas teknik ini berasal dari disiplin ilmu desain atau matematika (Lee: 1998).1. Diagram Transisi State Juga dikenal sebagai Diagram Gelembung (Bubble Diagram). Menunjukkan relasi antara state dengan input yang menyebabkan transisi state.2. Diagram Pengambilan Keputusan State-Aksi. Diagram Alir sederhana dengan tambahan gelembung yang menunjukkan penungguan terhadap input.3. Diagram Grafik State Salah satu bentuk dari notasi UML yang berfungsi untuk menunjukkan sifatindividu dari objek sebagai nomor state dan transisi dari state tersebut.4. Analisa Hirarki Perintah Meskipun tidak seperti state, ini merupakan teknik dekomposisi perintah yangmelihat dari sudut pandang bagaimana caranya perintah dibagi jadi sub perintah dan urut sesuai urutan kejadiannya.

Implementasi FSM pada perangkat lunakImplementasi Finite State Machine dalam perangkat lunak merupakan permasalahan tersendiri yang sudah banyak diteliti oleh pakar-pakar insinyur perangkat lunak (software engineer ). Desain Finite State Machine memang tampak mudah dan sederhana karena hanya terdiri dari serangkaian lingkaran dan anak panah yangmasing-masing memiliki label. Desain FSM biasanya direpresentasikan dalam tabel transisi state atau dengan state diagram. Namun jika tiba waktunya mengimplementasikan FSM dalam suatu aplikasi perangkat lunak, maka ada suatu permasalahan yang sering timbul yaitu kode program FSM menjadi rumit dan kompleks ketika sistem yang dibangun adalah sistem yang besar atau kompleks. Bagi pemula yang masih belajar implementasi FSM dengan sistem sederhana mungkin hal ini tidak terlalu berpengaruh maupun terasa. Namun bagi seorang programer profesional, maka implementasi FSM untuk sistem yang besar atau kompleks memerlukan suatu desain struktur yang baik dan optimal.

Contoh FSM Dengan Output : Mesin Jaja (Vending Machine) :Misalkan dimiliki sebuah mesin jaja yang dapat mengeluarkan dua macam keluaran yaitu Juss Jeruk dan Juss Apel. Mesin ini memiliki kedudukan sebanyak 7 (misalkan dicatat sebagai : S0, S1, S2,, S6). Mesin ini dapat menerima masukan uang pecahan yang dapat berupa 5-an, 10-an dan 25-an. Mesin ini selain dapat menerima masukan uang pecah juga disediakan dua tombol kuning (K) dan merah (M). Jika mesin dalam kedudukan S6, maka jika ditekan ditekan K akan keluar Juss Jeruk dan jika ditekan R akan keluar Juss Apel. Tabel transisi kedudukan dari mesin ini dapat disajikan seperti tabel 4.1.Penggunaan tabel 4.1 sebagai fungsi transisi dari mesin Jaja dapat dipahami dalam beberapa contoh, misalnya : Pada saat awal mesin selalu dalam state S0 Jika pada state S0 menerima masukan 5-an maka akan pindah ke-state S1 Jika pada state S0 menerima masukan 10-an maka akan pindah ke-state S2 Jika pada state S0 menerima masukan 25-an maka akan pindah ke-state S5 Jika pada state S1 menerima masukan 5-an maka akan pindah ke-state S2 Jika pada state S1 menerima masukan 25-an maka akan pindah ke-state S6 Output mesin jaja diperoleh jika mesin dalam state-S6, yaitu : Jika pada state S6 menerima masukan K maka akan pindah ke-state S0 dan menghasilkan OUTPUT JJ= yaitu keluar Juss Jeruk Jika pada state S6 menerima masukan R maka akan pindah ke-state S0 dan menghasilkan OUTPUT JA= yaitu keluar Juss Apel Tabel Fungsi Transisi Untuk Mesin Jaja

Tabel transisi kedudukan mesin

StateNext StateOutput

InputInput

5-an 10-an25-anKM5-an 10-an25-anKM

S0S1S2S5S0S0NnNnn

S1S2S3S6S1S1NnNnn

S2S3S4S6S2S2Nn5nn

S3S4S5S6S3S3Nn10nn

S4S5S6S6S4S4Nn15nn

S5S6S6S6S5S5N520nn

S6S6S6S6S0S051025JJJA

Keterangan : n = tidak ada keluaranK=tombol Kuning ditekanM=tombol Merah ditekanJJ/JA = mesin mengeluarkan Juss Jeruk / Juss ApelMesin jaja tersebut hanya bisa menerima uang receh maksimum 30. Isi mesin adalah 30 ditunjukkan dengan keadaan S6. Pada kondisi S6 ini mesin berharap menerima masukan pencet tombol K atau R, bukan menerima masukan uang lagi. Ini nampak jika dalam state tertentu dimasukkan uang receh sehingga nilai uang dalam mesin jaja diatas 30 maka akan dikeluarkan kembaliannya. Misalnya : Jika pada state S6 menerima masukan 5-an maka akan TETAP pada state S6 dan menghasilkan OUTPUT (kembalian) 5-an Jika pada state S2 menerima masukan 25-an maka akan PINDAH menuju state S6 dan menghasilkan OUTPUT (kembalian) 5-an

KESIMPULAN

Klasifikasi FSA.Dibedakan menjadi dua jenis FSA :I. (DFA) Deterministic Finite Automata.Terdiri dari 1 transisi dari suatu state pada 1 simbol masukan.II. (NFA) Non-Deterministik Finite Automata.Terdiri lebih dari 1 transisi dari suatu state dimungkinkan pada simbol masukan yang sama.

Kedua Finite Automata tersebut mampu mengenali himpunan reguler secara presis. Dengan demikian kedua Finite Automata itu dapat mengenali string-string yang ditunjukkan dengan ekspresi reguler secara tepat.DFA dapat menuntun recognizer (pengenal) lebih cepat dibanding NDFA.Namun demikian, DFA berukuran lebih besar dibanding NDFA yang ekivalen dengannya. Lebih mudah membangun NDFA dibanding DFA untuk suatu bahasa, namun lebih mudah mengimplementasikan DFA dibanding NDFA.

Klasifikasi FSMI. FSM tidak ber-output Digunakan untuk pengenalan bahasa dalam komputer, dengan input yang dimasukkan akan diperoleh apakah input tersebut dikenal oleh bahasa komputer atau tidak. II. FSM ber-output Digunakan untuk merancang mesin atau sistem.

Tipe FSMI. Moore Machine Adalah tipe dari FSM dimana output dihasilkan dari state. II. Mearly Machine Berbeda dengan Moore Machine dimana keluarannya merupakan hasil dari transisi antar state.III. DAFTAR PUSTAKA

Hamzah, Amir. 2009. Teori Bahasa dan Otomata. Akprind Press: Yogyakarta.Utdirartatmo, Firrar. 2005. Teori Bahasa dan Otomata. Graha Ilmu: Yogyakarta.Ratan. 2008. Finite State Automata/Acceptor (FSA). (Online), (http://anakpisces.blogspot.com/2009/07/finite-state-automataacceptor-fsa.html, diakses 21 April 2014).Handrico, Aritha. 2010. Finite State Automata FSA. (Online), (http://kuliahkusayang.blogspot.com/2010/03/finite-state-automata-fsa.html, diakses 21 April 2014).Nuraeni, Fitri. 2011. TBO _Part 3 Finite State Automata (FSA). (Online), (http://matakuliahufit.blogspot.com/2011/08/tbo-part-3-finite-state-automata-fsa.html, diakses 22 April 2014).2007. Finite State Automata (FSA). (Online), (http://note-why.blogspot.com/2013/04/finite-state-automata-fsa.html, diakses 22 April 2014)Dentya, Denny. 2014. FSM (Finite State Machine). (Online), (http://dentyagame.blogspot.com/2014/04/fsm-finite-state-machine.html, diakses 24 April 2014).