80 likes | 300 Views
Tumpukan. Rahmat Deddy Rianto Dako , ST, M.Eng. Tumpukan adalah ? Kumpulan data yang seolah-olah ada data yang diletakkan di atas data yang lain. Contoh :. A. atas. B. C. D. D. E. C. F. atas. B. definisi. A. menyisipkan. menghapus. Tumpukan senarai
E N D
Tumpukan RahmatDeddyRiantoDako, ST, M.Eng
Tumpukanadalah ? Kumpulan data yang seolah-olahada data yang diletakkan di atas data yang lain. Contoh : A atas B C D D E C F atas B definisi A menyisipkan menghapus
Tumpukan senarai Sifat tumpukan : Last In First Out (LIFO) Penyajian array/larik, (namun kurang tepat) Alasannya ? Banyaknya Elemen larik (statis), sedangkan elemen tumpukan bisa sangat bervariasi (dinamis) B F C D E A Penyajian tumpukan overflow
Overflow perlu dicatat posisi ujung tumpukan Tumpukan rekaman (record) • Const MaxElemen = 225; • Type tumpukan = record • Isi : array[1..MaxElemen] of integer • Atas : 0..MaxElemen • End; • Var T : tumpukan; T.Atas = 5 {tumpukan = 5 elemen} T.Isi[1]…T.Isi[5] Jika ada data yg diambil T.Isi[4] elemen teratas Jika ada data yg ditambah T.Isi[6] elemen teratas Penyajian tumpukan_2
Operasi dasar Tumpukan : Push : menyisipkan data Pop : menghapus data Operasi pada Tumpukan
Procedure PUSH (var T : Tumpukan; x : integer); Begin T.Atas := T.Atas + 1; T.Isi[T.Atas] := x End; Penjelasan : Prosedur ini akan menyiapkan tempat untuk x yang akan dipush ke dalam tumpukan, yaitu dengan menambah nilai medan T.Atas dengan 1 dan selanjutnya menyisipkan x ke dalam larik T.Isi Operasi Push
Procedure POP (var T : Tumpukan); Begin If T.Atas = 0 then Writeln(‘TUMPUKAN SUDAH KOSONG’) Else T.Atas := T.Atas - 1; end; Contoh program Operasi Pop
Implementasi tumpukan (notasi polish) Next Meeting