MODUL 3: Finite Automata

dokumen-dokumen yang mirip
MODUL 4: Nondeterministic Finite Automata

MODUL 5: Nondeterministic Finite Automata dengan

MODUL 6: TEOREMA KLEENE

MODUL 11: PUSHDOWN AUTOMATON

Teori Bahasa Formal dan Automata

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

MODUL 2: Bahasa Regular dan Ekspresi Regular

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

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

MODUL 1: PENGANTAR TEORI BAHASA

Teori Bahasa Formal dan Automata

Non-deterministic Finite Automata Dengan -Move

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA

FINITE STATE MACHINE / AUTOMATA

Teori Bahasa Formal dan Automata

Reduksi DFA [Deterministic Finite Automata]

MODUL 7: MINIMISASI FA

TEORI BAHASA DAN OTOMATA [TBO]

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

TEORI BAHASA DAN OTOMATA [TBO]

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

FINITE STATE AUTOMATA

Deterministic Finite Automata

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

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

Lecture Notes Teori Bahasa dan Automata

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

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

Operasi FA dan Regular Expression

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

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

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

TEKNIK KOMPILASI Bahasa Regular

TEORI BAHASA DAN OTOMATA PENGANTAR

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

Contents.

Teori Bahasa dan Otomata 1

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

PERTEMUAN 9 TEORI BAHASA DAN OTOMATA [TBO]

Teori Bahasa dan Operasi Matematis.

Teori Bahasa Formal dan Automata

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

Teori Himpunan Ole l h h : H anu n n u g n N. P r P asetyo

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

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

Teori Bahasa dan Otomata

Non-Deterministic Finite Automata

TEORI BAHASA DAN AUTOMATA

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

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

BAB I TEORI BAHASA DAN AUTOMATA

2.4 Relasi dan Fungsi

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

MODUL 3: FINITE AUTOMATA

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

8 April 2015 Teori Bahasa dan Otomata

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

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

MA2111 PENGANTAR MATEMATIKA Semester I, Tahun 2015/2016. Hendra Gunawan

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

Aplikasi Simulator Mesin Turing Pita Tunggal

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

Komponen sebuah Kompilator

1.1 Pengertian Himpunan. 1.2 Macam-macam Himpunan. 1.3 Relasi Antar Himpunan. 1.4 Diagram Himpunan. 1.5 Operasi pada Himpunan. 1.

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

MA5031 Analisis Real Lanjut Semester I, Tahun 2015/2016. Hendra Gunawan

Bahan kuliah IF2120 Matematika Diskrit. Himpunan. Oleh: Rinaldi Munir. Program Studi Teknik Informatika STEI - ITB 1

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

OSN MATEMATIKA SMA Hari 1 Soal 1. Buktikan bahwa untuk sebarang bilangan asli a dan b, bilangan. n = F P B(a, b) + KP K(a, b) a b

Teori Himpunan Elementer

A. Menemukan Dalil Pythagoras

INF-104 Matematika Diskrit

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

Lecture Notes Teori Bahasa dan Automata

HIMPUNAN. Arum Handini Primandari, M.Sc Ayundyah Kesumawati, M.Si

BAB 1 OPERASI PADA HIMPUNAN BAHAN AJAR STRUKTUR ALJABAR, BY FADLI

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

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

Contoh:A= { a, e, i, o, u }; S=U = himpunan semua huruf

GARIS SINGGUNG LINGKARAN

Materi 2: Operasi Terhadap Himpunan

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

Matematika Diskrit 1

Diktat Kuliah. Oleh:

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

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

HIMPUNAN Adri Priadana ilkomadri.com

GARIS SINGGUNG LINGKARAN

PENDAHULUAN. 1. Himpunan

anggota alfabet dinamakan simbol terminal atau token.

Himpunan. by Ira Prasetyaningrum. Page 1

TEORI BAHASA DAN AUTOMATA

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

INF-104 Matematika Diskrit

Pengantar Analisis Real

Matematika Proyek Perintis I Tahun 1980

Materi 1: Teori Himpunan

Transkripsi:

MODUL 3: Finite Automata Slide dari 38

DEFINISI FA mesin yang dapat mengenai bahasa regular tanpa menggunakan storage/memory. Sejumlah status dapat didefinisikan pada mesin untuk mengingat beberapa hal secara terbatas. Slide 2 dari 38

Definisi Formal Suatu finite automaton (FA) adalah 5-tuple (Q, Σ,q, δ, A), yang mana: Q: himp. berhingga dari status Σ: himp. berhingga alfabet simbol masukan q Q: status inisial (awal) A Q: himp. status menerima (accepting state, kadang-kadang disebut final state) δ: fungsi transisi dimana δ: Q Σ Q Slide 3 dari 38

Fungsi Transisi Untuk q, r Q dan a Σ, jika δ(q, a) = r terdefinisi, maka saat mesin berada dalam status q menerima masukan simbol a, mesin akan bertransisi ke status r. Dengan diagram status digambarkan dengan bulatan dan transisi dengan panah, sbb: q a r Slide 4 dari 38

Untuk pembahasan berikutnya pernyataan M adalah suatu FA dengan himpunan status Q, masukan simbol alfabet Σ, dan status awal q, serta himpunan status menerima A, dengan fungsi transisi δ, kita singkat menjadi M = (Q, Σ,q, δ, A) merupakan FA. Slide 5 dari 38

Contoh: L {,} * yang mana setiap stringnya selalu memiliki akhiran. Ekspresi regular bahasa ini (+) *. Untuk mengenalinya maka mesin memerlukan 4 status untuk menyimpan keempat kemungkinan dua simbol terakhir -- kita sebut status-status tsb.,,, dan ; 2 status ketika baru menerima satu simbol pertama -- kita sebut status-status dan ; dan Slide 6 dari 38

Slide 7 dari 38 Λ Modul 3: Finite Automatar satu status untuk mesin berada di awal (belum menerima simbol) -- kita sebut status Λ. Diagram dan tabel transisi FA sbb. Status masukan δ Λ

Minimasi FA mencapai bentuk minimum (jumlah status paling sedikit) dengan tiga status saja, sbb. Status masukan δ A A B B B A B A B Slide 8 dari 38

PERLUASAN FUNGSI TRANSISI δ MENJADI δ * Definisi: M = (Q, Σ,q, δ, A) merupakan FA. Terdefinisi suatu fungsi δ * yang memetakan Q Σ * ke Q dengan sifat sebagai berikut: untuk setiap q Q, berlaku δ * (q,λ) = q untuk setiap y Σ *, a Σ, dan q Q, berlaku δ * (q,ya) = δ(δ * (q, y), a) Slide 9 dari 38

Jadi δ(q, a): status berikutnya dari q dan menerima input simbol a δ * (q, x): status berikutnya dari q dan menerima input string simbol x Modul 3: Finite Automatar String x adalah string dari simbol-simbol dalam alfabet, x bisa juga Λ. Jika x = a a 2 a k- a k maka δ * (q, x) = δ(δ * (q, a 2 a 2 a k- ), a k ) = = δ(δ(δ( (δ(δ(q, a ), a 2 ) ), a k- ), a k ) Slide dari 38

Contoh: Jika δ(q, a) = q, δ(q, b) = q 2, dan δ(q 2, c) = q 3, maka δ * (q, abc) = δ(δ * (q, ab), c) = δ(δ(δ * (q, a), b), c) = δ(δ(δ(δ * (q, Λ), a), b), c) = δ(δ(δ(q, a), b), c) = δ(δ(q, b), c) = δ(q 2, c) = q 3. Slide dari 38

Kesimpulan : Menurut definisi δ * (q, a) adalah δ(δ * (q, Λ), a) namun sebagai implikasi dari definisi dapat kita simpulkan bahwa untuk setiap a Σ, dan q Q, berlaku δ * (q,a) = δ(q, a). (Jadi: untuk string simbol, kedua fungsi bisa dituliskan bertukaran). Slide 2 dari 38

Kesimpulan 2: Jika x, y Σ * maka δ * (q,xy) = δ * (δ * (q, x), y) Ini bisa and buktikan dengan induksi matematis (silakan mencoba sebagai latihan!). Dari contoh di atas dapat diperlihatkan pula bahwa δ * (q,abc) = δ * (δ * (q, ab), c) = δ * (δ * (q, a), bc). Slide 3 dari 38

FA SEBAGAI RECOGNIZER DARI BAHASA REGULAR Definisi Penerimaan String Suatu M = (Q, Σ,q, δ, A) merupakan suatu FA. Suatu string x dikatakan dikenal (atau diterima) oleh M jika δ * (q, x) A. Jika suatu string tidak diterima maka string itu dikatakan tidak diterima atau ditolak oleh M. Istilah dikenal dan diterima adalah sama untuk FA dan bahasa regular dan selanjutnya digunakan bertukaran. Slide 4 dari 38

Definisi Penerimaan Bahasa Jika himp. string yang dikenal oleh M adalah L(M) = {x Σ * x dikenal oleh M} maka suatu bahasa L (bahasa pada Σ) dikenal oleh M, jika dan hanya jika L = L(M). Modul 3: Finite Automatar L diterima oleh M jika semua string dari L dikenal oleh M, dan setiap string dari L harus diterima oleh M jika L tersebut dikenal oleh M dan menolak setiap string dalam L. Slide 5 dari 38

Teorema. Bahasa L pada Σ adalah regular jika dan hanya jika terdapat suatu FA yang mengenal L. Jadi teorema ini menjamin bahwa untuk setiap M, yaitu sebarang FA, terdapat ekspresi regular yang terkait dengan L(M); dan untuk regular ekspresi r tersebut, terdapat suatu FA yang mengenal bahasa tsb. Slide 6 dari 38

A, D B Modul 3: Finite Automatar Contoh : dari diagram FA berikut ini kita akan mendapatkan ekspresi regular dari bahasa L yang dikenal FA tersebut. Slide 7 dari 38

Status A mrpk status inisial & status menerima, maka Λ L dan setiap string x dimana δ * (A, x) = A adalah deretan pasangan simbol. Kedua hal ini bergabung dengan ekspresi () *. Status D adalah status yang tidak akan pernah bertransisi ke status menerima, jadi setiap x di mana δ * (A, x) = D, tidak akan pernah menjadi prefiks dari string dalam L. Slide 8 dari 38

Status terima B hanya dapat dicapai melalui status yang langsung dicapai dari status A dengan jumlah genap simbol. Jadi jika tidak revisit A maka x memiliki juga ekspresi regular () +. Jika terjadi revisit A maka ekspresi regularnya menjadi () * () +. Menggabungkan kedua status regular di atas maka: () * + () * () + = () * ( Λ + () + ) = () * () *. Slide 9 dari 38

Contoh 2: diagram berikut ini dari suatu FA untuk string-string {a,b} *. b Modul 3: Finite Automatar a b B a A a b b b a C E a D Slide 2 dari 38

Status terima hanya satu: E, E hanya dapat dicapai dari D dengan simbol a, D hanya dapat dicapai dari C dengan simbol a, C hanya dapat dicapai dari B dengan simbol a, dan B pertama kali dicapai dari A dengan simbol b. Dari status mana pun setiap simbol b akan selalu bertransisi ke B. Jadi, setiap string yang membawa FA ke status terima E harus memiliki sufiks baaa. Maka ekspresi regularnya adalah: (a+b) * baaa Slide 2 dari 38

Cara untuk mendapatkan ekspresi regular di atas adalah dengan cara yang kira-kira (intuitif). Cara yang lebih sistematis akan dibahas di topik mendatang. Slide 22 dari 38

OPERASI-OPERASI HIMPUNAN L dan L 2 bahasa-bahasa regular pada alfabet Σ serta akan terdapat FA M dan M 2 yang masingmasing mengenal L dan L 2. Sesuai definisinya maka L L 2 juga bahasa regular, yang juga akan terdapat FA yang mengenalnya. Bagaimana dengan irisan, kompelemen dan difference (dan operasi-operasi himpunan lainnya)? Slide 23 dari 38

Bahasa Komplemen L Untuk suatu bahasa regular L, maka L (kompelemen dari L) adalah bahasa regular karena jika M = (Q, Σ,q, δ, A) adalah FA untuk mengenal L maka M = (Q, Σ,q, δ, B) dapat dibuat dengan B = Q-A (status menerima di A menjadi tidak menerima di B dan sebaliknya semua status tidak menerima di A menjadi status menerima di B). Slide 24 dari 38

Bahasa Hasil Operasi Himpunan Lain dapat dinyatakan sebagai sejumlah operasi gabungan dan komplemen. Modul 3: Finite Automatar Contoh: L L 2 = (L L 2 ) L - L 2 = L L 2 = (L L 2 ) L L 2 = (L - L 2 ) (L 2 L ) = (L L 2 ) (L L 2 ) Slide 25 dari 38

Jadi setiap operasi himpunan pada beberapa bahasa regular akan menghasilkan bahasa regular juga sehingga akan ada mesin FA yang dapat mengenalnya. Masalahnya sekarang dapatkah kita membentuk mesin FA dari bahasa hasil operasi himpunan tersebut berdasarkan kombinasi mesin-mesin bahasa asalnya secara langsung? Slide 26 dari 38

Mesin FA Kombinasi Operasi Himpunan Berikut ini akan dibahas pembentukan FA untuk bahasa penggabungan kedua bahasa (L L 2 ). Untuk kasus irisan (L L 2 ) dan perbedaan (L L 2 ) dapat dilakukan dengan sedikit modifikasi. Slide 27 dari 38

Berdasarkan FA M = (Q, Σ, q, A, δ ) untuk mengenali L, dan FA M 2 = (Q 2, Σ, q 2, A 2, δ 2) untuk mengenali L 2, suatu FA M = (Q, Σ, q, A, δ) akan dibentuk untuk dapat mengenali (L L 2 ). Ide: saat memeriksa masukan x, mesin M melakukan sekaligus kedua pemeriksaan apakah x L serta apakah x L 2. Jadi dalam M akan terdapat status-status kombinasi antara statusstatus yang ada dalam M dengan M 2. Slide 28 dari 38

Untuk p Q, q Q 2 terdefinisi status (p,q) Q. status inisial q = (q, q 2 ). Bila M berada dalam status (p,q), bila ia menerima simbol a maka ia akan bertransisi ke (δ (p,a), δ 2 (q,a)). Himpunan status menerima A adalah himpunan status (p, q) yang mana p atau q (salah satu atau keduanya!) adalah status menerima dari mesinmesin asalnya. Slide 29 dari 38

Perbedaan FA untuk bahasa-bahasa (L L 2 ) dan (L L 2 ) adalah hanya terletak pada himpunan status menerima A tsb. Untuk (L L 2 ), status (p, q) A jika keduanya keduanya (p dan q) adalah status menerima dari mesin-mesin asalnya. Untuk (L L 2 ), status (p, q) A jika p adalah status menerima dari M dan q bukan status menerima dari M 2. Slide 3 dari 38

Teorema 3.4. Misalkan M = (Q, Σ, q, A, δ ) dan M 2 = (Q 2, Σ, q 2, A 2, δ 2) masing-masing mengenal L dan L 2. Bila M = (Q, Σ, q, A, δ ) suatu FA yang mana Q = Q Q 2, q = (q, q 2 ), dan δ terdefinisi sbg δ((p, q), a) = (δ (p,a), δ 2 (q,a)) untuk setiap p Q, q Q 2 dan a Σ maka,.bila A = {(p, q) p A atau q A 2 }, maka M mengenal (L L 2 ) Slide 3 dari 38

2.Bila A = {(p, q) p A dan q A 2 }, maka M mengenal (L L 2 ) 3.Bila A = {(p, q) p A dan q A 2 }, maka M mengenal (L L 2 ) Slide 32 dari 38

, A B C Modul 3: Finite Automatar Contoh: misalkan L dan L 2 {, } *, dengan L = { x tidak ada substring dalam x } L 2 = { x x berakhiran } P Q R Slide 33 dari 38

Masing-masing memiliki tiga status sehingga mesin baru yang dibentuk dari kedua mesin tsb. berisikan 9 status sbb. (penyederhanaan penulisan (A,P) ditulis AP, dst.) sehingga Q = {AP, AQ, AR, BP, BQ, BR, CP, CQ, CR} Status awal AP Transisi dari AP o δ(ap, ) = (δ (A, ), δ 2 (P, )) = BQ o δ(ap,) = (δ (A, ), δ 2 (P, )) = AP Slide 34 dari 38

Transisi dari BQ o δ(bq, ) = (δ (B, ), δ 2 (Q, )) = CQ o δ(bq, ) = (δ (B, ), δ 2 (Q, )) = AR Transisi dari CQ o δ(cq, ) = (δ (C, ), δ 2 (Q, )) = CQ o δ(cq, ) = (δ (C, ), δ 2 (Q, )) = CR Transisi dari AR o δ(ar, ) = (δ (A, ), δ 2 (R, )) = BQ o δ(ar, ) = (δ (A, ), δ 2 (R, )) = AP Slide 35 dari 38

dst maka akan diperoleh diagram transisi berikut ini. Modul 3: Finite Automatar AP BP CP AQ BQ CQ AR BR CR Slide 36 dari 38

Dalam diagram, hanya enam status yang dapat tercapai dari AP. Jadi ketiga status lainnya bisa dihilangkan. Untuk kasus L = L L 2 maka himp. status menerima A = {AP, BQ}. AP BQ AR CQ CR CP Slide 37 dari 38

Penyederhanaan dapat dilakukan dengan cara yang akan diterangkan dalam pembahasan yad. BQ AP AR CQ, Slide 38 dari 38