11/30/2016
1
Teori Komputasi
Fakultas Teknologi dan Desain Program Studi Teknik Informatika
Bab 7: Pushdown Automata (PDA)
Agenda.
• Introduction• Deterministic Pushdown Automata • Non-Deterministic Pushdown Automata
Pushdown Automata | 2
Introduction
• Pushdown Automata (PDA) merupakan sebuah teknik pengujian kalimat/string menggunakan pendekatan stack • PDA terdiri atas pasangan 7 buah tuple M = (Q, , , q0, Z0,
, A), dimana:
Q : himpunan hingga stata,
Σ : alfabet input,
Γ : alfabet stack, q0∈Q : stata awal,
Z0∈Γ : simbol awal stack, dan
A ⊆Q : himpunan stata penerima.
Pushdown Automata | 3
Defterministic PDA
• Contoh kasus: Deterministic PDA
Jika diketahui sebuah PDA M = (Q, Σ, Γ, q0, Z0, , A)
merupakan sebuah PDA deterministik untuk pengujian palindrome memiliki tuple sebagai berikut.
Q = {q0, q1, q2}, A = {q2}, Σ = {a, b, c}, Γ = {a, b, Z0}, dan
fungsi transisi terdefinisi melalui tabel berikut:
11/30/2016
2
Defterministic PDA
Pada tabel transisi tersebut terlihat bahwa pada stata q0PDA akan
melakukan PUSH jika mendapat input a atau b dan melakukan transisi stata ke stata q1jika mendapat input c. Pada stata q1 PDA akan
melakukan POP.
Pushdown Automata | 5
Defterministic PDA
• Pengujian string palindrome abcba.
abcba : (q0, abcba, Z0) ⇒(q0, bcba, aZ0) (1)
⇒(q0, cba, baZ0) (4)
⇒(q1, ba, baZ0) (9)
⇒(q1, a, aZ0) (11)
⇒(q1, , Z0) (10)
⇒(q2, , Z0) (12)
Pushdown Automata | 6
Defterministic PDA
Latihan 1.
Problem 1: Berdasarkan contoh kasus sebelumnya, lakukanlah
pengujian string berikut menggunkaan metode pushdown automata: 1. abcccba,
2. abca.
Pushdown Automata | 7
Non-Defterministic PDA
• Contoh kasus: Non-Deterministic PDA
Jika diketahui sebuah PDA M = (Q, Σ, Γ, q0, Z0, , A)
merupakan sebuah PDA deterministik untuk pengujian palindrome memiliki tuple sebagai berikut.
Q = {q0, q1, q2}, A = {q2}, Σ = {a, b}, Γ = {a, b, Z0}, dan
fungsi transisi terdefinisi melalui tabel berikut:
11/30/2016
3
Non-Defterministic PDA
Pada tabel transisi tersebut terlihat bahwa pada stata q0PDA akan
melakukan PUSH jika mendapat input a atau b dan melakukan transisi stata ke stata q1jika mendapat input . Pada stata q1PDA akan
melakukan POP.
Pushdown Automata | 9
Non-Defterministic PDA
• Pengujian string palindrome baab.
(q0, baab, Z0) ⇒(q0, aab, bZ0) (2 kiri)
⇒(q0, ab, abZ0) (5 kiri)
⇒(q1, ab, abZ0) (3 kanan)
⇒(q1, b, bZ0) (11)
⇒(q1, , Z0) (10)
⇒(q2, , Z0) (12)
Pushdown Automata | 10
Non-Defterministic PDA
Latihan 2.
Problem 1: Berdasarkan contoh kasus sebelumnya, lakukanlah
pengujian string berikut menggunkaan metode pushdown automata: 1. abba,
2. abcbcba.
Pushdown Automata | 11