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

dokumen-dokumen yang mirip
BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

Fr*snd*mffi. Fakultns tlmu Komputer, l;nivrrsitfls. f&,# d *-B. ,, :..:.4 t:,{;. ${r= st :rir"l, r;t. .j"s*l!&,. '":*& \',?Srlrlfu. :1i-,=-+n 3r: lvqd

PALINDROM CONTEXT FREE GRAMMAR PADA MESIN PUSH DOWN AUTOMATA

TEORI BAHASA DAN OTOMATA

MODUL 11: PUSHDOWN AUTOMATON

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

anggota alfabet dinamakan simbol terminal atau token.

MODUL 1: PENGANTAR TEORI BAHASA

GRAMMAR AND LANGUAGE

BAHASA REGULER 1. Ekspresi Regular

Deterministic Finite Automata

BAB I TEORI BAHASA DAN 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 III AUTOMATA HINGGA NON-DETERMINISTIK DAN EKUIVALENSI AHN AHD - GR

KONSEP GRAMMAR DAN BAHASA

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

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

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

Memiliki kelemahan terlalu panjang jalannya padahal berujung pada S a, produksi D A juga menyebabkan kerumitan.

Aplikasi Simulator Mesin Turing Pita Tunggal

Teori Bahasa Formal dan Automata

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

TEORI BAHASA DAN OTOMATA [TBO]

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

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

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

TEORI BAHASA DAN AUTOMATA

DIKTAT TEORI BAHASA DAN OTOMATA

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

TEORI BAHASA DAN OTOMATA

Tujuan Penyederhanaan

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

TEORI BAHASA DAN AUTOMATA

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

Amir Hamzah AKPRIND PRESS 2009

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

Teori Bahasa dan Otomata 1

SATUAN ACARA PERKULIAHAN (SAP)

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

IF-UTAMA 1. Definisi. Grammar. Definisi

Teknik Kompiler 6. oleh: antonius rachmat c, s.kom

PENYEDERHANAAN Context Free Grammar

Implementasi DFS dan BFS Dalam Recognizer Pushdown Automata

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO]

Teori Bahasa Formal dan Automata

POHON PENURUNAN Context Free Grammar

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO]

Teknik Kompiler 7. oleh: antonius rachmat c, s.kom

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

TEORI BAHASA DAN OTOMATA PENGANTAR

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

BAB VI METODE PARSING

Penyederhanaan Tata Bahasa Bebas Konteks. Kuliah Online : TBA [2012/2013]

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

Teori Bahasa dan Operasi Matematis.

TEORI BAHASA DAN AUTOMATA

Pertemuan 10. Tumpukan (Stack) Dipersiapkan oleh : Boldson Herdianto. S., S.Kom., MMSI.

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Lecture Notes Teori Bahasa dan Automata

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

Pengantar TBO. Pertemuan Ke-2. Sri Handayaningsih, S.T., M.T. Teknik Informatika

Komponen sebuah Kompilator

BAB III CFG DAN PARSING

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

Dasar Teori Bahasa & Grammar

UNIVERSITAS GUNADARMA

Non-Deterministic Finite Automata

MODUL 6: TEOREMA KLEENE

MODUL 4: Nondeterministic Finite Automata

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

Contents.

Teori Bahasa dan Otomata

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

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

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

TEORI BAHASA DAN AUTOMATA

2. Review TeoriBahasaFormal danotomata

BAB I PENDAHULUAN 1-1

Grammar dan Tingkat Bahasa

Bab 4. Koefisien Binomial

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

Pengenalan Konsep Bahasa dan

S T A C K ( T U M P U K A N )

Non-deterministic Finite Automata Dengan -Move

Penghilangan Rekursif Kiri

Operasi FA dan Regular Expression

BAB II TINJAUAN PUSTAKA. Bahasa menurut kamus Websters adalah the body of words and methods of

Penerapan BFS dan DFS pada Pencarian Solusi

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

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

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

BAB 3 STACK (TUMPUKAN)

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN AUTOMATA

TEKNIK KOMPILASI Bahasa Regular

8 April 2015 Teori Bahasa dan Otomata

Transkripsi:

PushDown Automata(PDA) Definisi : PDA adalah pasangan 7 tuple M = (Q,, q 0, F,, ), dimana : Q : himpunan hingga state, : alfabet input, : alfabet/simbol stack, q 0 Q : state awal, Z 0 : simbol awal stack, F Q : himpunan state penerima, Q * fungsi transisi : Q ( { }) 2 Q *) (himpunan bagian dari (q 0, a ) = (q 0, AZ 0 ). push Untuk state q Q, simbol input a, dan simbol stack X, (q, a, X) = (p, ) berarti : PDA bertransisi ke state p dan mengganti X pada stack dengan string. Konfigurasi PDA pada suatu saat dinyatakan sebagai triple (q, x, ), dimana : q Q : state pada saat tersebut, x * : bagian string input yang belum dibaca, dan * : string yang menyatakan isi stack dengan karakter terkiri menyatakan top of stack. Misalkan (p, ay, X ) adalah sebuah konfigurasi, dimana : a, y *, X, dan *. Misalkan pula (p, a, X) = (q, ) untuk q Q dan *. Dapat kita tuliskan bahwa : (p, ay, X ) (q, y, ). hal 30

Contoh (PDA Deterministik): PDA : M = (Q,,, q 0,, F) pengenal palindrome L = {xcx T x (a b)*}, dimana x T adalah cermin(x), mempunyai tuple : Q = {q 0, q 1, q 2 }, F = { q 2 }, = {a, b, c}, = {A, B }, dan fungsi transisi terdefinisi melalui tabel berikut : No. State Input TopStack Hasil No. State Input TopStack Hasil 1 q 0 a Z 0 (q 0, AZ 0 ) 7 q 0 c Z 0 (q 1 ) 2 q 0 b Z 0 (q 0, BZ 0 ) 8 q 0 c A (q 1, A) 3 q 0 a A (q 0, AA) 9 q 0 c B (q 1, B) 4 q 0 b A (q 0, BA) 10 q 1 a A (q 1, ) 5 q 0 a B (q 0, AB) 11 q 1 b B (q 1, ) 6 q 0 b B (q 0, BB) 12 q 1 Z 0 (q 2 ) Sebagai contoh, perhatikan bahwa fungsi transisi No. 1 dapat dinyatakan sebagai : (q 0, a ) = (q 0, AZ 0 ). Pada tabel transisi tersebut terlihat bahwa pada state q 0 PDA akan melakukan PUSH jika mendapat input a atau b dan melakukan transisi state ke state q 1 jika mendapat input c. Pada state q 1 PDA akan melakukan POP. Berikut ini pengenalan dua string oleh PDA di atas : 1. abcba : (q 0, abcba ) (q 0, bcba, AZ 0 ) (1) (q 0, cba, BAZ 0 ) (4) (q 1, ba, BAZ 0 ) (9) (q 1, a, AZ 0 ) (11) (q 1, ) (10) (q 2, ) (12) (diterima) 2. acb : (q 0, acb ) (q 0, cb, AZ 0 ) (1) (q 1, b, AZ 0 ) (8), (halt/crash ditolak) 3. ab : (q 0, ab ) (q 0, b, AZ 0 ) (1) (q 0,, BAZ 0 ) (4) (crash ditolak) hal 31

Penerimaan dan penolakan tiga string di atas dapat dijelaskan sebagai berikut : 1. string abcba diterima karena tracing sampai di state penerima (q 2 ) dan string abcba selesai dibaca (string yang belum dibaca = ) 2. string acb ditolak karena konfigurasi akhir (q 1, b, a Z 0 ) sedangkan fungsi transisi (q 1, b, a) tidak terdefinsi 3. string ab ditolak karena konfigurasi akhir (q 0,, baz 0 ) sedangkan fungsi transisi (q 0,, b) tidak terdefinsi Ilustrasi graf fungsi transisi PDA di atas ditunjukkan melalui gambar berikut : b /BZ 0 a, A/ a /AZ 0 a, A/AA c, A/A c, B/B start q 0 c / Z 0 q 1 / Z 0 q 2 a, B/AB b, B/BB b, A/BA b, B/ Notasi (p, ay, X ) (q, y, ) dapat diperluas menjadi : (p, x, ) * (q, y, ), yang berarti konfigurasi (q, y, ) di capai melalui sejumlah (0 atau lebih) transisi. Ada dua cara penerimaan sebuah kalimat oleh PDA, yang masingmasing terlihat dari konfigurasi akhir, sebagaimana penjelasan berikut : Jika M = (Q,,, q 0,, F) adalah PDA dan x *, maka x diterima dengan state akhir (accepted by final state) oleh PDA M jika : (q 0, x ) * (q,, ) untuk * dan q A. x diterima dengan stack hampa (accepted by empty stack) oleh PDA M jika : (q 0, x ) * (q,, ) untuk q Q. hal 32

Contoh (PDA Non-Deterministik): NPDA : M = (Q,,, q 0,, F) mempunyai komponen tuple berikut : Q = {q 0, q 1, q 2 }, F = { q 2 }, = {a, b, c}, = {D,A,B,C, Z}, dan fungsi transisi : 1. (q 0, ε, Z) = (q 1, DZ) 2. (q 1, ε, D) = (q 1, ADA), (q 1, BDB), (q 1, C) 3. (q 1, a, A) = (q 1, ε) 4. (q 1, b, B) = (q 1, ε) 5. (q 1, c, C) = (q 1, ε) 6. (q 1, ε, Z) = (q 2, Z) q0,abc,z=q1,abc,adaz=q1,bc,daz=q1,bc,bdbaz=q1,c,dbaz =q1,c,cbaz=q1, ε, BAZ=halt q0, c,z=(q1,c,dz) (1) = (q1,c,cz) (2 kanan) = (q1, ε,z) (5) = (q2, ε,z) (6) q0,acb,z = q1,acb,dz=q1,acb,adaz=q1,cb,daz=q1,cb,caz= =q1,b,az=halt. Ditolak q0,aca,z = q1,aca,dz=q1,aca,adaz=q1,ca,daz=q1,ca,caz= = q1,a,az=q1, ε,z=q2 q0,abcab,z=q1,abcab,dz=q1,abcab,adaz=q1,bcab,daz =q1,bcab,bdbaz= q1,cab,dbaz=q1,cab,cbaz = q1,ab,baz=halt abcba, abbcbba diterima hal 33

Contoh (PDA Non-Deterministik): PDA M = (Q,,, q 0,, F) pengenal palindrome L = {xx T x (a b)*} mempunyai komponen tuple berikut : Q = {q 0, q 1, q 2 }, F = { q 2 }, = {a, b}, = {a, b }, dan fungsi transisi terdefinisi melalui tabel berikut : No. St. In. TopS Hasil No. St. In. TS Hasil 1 q 0 a Z 0 (q 0, az 0 ), (q 1 ) 7 q 0 Z 0 (q 1 ) 2 q 0 b Z 0 (q 0, bz 0 ), (q 1 ) 8 q 0 a (q 1, a) 3 q 0 a a (q 0, aa), (q 1, a) 9 q 0 b (q 1, b) 4 q 0 b a (q 0, ba), (q 1, a) 10 q 1 a a (q 1, ) 5 q 0 a b (q 0, ab), (q 1, b) 11 q 1 b b (q 1, ) 6 q 0 b b (q 0, bb), (q 1, b) 12 q 1 Z 0 (q 2, ) q0,aba,z = q0,ba,az (1 kiri) = q1, a, az (4 kanan) = q1,, z(10) =q2,, (12) diterima q0,aba,z = q0,ba,az (1 kiri) = q0, a, baz (4 kiri) = q1,,baz (5 kanan) = halt q0, aa, Z=q0, a, az=q0,, aaz=q1,,aaz=halt q0, aa, Z=qo, a, az=q1,,az=halt q0, aa, Z=q1, a, Z=halt q0, abba, Z= q0, bba, az=q0, ba, baz=q0,a,bbaz=q0,,abbaz=q1, Pada tabel transisi tersebut terlihat bahwa pada state q 0 PDA akan melakukan PUSH jika mendapat input a atau b dan melakukan transisi state ke state q 1 jika mendapat input. Pada state q 1 PDA akan melakukan POP. Kedua Contoh di atas menunjukkan bahwa PDA dapat dinyatakan sebagai mesin PUSH-POP. Berikut ini pengenalan string baab oleh PDA di atas : 1. (q 0, baab ) (q 0, aab, bz 0 ) (2 kiri) hal 34

(q 0, ab, abz 0 ) (5 kiri) (q 1, b, abz 0 ) (3 kanan) (q 1, b, bz 0 ) (11) (q 1, ) (10) (q 2, ) (12) (diterima) 2. (q 0, baab ) (q 1, baab ) (2 kanan) (crash ditolak) 3. (q 0, baab ) (q 0, aab, bz 0 ) (2 kiri) (q 0, ab, abz 0 ) (5 kiri) (q 0, b, aabz 0 ) (3 kiri) (q 1, b, aabz 0 ) (4 kanan) (crash ditolak) 4. (q 0, baab ) (q 0, aab, bz 0 ) (2 kiri) (q 0, ab, abz 0 ) (5 kiri) (q 0, b, aabz 0 ) (3 kiri) (q 0,, baabz 0 ) (4 kiri) (q 1,, baabz 0 ) (9) (crash ditolak) q0,aba,z = q0,ba,az = q1, a, az = q1,, z =q2,, hal 35