Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal

dokumen-dokumen yang mirip
Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

BAHASA REGULER 1. Ekspresi Regular

FINITE STATE MACHINE / AUTOMATA

TEORI BAHASA DAN AUTOMATA

BAB III AUTOMATA HINGGA NON-DETERMINISTIK DAN EKUIVALENSI AHN AHD - GR

Teori Bahasa dan Automata. Finite State Automata & Non Finite State Automata

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS

NonDeterministic Finite Automata. B.Very Christioko, S.Kom

BAB I PENDAHULUAN 1-1

8 April 2015 Teori Bahasa dan Otomata

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA

Deterministic Finite Automata

TEORI BAHASA DAN AUTOMATA

PERTEMUAN II. Finite State Automata (FSA) Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA)

Non-deterministic Finite Automata Dengan -Move

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

TEORI BAHASA DAN OTOMATA [TBO]

Amir Hamzah AKPRIND PRESS 2009

Teori Bahasa dan Otomata 1

TEORI BAHASA DAN OTOMATA [TBO]

FINITE STATE AUTOMATA

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Pendahuluan [6] FINITE STATE AUTOMATA. Hubungan RE & FSA [5] Finite State Diagram [6] 4/27/2011 IF-UTAMA 1

Non-Deterministic Finite Automata

TEKNIK KOMPILASI Bahasa Regular

TEORI BAHASA & AUTOMATA

1, 2, 3

BAB II MODEL KOMPUTASI FINITE STATE MACHINE. Pada Bab II akan dibahas teori dasar matematika yang digunakan

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. dirancang dan selanjutnya dapat diketahui gambaran dan kemampuan sistem secara

TEORI BAHASA DAN OTOMATA [TBO]

anggota alfabet dinamakan simbol terminal atau token.

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

Contents.

TEORI BAHASA DAN AUTOMATA

MODUL 4: Nondeterministic Finite Automata

Teori Bahasa Formal dan Automata

Penerapan Finite State Automata Pada Proses Peminjaman Buku di Perpustakaan Universitas Kristen Satya Wacana Artikel Ilmiah

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA PENGANTAR

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Teori Bahasa Formal dan Automata

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

TEKNIK KOMPILASI Konsep & Notasi Bahasa

Teori Himpunan. Matematika Dasar untuk Teori Bahasa Otomata. Operasi pada Himpunan. Himpunan Tanpa Elemen. Notasi. Powerset & Cartesian Product

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I

DFA. Teori Bahasa dan Automata. Viska Mutiawani - Informatika FMIPA Unsyiah

TEORI BAHASA DAN AUTOMATA

RENCANA PEMBELAJARAN SEMESTER

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

1. Pendahuluan. 2. Tinjauan Pustaka

Komponen sebuah Kompilator

PEMODELAN PERANGKAT LUNAK UNTUK PENGERTIAN DETERMINISTIC FINITE AUTOMATA DAN NON-DETERMINISTIC FINITE AUTOMATA

Reduksi DFA [Deterministic Finite Automata]

Teori Bahasa dan Otomata

Teori Bahasa Formal dan Automata

BAB I TEORI BAHASA DAN AUTOMATA

Aplikasi Simulator Mesin Turing Pita Tunggal

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi.

Lecture Notes Teori Bahasa dan Automata

BAB V RANGKAIAN ARIMATIKA

Teori Bahasa dan Operasi Matematis.

TEORI BAHASA DAN AUTOMATA

Teori Bahasa & Otomata

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. dengan perangkat yang digunakan. Beberapa kriteria standar ditentukan agar sistem

Bab XI, State Diagram Hal: 226

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

PENERAPAN FUNGSI TRANDUCER DALAM MERANCANG SIMULASI VENDING MACHINE

MODUL 3: Finite Automata

PENDEKATAN TEORI AUTOMATA UNTUK MENYELESAIKAN APLIKASI-APLIKASI DI BIDANG ILMU KECERDASAN BUATAN

Graf Berarah (Digraf)

Penggunaan Mesin Turing Multitrack untuk Operasi Bilangan Biner

Penggunaan Teori Otomata Pada Mesin Jaja

Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa

Teknik Informatika PERTEMUAN 2. TEORI BAHASA & OTOMATA Imam Riadi, M.Kom Shofwatul Uyun, M.Kom. Teknik Informatika

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

TEORI BAHASA DAN AUTOMATA

MODUL 1: PENGANTAR TEORI BAHASA

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

DIKTAT TEORI BAHASA DAN OTOMATA

PushDown Automata(PDA) Definisi : PDA adalah pasangan 7 tuple M = (Q,, q 0. ), dimana :

metodenumerikblog.wordpress.com Retno Tri Vulandari, S.Si, M.Sc

SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013. Graf Berarah

MATERI PERTEMUAN KE-1

Grammar dan Tingkat Bahasa

Konsep dan Notasi Bahasa. Istiqomah, S.Kom

MODUL 5: Nondeterministic Finite Automata dengan

FPGA DAN VHDL TEORI, ANTARMUKA DAN APLIKASI

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

MODUL 6: TEOREMA KLEENE

Tujuan perancangan bhs program

SATUAN ACARA PERKULIAHAN MATA KULIAH GRAPH & ANALISIS ALGORITMA (SI / S1) KODE / SKS : KK / 3 SKS

TEORI BAHASA DAN AUTOMATA

dipecahkan dengan ditemukannya model tersebut oleh G.H Meally (1955) dan secara terpisah oleh E.F Moore (1956). Tujuan inti dari penemuan ini adalah u

2.4 Relasi dan Fungsi

Transkripsi:

FINITE STATE AUTOMATA (FSA) DAN FINITE STATE MACHINE (FSM) MATERI MINGGU KE-3

Finite State Automata (FSA) Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal sebagai Finite State Automata (FSA). Pada FSA mesin mula-mula dalam state S0 dan menerima sederatan masukan yang dapat mengubahnya ke state-state berikutnya. Dalam FSA juga dikenal himpunan state-state tertentu yang disebut sabagai FINAL STATE. Perubahan dari satu state ke state berikutnya mengikuti sturan tertentu yang dirumuskan sebagai suatu FUNGSI transisi M. 2

Finite State Automata (FSA) Secara formal FSA dapat didefinisikan sebagai TUPLE-5 : (K, V T, M, S, Z) Dimana : K V T M S K Z K : himpunan hingga stata, : himpunan hingga simbol input (alfabet) : fungsi transisi, menggambarkan transisi stata AH akibat pembacaan simbol input. (Fungsi transisi ini biasanya diberikan dalam bentuk tabel.) : stata awal : himpunan stata penerima Ada dua jenis Finite State Automata : Deterministic Finite Automata : transisi stata AH akibat pembacaan sebuah simbol bersifat tertentu. Jika pada setiap state dari FSA tersebut apabila menerima input sebuah simbol maka HANYA ada SATU NEXT STATE yang mungkin dituju. M(DFA) : K V T K Non Deterministik Finite Automata : transisi stata AH akibat pembacaan sebuah simbol bersifat tak tentu. Jika FSA tersebut menerima input simbol maka minimal ada satu state yang akan berpindah ke LEBIH DARI SATU NEXT STATE yang mungkin dituju. M(AHN) : K V T 2 K 3

CONTOH FSA Buatlah diagram transisi dari FSA yang didefinisikan sebagai : M = (K, V T, M, S, Z) dimana : S ={S 0, S 1, S 2, S 3 } V T ={ 0,1 } K ={S 0, S 3 } Dengan fungsi transisi M ada pada tabel transisi sebagai berikut: STATE FUNGSI TRANSISI (M) 0 1 S 0 S 0 S 1 S 1 S 0 S 2 S 2 S 0 S 0 S 3 S 2 S 2 4

DIAGRAM TRANSISI : START 0 1 S 1 0 S S 0 3 1 1 1,0 0 Cara kerja FSA : Mula-mula dalam state S 0 Jika dari S 0 menerima 1 : akan ke State-S 1 Jika dari S 0 menerima 11 : akan ke State-S 1 lalu ke S 2 Jika dari S 0 menerima 0 : akan tetap di State- S 0 Jika dari S 0 menerima 10 : akan tetap kembali lagi State- S 0 Jika dari S 0 berturut-turut menerima masukan : 111, maka ia akan kembali ke- S 0 S 2 5

FSA SEBAGAI PENGENAL STRING Mesin FSA tersebut jika menerima masukan sederetan simbol dari simbol-simbol yang diijinkan maka akan menuju suatu state tertentu. Jika state akhir yang ditempuh setelah suatu FSA menerima sederetan simbol adalah state FINAL, maka deretan simbol (string) tersebut dikatakan DIKENALI oleh FSA, atau dengan kata lain FSA mengenali string tersebut. String yang dikenali oleh FSA merupakan suatu BAHASA yang dikenali oleh FSA tersebut. Jika dimiliki FSA M maka bahasa yang dikenali oleh FSA di notasikan sebagai : L(M) = { x x semua string yang mengantar M dari S 0 ke (S i ϵ Z) } Untuk mesin FSA pada contoh : L(M) = { 0*, 0*(10)0*, 0*(110,111)0* } 6

CONTOH Tentukan bahasa L(M) yang dikenali oleh Mesin M berikut ini : Jawab : Dari diagram terlihat bahwa final-state adalah S 3. Pergerakan state yang mengantar ke final-state adalah S 0 S 1 S 2 S 3 yakni string : 011 atau string 111 yang dapat ditulis sebagai (0,1)11. Pergerakan yang lain adalah dari S 0 langsung ke S 2 yaitu : S 0 S 2 S 3 yang dilakukan melalui string : 01 Setelah berada pada final state masih ada pergerakan yang bersifat rekursif pada S 3 yaitu apabila diberikan masukan 0,00,000, atau : 0*. Dengan demikian jika seluruh string tersebut digabungkan akan menjadi : (0,1)110* U 010*, sehingga bahasa yang dikenali adalah : L(M)= { (0,1)110* U 010* } = { ((0,1)11 U 01)0* } 7

DFA (DETERMINISTIC FINITE AUTOMATA) Berikut ini sebuah contoh DFA F(K, V, M, S, Z), dimana : K = {q0, q1, q2} M diberikan dalam tabel berikut : V T = {a, b} a b q0 q0 q1 S = q0 q1 q0 q2 Z = {q0, q1} q2 q2 q2 Ilustrasi graf untuk DFA F adalah sebagai berikut : Lambang stata awal adalah node dengan anak panah. Lambang stata awal adalah node ganda. 8

CONTOH Telusurilah, apakah kalimat-kalimat berikut diterima DFA : abababaa, aaaabab, aaabbaba. Jawab : M(q0,abababaa) M(q0,bababaa) M(q1,ababaa) M(q0,babaa) M(q1,abaa) M(q0,baa) M(q1,aa) M(q0,a) q0 Tracing berakhir di q0 (stata penerima) kalimat abababaa diterima M(q0, aaaabab) M(q0,aaabab) M(q0,aabab) M(q0,abab) M(q0,bab) M(q1,ab) M(q0,b) q1 Tracing berakhir di q1 (stata penerima) kalimat aaaababa diterima M(q0, aaabbaba) M(q0, aabbaba) M(q0, abbaba) M(q0, bbaba) M(q1,bbaba) M(q2,baba) M(q2,aba) M(q2,ba) M(q2,a) q2 Tracing berakhir di q2 (bukan stata penerima) kalimat aaabbaba ditolak Kesimpulan : sebuah kalimat diterima oleh DFA jika tracingnya berakhir di salah satu stata penerima. 9

EQUIVALENSI 2 DFA Dua buah DFA dikatakan equivalen jika keduanya dapat menerima bahasa yang sama. Misalkan kedua DFA tersebut adalah A dan A. Misalkan pula bahasa yang diterima adalah bahasa L yang dibangun oleh alfabet V T = {a1, a2, a3,..., an}. Berikut ini algoritma untuk menguji equivalensi dua buah DFA. 1. Berikan nama kepada semua stata masing-masing DFA dengan nama berbeda. Misalkan namanama tersebut adalah : S, A1, A2,... untuk DFA A, dan : S, A1, A2,... untuk DFA A. 2. Buat tabel (n+1) kolom, yaitu kolom-kolom : (v, v ), (v a1, v a1 ),..., (v an, v an ), yaitu pasangan terurut (stata DFA A, stata DFA A ). 3. Isikan (S, S ) pada baris pertama kolom (v, v ), dimana S dan S masing-masing adalah stata awal masing-masing DFA. 4. Jika terdapat edge dari S ke A1 dengan label a1 dan jika terdapat edge dari S ke A1 juga dengan label a1, isikan pasangan terurut (A1, A1 ) sebagai pada baris pertama kolom (v a1, v a1 ) Lakukan hal yang sama untuk kolom-kolom berikutnya. 5. Perhatikan nilai-nilai pasangan terurut pada baris pertama. Jika terdapat nilai pasangan terurut pada kolom (v a1, v a1 ) s/d (v an, v an ) yang tidak sama dengan nilai pasangan terurut (v, v ), tempatkan nilai tersebut pada kolom (v, v ) baris-baris berikutnya. Lakukan hal yang sama seperti yang dilakukan pada langkah (4). Lanjutkan dengan langkah (5). 6. Jika selama proses di atas dihasilkan sebuah nilai pada kolom (v, v ), dengan komponen v merupakan stata penerima sedangkan komponen v bukan, atau sebaliknya, maka kedua DFA tersebut tidak ekuivalen. Proses dihentikan. 7. Jika kondisi (6) tidak dipenuhi dan jika tidak ada lagi pasangan terurut baru yang harus ditempatkan pada kolom (v, v ) maka proses dihentikan dan kedua DFA tersebut ekuivalen. 10

CONTOH Periksalah ekuivalensi kedua DFA berikut: Jawab : Dengan menggunakan menggunakan algoritma di atas maka dapat dibentuk tabel berikut, (v, v ) (v a, v a ) (v b, v b ) (1, 4) (1, 4) (2, 5) (2,5) (3, 6) (1, 4) (3, 6) (2, 7) (3, 6) (2, 7) (3, 6) (1, 4) Keterangan: > (2, 5) adalah pasangan terurut baru > (3, 6) adalah pasangan terurut baru > (2, 7) adalah pasangan terurut baru > tidak ada lagi pasangan terurut baru 11

NFA (NON DETERMINISTIC FINITE AUTOMATA) Berikut ini sebuah contoh NFA F (K, V T, M, S, Z), dimana : K = {q 0, q 1, q 2,q 3, q 4 } M diberikan dalam tabel berikut : V T = {a, b,c} a b c S = q 0 Z = {q 4 } Ilustrasi graf untuk NFA F adalah sebagai berikut : q 0 { q 0, q 1 } { q 0, q 2 } { q 0, q } q 1 { q 1, q } { q 1 } { q 1 } q 2 { q 2 } { q 2, q } { q 2 } q 3 { q 3 } { q 3 } { q 3, q 4 } q 4 12

Fungsi transisi M sebuah NFA dapat diperluas sebagai berikut : M(q, ) = {q} untuk setiap q K M(q, t T) = M(p i, T) dimana t V T, T adalah V T *, dan M(q, t) = {p i } M({q 1, q 2,, q n }, x) = M(q i,x), untuk x V T * Sebuah kalimat di terima NFA jika : salah satu tracing-nya berakhir di stata penerima, atau himpunan stata setelah membaca string tersebut mengandung stata penerima Contoh : Telusurilah, apakah kalimat-kalimat berikut diterima NFA : ab, aabc, aabb Jawab : M(q 0,ab) M(q 0,b) M(q 1,b) { q 0, q 2 } { q 1 } = { q 0, q 1, q 2 } Himpunan stata tidak mengandung stata penerima kalimat ab tidak diterima M(q 0,aabc) M(q 0,abc) M(q 1,abc) {M(q 0,bc) M(q 1,bc)} M(q 1,bc) {{M(q 0, c) M(q 2,c)} M(q 1, c)} M(q 1, c) {{{ q 0, q 3 } { q 2 }} { q 1 }} { q 1 } = { q 0, q 1, q 2, q 3 } Himpunan stata tidak mengandung stata penerima kalimat aabc tidak diterima M(q 0,aabb) M(q 0,abb) M(q 1,abb) {M(q 0,bb) M(q 1,bb)} M(q 1,bb) {{M(q 0, b) M(q 2,b)} M(q 1, b)} M(q 1, b) {{{ q 0, q 2 } { q 2, q 4 }} { q 1 }} { q 1 } = { q 0, q 1, q 2, q 4 } Himpunan stata tidak mengandung stata penerima kalimat aabb diterima 13

NFA dengan Transisi Hampa Perhatikan NFA berikut. NFA di atas mengandung ruas dengan bobot. NFA demikian dinamakan NFA dengan transisi, atau singkatnya NFA-. NFA- di atas menerima bahasa L = {1 i 0 j i, j 0} 14

FINITE STATE MACHINE Finite State Machine adalah suatu mesin abstrak yang diwakili oleh sekumpulan keadaan, sekumpulan masukan, sekumpulan aturan transisi (perpindahan kedudukan mesin) dan (mungkin) sekumpulan keluaran. Contoh dari mesin seperti ini adalah : Mesin Jaja (Vending Machine) Pintu otomatis Telepon Umum 15

FINITE STATE MACHINE FSM didefinisikan sebagai pasangan 6 tupel F(K, V, S, Z, f, g) dimana : K : himpunan hingga stata, V T : himpunan hingga simbol input (alfabet) S K : stata awal Z : himpunan hingga simbol output f : K V T K disebut fungsi next state g : K V T Z disebut fungsi output CONTOH: K : {q0, q1, q2} S : q0 V T : {a, b} Z : {x, y, z} fungsi f : fungsi g : f(q0,a) = q1 f(q0,b) = q2 f(q0,a) = x f(q0,b) = y f(q1,a) = q2 f(q1,b) = q1 f(q1,a) = x f(q1,b) = z f(q2,a) = q0 f(q2,b) = q1 f(q2,a) = z f(q2,b) = y 16

FSM dapat disajikan dalam bentuk tabel atau graf. Untuk FSM contoh di atas tabel dan grafnya masing-masing adalah : a b q0 q1, x q2, y q1 q2, x q1, z q2 q0, z q1, y Jika FSM di atas mendapat untai masukan aaba maka akan dihasilkan : untai keluaran : xxyx untai stata : q0 q1 q2 q1 q2 17

FSM PENJUMLAHAN BINER FSM dapat disajikan sebagai penjumlah biner. Sifat penjumlahan biner bergantung pada statusnya : carry atau not carry. Pada status not carry berlaku : 0 + 0 = 0, 1 + 0 = 0 + 1 = 1, 1 + 1 = 0 Pada status carry berlaku : 0 + 0 = 1, 1 + 0 = 0 + 1 = 0, 1 + 1 = 1 Pada status not carry blank (b) menjadi b, sedangkan pada status carry menjadi 1. Nilai setiap tupel untuk FSM ini adalah : K = N (not carry), C (carry), dan S (stop) S = N V T = {00, 01, 10, 11, b} Z = {0, 1, b} TABEL FSM 00 01 10 11 b N N, 0 N, 1 N, 1 C, 0 S, b C N, 1 C, 0 C, 0 C, 1 S, 1 18

GRAF FSM PENJUMLAHAN BINER Contoh : Hitunglah : 1101011 + 0111011 Jawab : Input = pasangan digit kedua bilangan, mulai dari LSB (least significant bit) = 11, 11, 00, 11, 01, 11, 11, b Output = 0, 1, 1, 0, 0, 1, 1, 1 (jawab : dibaca dari kanan) Stata = N, C, C, N, C, C, C, C, S Periksa : 1 1 0 1 0 1 1 + 0 1 1 1 0 1 1 1 1 1 0 0 1 1 0 19

TERIMAKASIH Lilis Setyowati 20