Sabtu, 24 Mei 2014

QUEUE (ANTRIAN)


           Queue (antrian) adalah struktur data dimana data yang pertama kali dimasukkan adalah data yang pertama kali bisa dihapus. Atau bisa juga disebut dengan struktur data yang menggunakan mekanisme FIFO (First In First Out).
         Queue dalam kehidupan sehari-hari seperti antrian pada penjualan tiket kereta api, dimana orang yang pertama datang adalah orang yang pertama kali dilayani untuk membeli tiket. Jika ada orang baru yang datang akan membeli tiket, maka posisinya berada pada urutan paling belakang dalam antrian tersebut. Orang yang berada pada posisi terakhir dalam antrian adalah yang terakhir kali dapat dilayani dan memperoleh tiket kereta api dan  nasabah yang antri di teller bank.
 Berikut adalah contoh program queue:

#include<iostream>
#include<cstdlib>
#include<conio.h>
#define n 3
    void INSERT(void);
    void DELETE(void);
    void CETAKLAYAR(void);
    void iisialisasi(void);
int PIL,F,R,COUNTER;
    char PILIHAN[1],HURUF;
    char Q[n];
using namespace std;
int main()
{
    inisialisasi();
    do
    {

        cout<<"                          CIRCULAR QUEUE                             "<<endl;
        cout<<"________________________________________________________________"<<endl;
        cout<<" PROGRAM CIRCULAR QUEUE                                              "<<endl;
        cout<<"========================================================="<<endl;
        cout<<" 1.INSERT                                                              "<<endl;
        cout<<" 2.DELETE                                                             "<<endl;
        cout<<" 3.CETAK ANTRIAN                                            "<<endl;
        cout<<" 4.KELUAR                                                            "<<endl;
        cout<<" * CATATAN : BATAS INPUT = 3 HURUF         "<<endl;
        cout<<"_________________________________________________________________"<<end
        cout<<" SILAHKAN MASUKKAN PILIHAN : ";cin>>PILIHAN;
        PIL=(PILIHAN);
        switch(PIL)
     {
            case 1:
                INSERT();
                break;
            case 2:
                DELETE();
                break;
            case 3:
                CETAKLAYAR();
                break;
            default :
            cout<<"TERIMA KASIH"<<endl;
            break;
      }
        cout<<"Press any key to continue"<<endl;
        getch();
        system("cls");
    }
    while (PIL<4);
    return 0;
}

void INSERT(void)
{
    if(COUNTER<n)
    {
        cout<<endl<<"Masukkan 1 huruf : ";
        cin>>HURUF;
        R = (R + 1) % n;
        Q[R] = HURUF;
        COUNTER++;
    }
    else
        cout<<"Antrian Penuh!"<<endl;

}
void CETAKLAYAR(void)
{
    if(COUNTER>0)
    {
        for(int k = 0; k < COUNTER; k++)
        {
            int i = (F+k) % n;
            cout << "Q["<<k<<"]="<<Q[i] << endl;
        }
    }
    else
        cout<<"Queue kosong!"<<endl;

}
void DELETE(void)
{
    if(COUNTER>0)
    {
        HURUF=Q[F];
        F = (F + 1) %n;
        COUNTER--;

        cout<<"Data yang di ambil :"<<HURUF<<endl;
    }
    else
        cout<<"Antrian Kosong!"<<endl;

}
void inisialisasi(void)
{
    F=0;
    R=-1;
    COUNTER=0;
 return 0;
}


http://uts-sumbawa.ac.id/
http://widiartaimade.blogspot.com/
  


0 komentar:

Posting Komentar