Anda di halaman 1dari 16

LAPORAN PRAKTIKUM RESMI

ALGORITMA & STRUKTUR DATA 1



QUEUE







Disusun oleh :
Unggul Budi Suryanto
201301011

Dosen pengampu :
Yosef Murya Kusuma Ardhana.S.T., M.Kom





JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO
PURWOKERTO
2014

BAB I
DASAR TEORI
QUEUE
PENGERTIAN QUEUE
Struktur Data Antrean (Queue) adalah suatu bentuk khusus dari List Linier dengan operasi
pemasukan data hanya diperbolehkan pada salah satu sisi, yang disebut sisi Belakang / ekor
(Tail) dan operasi penghapusan hanya diperbolehkan pada sisi lainnya yang disebut sisi
Depan / kepala (Head) dari LinkedList.

Prinsip Antrean : FIFO (First In First Out)
FCFS (First Come First Serve)

DEKLARASI QUEUE



OPERASI QUEUE
CREATE
Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail
= -1
ISEMPTY
Untuk memeriksa apakah queue kosong
ISFULL
Untuk memeriksa apakah queue sudah penuh
ENQUEUE
Untuk menambahkan item pada posisi paling belakang
DEQUEUE
Untuk menghapus item dari posisi paling depan
CLEAR
Untuk mengosongkan queue

PENJELASAN OPERASI PADA QUEUE
1. FUNGSI CREAT
Digunakan untuk membentuk dan menunjukan awal terbentuknya suatu Antrean / Queue



2. FUNGSI IsEmpty
Untuk memeriksa apakah Antrian penuh atau kosong
Dengan cara memeriksa nilai Tail, jika Tail = -1 maka antrian kosong (empty)
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. FUNGSI IsFull
Untuk mengecek apakah Antrian sudah penuh atau belum Dengan cara : Mengecek
nilai Tail
Jika tail = MAX-1 berarti antrian sudah penuh (MAX-1 adalah batas elemen array
dalam program C++)



4. FUNGSI Enqueue
Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu dilakukan
pada elemen paling belakang
Penambahan elemen selalu menggerakan variabel Tail dengan cara
menambahkan Tail terlebih dahulu




5. FINGSI DeQueue
Digunakan untuk menghapus elemen terdepan (head) dari Antrian
Dengan cara : menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1.
Penggeseran dilakukan dengan menggunakan looping




6. FUNGSI Clear
a. Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan
Head = -1
b. Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya,
namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-
elemen Antrian tidak lagi terbaca sehingga mengembalikan antrian seperti
keadaan semula

Antrian setelah dilakukan Clear





BAB II
PENJELASAN PROGRAM
Program praktikum queue
/*
* list.cpp
*
* Created on: 9 Jun 2014
* Author: unggul budi
*/

#include <iostream>
int f,r,df;
int qu[50];
void enQueue(void);
void deQueue(void);
void Tampilkan(void);
using namespace std;

int main()
{
int k;
for(k=0;k<50;k++)
qu[k]=0;
while(1)
{
cout<<"================Pilihan================="<<endl;
cout<<"1)enQueue"<<endl;
cout<<"2)deQueue"<<endl;
cout<<"3)Tampilkan Queue"<<endl;
cout<<"4)Keluar"<<endl;
cout<<"===============================";
cout<<endl;
cout<<"Masukkan Pilihan (1,2,3,4) dalam melakukan Queue : ";
cin>>k;
if(k==1) enQueue();
if(k==2) deQueue();


if(k==3) Tampilkan();
if(k==4) break;
}
}
void enQueue()
{
cout<<"Masukkan elemen : ";
cin>>qu[r];
r++;
}
void deQueue()
{
qu[f]=0;
f++;
}
void Tampilkan()
{
int i;
cout<<endl<<"Queue : "<<endl;
for(i=f;i<r;++i)
cout<<qu[i]<<",";
cout<<endl<<"press any key. . .";
}

Output program :


Penjelasan program :
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat
sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah
perintah atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca
oleh compiler.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum
kompilasi dimulai.
3. <iostream> berfungsi untuk memanggil fungsi/perintah cin cout didalam program
C++.
4. Using name space std; adalah standar deviasi bahasa pemrograman C++.
5. int f,r,df;
int qu[50];
adalah pendeklarasian tipedata yang digunakan yaitu menggunakan tipedata integer.
6. Int main() adalah fungsi unruk memulai suatu program.
7. Tanda kurung kurawal {} berfungsi untuk mengawali dan mengakhiri program main
8. while adalah suatu fungsi perulangan.
9. Void adalah suatu fungsi dalam program yang digunakan sebagai sub menu yang
nantinya akan dipanggil dalam program tersebut saat programmer menginputkan data.
10. void enQueue() adalah pemdeklarasian program menu untuk fungsi enqueue yg
digunakan untuk menambahkan item pada posisi paling belakang
11. void deQueue()pemdeklarasian program menu untuk fungsi dequeue ygdigunakan
menghapus item dari posisi paling depan.
12. void Tampilkan() adalah program menu yg digunakan untuk menampilkan data
queue.
13. Return 0; digunakan untuk membaca karakter.




BAB III
TUGAS PRAKTIKUM

Ubah program diatas dengan menggunakan tipe data abstrack
Program queue typedef
/*
* list.cpp
*
* Created on: 10 Jun 2014
* Author: unggul budi suryanto
*/

#include <iostream>
int f,r,df;
int qu[50];
void enQueue(void);
void deQueue(void);
void Tampilkan(void);
using namespace std;

typedef int mugen;

int main()
{
mugen k;
for(k=0;k<50;k++)
qu[k]=0;
while(1)
{
cout<<"================Pilihan================="<<endl;
cout<<"1)enQueue"<<endl;
cout<<"2)deQueue"<<endl;
cout<<"3)Tampilkan Queue"<<endl;
cout<<"4)Keluar"<<endl;
cout<<"===============================";
cout<<endl;
cout<<"Masukkan Pilihan (1,2,3,4) dalam melakukan Queue : ";
cin>>k;
if(k==1) enQueue();
if(k==2) deQueue();
if(k==3) Tampilkan();
if(k==4) break;
}
}
void enQueue()
{
cout<<"Masukkan elemen : ";
cin>>qu[r];
r++;
}
void deQueue()
{
qu[f]=0;
f++;
}
void Tampilkan()
{
mugen i;
cout<<endl<<"Queue : "<<endl;
for(i=f;i<r;++i)
cout<<qu[i]<<",";
cout<<endl<<"press any key. . .";
}

Output program :


Penjelasan program :
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat
sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah
perintah atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca
oleh compiler.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum
kompilasi dimulai.
3. <iostream> berfungsi untuk memanggil fungsi/perintah cin cout didalam program
C++.
4. Using name space std; adalah standar deviasi bahasa pemrograman C++.
5. int f,r,df;
int qu[50];
adalah pendeklarasian tipedata yang digunakan yaitu menggunakan tipedata integer.
6. typedef int mugen; adalah pendeklarasian typedata abstract berbentuk typedef,
bernama mugen dan bertipe data integer
7. Int main() adalah fungsi unruk memulai suatu program.
8. Tanda kurung kurawal {} berfungsi untuk mengawali dan mengakhiri program main
9. while adalah suatu fungsi perulangan.
10. Void adalah suatu fungsi dalam program yang digunakan sebagai sub menu yang
nantinya akan dipanggil dalam program tersebut saat programmer menginputkan data.
11. void enQueue() adalah pemdeklarasian program menu untuk fungsi enqueue yg
digunakan untuk menambahkan item pada posisi paling belakang
12. void deQueue()pemdeklarasian program menu untuk fungsi dequeue ygdigunakan
menghapus item dari posisi paling depan.
13. void Tampilkan() adalah program menu yg digunakan untuk menampilkan data
queue.
14. Return 0; digunakan untuk membaca karakter.



Program queue struct

/*
* list.cpp
*
* Created on: 10 Jun 2014
* Author: acer
*/


#include <iostream>
int f,r,df;
int qu[50];
void enQueue(void);
void deQueue(void);
void Tampilkan(void);
using namespace std;

struct oke{
int i;
};

int main()
{
int k;
for(k=0;k<50;k++)
qu[k]=0;
while(1)
{
cout<<"================Pilihan================="<<endl;
cout<<"1)enQueue"<<endl;
cout<<"2)deQueue"<<endl;
cout<<"3)Tampilkan Queue"<<endl;
cout<<"4)Keluar"<<endl;
cout<<"===============================";
cout<<endl;
cout<<"Masukkan Pilihan (1,2,3,4) dalam melakukan Queue : ";
cin>>k;
if(k==1) enQueue();
if(k==2) deQueue();
if(k==3) Tampilkan();
if(k==4) break;
}
}
void enQueue()
{
cout<<"Masukkan elemen : ";
cin>>qu[r];
r++;
}
void deQueue()
{
qu[f]=0;
f++;
}
void Tampilkan()
{
int i;
cout<<endl<<"Queue : "<<endl;
for(oke.i=f;oke.i<r;++i)
cout<<qu[oke.i]<<",";
cout<<endl<<"press any key. . .";
}


Output program :


Penjelasan program :
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat
sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah
perintah atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca
oleh compiler.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum
kompilasi dimulai.
3. <iostream> berfungsi untuk memanggil fungsi/perintah cin cout didalam program
C++.
4. Using name space std; adalah standar deviasi bahasa pemrograman C++.
5. int f,r,df;
int qu[50];
adalah pendeklarasian tipedata yang digunakan yaitu menggunakan tipedata integer.
6. Int main() adalah fungsi unruk memulai suatu program.
7. struct oke{
int i;
};
Adalah deklarasi tipe data abstract struct bernama oke.
8. Tanda kurung kurawal {} berfungsi untuk mengawali dan mengakhiri program main
9. while adalah suatu fungsi perulangan.
10. Void adalah suatu fungsi dalam program yang digunakan sebagai sub menu yang
nantinya akan dipanggil dalam program tersebut saat programmer menginputkan data.
11. void enQueue() adalah pemdeklarasian program menu untuk fungsi enqueue yg
digunakan untuk menambahkan item pada posisi paling belakang
12. void deQueue()pemdeklarasian program menu untuk fungsi dequeue ygdigunakan
menghapus item dari posisi paling depan.
13. void Tampilkan() adalah program menu yg digunakan untuk menampilkan data
queue.
14. Return 0; digunakan untuk membaca karakter.


Program queue typedaf struct

/*
* list.cpp
*
* Created on: 10 Jun 2014
* Author: acer
*/


#include <iostream>
int f,r,df;
int qu[50];
void enQueue(void);
void deQueue(void);
void Tampilkan(void);
using namespace std;

typedef struct{
int i;
}oke;

int main()
{
int k;
for(k=0;k<50;k++)
qu[k]=0;
while(1)
{
cout<<"================Pilihan================="<<endl;
cout<<"1)enQueue"<<endl;
cout<<"2)deQueue"<<endl;
cout<<"3)Tampilkan Queue"<<endl;
cout<<"4)Keluar"<<endl;
cout<<"===============================";
cout<<endl;
cout<<"Masukkan Pilihan (1,2,3,4) dalam melakukan Queue : ";
cin>>k;
if(k==1) enQueue();
if(k==2) deQueue();
if(k==3) Tampilkan();
if(k==4) break;
}
}
void enQueue()
{
cout<<"Masukkan elemen : ";
cin>>qu[r];
r++;
}
void deQueue()
{
qu[f]=0;
f++;
}
void Tampilkan()
{
int i;
cout<<endl<<"Queue : "<<endl;
for(oke.i=f;oke.i<r;++i)
cout<<qu[oke.i]<<",";
cout<<endl<<"press any key. . .";
}




Output program :



Penjelasan program :
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat
sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah
perintah atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca
oleh compiler.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum
kompilasi dimulai.
3. <iostream> berfungsi untuk memanggil fungsi/perintah cin cout didalam program
C++.
4. Using name space std; adalah standar deviasi bahasa pemrograman C++.
5. int f,r,df;
int qu[50];
adalah pendeklarasian tipedata yang digunakan yaitu menggunakan tipedata integer.
6. Int main() adalah fungsi unruk memulai suatu program.
7. typedef struct{
int i;
}oke;
Adalah deklarasi tipe data abstrak typedef struct bernama oke dan bertipe data integer.
8. Tanda kurung kurawal {} berfungsi untuk mengawali dan mengakhiri program main
9. while adalah suatu fungsi perulangan.
10. Void adalah suatu fungsi dalam program yang digunakan sebagai sub menu yang
nantinya akan dipanggil dalam program tersebut saat programmer menginputkan data.
11. void enQueue() adalah pemdeklarasian program menu untuk fungsi enqueue yg
digunakan untuk menambahkan item pada posisi paling belakang
12. void deQueue()pemdeklarasian program menu untuk fungsi dequeue ygdigunakan
menghapus item dari posisi paling depan.
13. void Tampilkan() adalah program menu yg digunakan untuk menampilkan data
queue.
14. Return 0; digunakan untuk membaca karakter.


BAB IV
KESIMPULAN

Struktur Data Antrian (Queue) adalah suatu bentuk khusus dari List Linier dengan
operasi pemasukkan data yang hanya diperbolehkan pada salah satu sisi.

Prinsip Queue adalah First In First Out (FIFO) maksudnya yang datang duluan brarti yang
ngantri duluan dan yang keluar duluan.

OPERASI QUEUE
Operasi queue terdiri dari :
Create :Untuk menciptakan dan menginisialisasi queue dengan cara membuat head
dan tail =-1 .
Isempty : Untuk memeriksa apakah queue kosong.
Isfull : Untuk memeriksa apalah queue sudah penuh.
Enqueue : Untuk menambahkan item pada posisi paling belakang.
Dequeue : Untuk menghapus item dari posisi paling depan.
Clear : Untuk mengosongkan Queue.

Pada saat operassi enqueue iem yang ditambahkan adalah item yang paling belakang, tidak
bisa menambahkan ke item yang paling depan dan pada saat operasi deQueue item yang
dihapus adalah item yang paling depan, dan bukan item yang paling belakang


DAFTAR PUSTAKA
1. Ardhana, YM Kusuma. 2013. Struktur Data dalam Ilustrasi Eclups Indigo C ++.
Yogyakarta.

Anda mungkin juga menyukai