Professional Documents
Culture Documents
Dikerjakan Oleh:
11132293
11132049
NIM
NIM
NIM
http://c4beginner.com/Sample-Programs/Queue/Queue-using-array.html
KATA PENGANTAR
Kelompok 2
Daftar Isi
Kata pengantar
Daftar Isi
BAB I : Pendahuluan
1.1 Umum
1.2 maksud dan Tujuan
1.3 Ruang lingkup Pembahasan
BAB II : Landasan teori
2.1 Deskripsi Queue
2.3 Karakteristik Queue
BAB III : Pembahasan
3.1 Source code program Queue
3.2 Output program Queue
: ....................................................
: ....................................................
: ...................................................
: ...................................................
: ...................................................
3
4
4
: ...................................................
: ...................................................
5
6
: ...................................................
: ...................................................
7
8
BAB I
PENDAHULUAN
1.1. Umum
Queue/antrian adalah ordered list dengan penyisipan di satu ujung, sedang
penghapusan di ujung lain. Ujung penyisipan biasa disebut rear/tail, sedang ujung
penghapusa disebut front/head.Fenomena yang muncul adalah elemen yang lebih
dulu disisipkan akan juga lebih dulu diambil. Queueberdisiplin FIFO (First In, First
Out). Queue merupakan kasus khusus ordered list. Dengan karakteristik terbatas itu
maka kita dapat melakukan optimasi representasi ADT Queue untuk memperoleh
kerja paling optimal.
Karakteristik Queue memang terbatas, tetapi Queue merupakan dasar
penyelesaian masalah-masalah besar, seperti simulasi fenomena antrian di dunia
nyata, serta fenomena antrian di pengolahan data. Beberapa fenomena dunia nyata
berupa antrian diantaranya : antrian pembelian tiket di depan oket untuk bis, kereta
api, bioskop; antrian mobil di depan gerbang jalan tol; antrian kendaraan di jalanan
umum; dll.
Representasi Queue dapat dilakukan dengan dua cara, yaitu:
1. Representasi Sekuen
Representasi Sekuen linear
Representasi Sekuen Melingkar
2. Representasi Dinamis
BAB II
LANDASAN TEORI
Penuh
Bila elemen di antrian mencapai kapasitas maksimum antrian. Pada kondisi ini,
tidak mungkin dilakukan penambahan ke antrian. Penambahan elemen menyebabkan
kondisi kesalahan Overflow.
2.
Kosong
Bila tidak ada elemen di antrian. Pada kondisi ini, tidak mungkin dilakukan
pengambilan elemen dari antrian. Pengambilan elemen menyebabkan kondisi
kesalahan Underflow.
2. IsEmpty
Digunakan untuk memeriksa apakah Antrian sudah penuh
atau belum Dengan cara memeriksa nilai Tail, jika Tail = -1 maka
empty Kita tidak memeriksa Head, karena Head adalah tanda untuk
kepala antrian (elemen pertama dalam antrian) yang tidak akan
berubah-ubah Pergerakan pada Antrian terjadi dengan penambahan
elemen Antrian kebelakang, yaitu menggunakan nilai Tail.
3. IsFull
Untuk mengecek apakah Antrian sudah penuh atau belum Dengan cara
mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array
pada C) berarti sudah penuh
4. Enqueue
Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu
ditambahkan di elemen paling belakang Penambahan elemen selalu menggerakan
variabel Tail dengan cara increment counter Tail terlebih dahulu
5. Dequeue()
Digunakan untuk menghapus elemen terdepan/pertama
(head) dari Antrian
Dengan cara menggeser semua elemen antrian kedepan dan
mengurangi Tail dgn 1
Penggeseran dilakukan dengan menggunakan looping.
6. Clear()
Untuk menghapus elemen-elemen Antrian dengan cara
membuat Tail dan Head = -1 Penghapusan elemen-elemen Antrian
sebenarnya tidak menghapus arraynya, namun hanya mengeset
indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen
Antrian tidak lagi terbaca
7. Tampil()
Untuk menampilkan nilai-nilai elemen Antrian Menggunakan looping
dari head sampai tail
BAB III
PEMBAHASAN
#include<stdlib.h>
#define SIZE 5
int q[SIZE],front=0,rear=0;
void main()
{
int ch;
clrscr();
void enqueue();
void dequeue();
void display();
while(1)
{
Cout<< -==== Program Queue ====-;
Cout<< -------------------------------------;
cout<<"\n 1. Masukan element";
cout<<"\n 2. Hapus element";
cout<<"\n 3.Tampilkan element Queue";
cout<<"\n 4.Keluar dari Program";
cout<<"\n Masukan Pilihan anda :";
Cout<< -------------------------------------;
cin>>ch;
clrscr();
switch(ch)
{
case 1:
enqueue();
break;
case 2:
dequeue();
break;
case 3:
display();
break;
case 4:
exit(0);
default:
cout<<"\n invalid choice";
}
}
}
void enqueue()
{
int no;
if (rear==SIZE && front==0)
cout<<"queue sudah penuh ";
else
{
cout<<"Masukan Angka yang anda inginkan :";
cin>>no;
q[rear]=no;
}
rear++;
}
void dequeue()
{
int no,i;
if (front==rear)
cout<<"queue kosong";
else
{
no=q[front];
front++;
DAFTAR PUSTAKA
Berisikan literatur buku-buku atau daftar bacaan yang digunakan didalam pembuata
tugas ini. Jika terdapat nama penulis 2 kosa kata, misal Moh. Sjukani, maka