Struktur Data
STACK (TUMPUKAN)
Stack (tumpukan) sebenarnya
secara mudah dapat diartikan
sebagai list (urutan) dimana
penambahan dan pengambilan
elemen hanya dilakukan pada
satu sisi yang disebut
top(puncak) dari stack
Pengertian Stack
Data yang diletakkan diatas data
yang lainnya
Dlam stack bisa menambahkan,
menyisipkan dan menghapus
data
Contoh : tumpukan piring
Konsep : LIFO (Last In First Out)
Operasi pada Stack
Proses penyisipan/penghapusan
dilakukan pada satu ujung yang disebut
TOP dari stack
Dasar stack adalah PUSH = menambah
elemen, dan POP = menghapus elemen
Penambahan elemen baru pada stack
yang sudah penuh overflow
Penghapusan pada stack yang
kosong/tidak memiliki elemen
underflow.
Studi Kasus Stack
Pembuatan kalkulator Scientific
(pendekatan ilmiah)
Misal operasi : 3 + 2 * 5
Operasi di atas disebut notasi
infiks, notasi infiks tersebut harus
diubah menjadi notasi postfix
3 + 2 * 5 notasi postfiksnya
adalah 3 2 5 * +
Contoh kasus :
Terdapat 3 elemen ditambahkan
secara berurutan pada stack kosong
yaitu elemen A, B dan C, maka
stack dapat ditulis sebagai stack A,
B, C dan bila digambarkan :
1 2 3 4 5
A B C
TOP
Penyisipan dan penghapusan hanya
terjadi pada TOP.
Soal :
Stack dengan 6 sel memory mula-mula kosong, tentukan output
dari modula berikut :
A:= 7
B:= 5
call push (stack, A)
call push (stack, 2B)
call push (stack, A+B)
call push (stack,A-B)
call push (stack,2AB)
call push (stack, 9)
While TOP <> null
do
call pop (stack, item)
write item
Enwhile
return.
Antrian
Queque
Dequeue (deques, Double
Queue/Deck)
Queue Prioritas (Antrean
Berprioritas)
Dequeue
Prosesuntuk mengeluarkan
elemen atau menghapus data.
Pengertian Queue
Adalah antrian
Struktur data dimana data yang
pertama kali dimasukkan adalah
data yang pertama kali bisa
dihapus
Mekanisme FIFO (First In First
Out)
Operasi pada Queue
Memiliki 2 Var pointer yaitu :
FRONT (lokasi elemen depan)
REAR (lokasi elemen belakang)
Front = Null menyatakan queue
kosong, jika elemen di hapus dari
queue harga FRONT bertambah
1.
Contoh Kasus
Queue dengan 6 sel memory sbb :
A C D
1 2 3 4 5 6
Front = 2, Rear = 4
Kemudian gambarkan pemetaan dan
tentukan nilai Rear & Front jika :
a. F ditambahkan ke Queue
b. A & C dihapus
c. K,L,M ditambahkan
d. D & F dihapus
Pemetaan awal
A C D
1 2 3 4 5 6
Front = 2, Rear =4
F ditambahkan ke Queue
A C D F
1 2 3 4 5 6
Front = 2, Rear = 5
A & C dihapus
A C D F
1 2 3 4 5 6
Front = 4, Rear = 5
K, L & M ditambahkan
L M D F K
1 2 3 4 5 6
Front = 4, Rear = 2
D & F dihapus
L M D F K
1 2 3 4 5 6
Front = 6, Rear = 2
SOAL :
Diketahui Queue dengan 5 cell mula-mula kosong.
Gambarkan pemetaan & tentukan nilai Front dan Rearnya :
a. A,B dan C disisipkan
b. A dihapus
c. D dan E disisipkan
d. B dan C dihapus
e. F disisipkan
f. D dihapus
g. G dan H disisipkan
h. E dihapus
i. F dihapus
j. K disisipkan
k. G dan H dihapus
l. K dihapus