1 / 50

14. PUSH-DOWN AUTOMATA

14. PUSH-DOWN AUTOMATA. 14.1 Push Down Automata (PDA) Merupakan mesin otomata dari bahasa bebas konteks . Perbedaan PDA dengan Otomata Hingga terletak pada kemampuan memori . Otomata hingga mempunyai memori yang terbatas , sedangkan PDA mempunyai memori yang tidak terbatas ,

dinesh
Download Presentation

14. PUSH-DOWN AUTOMATA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 14. PUSH-DOWN AUTOMATA

  2. 14.1 Push Down Automata (PDA) Merupakanmesinotomatadaribahasabebas konteks. Perbedaan PDA denganOtomataHinggaterletak padakemampuanmemori. Otomatahingga mempunyaimemori yang terbatas, sedangkan PDA mempunyaimemori yang tidakterbatas, berupastack. Stackadalahkumpulandarielemen-elemensejenis dengansifatpenambahanelemendanpengambilan elemenmelaluisuatutempat yang disebut top of stack.

  3. Aturanpengisianataupengeluaranelemenstack menganutsistem LIFO (Last In First Out). Pengambilanelemendari stack dikenaldenganistilah pop. Sedangkanmemasukkanelemenkedalam stack dikenaldenganistilahpush. Contohsebuahstack Top-stack  A D D E E Biladilakukanoperasipop, makakondisi stack menjadi: Top-stack 

  4. Biladilakukanoperasipush B, makakondisistack menjadi: B Top-stack  D E

  5. Sebuah PDA dinyatakandalam 7 tupel: • M = (Q, , , , S, F, Z) • Q = himpunanstate • = himpunansimbol input • = simbol-simboltumpukan / stack • = fungsitransisi • S = stateawal, S  Q • F = himpunanfinal state, F  Q • Z = simbolawaltumpukan / top stack, Z   • Dari komponendiatasdapatdisimpulkanbahwa: • - DefinisiuntukQ, , S, F samadengan yang adapada • otomatahingga. • Tupelbaruadalah , Z yang berhubungandenganstack. •  memilikikemiripandengan  padaotomatahingga • denganbeberapaperbedaan.

  6. PDA dapatdianggapsebagaiotomatahingga yang dilengkapidenganstack. Sebuah PDA yang menerimainput, selainbisa berpindahstatejugabisamelakukanoperasipada stack. Kondisiataukonfigurasi PDA padasuatusaat dinyatakandenganstatedanstack. Jenistransisipada PDA; Membacasimbolinput Tanpamembacasimbolinput.

  7. Membacasimbol input Pada PDA yang membacasimbol input, terdapat sejumlahpilihan yang mungkin, bergantungpada simbolinput, simbolpadatop-stack, danstate. Setiappilihanterdiridaristateberikutnyadan simbol-simbol (bisasatu, beberapa, ataukosong) untukmenggantisimbolpadatop-stack. Penggantiansimbolpadatop-stackbisaberupapush, untuksatuataubeberapasimbol, atauberupapop untuksimbolkosong. Setelahmembuatpilihan, kemudian PDA membaca simbolinputberikutnya.

  8. 2. Tanpamembacasimbol input Jenistransisitanpamembaca input adalahtransisi yang dilakukantanpamembacainputatau. Transisiinimemungkinkan PDA memanipulasiisi stackatauberpindahstatetanpamembacainput. Jenis-jenis PDA: PDA null stack, yaitu PDA yang melakukan penerimaaninputdenganstackkosong. 2. PDA final state,yaitu PDA yang melakukan penerimaaninput yang pilihantransisinya menyebabkan PDA mencapaifinal state.

  9. Contoh 14.1 • Sebuah PDA • Q = {q1, q2} • = {a, b} • = {A, B, Z} • S = q1 • Z = Z • F = {q2} PDA tersebutmemilikifungsitransisi: (q1, , Z) = {(q2, Z)} (q1, a, Z) = {(q1, AZ)} (q1, b, Z) = {(q1, BZ)} (q1, a, A) = {(q1, AA)} (q1, b, A) = {(q1, )} (q1, a, B) = {(q1, )} (q1, b, B) = {(q1, BB)}

  10. Kita bisamembacafungsi transisitsb. sebagaiberikut. (q1, a, Z) = {(q1, AZ)} Mesindengankonfigurasi: State q1dantop-stack Z membacainput ‘a’ Fungsitransisi: (q1, , Z) = {(q2, Z)} (q1, a, Z) = {(q1, AZ)} (q1, b, Z) = {(q1, BZ)} (q1, a, A) = {(q1, AA)} (q1, b, A) = {(q1, )} (q1, a, B) = {(q1, )} (q1, b, B) = {(q1, BB)} Z Konfigurasimenjadi: State q1 , push A kestack, A menjaditop-stack A Z

  11. (q1, b, A) = {(q1, )} Mesindengankonfigurasi: State q1dantop-stack A membacainput ‘b’ Fungsitransisi: (q1, , Z) = {(q2, Z)} (q1, a, Z) = {(q1, AZ)} (q1, b, Z) = {(q1, BZ)} (q1, a, A) = {(q1, AA)} (q1, b, A) = {(q1, )} (q1, a, B) = {(q1, )} (q1, b, B) = {(q1, BB)} A Z Konfigurasimenjadi: State q1 , pop A daristack, elemendibawah A menjaditop-stack Z

  12. (q1, , Z) = {(q2, Z)} Mesindengankonfigurasi: State q1dantop-stack Z tanpamembacainput. Fungsitransisi: (q1, , Z) = {(q2, Z)} (q1, a, Z) = {(q1, AZ)} (q1, b, Z) = {(q1, BZ)} (q1, a, A) = {(q1, AA)} (q1, b, A) = {(q1, )} (q1, a, B) = {(q1, )} (q1, b, B) = {(q1, BB)} Z Z Konfigurasimenjadi: State q2, stacktidakberubah

  13. Contoh 14.2 • Sebuah PDA • Q = {q1, q2} • = {a, b} • = {A, B, Z} • S = q1 • Z = Z • F = {q2} PDA tersebutmemilikifungsitransisi: (q1, , Z) = {(q2, Z)} (q1, a, Z) = {(q1, AZ)} (q1, b, Z) = {(q1, BZ)} (q1, a, A) = {(q1, AA)} (q1, b, A) = {(q1, )} (q1, a, B) = {(q1, )} (q1, b, B) = {(q1, BB)} Tentukanapakah PDA diatasdapatmenerima string ‘abba’ Penyelesaian:

  14. Fungsitransisi: (q1, , Z) = {(q2, Z)} (q1, a, Z) = {(q1, AZ)} (q1, b, Z) = {(q1, BZ)} (q1, a, A) = {(q1, AA)} (q1, b, A) = {(q1, )} (q1, a, B) = {(q1, )} (q1, b, B) = {(q1, BB)} Konfigurasiawalmesin: state q1 , top-stack Z, membaca input ‘a’. Fungsitransisinya: (q1, a, Z) = {(q1, AZ)} Konfigurasimesinmenjadi: state q1danpush A Z A Z

  15. 2. Membacainput ‘b’. Fungsitransisinya: (q1, b, A) = {(q1, )} Konfigurasimesinmenjadi: state q1dantop-stackdipop Fungsitransisi: (q1, , Z) = {(q2, Z)} (q1, a, Z) = {(q1, AZ)} (q1, b, Z) = {(q1, BZ)} (q1, a, A) = {(q1, AA)} (q1, b, A) = {(q1, )} (q1, a, B) = {(q1, )} (q1, b, B) = {(q1, BB)} Z 3. Membacainput ‘b’. Fungsitransisinya: (q1, b, Z) = {(q1, BZ)} Konfigurasimesinmenjadi: state q1dan B dipush B Z

  16. 4. Membacainput ‘a’. Fungsitransisinya: (q1, a, B) = {(q1, )} Konfigurasimesinmenjadi: state q1dantop-stackdipop Fungsitransisi: (q1, , Z) = {(q2, Z)} (q1, a, Z) = {(q1, AZ)} (q1, b, Z) = {(q1, BZ)} (q1, a, A) = {(q1, AA)} (q1, b, A) = {(q1, )} (q1, a, B) = {(q1, )} (q1, b, B) = {(q1, BB)} Z 5. Semua input sudahselesaidibaca. Fungsitransisinya: (q1, , Z) = {(q2, Z)} Konfigurasimesinmenjadi: state q2 State q2beradadalam F (final state), maka ‘abba’ diterimaoleh PDA Z

  17. Contoh 14.3 Sebuah PDA Q = {q1, q2} ;  = {0, 1, 2} ; = {Z, B, G} ; S = {q1 , q2} ; Z = Z ; F =  PDA tersebutmemilikifungsitransisi: (q2, 0, B) = {(q2, )} (q2, , Z) = {(q2, )} (q1, 1, Z) = {(q1, GZ)} (q1, 1, B) = {(q1, GB)} (q1, 1, G) = {(q1, GG)} (q2, 1, G) = {(q2, )} (q1, 0, Z) = {(q1, BZ)} (q1, 0, B) = {(q1, BB)} (q1, 0, G) = {(q1, BG)} (q1, 2, Z) = {(q2, Z)} (q1, 2, B) = {(q2, B)} (q1, 2, G) = {(q2, G)} Tentukanapakah PDA diatasdapatmenerima string ‘020’ Penyelesaian:

  18. Z B (q1, 0, Z) = {(q1, BZ)} (q1, 0, B) = {(q1, BB)} (q1, 0, G) = {(q1, BG)} (q1, 2, Z) = {(q2, Z)} (q1, 2, B) = {(q2, B)} (q1, 2, G) = {(q2, G)} (q2, 0, B) = {(q2, )} (q2, , Z) = {(q2, )} (q1, 1, Z) = {(q1, GZ)} (q1, 1, B) = {(q1, GB)} (q1, 1, G) = {(q1, GG)} (q2, 1, G) = {(q2, )} Z Konfigurasiawalmesin: state q1 , top-stack Z, menerima input ‘0’. Fungsitransisinya: (q1, 0, Z) = {(q1, BZ)} Konfigurasimesinmenjadi: state q1danpush B

  19. 2. Membaca input ‘2’ Fungsitransisinya: (q1, 2, B) = {(q2, B)} Konfigurasimesinmenjadi: state q2danstack tetap B (q1, 0, Z) = {(q1, BZ)} (q1, 0, B) = {(q1, BB)} (q1, 0, G) = {(q1, BG)} (q1, 2, Z) = {(q2, Z)} (q1, 2, B) = {(q2, B)} (q1, 2, G) = {(q2, G)} (q2, 0, B) = {(q2, )} (q2, , Z) = {(q2, )} (q1, 1, Z) = {(q1, GZ)} (q1, 1, B) = {(q1, GB)} (q1, 1, G) = {(q1, GG)} (q2, 1, G) = {(q2, )} Z

  20. 3. Membaca input ‘0’ Fungsitransisinya: (q2, 0, B) = {(q2, )} Konfigurasimesinmenjadi: state q2dan B dipop (q1, 0, Z) = {(q1, BZ)} (q1, 0, B) = {(q1, BB)} (q1, 0, G) = {(q1, BG)} (q1, 2, Z) = {(q2, Z)} (q1, 2, B) = {(q2, B)} (q1, 2, G) = {(q2, G)} (q2, 0, B) = {(q2, )} (q2, , Z) = {(q2, )} (q1, 1, Z) = {(q1, GZ)} (q1, 1, B) = {(q1, GB)} (q1, 1, G) = {(q1, GG)} (q2, 1, G) = {(q2, )} Z

  21. 4. Tanpamembaca input (  ) Fungsitransisinya: (q2, , Z) = {(q2, )} Konfigurasimesinmenjadi: state q2dan Z dipop Stack kosong (q1, 0, Z) = {(q1, BZ)} (q1, 0, B) = {(q1, BB)} (q1, 0, G) = {(q1, BG)} (q1, 2, Z) = {(q2, Z)} (q1, 2, B) = {(q2, B)} (q1, 2, G) = {(q2, G)} (q2, 0, B) = {(q2, )} (q2, , Z) = {(q2, )} (q1, 1, Z) = {(q1, GZ)} (q1, 1, B) = {(q1, GB)} (q1, 1, G) = {(q1, GG)} (q2, 1, G) = {(q2, )} Karenastring‘020’ telahselesai dibacadanberakhirpadastack kosong, maka PDA dapat menerimastring‘020’.

  22. 14.2 PDA untuksuatutatabahasabebaskonteks PDA adalahmerupakanpenerimabahasa-bahasa bebaskonteks, sehinggadarisuatutatabahasa bebaskontekskitadapatmemperolehsebuah PDA, begitujugasebaliknya. Sebuah PDA bisadibuatuntukkumpulanaturan Produksidarisuatutatabahasabebaskonteks. Langkah-langkahnyaadalahsebagaiberikut: 1. Definisikan: Q = {q1, q2, q3 } S = q1 F = { q3 }  = simbol terminal

  23. Untuk yang berhubungandenganstack, tentukan : • = semuasimbolvariabel, simbol terminal, dan • Z (simbolawalstack) • 2. Mesininidimulaidenganmem-push Z pada top stack. Padasetiaplangkahberikutnyadilakukan • salahsatudariduahalberikut: • Jikatop-stackadalahvariabel , misal A, kitagantikandenganruaskanandari A, misal A w, • makakitagantidengan w. • Jikatop-stackadalah terminal, dansamadengansimbolmasukanberikutnya, makakitapopdaristack.

  24. 3. Berdasarkanaturandiatas, kitadapatmengkonstruksiempattipetransisiberikut. •  (q1 , , Z) = {(q2 , SZ)} untukmem-pushsimbolawal (S) kestack. •  (q2 , , A) = {(q2 , w) | A  w adalahsebuahsimbolproduksidalamtatabahasabebaskonteksitu} untuksemuavariabel A. •  (q2 , a, a) = {(q2 , )} untuksetiapsimbol terminal (untukmem-poppembandingan terminal yang sama) •  (q2 , , Z) = {(q3 , Z)}, bilaselesaimembacasemuainputdantop-stackadalah Z, berartistringinputsuksesditerimaoleh PDA ( q3stateakhir)

  25. Contoh 14.4 • Sebuahtatabahasabebaskonteks, D  aDa | bDb | c • PDA nyadapatdikonstruksimenjadi: • Q = {q1, q2, q3 } • S = q1 • F = { q3 } • = {a, b, c} • = {D, a, b, c, Z} • Fungsitransisinya: • (q1, , Z) = {(q2, DZ)} • (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} • (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} • (q2, , Z) = {(q3, Z)}

  26. Dari aturanproduksi yang ada, tatabahasabebaskontekstersebutbisamenurunkanuntai ‘aca’ dari D  aDa  aca Karenatatabahasabebaskonteksbisamenurunkanstring ‘aca’ , maka PDA jugaharusdapatmenerimauntaitersebut. Langkahpemeriksaan:

  27. Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)} Konfigurasiawalmesin: state q1 , top-stack Z, tanpamenerimainput (). Fungsitransisinya: (q1, , Z) = {(q2, DZ)} Konfigurasimesinmenjadi: state q2danpush D

  28. Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)} 2. Tanpamenerimainput (). Fungsitransisinya: (q2, , D) = {(q2, aDa)} Konfigurasimesinmenjadi: state q2, pop top-stack push‘aDa’

  29. 3. Menerimainput ‘a’ Fungsitransisinya: (q2, a, a) = {(q2, )} Konfigurasimesinmenjadi: state q2 , pop top-stack Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)}

  30. 4. Tanpamenerimainput (  ) Fungsitransisinya: (q2, , D) = {(q2, c)} Konfigurasimesinmenjadi: state q2 , pop top-stack, push c Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)}

  31. 5. Menerimainput ’c’ Fungsitransisinya: (q2, c, c) = {(q2, )} Konfigurasimesinmenjadi: state q2 , pop top-stack Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)}

  32. 6. Menerimainput ’a’ Fungsitransisinya: (q2, a, a) = {(q2, )} Konfigurasimesinmenjadi: state q2 , pop top-stack Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)}

  33. 7. Tanpamenerimainput () Fungsitransisinya: (q2, , Z) = {(q3, Z)} Konfigurasimesinmenjadi: state q3 Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)} Tidakadatransisilagidari q3 . Karena q3stateakhirdansemuainputsudahselesaidibaca, sehinggamenandakanuntai ‘aca’ diterimaoleh PDA tersebut.

  34. 14.3 Deskripsiseketikapada PDA Langkah 1 s.d. 7 padacontohsoal 14.4, dapatjugadinyatakandalamsuatunotasi yang disebutdeskripsiseketika (instantaneous description). Deskripsiseketikatersebutdigunakanuntukmenyatakansecara formal konfigurasi PDA padasuatusaat. Perubahandarisuatukondisikekondisiberikutnyadipisahkandengantanda ‘┣’. Konfigurasisuatusaatdapatdinyatakandengan triplet: (q, w, u) Dimana q menyatakanstate, w adalahstring yang belumdibaca, sedangkan u adalahisistackdengansimbolterkiriadalahpop-stack.

  35. Tahapannomor 1 s.d. 7 dapatdinyatakansebagaiberikut: (q1 , aca, Z) (q2, aca, DZ) (q2, aca, aDaZ) (q2, ca, DaZ) (q2, ca, caZ) (q2 , a, aZ) (q2 , , Z) (q3, , Z)

  36. Latihan 1. Sebuah PDA Q = {q1, q2} ;  = {0, 1, 2} ; = {Z, B, G} ; S = {q1 , q2} ; Z = Z ; F =  PDA tersebutmemilikifungsitransisi: (q2, 0, B) = {(q2, )} (q2, , Z) = {(q2, )} (q1, 1, Z) = {(q1, GZ)} (q1, 1, B) = {(q1, GB)} (q1, 1, G) = {(q1, GG)} (q2, 1, G) = {(q2, )} (q1, 0, Z) = {(q1, BZ)} (q1, 0, B) = {(q1, BB)} (q1, 0, G) = {(q1, BG)} (q1, 2, Z) = {(q2, Z)} (q1, 2, B) = {(q2, B)} (q1, 2, G) = {(q2, G)} Tentukanapakah PDA diatasdapatmenerima string ‘121’ Penyelesaian:

  37. Z G (q1, 0, Z) = {(q1, BZ)} (q1, 0, B) = {(q1, BB)} (q1, 0, G) = {(q1, BG)} (q1, 2, Z) = {(q2, Z)} (q1, 2, B) = {(q2, B)} (q1, 2, G) = {(q2, G)} (q2, 0, B) = {(q2, )} (q2, , Z) = {(q2, )} (q1, 1, Z) = {(q1, GZ)} (q1, 1, B) = {(q1, GB)} (q1, 1, G) = {(q1, GG)} (q2, 1, G) = {(q2, )} Z Konfigurasiawalmesin: state q1 , top-stack Z, menerima input ‘1’. Fungsitransisinya: (q1, 1, Z) = {(q1, GZ)} Konfigurasimesinmenjadi: state q1danpush G

  38. 2. Membaca input ‘2’ Fungsitransisinya: (q1, 2, G) = {(q2, G)} Konfigurasimesinmenjadi: state q2danstack tetap G (q1, 0, Z) = {(q1, BZ)} (q1, 0, B) = {(q1, BB)} (q1, 0, G) = {(q1, BG)} (q1, 2, Z) = {(q2, Z)} (q1, 2, B) = {(q2, B)} (q1, 2, G) = {(q2, G)} (q2, 0, B) = {(q2, )} (q2, , Z) = {(q2, )} (q1, 1, Z) = {(q1, GZ)} (q1, 1, B) = {(q1, GB)} (q1, 1, G) = {(q1, GG)} (q2, 1, G) = {(q2, )} Z

  39. 3. Membaca input ‘1’ Fungsitransisinya: (q2, 1, G) = {(q2, )} Konfigurasimesinmenjadi: state q2dan G dipop (q1, 0, Z) = {(q1, BZ)} (q1, 0, B) = {(q1, BB)} (q1, 0, G) = {(q1, BG)} (q1, 2, Z) = {(q2, Z)} (q1, 2, B) = {(q2, B)} (q1, 2, G) = {(q2, G)} (q2, 0, B) = {(q2, )} (q2, , Z) = {(q2, )} (q1, 1, Z) = {(q1, GZ)} (q1, 1, B) = {(q1, GB)} (q1, 1, G) = {(q1, GG)} (q2, 1, G) = {(q2, )} Z

  40. 4. Tanpamembaca input (  ) Fungsitransisinya: (q2, , Z) = {(q2, )} Konfigurasimesinmenjadi: state q2dan Z dipop Stack kosong (q1, 0, Z) = {(q1, BZ)} (q1, 0, B) = {(q1, BB)} (q1, 0, G) = {(q1, BG)} (q1, 2, Z) = {(q2, Z)} (q1, 2, B) = {(q2, B)} (q1, 2, G) = {(q2, G)} (q2, 0, B) = {(q2, )} (q2, , Z) = {(q2, )} (q1, 1, Z) = {(q1, GZ)} (q1, 1, B) = {(q1, GB)} (q1, 1, G) = {(q1, GG)} (q2, 1, G) = {(q2, )}

  41. Latihan 2 • Sebuahtatabahasabebaskonteks, D  aDa | bDb | c • PDA nyadapatdikonstruksimenjadi: • Q = {q1, q2, q3 } • S = q1 • F = { q3 } • = {a, b, c} • = {D, a, b, c, Z} • Fungsitransisinya: • (q1, , Z) = {(q2, DZ)} • (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} • (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} • (q2, , Z) = {(q3, Z)}

  42. Dari aturanproduksi yang ada, tatabahasabebaskontekstersebutbisamenurunkanuntai ‘bcb’ dari D  bDb  bcb Karenatatabahasabebaskonteksbisamenurunkanstring ‘bcb’ , maka PDA jugaharusdapatmenerimauntaitersebut. Langkahpemeriksaan:

  43. Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)} Konfigurasiawalmesin: state q1 , top-stack Z, tanpamenerimainput (). Fungsitransisinya: (q1, , Z) = {(q2, DZ)} Konfigurasimesinmenjadi: state q2danpush D

  44. 2. Tanpamenerimainput (). Fungsitransisinya: (q2, , D) = {(q2, bDb)} Konfigurasimesinmenjadi: state q2 , pop top-stack push ‘bDb’ Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)}

  45. 3. Menerimainput ‘b’ Fungsitransisinya: (q2, b, b) = {(q2, )} Konfigurasimesinmenjadi: state q2 , pop top-stack Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)}

  46. 4. Tanpamenerimainput (  ) Fungsitransisinya: (q2, , D) = {(q2, c)} Konfigurasimesinmenjadi: state q2 , pop top-stack, push c Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)}

  47. 5. Menerimainput ’c’ Fungsitransisinya: (q2, c, c) = {(q2, )} Konfigurasimesinmenjadi: state q2 , pop top-stack Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)}

  48. 6. Menerimainput ’b’ Fungsitransisinya: (q2, b, b) = {(q2, )} Konfigurasimesinmenjadi: state q2 , pop top-stack Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)}

  49. 7. Tanpamenerimainput () Fungsitransisinya: (q2, , Z) = {(q3, Z)} Konfigurasimesinmenjadi: state q3 Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)} Tidakadatransisilagidari q3 . Karena q3stateakhirdansemuainputsudahselesaidibaca, sehinggamenandakanuntai ‘bcb’ diterimaoleh PDA tersebut.

  50. Fungsitransisinya: (q1, , Z) = {(q2, DZ)} (q2, , D) = {(q2, aDa), (q2, bDb), (q2, c)} (q2, a, a) =  (q2, b, b) =  (q2, c, c) = {(q2, )} (q2, , Z) = {(q3, Z)} Latihan 3: Kerjakanlatihan 2, dengandeskripsiseketika. (q1 , bcb, Z) (q2, bcb, DZ) (q2, bcb, bDbZ) (q2, cb, DaZ) (q2, cb, cbZ) (q2 , b, bZ) (q2 , , Z) (q3, , Z)

More Related