Stack Dan Queue
Stack Dan Queue
DEFINISI STACK
STACK adalah suatu bentuk khusus dari linear
list di mana operasi penyisipan dan
penghapusan atas elemen-elemennya hanya
dapat dilakukan pada satu sisi saja yaitu posisi
akhir dari list.
Posisi akhir disebut sebagai puncak atau
“TOP(S)”.
DEFINISI STACK
• Prinsip Stack adalah LIFO ( Last In First Out )
atau Terakhir masuk pertama keluar.
• Elemen teratas (puncak) dari stack
dinotasikan sebagai TOP(S)
Misal diberikan stack S sebagai berikut :
S= [ S1,S2,………, ST ] maka TOP(S) = ST
• Untuk menunjukkan jumlah elemen suatu
stack digunakan notasi NOEL(S).
• Dari stack diatas maka NOEL(S) = T.
STACK
CONTOH :
Jika diberikan sebuah stack S = [A,B,C,D] maka
stack S ini dapat digambarkan sebagai berikut :
Operasi Stack :
• CREATE(S)
Operator ini berfungsi untuk membuat sebuah
stack kosong (menjadi hampa) dan didefinisikan
bahwa
NOEL (CREATE (S)) = 0 dan
TOP (CREATE(S)) = null / tidak terdefinisi
a
Operasi Stack :
• ISEMPTY(S)
Operator ini berfungsi untuk menentukan apakah
suatu stack adalah stack kosong (hampa) atau tidak .
Operasinya akan bernilai boolean dengan definisi
sebagai berikut :
ISEMPTY(S) = true, jika S adalah stack kosong
atau NOEL(S) = 0
False, jika S bukan stack kosong
atau NOEL(S) 0
Catatan : ISEMPTY(CREATE(S)) = true
Operasi Stack :
• PUSH(E,S)
Operator ini berfungsi untuk menambahkan satu
elemen ke dalam stack . Notasi yang digunakan
adalah PUSH(E,S)
Artinya : menambahkan elemen E ke dalam stack S
Operasi Stack :
Jadi : Front(Q) = Q1
Rear(Q) = QT
Noel(Q) = T
Operasi QUEUE
• CREATE(Q)
Operator untuk membentuk suatu antrean
hampa
Q = [,…….,]
NOEL(CREATE(Q)) = 0
FRONT(CREATE(Q)) = tidak didefinisikan
REAR(CREATE(Q)) = tidak didefinisikan
Operasi QUEUE
• ISEMPTY(Q)
REAR(INSERT(E,Q)) = E jadi Q = [ A, B, C, D, E]
FRONT(Q) = A REAR (Q) = E
NOEL(Q) = 5 ISEMPTY(Q) = FALSE
Operasi QUEUE
• REMOVE(Q)
Operator yang menghapus elemen bagian
depan dari antrean Q dan antrean menjadi
lebih pendek
1 2 3 4 5