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

dokumen-dokumen yang mirip
Turing and State Machines. Mesin Turing. Turing Machine. Turing Machines 4/14/2011 IF_UTAMA 1

IF-UTAMA 1. Definisi. Grammar. Definisi

TEORI BAHASA DAN AUTOMATA

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

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

FINITE STATE AUTOMATA

IF-UTAMA 1. Penurunan (Derivation) [2] Penurunan (Derivation) Contoh Penurunan [1] Parse Tree [1]

Deterministic Finite Automata

TEORI BAHASA DAN OTOMATA PENGANTAR

Teori Bahasa Formal dan Automata

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

Ekspresi Reguler Definisi. Notasi Ekspresi Regular. Contoh Ekspresi Reguler [2]

Teori Bahasa & Otomata

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

Grammar dan Tingkat Bahasa

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Teori Bahasa Formal dan Automata

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

Aplikasi Simulator Mesin Turing Pita Tunggal

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

Teori Bahasa dan Otomata 1

anggota alfabet dinamakan simbol terminal atau token.

MODUL 11: PUSHDOWN AUTOMATON

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

BAB I PENDAHULUAN 1-1

FINITE STATE MACHINE / AUTOMATA

Reduksi DFA [Deterministic Finite Automata]

BAB I TEORI BAHASA DAN AUTOMATA

Teori Bahasa Formal dan 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

TEORI BAHASA DAN AUTOMATA

MODUL 1: PENGANTAR TEORI BAHASA

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA [TBO]

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

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

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

Language Is Cool. The Chomsky Hierarchy. Normal Forms. Chomsky Normal Form (CNF) & Greibach Normal Form (GNF) Teori Bahasa & Otomata - Danang Junaedi

Teori Bahasa Formal dan Automata

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

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

Pengenalan Konsep Bahasa dan

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

TEORI BAHASA & AUTOMATA

Contents.

TEKNIK KOMPILASI Konsep & Notasi Bahasa

TEORI BAHASA DAN OTOMATA [TBO]

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

POHON PENURUNAN Context Free Grammar

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

Teori Bahasa & Otomata

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

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

Dasar Teori Bahasa & Grammar

Non-Deterministic Finite Automata

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

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

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

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

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

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

PALINDROM CONTEXT FREE GRAMMAR PADA MESIN PUSH DOWN AUTOMATA

PENERAPAN KONSEP FINITE STATE AUTOMATA (FSA) PADA MESIN PEMBUAT MINUMAN KOPI OTOMATIS

TEKNIK KOMPILASI Bahasa Regular

1, 2, 3

Lecture Notes Teori Bahasa dan Automata

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

TEORI BAHASA DAN AUTOMATA

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

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA

FTIK / PRODI TEKNIK INFORMATIKA

Penerapan Konsep Finite State Automata (FSA) pada Mesin Pembuat Minuman Kopi Otomatis

Amir Hamzah AKPRIND PRESS 2009

TEORI BAHASA DAN OTOMATA [TBO]

Implementasi DFS dan BFS Dalam Recognizer Pushdown Automata

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

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

SENTENCE ANALYSIS WITH ARTIFICIAL INTELLIGENCE MACHINE LEARNING USING FINITE STATE AUTOMATA

Teori Bahasa dan Otomata

Lecture Notes Teori Bahasa dan Automata

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

PENYEDERHANAAN Context Free Grammar

Komponen sebuah Kompilator

ALGORITMA PEMROGRAMAN 1C SINTAKS

MODUL 4: Nondeterministic Finite Automata

TEORI BAHASA & OPERASI MATEMATIS (2)

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

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

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

KONSEP GRAMMAR DAN BAHASA

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

Non-deterministic Finite Automata Dengan -Move

2. Review TeoriBahasaFormal danotomata

MODUL 3: Finite Automata

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

TEORI BAHASA DAN OTOMATA [TBO]

Tujuan perancangan bhs program

Transkripsi:

Push Down Automata Pendahuluan Latar belakang munculnya konsep PDA [1 & 3] Terdapat context-free languages yang tidak regular, contoh {0 n 1 n 0=<n} {0n1n 0 n k, for some fixed k} Is not regular Is regular, for any fixed k Finite Automota tidak bisa mengenal semua contextfree languages Finite Automata memiliki memory yang terbatas A DFA can remember only a finite amount of information, whereas a PDA can remember an infinite amount of (certain types of) information Pertemuan 11 Dosen Pembina : Danang Junaedi 2 Perbedaan FA dan PDA [7] Grammar-machine equivalence [3] Finite Automata Push Down Atomata 3 4 1

Pushdown Automaton [3] Power of PDAs [3] Definisi [3] A PDA is an NFA-ε with a stack. Transitions are modified to accommodate stack operations A pushdown automaton (PDA) is an abstract model machine similar to the FSA It has a finite set of states. However, in addition, it has a pushdown stack. Moves of the PDA are as follows: 1. An input symbol is read and the top symbol on the stack is read. 2. Based on both inputs, the machine enters a new state and writes zero or more symbols onto the pushdown stack. 3. Acceptance of a string occurs if the stack is ever empty. (Alternatively, acceptance can be if the PDA is in a final state. Both models can be shown to be equivalent.) 5 PDAs are more powerful than FSAs. a n b n, which cannot be recognized by an FSA, can easily be recognized by the PDA. Stack all a symbols and, for each b, pop an a off the stack. If the end of input is reached at the same time that the stack becomes empty, the string is accepted. It is less clear that the languages accepted by PDAs are equivalent to the context-free languages. 6 PDAs to produce derivation strings [3] Given some BNF (context free grammar). Produce the leftmost derivation of a string using a PDA: 1. If the top of the stack is a terminal symbol, compare it to the next input symbol; pop it off the stack if the same. It is an error if the symbols do not match. 2. If the top of the stack is a nonterminal symbol X, replace X on the stack with some string α, where α is the right hand side of some production X α. This PDA now simulates the leftmost derivation for some context-free grammar. This construction actually develops a nondeterministic PDA that is equivalent to the corresponding BNF grammar. (i.e., step 2 may have multiple options.) NDPDAs are different from DPDAs [3] What is the relationship between deterministic PDAs and nondeterministic PDAs? Consider the set of palindromes, strings reading the same forward and backward, generated by the grammar X 0X0 1X1 2 We can recognize such strings by a deterministic PDA: 1. Stack all 0s and 1s as read. 2. Enter a new state upon reading a 2. 3. Compare each new input to the top of stack, and pop stack. However, consider the following set of palindromes: X 0X0 1X1 0 1 In this case, we never know where the middle of the string is. To recognize these palindromes, the automaton must guess where the middle of the string is (i.e., is nondeterministic). 7 8 2

Pendahuluan Model Fisik [9] Mekanisme kerja PDA [4] Memiliki tempat penyimpanan yang tidak terbatas berupa stack/tumpukan Stack kumpulan dari elemenelemen yg sejenis dengan sifat pengambilan dan penambahan melalui suatu tempat yg disebut top of stack (puncak stack) Sistem pengaturan LIFO (Last In First Out) Operasi pop Pengambilan elemen dari stack Operasi push memasukkan elemen ke dalam stack Keterangan 1. Pita input berisi deretan simbol yang akan diproses. 2. Tumpukan dapat diisi oleh simbol-simbol yang disusun secara LIFO (Last In First Out) 3. Pita input bergerak satu arah. 4. Pada saat awal, head berada tepat di atas simbol pertama, Stack berisi simbol awal Stack. 5. Status PDA dapat berubahubah sesuai dengan simbol input dan simbol teratas yang terdapat dalam Stack. 9 10 Formal Definition of a PDA [6] Formal Definition of a PDA [9] A pushdown automaton (PDA) is a seven-tuple: Q Σ Г S Z 0 F δ M = (Q, Σ, Г, δ, S, Z 0, F) A finite set of states A finite set of input alphabet A finite set of stack alphabet The initial/starting state, S is in Q A starting stack symbol, is in Г A set of final/accepting states, which is a subset of Q A transition function 11 P = (Q, Σ, Γ, δ, S, Z 0, F) di mana P = nama PDA. Q = himpunan berhingga dari status PDA. Σ = alfabet input. Γ = himpunan simbol yang boleh terdapat pada Stack. δ = himpunan transisi status. S = status awal. Z 0 = simbol pertama yang terdapat pada Stack F = himpunan status akhir. Transisi status (δ) dinyatakan dalam bentuk δ(qi, a, X) = {(qj, γ)} ; qi, qj Q ; a = Σ ; X = Γ ; γ = Γ* Deskripsi sesaat : (q, aw, α), di mana q = status mesin pada saat itu. a = simbol yang sedang terbaca oleh head w = deretan simbol input yang belum terbaca. α = deretan simbol dalam Stack. TOS ada di paling kiri. Contoh : (q1, 0101, ABB) Jika deskripsi pada suatu saat adalah (q1, 0101, ABB) dan terdapat aturan transisi berbentuk δ(q1, 0, A) = {(q2, CA), maka deskripsi mesin berubah menjadi (q2, 101, CABB), ditulis (q1, 0101, ABB) - (q2, 101, CABB). 12 3

Transition function [6] Example 1-1 δ(q 0, 0, Z 0 )=(q 1, 0Z 0 ) Start state Input symbol Stack symbol Next state If next state is still q 0, this means the PDA has not reached the middle of the input string 0 Z 0 String γ=0z 0 13 For the language {x x = a n b n, n 0 and n in {a,b}*} M 1 = (Q, Σ, Г, δ, S, Z 0, F) Q={q 0, q 1, q 2, q 3 }; Σ={a,b}; Г={a,$} S={q 0 }; Z 0 ={$}; F={q 3 } final state atau {} isi stack kosong δ: (1) δ(q 0, a, $) = {(q 1, a$)} (2) δ(q 1, a, a) = {(q 1, aa)} (3) δ(q 1, b, a) = {(q 2, ε)} (4) δ(q 2, b, a) = {(q 2, ε)} (5) δ(q 2, ε, $) = {(q 3, ε)} 14 Example 1-2 Example Computation: (1) δ(q 0, a, $) = {(q 1, a$)} (2) δ(q 1, a, a) = {(q 1, aa)} (3) δ(q 1, b, a) = {(q 2, ε)} (4) δ(q 2, b, a) = {(q 2, ε)} (5) δ(q 2, ε, $) = {(q 3, ε)} Rule Applied State Input Stack Rules Applicable - q 0 aabb $ (1) (1) q 1 abb a$ (2) (2) q 1 bb aa$ (3) (3) q 2 b εa$ (4) (4) q 2 ε ε$ (5) (5) q 3 ε ε - Karena state akhir ada di q 3 maka string aabb diterima Example 1-3 Example Computation: (1) δ(q 0, a, $) = {(q 1, a$)} (2) δ(q 1, a, a) = {(q 1, aa)} (3) δ(q 1, b, a) = {(q 2, ε)} (4) δ(q 2, b, a) = {(q 2, ε)} (5) δ(q 2, ε, $) = {(q 3, ε)} Rule Applied State Input Stack Rules Applicable - q 0 abb $ (1) (1) q 1 bb a$ (3) (3) q 2 b ε$ - Karena state akhir bukan di q 3 maka string abb ditolak 15 16 4

Example 2-1 [8] For the language {x x = wcw r and w in {0,1}*} M = ({q 1, q 2 }, {0, 1, c}, {R, B, G}, δ, q 1, R, q 2 ) δ: (1) δ(q 1, 0, R) = {(q 1, BR)} (9) δ(q 1, 1, R) = {(q 1, GR)} (2) δ(q 1, 0, B) = {(q 1, BB)} (10) δ(q 1, 1, B) = {(q 1, GB)} (3) δ(q 1, 0, G) = {(q 1, BG)} (11) δ(q 1, 1, G) = {(q 1, GG)} (4) δ(q 1, c, R) = {(q 2, R)} (12) δ(q 2, 1, G) = {(q 2, ε)} (5) δ(q 1, c, B) = {(q 2, B)} (6) δ(q 1, c, G) = {(q 2, G)} (7) δ(q 2, 0, B) = {(q 2, ε)} (8) δ(q 2, ε, R) = {(q 2, ε)} Notes: Rule #8 is used to pop the final stack symbol off at the end of a computation. Example 2-2 [8] Example Computation: (1) δ(q 1, 0, R) = {(q 1, BR)} (7) δ(q 2, 0, B) = {(q 2, ε)} (2) δ(q 1, 0, B) = {(q 1, BB)} (8) δ(q 2, ε, R) = {(q 2, ε)} (3) δ(q 1, 0, G) = {(q 1, BG)} (9) δ(q 1, 1, R) = {(q 1, GR)} (4) δ(q 1, c, R) = {(q 2, R)} (10) δ(q 1, 1, B) = {(q 1, GB)} (5) δ(q 1, c, B) = {(q 2, B)} (11) δ(q 1, 1, G) = {(q 1, GG)} (6) δ(q 1, c, G) = {(q 2, G)} (12) δ(q 2, 1, G) = {(q 2, ε)} Rule Applied State Input Stack Rules Applicable - q 1 01c10 R (1) (1) q 1 1c10 BR (10) (10) q 1 c10 GBR (6) (6) q 2 10 GBR (12) (12) q 2 0 εbr (7) (7) q 2 ε εr (8) (8) q 2 ε ε - Karena state akhir ada di q 2 maka string 01c10 diterima 17 18 Example 2-3 [8] Example Computation: (1) δ(q 1, 0, R) = {(q 1, BR)} (9) δ(q 1, 1, R) = {(q 1, GR)} (2) δ(q 1, 0, B) = {(q 1, BB)} (10) δ(q 1, 1, B) = {(q 1, GB)} (3) δ(q 1, 0, G) = {(q 1, BG)} (11) δ(q 1, 1, G) = {(q 1, GG)} (4) δ(q 1, c, R) = {(q 2, R)} (12) δ(q 2, 1, G) = {(q 2, ε)} (5) δ(q 1, c, B) = {(q 2, B)} (6) δ(q 1, c, G) = {(q 2, G)} (7) δ(q 2, 0, B) = {(q 2, ε)} (8) δ(q 2, ε, R) = {(q 2, ε)} Rule Applied State Input Stack Rules Applicable - q 1 1c1 R (9) (9) q 1 c1 GR (6) (6) q 2 1 GR (12) (12) q 2 ε εr (8) (8) q 2 ε ε - Karena state akhir ada di q 2 maka string 1c1 diterima Jenis-Jenis PDA 1. Ditinjau dari stack Non Extended PDA δ(q i, a, α) = {(q j, γ)} ; q i, q j qj Q ; a Σ ; α, γ Γ*, dimana α adalah satu simbol teratas dalam stack. γ adalah deretan simbol yang menggantikan α Contoh : δ(q 1, c, G) = {(q 2, G)} Extended PDA δ(q i, a, α) = {(q j, γ)} ; q i, q j Q ; a Σ ; α, γ Γ*, dimana α adalah deretan simbol teratas dalam stack. γ adalah deretan simbol yang menggantikan α Contoh : δ(q 1, a, bsb) = {(q 2, S)} 2. Ditinjau dari fungsi transisi Deterministik PDA δ(q, a, α) = {(p, γ)} contoh: δ(q 0, a, a) = {(q 1, ε)} Nondeterministik PDA δ(q 0, a, α) = {(p 1, γ 1 ), (p 2, γ 2 ), (p 3, γ 3 ), } contoh: δ(q 0, a, a) = {(q 0, aa), (q 1, ε)} 19 20 5

Studi Kasus 1. PDA yang dapat mengenali kalimat 0 n 1 n, n = 1, 2, 3, P 1 = (Q, Σ, Γ, δ, S, Z 0, F) ; Q = {q 0, q 1 } ; Σ = {0, 1}; Γ = {0, 1, Z} ; S = q 0 ; Z 0 = Z ; F = {} ; δ sebagai berikut : (1) δ(q 0, 0, Z) = {(q 0, 0Z)} (4) δ(q 1, 1, 0) = {(q 1, ε)} (2) δ(q 0, 0, 0) = {(q 0, 00)} (5) δ(q 1, ε, Z) = {(q 1, ε)} (3) δ(q 0, 1, 0) = {(q 1, ε)} Jika diberikan string input 00110101, bagaimanakah perubahan deskripsi sesaat dan komputasinya? Termasuk ke dalam jenis PDA apakah P1?Jelaskan alasannya! 2. PDA P 2 = (Q, Σ, Γ, δ, S, Z 0, F) Q = {q, p} ; Σ = {a, b} ; Γ = {a, b, S, Z} ; S = q ; Z 0 = Z ; F = {p} ; δ sebagai berikut : (1) δ(q, a, b) = {(q, bs)} (6) δ(q, a, S) = {(q, as)} (11) δ(q, a, bsb) = {(q, S)} (2) δ(q, b, b) = {(q, bb)} (7) δ(q, b, Z) = {(q, bz)} (12) δ(q, ε, az) = {(p, ε)} (3) δ(q, b, bs) = {(q, a)} (8) δ(q, b, a) = {(q, ba)} (13) δ(q, b, S) = {(q, bs)} (4) δ(q, a, Z) = {(q, az)} (9) δ(q, b, ba) = {(q, as)} (14) δ(q, ε, bsb) = {(q, S)} (5) δ(q, a, a) = {(q, aa)} (10) δ(q, a, asa) = {(q, S)} (15) δ(q, ε, asa) = {(q, S)} Jika diberikan input bbaabb, bagaimanakah perubahan deskripsi sesaat dan komputasinya? Termasuk ke dalam jenis PDA apakah P2?Jelaskan alasannya! 21 Studi Kasus [9] 3. PDA P 3 = (Q, Σ, Γ, δ, S, Z 0, F) Q = {q 0, q 1, q 2 } ; Σ = {a, b} ; Γ = {a, b, Z} ; S=q 0 ; Z 0 = Z ; F = {q2} ; δ sebagai berikut : a. δ(q 0, a, Z) = {(q 0, az)} b. δ(q 0, b, Z) = {(q 0, bz)} c. δ(q 0, a, a) = {(q 0, aa), (q 1, ε)} d. δ(q 0, a, b) = {(q 0, ab)} e. δ(v, b, a) = {(q 0, ba)} f. δ(q 0, b, b) = {(q 0, bb), (q 1, ε)} g. δ(q 1, a, a) = {(q 1, ε)} h. δ(q 1, b, b) = {(q 1, ε)} i. δ(q 1, ε, Z) = {(q 2, ε)} Bagaimanakah perubahan deskripsi sesaat dan komputasinya jika diberi input ababab? Termasuk ke dalam jenis PDA apakah P3?Jelaskan alasannya 22 Konstruksi Push Down Automata Cara Mengkonstruksi PDA [9] Analisis skenario kerja PDA Buat skenario kerja PDA Definisi status-status yang diperlukan Definisikan PDA Analisis tata bahasa Berdasarkan Tata Bahasa Bebas Konteks Pertemuan 12 Dosen Pembina : Danang Junaedi 24 6

Analisis skenario kerja PDA [9] Contoh : PDA yang mengenali 0 i 1 2i Buat skenario kerja PDA 1. Jika saat awal, head membaca 0, TOS = Z, maka mesin telah membaca 0, simpan 00 ke dalam stack. 2. Jika mesin telah membaca 0, head membaca 0, TOS = 0, maka mesin telah membaca 0, simpan 00 ke dalam stack. 3. Jika mesin telah membaca 0, head membaca 1, TOS = 0, maka mesin telah membaca 1, ambil simbol teratas dari stack. 4. Jika mesin telah membaca 1, head membaca 1, TOS = 0, maka mesin telah membaca 1, ambil simbol teratas dari stack. 5. Jika mesin telah membaca 1, input sudah habis, TOS = Z, maka mesin telah membaca 1, ambil simbol teratas dari stack, head tidak bergerak. Definisi status-status yang diperlukan q 0 = saat awal q 1 = mesin telah membaca 0 q 2 = mesin telah membaca 1 Analisis skenario kerja PDA [9] Contoh : PDA yang mengenali 0 i 1 2i (Lanjutan) Definisikan PDA P 4 = (Q, Σ, Γ, δ, S, Z 0, F) Q = himpunan status = {q 0, q 1, q 2 } Σ = himpunan simbol-simbol yang dibaca oleh head = {0, 1} Γ = himpunan simbol - simbol yang disimpan ke dalam stack = {0,Z} S = q 0 Z 0 = Z F = {} Terjemahkan skenario kerja ke dalam fungsi transisi 1. δ(q 0, 0, Z) = {(q 1, 00Z)} 2. δ(q 1, 0, 0) = {(q 1, 000)} 3. δ(q 1, 1, 0) = {(q 2, ε)} 4. δ(q 2, 1, 0) = {(q 2, ε)} 5. δ(q 2, ε, Z) = {(q 2, ε)} 25 26 Analisis tata bahasa Berdasarkan Tata Bahasa Bebas Konteks [9] Jika terdapat tata bahasa bebas konteks G = (Vn, Vt, P, S), maka PDA yang mengenali bahasa L(G) adalah P = (Q, Σ, Γ, δ, S, Z 0, F) ; Q = {q} ; Σ = Vt ; Γ = (Vn U Vt) ; S = q ; Z 0 = S ; F = {} dan δ sebagai berikut : 1. Jika A α anggota dari P, maka δ(q, ε, A) mengandung (q, α) 2. δ(q, a, a) = {(q, ε)} untuk seluruh a Vt Contoh: Tata bahasa bebas konteks untuk {0 n 1 2n n > 0} G = (Vn, Vt, P, S); Vn = {X} ; Vt = {0, 1} ; S = S ; P : { X 0X11 X 011 } Maka P 5 = (Q, Σ, Γ, δ, q 0, Z 0, F) ; Q = {q} ; Σ = {0, 1} ; Γ = {X, 0, 1} ; S = q; Z 0 = S ; F = {} dan δ sebagai berikut : 1. δ(q, ε, X) = {(q, 0X11)} ketentuan 1 2. δ(q, ε, X) = {(q, 011)} ketentuan 1 3. δ(q, 0, 0) = {(q, ε)} ketentuan 2 4. δ(q, 1, 1) = {(q, ε)} ketentuan 2 27 Studi Kasus [9] 1. Buktikanlah bahwa kalimat 001111 diterima oleh P 4 dan P 5 2. Buatlah PDA diterministik P 6 yang dapat mengenali bahasa {0 n 1 n n > 0} U {1 n 0 n n > 0} 3. Buatlah PDA P 7 yang dapat mengenali bahasa L(G), di mana G adalah sebagai berikut : G = (Vn, Vt, P, S) ; Vn = {N, D} ; Vt = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ; S = N ; P sebagai berikut : N D N ND D 0 1 2 3 P 7 = (Q, Σ, Γ, δ, q 0, Z 0, F) ; Q = {q0, q1} ; Σ = {0, 1}; Γ = {0, 1, Z} ; q 0 = q0 ; Z 0 = Z ; F = {} ; 4. Buatlah PDA P 8 yang mampu mengenali bahasa {0 2n 1 n n>0} 28 7

Referensi 1. http://www.dit.hcmut.edu.vn/~tru/automata/chapter7.ppt, Tanggal Akses : 11 April 2009 2. http://www.cs.fit.edu/~dmitra/formalang/pushdownautomata.ppt, Tanggal Akses 11 April 2009 3. http://www.cs.nctu.edu.tw/~lwhsu/course/pl/slides/pz03a.ppt, Tanggal Akses : 11 April 2009 4. http://semadionline.baliseven.com/materi/push_down.ppt, Tanggal Akses : 8 April 2009 5. http://www.cs.unm.edu/~joel/cs401/pushdown%20automaton.ppt, Tanggal Akses 11 April 2009 6. http://profile.iiita.ac.in/iit2006110/documents/fat/pushdown%20automata%20 230307%201800.ppt, Tanggal Akses : 11 April 2009 7. http://www.csc.lsu.edu/~busch/courses/theorycomp/fall2008/slides/pda.ppt, Tanggal Akses : 11 April 2009 8. http://www.cs.fit.edu/~dmitra/formalang/pushdownautomata.ppt, Tanggal Akses : 11 April 2009 9. Roni Djuliawan, M.T., Diktat & Handout Kuliah Teori Bahasa & Otomata, Teknik Informatika Universitas Widyatama, 2003 29 8