Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga

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

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

FINITE STATE MACHINE / AUTOMATA

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

TEORI BAHASA DAN AUTOMATA

BAHASA REGULER 1. Ekspresi Regular

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. Finite State Automata & Non Finite State Automata

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

RENCANA PEMBELAJARAN SEMESTER

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

Teori Bahasa dan Otomata 1

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

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

TEORI BAHASA DAN AUTOMATA

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

TEORI BAHASA DAN OTOMATA [TBO]

Teori Bahasa & Otomata

TEORI BAHASA DAN AUTOMATA

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

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

Reduksi DFA [Deterministic Finite Automata]

Deterministic Finite Automata

Komponen sebuah Kompilator

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

TEKNIK KOMPILASI Bahasa Regular

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

MODUL 6: TEOREMA KLEENE

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

Contents.

TEORI BAHASA DAN OTOMATA

Non-deterministic Finite Automata Dengan -Move

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

MODUL 4: Nondeterministic Finite Automata

TEORI BAHASA DAN OTOMATA PENGANTAR

BAB I TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA

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

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Teori Bahasa Formal dan Automata

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN AUTOMATA

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

TEKNIK KOMPILASI Konsep & Notasi Bahasa

TEORI BAHASA DAN OTOMATA [TBO]

Teori Komputasi 11/23/2016. Bab 6: Context-Free Grammar & Parsing. Context-Free Grammar. Context-Free Grammar

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

TEORI BAHASA DAN AUTOMATA

Teori Bahasa dan Otomata

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

FINITE STATE AUTOMATA

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

IF-UTAMA 1. Definisi. Grammar. Definisi

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

TEORI BAHASA DAN AUTOMATA

anggota alfabet dinamakan simbol terminal atau token.

TEORI BAHASA DAN AUTOMATA

Teori Bahasa Formal dan Automata

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

Amir Hamzah AKPRIND PRESS 2009

Non-Deterministic Finite Automata

Operasi FA dan Regular Expression

Ekspresi Reguler. Pertemuan Ke-8. Sri Handayaningsih, S.T., M.T. Teknik Informatika

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA & AUTOMATA

1. Pendahuluan. 2. Tinjauan Pustaka

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

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

1, 2, 3

MODUL 5: Nondeterministic Finite Automata dengan

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

Grammar dan Tingkat Bahasa

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

Teori Bahasa dan Operasi Matematis.

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

DIKTAT TEORI BAHASA DAN OTOMATA

SATUAN ACARA PERKULIAHAN (SAP)

Dasar Teori Bahasa & Grammar

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

Teori Bahasa & Otomata

MODUL 3: Finite Automata

Pendahuluan. Push Down Atomata. Perbedaan FA dan PDA [7] 4/25/2012 IF-UTAMA 1. Grammar-machine equivalence [3] Latar belakang munculnya konsep PDA

BAB 2. ANALISIS LEKSIKAL

Bab XI, State Diagram Hal: 226

PERTEMUAN 9 TEORI BAHASA DAN OTOMATA [TBO]

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

Penggunaan Mesin Turing Multitrack untuk Operasi Bilangan Biner

Teori Komputasi 10/15/2015. Bab 3: Konsep Bahasa dan Otomata. Teori Bahasa. Teori Bahasa. Agenda. Teori Bahasa Otomata Operasi Dasar String

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

PENERAPAN FUNGSI TRANDUCER DALAM MERANCANG SIMULASI VENDING MACHINE

MATERI PERTEMUAN KE-1

MODUL 1: PENGANTAR TEORI BAHASA

Teori Bahasa Formal dan Automata

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA [TBO]

Transkripsi:

Teori Komputasi Fakultas Teknologi dan Desain Program Studi Teknik 1-1 Informatika Bab 5: Agenda. Deterministic Finite Automata DFA (Otomata Hingga Deterministik) Equivalen 2 DFA Finite State Machine FSA (Mesin Stata Hingga) Non-Deterministic Finite Automata NFA (Otomata Hingga Non-Deterministik) NFA to DFA Conversion DFA to Grammar Conversion Automata Hingga 2 Definisi. Otomata Hingga (AH)/Automata Hingga (AH)/Finite Automata (FA) didefinisikan sebagai pasangan 5 tupel: (K, V T, M, S, Z). K : himpunan hingga stata, V T : himpunan hingga simbol input (alfabet) M : fungsi transisi, menggambarkan transisi stata AH akibat pembacaan simbol input. Fungsi transisi ini biasanya diberikan dalam bentuk tabel. S K : stata awal Z K : himpunan stata penerima Terdiri dari 2 jenis: 1. Deterministic FA (DFA), dimana transisi stata FS merupakan akibat dari pembacaan sebuah simbol bersifat tertentu; dan 2. Non-Deterministic FA (NFA), dimana transisi stata FS merupakan akibat dari pembacaan sebuah simbol bersifat tak tentu. Automata Hingga 3 Automata Hingga 4 1

Deterministic Finite Automata (DFA). Contoh kasus: Diketahui sebuah DFA sebagai berikut F(K, V T, M, S, Z), dimana: K = {q0, q1, q2} M diberikan dalam tabel berikut: V T = {a, b} a b S = {q0} q0 q0 q1 Z = {q0, q1} q1 q0 q2 q2 q2 q2 Automata Hingga 5 Ilustrasi graph untuk DFA F adalah sebagai berikut: Problem: Telusurilah, apakah string abababaa diterima DFA F? 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) M(q0) atau q0 Automata Hingga 6 Contoh kasus lain: Diketahui table M sebuah DFA Y di samping ini dengan nilai Z = {q0 dan q2}. Berdasarkan tabel M tersebut, maka tentukan: a. pasangan tuple dan b. graph otomata untuk DFA tersebut. a b c q0 q0 q2 q3 q1 q0 q2 q1 q2 q1 q3 q1 q3 q3 q0 q2 Latihan 1. Problem 1: Lakukanlah penelusuran menggunakan gambar graph sebelumnya untuk menguji apakah string-string berikut diterima DFA Y? 1. a 2 b 3 c 2 2. abcabcabc 3. a 3 b 3 c 3 Automata Hingga 7 Automata Hingga 8 2

Problem 2: Diketahui sebuah graph DFA X sebagai berikut, dimana setiap stata hanya memiliki satu buah nilai input dan tidak ada stata yang disinggahi > 1 kali secara berurutan untuk setiap nilai inputnya! Problem 3: Rancanglah sebuah DFA Y agar dapat menerima string-string berikut, dimana setiap stata hanya memiliki satu buah nilai input dan tidak ada stata yang disinggahi > 1 kali secara berurutan untuk setiap nilai input yang sama! 1. abaaba 2. abbaabba Berdasarkan gambar graph di atas, maka tentukanlah: 1. K, V T, S, Z, dan tabel M; 2. apakah string-string berikut diterima DFA X? 1. aaabbaaa 2. aabbaabaa Automata Hingga 9 Automata Hingga 10 Equivalensi 2 DFA. Dua buah DFA dikatakan equivalen jika keduanya dapat menerima bahasa yang sama. Misalkan kedua DFA tersebut adalah A dan A dan bahasa yang diterima adalah bahasa L yang dibangun oleh alfabet V T = {a1, a2, a3,..., an}. Untuk menentukan equivalensi 2 buah DFA, maka algoritma yang digunakan adalah sebagai berikut: 1. Berikan nama kepada semua stata masing-masing FDA dengan nama berbeda. Misalkan nama-nama tersebut adalah: S, A1, A2,... untuk FDA A, dan : S, A1, A2,... untuk FDA A. 2. Buat tabel (n+1) kolom, yaitu kolom-kolom: (v, v ), (v a1, v a1 ),..., (v an, v an ), yaitu pasangan terurut (stata FDA A, stata FDA A ). 3. Isikan (S, S ) pada baris pertama kolom (v, v ), dimana S dan S masing-masing adalah stata awal masing-masing FDA. Automata Hingga 11 Automata Hingga 12 3

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 nilaipasangan 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. Automata Hingga 13 Automata Hingga 14 Contoh kasus: Periksalah equivalensi kedua DFA berikut. Latihan 2. Problem 1: Periksalah equivalensi kedua DFA berikut. DFA A DFA A Automata Hingga 15 DFA Q DFA Q Automata Hingga 16 4

Problem 2: Gambarkan dua buah DFA Q dan Q yang ekuivalen dan buktikan ekuivalen kedua DFA tersebut dalam sebuah tabel jika input yang diberikan adalah a dan b dan setiap DFA memiliki minimum 3 state! Automata Hingga 17 Finite State Machine (FSM). Varian automata hingga yang memiliki output. FSM didefinisikan sebagai pasangan 6 tupel F(K, V T, S, Z, f, g) dimana: K : Himpunan hingga state V T : Himpunan hingga simbol/terminal input S K : State awal Z : Himpunan hingga simbol/terminal output f : Fungsi input g : Fungsi output Automata Hingga 18 Contoh kasus: Diketahui sebuah FSM memiliki 2 simbol input, 3 state, dan 3 simbol output sebagai berikut: K = {q0, q1, q2} Fungsi f: S = q0 f(q0,a) = q1 f(q0,b) = q2 V T = {a, b} f(q1,a) = q2 f(q1,b) = q1 Z = {x, y, z} f(q2,a) = q0 f(q2,b) = q1 Fungsi g: Problem: Sajikan FSM tersebut f(q0,a) = x f(q0,b) = y dalam bentuk graph dan tabel! f(q1,a) = x f(q1,b) = z f(q2,a) = z f(q2,b) = y Automata Hingga 19 Latihan 3. Problem 1: Tentukan pasangan tupel FSM berikut. Automata Hingga 20 5

Problem 2: Perhatikan tabel berikut, kemudian gambarkan graph FSM otomata dan tuliskan pasangan 6 tuple berdasarkan tabel FSM tersebut. Teori Komputasi Automata Hingga 21 Fakultas Teknologi dan Desain Program Studi Teknik 1-22Informatika Finite State Machine (FSM) Binary Adder. 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 menjadi blank (b), sedangkan pada status carry menjadi 1. Contoh kasus: Diketahui 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} M diberikan dalam tabel berikut: Z = {0, 1, b} Automata Hingga 23 Automata Hingga 24 6

Contoh kasus: Hitunglah 1101011 + 0111011 Jawab: Input = pasangan digit kedua bilangan, mulai dari LSB = 11, 11, 00, 11, 01, 11, 10, b Output = 0, 1, 1, 0, 0, 1, 0, 1 (tulis dari kanan kiri) Stata = N, C, C, N, C, C, C, S (tulis dari kanan kiri) Periksa = 1 1 0 1 0 1 1 0 1 1 1 0 1 1 + 1 0 1 0 0 1 1 0 S CCC NCCN (baca dari kiri kanan) Latihan 4. Problem 1: Gambarkan graph FSA untuk menggambarkan perhitungan kedua bilangan biner tersebut. Problem 2: (a) Hitunglah 10010110 + 01010111; (b) Gambarkan graph FSA untuk menggambarkan perhitungan kedua bilangan biner tersebut. Automata Hingga 25 Automata Hingga 26 Non-Deterministic Finite Automata (NFA). Contoh kasus: Diketahui sebuah NFA sebagai berikut F(K, V T, M, S, Z), dimana: M diberikan dalam tabel berikut: K = {q0, q1, q2, q3, q4} a b c V T = {a, b, c} q0 {q0,q1} {q0,q2} {q0,q3} S = {q0} Z = {q4} q1 {q1,q4} {q1} {q1} q2 {q2} {q2,q4} {q2} q3 {q3} {q3} {q3,q4} q4 Automata Hingga 27 Problem: Telusurilah, apakah kalimat-kalimat berikut diterima NFA: ab dan abc Latihan 5. Problem 1: Berdasarkan tabel M pada contoh kasus di atas, telusurilah apakah kalimat-kalimat berikut diterima NFA: aabc, aabb, dan abcabc. Automata Hingga 28 7

Teori Komputasi NFA to DFA Conversion Contoh kasus: Diketahui sebuah NFA sebagai berikut F(K, V T, M, S, Z), dimana: M diberikan dalam tabel berikut: K = {A, B, C} a b V T = {a, b} A {A,B} {C} S = A Z = {C} B A B C B {A,B} Fakultas Teknologi dan Desain Program Studi Teknik 1-29Informatika Automata Hingga 30 Algoritma konversi: 1. Tetapkan: S = S dan V T = V T, kemudian salinkan tabel DFA F sebagai tabel DFA F, sehingga K = K dan M = M. 2. Setiap stata q yang merupakan nilai (atau peta) dari fungsi dan q K, ditetapkan sebagai elemen baru dari K. Tempatkan q tersebut pada kolom stata M, lakukan pemetaan berdasarkan fungsi M. 3. Ulangi langkah (3) sampai tidak diperoleh stata baru. 4. Elemen Z adalah semua stata yang mengandung stata elemen Z. Latihan 6. Problem 1: Konversikan otomata NFA berikut menjadi otomata DFA! Automata Hingga 31 Automata Hingga 32 8

Teori Komputasi Fakultas Teknologi dan Desain Program Studi Teknik 1-33Informatika DFA to Grammar Conversion. Contoh kasus: Diketahui sebuah DFA sebagai berikut F(K, V T, M, S, Z), akan dibentuk GR G = (V T, V N, S, Q) dimana: K = {S, A, B, C} M diberikan dalam K 0 1 V T = {0, 1} tabel berikut: S B A S = S Z = {S} A C S B S C C A B Automata Hingga 34 Algoritma konversi: 1. Tetapkan: V T = VT, S = S, V N = K 2. Jika A p, A q K dan a VT, maka: M A p, a = A q ekuivalen dengan produksi: A p aa q, jika A q Z A p a, jika A q Z Latihan 7. Problem 1: Tentukan himpunan produksi otomata DFA berikut! Automata Hingga 35 Automata Hingga 36 9

Problem 2: Tentukan himpunan produk GR X untuk otomata DFA X berikut! Problem 3: Tentukan himpunan produk GR Q untuk otomata berikut! Automata Hingga 37 Automata Hingga 38 Grammar to NFA Conversion. Algoritma konversi grammar ke AHN: 1. Tetapkan V T = V T, S = S, K = V N 2. Produksi Ap aaq ekuivalen dengan M(Ap, a) = Aq Produksi Ap a ekuivalen dengan M(Ap, a) = X, dimana X V N 3. K = K {X} 4. Z = {X} Automata Hingga 39 Contoh kasus: Diketahui sebuah grammar G = (V T, V N, S, Q) akan dibentuk F = (K, V T, M, S, Z), dimana V T = {a, b}, V N = {S, A, B}, S = S, dan Q = {S as, S ba, A aa, A ab, B b} Latihan 8. Problem 1: Tentukan DFA berdasarkan contoh kasus di atas! Problem 2: Tentukan F = (K, V T, M, S, Z), jika diketahui sebuah grammar G = (V T, V N, S, Q) memiliki V T = {a, b}, V N = {S, A, B}, S = S, dan Q = {S as, S ba, A a, A ab, B bs, B bb, B b} Automata Hingga 40 10

Ekuivalensi NFA RE (Regular Expression). Jenis ER Simbol ER NFA Jenis ER Simbol ER NFA Simbol Hampa ER Hampa atau {} Alternation Concatenation r1 r2 r1 r2 ER Umum r Kleene Clossure r* Automata Hingga 41 Automata Hingga 42 Contoh kasus: Tentukan NFA untuk ekspresi regular r = 0(1 23)* Teori Komputasi Latihan 9. Problem 1: Tentukan NFA untuk ekspresi regular r = 12 1(23)*! Automata Hingga 43 11