Professional Documents
Culture Documents
Sadf
Sadf
Sadf
2
Pendahuluan
3
PDA
• Kalau di FSA kita mengenal 5 tupel, akan tetapi untuk PDA ada 7
tupel :
• M=(Q,∑,δ,г,S,F,Z), dengan
• Q: kumpulan state (simbol non terminal) Next state
• ∑: input (simbol terminal)
• δ: tabel transisi/produksi δ(q1, ɛ, Z)={(q2,Z)}
• Г: simbol kumpulan stack
Next
• S: initial state stack
State awal
• F: final state Stack awal
• Z: stack awal
input
4
Cara kerja stack
• Stack awal A
B
C
A
• dipop B
C
• dipush D B
C
5
Bagaimana kalau LIFO di PDA?
Kondisi stack awal/existing C
Dipush BC B C
Dipush BB B B C
Dipop B C
Cara membaca stack
Contoh transisi PDA:
δ: δ(q1,ɛ,Z)={(q2,Z)}
δ(q1,a,Z)={(q1,AZ)}
δ(q1,b,Z)={(q1,BZ)}
δ(q1,b,A)={(q1,ɛ)}
δ(q1,b,A)={(q1,B)} = stack terkini sama spt stack sebelumnya
8
Jawaban :
• δ(q1,abba,Z) =(q1,bba,AZ)---(2)
=(q1,ba,Z)---(5)
=(q1,a,BZ)---(3)
=(q1,ɛ,Z)---(6)
=(q2,Z)---(1)
9
PDA deterministik
• PDA : M = (Q, , ,S, Z , , F)
• Q = {q0 , q1 , q2 }, S={q0}, F = { q2 }, = {a, b, c}, = {A, B, Z }, Z={Z}, dan
fungsi transisi :
No State Input Top Hasil No Stat Inpu Top Hasil
stack e t stac
k
1 q0 a Z (q0,AZ)
2 q0 b Z (qo,BZ) 7 q0 c Z (q1,Z)
3 q0 a A (q0,AA) 8 q0 c A (q1,A)
4 q0 b A (qo,BA) 9 q0 c B (q1,B)
5 q0 a B (q0,AB) 10 q1 a A (q1, ɛ)
6 q0 b B (q0,BB) 11 q1 b B (q1, ɛ)
12 q1 ɛ Z (q2,Z)
13
Termasuk dalam L (M) ???
String ‘aba’?
String ‘baab’?
Sting ‘abc’?
14
“aba”
15
Komponen PDA (1)
4. Dua atau lebih halt state yang berbentuk state ACCEPTED dan
REJECTED
ACCEPT REJECT
IFUPN
Pertemuan XII 16
Komponen PDA (2)
a
b a
Contoh :
- +
b
START
b
a
READ READ
b
a
REJECT ACCEPT
IFUPN
Pertemuan XII 17
Komponen PDA (3)
C2
C1
.
.
.
IFUPN
Pertemuan XII 18
Komponen PDA (4)
Contoh : START
a
PUSH a READ
b
b
a
POP READ POP
b a a, b
IFUPN
Pertemuan XII 19
Komponen PDA (5)
Contoh :
Misal dibuat PDA untuk bahasa palindrome yang berbentuk s X reverse(s)
dimana s adalah substring dari (a + b)*
START
Bagian depan dari PDA akan mempunyai bentuk :
a X
PUSH a READ
b
PUSH b
Misal jika diberi input string abbXbba, maka pemrosesan untuk substring
abb adalah seperti berikut :
b
b
a b b X b b a a
IFUPN
Pertemuan XII 20
Komponen PDA (6)
a
X a
READ POP
b
b
POP
POP
ACCEPT
IFUPN
Pertemuan XII 21
Komponen PDA (7)
START
a
a X a
PUSH a READ READ POP
b
b
b
PUSH b POP
POP
ACCEPT
IFUPN
Pertemuan XII 22
Membentuk PDA dari CFG (and vice versa) (1)
PUSH X1 POP
Xi
POP PUSH Xk PUSH Xj
b
READ
POP
4. Sebuah production Xi , akan menjadi : POP READ ACCEPT
IFUPN
Pertemuan XII 23
Membentuk PDA dari CFG (and vice versa) (2)
Contoh : S AB A a
A BB B a
B AB B b
S B
A BB
A
IFUPN
Pertemuan XII 24
Membentuk PDA dari CFG (and vice versa) (3)
S A B
S B
A
a b b
PUSH B PUSH B PUSH B
READ READ READ
S A B
PUSH A PUSH B PUSH A
START PUSH S POP READ ACCEPT
S B
A
IFUPN
Pertemuan XII 25
Referensi
Utama
Firrar Utdirartatmo, Teori Bahasa dan Otomata, JJ Learning, 2001
Firrar Utdirartatmo, Teknik Kompilasi, JJ Learning, 2001
Pendamping
Aho, Ulman. The Teory of Parsing Translation And Compiling.
Prentice-Hall. 1972
Grune , Modern Compiler Design, John Wiley and Sons ,2002
Peter Linz, An Introduction to Formal Language and Automata, DC
Healt & Co, 1990
26