Program Analogi Queue
Friday, April 4, 2014
Add Comment
Algoritma
1. Start
2. Deklarasi class
3. Deklarasi fungsi queue untuk inisialisasi
4. Deklarasi fungsi insert queue
5. Deklarasi fungsi delete queue
6. Deklarasi fungsi cetak queue
7. Deklarasi fungsi menu queue
8. Deklarasi fungsi utama
9. Pemanggilan fungsi menu
10.End
Penjelasan Program
1. Prinsip dasar pada program diatas sebenarnya sama dengan program Queue pada bagian latihan, hanya saja pada program Queue diatas memiliki struktur yang lebih kompleks.
2. Terdapat pilihan menu yaitu pilihan ‘I’ yaitu insert untuk memasukkan sebuah nilai pada array dengan indeks terdepan.
3. Menu dengan pilihan ‘D’ yaitu delete untuk menghapus nilai dengan indeks terdepan atau indeks awal secara satu-persatu.
4. Menu dengan pilihan ‘P’ yaitu cetak untuk mencetak hasil input nilai yang ada maupun yang tersisa dari sebuah Queue.
5. Menu pilihan terakhir merupakan ‘E’, yakni exit, yang digunakan untuk keluar dari program.
Script
Program
#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
class Queue
{
private:
struct kue
{
int
data;
kue*kuebaru;
};
kue*tail;
kue*entry;
kue*print;
kue*head;
public:
Queue();
void
Delete();
void
Insert();
void
cetak();
void
menu();
};
Queue::Queue()
{
tail=NULL;
//ganti 1 jadi NULL
head=NULL;
}
void Queue::Insert()
{
int num;
cout<<"\n\n\n\n\n\t Masukkan data dalam Queue :
";cin>>num;
entry=new
kue;
if
(tail==NULL) //ganti 1 jadi NULL
{
entry->data=num; //(*entry).data=num
entry->kuebaru=NULL; //(*entry).kuebaru=null
tail=entry;
head=tail;
}
else
{
entry->data=num;//(*eentry).data=num ganti * jadi ->
entry->kuebaru=NULL;
tail->kuebaru=entry;//(*entry).kuebaru=entry
tail=entry;
}
cout<<"\n\n\t*** "<<num<<" sudah masuk
dalam Queue."<<endl;
getch();//getch:bwan conio
}
void Queue::Delete()
{
if
(head==NULL)
cout<<"\n\n\n\t***Error:Queue is empty.\n"<<endl;
else
{
int
deleted_element=head->data;//(*head).data=deleted_element
kue*temp;//kue:nm struct, *temp=data yg ditunjuk olh tbl ganti tulisan kuebaru jadi kue
temp=head;
head=head->kuebaru;
delete
temp;
cout<<"\n\n\n\t*** "<<deleted_element<<"
dihapus dari queue."<<endl;
}
cout<<"\n\n\n\t\t press any key to return to menu";
getch();
}
void Queue::cetak()
{
print=head;
if
(print!=NULL)
cout<<"\n\n\n\n\t angka-angka yang ada didalam queue adalah :
\n"<<endl;
else
cout<<"\n\n\n\n\t***tidak ada yang
ditampilkan"<<endl;
while
(print!=NULL)//while cek dulu+logikanya diganti dari == adi !=
{
cout<<"\t"<<print->data<<endl;
print=print->kuebaru;
}
cout<<"\n\n\n\t\t press any key to
return to menu. ";
getch();
}
void Queue::menu()
{
char
Key=NULL; //ganti key jadi Key
do
{
system("cls");
cout<<"**Implementasikan Queue**"<<endl;
cout<<"pilih salah satu menu : "<<endl;
cout<<"Tekan\'I\' to Masukkan data dalam
Queue"<<endl;
cout<<"Tekan\'D\' to hapus data dari Queue"<<endl;
cout<<"Tekan\'P'\'to Tampilkan data dari
Queue"<<endl;
cout<<"Tekan\'E\'to Exit"<<endl;
Input:
cout<<"Masukkan
pilihan";
Key=getche();
if
(Key=='e'||Key=='E')/*untuk fungsi exit*/
break;
else if (Key=='i'||Key=='I')
Insert();
else if (Key=='d'||Key=='D')
Delete();
else if (Key=='p'||Key=='P')
cetak();
else
goto Input;
}
while(1);//ganti while 0 jadi 1
}
int main()
{
Queue obj;
obj.menu();
return 0;
//ganti 1 jadi 0
}
0 Response to "Program Analogi Queue"
Post a Comment