-->

Pengertian Stack pada Struktur data atau python

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

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel