struktur data

Upload: miftah-aris-setiawan

Post on 30-Oct-2015

40 views

Category:

Documents


0 download

TRANSCRIPT

PERTEMUAN VIIIQUEUE (ANTRIAN)

DefinisiStruktur data antrean atau queue adalah suatu bentuk khusus dari linear list, denganoperasi penyisipan (insertion) hanya diperbolehkan pada salah satu sisi, yang disebutsisi belakang (REAR), dan operasi penghapusan (deletion) hanya diperbolehkan padasisi lainnya, yang disebut sisi depan (FRONT), dari list.Jika diartikan secara harafiah, queue berarti antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehiduypan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Dalam suatu antrian, yang dating terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue. Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki operasi-operasi sebagai berikut : EnQueue Memasukkan data ke dalam antrian DeQueue Mengeluarkan data terdepan dari antrian Clear Menghapus seluruh antrian IsEmpty Memeriksa apakah antrian kosong IsFull Memeriksa apakah antrian penuh Queue menggunakan array 1D:1. Linear Queue (Antrian Lurus)2. Circular Queue (Antrian Melingkar)

3. Double Ended Queue/Deque (Antrian dengan ujung ganda) IlustrasiMisal n= 10

F (Front) : menunjuk pengantri paling depan/siap untuk keluar/ siap untuk dilayani

R (Rear) : menunjuk pengantri paling belakang/paling akhir masuk

R = 6, artinya :

Pernah masuk 7 pengantri dengan urutan masuk Q[0], Q[1], Q[2], Q[3], Q[4], Q[5], Q[6]

F = 3, artinya :

Sudah keluar sebanyak 3 pengantri dengan urutan keluar Q[0], Q[1], Q[2]

PrinsipFIFO (First In First Out) atau FIFS (First In First Serve) Proses AWAL (Inisialisasi)

INSERT (Sisip, Masuk, Simpan, Tulis)

DELETE (Hapus, Keluar, Ambil, Dilayani)

RESET (Kembali ke keadaan awal)

SOURCE CODE :#include

#include

#include

#define n 10

using namespace std;

void INSERT();

void DELETE();

void CETAKLAYAR();

void Inisialisasi();

void RESET();

int PIL,F,R;

char PILIHAN[1],HURUF;

char Q[n];

void main()

{

Inisialisasi();

do

{

cout