Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
PUSH DOWN AUTOMATA (PDA)
Kuliah Teori Bahasa dan Otomata S1 Teknik Informatika STMIK “Amikom” Yogyakarta by Sumarni Adi
2
Pengantar PDA merupakan mesin otomata dari bahsa bebas konteks Bila FSA mempunyai kemampuan memori yg terbatas, maka pada PDA didefinisikan sebuah tempat penyimpanan yg tidak terbatas karena berupa stack/tumpukan Stack adalah kumpulan dari elemen2 sejenis dgn sifat penambahan dan pengambilan elemen melalui top of stack
3
Pengantar Cara kerja stack dgn menganut prinsip LIFO (last in first out) Pengambilan elemen dari stack dinyatakan dengan operasi “pop”,sedangkan Memasukkan elemen ke dalam stack dgn operasi “push” Contoh stack : top of Stack Bila di POP : Bila di Push B : A D E D E B D E
4
PDA dinyatakan dalam 7 tupel
M = (Q, , , S , Z , ∆, F), dimana : Q : himpunan hingga state, : alfabet input, : alfabet stack, S : state awal, S Q Z : simbol awal tumpukan/top stack, Z ∆ : fungsi transisi F : state akhir, F Q
5
PDA dinyatakan dalam 7 tupel
Dari komponen sebelumnya bisa dilihat: Definisi untuk :Q, , S, F sama dengan pada FSA tupel baru : dan Z ∆ memiliki kemiripan dgn pada FSA namun ada perbedaannya
6
Contoh sebuah PDA : Q = {q1,q2} = {a,b} = {A,B,Z} S = q1 Z = Z
F = q2 Memiliki fungsi transisi sbb : ∆ (q1,έ,Z) = {(q2,Z)} …1 ∆ (q1,a,Z) = {(q1,AZ)} … 2 ∆ (q1,b,Z) = {(q1,BZ)} … 3 ∆ (q1,a,A) = {(q1,AA)} … 4 ∆ (q1,b,A) = {(q1, έ)} … 5 ∆ (q1,a,B) = {(q1, έ)} … 6 ∆ (q1,b,B) = {(q1, BB)} … 7
7
Membaca fungsi transisi
Cara membaca transisi ini : ∆ (q1, έ,Z) = {(q2,Z)} State q1 dan top-stack Z membaca input “έ” Cara membaca transisi ini : ∆ (q1,a,Z) = {(q1,AZ)} State q1 dan top-stack Z membaca input “a”, konfigurasi menjadi : state q1, push A ke stack, A menjadi top-stack Cara membaca transisi ini : ∆ (q1,b,Z) = {(q1,BZ)} State q1 dan top-stack Z membaca input “b”, konfigurasi menjadi : state q1, push B ke stack, B menjadi top-stack Z A Z B Z
8
Membaca Fungsi Transisi
cara membaca transisi ini : ∆ (q1,b,A) = {(q1, έ)} state q1 dan top stack A membaca input ‘b’ konfigurasi menjadi : state q1, A di pop, elemen di bawah A menjadi top –Stack Cara membaca transisi ini : ∆ (q1,έ,Z) = {(q2,Z)} state q1 dan top –Stack Z, serta tanpa membaca input (έ) konfigurasi menjadi : state q2, stack tidak berubah A Z Z
9
Contoh misal ingin diketahui apakah string ‘abba’ diterima oleh PDA di atas ? Konfigurasi awal mesin : state q1, top stack Z, membaca input ‘a’ fungsi transisinya (2) : ∆ (q1,a,Z) = {(q1,AZ)} konfigurasi mesin menjadi : state q1, A di Push A Z
10
Contoh Membaca input ‘b’. Fungsi transisinya (5) : ∆ (q1,b,A) = {(q1, έ)} konfigurasi mesin menjadi : state q1, top stack di pop Membaca input ‘b’. Fungsi transisinya (3) : ∆ (q1,b,Z) = {(q1,BZ)}konfigurasi mesin menjadi : state q1, B di push Membaca input ‘a’ Z B Z
11
Contoh Membaca input ‘a’. Fungsi transisinya (6) : ∆ (q1,a,B) = {(q1, έ)}. Konfigurasi mesin menjadi : state q1, top stack di pop Semua input sudah dibaca. Fungsi transisinya (1) : ∆ (q1,έ,Z) = {(q2,Z)}. Konfigurasi mesin menjadi : state q2, steteq2 berada dalam F (final state), maka ‘abba’ diterima oleh PDA itu Z
12
latihan Diketahui PDA : M = (Q, , , q , Z , ∆, F) dengan Q = {q0 , q1 , q2 }, F = { q2 }, = {a, b, c}, = {A, B, Z0 }, dan fungsi transisi ∆ terdefinisi melalui tabel berikut :
Presentasi serupa
© 2025 SlidePlayer.info Inc.
All rights reserved.