Senin, 15 Juni 2015

Stack



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.



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

Ø  CREATE(S)
Operator ini berfungsi untuk membuat sebuah stack kosong (menjadi hampa) dan didefinisikan bahwa

NOEL (CREATE (S)) = 0 dan
TOP (CREATE(S)) = null / tidak terdefinisi

Ø  ISEMPTY(S)
Operator ini berfungsi  untuk menentukan apakah suatu stack adalah stack kosong (hampa) atau tidak . Operasinya akan bernilai boolean dengan definisi sebagai berikut :
ISEMPTY(S) = true, jika S adalah stack kosong atau NOEL(S) = 0
                      False, jika S bukan stack kosong atau NOEL(S) ¹ 0
Catatan : ISEMPTY(CREATE(S)) = true



Ø  PUSH(E,S)
¨       Operator ini berfungsi untuk menambahkan satu elemen ke dalam stack . Notasi yang digunakan adalah  PUSH(E,S)
Artinya : menambahkan elemen E ke dalam stack S
¨       Elemen yang baru masuk ini akan menempati posisi TOP jadi TOP(PUSH(E,S)) = E
¨       Akibat dari operasi ini jumlah elemen dalam stack akan bertambah, artinya NOEL (S) menjadi lebih besar atau stack menjadi tidak kosong (ISEMPTY(PUSH(E,S)) = false )

Ø  POP(S)
¨ Operator ini berfungsi untuk mengeluarkan satu elemen dari dalam stack, notasinya POP(S)
¨       Elemen yang keluar dari dalam stack adalah elemen yang berada pada posisi TOP.
¨       Akibat dari operasi ini jumlah elemen stack akan berkurang atau NOEL(S) berkurang 1 dan elemen pada posisi TOP akan berubah.
¨       Operator ini tidak dapat digunakan pada stack kosong, artinya POP(CREATE(S)) = error condition dan
POP(PUSH(E,S)) = S
Catatan : TOP(PUSH(E,S)) = E

 

Tidak ada komentar:

Posting Komentar