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 :
Baca juga Stack Ganda di http://moviemindstill.blogspot.co.id/p/stack-ganda.html
Tutorial,Hobi
Tidak ada komentar:
Posting Komentar