Wednesday, 29 December 2010

Stack


     Stack adalah suatu koleksi atau kumpulan item data yang teroganisasi dalam bentuk urutan linear, yang operasi pemasukan dan penghapusan datanya dilakukan pada salah satu sisinya. 
 
    Elemen-elemen yang berada dalam stack, memiliki prinsip paling mendasar dalam pengoperasiannya yaitu prinsip LIFO (Last In First Out) atau elemen yang masuk paling terakhir akan memiliki prioritas untuk keluar paling pertama. 
Suatu stack dapat digambarkan sebagai suatu array berdimensi satu yang elemen-elemennya berkisar antara 1 sampai N elemen.
- Overflow : Penambahan elemen > N+1
- Underflow : Pengambilan elemen < 0 
 
Ciri-ciri Stack
-Elemen teratas / puncaknya diketahui.  
-Penambahan atau pengambilan elemen stack selalu dilakukan pada elemen teratas stack.
 -LIFO (Last In First Out).
 
Pemanfaatan Stack
-Penghitungan ekspresi matematika (postfix).
-Algoritma Backtracking (runtut balik).
-Algoritma Rekursif.
 
Create (Stack)
Operasi Create (Stack) digunakan untuk membuat suatu stack baru dengan nama stack, yang nilai elemen saat stack tersebut dibuat 0 dan elemen
teratasnya belum ada.
Spesifikasi :
-Input : Stack
-Syarat awal : Tidak ada
--•-Output : Kosong
-Syarat akhir : Stack dalam keadaan kosong
   
IsEmpty (Stack)
Operasi ini digunakan untuk memeriksa isi suatu stack dalam keadaan kosong atau tidak. Operasi ini memiliki 2 kondisi boolean, yaitu: True, apabila stack berada dalam kondisi kosong atau nilai elemennya = 0. False, apabila stack tidak berada dalam kondisi kosong atau nilai elemennya > 0.
Spesifikasi :
-Input : Stack
-Syarat awal : Tidak ada
-Output : Boolean
-Syarat akhir : Sesuai kondisi Boolean di atas 
 
IsFull (Stack)
Operasi ini digunakan untuk memeriksa isi suatu stack dalam keadaan penuh atau tidak.
Spesifikasi :
-Input : Stack
-Syarat awal : Tidak ada
-Output : Boolean
-Syarat akhir : Bernilai True apabila stack dalam keadaan penuh 
 
 
 
Push (Stack, Elemen)
Operasi ini digunakan untuk menambahkan sebuah elemen
dengan nilai X pada puncak suatu stack, sehingga posisi paling
atas stack bernilai X, penerapan operasi Push pada suatu
Stack(S) akan berakibat Overflow apabila nilai stack tersebut
telah lebih dari maksimum.
Spesifikasi :
Input : Stack dan elemen baru
Syarat awal : Stack tidak penuh
Output : Stack
Syarat akhir : Stack bertambah satu elemen
 
Pop (Stack)
Operasi ini digunakan untuk menghapus elemen teratas
sebuah stack, sehingga jumlah nilai stack akan berkurang satu
elemen dan nilai teratas stack akan berubah. Operasi Pop
dapat menyebabkan kondisi Underflow apabila suatu stack
telah berada dalam kondisi minimum saat dilakukan operasi
Pop.
Spesifikasi :
Input : Stack
Syarat awal : Stack tidak dalam kondisi kosong
Output : Stack dalam informasi Pop
Syarat akhir : Stack berkurang satu elemen
 
Clear (Stack)
Operasi ini digunakan untuk mengosongkan
stack (membuat nilainya menjadi 0).
Top of Stack
Operasi ini digunakan untuk mengetahui elemen
teratas pada sebuah stack.