pertemuan 8 stackc2a0denganc2a0linkedc2a0listc2a0

DIKTAT KULIAH
ALGORITMA dan STRUKTUR DATA II

STACK 

 

Pertemuan 8 
 
Waktu  

 

 

 

 

 




5 menit 

Tujuan Pembelajaran 

: Mahasiswa mampu menjelaskan teknik pemrograman  

Substansi Materi 

: Stack 

 

 

  menggunakan Stack. 

Tabulasi Kegiatan Perkuliahan 
 


No 
 
 

 

 

Tahap 
Kegiatan Pengajar 
Kegiatan 
Pendahuluan  . Membuka pertemuan 
. Mengulang materi pertemuan 
sebelumnya 
Penyajian 
. Stack dengan Linked List 
Materi 
. Deklarasi stack dengan linked 
list 

. Operasi‐operasi stack dengan 
linked list 
 
Penutup 
. Menyimpulkan materi 
pertemuan 
. Memberikan tugas kecil 
. Menutup pertemuan 

Kegiatan 
Media & 
Waktu 
Mahasiswa 
Alat 
Menyimak 
Papan Tulis 
 
Bertanya 
Menit 


Menyimak 
Bertanya 
Menjawab 
Pertanyaan 

Papan Tulis  8  
Menit 

Menyimak 

Papan tulis 


Menit 

M A T E R I    K U L I A H

Stack dengan Single Linked List 
)mplementasi  stack  dengan  Single  Linked  List  hampir  sama  dengan  stack  pada  array. 
Keunggulannya  terletak  pada  penggunaan  alokasi  memory  yang  dinamis  sehingga 


menghindari  pemborosan  memory.  Misalnya  pada  stack  dengan  array  disediakan  tempat 
untuk stack berisi  5  elemen, sementara ketika dipakai oleh user hanya diisi 5  elemen, 

maka telah terjadi pemborosan memori untuk sisa 

 tempat elemen yang tak terpakai. 

Dengan  penggunaan  linked  list  maka  tempat  yang  disediakan  akan  sesuai  dengan 
banyaknya  elemen  yang  mengisi  stack.  Karena  itu  pula  dalam  linked  list  tidak  dikenal 
V3/2009‐2010  1 

 

DIKTAT KULIAH
ALGORITMA dan STRUKTUR DATA II

STACK 

 


dengan istilah Full, sebab biasanya program tidak menentukan jumlah elemen stack yang 
mungkin ada. 
 

Deklarasi tipe, dan variable yang akan dipakai dalam penjelasan operasi stack. 
 

Type 

 

 

 

 

 


 

TipeData = Byte; 

Point = ^Simpul; 

Simpul = record 

 

 

 

 

 

End; 


 

 

 

Var 

 

 

 

 

)si : TipeData; 
Next : Point; 

Top : Point; 


Operasi­operasi pada Stack dengan Single Linked List 


Create : Membuat stack baru yang masih kosong 
Procedure Create; 
   Begin 
 

   End; 


Top := nil; 

 

Empty : Fungsi untuk menentukan apakah stack yang ada masih kosong atau tidak. 
Function Empty : Boolean; 
   Empty := False; 


   if Top = nil then 
 

V3/2009‐2010  2 

DIKTAT KULIAH
ALGORITMA dan STRUKTUR DATA II

STACK 

 

 

End; 


   Empty := True; 

 


Push : Memasukan elemen baru ke dalam stack 
Procedure Push elemen:TipeData ; 
Var Now : Point; 
   Begin 
 
 

Now^.isi := elemen; 

 

   Now^.next := nil; 

 
 

 
 

   End; 


New Now ; 

)f empty then 

Else 

   Now^.next := top; 
Top:= Now; 

 

Pop : Mengambil elemen teratas dari stack.  
Procedure Pop elemen:TipeData ; 
   Var 
 

Now : Point; 

 

)f not Empty then 

 

    

Elemen := Now^.isi; 

 

Top := Top^.next; 

 
 
 

 

 

Begin 

   Begin 
 

Now := Top; 

V3/2009‐2010  3 

DIKTAT KULIAH
ALGORITMA dan STRUKTUR DATA II

STACK 

 

 
 

   End; 


 

   End; 

Dipose Now ; 

 

Clear : Mengosongkan stack   Jika top =  , maka stack dianggap kosong  
Procedure Clear; 
Var 

   Trash = TipeData; 
   Begin 
 
 

   End; 

While not empty do Pop  Trash ; 

V3/2009‐2010  4