Header Ads

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:
  1. Inisialisasi : awalan untuk memberi memberi tanda bahwa stack dalam posisi kosong. Top=-1.
    Ilustrasi:
    Stack Kosong

  2. Push : menginputkan data ke dalam stack.
  3. Pop : mengeluarkan data dari dalam stack.

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

     










  • Pada Kondisi Stack Bisa Diisi, Top<n-1, Maka Ilustrasinya:
    Stack Bisa Diisi












  •  Pada Kondisi Stack Ada Isinya, Top>-1, Maka Ilustrasinya:
    Stack Ada Isinya











Algoritma Push  

Algoritma Push
Kita bisa melakukan Push data / memasukkan data jika Top terletak pada indeks yang bernomor kurang dari n-1 (<n-1). Ilustrasinya seperti pada kondisi Stack Bisa Diisi. Kemudian jika Top<n-1 kita melakukan proses untuk memindah Top ke Top+1. Lalu data yang kita masukkan tadi akan mengisi Top.

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
Berikut ini adalah Programnya:





















 













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..









1 komentar:

  1. min yang program data mahasiswa kalo ditambah searching gimana min?

    BalasHapus

Diberdayakan oleh Blogger.