Anda di halaman 1dari 12

LAPORAN PRAKTIKUM IV

QUEUE
Disusun untuk Memenuhi Matakuliah Praktikum Algoritma dan Struktur Data
Dibimbing oleh Ibu Triyanna Widyaningtyas

Oleh:
MUHAMMAD BAKHRUR RIZKI
150533604505
S1 PTI-C /2015

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
April 2016

A.

TUJUAN
1.

Mahasiswa mampu menjelaskan pengertian queue dan dequeue

2.

Mahasiswa mampu menjelaskan dan menunjukkan cara pembuatan queue, operasi


push dan pop pada array

3.

Mahasiswa mampu menjelaskan dan menunjukkan program dengan ADT


(Abstract Data Type) queue dan dequeue dengan array
Latihan Praktikum I
Pemrograman C++

Nama Program

: Single Stack

Bahasa Pemrogramam

: C++

Compiler

: MinGW Developer Studio

Script program

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define max 10
using namespace std;
int antrian[1000];
int head=0,tail=0,cur=0;
bool full();
bool empty();
int push(int data);
int pop();
int print();
int main()
{
int pilihan,data;
do{
system("cls");
printf("\n--------MENU--------\n");
printf("1. puh data ke antrian\n");
printf("2. pop data dari antrian\n");
printf("3. print data di antrian\n");
printf("4. exit\n\n");
printf("tentukan pilihan mu : ");
scanf("%d",&pilihan);
switch(pilihan){
case 1:
if(!full()){
printf("------PUSH DATA------\n");
printf("masukkan data : ");
scanf("%d",&data);

push(data);
}
else{
printf("antrian penuh !!!\n");
getch();
}
break;
case 2:
if(!empty()){
printf("------POP DATA------\n");
printf("data yang dihapus : %d\n",pop());
getch();
}
else{
printf("antrian kosong !!!\n");
getch();
}
break;
case 3:
printf("DATA ANTRIAN : \n");
print();
break;
case 4:
printf("Keluar....\n");
break;
default :
printf("PILIHAN TIDAK ADA !!!\n");
getch();
break;
}
}while(pilihan !=4);
getch();
}
bool full(){
return (cur >= max) ? true : false;
}
bool empty(){
return (cur == 0) ? true : false;
}
int push(int data){
antrian[tail]=data;
tail++;
cur++;
}
int pop(){
int data = antrian[head];
head++;
cur--;
return data;
getch();
}
int print(){

for(int i = head; i<tail; i++){


printf("%d ",antrian[i]);
}
getch();
}

Output Program

Algoritma

1.

Mulai

2.

Deklarasi variabel global

3.

Deklarasi Fungsi full

4.

Deklarasi Fungsi empty

5.

Deklarasi Fungsi psuh

6.

Deklarasi Fungsi pop

7.

Deklarasi Fungsi print

8.

Masuk menu utama

9.

Deklarasi variabel

10. Masuk proses do while


11. Masuk proses switch case
12. selesai
Penjelasan Program

Program di atas digunakan untuk membuat suatu program antrian, dimana di dalam
program terdapat menu untuk memasukkan data kedalam antrian yang didalamnya nanti ada
proses pemanggilan fungsi push, mengeluarkan data dari antrian yang didalamnya nanti ada
proses pemanggilan fungsi pop, print data dari antrian yang didalamnya nanti ada proses
pemanggilan fungsi print, dan menu untuk keluar dari program.
Tugas Praktikum I
Pemrograman C++
Nama Program

: Program Bank

Bahasa Pemrogramam

: C++

Compiler

: MinGW Developer Studio

Script program

#include <iostream.h>
#include <conio.h>
#include <windows.h>
#define max 10
int antrian[100];
int depan=0,belakang=0,posisi=0;
bool full(){
return (posisi >= max) ? true : false;
}
bool empty(){
return (posisi == 0) ? true : false;
}
int push(int data){
antrian[belakang]=data;
belakang++;
posisi++;
}
int pop(){
int data = antrian[depan];
depan++;
posisi--;
return data;

getch();
}
int print(){
for(int i = depan; i<belakang; i++){
cout<<" "<<antrian[i];
}
getch();
}
int main()
{
tanda1:
int a,data;
cout<<""<<endl;
cout<<"
SELAMAT DATANG DI PROGRAM
\n";
cout<<"
BANK INDONESIA
\n";
cout<<""<<endl;
cout<<"\nMenu Pilihan\n";
cout<<"1. Menu untuk Nasabah\n";
cout<<"2. Menu untuk Teller\n";
cout<<"3. exit\n";
cout<<"Masukkan Pilihan anda : ";
cin>>a;
cout<<"\n";
system("cls");
switch(a){
case 1:
tanda2:
int b;
cout<<""<<endl;
cout<<"
MENU UNTUK NASABAH
\n";
cout<<""<<endl<<endl;
cout<<"1. Masukkan No Nasabah kedalam Antrian\n";
cout<<"2. Lihat No Nasabah dari Antrian\n";
cout<<"3. Keluar Dari menu Nasabah\n";
cout<<"Masukkan Pilihan anda : ";
cin>>b;
system("cls");
switch(b){
case 1:
if(!full()){
cout<<"Masukkan No Nasabah Kedalam Antrian : ";
cin>>data;
push(data);
}
else{
cout<<"Maaf Antrian Sudah Penuh";
getch();
}
system("cls");
goto tanda2;
case 2:
cout<<"Lihat No Nasabah dari Antrian\n";

print();
getch();
system("cls");
goto tanda2;
case 3:
goto tanda1;
default:
cout<<" "<
<endl;
cout<<" Pilihan Anda Tidak Teridentifikasi Oleh Program \n";
cout<<" Tekan Sembarang Tombol Untuk Kembali Ke Menu \n";
cout<<" "<
<endl;
getch();
system ("cls");
goto tanda2;
}
case 2:
tanda3:
int c;
cout<<""<<endl;
cout<<"
MENU UNTUK TELLER
\n";
cout<<""<<endl<<endl;
cout<<"1. Hapus No Nasabah kedalam Antrian\n";
cout<<"2. Lihat No Nasabah dari Antrian\n";
cout<<"3. Keluar dari Menu Teller\n";
cout<<"Masukkan Pilihan anda : ";
cin>>c;
system("cls");
switch(c){
case 1:
if(!empty()){
cout<<"Menghapus No Nasabah Kedalam Antrian\n";
cout<<"No Nasabah yang dihapus : ";
cout<<pop();
getch();
}
else{
cout<<"Antrian Sudah Kosong\n";
getch();
}
system("cls");
goto tanda3;
case 2:
cout<<"Lihat No Nasabah dari Antrian\n";
print();
getch();
system("cls");
goto tanda3;
case 3:

goto tanda1;
default:
cout<<" "<
<endl;
cout<<" Pilihan Anda Tidak Teridentifikasi Oleh Program \n";
cout<<" Tekan Sembarang Tombol Untuk Kembali Ke Menu \n";
cout<<" "<
<endl;
getch();
system ("cls");
goto tanda3;
}
case 3:
cout<<""<<endl;
cout<<" TERIMAKASI TELAH MENGGUNAKAN PROGRAM KAMI \n";
cout<<" CREATE BY MUHAMMAD BAKHRUR RIZKI
\n";
cout<<""<<endl;
getch();
return(0);
default:
cout<<" "<
<endl;
cout<<" Pilihan Anda Tidak Teridentifikasi Oleh Program \n";
cout<<" Tekan Sembarang Tombol Untuk Kembali Ke Menu \n";
cout<<" "<
<endl;
getch();
system ("cls");
goto tanda1;
}
}

Output Program

Algoritma

1.

Mulai

2.

Deklarasi variable gelobal

3.

Deklarasi fungsi full

4.

Deklarasi fungsi empty

5.

Deklarasi fungsi push

6.

Deklarasi fungsi pop

7.

Deklarasi fungsi print

8.

Masuk menu utama main

9.

Buat tanda1

10. Deklarasi variabel


11. Masuk menu switch case
12. Selesai
Penjelasan Program

Program di atas digunakan untuk membuat suatu program bank yang digunakan untuk
menu Nasabah dan Teller, dengan menggunakan fungsi Queue, di dalam program terdapat
menu utama yang didalamnya terdapat menu nasabah dan teller, di menu nasabah terdapat
proses penambahan no nasabah kedalam antrian, dan terdapat proses melihat no nasabah dari
antrian, di menu teller terdapat proses hapus no nasabah di dalam antrian, dan proses melihat
no nasabah dari antrian.
Tugas Rumah
Pemrograman C++
Nama Program

: Menghitung Waktu Antrian

Bahasa Pemrogramam

: C++

Compiler

: MinGW Developer Studio

Script program

Output Program

Algoritma

1.

Mulai

2.

Deklarasi variabel

3.

Proses perulangan

4.

Input waktu periksa per pasien

5.

Input no antrian anda

6.

Proses perulangan

7.

Proses perhitungan waktu tunggu

8.

Output waktu tunggu dari no antrian anda

Penjelasan Program

Program di atas digunakan untuk membuat suatu program menghitung waktu antrian
yang digunakan untuk menghitung waktu tunggu anda dari antrian, pada program ini data dari
sebuah antrian dimasukkan kedalam array, lalu data tersebut ditampilkan menggunakan proses
perulangan, setelah itu terdapat proses input waktu periksa per pasien dan input no urut anda
dari antrian, lalu menampilkan no antrian sebelum anda dengan menggunakan proses
perulangan, setelah itu program akan masuk ke proses perhitungan waktu tunggu, dan
menampilkan waktu tunggu anda dari antrian.
KESIMPULAN
Queue atau antrian adalah suatu kumpulan data yang penambahan elemennya hanya bisa
dilakukan pada suatu ujung (disebut dengan sisi belakang atau rear), dan penghapusan atau
pengambilan elemen dilakukan lewat ujung yang lain (disebut dengan sisi depan atau front).
Kalau tumpukan dikenal dengan menggunakan prinsip LIFO (Last In First Out), maka
pada antrian prinsip yang digunakan adalah FIFO (First In First Out).
Queue atau antrian bisa diimplementasikan dengan menggunakan array atau
menggunakan pointer.
DAFTAR RUJUKAN
1.

Tim Asisten Dosen. 2016. Modul 1 Struct, Array, Pointer. Malang: Universitas Negeri
Malang.

2.

Tim Asisten Dosen. 2016. Modul 2 Sorting (pengurutan). Malang: Universitas Negeri
Malang.

3.

Tim Asisten Dosen. 2016. Modul 3 Searching. Malang: Universitas Negeri Malang.

4.

Tim Asisten Dosen. 2016. Modul 4 Strack (Tumpukan). Malang: Unversitas Negeri
Malang.

5.

Tim Asisten Dosen. 2016. Modul 5 Queue (Antrian). Malang: Unversitas Negeri Malang.

Anda mungkin juga menyukai