280 likes | 708 Views
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.
E N D
ANTRIAN LatifahRifani
ILUSTRASI • Contoh antrian : • Antrian printer • Antriantiketbioskop • Antrianpadakasirsebuah bank. Ketikaseorangpelanggandatang, akanmenujukebelakangdari 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 adalahcaramenyimpandanmengambil data denganstruktur first in first out (FIFO). • Hal iniberartielemenpertama yang ditempat-kanpada queue adalah yang pertamadipindahkan.
ENQUEUE • Enqueue : yaituproses penambahan elemen pada queue. • Elemen ditempatkan pada ujung (tail)
DEQUEUE • Dequeue yaituproses pengambilan elemen pada queue. • Memindahkanelemendarikepala (head) sebuah queue.
Penambahan dilakukan pada bagian belakang. Sedangkan pengambilan dilakukan pada bagian depan (element yang pertama masuk). Queue dequeue enqueue
ILUSTRASI GAMBAR PROSES A B QUEUE A B C D ENQUEUE C D DEQUEUE
KARAKTERISTIK QUEUE • Elemenantrianyaitu item-item data yang terdapatdielemenantrian • Front • Rear • Jumlahelemenpadaantrian (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. Queue Dequeue Front Enqueue Rear
PENUH • Bilaelemenpadaantrianmencapaikapasitasmaksimumantrian. • Padakondisiini, tidakmungkindilakukanpenambahankeantrian. • Penambahanelemenmenyebabkankondisikesalahan Overflow.
KOSONG • Bilatidakadaelemenpadaantrian. • Padakondisiini, tidakmungkindilakukanpengambilanelemendariantrian. • Pengambilanelemenmenyebabkankondisikesalahan Overflow.
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 : • 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) • 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 • Dalamantrian yang telahdibahassebelum, semuaelemen yang masukdalamantriandianggapmempunyaiprioritas yang sama, sehinggaelemen yang masuklebihdahuluakandiproseslebihdahulu. • Dalampraktek, elemen-elemen yang akanmasukdalamsuatuantrianada yang dikatakanmempunyaiprioritas yang lebihtinggidibanding yang lain.
Antrian yang demikianinidisebutdenganantrianberprioritas (priority queue).