Dalam memecahkan suatu masalah, terkadang kita membutuhkan algoritma yang hanya memperbolehkan insertion dan deletion pada akhir data saja, contohnya adalah algoritma backtracking (runut balik) dsb. Nah, untuk memecahkan masalah semacam itu, kita dapat menerapkan konsep stack.
Apa itu stack ?
Stack adalah sebuah abstract data type (ADT) yang berisi koleksi data item yang hanya dapat diakses pada akhir bagian stack tersebut, biasa disebut top. Hal ini berarti bahwa didalam sebuah stack, kita dapat memasukkan (insert) dan menghapus (delete) item hanya dari posisi top tersebut. Item terakhir yang kita masukkan kedalam sebuah stack adalah item yang paling pertama harus kita keluarkan. Itulah mengapa stack disebut sebagai Last-In-First-Out (LIFO) data structure. Kalimat sederhana yang dapat menjelaskan konsep tersebut adalah kalimat “Masuk belakangan keluar duluan”.
Didalam kehidupan sehari-hari, terdapat beberapa contoh penerapan algoritma dari data structure ini, seperti dalam membuat suatu tumpukan piring, tumpukan buku, tumpukan koin, tusuk sate, atau bahkan cara memakai gelang. Salah satu contoh, dalam membuat suatu tumpukan piring kita pasti menempatkan piring pertama berada pada posisi paling bawah, dan piring terakhir berada pada posisi paling atas. Nah, ketika kita hendak mencuci atau mengambil piring tersebut, maka kita akan mengambil piring pada tumpukkan atas terlebih dahulu dan seterusnya hingga mencapai piring paling bawah. Hal tersebut juga serupa pada tumpukan buku, koin, tusuk sate dan cara memakai gelang. Saya rasa ilustrasi tersebut cukup menjelaskan konsep LIFO
STACK merupakan salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar. Stack dapat dibayangkan seperti tumpukan barang, dimana hanya data terakhir yang dapat diperoleh (diakses) dengan satu langkah. Data-data yang terletak di bawahnya hanya bisa diambil (pop) setelah data data yang berada di atasnya diambil (dikeluarkan).
2.Berikan masing-masing contoh konsep dari push dan pop?
Konsep push
PUSH
Dengan menjalankan operasi PUSH, berarti kita menyimpan data pada posisi top didalam stack. Langkah selanjutnya yang dapat kita tempuh adalah :
1. Melakukan increment terhadap top sebesar 1
2. Menyimpan nilai/value pada index top didalam array
(Sekarang top mengandung index dari elemen yang paling atas)
Perhatikan gambar dibawah ini :

0 Response to "Tugas stack"
Post a Comment