Home

Stack Tunggal

Kali ini gue bahas tentang stack tunggal menggunakan c++ dimana Stack adalah sebuah kumpulan data dimana data yang diletakkan di atas data yang lain. Dengan demikian stack adalah struktur data yang menggunakan konsep LIFO. Dengan demikian, elemen terakhir yang disimpan dalam stack menjadi elemen pertama yang diambil.

Yuk langsung ke coding, jadi kalo mau copas, copas aja sintax yang baris tebal dari atas ke bawah.

#include<iostream.h>
#include<conio.h>

int data[5];//variabel array untuk stack
int top; // variabel untuk item yang berada paling atas
int max;// jumlah makasimal dari stack
int menu;// variable menu

bool isfull ()
{
if (top==max)
   {
    return true;
   }
   else
   {
    return false;
   }
}

penjelasan sintax di atas : 
fungsi isfull berfungsi untuk mengecek stack full atau tidak. dengan rumus top==max 

bool isempty ()
{
if(top==-1)
   {
    return true;
   }
   else
   {
    return false;
   }
}

penjelasan sintax di atas : 
fungsi isempty untuk mengecek apakah stack kosong, dengan rumus top==-1. 

void push()
{
if (isfull()==true)
   {
    cout<<"stak sudah penuh";
   }
   else
   {
    top=top+1;
      cout<<"masukan data : "<<top<<" : ";cin>>data[top];
   }
}

penjelasan sintax di atas : 
procedure push berfungsi untuk memasukan item data ke dalam stack. Dengan langkah pertama mengecek fungsi isfull, kemudian memasukan item data ke stack dengan rumus top=top+1 atau top++

void pop()
{
if (isempty()==true)
   {
    cout<<"stak kosong";
   }
   else
   {
    cout<<"tampilkan data : "<<data[top];   //data yg keluar index ke top
    top--;
   }
}

penjelasan sintax di atas : 
procedure pop berfungsi untuk mengambil data paling atas dari stack, dengan langkah awal mengecek fungsi isempty, kemudian mengambil data dengan rumus top--.

void print()
{
if (isempty()==true)
   {
    cout<<"stak kosong";
   }
   else
   {
    cout<<"Data pada stack";
    for (int i=0; i<=top; i++)
      {
      cout<<" "<<data[i];
      }
   }
}

penjelasan sintax di atas : 
procedure print berfungsi untuk menampilan isi data dari stack yang telah dimasukan. Dengan langkah pertama mengecek fungsi isempty, kemudian membuat perulangan for untuk menampilkan data stack.

void clear()
{
top=-1;
}

penjelasan sintax di atas : 
procedure clear berfungsi untuk menghapus isi stack. Cukup simple yaitu dengan mengembalikan nilai top=-1 maka otomatis stack telah kosong.

void main()
{
 top =-1;//agar stacknya kosong
 max = 4;//set nilai banyaknya array

 awal: //kembali ke awal
 clrscr();// menghapus layar
 cout<<"Pilih Menu"<<endl;
 cout<<"[1] Push (tambah data)"<<endl;
 cout<<"[2] Top (ambil data)"<<endl;
 cout<<"[3] Print (cetak data)"<<endl;
 cout<<"[4] Clear (hapus data)"<<endl;
 cout<<"Masukan pilihan anda : ";cin>>menu;

 switch(menu)
 {
  case 1:
    push();
      getch();
      goto awal;
   break;

   case 2:
    pop();
      getch();
      goto awal;
   break;

   case 3:
    print();
      getch();
      goto awal;
   break;

   case 4:
    clear();
      getch();
      goto awal;
   break;
 }
getch();

}

penjelasan sintax di atas : 
selanjutnya membuat menu untuk memilih procedure yang sudah kita buat sebelumnya. Dengan menggunakan switch case kita hanya tinggal memanggil procedure yang sudah dibuat.

output :




Tutorial,Hobi

Tidak ada komentar:

Posting Komentar