STACK
A. Pengertian Stack
Stack adalah sebuah
kumpulan data dimana data yang diletakkan di atas data yang lain. Stack
menggunakan konsep LIFO. LIFO merupakan salah satu konsep yang efektif untuk
menyimpan dan mengambil data, yaitu "terakhir masuk sebagai yang pertama
keluar" (Last In First Out).
B. Operasi Stack
1.
Operasi Stack Utama
a.
Operasi Push yaitu operasi menambahkan elemen pada urutan terakhir
(paling atas).
b.
Operasi Pop yaitu operasi engamil sebuah elemen data pada urutan
terakhir dan menghapuskan elemen tersebut dari stack.
2.
Operasi Stack Tambahan
a.
Clear digunakan untuk mengosongkan stack.
b.
IsEmpty : untuk memeriksa apakah stack kosong.
c.
IsFull : untuk memeriksa apakah satck sudah penuh.
C. Pendeklarasian Stack
Dengan Array
Proses pendeklarasian
stack adalah proses pembuatan structur stack dalam memori. Karena stack dapat
direprensikan dalam cara, maka pendeklarasian stack pun ada 2 yaitu:
a. Top, yaitu bagian atas
stack
b. Elemen, yaitu yang
berisi data yang ada dalam stack. Bagian ini yang membentuk array. Deklarasi
stack dengan array.
Struct stack
{
Int element [10];//elemen int top
};
|
D.
Inisialisasi
Inisialisasi
stack adalah proses pembuatan stack kosong. Proses inisialisasi untuk stack
yang meggunkan array adalah dengan mengisi nilai field top dengan 0 (nol), jika
elemen pertama diawai dengan nomor 1. Kalau elemen pertama array dimulai dengan
0 maka top diisi dengan nilai-1.
Contoh
:
P->top==-1
|
E.
Operasi Cek kosong stack
Operasi
ini digunakan untuk memeriksa apakah stack dalam keadaan kosong. Operasi ini
penting dilakukan dalam proses pop. Ketika suatu stack dalam keadaan kosong,
maka proses pop tidak bisa dilakukan. Operasi ini dilakukan hanya dengan
memeriksa field top. Jiaka top-top bernilai -1, maka berarti stack dalam
keadaan empty (kosong).
Contoh :
If
(p->top==-1
{
Cout<<”STACK
kosong “;
Return-1;
}
|
F.
Operasi Cek Penuh
Operasi
ini digunakan untuk memeriksa keadaan stack apakah sudah penuh atau belum.
Operasi ini akan memberikan nilai true (1), jika field top sama dengan size -1.
Contoh :
>top==size-1)
Cout<<”STACK penuh”;
|
G. Operasi Push
Operasi ini berguna
untuk menambahkan suatu elemen data baru pada stack dan disimpan pada posisi
top yang akan mengakibatkan posisi akan berubah.
Langkah
operasi :
a.
Periksa apakah stack penuh. Jika tidak penuh maka proses push
diaksanakan dan jika stack penuh, maka proses push digagalkan.
b.
Proses push-nya sendiri
adalah dengan menambahkan field top dengan 1, kemudian elemen pada posisi top
diisi dengan elemen data baru.
Contoh :
If ( p->top==size-1)
Cout<<”STACK penuh”;
Else
p->elemen [++p->top]=value;
|
H.
Operasi Pop
Operasi
ini digunakan untuk mengambil elemen terakhir (top) dan kemudian menghapus
elemen tersebut posisi top akan berpindah. Langkah operasi pop pada stack yang
menggunakan array adalah terlebih dahulu memeriksa apakah satack sedang keadaan
kosong, jika tidak kososng maka data diambil pada posisi yang ditunjukan oleh
posisi top, kemudian posisi top -1.
Contoh :
If (p->top==-1)
{
Cout<<”STACK kosong”:
Return -1:
}
Else
Return
p->elemen [p->top--]
|
Referensi
Tidak ada komentar:
Posting Komentar