Teori STACK (tumpukan) Pada Algoritma
STACK (Tumpukan)
Stack adalah suatu urutan yang elemennya dapat diambil dan ditambah hanya pada posisi akhir(top)saja.contoh dalam kehidupan sehari-hari adalah tumpukan piring disebuah restoran yang tumpukannya ditambah pada bagian paling atas dan jika mengambilnya pun dari bagian paling atas pula.
Bersifat LIFO (Last In First Out). Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack.
Macam-Macam Stack
Stack ada 2 operasi paling besar yang dapat dilakukan,yaitu:
1. Operasi push yaitu operasi menambahkan elemen pada urutan terakhir(paling atas).
2. Operasi Pop yaitu mengambil sebuah elemen data pada urutan terakhir dan menghapus elemen tersebut dari stack
Sebagai contoh,misalkan ada data sebagai berikut:
1 3 5 6,maka data tersebut dapat tersimpan dalam bentuk sebagai berikut:
Contoh lain adalah ada sekumpulan perintah stack yaitu push(5),push(7),pop,push(3),pop.jika dijalankan,maka akan terjadi adalah:
Proses Operasi Stack
Selain operasi dasar stack,ada lagi operasi lain dapat terjadi dalam stack yaitu:
Proes Deklarasi yaitu proses pendeklarasian stack.
Proses Isempty yaitu proses pemeriksaan apakah stack dalam keadaan kosong.
Proses Isfull yaitu proses pemeriksaan apakah stack telah penuh.
Proses inisialisasi yaitu proses pembuangan stack kosong,biasanya dengan pemberian nilai untuk top.
Proses clear yaitu proses pengosongan stack.
Proses Print yaitu proses menampilkan semua elemen-elemen stack
Operasi-operasi Stack
1. Pendeklarasian stack
Proses pembuatan struktur stack dalam memori.
Top: yang berisi posisi data terakhir
Elemen: yang berisi data yang ada dalam stack bagian ini lah yang berbentuk array.
Maks_elemen yaitu variabel yang menunjuk maksimal banyaknya elemen dalam stack.
2. Proses Inisialisasi
Inisialisasi stack adalah proses pembuatan suatu stack kosong.
3. Operasi IsEmpty
Operasi yang digunakan untuk memeriksa apakah stack dalam keadaan kosong. Operasi ini dilakukan dengan memeriksa field top.jika top bernilai 0 atau top bernilai -1,maka berarti stack dalam keadaan empty.
4. Operasi IsFull
Untuk memeriksa keadaan stack apakah sudah penuh/belum.
Langkah-langkah untuk operasi ini:
a. Operasi IsFull pada stack yang menggunakan array.
b. Operasi ini akan memberikan nilai true(1) jika field top sama dengan field maks_elemen -1.
5. Operasi Push
Operasi push adalah operasi dasar dari stack yang berguna untuk menambah suatu elemen data baru pada stack dan di simpan pada posisi top yang akan mengakibatkan posisi top akan berubah.
Langkah-langkah operasi ini:
v Periksa apakah stack penuh(isfull).jika bernilai false/0 (tidak penuh)maka proses push dilaksanakan dan jika pemeriksaan ini bernilai true/1,maka proses push digagalkan.
v Proses push-nya sendiri adalah dengan menambahkan field top dengan 1,kemudian elemen pada posisi top di isi dengan elemen data baru.
6. Operasi Pop
Operasi Pop adalah salah satu operasi paling besar dari stack yang berguna untuk mengambil elemen terakhir(top) dan kemudian menghapus elemen tersebut sehingga posisi top akan berpindah.
Operasi ini biasanya dibuat dalam bentuk function yang me-return-kan nilai sesuai data yang ada di top. Operasi Pop pada Stack yang menggunakan array adalah terlebih dahulu memeriksa apakah stack sedang keadaan kosong,jika tidak kosong maka data diambil pada posisi yang ditunjuk oleh posisi top,kemudian disimpan dalam variabel baru dengan nama “data”.
7. Operasi Print
Untuk menampilkan semua elemen-elemen stack. Dengan cara looping semua nilai array secara terbalik, karena kita harus mengaksesdari indeks array tertinggi terlebih dahulu baru ke indeks yang kecil.
Sumber Materi : Blog Risa Sistem Informasi - Stack
Artikel Terkait, Jangan Lupa Baca
loading...
No comments:
Post a Comment