-Black Inspiration- -Telor-ceplox- -PROFIL- -Facebook- -Twitter- "* ikhsan_choco@ymail.com "*
Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!! Jangan lupa kasih komentar demi kemajuan blog ini...!!!

5 Des 2011

Antrian Market (Pamela)



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
Algoritma
Dalam algoritma ini kita mengunakan rumus lokasi(i)=i
Langkah 1
Menyediakan jumlah maksimal dari antrian




[0] [1] [2] [3] [4]
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
#include
#include
#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 out<}


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< cout<<"\n isi queue : ";
for (int i=0;icout<}

void antri::enqueue(char x)
{
cout< cout<<"\n elemen : \t "< cout< 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< cout<<"\n hilangkan elemen -->"< cout< A[banyak]='0';
return temp;
}

void antri::enqueue1(char x)
{
cout< cout<<"\n elemen : \t "< cout< 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< }
char p=q.dequeue();
q.cetak();
cout<for(char i='F';i<'G';i++) {
q.enqueue1(i);
cout< cout< }
cout<cout<system("PAUSE");
return EXIT_SUCCESS;
}

Program C++ antrian mengunakan link list
#include
#include

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<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 ========================================"<cout<<"\t Program simulasi antrian market (pamela)"<cout<<"\t ========================================"<cout<
antri *link=new antri;
int banyak;
cout<<"maksimal antrian: ";
cin>>banyak;
int data[banyak];
for(int i=0;icout<<"Data ke-"<cin>>data[i];
cout<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;

}