QUEUE
Queue atau yang biasa dikenal sebagai antrian adalah struktur data yang membuat nilai yang akan dimasukkan mengantri sebelum akan dipanggil oleh program. Contoh nyata dari antrian adalah saat kita mengantri untuk membeli tiket bioskop, atau tiket konser musik. Atau yang lebih umum lagi yaitu saat kita mengantri untuk membayar belanjaan kita di Supermarket.
Queue tidak jauh berbeda dengan Stack, bedanya adalah jika Stack bersifat LIFO(Last In First Out) maka kalau queue bersifat FIFO(First In First Out). Artinya, data yang pertama kali masuk maka data itulah yang akan pertama kalo keluar/dieksekusi. Di dalam queue, ada terdapat beberapa operasi, yaitu :
1. IsEmpty : Mengecek apakah queue itu kosong atau tidak
2. IsFull : Mengecek apakah queue itu sudah penuh atau belum
3. Enqueue : Menambahkan data pada Queue
4. Dequeue : Mengambil data pada Queue
5. Clear : Menghapus data dalam antrian
6. View : Melihat data dalam antrian
Berbeda dengan stack, queue mempunyai dua kata kunci, yaitu Head dan Tail. Fungsinya adalah Head untuk penanda urutan paling depan, sedangkan Tail untuk penanda urutan paling belakang.
SOURCE CODE QUEUE
Berikut ini adalah Source Code dari Queue beserta Komentar dalam Syntax yang akan memberi petunjuk pada pembuatan Inisialisasi dan Pendeklarasiannya
#include <iostream>
#include <conio.h>
#define max 7
int data[max];
int head=-1, tail=-1,a;
//membuat fungsi IsEmpty
bool IsEmpty(){
if(head == -1 && tail == -1)
return true;
else
return false;
}
//membuat fungsi IsFull
bool IsFull(){
if(tail == max-1)
return true;
else
return false;
}
void Enqueue()
{
if(IsFull())
{
cout<<"Antrian sudah penuh, mohon tunggu beberapa saat lagi ";
}
else
{
if (IsEmpty()){
head=tail=0;
cout<<"Masukkan data : ";cin>>data[tail];
} else {
tail++;
cout<<"Masukkan data : ";cin>>data[tail];
}
}
}
//Membuat fungsi Dequeue
void Dequeue(){
if(IsEmpty()){
cout<<"Antrian kosong ! ";
getch();
} else {
cout<<"Data yang diambil : "<<data[head];
for(a=head;a<=tail-1;a++)
data[a]=data[a+1];
tail--;
if(tail == -1)
head = -1;
getch();
}
}
//Membuat Prosedur clear
void Clear(){
head=tail=-1;
cout<<"Antrian sudah dikosongkan ! ";getch();
}
//Membuat Prosedur View
void View(){
if(IsEmpty()){
cout<<"Antrian kosong ! ";
getch();
} else {
for(a=head;a<=tail;a++)
cout<<"Data pada antrian ke "<<a<<" = "<<data[a]<<endl;
getch();
}
}
main(){
int jawab;
do
{
clrscr();
cout<<"--------- Program Queue ------------"<<endl;
cout<<"1. Enqueue "<<endl;
cout<<"2. Dequeue "<<endl;
cout<<"3. Clear "<<endl;
cout<<"4. View "<<endl;
cout<<"5. Exit "<<endl;
cout<<"Masukkan pilihan Anda : ";
cin>>jawab;
switch(jawab){
case 1:
Enqueue();break;
case 2:
Dequeue();break;
case 3:
Clear();break;
case 4:
View();break;
}
}while (jawab != 5);
getch();
return 0;
}
Referensi dari Buku Karya Adi Nugroho yang berjudul Algoritma & Struktur Data dengan C#
Queue atau yang biasa dikenal sebagai antrian adalah struktur data yang membuat nilai yang akan dimasukkan mengantri sebelum akan dipanggil oleh program. Contoh nyata dari antrian adalah saat kita mengantri untuk membeli tiket bioskop, atau tiket konser musik. Atau yang lebih umum lagi yaitu saat kita mengantri untuk membayar belanjaan kita di Supermarket.
Queue tidak jauh berbeda dengan Stack, bedanya adalah jika Stack bersifat LIFO(Last In First Out) maka kalau queue bersifat FIFO(First In First Out). Artinya, data yang pertama kali masuk maka data itulah yang akan pertama kalo keluar/dieksekusi. Di dalam queue, ada terdapat beberapa operasi, yaitu :
1. IsEmpty : Mengecek apakah queue itu kosong atau tidak
2. IsFull : Mengecek apakah queue itu sudah penuh atau belum
3. Enqueue : Menambahkan data pada Queue
4. Dequeue : Mengambil data pada Queue
5. Clear : Menghapus data dalam antrian
6. View : Melihat data dalam antrian
Berbeda dengan stack, queue mempunyai dua kata kunci, yaitu Head dan Tail. Fungsinya adalah Head untuk penanda urutan paling depan, sedangkan Tail untuk penanda urutan paling belakang.
SOURCE CODE QUEUE
Berikut ini adalah Source Code dari Queue beserta Komentar dalam Syntax yang akan memberi petunjuk pada pembuatan Inisialisasi dan Pendeklarasiannya
#include <iostream>
#include <conio.h>
#define max 7
int data[max];
int head=-1, tail=-1,a;
//membuat fungsi IsEmpty
bool IsEmpty(){
if(head == -1 && tail == -1)
return true;
else
return false;
}
//membuat fungsi IsFull
bool IsFull(){
if(tail == max-1)
return true;
else
return false;
}
void Enqueue()
{
if(IsFull())
{
cout<<"Antrian sudah penuh, mohon tunggu beberapa saat lagi ";
}
else
{
if (IsEmpty()){
head=tail=0;
cout<<"Masukkan data : ";cin>>data[tail];
} else {
tail++;
cout<<"Masukkan data : ";cin>>data[tail];
}
}
}
//Membuat fungsi Dequeue
void Dequeue(){
if(IsEmpty()){
cout<<"Antrian kosong ! ";
getch();
} else {
cout<<"Data yang diambil : "<<data[head];
for(a=head;a<=tail-1;a++)
data[a]=data[a+1];
tail--;
if(tail == -1)
head = -1;
getch();
}
}
//Membuat Prosedur clear
void Clear(){
head=tail=-1;
cout<<"Antrian sudah dikosongkan ! ";getch();
}
//Membuat Prosedur View
void View(){
if(IsEmpty()){
cout<<"Antrian kosong ! ";
getch();
} else {
for(a=head;a<=tail;a++)
cout<<"Data pada antrian ke "<<a<<" = "<<data[a]<<endl;
getch();
}
}
main(){
int jawab;
do
{
clrscr();
cout<<"--------- Program Queue ------------"<<endl;
cout<<"1. Enqueue "<<endl;
cout<<"2. Dequeue "<<endl;
cout<<"3. Clear "<<endl;
cout<<"4. View "<<endl;
cout<<"5. Exit "<<endl;
cout<<"Masukkan pilihan Anda : ";
cin>>jawab;
switch(jawab){
case 1:
Enqueue();break;
case 2:
Dequeue();break;
case 3:
Clear();break;
case 4:
View();break;
}
}while (jawab != 5);
getch();
return 0;
}
Referensi dari Buku Karya Adi Nugroho yang berjudul Algoritma & Struktur Data dengan C#
Komentar
Posting Komentar