Stack and Queue
1.
Stack
Stack, yang berarti tumpukan, merupakan kumpulan
elemen-elemen data yang disimpan dalam satu lajur linear. Kumpulan elemen-elemen
data hanya boleh diakses pada satu lokasi saja yaitu posisi atas tumpukan (TOP).
Tumpukan digunakan dalam parsing, evaluation, dan backtrack. Elemen-elemen di
dalam tumpukan dapat bertipe integer, real, record dalam bentuk sederhana atau
terstruktur. Konsep utama yang digunakan stack yaitu LIFO (Last In First Out).
Array Representation
·
Stack memiliki
dua variabel:
1)
TOP yang
digunakan untuk menyimpan alamat elemen paling atas dari tumpukan
2)
MAX yang
digunakan untuk menyimpan jumlah maksimum elemen yang dapat ditumpuk oleh stack
·
Jika TOP = NULL,
maka menunjukkan bahwa tumpukan kosong
·
Jika TOP = MAX -
1, maka tumpukan penuh
·
TOP = 4,
penyisipan dan penghapusan akan dilakukan pada posisi ini
Stack Operations
Operasi yang sering diterapkan pada
struktur data stack (tumpukan) adalah Push dan Pop. Operasi yang dapat
diterapkan yaitu sebagai berikut.
1.
Push : digunakan
untuk menembah item pada stack pada tumpukan paling atas.
2.
Pop : digunakan
untuk mengambil item pada stack pada tumpukan paling atas.
3.
Clear :
digunakan untuk mengosongkan stack.
4.
Create Stack :
membuat tumpukan baru S, dengan jumlah elemen kosong.
5.
MakeNull :
mengosongkan tumpukan S, jika ada elemen maka semua elemen dihapus.
6.
IsEmpty : fungsi
yang digunakan untuk mengecek apakah stack sudah kosong.
7.
Isfull : fungsi
yang digunakan untuk mengecek apakah stack sudah penuh.
2.
Queue
Queue, yang berarti antrian, memiliki konsep yang hamper
sama dengan stack. Perbedaan dari keduanya yaitu operasi penambahan dan
penghapusan pada ujung yang berbeda. Penghapusan dilakukan pada bagian depan
(front) dan penambahan berlaku pada bagian belakang (rear). Elemen di dalam
antrian dapat bertipe integer, real, record dalam bentuk sederhana atau struct.
Sistem pengaksesan pada Queue yaitu menggunakan system FIFO (First In First
Out), artinya elemen yang pertama masuk itu yang akan pertama dikeluarkan dari
Queue.
Array Representation
Sama
halnya seperti stack, queue pada array juga memiliki 2 variabel, yaitu variabel
FRONT dan REAR yang menunjuk ke posisi dimana insert dan delete dapat dilakukan
masing-masing. Front adalah variabel yang menunjuk posisi pertama dalam
antrian, dan rear adalah variabel yang menunjuk posisi terakhir dalam antrian.
Berikut merupakan gambarannya.
Linked List Representation
Linked list pada queue juga sama seperti pada stack,
elemennya pun disebut node dan memiliki bagian yang sama. Hanya saja pointer
START pada queue digunakan sebagai FRONT. Proses penambahan node dilakukan pada
bagian Rear dan penghapusan node dilakukan pada bagian Front. Jika FRONT = REAR
= NULL, maka Queue dinyatakan kosong, atau belum memiliki node. Berikut
merupakan gambarannya.
Queue Operations
Operasi
yang digunakan dalam queue adalah sebagai berikut.
1.
Push : Menambah item pada bagian belakang/rear suatu
queue.
2.
Pop : Menghapus item pada bagian depan/front
suatu queue.
3.
Front :
Mengembalikan item yang paling depan dalam suatu queue. Front dikenal juga
sebagai Peek.
Sumber :



Comments
Post a Comment