Pushdown Automata
Pushdown Automata
Pushdown Automata
Finite Automata
Head
Arah Pergerakan
State Indicator
1
4 2
3
3
4
6
7
7
8
Pasti |z| n.
• Misalkan terdapat string u, v, w sehingga
1) z = 0 1 = uvw
n n
2) |uv| n
8
3) |v| 1.
9
mengandung 0.
• Kita tidak mengetahui pasti berapa jumlah 0 pada v.
• Misalkan terdapat string z' = uv w = uvvw. Maka jelas z'
2
10
11
Review Stack
• Stack atau tumpukan adalah suatu struktur data yang seolah-olah terlihat
seperti data yang tersusun secara ‘menumpuk’, yang mana ada data yang
terletak di atas data yang lainnya.
• Bersifat LIFO (Last In First Out), berarti data yang masuk terakhir akan keluar
pertama.
• Suatu Stack diakses dari elemen paling atas yang disebut TOP.
• Operasi pada Stack:
• IsEmpty : mengecek apakah Stack sudah kosong
• Push : menambah data pada Stack pada tumpukan paling atas
11 • Pop : mengambil data pada Stack pada tumpukan paling atas
12
23 TOP 37 TOP
21 PUSH(37) 23
33 21
43 33
25 43
12 25
13
23 TOP 21 TOP
21 POP( ) 33
33 43
43 25
25
13
14
Pushdown Automata
15
16
Head
Arah Pergerakan
State Indicator
1
4 2
3
17
Stack Symbol
M = (S, Σ, , T, i, F)
• S=
{q0,q1,q2,q3}
• Σ = {x,y}
• = {x,y,#}
• i = q0
• F = {q0,q3}
20
21
28
29
xxxyyy
State: q0
Stack
29
30
xxxyyy
State: q1
Stack
30
31
xxxyyy
State: q1
x
#
Stack
31
32
xxxyyy
State: q1
x
x
#
Stack
32
33
xxxyyy
State: q1
x
x
x
#
Stack
33
34
xxxyyy
State: q2
x
x
#
Stack
34
35
xxxyyy
State: q2
x
#
Stack
35
36
xxxyyy
State: q2
Stack
36
37
xxxyyy
State: q3
Stack
37
38
Mesin 1 Mesin 2
39
40
41
46
47
47
48
48
49
49