Struktur Data
Stack (tumpukan)
Apa itu Stack ?
- Stack atau tumpukan adalah sebuah kumpulan data dimana data yang diletakkan di atas data yang lain.
- Stack atau tumpukan adalah kumpulan elemen yang hanya dapat ditambah dan atau dihapus dari satu
ujung (gerbang) yang sama.
- Karakteristik penting stack adalah bersifat LIFO (Last In First Out) artinya data yang terakhir masuk
merupakan data yang akan keluar terlebih dahulu.
- Stack mempunyai batas maksimal banyak data.
- Stack bisa diimplementasikan dengan array dan linked list.
Analogi Stack ?
MOBILE
MATEMATIKA
PROGRAMMING
BAHASA INGGRIS
TUMPUKAN BUKU
Operasi Standar pada Stack ?
- Push - Change
Menambahkan elemen ke atas stack (tumpukan). Mengubah data diposisi tertentu.
- Pop - Display
Menghapus satu data ditumpukan teratas. Mencetak semua data pada stack
- isFull - Destroy
Memeriksa apakah ruang stack sudah penuh atau belum. Menghapus atau membersihkan semua data pada stack
- isEmpty
Memeriksa apakah ruang stack kosong atau tidak.
- Peek
Melihat atau mengintip data diposisi tertentu.
- Count
Menghitung banyak data pada stack.
Penerapan Stack ?
- Tombol Back dan Next
- Tombol Undo dan Redo
- Pada beberapa literatur menyebutkan bahwa stack umumnya digunakan untuk memisahkan ekspresi
aritmatika.
- Penyelesaian pencarian rute labirin.
Konsep Stack pakai Array ?
Max = 5 Max = 5
stack[4] stack[4]
Top < Max
stack[3] stack[3]
stack[2] stack[2]
stack[1] stack[1]
stack[0] stack[0] English Top = 1
Top = 0
Max = 5
stack[4] Python Top = 5
stack[3] Database
stack[2] PBO
stack[1] MTK
stack[0] English
Konsep Stack pakai Linked List ?
Count() Max = 4 Count() Max = 4
if Count() == Max if Count() == Max
DISPLAY(“FULL”) DISPLAY(“FULL”)
else else
if Count() == 0 if Count() == 0
Create(data) Create(data)
else else
push(data) push(data)
endif endif
endif endif
Head/Tail Head Tail
v1 v1 v2 v3 v4
Video Selanjutnya
Queue (antrian)
Thank you
#KEEPLEARNING
#KEEPSPIRITS