Anda di halaman 1dari 36

Teori Bahasa dan Otomata

Pertemuan 13
Dosen Pengampu : Sulistyo Dwi Sancoko,S.Si.,M.Sc.

Program Studi Informatika Kelas A,B,C,D


Universitas Teknologi Yogyakarta
Push Down Automata
(PDA)
Pendahuluan
• Contoh sebuah stack :
A Top Stack
D
E

• Bila dilakukan operasi pop maka kondisi stack menjadi


D Top Stack
E

• Bila dilakukan operasi push B maka kondisi stack menjadi


B Top Stack
D
E
Definisi Formal PDA

PDA adalah Pasangan 7-tupel 𝑀 = 𝑄, Σ, Γ, Δ, 𝑆, 𝐹, 𝑍 dimana :

𝑄 : Himpunan semua state


Σ : Himpunan semua symbol input
Γ : Himpunan semua symbol elemen stack
Δ : Fungsi Transisi
𝑆 : State Awal , 𝑆 ∈ 𝑄
𝐹 : Himpunan state akhir , 𝐹 ⊆ 𝑄
𝑍 : Simbol awal untuk Stack
• PDA dapat dianggap seperti FSA yang dilengkapi dengan stack.

• Suatu PDA yang menerima input, dapat berpindah state dan


melakukan operasi pada stack (yaitu pop atau push).

• Konfigurasi PDA pada suatu saat dapat dinyatakan dengan state dan
stack.

• Pada PDA terdapat 2 jenis transisi, yaitu :

1. Transisi dengan menggunakan symbol input

2. Transisi 𝜀
Jenis Transisi PDA
1. Transisi dengan Simbol Input 2. Transisi 𝜺

▪ Bergantung pada symbol input, symbol top stack ▪ Tanpa membaca symbol input
dan state ▪ Memungkinkan PDA memanipulasi isi
stack atau berpindah state tanpa
▪ Terdapat sejumlah pilihan yang mungkin, dimana membaca symbol input.
setiap pilihan terdiri dari state berikutnya dan
symbol-symbol untuk mengganti symbol pada top
stack (bisa dengan push atau pop)

▪ Setelah membuat pilihan, PDA membaca symbol


input berikutnya.
Jenis Push Down Automata
Gerakan PDA
Contoh 1
Lanjutan…
Lanjutan…

Konfigurasi menjadi : State 𝑞1 , pop A dari stack, elemen di bawah A menjadi top stack
Lanjutan…
Contoh 2 ( PDA dengan Final State)
Penyelesaian
1. Konfigurasi awal mesin : State 𝑞1 , top stack Z, membaca input ‘ a ‘, sehingga
fungsi transisinya : Δ 𝑞1 , 𝑎, 𝑍 = { 𝑞1 , 𝐴𝑍 }. Konfigurasi mesin menjadi state
𝑞1 , dan push A
Lanjutan…
Lanjutan…
Latihan
Contoh 3 (PDA dengan Null stack)
Diberikan sebuah PDA dengan konfigurasi :
𝑄 = {𝑞1 , 𝑞2 } 𝑆 = 𝑞1
Σ = {0,1,2} 𝑍=𝑍
Γ = 𝑍, 𝐵, 𝐺 𝐹=∅
Fungsi transisi :
Δ 𝑞1 , 0, 𝑍 = { 𝑞1 , 𝐵𝑍 } Δ 𝑞2 , 0, 𝐵 = { 𝑞2 , 𝜀 } Apakah PDA ini dapat menerima
Δ 𝑞1 , 0, 𝐵 = { 𝑞1 , 𝐵𝐵 } Δ 𝑞2 , 𝜀, 𝑍 = { 𝑞2 , 𝜀 } string ‘020’ ?
Δ 𝑞1 , 0, 𝐺 = { 𝑞1 , 𝐵𝐺 } Δ 𝑞1 , 1, 𝑍 = { 𝑞1 , 𝐺𝑍 }
Δ 𝑞1 , 2, 𝑍 = { 𝑞2 , 𝑍 } Δ 𝑞1 , 1, 𝐵 = { 𝑞1 , 𝐺𝐵 }
Δ 𝑞1 , 2, 𝐵 = { 𝑞2 , 𝐵 } Δ 𝑞1 , 1, 𝐺 = { 𝑞1 , 𝐺𝐺 }
Δ 𝑞1 , 2, 𝐺 = { 𝑞2 , 𝐺 } Δ 𝑞1 , 1, 𝐺 = { 𝑞2 , 𝜀 }
Penyelesaian
Lanjutan…
PDA untuk Suatu Tata Bahasa Bebas Konteks
Langkah Konstruksi PDA dari Suatu CFG
Lanjutan…

- Δ 𝑞2 , 𝜀, 𝑍 = 𝑞3 , 𝑍 , jika telah selesai membaca semua input dan top stack


adalah Z maka string input sukses diterima oleh PDA (𝑞3 state akhir).
Contoh 4 (Konstruksi PDA)
Lanjutan…
Lanjutan…
2. Tanpa menerima input (𝜀), fungsi transisinya Δ 𝑞2 , 𝜀, 𝐷 = 𝑞2 , 𝑎𝐷𝑎
Konfigurasi mesin menjadi : State 𝑞2 dan pop top stack, lalu push aDa.
Lanjutan…
Lanjutan…
6. Menerima input ‘a’, fungsi transisinya adalah Δ 𝑞2 , 𝑎, 𝑎 = {(𝑞2 , 𝜀)} .
Konfigurasi mesin menjadi : state 𝑞2 , pop top stack.
Deskripsi Seketika Pada PDA

• Pada contoh 4, Langkah 1 s.d. 7 dapat dinyatakan dalam suatu


notasi yang disebut ‘deskripsi seketika’ (instaneous description).

• Deskripsi seketika digunakan untuk menyatakan secara formal


konfigurasi mesin PDA pada suatu saat.

• Perubahan dari satu kondisi ke berikutnya dipisahkan dengan


tanda ‘ ⊢ ‘
• Kondisi suatu saat dapat dinyatakan dalam bentuk triplet 𝑞, 𝑤, 𝑢 dimana
▪ 𝑞 menyatakan state
▪ 𝑤 menyatakan string yang belum dibaca
▪ 𝑢 adalah isi stack dengan symbol terkiri sebagai top stack

• Jadi, tahapan pada Contoh 4 dapat dinyatakan sebagai berikut :

𝑞1 , 𝑎𝑐𝑎, 𝑍 ⊢ (𝑞2 , 𝑎𝑐𝑎, 𝐷𝑍)


⊢ (𝑞2 , 𝑎𝑐𝑎, 𝑎𝐷𝑎𝑍)
⊢ (𝑞2 , 𝑐𝑎, 𝐷𝑎𝑍)
⊢ (𝑞2 , 𝑐𝑎, 𝑐𝑎𝑍)
⊢ (𝑞2 , 𝑎, 𝑎𝑍)
⊢ (𝑞2 , 𝜀, 𝑍)
⊢ (𝑞3 , 𝜀, 𝑍)
PDA

PDA Deterministik (DPDA) PDA Non Deterministik (NPDA)

DPDA dapat diubah menjadi NPDA


tetapi tidak sebaliknya

• Fungsi transisi Δ bernilai tunggal • Fungsi transisi Δ bisa bernilai lebih dari 1
• Mempunyai transisi 𝜀 • Mempunyai transisi 𝜀
• Contoh 4 • Contoh 2,3
Latihan

Anda mungkin juga menyukai