IF2030_Proc_05_Stack

Kata mewakili sebuah operan konstanta atau nama atau

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Didefinisikan token adalah satuan “kata” yang token adalah satuan kata mewakili sebuah operan (konstanta atau nama) atau sebua ope atau sebuah operator. 13-Okt-2011 YA/IF2030 22 Program EKSPRESI { Menghitung sebuah ekspresi aritmatika yang ditulis secara postfix } USE STACK { paket stack sudah terdefinisi dgn elemennya token } Kamus type token : ... S : STACK CT, Op1, Op2 : token { terdefinisi } { stack of token } { token: kesatuan operan atau operator } procedure First-Token { Mengirim token yang pertama } procedure Next-Token { Mengirim token yang berikutnya } function EndToken → boolean { Menghasilkan true jika proses akuisisi mendapat hasil sebuah token kosong. Merupakan akhir ekspresi } function Operator (CT : token) → boolean { Menghasilkan true jika CT adalah operator } function Hitung (OP1, OP2, Operator : token) → token { Menghitung ekspresi, mengkonversi hasil menjadi token} 13-Okt-2011 YA/IF2030 23 Algoritma First-Token if (EndToken) then output ("Ekspresi kosong") else repeat depend on (CT) { CT adalah Current Token } not Operator(CT) : Push(S,CT) Operator(CT) : { berarti operator} Pop(S,Op2) Pop(S,Op1) Push(S,Hitung(Op1,Op2,CT)) Next-Token(CT) until (EndToken) output (InfoTop(S)) { Menuliskan hasil } 13-Okt-2011 YA/IF2030 24 Evaluasi Ekspresi Matematika Evaluasi Ekspresi Matematika AB*C/ Stack S FirstToken CT=A EndToken=false Operator(CT)=false Push(S,CT) CT=B EndToken=false 13-Okt-2011 Operator(CT)=false TOP Stack S AB*C/ NextToken A Push(S,CT) YA/IF2030 B A TOP 25 Evaluasi Ekspresi Matematika Evaluasi Ekspresi Matematika Stack S AB*C/ B A TOP Stack S Pop(S,Op2) Pop(S,Op1) Push(S, Hitung(Op1,Op2,CT)) NextToken CT=* EndToken=false Operator(CT)=true =A*B Stack S AB*C/ C =A*B Stack S 13-Okt-2011 NextToken CT=/ EndToken=false Operator(CT)=true TOP Push(S,CT) YA/IF2030 =A*B/C TOP 26 ABC ABC^/DE*+AC*- ? … … B B =B^C A A C A A D =A/ (B^C) =A/ B^C E D =D*E A =A/ B^C =A/ B^C =A/ B^C+D*E =A/ B^C+D*E C A =A*C =A/ B^C+D*E =A/ B^C+D*E 13-Okt-2011 YA/IF2030 =A/ B^C+D*E- A*C 27 PR PR • Modul pra-praktikum bagian prosedural: pra bagian prosedural: – P-08.Stack • Bagian 1. Representasi Tabel Kontigu dengan Representasi Tabel Kontigu dengan Alokasi Memori Statik • Untuk praktikum 9: Kamis, 27 Oktober praktikum 9: Kamis, 27 Oktober 2011 13-Okt-2011 YA/IF2030 28 Pengumuman UTS • UTS dilaksanakan hari Kamis, 20 Oktober 2011 pukul 13.00 s.d. selesai. Tempat: pukul 13.00 s.d. selesai. Tempat: – – – – – K1 : ruang 7601 K2 : ruang 7603, 7604 K3 : 7606, 7609 K4 : 7602 K5 : 7608, 7610 • Bawa: – Pensil + penghapus (untuk menulis jawaban), bolpoin (untuk tanda tangan) – KTM dan KSM yang berlaku dan KSM yang berlaku 13-Okt-2011 YA/IF2030 29 Pengumuman UTS Pengumuman UTS • Materi UTS: UTS: – Pemrograman Fungsional (materi mgg. 1 s.d. 4) 4) dalam notasi fungsional notasi fungsional – Pemrograman Prosedural (materi mgg. 5 s.d. 7, fokus pada ADT single object ADT Array, 7, fokus pada ADT single object, ADT Array, ADT Matriks) dalam notasi algoritmik 13-Okt-2011 YA/IF2030 30...
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online