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