laporan praktikum asd 5 queue
TRANSCRIPT
-
8/18/2019 Laporan Praktikum ASD 5 Queue
1/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
-
8/18/2019 Laporan Praktikum ASD 5 Queue
2/12
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 StudioScript program :
#include #include #include #define max 10using 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);
-
8/18/2019 Laporan Praktikum ASD 5 Queue
3/12
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(){
-
8/18/2019 Laporan Praktikum ASD 5 Queue
4/12
for(int i = head; i
-
8/18/2019 Laporan Praktikum ASD 5 Queue
5/12
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 #include #include #define max 10int 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;
-
8/18/2019 Laporan Praktikum ASD 5 Queue
6/12
getch();}int print(){
for(int i = depan; i
-
8/18/2019 Laporan Praktikum ASD 5 Queue
7/12
print();getch();system("cls");goto tanda2;
case 3:
goto tanda1;default:
cout
-
8/18/2019 Laporan Praktikum ASD 5 Queue
8/12
goto tanda1;default:
cout
-
8/18/2019 Laporan Praktikum ASD 5 Queue
9/12
-
8/18/2019 Laporan Praktikum ASD 5 Queue
10/12
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 :
-
8/18/2019 Laporan Praktikum ASD 5 Queue
11/12
Output Program :
Algoritma :
1. Mulai
2. Deklarasi variabel
3. Proses perulangan4. Input waktu periksa per pasien
-
8/18/2019 Laporan Praktikum ASD 5 Queue
12/12
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.