antrian

23
ANTRIAN Latifah Rifani

Upload: kane-christensen

Post on 02-Jan-2016

90 views

Category:

Documents


4 download

DESCRIPTION

ANTRIAN. Latifah Rifani. ILUSTRASI. Contoh antrian : Antrian printer Antrian tiket bioskop Antrian pada kasir sebuah bank. Ketika seorang pelanggan datang , akan menuju ke belakang dari antrian. Setelah pelanggan dilayani, antrian yang berada di depan akan maju. PENGERTIAN. - PowerPoint PPT Presentation

TRANSCRIPT

ANTRIANLatifah Rifani

ILUSTRASI

• Contoh antrian :• Antrian printer• Antrian tiket bioskop• Antrian pada kasir sebuah bank.

Ketika seorang pelanggan datang, akan menuju ke belakang dari antrian. Setelah pelanggan dilayani, antrian yang berada di depan akan maju.

PENGERTIAN

• Queue (antrian) adalah struktur data dimana proses pengambilan dan penambahan element dilakukan pada ujung yang berbeda.

• Queue mengikuti konsep FIFO.• FIFO (First In First Out) : elemen yang pertama

masuk akan menjadi elemen yang pertama kali keluar.

QUEUE DAN STACK

• Karakteristik yang membedakan queue (antrian) dari stack adalah cara menyimpan dan mengambil data dengan struktur first in first out (FIFO).

• Hal ini berarti elemen pertama yang ditempat-kan pada queue adalah yang pertama dipindahkan.

ENQUEUE

• Enqueue :yaitu proses penambahan elemen pada queue.

• Elemen ditempatkan pada ujung (tail)

DEQUEUE

• Dequeueyaitu proses pengambilan elemen pada queue.

• Memindahkan elemen dari kepala (head) sebuah queue.

• Penambahan dilakukan pada bagian belakang. Sedangkan pengambilan dilakukan pada bagian depan (element yang pertama masuk).

Queueenqueue dequeue

ILUSTRASI

A B

A B C D

C D

QUEUE

ENQUEUE

DEQUEUE

GAMBAR PROSES

KARAKTERISTIK QUEUE

• Elemen antrian yaitu item-item data yang terdapat di elemen antrian

• Front• Rear• Jumlah elemen pada antrian

(Count)• Status antrian

FRONT DAN REAR

• Front : pointer bantu yang digunakan untuk menunjuk element yang paling depan.

• Rear : pointer bantu yang digunakan untuk menunjuk element yang paling belakang.

QueueEnqueueRear

DequeueFront

STATUS ANTRIAN

PENUH

• Bila elemen pada antrian mencapai kapasitas maksimum antrian.

• Pada kondisi ini, tidak mungkin dilakukan penambahan ke antrian.

• Penambahan elemen menyebabkan kondisi kesalahan Overflow.

KOSONG

• Bila tidak ada elemen pada antrian. • Pada kondisi ini, tidak mungkin

dilakukan pengambilan elemen dari antrian.

• Pengambilan elemen menyebabkan kondisi kesalahan Overflow.

• Queue berguna untuk menyimpan pekerjaan yang tertunda.

GAMBARAN PROSES QUEUE (ANTRIAN)

OPERASI PADA QUEUE

Deklarasi Inisialisasi Cek kosong Cek penuh Penambahan Pengambilan Pengaksesan

DEKLARASI

• Proses yang harus dilakukan pertama kali adalah deklarasi/menyiapkan tempat.

• Langkah yang harus dilakukan adalah :– Deklarasi class– Deklarasi struktur data (menggunakan array atau linked

list)– Deklarasi pointer front dan rear– Deklarasi variabel size untuk menyimpan besar array.– Deklarasi variabel jumlah untuk mengetahui banyak item

yang disimpan pada queue.

INISIALISASI

• Merupakan proses pemberian nilai awal.• Pada Array :

1. Pembentukan obyek array beserta ukurannya. antrian= new int[10]; (pembentukan obyek array yang memiliki 10 element, dan alamat obyek akan disimpan pada variabel bernama antrian)

2. Pemberian nilai awal pada variabel front=0 dan belakang=-1.front = 0; rear=-1;

• Pada Linked List: Proses inisialisasi dilakukan dengan memberikan nilai awal pada variabel head, tail front dan rear dengan nilai null.

head = tail = front=rear= null;

CEK KOSONG (ISEMPTY)

• Operasi yang digunakan untuk mengecek kondisi queue dalam keadaan kosong.

• Pada array : menggunakan pengecekan pada variabel jumlah_item. Jika nilainya = 0 berarti queue dalam kondisi kosong.

• Pada linked list : dapat menggunakan pengecekan front atau rear jika nilainya null berarti queue kosong.

• Operasi ini harus dapat mengembalikan nilai true jika queu kosong dan false jika sebaliknya.

CEK PENUH (ISFULL)

• Operasi yang hanya dapat diterapkan pada queue yang menggunakan array.

• Operasi ini digunakan untuk mengecek kondisi queue dalam keadaan penuh.

• Caranya : melihat nilai pada variabel jumlah item. Jika nilainya = size-1 (dimana size adalah ukuran array) maka dapat diindikasikan queue dalam kondisi penuh.

• Operasi ini harus dapat mengembalikan nilai true jika queue penuh dan false jika sebaliknya.

ANTRIAN BERPRIORITAS

• Dalam antrian yang telah dibahas sebelum, semua elemen yang masuk dalam antrian dianggap mempunyai prioritas yang sama, sehingga elemen yang masuk lebih dahulu akan diproses lebih dahulu.

• Dalam praktek, elemen-elemen yang akan masuk dalam suatu antrian ada yang dikatakan mempunyai prioritas yang lebih tinggi dibanding yang lain.

• Antrian yang demikian ini disebut dengan antrian berprioritas (priority queue).