QUEUE / ANTRIAN
PENYUSUN :
Zakaria Annas
(123090182)
Plug : 6
Asisten Dosen : Henry Tri P.
Co.Asisten : Agus Hermawan
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL
“VETERAN” YOGYAKARTA
2010
//queue
melingkar dengan mengorbankan 1 tempat kosong
#include
<iostream>
#include
<malloc.h>
#define
max 5
#define
True 1
#define
False 0
Using
std::cout;
Using
std::cin;
Using
std::endl;
typedef
float typeinfo;
typedef
struct typequeue{int depan, belakang;
typeinfo
elemen[max];};
struct
typequeue queue;
void
buatqueue();
void
cetakqueue();
void
enqueue(float IB);
void
dequeue();
void
jumlahqueue();
void
jumlahisi();
int
queuekosong();
int
queuepenuh();
int
main()
{
int h,i,j;
buatqueue();
cout << "Masukan jumlah enqueue : " ;
cin >> j;
for (i=0; i<j ; i++)
{
cout << "queue : ";
cin >> h;
enqueue(h);
}
cout
<< "kondisi awal queue setelah di enqueu : \n";
/*enqueue(12);
enqueue(78);
enqueue(5);
enqueue(34);*/
cetakqueue();
jumlahqueue();
jumlahisi();
cout << "\nMasukkan jumlah dequeue : ";
cin >> j;
for(i=0;i<j;i++)
{
dequeue();
}
cout << "\nKondisi queue setelah di dequeu : \n";
/*dequeue();
dequeue();*/
cetakqueue();
jumlahqueue();
jumlahisi();
cout
<< "\nMasukkan jumlah enqueue : ";
cin >> j;
for(i=0;i<j;i++)
{
cout << "queue : ";
cin >> l;
enqueue(l);
}
cout << "\n\nKondisi akhir
queue setelah di enqueue : \n";
/*enqueue(89);
enqueue(11);*/
cetakqueue();
jumlahqueue();
jumlahisi();
cout << "\n\n";
}
void
buatqueue()
{
queue.belakang=1;
queue.depan=1;
}
int
queuekosong()
{
if(queue.depan==queue.belakang)
return(True);
else
return(False);
}
int
queuepenuh()
{ int
next_belakang;
if(queue.belakang==max)
next_belakang=1;
else
next_belakang=queue.belakang+1;
if(queue.depan==next_belakang)
return(True);
else
return(False);
}
void
enqueue(float IB)
{ if(queuepenuh())
cout << "queue
overflow\n";
else
{if(queue.belakang==max)
queue.belakang=1;
else
queue.belakang++;
queue.elemen[queue.belakang]=IB; }
}
void
dequeue()
{
typeinfo ID;
if(queuekosong())
cout
<< "queue underflow\n";
else
{ID=queue.elemen[queue.depan+1];
if(queue.depan==max)
queue.depan=1;
else
queue.depan++; }
}
void
cetakqueue()
{ int
i;
if(queue.depan==queue.belakang)
cout<<"queue
kosong !";
else
{if(queue.depan<queue.belakang)
{i=queue.depan+1;
while(i<=queue.belakang)
{cout << "
"<< queue.elemen[i];
i++;}
}
else
{for(i=queue.depan+1;i<=max;i++)
cout << " "
<< queue.elemen[i];
for(i=1;i<=queue.belakang;i++)
cout << " "
<< queue.elemen[i];
}
}
}
void
jumlahqueue()
{ int
i=1;
while(i<queue.belakang-1)
{
i++;}
cout << "\nJumlah queue :
" << i << "\n";
}
void
jumlahisi()
{ int
i=1;
float jum=0;
while(i<=queue.belakang)
{ jum
= jum + queue.elemen[i];
i++;
}
cout << "Jumlah akumulasi isi
queue = " << jum << "\n\n";
}
|
Output :

Baca Juga : APLIKASI GRAFIKA KOMPUTER MENGGUNAKAN LAZARUS
Semoga dengan postingan diatas yang berjudul Contoh Pemrograman Struktur Data Modul Queue Antrian dapat bermanfaat untuk sobatku semuanya.
0 Response to "Contoh Pemrograman Struktur Data Modul Queue Antrian"
Post a Comment