laporan praktikum resmi queue

Upload: christinanatalia

Post on 14-Oct-2015

158 views

Category:

Documents


29 download

TRANSCRIPT

LAPORAN PRAKTIKUM RESMIBAB XII QUEUE

Disusun oleh :Christina Natalia Sunjaya201301003

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

JURUSAN SISTEM INFORMASISEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

BAB XIITEORI DASAR1. PENDAHULUANStruktur data Antrean (Queue) adalah suatu bentuk khusus dari List Linier dengan operaso pemasukan data yanh hanya diperbolehkan pada salah satu sisi, yang disebut sisi belakang/ekor (Tail) dan operasi penghapusan hanya diperbolehkan pada sisi yang disebut sisi depan/kepala(Head) dari Linked list.Prinsip antrean :1. FIFO (FIRST IN FIRST OUT)2. FCFS (FIRST COME FIRST SERVE)yang tiba lebih awal, maka akan dilayani terlebih dahulu

-101234567 max =8Head=-1, tail=-1OPERASI QUEUE CreateUntuk menciptakan dan menginisialisasi queue dengan cara membuat Head dan Tail = -1. ISEMPTYUntuk memeriksa apakah queue kosong ISFULLUntuk memeriksa apakah queue sudah penuh ENQUEUEUntuk menambahkan item pada posisi paling belakang. DEQUEUEUntuk meghapus item dari posisi paling depan CLEARUntuk mengosongkan queue.

A. CREATEDigunakan untuk membentuk dan menunjukan awal terbentuknya suatu queue atau antrean. Fungsi Create dalam C++ :Void Create(){Antrean.head=antrean.tail=-1;}

-101234567 max =8Head=-1, tail=-1antrian pertama kaliB. ISEMPTYUntuk memeriksa apakah antrean penuh atau kosong. Fungsi ISEMPTY dalam C++ :Int IsEmpty(){If(antrean.tail==-1)Return 1;ElseReturn 0;}

-101234567 max =8Head=-1, tail=-1antrean kosong karena tail=-1C. ISFULLUntuk mengecek apakah antrean sudah penuh atau belum. Fungsi isfull dalam C++ :int isFull(){If(antrean.tail==MAX-1) Return 1;ElseReturn 0;}44518512778

01234567 max =8Head=-1, tail=-1antrean kosong karena tail=MAX-1D. ENQUEUEUntuk menambahkan elemen ke dalam antrean, penambahan elemen selalu dilakukan pda elemen paling belakang. Fungsi Enqueue dalam C++ :Void Enqueue(int data){If(IsEmpty()==1){Antrean.head=antrean.tail=0;antrean.data[antrean.tail]=data;Printf(%dmasuk!,antrean.data[antrean.tail]);}ElseIf)IsFull()==0{Antrean.tail++;Antrean.data[antrean.tail]=data;Printf(%dmasuk!,antrean.data[antrean.tail]);}44518

01234567 max =8Head=0, tail=1, tail=2, tail=3, enqueue (8)E. DEQUEUEDigunakan untuk menghapus elemen terdepan (head) dari antrean. Fungsi Dequeue dalam C++ :Int dequeue(){Int I;Int e=antrean.data[antrean.head];For(i=antrean.head;i