STRUKTUR DATA QUEUE.

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

Dr. Anto Satriyo Nugroho, M.Eng
Pertemuan 5 Struktur Data
PERTEMUAN KE-7 Kamis, 14 Oktober QUEUE (Antrian) Queue (Antrian) adalah suatu bentuk khusus dari List Linier dengan operasi penyisipan (insertion)
List, Stack & Queue (1) Dr. Anto Satriyo Nugroho, M.Eng
Kuliah Ke-4 Antrian / Queue (Bab 4)
Antrian (Queue).
QUEUE.
Sekolah Tinggi Manajemen Informatika dan Komputer
Queue.
Struktur data dalam algoritma Ali Ridho Barakbah.
Pertemuan (6) QUEUE (ANTREAN) IMAM SIBRO MALISI NIM :
Queue.
PERTEMUAN KE-11 Kamis, 28 Oktober LINKED LIST LAINNYA List dengan hirarki (koreksi) Struktur Sisir (??) START ANAK SAUDARA START ANAK SAUDARA ORTU.
Sekolah Tinggi Manajemen Informatika dan Komputer
Queue.
QUEUE (ANTRIAN).
STRUKTUR DATA LINKED LIST
Queue.
QUEUE / ANTRIAN Queue / antrian adalah sebuah bentuk list dengan operasi penyisipan hanya dapat dilakukan pada satu sisi yang disebut belakang (REAR) dan.
4 QUEUE (ANTREAN) BAB Definisi Queue (antrean)
Double Ended QUEUE (DeQue) 6.3 & 7.3 NESTED LOOP.
Dasar Struktur Data.
Algoritma dan Struktur Data
Linear Data Structures (Queue)
Linear Data Structures (Stack)
Circular Queue.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
ANTRIAN ( QUEUE ) Fajrizal.
ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer
Linked List.
STRUKTUR DATA Queue atau Antrian.
Pertemuan : Algoritma & Struktur Data
BAB 3 STACK (TUMPUKAN).
Pertemuan Linked list jual [Valdo] Lunatik Chubby Stylus.
MATAKULIAH : STRUKTUR DATA
Queue By Serdiwansyah N. A. 1. Queue Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain.
Program Studi Teknik Informatika
BAB3 QUEUE 6.3 & 7.3 NESTED LOOP.
QUEUE Copyright 2008 by Yohana.
QUEUE Denny Agustiawan,M.pd
Program Studi Teknik Informatika
Defri Kurniawan QUEUE Defri Kurniawan
Struktur Organisasi Data 2
Queue.
QUEUE Anifuddin Azis.
QUEUE (ANTRIAN ) Disusun Oleh : Kelompok 2 Siti Hajar ( )
Program Studi Teknik Informatika
Program Studi Teknik Informatika
STRUKTUR DATA Chapt 5 : QUEUE Oleh : Yuli Praptomo PHS, S.Kom.
Program Studi Teknik Informatika
Pertemuan 5 Review Berbagai Struktur Data
Linked List Eko Riyanto.
Struktur data dalam algoritma
QUEUE Pertemuan ke-6 T 0026.
MATAKULIAH : STRUKTUR DATA
Program Studi Teknik Informatika
UJIAN TERDIRI ATAS 50 SOAL
Circular QUEUE 6.3 & 7.3 NESTED LOOP.
STACK & QUEUE Struktur Data.
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
Pertemuan 6 Queue dengan Array
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
STRUKTUR DATA LINKED LIST
DEQUE Deque (Deck atau Dequeue) adalah suatu list linier atau linier list, yang penambahan dan penghapusan elemennya dapat dilakukan pada kedua sisi ujung.
Pertemuan – 7 Antrian / Queue (Bab 4).
TIF 4201 Algoritma Dan Struktur Data Abstract Data Type
Queue Algoritma dan Struktur Data.
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Defri Kurniawan QUEUE DENGAN LIST Defri Kurniawan
Transcript presentasi:

STRUKTUR DATA QUEUE

QUEUE (Antrian) Definisi: Queue (Antrian) adalah suatu bentuk khusus dari List Linier dengan operasi penyisipan (insertion) hanya diperbolehkan pada salah satu sisi, yang disebut sisi belakang (REAR), dan operasi penghapusan (deletion) hanya diperbolehkan pada sisi yang lainnya, yang disebut dengan sisi depan (FRONT). Pemrosesan elemen bersifat FIFO (First In First Out) REAR FRONT

QUEUE (Antrian) Suatu antrian Q = [Q1, Q2, Q3, …, QN] FRONT(Q) = Q1; REAR(Q) = QN NOEL(Q) = jumlah elemen dalam antrian pada suatu saat tertentu. Operasi-Operasi dasar pada struktur Queue: CREATE(Q) = membentuk struktur antrian Q. FRONT(Q) dan REAR(Q) tidak terdefinisi ISEMPTY(Q) = menentukan apakah antrian Q kosong (true/false) INSERT(E,Q) = menambahkan elemen E ke dalam antrian Q. REMOVE(Q) = menghapus elemen pada FRONT

QUEUE (Antrian) CREATE(Q) Antrian Q = [] FRONT: Tak terdefinisi REAR: Tak terdefinisi NOEL(Q) = 0 1 2 3 4 5 6 7 … N INSERT(A,Q) Antrian Q = [A] FRONT: A REAR: A NOEL(Q) = 1 A INSERT(B,Q) Antrian Q = [A,B] FRONT: A REAR: B NOEL(Q) = 2 A B

QUEUE (Antrian) INSERT(C,Q) Antrian Q = [A,B,C] FRONT: A REAR: C NOEL(Q) = 3 A B C 1 2 3 4 5 6 7 … N REMOVE(Q) Antrian Q = [B,C] FRONT: B REAR: C NOEL(Q) = 2 B C REMOVE(Q) Antrian Q = [C] FRONT: C REAR: C NOEL(Q) = 1 C

? Kasus #1 Jika sebuah bank memiliki nasabah sebanyak 1500 orang, apakah bank tersebut perlu menyediakan kursi sebanyak 1500 agar nasabahnya dapat dilayani semuanya?

Queue (Antrian) dengan Array Sirkular FRONT=0 REAR = 0 INSERT A dan B 1 2 3 4 5 FRONT = 1 REAR = 2 A B INSERT C, D dan E REAR = 5 C D E REMOVE A,B dan C FRONT = 4 INSERT F REAR = 1 F REMOVE FRONT = 5 INSERT G dan H REAR = 3 G H

Algoritma Enqueue (Array Sirkular) QINSERT(QUEUE, N, FRONT, DATA) {Apakah Antrian Penuh} Jika FRONT=1 dan REAR=N, atau jika FRONT=REAR+1, maka WRITE: OVERFLOW, RETURN 2. Jika FRONT=NULL, maka FRONT:=1 REAR:=1 dalam hal lain jika REAR = N, maka REAR:=REAR + 1 QUEUE(REAR) := DATA {masukkan elemen baru} RETURN

Algoritma Dequeue QDELETE(QUEUE, N, FRONT, REAR, DATA) {Apakah antrian kosong} Jika FRONT=NULL maka write “UNDERFLOW”; RETURN 2. DATA := QUEUE(FRONT) (FRONT mendapat nilai baru) Jika FRONT = REAR, maka (Antrean memuat hanya 1 elemen) FRONT:=NULL; REAR:=NULL; dalam hal lain jika FRONT = N, maka FRONT:=1 dalam hal lain FRONT := FRONT + 1 4. RETURN

? Kasus #2 Pada bagian ICU (Intensive Care Unit) sebuah rumah sakit, sudah antri pasien dengan jenis masalah terurut sbb: 1. keseleo, 2. disengat lebah, 3. digigit pacar. Terakhir datang pasien gagal jantung. Apakah pasien terakhir harus antri sampai gilirannya? PRIORITY QUEUE

PRIORITY QUEUE (Antrian Berprioritas) Antrian Berprioritas adalah himpunan elemen yang setiap elemennya diberikan tingkat prioritas tertentu, dan urutan pemrosesan elemennya didasarkan atas prioritas tersebut sbb: Elemen yang prioritasnya lebih tinggi diproses lebih dulu. Dua elemen dengan prioritas yang sama diproses berdasarkan urutan kedatangannya, yaitu yang datang lebih dulu diproses lebih dulu (FIFO).

PRIORITY QUEUE dengan ONE-WAY LIST Representasi antrian berprioritas antara lain dilakukan dengan one-way list, sbb: Setiap simpul memiliki 3 field, yaitu: INF (informasi), PRN (nomor prioritas), dan LINK (penunjuk ke elemen berikutnya) Simpul X mendahului simpul Y dalam list : - jika prioritas X lebih tinggi daripada prioritas Y - jika prioritas keduanya sama, tetapi X lebih dulu masuk ke dalam antrian.

PRIORITY QUEUE with One-Way List Urutan kedatangan INFO PRN LINK 1 AA 2 5 BB 4 3 CC 7 DD EE 8 6 FF GG HH 9 10 11 12 START 4

PRIORITY QUEUE with One-Way List START DDD 1 AAA 2 EEE 2 HHH 2 BBB 4 CCC 4 GGG 4 FFF 5 X

Algoritma untuk Menghapus Elemen pada Priority Queue dengan One-Way List ITEM := INFO(START) {Langkah ini untuk menyimpan data dalam simpul pertama} START := LINK(START) Hapus Simpul Pertama dari List Proses ITEM Exit

Algoritma untuk Menambah Elemen pada Priority Queue dengan One-Way List Telusuri one-way list sampai ditemukan suatu Simpul X yang nomor prioritasnya melebihi N. Sisipkan ITEM di depan Simpul X. Jika tidak ditemukan Simpul semacam ini, sisipkan ITEM sebagai elemen terakhir List.

PRIORITY QUEUE with One-Way List XXX 2 START DDD 1 AAA 2 EEE 2 HHH 4 BBB 4 CCC 4 GGG 4 FFF 5 X

PRIORITY QUEUE dengan Array Dimensi 2 Penyajian lain Antrian Berprioritas adalah dengan menggunakan Array dimensi 2. Tiap baris array berisi elemen yang prioritasnya sama dan dikelola secara sirkular. Diperlukan array lain untuk menyimpan FRONT dan REAR dari setiap baris.

FRONT REAR 1 2 3 4 5 6 AAA BBB CCC XXX FFF DDD EEE GGG

PRIORITY QUEUE dengan Array Dimensi 2 Algoritma REMOVE Cari Antrian Tidak Hampa Yang Pertama. Cari K (nilai prioritas) yang tertinggi, sedemikian sehingga FRONT(K) tidak NULL. Hapus dan proses elemen dari baris K. Exit.

PRIORITY QUEUE dengan Array Dimensi 2 Algoritma INSERT Sisipkan ITEM sebagai elemen belakang dari baris M (nilai prioritas). Exit.

Perbandingan Perbandingan antara implementasi Priority Queue menggunakan One-Way List dan Array. Keunggulan menggunakan Array : Efisiensi Waktu Keunggulan menggunakan one-way list: Efisiensi Space (Ruang)

Terima Kasih