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
5
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;
Operasioperasi 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
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
5
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;
Operasioperasi 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