Stack merupakan bentuk khusus dari suatu struktur data, dimana node yang ditambahkan ke dalam list dan diambil dari list hanya pada 'kepala'nya, atau dengan kata lain prinsip pengolahannya adalah last-in first-out (LIFO). data yang terakhir kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri Stack :
1. Elemen TOP (puncak) diketahui
2. penisipan dan penghapusan elemen selalu dilakukan di TOP
3. LIFO (Last In First Out)
LIFO
Jika ingin mengambil 90, maka harus melakukan pop untuk 37 dan 12 terlebih dahulu ke mudian pop untuk 90. Lalu jika ingin 90 tetap ada, maka harus melakukan push untuk 90, kemudian push untuk 12 dan 37. Data hanya bisa diambil secara berurutan, tidak bias diambil secara langsung. pekerjaan pada komputer diolah berdasarkan pengalamatan-pengalamatan yang diatur sedemikian rupa. Begitu juga saat terjadi suatu interrupt. Saat computer menyelesaikan suatu interrupt yang ditemukannya, maka komputer kembali melacak pekerjaan sebelumnya. Informasi pengalamatan tentang pekerjaan sebelumnya tadi disimpan dalam suatu register khusus yang dikenal sebagai sebuah stack.
Operasi-operasi/fungsi Stack
Push
- digunakan untuk menambah item pada stack pada tumpukan paling atas
Pop
- digunakan untuk mengambil item pada stack pada tumpukan paling atas
Clear
- digunakan untuk mengosongkan stack
IsEmpty
- fungsi yang digunakan untuk mengecek apakah stack sudah kosong
IsFull
- fungsi yang digunakan untuk mengecek apakah stack sudah penuh
Pemanfaatan stack antara lain untuk menulis ungkapan dengan menggunakan notasi tertentu.
Contoh :
( A + B ) * ( C – D )
Tanda kurung selalu digunakan dalam penulisan ungkapan numerik untuk mengelompokkan bagian mana yang akan dikerjakan terlebih dahulu.
Dari contoh ( A + B ) akan dikerjakan terlebih dahulu, kemudian baru ( C
– D ) dan terakhir hasilnya akan dikalikan.
A + B * C – D
B * C akan dikerjakan terlebih dahulu, hasil yang didapat akan berbeda dengan hasil notasi dengan tanda kurung.
No comments:
Post a Comment