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();
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;
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.