Stack dalam Bahasa Pemrograman C++
Stack dalam Bahasa Pemrograman C++
Pengertian Stack
Stack dapat diartikan sebagai tumpukan. Stack ini biasanya menggunakan array 1 dimensi. Konsep utama dari stack ialah LIFO (Last In First Out) artinya data yang terakhir masuk ke dalam stack adalah data yang harus keluar terlebih dahulu.
Single Stack
Berikut ilustrasi dari Stack:
Berdasarkan Ilustrasi di atas, data yang paling ujung atau tepatnya data yang terakhir kali masuk tadi akan menjadi data kunci untuk mengindikasikan/memberitahu apakah array 1 dimensi yang ditempati oleh data data masih kosong atau sudah penuh.
Dalam Single Stack dapat digunakan istilah untuk prosesnya seperti berikut:
Kondisi yang ada pada stack berdasarkan posisi Top:
- Pada Kondisi Stack Kosong, Top=-1, kita dapat melakukan Push / Mengisi data. maka ilustrasinya pada gambar stack kosong
Stack Kosong - Pada Kondisi Stack Penuh, Top=n-1. kita tidak dapat melakukan Push. Ilustrasinya:
Stack Penuh
Algoritma Push
Algoritma Push |
Algoritma Pop
Algoritma Pop |
Kita Bisa Melakukan Pop data / mengeluarkan data jika Top terletak lebih dari indeks -1 (Top>-1). Ilustrasinya seperti pada Kondisi Stack Ada Isinya. Kemudian data yang ada pada Top akan dipindahkan ke variabel x. yang kemudian nanti kita bisa menampilkan data yang di pop.
Contoh Kasus: Push data ke dalam Stack sampai penuh kemudian Pop isi Stack sampai kosong.
Algoritma yang bisa dibuat berdasarkan kasus di atas ialah:
- Membuat Stack dengan variabel S berbentuk Array 1 dimensi yang akan menjadi wadah/tempat untuk menyimpan data.
- Inisialisasi Stack
- Push data
- Pop semua data
Sesuai Running Program di atas. Data yang di Pop/ dikeluarkan dimulai dari data yang paling terakhir masuk. inilah yang dinamakan Stack dengan Konsep Utamanya yaitu LIFO (Last In First Out).
Referensi:
Materi Perkuliahan Dosen Struktur Data, YOHANA NUGRAHENI, S.Kom.,MT.
Sanjaya, Dwi (2005). Asyiknya Belajar Struktur Data di Planet C++. Elex Media Komputindo.
Heriyanto, Imam, Budi Raharjo (2003). Pemrograman Borland C++ Builder. Informatika Bandung..
min yang program data mahasiswa kalo ditambah searching gimana min?
BalasHapus