TULISAN : STACK
Stack atau tumpukan adalah bentuk khusus dari linear list. Pada stack, penghapusan serta pemasukan elemennya hanya dapat dilakukan di satu posisi, yakni posisi akhir dari list. Posisi ini disebut puncak atau top dari stack. Elemen stack S pada posisi ini dinyatakan dengan TOP(S).
Jelasnya, bila stack S [S1, S2, …, ST], maka TOP(S) adalah ST. Banyaknya elemen stack S pada suatu saat tertentu biasa kita sebut sebagai NOEL(S). Jadi untuk stack kita di atas, NOEL(S) = T. Seperti halnya pada semua linear list, pada stack dikenal operasi penghapusan dan pemasukan.
Operator penghapusan elemen pada stack disebut POP, sedangkan operator pemasukan elemen, disebut PUSH. Untuk menggambarkan kerja kedua operator di atas, berikut ini suatu contoh bermula dari stack hampa S[ ], yang kita gambar sebagai :
S NOEL(S) = 0, TOP(S) tidak terdefinisi
mula-mula kita PUSH elemen A, diperoleh Stack S = [A]
S NOEL(S) = 1, TOP(S) = A
Apabila kemudian kita PUSH elemen B, diperoleh Stack S = [A,B]
S NOEL(S) = 2, TOP(S) = B
Selanjutnya bila PUSH elemen C, diperoleh Stack S = [A,B,C]
S NOEL(S) = 3, TOP(S) = B
Kemudian bila kita POP elemen C, diperoleh Stack S = [A,B]
NOEL(S) = 2, TOP(S) = B
Kita dapat pula PUSH 2 elemen D dan E. Akan dihasilkan Stack S = [A,B,D,E]
S NOEL(S) = 4, TOP(S) = E, dan seterusnya.
Terlihat bahwa kedua operasi di atas, pada stack adalah bersifat ‘terakhir masuk pertama keluar’ atau ‘Last In First Out' (LIFO). Pada hakekatnya kita tidak membatasi berapa banyak elemen dapat masuk ke dalam stack. Untuk suatu stack S[S1, S2,..., SNOEL], kita katakan bahwa elemen Si, berada di atas elemen Sj, jika i lebih besar dari j. Suatu elemen tidak dapat kita POP ke luar, sebelum semua elemen di atasnya dikeluarkan.
OPERASI PADA STACK
1. CREATE : digunakan untuk membuat stack.
2. ISEMPTY : digunakan untuk memeriksa, apakah stack sudah kosong atau belum.
3. PUSH : digunakan untuk memasukkan elemen stack.
4. POP : digunakan untuk mengahapus elemen stack.
5. TOP : digunakan untuk menentukan puncak elemen stack.
6. ISFULL : digunakan untuk memeriksa, apakah stack sudah penuh atau belum.
sumber :
http://materikuliahstrukturdata.blogspot.co.id/2012/02/stack.html
Komentar
Posting Komentar