Handout TIF202 Ch 7 Pushdown Automata
11/30/2016
Bab 7: Pushdown Automata (PDA)
Teori Komputasi
Fakultas Teknologi dan Desain
Program Studi Teknik Informatika
Agenda.
• Introduction
• Deterministic Pushdown Automata
• Non-Deterministic Pushdown Automata
Pushdown Automata |
2
Introduction
Defterministic PDA
• 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:
• 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:
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
Pushdown Automata |
4
1
11/30/2016
Defterministic PDA
• Pengujian string palindrome abcba.
abcba : (q0, abcba, Z0)
⇒ (q0, bcba, aZ0)
⇒ (q0, cba, baZ0)
⇒ (q1, ba, baZ0)
⇒ (q1, a, aZ0)
⇒ (q1, , Z0)
⇒ (q2, , Z0)
Pada tabel transisi tersebut terlihat bahwa pada stata q0 PDA akan
melakukan PUSH jika mendapat input a atau b dan melakukan transisi
stata ke stata q1 jika mendapat input c. Pada stata q1 PDA akan
melakukan POP.
Pushdown Automata |
5
Defterministic PDA
(1)
(4)
(9)
(11)
(10)
(12)
Pushdown Automata |
6
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:
Latihan 1.
Problem 1: Berdasarkan contoh kasus sebelumnya, lakukanlah
pengujian string berikut menggunkaan metode pushdown automata :
1. abcccba,
2. abca.
Pushdown Automata |
Defterministic PDA
7
Pushdown Automata |
8
2
11/30/2016
Non-Defterministic PDA
• Pengujian string palindrome baab.
(q0 , baab, Z0) ⇒ (q0, aab, bZ0 )
⇒ (q0, ab, abZ0)
⇒ (q1, ab, abZ0)
⇒ (q1, b, bZ0)
⇒ (q1, , Z0)
⇒ (q2, , Z0)
Pada tabel transisi tersebut terlihat bahwa pada stata q0 PDA akan
melakukan PUSH jika mendapat input a atau b dan melakukan transisi
stata ke stata q1 jika mendapat input . Pada stata q1 PDA akan
melakukan POP.
Pushdown Automata |
Non-Defterministic PDA
9
(2 kiri)
(5 kiri)
(3 kanan)
(11)
(10)
(12)
Pushdown Automata |
10
Non-Defterministic PDA
Teori Komputasi
Latihan 2.
Problem 1: Berdasarkan contoh kasus sebelumnya, lakukanlah
pengujian string berikut menggunkaan metode pushdown automata :
1. abba,
2. abcbcba.
Pushdown Automata |
11
3
Bab 7: Pushdown Automata (PDA)
Teori Komputasi
Fakultas Teknologi dan Desain
Program Studi Teknik Informatika
Agenda.
• Introduction
• Deterministic Pushdown Automata
• Non-Deterministic Pushdown Automata
Pushdown Automata |
2
Introduction
Defterministic PDA
• 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:
• 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:
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
Pushdown Automata |
4
1
11/30/2016
Defterministic PDA
• Pengujian string palindrome abcba.
abcba : (q0, abcba, Z0)
⇒ (q0, bcba, aZ0)
⇒ (q0, cba, baZ0)
⇒ (q1, ba, baZ0)
⇒ (q1, a, aZ0)
⇒ (q1, , Z0)
⇒ (q2, , Z0)
Pada tabel transisi tersebut terlihat bahwa pada stata q0 PDA akan
melakukan PUSH jika mendapat input a atau b dan melakukan transisi
stata ke stata q1 jika mendapat input c. Pada stata q1 PDA akan
melakukan POP.
Pushdown Automata |
5
Defterministic PDA
(1)
(4)
(9)
(11)
(10)
(12)
Pushdown Automata |
6
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:
Latihan 1.
Problem 1: Berdasarkan contoh kasus sebelumnya, lakukanlah
pengujian string berikut menggunkaan metode pushdown automata :
1. abcccba,
2. abca.
Pushdown Automata |
Defterministic PDA
7
Pushdown Automata |
8
2
11/30/2016
Non-Defterministic PDA
• Pengujian string palindrome baab.
(q0 , baab, Z0) ⇒ (q0, aab, bZ0 )
⇒ (q0, ab, abZ0)
⇒ (q1, ab, abZ0)
⇒ (q1, b, bZ0)
⇒ (q1, , Z0)
⇒ (q2, , Z0)
Pada tabel transisi tersebut terlihat bahwa pada stata q0 PDA akan
melakukan PUSH jika mendapat input a atau b dan melakukan transisi
stata ke stata q1 jika mendapat input . Pada stata q1 PDA akan
melakukan POP.
Pushdown Automata |
Non-Defterministic PDA
9
(2 kiri)
(5 kiri)
(3 kanan)
(11)
(10)
(12)
Pushdown Automata |
10
Non-Defterministic PDA
Teori Komputasi
Latihan 2.
Problem 1: Berdasarkan contoh kasus sebelumnya, lakukanlah
pengujian string berikut menggunkaan metode pushdown automata :
1. abba,
2. abcbcba.
Pushdown Automata |
11
3