Pengertian Stack pada Struktur data atau python
Selasa, 09 Januari 2018
Add Comment
Apa itu stack ?
stack merupakan tumpukan atau suatu struktur data yang penting dalam pemprograman yang
mempunyai sifat LIFO (Last In First
Out) yaitu masuk pertama keluar pertama, benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang
dikeluarkan dari stack , stack (tumpukan) adalah list LINEAR yang dikenali elemen puncaknya (TOP) dan
aturan penyisipan dan penghapusan elemen tertentu. Penyisipan selalu dilakukan
“di atas” TOP dan penghapusan selalu dilakikan pada TOP. TOP adalah salah satu
alamat tempat terjadinya operasi. Elemen yang ditambahkan paling akhir akan
menjadi elemen stack akan tersusun secara LIFO karena kita menumpuk combo di posisi terakhir, maka combo
akan menjadi elemen teratas dalam tumpukan.
Ada pun Operasi-operasi
dan fungsi stack yaitu :
Ø
Push
: digunakan untuk menambahkan item pada stack pada tumpukan paling atas
Ø
Pop
: digunakan untuk mengambil item pada stack pada tumpukan paling atas
Ø
Clear
: digunakan untuk mengosongkan stack
Ø
IsEmpaty
: fungsi yang digunakan untuk mencetak apakah stack sudah kosong
Ø
IsFull
: fungsi yang digunakan untuk mencetak apakah stack sudah penuh
Ø
Create Stack : membuat Tumpukan
baru S, dengan jumlah elemen kosong.
Ø
MakeNull : mengsongkan
tumpukan S,jika ada elemen maka semua elemen dihapus.
Pada proses Push, Tumpukan (Stack) harus
diperiksa apakah jumlah elemen sudah mencapai masimum atau tidak. Jika sudah
mencapai maksimum maka OVERFLOW, artinya Tumpukan penuh tidak ada elemen yang
dapat dimasukkan ke dalam Tumpukan. Sedangkan pada proses Pop, Tumpukan harus
diperiksa apakah ada elemen yang hendak dikeluarkan atau tidak. Jika tidak ada
maka UNDERFLOW, artinya tumpukan kosong tidak ada elemen yang dapat diambil.
Apa itu kegunaan Stack ?
Stack (Tumpukan) lifo/ last in first out |
Stack
digunakan seseorang yang akan meresenpetasi pemanggilan prosedur, perhitungan
ekspresi aritmatika, rekursifitas, backtracking.
Adapun contoh aplikasi stack,
diantaranya:
Ø
MATCHING PARENTHESES
Proses ini dilakukan compiler untuk memeriksa kelengkapan tanda
kurung yang terdapat pada suatu ekspresi aritmetik. Sedangkan stack di sini
digunakan sebagai tempat prosesnya.
Ø
NOTASI POSTFIX
Bentuk aplikasi stack yang lain adalah mengubah suatu ekspresi
aritmatik (string) ke dalam notasi postfix. Notasi postfix ini digunakan oleh
compiler untuk menyatakan suatu ekspresi aritmatik dalam bahasa tingkat tinggi
(high level language). Stack digunakan oleh compiler untuk mentransformasikan
ekspresi aritmatik menjadi suatu ekspresi dalam bentuk/notasi postfix.
Sebelum struktur data
tumpukan ini bisa digunakan, harus dideklarasikan dahulu dalam kamus data. Ada
beberapa cara pendeklarasian struktur data ini, salah satunya dengan
menggunakan tata susunan linear (larik) dan sebuah variable, yang dikemas dalam
tipe data record. Stack (tumpukan) adalah struktur data bertipe record yang
terdiri dari field elemen, bertipe larik/array dengan indek dari 1 sampai
dengan MaksTum (Maksimum Tumpukan), atas, bertipe interger berkisar dari 0
(saat kosong) sampai dengan MaksTum (Maksimum Tumpukan).
Apa sih kelebihan dan kekurangan stack ?
kelebihan kekurangan stack |
Kelebihan dan
kekurangan stack
Kelebihan stack yaitu
penambahan dan penghapusan data dapat dilakukan dengan cepat, yaitu selama
memori masih tersedia penambahan data bisa terus dilakukan. Dengan demikian
tidak ada kekuatiran terjadinya stack overflow.
Kekurangan stack yaitu setiap
sel tidak hanya menyimpan value saja, melainkan juga pointer ke sel berikutnya.
Hal ini menyebabkan implementasi stack memakai linked list akan memerlukan
memori yang lebih banyak daripada di implementasikan dengan array. Setiap
halaman pada linked list hanya bisa di akses dengan cara sekuensial, sehingga
lambat.
0 Response to "Pengertian Stack pada Struktur data atau python"
Posting Komentar