tutorialswb

TutorialsWB hadir sebagai wadah bagi teman-teman yang ingin "Belajar PHP Dasar". Sehingga kami yakin bahwa TutorialsWB akan menjadi Pusat "Belajar Bahasa Pemrograman PHP" Disamping PHP website ini menyediakan berbagai tips dan trik Blogger. Kami menerima Pemasangan iklan banner atau artikel.

Hubungi Saya

stack dan Queue Apllied Programming



selamat siang guys, kali ini saya akan berbagi tentang stack dan queue aplied programming, langsung aja, perhatikan kodingan di bawah ini:

#include <iostream> // untuk routing input-output basic; cout,cin,endl
#include <conio.h> //untuk cmemanggil console DOS input-output; getch,clrscr,system cls
#include <string>


using namespace std;

int maxim=50; //untuk jumlah maksimum stack & queue
string data[50]; //declare string sebanyak 50 sesuai sama maximal
int penunjuk=-1; // batas bawah tumpukan

//membuat fungsi IsEmpty untuk mengecek stack/queue kosong atau tidak
bool IsEmpty()
{
if(penunjuk == -1)
return true;
else
return false;
}

//membuat fungsi IsFull untuk mengecek stack/queue isi atau tidak
bool IsFull()
{
if(penunjuk == maxim-1)
return true;
else
return false;
}

//membuat fungsi Push untuk memasukkan nilai kedalam stack yang sebelumnya dicek terlebih dahulu apakah penuh atau belum
void push()
{
if(IsFull())
{
cout<<"Tumpukan Sudah Penuh!";
getch();
}
else
{
penunjuk++;
cout<<"Data Yang Akan Dimasukkan = ";
cin>>data[penunjuk];
cin.ignore(); //function agar string bisa terus berulang tanpa di clear terlebih dahulu
}

}

//membuat fungsi Pop untuk mengambil nilai dari stack yang sebelumya dicek terlebih dahulu apakah kosong atau belum
void pop()
{
if (IsEmpty())
{
cout<<"tidak ada data!";
getch();
}
else
{
cout<<"Data yang diambil adalah : "<<data[penunjuk];
penunjuk--;
getch();
}
}
void dequeue()
{
if (IsEmpty())
{
cout<<"tidak ada data!";
getch();
}
else
{
cout<<"Data yang diambil adalah : "<<data[0];
penunjuk--;
/*for(int x=0;x<=penunjuk;x++)//looping untuk menghapus top dalam stack, agar tidak double
{
data[x]=data[x+1];
}*/

getch();
}
}
//membuat fungsi Clear untuk menghapus data dalam stack
void clear()
{
penunjuk = -1;
cout<<" Sudah Dikosongkan!";
getch();
}

//membuat fungsi untuk menampilkan isi dari stack
void view()
{
if (!IsEmpty())
{
for(int a=penunjuk;a>=0;a--) //looping untuk melihat data stack/queue sesuai limit yang diinput
{
cout<<"Data Pada Tumpukan ke-"<<a<<": "<<data[a]<<endl;
}
}
else
{
cout<<"- N U L L -";
}


}

//fungsi utama
main()
{
int jawab;

system ("cls");
cout<<"\t-------------------------------------------------\n";
cout<<"\t*\t  APPLIED PROGRAMMING *\n";
cout<<"\t*\t Program Stack dan Queue *\n";
cout<<"\t-------------------------------------------------\n";
cout<<"\t| |\n";
cout<<"\t| Built By: |\n";
cout<<"\t|  Baco |\n";
cout<<"\t|  Baso |\n";
cout<<"\t|  Irwan |\n";
cout<<"\t| |\n";
cout<<"\t-------------------------------------------------\n";
cout<<"\t| |\n";
cout<<"\t|\t Informatics Engineering - Batch IV |\n";
cout<<"\t|\t      ====================== |\n";
cout<<"\t| |\n";
cout<<"\t=================================================\n";
cout<<"\t\t   Press Any Key To Continue... \n";
cout<<"\t=================================================\n";
getch();

do
{
system ("cls");
cout<<endl;
cout<<"Status Data Saat Ini:"<<endl<<endl;
view();
cout<<endl<<endl<<endl<<endl<<endl<<endl;


cout<<"==================== P R O G R A M =====================\n\n";
cout<<"        S T A C K  &  Q U E U E \n\n";
cout<<"*********************************************************\n";
cout<<"| |\n";
cout<<"| 1. Push/Enqueue |"<<endl;
cout<<"| 2. Pop   |"<<endl;
cout<<"| 3. Dequeue |"<<endl;
cout<<"| 4. Clear |"<<endl;
cout<<"| 5. Exit |"<<endl;
cout<<"| |\n";
cout<<"*********************************************************\n";
cout<<"Masukkan pilihan Anda [ 1/2/3/4/5 ]= ";
cin>>jawab;



switch(jawab)
{
case 1:

int limit;
cout<<"Masukkan Jumlah Limit Data = ";
cin>>limit;

for(int a=1; a<=limit; a++) //looping untuk memunculkan data sesuali limit yang diinput
{
push();
}
break;

case 2:
pop();
break;

case 3:
dequeue();
break;

case 4:
clear();
break;

}
}
while (jawab !=5);
}

tampilannya seperti pada gambar di bawah ini.


jika ada yang kurang jelas atau bingun silahkan tinggalkan comment, sekian wassalam­čśâ



Baca Juga

closed