Antrian market (Pamela)
[0] [1] [2] [3] [4]
Definisi Queue
Queue bisa di artikan antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehidupan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket, saat di bank dan tempat-tempat lainnya. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Dalam suatu antrian, yang datang terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue
Queue bisa di artikan antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehidupan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket, saat di bank dan tempat-tempat lainnya. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Dalam suatu antrian, yang datang terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue
Algoritma
Disini
kelompok kami mengambil judul tentang antrian market yaitu pamela di
bagian salah satu loketnya dan kami mengambarkan bagaimana algoritma
dari antrian tersebut...cekidoot
Dalam algoritma ini kita mengunakan rumus lokasi(i)=i
Langkah 1
è Menyediakan jumlah maksimal dari antrian
Langkah 2
è Variable “A” masuk dalam antrian
[0] [1] [2] [3] [4]
Langkah 3
à variable “B,C,D,E” masuk dalam antrian
[0] [1] [2] [3] [4]
Langkah 4
è Variable “ A” di hapus dari antrian
è Variable “B” mengisi alamat milik “A” dan begitu juga dengan “C,D,E”
[0] [1] [2] [3] [4]
Langkah 5
è Memasukkan elemen variable baru “ F”
[0] [1] [2] [3] [4]
Program c++
#include <cstdlib>
#include <iostream>
#include <conio.h>
#define maks 5
using namespace std;
class antri{
friend ostream& operator<<(ostream&, const antri&);
public:
antri();
int penuh(int);
int kosong(int);
void cetak();
void enqueue(char);
char dequeue();
void enqueue1(char);
private:
char A[maks];
int banyak;
};
ostream& operator<<(ostream& out, const antri& s)
{ cout<<"\n isi queue : ";
for (int i=0;i<s.banyak;i++)
out<<s.A[i]<<"";
}
antri::antri(){banyak = 0;}
int antri::penuh(int s)
{ return s== maks ? 1:0;}
int antri::kosong(int s)
{ return s== 0 ? 1:0;}
void antri::cetak()
{ cout<<endl;
cout<<"\n isi queue : ";
for (int i=0;i<banyak;i++)
cout<<A[i]<<"";
}
void antri::enqueue(char x)
{
cout<<endl;
cout<<"\n elemen : \t "<<x<<"\tmasuk antrian " ;
cout<<endl;
if (A[0]=='0') {
A[0] = x;
banyak++;
}
else {
for (int i=banyak;i>=0;i--)
A[i+1] = A[i];
A[0] = x;
banyak++;
}
}
char antri::dequeue(){
char temp=A[--banyak];
cout<<endl;
cout<<"\n hilangkan elemen -->"<<temp;
cout<<endl;
A[banyak]='0';
return temp;
}
void antri::enqueue1(char x)
{
cout<<endl;
cout<<"\n elemen : \t "<<x<<"\tmasuk antrian " ;
cout<<endl;
if (A[0]=='0') {
A[0] = x;
banyak++;
}
else {
for (int i=banyak;i>=0;i--)
A[i+1] = A[i];
A[0] = x;
banyak++;
}
}
int main(int argc, char *argv[])
{
antri q;
for(char i='A';i<'F';i++) {
q.enqueue(i);
cout<<q;
}
char p=q.dequeue();
q.cetak();
cout<<endl;
for(char i='F';i<'G';i++) {
q.enqueue1(i);
cout<<endl;
cout<<q;
}
cout<<endl;
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Program C++ antrian mengunakan link list
#include <cstdlib>
#include <iostream>
using namespace std;
class antri{
public:
antri();
void tambah(int);
void tambahbelakang(int);
void tampil();
void hapus(int);
private:
int data;
antri *berikut,*p;
};
antri::antri(){
p=NULL;
}
void antri::tambah(int info){
antri *q,*t;
if(p==NULL){
p=new antri;
p->data=info;
p->berikut=NULL;
}else{
q=p;
while(q->berikut != NULL)
q=q->berikut;
t=new antri;
t->data=info;
t->berikut=NULL;
q->berikut=t;
}
}
void antri::tambahbelakang(int nilai){
antri *q,*t;
if( p == NULL ) {
p = new antri;
p->data = nilai;
p->berikut = NULL;
} else {
q = p;
while( q->berikut != NULL )
q = q->berikut;
t = new antri;
t->data = nilai;
t->berikut = NULL;
q->berikut = t;
}
}
void antri::tampil(){
antri *i; for(i=p;i!=NULL;i=i->berikut){
cout<<i->data<<" "<<"-> ";
}
}
void antri::hapus(int target){
antri *q,*r;
q=p;
if(q->data==target){
p=q->berikut;
delete q;
return;
}
r=q;
while(q!=NULL){
if(q->data==target){
r->berikut=q->berikut;
delete q;
return;
}
r=q;
q=q->berikut;
}
}
int main(int argc, char *argv[]) {
cout<<"\t ========================================"<<endl;
cout<<"\t Program simulasi antrian market (pamela)"<<endl;
cout<<"\t ========================================"<<endl;
cout<<endl;
antri *link=new antri;
int banyak;
cout<<"maksimal antrian: ";
cin>>banyak;
cout<<"maksimal antrian: ";
cin>>banyak;
int data[banyak];
for(int i=0;icout<<"Data ke-"<<<": ";="" cin>>data[i];
cout<<<" masuk="" antrian";="" cout<link->tambah(data[i]);
}
link->tampil();
int del;
cout<cout<<"data yang keluar dari antrian: ";
cin>>del;
link->hapus(del);
link->tampil();
int belakang;
cout<cout<<"Elemen baru yang masuk antrian : ";
cin>>belakang;
link->tambahbelakang(belakang);
link->tampil();
cout<
system("PAUSE");
return EXIT_SUCCESS;
} <<"><<":>
cout<<"maksimal antrian: ";
cin>>banyak;
int data[banyak];
for(int i=0;icout<<"Data ke-"<<<": ";="" cin>>data[i];
cout<<<" masuk="" antrian";="" cout<link->tambah(data[i]);
}
link->tampil();
int del;
cout<cout<<"data yang keluar dari antrian: ";
cin>>del;
link->hapus(del);
link->tampil();
int belakang;
cout<cout<<"Elemen baru yang masuk antrian : ";
cin>>belakang;
link->tambahbelakang(belakang);
link->tampil();
cout<
system("PAUSE");
return EXIT_SUCCESS;
} <<"><<":>




