Anda di halaman 1dari 12

LAPORAN PRAKTIKUM

QUEUE (ANTRIAN)
(ALGORITMA DAN STRUKTUR DATA)

DisusunOleh:

Nama : Andricha Dea Mitra

NPM : 2213025061

PROGRAM STUDI PENDIDIKAN TEKNOLOGI INFORMASI


FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS LAMPUNG
2022
I. TUJUAN PRAKTIKUM

1. Memahami konsep queue dan mengetahui kegunaannya.


2. Mengimplementasikan struktur data queue menggunakan array.
3. Mengimplementasikan struktur data queue menggunakan linked list.
4. Mengidentifikasi permasalahan pemrograman yang cocok diselesaikan
dengan queue dan memanfaatkan queue untuk menyelesaikan masalah
tersebut.

II. ALAT DAN BAHAN

Alat :
1. Laptop/Komputer
Bahan :
1. Software Dev C++

III. TINJAUAN PUSTAKA

Queue (Antrian) adalah suatu kumpulan data yang mana penambahan data / elemen
hanya dapat dilakukan pada sisi belakang sedangkan penghapusan / pengeluaran
elemen dilakukan pada sisi depan.
Karakteristik penting queue adalah bersifat FIFO (First In First Out) artinya data
yang terlebih dahulu masuk merupakan data yang akan keluar terlebih dahulu.
Seperti halnya pada antrian yang biasa kita lakukan sehari-hari, di manapun.
Antrian dimulai dari depan ke belakang, jika yang berada didepan belum pergi
meninggalkan antrian maka antrian yang ada dibelakang akan terus bertambah dan
antrian paling belakang disini dinamakan rear/tail. Jika ada yang keluar dari antrian
(dequeue) maka data tersebut adalah yang paling depan (head/front), dan data
berikutnya setelah data yang keluar berubah menjadi yang paling depan
(head/front).

Operasi Standar pada Queue :


• Insert / Enqueue : Menambahkan elemen ke antrian.
• Delete / Dequeue : Menghapus data pertama pada antrian.
• Display / View : Mencetak semua data pada antrian

Penerapan Queue bisa direpresetasikam di antrian dikehidupan nyata & antrian


pada memori. Dan queue bisa diterapkan dengan dua cara, yaitu dengan Array dan
Linked list.
IV. LANGKAH KERJA

1. Queue.cpp

a. Program Queue
/*Program of queue using array*/

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#define MAX 5

int rear = -1;

int front = -1;

int queue_arr[MAX];

void enqueue();

void dequeue();

void display();

main()

int choice;

while(1)

printf("1.Insert\n");

printf("2.Delete\n");

printf("3.Display\n");

printf("4.Quit\n");

printf("Enter your choice : ");

scanf("%d",&choice);

switch(choice)

case 1 :

enqueue();

break;

case 2 :

dequeue();

break;

case 3:

display();
break;

case 4:

exit(1);

default:

printf("PILIHAN TIDAK TERSEDIA\n");

getch();

void enqueue()

int added_item;

if (rear == MAX - 1)

printf("Queue Overflow\n");

else

if (front == -1)

front = 0;

printf("Input the element for adding in queue : ");

scanf("%d", &added_item);

rear = rear + 1;

queue_arr[rear] = added_item ;

void dequeue()

if (front == -1 || front > rear)

printf("Queue Underflow\n");

return ;

else

printf("Element deleted from queue is : %d\n",

queue_arr[front]);
front = front + 1;

void display()

int i;

if (front == -1)

printf("Queue is empty\n");

else

printf("Queue is :\n");

for(i = front; i <= rear; i++)

printf("%d ",queue_arr[i]);

printf("\n");

}
b. Tampilan Hasil Running Program

c. Penjelasan Hasil Running Progam

Pada hasil running di atas di tampilkan 4 pilihan operasi antara lain Insert,
Delete, Display dan Quit. Langkah pertama user bisa menginput minimal
2 data atau sesuai dengan keinginan user berapa banyak data dan nilai
data yang diinput. Kemudian user bisa memilih operasi ke-3, yaitu
Display maka akan ditampilkan data Queue yang sudah diinput secara
berurutan (13 18 23).

Jika user ingin menghapus beberapa data, maka user harus memilih
operasi ke-2, yaitu Delete maka program akan menghapus data yang
pertama dimasukan yaitu 13. Dan Ketika di Display maka data akan
tersisa 18 dan 23. Untuk mengakhiri running program bisa memilih
operasi Quit untuk keluar dari running program tersebut.

2. Queue1.cpp

a. Program Queue1
/*Program of queue using array*/

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#define MAX 5

int rear = -1;

int front = -1;

int queue_arr[MAX];

void enqueue();

void dequeue();

void display();

main()

int choice;

while(1)

printf("1.Insert\n");

printf("2.Delete\n");

printf("3.Display\n");

printf("4.Quit\n");

printf("Enter your choice : ");

scanf("%d",&choice);

switch(choice)

case 1 :

enqueue();
break;

case 2 :

dequeue();

break;

case 3:

display();

break;

case 4:

exit(1);

default:

printf("PILIHAN TIDAK TERSEDIA\n");

getch();

void enqueue()

int added_item;

if (rear == MAX - 1)

printf("Queue Overflow\n");

else

if (front == -1)

front = 0;

printf("Input the element for adding in queue : ");

scanf("%d", &added_item);

rear = rear + 1;

queue_arr[rear] = added_item ;

void dequeue()

if (front == -1 || front > rear)

printf("Queue Underflow\n");
return ;

else

printf("Element deleted from queue is : %d\n",

queue_arr[front]);

front = front + 1;

void display()

int i;

if (front == -1)

printf("Queue is empty\n");

else

printf("Queue is :\n");

for(i = front; i <= rear; i++)

printf("%d ",queue_arr[i]);

printf("\n");

}
b. Tampilan Hasil Running Program

c. Penjelasan Hasil Running Progam

Pada hasil running queue1.cpp tidak jauh berbeda dengan queue.cpp.


Namun pada hasil running queue1.cpp di bagian Display terdapat
keterangan tanda front dan rear yang dimana fungsinya menunjukan letak
dari datanya. Data yang di Push di ke dalam running program pertama
kali akan berada pada bagian front (depan) dan data yang di Push paling
akhir akan berada pada bagian rear (belakang) disana user mem-Push
beberapa data dan user bisa menampilkan data tersebut dengan memilih
operasi Display dan data akan mucul (1318 2002 1981).

Kemudian saat melakukan operasi Pop atau menghapus data, data yang
akan dihapus adaalah data yang paling awal ata pertama kali dimasukan.
Dan saat user akan keluar dari running program, user tinggal bisa
memillih operasi Quit untuk keluar dari running program.
V. KESIMPULAN

Queue (Antrian) dapat disimpulkan adalah kumpulan data yang mana


penambahan data hanya dapat dilakukan pada sisi belakang sedangkan
penghapusan/pengeluaran elemen dilakukan pada sisi depan.
Menggunkaan karakteristik yang bersifat FIFO (First In First Out) artinya
data yang terlebih dahulu masuk merupakan data yang akan keluar terlebih
dahulu. Contoh nyatanya ialah antrian yang biasa kita lakukan sehari-hari,
di manapun. Antrian dimulai dari depan ke belakang, jika yang didepan
belum pergi meninggalkan antrian maka antrian yang ada dibelakang akan
terus bertambah dan antrian paling belakang disini dinamakan rear.

Anda mungkin juga menyukai