Sekolah Tinggi Manajemen Informatika dan Komputer

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

Dr. Anto Satriyo Nugroho, M.Eng
Pertemuan 5 Struktur Data
QUEUE II. IMPLEMENTASI QUEUE
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
QUEUE.
Queue.
Pertemuan (6) QUEUE (ANTREAN) IMAM SIBRO MALISI NIM :
Algoritma dan Struktur Data
STACK (Tumpukan).
Struktur Data (Data Structure) – IS 2313
Queue.
PERTEMUAN KE-11 Kamis, 28 Oktober LINKED LIST LAINNYA List dengan hirarki (koreksi) Struktur Sisir (??) START ANAK SAUDARA START ANAK SAUDARA ORTU.
Antrian (Queue) Membentuk Antrian 5 4 Depan Belakang.
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)
Linked List DELETE 6.3 & 7.3 NESTED LOOP.
Double Ended QUEUE (DeQue) 6.3 & 7.3 NESTED LOOP.
Algoritma dan Struktur Data
Linear Data Structures (Queue)
Linear Data Structures (Stack)
Circular Queue.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer
STRUKTUR DATA QUEUE.
STRUKTUR DATA Queue atau Antrian.
Pertemuan : Algoritma & Struktur Data
BAB 3 STACK (TUMPUKAN).
Pertemuan Linked list jual [Valdo] Lunatik Chubby Stylus.
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 (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 DELETE 6.3 & 7.3 NESTED LOOP.
MATAKULIAH : STRUKTUR DATA
Linked List INSERT KIRI 6.3 & 7.3 NESTED LOOP.
Program Studi Teknik Informatika
Circular QUEUE 6.3 & 7.3 NESTED LOOP.
STACK (Tumpukan).
Queue(Antrian).
STACK & QUEUE Struktur Data.
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
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.
STRUKTUR DATA QUEUE.
Pertemuan – 7 Antrian / Queue (Bab 4).
TIF 4201 Algoritma Dan Struktur Data Abstract Data Type
STRUKTUR DATA Teknik Informatika S1
BAB 3 STACK (TUMPUKAN).
Queue Algoritma dan Struktur Data.
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Defri Kurniawan QUEUE DENGAN LIST Defri Kurniawan
Transcript presentasi:

Sekolah Tinggi Manajemen Informatika dan Komputer PERTEMUAN KE-6 STRUKTUR DATA QUEUE Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Palangka Raya

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? ARRAY SIRKULER

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 QINSERT (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 QDELETE 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 Apakah orang yang sudah masuk dalam antrian dapat keluar dari antrian sebelum dilayani? DEQUEUE

DEQUEUE Definisi: DEQUEUE adalah suatu list linier yang penambahan dan pengurangan elemennya boleh dilakukan di kedua ujung list, tetapi tidak boleh di tengah-tengah list. REAR FRONT

DEQUEUE Ada 2 macam Dequeue, yaitu: Dequeue input terbatas, yaitu dequeue yang penambahan elemennya hanya boleh pada salah satu sisi, sedangkan penghapusan boleh dari kedua sisi. Dequeue output terbatas, yaitu dequeue yang penghapusan elemennya hanya boleh pada salah satu sisi, sedangkan penambahan elemen baru boleh pada kedua sisi.

? Kasus #3 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)