Disusun oleh:
- Reza Ardian Sitorus ( 211011401391 )
- Rifqi Rizhansyah ( 211011401149 )
TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAMULANG
1
KATA PENGANTAR
Puji syukur kami ucapkan kehadirat Allah SWT atas segala rahmat-Nya
sehingga makalah ini dapat tersusun sampai dengan selesai. Tidak lupa kami
mengucapkan terima kasih terhadap bantuan dari pihak yang telah berkontribusi dengan
memberikan sumbangan baik pikiran maupun materinya.
Penulis sangat berharap semoga makalah ini dapat menambah pengetahuan dan
pengalaman bagi pembaca. Bahkan kami berharap lebih jauh lagi agar makalah ini bisa
pembaca praktekkan dalam kehidupan sehari-hari.
Bagi kami sebagai penyusun merasa bahwa masih banyak kekurangan dalam
penyusunan makalah ini karena keterbatasan pengetahuan dan pengalaman Kami. Untuk
itu kami sangat mengharapkan kritik dan saran yang membangun dari pembaca demi
kesempurnaan makalah ini.
Penulis
2
DAFTAR ISI
3
DAFTAR GAMBAR
4
BAB I
PENDAHULUAN
5
BAB II
PEMBAHASAN
Top stack →
A
D
E
6
Pada Pushdown Automata, terdapat 7 buah tuple; M = (Q, ∑, Γ, q 0, Z0, δ, F),
dimana:
Q = himpunan hingga state
∑ = alfabet input
Γ = alfabet/simbol stack
q0 ∈ Q = state awal
Z0 ∈ Γ = simbol awal stack
δ = fungsi transisi
F = himpunan state akhir/penerima
Konfigurasi PDA pada suatu saat dinyatakan sebagai triple (q, x, ),
dimana : q Q : state pada saat tersebut, x * : bagian string input yang belum
dibaca, dan * : string yang menyatakan isi stack dengan karakter terkiri
menyatakan top of stack.
7
2.2 Memvisualisasikan Pushdown Automata melalui Diagram
Dalam ilmu komputer, konsep teoretis seperti Pushdown Automata sering kali
mendapat manfaat dari representasi visual. Diagram dapat membantu memahami
pengoperasian dan fungsinya. Diagram Pushdown Automata adalah alat visual yang
digunakan untuk mengekspresikan operasi dan transisi keadaan dalam Pushdown
Automata. Diagram Pushdown Automata menggunakan lingkaran untuk menandakan
keadaan, panah untuk melambangkan transisi, dan fungsi tumpukan berlabel yang
menunjukkan tindakan PUSH atau POP dari tumpukan. Keadaan dalam diagram
diwakili oleh lingkaran. Setiap lingkaran diberi label dengan nama keadaan tersebut.
Transisi digambarkan sebagai panah yang menghubungkan keadaan-keadaan. Label
pada panah ini mewakili kondisi transisi. Poin-poin berikut menguraikan komponen-
komponen penting dalam Diagram Pushdown Automata:
2. Keadaan : Ditampilkan dalam lingkaran, dilambangkan dengan label berbeda,
dengan keadaan awal umumnya menggunakan tanda panah masuk.
3. Transisi: Diilustrasikan sebagai panah yang menghubungkan berbagai keadaan,
diberi label dengan kondisi terjadinya transisi.
4. Operasi tumpukan: Ditampilkan di samping panah transisi, operasi ini menentukan
apakah suatu simbol akan dimasukkan atau dikeluarkan dari tumpukan.
5. Keadaan akhir: Keadaan di mana string masukan diterima, sering kali dilambangkan
dengan lingkaran ganda.
8
2.3 Jenis-jenis dan Contoh Pushdown Automata (PDA)
Pushdown Automata dikategorikan menjadi dua jenis: Deterministic Pushdown
Automata (DPDA) dan Non-Deterministic Pushdown Automata (NPDA). Deterministic
Pushdown Automata (DPDA) hanya memiliki satu gerakan di setiap kondisi, sedangkan
Non-Deterministic Pushdown Automata (NPDA) dapat memiliki beberapa gerakan.
Penting untuk membedakan antara Pushdown Automata deterministik dan non-
deterministik. Kedua tipe ini berbagi fitur utama status, simbol input, dan operasi
tumpukan. Namun, fungsi transisi mereka berbeda secara signifikan, sehingga
mempengaruhi cara mereka memproses masukan dan kemajuan di seluruh negara. Di
luar tipe utama, terdapat beberapa variasi Pushdown Automata yang kurang umum,
dimodifikasi untuk memperoleh kemampuan atau perilaku pengoperasian tertentu,
yaitu:
Visible Pushdown Automata (VPA) - Operasi push dan pop yang didefinisikan
secara eksplisit dalam simbol input.
Automata Pushdown yang digerakkan oleh input - Operasi tumpukan ditentukan
oleh simbol input saat ini, dengan mengabaikan simbol teratas tumpukan.
Counter Automata - Alih-alih tumpukan simbol, ia menggunakan penghitung
untuk mencatat nilai.
9
12 q1 Z0 (q2, Z0)
Sebagai contoh, perhatikan bahwa fungsi transisi No. 1 dapat dinyatakan sebagai
: δ (q0, a, Z0) = (q0, AZ0). Pada tabel transisi tersebut terlihat bahwa pada state
q0 PDA akan melakukan PUSH jika mendapat input a atau b dan melakukan
transisi state ke state q1 jika mendapat input c. Pada state q 1 PDA akan
melakukan POP.
10
Ilustrasi graf fungsi transisi PDA di atas ditunjukkan melalui
gambar berikut :
Latihan
Berdasarkan contoh kasus sebelumnya, lakukanlah pengujian string berikut
menggunakan metode pushdown automata :
1. abcccba,
2. abca.
11
Contoh Non-Deterministic Pushdown Automata (NPDA):
PDA M = (Q, ∑, Γ, q0, Z0, δ, F)
pengenal palindrome L = {xxT | x ∈ (a | b)*} mempunyai komponen tuple
berikut : Q = {q0, q1, q2}, F = {q2}, ∑ = {a, b}, Γ = {a, b, Z0}, dan fungsi transisi
δ terdefinisi melalui tabel berikut :
No. State Input TopStack Hasil
1 q0 a Z0 (q0, aZ0), (q1, Z0)
2 q0 b Z0 (q0, bZ0), (q1, Z0)
3 q0 a a (q0, aa), (q1, a)
4 q0 b a (q0, ba), (q1, a)
5 q0 a b (q0, ab), (q1, b)
6 q0 b b (q0, bb), (q1, b)
7 q0 Z0 (q1, Z0)
8 q0 a (q1, a)
9 q0 b (q1, b)
10 q1 a a (q1, )
11 q1 b b (q1, )
12 q1 Z0 (q2, )
Pada tabel transisi tersebut terlihat bahwa pada state q 0 PDA akan
melakukan PUSH jika mendapat input a atau b dan melakukan transisi state ke
state q1 jika mendapat input . Pada state q1 PDA akan melakukan POP. Kedua
contoh di atas menunjukkan bahwa PDA dapat dinyatakan sebagai mesin
PUSH-POP.
12
Berikut ini pengenalan string “baab” oleh PDA di atas :
Latihan
Berdasarkan contoh kasus sebelumnya, lakukanlah pengujian string berikut
menggunakan metode pushdown automata :
1. abba,
2. abcbcba.
13
BAB III
PENUTUP
3.1 Kesimpulan
Pushdown Automata (PDA) adalah model komputasi yang penting dalam teori
bahasa formal dan automata. PDA memainkan peran kunci dalam mengenali dan
memodelkan bahasa kontekstual, yang melibatkan pemrosesan informasi kontekstual
yang tidak dapat diakomodasi oleh finite automata.
Melalui penggunaan stack, PDA dapat mengelola informasi secara dinamis
selama proses komputasi, memungkinkan pengenalan pola dan struktur dalam bahasa
yang lebih kompleks. Keberadaan PDA memperluas cakupan pemahaman kita tentang
jenis bahasa yang dapat diakui oleh mesin komputasi.
14
DAFTAR PUSTAKA
15