Pengertian Stack dalam Struktur Data

 STACK
q  LINEAR LIST
¨       Linear list adalah suatu struktur data yang merupakan himpunan terurut dari satuan data atau dari record.
¨       Elemen yang terdapat dalam daftar disebut simpul/node.
¨       Daftar disebut Linear karena elemen nampak seperti baris, bahwa setiap simpul (kecuali simpul pertama dan terakhir) selalu memiliki elemen penerus langsung (suksesor) dan elemen pendahulu langsung (predesor).
¨       Misalnya didefinisikan suatu linear list A yang terdiri atas T buah elemen sebagai berikut :

A=[ a1,a2,……………, aT ]


     Jika T = 0 , maka A dikatakan sebagai “Null List” (list hampa).
¨       Suatu elemen dapat dihapus (delete) dari sembarang posisi pada linear list .
¨       Suatu elemen baru dapat dimasukkan (insertion) kedalam list dan dapat menempati sembarang posisi pada list tersebut.
¨       Jadi suatu linear list dapat berkurang atau bertambah setiap saat
Contoh : file merupakan linier list yang elemen-elemennya berypa record.

q  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 ini disebut puncak atau disebut sebagai “TOP(S)”.
¨       Prinsip Stack adalah LIFO ( Last In First Out ) atau Terakhir masuk pertama keluar.
Setiap elemen tidak dapat dikeluarkan (POP keluar) sebelum semua elemen diatasnya dikeluarkan.
¨       Elemen teratas (puncak) dari stack dinotasikan sebagai TOP(S)
Misal diberikan stack S sebagai berikut :
S= [ S2,S2,………, ST ] รจ maka TOP(S) = ST
¨       Untuk menunjukkan  jumlah elemen suatu stack digunakan notasi NOEL(S).
Dari stack diatas  maka NOEL(S) = T.
NOEL(S) menghasilkan nilai integer.




Jika diberikan sebuah stack S = [A,B,C,D] maka stack S ini dapat digambarkan sebagai berikut :
ilustrasi stack
ilustrasi stack


q  OPERASI PADA STACK
1.   CREATE (STACK)
2.   ISEMPTY (STACK)
3.   PUSH (ELEMEN, STACK)

4.   POP (STACK)