Deterministic Finite Automata

dokumen-dokumen yang mirip
Non-Deterministic Finite Automata

Minimum DFA. CSG3D3 Teori Komputasi

Operasi FA dan Regular Expression

Grammar dan Tingkat Bahasa

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

TEORI BAHASA DAN AUTOMATA

FINITE STATE AUTOMATA

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

TEORI BAHASA DAN AUTOMATA

Teori Bahasa Formal dan Automata

FINITE STATE MACHINE / AUTOMATA

Teori Bahasa Formal dan Automata

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

MODUL 4: Nondeterministic Finite Automata

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

Non-deterministic Finite Automata Dengan -Move

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

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

TEORI BAHASA DAN AUTOMATA

Teori Bahasa dan Otomata

TEORI BAHASA DAN OTOMATA PENGANTAR

TEORI BAHASA DAN AUTOMATA

BAB I PENDAHULUAN 1-1

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

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO]

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

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

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

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

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

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

Teori Bahasa Formal dan Automata

MODUL 3: Finite Automata

Teori Bahasa dan Otomata 1

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

TEORI BAHASA DAN OTOMATA [TBO]

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

MODUL 5: Nondeterministic Finite Automata dengan

Reduksi DFA [Deterministic 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

1, 2, 3

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

TEORI BAHASA DAN AUTOMATA

Lecture Notes Teori Bahasa dan Automata

TEKNIK KOMPILASI Bahasa Regular

Contents.

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

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

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

Teori Bahasa & Otomata

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA & AUTOMATA

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

Aplikasi Simulator Mesin Turing Pita Tunggal

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

Amir Hamzah AKPRIND PRESS 2009

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Mesin Turing. Pertemuan Ke-14. Sri Handayaningsih, S.T., M.T. Teknik Informatika

Pendahuluan. CSG3D3 Teori Komputasi

MODUL 11: PUSHDOWN AUTOMATON

MODUL 1: PENGANTAR TEORI BAHASA

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

Lecture Notes Teori Bahasa dan Automata

Pengaruh Paralelisme Terhadap Mesin Turing Sebagai Konsep Komputasi

RENCANA PEMBELAJARAN SEMESTER (RPS)

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

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

INTELLIGENT DECISION SUPPORT SYSTEM DALAM MENDETEKSI BEHAVIOUR SIRKUIT LOGIKA

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

RENCANA PEMBELAJARAN SEMESTER

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

Turing and State Machines. Mesin Turing. Turing Machine. Turing Machines 4/14/2011 IF_UTAMA 1

MODUL 6: TEOREMA KLEENE

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

Pengenalan Konsep Bahasa dan

BAB I TEORI BAHASA DAN AUTOMATA

Komponen sebuah Kompilator

Penggunaan Mesin Turing Multitrack untuk Operasi Bilangan Biner

BAHASA BEBAS KONTEKS UNTUK KOMPLEMEN DARI STRING BERULANG CONTEXT FREE LANGUAGE FOR COMPLEMENT OF REPEATED STRING

TEORI BAHASA DAN AUTOMATA

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

BAB 2. ANALISIS LEKSIKAL

Implementasi DFS dan BFS Dalam Recognizer Pushdown Automata

Teori Bahasa & Otomata

1. Pendahuluan. 2. Tinjauan Pustaka

TEKNIK KOMPILASI Konsep & Notasi Bahasa

anggota alfabet dinamakan simbol terminal atau token.

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

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

BAHASA REGULER 1. Ekspresi Regular

BAB II LANDASAN TEORI

RENCANA PEMBELAJARAN SEMESTER

TEORI BAHASA DAN OTOMATA

IF-UTAMA 1. Definisi. Grammar. Definisi

PENERAPAN KONSEP FINITE STATE AUTOMATA (FSA) PADA MESIN PEMBUAT MINUMAN KOPI OTOMATIS. Rizky Indah Melly E.P,Wamiliana dan Didik Kurniawan

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

BAB II LANDASAN TEORI

Transkripsi:

CSG3D3 Teori Komputasi Deterministic Finite Automata Agung Toto Wibowo Ahmad Suryan Yanti Rusmawati Mahmud Dwi Sulistiyo Kurniawan Nur Ramadhani Said Al Faraby Dede Rohidin KK Intelligence, Computing, and Multimedia

Finite Automata Finite Automata (FA) : Suatu model komputer dengan jumlah memory yang sangat terbatas. Model komputasional yang paling sederhana. Ada 2 jenis : Deterministik Finite Automata (DFA) Deterministik setiap input alphabet/simbol dari suatu state hanya akan bertransisi ke satu state lain. Atau dengan kata lain, deterministik berarti tidak ambigu dalam menentukan next state. Non-Deterministik Finite Automata (NDFA) Non-Deterministrik setiap input alphabet/simbol dari suatu state mungkin akan bertransisi ke lebih dari satu state lain.

Contoh Deterministic FA Mesin Genap di pertemuan sebelumnya (catatan: 0 adalah genap). Lihat bahwa dari q0, tidak ada kerancuan jika menerima input 0 (akan ke q1), dan sebagainya.

Contoh Non-Deterministic FA Mesin di bawah adalah mesin (NFA) untuk mengenali string biner yang selalu diakhiri 01. Lihat bahwa, dari state q0 akan muncul kerancuan atau keambiguan jika menerima input 0 (akan ke q0 atau q1).

Ilustrasi Mesin DFA Input Tape Head Arah Pergerakan State Indicator 1 4 2 3

Definisi DFA [1] Mesin automata yang terdiri dari finite number of state. Salah satu state sebagai intitial state. Minimal satu state menjadi accepted/final state. Mesin akan menerima input stream berupa simbol/alphabet yang akan diproses secara sekuensial. Mesin akan berubah dari state satu ke state yang lain berdasarkan simbol input dan current state.

Definisi DFA [2] Deterministic mesin tidak diperkenankan ambigu. Finite menyatakan fakta bahwa mesin terdiri dari state yang jumlahnya finite (terbatas). Esensi DFA adalah string recognizer (menerima atau menolak sebuah string) berdasarkan definisi bahasa dari DFA tersebut. DFA juga dimungkinkan dapat menerima string kosong. Jika hal ini terjadi, maka initial state juga merupakan accepted state.

Definisi Formal DFA Sebuah finite automata didefinisikan dalam 5-tuple (Q,,, q 0, F) di mana 1. Q adalah himpunan terbatas dari states, 2. himpunan terbatas alphabet, 3. : Q Q fungsi transisi, dinotasikan dengan (q,a) p 4. q 0 Q adalah start state, dan 5. F Q adalah himpunan accept states (atau final states).

0 1 1 0 q 1 q 2 q 3 Contoh : Deskripsi formal dari M1 dapat kita tulis sebagai 0,1 1. M 1 = (Q,,, q 1, F) 2. Q = {q 1, q 2, q 3 } 3. = {0,1} 4. dideskripsikan sebagai 0 1 q 1 q 1 q 2 5. q 1 adalah start state 6. F = {q 2 } q 2 q 3 q 3 q 2 q 2 q 2

0 1 1 0 Catatan : Dalam bahasa formal, aturan transisi ( ) dapat pula dinotasikan dengan cara { } (q 1, 0) q 1 ; (q 1, 1) q 2 ; (q 2, 0) q 3 ; (q 2, 1) q 2 ; (q 3, 0) q 2 ; (q 3, 1) q 2 ; q 1 q 2 q 3 0,1

Syarat sebuah STD dikatakan Deterministic Harus ada tepat 1 initial state. Minimal 1 final state. Dari setiap state, hanya ada satu busur yang meninggalkan state itu untuk setiap simbol dalam alphabet (menghindari ambigu). untuk setiap simbol yang dibaca hanya ada 1 next state Harus Fully Defined di setiap state harus mendefinisikan secara pasti setiap kemungkinan simbol dari alphabet yang muncul (menghindari no transition applicable).

Lihat kembali STD berikut!! Dari pertemuan sebelumnya, apakah mesin float kita ini termasuk deterministic FA??? Jika tidak, apa yang membuatnya tidak termasuk deterministic FA??

Mengubah STD menjadi Deterministic Berikut langkah-langkah mengubah suatu STD, yang belum deterministic dikarenakan belum fully defined, menjadi Deterministic FA 1. Tambahkan satu state baru, misalnya q x 2. Gambar busur dari q x ke dirinya sendiri (ke q x juga) dengan label semua simbol di alphabet. 3. Tambahkan busur dari states lainnya yang belum fully defined ke q x, dengan label simbol yang belum ada transisinya.

Contoh mengubah STD ke DFA [1] Kita tambahkan state baru q 8 q1 q2, E q3 q8 q4 E q5 + - q8 q7 q6 q8 E + -,

Contoh mengubah STD ke DFA [2] Untuk setiap simbol di alphabet hubungkan busur dari dan ke q 8 (dengan label semua simbol) q1 q2, E q3 q8 q4 E q5 + - q8 q7 q6 q8 E + -,

Contoh mengubah STD ke DFA [3] Tambahkan busur dari state lain yang belum fully defined ke state q 8, sehingga menjadi fully defined q1 q2, E E + -, + - q3 E + -, q8 q4 + -, E, E q8 q7 q5 + - q6 E + -, E + -, q8 E + -,

Latihan Lihat Buku 1 hal 36 no 2. Ubah STD berikut sehingga menjadi DFA yang ekivalen! Catatan: = {a,b} b q0 a q1 b q2 a q3

Latihan Diketahui L = {100, 000, 001, 010} Buatkan DFA yang menerima bahasa L di atas! STD yang hanya menerima string di dalam himpunan/bahasa L.

Language dari Mesin DFA [1] Kita akan menyebut himpunan string yang dapat diterima oleh suatu DFA sebagai suatu language dari DFA tersebut. Sebagai contoh, perhatikan STD berikut. A adalah himpunan semua string yang diterima oleh mesin M. Oleh sebab itu, A adalah language dari mesin M (dinotasikan dengan L(M) = A).

Language dari Mesin DFA [2] Secara harfiah, language dari Bahasa Indonesia adalah kalimat yang dapat disusun oleh grammer bahasa Indonesia. (jumlah kalimatnya tidak terbatas). Kembali lagi ke definisi bahwa language merupakan himpunan string yang dipilih dari Σ *, maka pada mesin M di gambar, language dari mesin tersebut adalah L(M) = {0, 00, 10, 000, 010, 100, 110,..., 0000000,...}

Tugas Latihan Soal 1 Yang menjadi pembeda antara Deterministic FA dan Non- Deterministic FA adalah a. Ada/tidak transisi epsilon b. Fully Defined c. Ambigu / tidak dalam menentukan next state d. a, b, dan c benar e. b, dan c benar

Tugas Latihan Soal 2 Jika kita memiliki alphabet = {0, 1}, maka Buatkan STD (DFA) yang menerima string biner dengan jumlah kemunculan angka 0 adalah genap. Contoh string diterima : λ, 11, 110, 101, 110011, 10101010, dlsb.

Tugas Latihan Soal 3 Jika kita memiliki alphabet = {0, 1}, maka Buatkan STD (DFA) yang menerima string biner dengan jumlah kemunculan angka 1 adalah genap. Contoh string diterima : λ, 11, 110, 101, 110011, 10101010, dlsb.

Tugas Latihan Soal 4 Jika kita memiliki alphabet = {0, 1}, maka Buatkan STD (DFA) yang menerima string biner dengan jumlah kemunculan angka 1 adalah genap dan sekaligus jumlah kemunculan angka 0-nya juga genap. Contoh string diterima : λ, 11, 00, 1100, 1010, 0101, 0011, 111100, 101011, dlsb.

Tugas Latihan Soal 5 Jika kita memiliki alphabet = {a, b, c}, maka Buatkan STD (DFA) yang menerima string dengan alphabet di atas dengan jumlah kemunculan simbol a adalah genap, b adalah genap, dan c adalah genap. Contoh string diterima : λ, aa, bb, aabb, bbcc, aabbcc, aaaaaabbcc, abcaabbca, babacaca, dlsb.