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:
1. Proes Deklarasi yaitu proses pendeklarasian stack.
2. Proses Isempty yaitu proses pemeriksaan apakah stack dalam
keadaan kosong.
3. Proses Isfull yaitu proses pemeriksaan apakah stack telah
penuh.
4. Proses inisialisasi yaitu proses
pembuangan stack kosong,biasanya dengan pemberian nilai untuk top.
5. Proses clear yaitu proses pengosongan stack.
6. 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.
'm� c p c �� �w� > yaitu proses pemeriksaan apakah stack telah
penuh.
4. Proses inisialisasi yaitu proses
pembuangan stack kosong,biasanya dengan pemberian nilai untuk top.
5. Proses clear yaitu proses pengosongan stack.
6. Proses Print yaitu proses menampilkan
semua elemen-elemen stack
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:
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.
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.
0 komentar:
Posting Komentar