Secara sederhana
stack atau tumpukan bisa diartikan sebagai kumpulan data yang seolah-olah
diletakkan di atas data yang lain. Satu hal yang perlu diingat bahwa kita bisa menambah
(menyisipkan) data dan mengambil (menghapus) data melalui ujung yang sama, yang
disebut sebagai ujung atas stack.
Contoh
sederhana, sebuah stack bisa diilustrasikan seperti gambar berikut :
*Tumpukan yang terdiri dari 6 kotak
Dari gambar diatas, bisa dilihat
bahwa yang menjadi ujung atas stack adalah kotak F. jadi jika ada kotak lain
yang akan disisipkan, maka kotak tersebut akan diletakkan di atas kotak F, dan
jika ada kotak yang akan diambil, maka kotak F yang pertama kan diambil.
Operasi
pada Stack
·
Operasi
Push
Perintah push digunakan untuk memasukkan
data ke dalam stack. Untuk lebih jelasnya perhatikan ilustrasi berikut.
Misalkan kita mempunyai data-data 3, 25 dan 9 dalam stack dengan posisi 3
paling bawah dan 9 paling atas. Dan kita akan memasukkan data 34 ke dalam stack
tersebut. Tentu saja data 34 akan diletakkan di atas data 9.
*ilustrasi operasi push data
·
Operasi
Pop
Operasi Pop adalah operasi untuk menghapus
elemen yang terletakpada posisi paling atas dari sebuah stack. Sama halnya
dengan operasi push, maka deklarasi untuk operasi pop dapat dilihat pada
program berikut ini :
Char Pop (NOD **T)
{
NOD
*P; char item;
if ( ! StackKosong (*T))
{
P= *T;
*T = (*T)→next;
Item=p→data;
Free (P);
}
return item;
}
*Ilustrasi
operasi pop data
Fungsi
untuk mengetahui kosong tidaknya suatu stack dapat dilihat pada penggalan
program berikut ini :
//Uji Stack Kosong
BOOL StackKosong (NOD *T)
{
Return ((BOOL)(T==NULL));
}
·
IsEmpty :
Fungsi yang digunakan untuk mengecek apakah stack sudah kosong
·
IsFull :
Fungsi yang digunakan untuk mengecek apakah stack sudah penuh
o
Contoh program Stack menggunakan Bahasa
C++
Bila program
diatas dijalankan, akan muncul hasil :
Itulah penjelasan mengenai materi stack, jika ada yang perlu di tanyakan silahkan hubungi ke email saya atau bisa langsung melalui kolom komentar dibawah. Terima Kasih Telah Berkunjung.
Tidak ada komentar:
Posting Komentar