Rabu, 13 Maret 2019

ALPRO STACK DALAM C++

STACK DALAM C++

1.     Pengertian Stack
Stack adalah tipe data abstrak yang umum digunakan pada seluruh pemrograman komputer. Stack sendiri sama seperti halnya tumpukan jika di dunia nyata, misalnya tumpukan piring yang telah selesai dicuci, akan ditumpuk dari bawah ke atas, kemudian setelah semua bersih maka diambil satu persatu dari atas ke bawah di masukkan ke lemari atau rak piring. 
2.      Penjabaran Stack
          Ilustrasinya bisa dilihat pada gambar di bawah :
Dari gambar di atas menunjukkan bahwa data hanya dapat ditambah dari atas.
Dalam stack ada 2 istilah yang digunakan yaitu :
·      PUSH : untuk memasukkan data; dan
·      POP    : untuk mengeluarkan data.
Berikut ini adalah ilustrasi dari PUSH :



Mula-mula stack sudah berisi data yaitu : 24, 61, 14, dan 50. Kemudian akan dilakukan push data 31, sehingga data pada stack menjadi 24, 61, 14, 50, dan 31.
Untuk POP berikut ini adalah ilustrasinya :


Pada gambar di atas bisa dijelaskan bahwa Mula-mula stack sudah berisi data yaitu : 24, 61, 14, 50 dan 31. Kemudian akan dilakukan pop data 31, sehingga data pada stack menjadi 24, 61, 14, dan 50.
Jenis-jenis stack ada 2 yaitu :
·      SINGLE STACK; dan
·      DOUBLE STACK
Disini akan  membahas SINGLE STACK saja.
Single stack sendiri dapat direpresentasikan dengan menggunakan array 1 dimensi. Berikut ilustrasi dari single stack :
 


Adapun proses – proses pada single stack, yaitu :
·      Awal (inisialisasi);
·      PUSH : memasukkan data; dan
·      POP : memunculkan data
Berikut ini adalah kondisi-kondisi stack :
Kondisi Stack
Posisi TOP
KOSONG
Top = -1
PENUH
Top = n-1
BISA DIISI
Top < n-1
ADA ISINYA
Top > -1

Berikut ini adalah algoritma dari PUSH :
if (Top < n-1)
{
Top = Top + 1;
S[Top] = x;
}
else
cout<<“Stack Penuh”;
PUSH dapat dilakukan jika kondisi stack BISA DIISI.
Dan ini adalah algoritma dari POP :
if (Top > -1)
       {
x = S[Top];
Top = Top - 1;
       }
else
cout<<“Stack Kosong”;
POP dapat dilakukan jika kondisi stack ADA ISINYA.
Sekarang langsung saja kita ke studi kasus dan source codenya pada Borland C++.
Studi kasus :
Inputkan 10 data ke stack, kemudian tampilkan data terakhir diinputkan sampai yang pertama diinputkan.

Source code :
#include<iostream.h>
#include<conio.h>
#define n 10

void main()
{
int S[n];
int x,top;

top=-1;

cout<<"-------------------------------"<<endl;
cout<<"STACK"<<endl;
cout<<"-------------------------------"<<endl;
while (top<=n-1)
{
cout<<"INPUTKAN ISI STACK : ";
              cin>>x;
              top=top+1;
              S[top]=x;
}

cout<<"-------------------------------"<<endl;
cout<<"ISI STACK : "<<endl;
while (top>=0)
       {
              x=S[top];
              cout<<x<<" ";
              top=top-1;
}
cout<<endl<<"-------------------------------"<<endl;
getch();
}








Inilah hasilnya jika di run :




DAFTAR PUSTAKA


               Subekti.Rahmat., 29 Desember 2016  Implementasi Stack di C++.             
           https://bekti.net/blog/implementasi-stack-di-cpp/pada tanggal 13 Maret 2019 pada            
           pukul 16.22 WITA

Septiawan.Dodhi., Juni 2015 STACK PADA C++
http://dodhieseptiawan.blogspot.com/2015/06/stack-pada-c.html pada tanggal 13 Maret 2019 pada pukul 16.32 WITA



Tidak ada komentar:

Posting Komentar