Chapter 10: Pushdown Automata (PDA) dan Komputasi Berbasis Stack
Konsep & Pembahasan Terperinci
1. Hierarki Mesin Berdasarkan Memori Sementara
| Jenis Mesin Automata | Karakteristik Memori Sementara | Kelas Bahasa yang Dikenali |
|---|---|---|
| Finite Automata (FA) | Tidak mempunyai memori (hanya mengingat via state) | Regular Language |
| Pushdown Automata (PDA) | Stack terstruktur LIFO (akses terbatas hanya di puncak) | Context-Free Language (CFL) |
| Turing Machine (TM) | Pita tak terhingga dengan akses acak (Random Access) | Recursively Enumerable |
2. Definisi Formal 7-Tuple Pushdown Automaton
Suatu PDA didefinisikan secara matematis oleh 7 komponen:
Di mana:
: Himpunan berhingga state.
: Alfabet simbol masukan (input).
: Alfabet simbol stack (stack alphabet).
: Fungsi transisi:
: State awal ().
: Simbol awal pengisi dasar stack ().
: Himpunan state final ().
3. Cara Kerja Transisi dan Instantaneous Description (ID)
Setiap transisi dinyatakan dalam bentuk:
Artinya: Ketika mesin berada di state , membaca simbol input (bisa berupa ), dan simbol di puncak stack adalah :
Mesin menghapus (pop) simbol dari puncak stack.
Mesin berpindah ke state .
Mesin menambahkan (push) deretan simbol ke puncak stack (jika , berarti hanya operasi pop).
Notasi ID (Konfigurasi Sesaat):
: State saat ini.
: Sisa string masukan yang belum dibaca.
: Isi stack saat ini (simbol paling kiri adalah puncak stack).
Lambang menyatakan satu langkah transisi, dan menyatakan barisan nol langkah transisi atau lebih.
Studi Kasus 1: PDA Bahasa (State Final)
Spesifikasi Mesin:
State: , State Awal: , State Final:
, , Simbol Awal Stack:
Aturan Transisi:
: Simbol
0pertama push di atas .: Simbol
0berikutnya push baru.: Simbol
1pertama pindah ke dan pop satu .: Simbol
1berikutnya tetap di dan pop satu .: Jika seluruh habis dan terlihat pop dan pindah ke state final .
Pelacakan (Tracing) ID untuk String Masukan :
Karena string input habis dibaca dan mesin berhenti di state final , maka string $0011$ Diterima (Accepted).
Studi Kasus 2: PDA Palindrom Genap (Stack Kosong)
Spesifikasi Mesin:
Bahasa: (Contoh:
aabbaa), (Penerimaan murni berdasarkan stack kosong: )
,
Mekanisme Kerja:
Di state , setiap simbol di-push sebagai , dan simbol di-push sebagai .
Tebakan Non-Deterministik: Mesin secara acak "menebak" bahwa ia telah berada di titik tengah palindrom, lalu melakukan transisi berpindah ke state tanpa mengubah isi stack.
Di state , mesin mencocokkan input dengan puncak stack: jika input cocok dengan , pop ; jika input cocok dengan , pop .
Terakhir, pop untuk mengosongkan stack.
Tracing ID Sukses untuk String Masukan :
String habis dibaca dan stack kosong Diterima (Accepted).
Perbandingan Konsep: State Final vs Stack Kosong
| Parameter | Penerimaan State Final | Penerimaan Stack Kosong |
|---|---|---|
| Kriteria Terima | State akhir saat string habis | Stack benar-benar kosong () saat string habis |
| Kondisi Stack | Boleh masih tersisa simbol di stack | Wajib kosong, tidak memedulikan state akhir |
| Himpunan | Wajib memiliki | Himpunan diabaikan (bisa ) |
| Ekuivalensi | Ekuivalen secara komputasi: |
Latihan Soal & Pembahasan
Level 1 - Basic
Soal 1.1
Sebutkan 7 komponen dalam tuple Pushdown Automata .
Soal 1.2
Apa fungsi dari simbol awal stack ?
Pembahasan/Jawaban
1.1 (state), (alfabet input), (alfabet stack), (fungsi transisi), (state awal), (simbol awal stack), (himpunan state final).
1.2 Simbol berfungsi sebagai penanda dasar stack sehingga operasi pop pada transisi pertama dapat dieksekusi secara sah, serta menjadi penanda bahwa seluruh simbol yang di-push sebelumnya telah berhasil dicocokkan.
Level 2 - Intermediate
Soal 2.1
Sebutkan 3 kondisi yang menyebabkan suatu string input ditolak (rejected) oleh PDA.
Pembahasan/Jawaban
Tiga kondisi penolakan string oleh PDA adalah:
Tidak ada transisi yang valid dari konfigurasi saat ini (stuck / halt).
Input belum selesai dibaca, tetapi stack sudah kosong terlebih dahulu.
Seluruh input telah selesai dibaca, tetapi mesin berada di state yang bukan Final (pada model ) atau stack belum kosong (pada model ).
Level 3 - Advanced
Soal 3.1
Mengapa bahasa palindrom genap membutuhkan sifat non-deterministik pada PDA dan tidak dapat diselesaikan oleh PDA deterministik (DPDA)?
Pembahasan/Jawaban
Karena pada palindrom tanpa pemisah di tengah (seperti ), mesin yang membaca deretan simbol tidak memiliki tanda eksplisit kapan bagian paruh pertama () berakhir dan kapan paruh kedua yang berbalik () dimulai. Mesin harus bebas "menebak" secara non-deterministik kapan saat yang tepat untuk berhenti melakukan operasi push dan mulai melakukan operasi pop pencocokan.
Exam Cheat Sheet
7-Tuple PDA: .
Aksi Transisi : Selalu pop , lalu push .
Format ID: dengan relasi transisi .
Dua Cara Terima:
: Berakhir di state final .
: Berakhir dengan stack kosong ().
Teorema Kesetaraan: .
Referensi & Bahan Bacaan
Catatan Penutup
Dengan tuntasnya Bab 10, seluruh peta jalan kurikulum Teori Komputasi dan Bahasa Formal telah berhasil dipetakan secara utuh: dari konsep dasar alfabet dan string, Finite State Automata (DFA, NFA, -NFA, Moore, Mealy, Minimisasi), representasi aljabar Regular Expression, hingga perancangan tata bahasa bebas konteks (CFG) dan mesin komputasi bertumpukan stack (Pushdown Automata).