BAB IV QUEUE ATAU ANTREAN

dokumen-dokumen yang mirip
QUEUE / ANTREAN. Pertemuan 7 Yani sugiyani, M.Kom

QUEUE (ANTREAN) Operasi Antrean : FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar.

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN)

PERTEMUAN KE-6. Pertemuan 6

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

Array. Array mempunyai dimensi : 1. Array Dimensi Satu (Vektor) 2. Array Dimensi Banyak. - Dimensi Dua (Matriks/Tabel) - Dimensi Tiga (Kubik).

QUEUE. Queue adalah suatu linear list di mana operasi DELETE terjadi pada sisi depan (FRONT) dan operasi INSERT terjadi pada sisi belakang (REAR).

STRUKTUR DATA Pertemuan 6

BAB 2 LANDASAN TEORI

*Sekumpulan elemen yang diatur secara terurut. *Linear List tidak sama dengan Connected-List

Data Structure STRUKTUR DATA QUEUE. Chapter 3. Dahlia Widhyaestoeti, S.Kom

LIST LINIER & STACK. Pertemuan 6 Yani sugiyani, M.Kom

S T A C K ( T U M P U K A N )

Algoritma Dan Struktur Data II. Queue

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

BAB III STACK ATAU TUMPUKAN

BAB 3 STACK (TUMPUKAN)

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

BAB 2 LANDASAN TEORI

BAB IV Antrian(Queue)

QUEUE (ANTRIAN) Struktur Data - Queue

4. STACK / TUMPUKAN TEORI PENUNJANG

Pertemuan 7. REVIEW dan QUIS

Laporan makalah ini berjudul Queue (Antrian), laporan ini diharapkan dapat menjadi literatur bagi proses belajar mengajar dalam perkuliahan, terutama

BAB 2 LANDASAN TEORI

BAB III QUEUE (ANTRIAN)

Algoritma dan Struktur Data. Queue

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE

STRUKTUR DATA. Literatur

Algoritma Dan Struktur Data II

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Queue.

1. E = a + 2b d + dh f g. Ubah ke dalam notasi postfix: a. Menggunakan Algoritma b. Secara manual c. Dari pohon biner menggunakan Stack

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

LOGO STRUKTUR DATA QUEUE

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.

BAB IX LINKED LIST (SENARAI BERANTAI)

Type Data terdiri dari : - Data Tunggal : Integer, Real, Boolean dan Karakter. - Data Majemuk : String

LAPORAN PRAKTIKUM RESMI QUEUE

TIF 4201 Algoritma Dan Struktur Data

KUM 5 IMPLEMENTASI QUEUE

STRUKTUR DATA Pertemuan 1 s.d 8

Pertemuan VI ANTRIAN (Queue)

Stack. Gambar 1.1 Stack

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

BAB V LINKED LIST. Pointer A 50 B Alamat Memori. Gambar 5-1 : Logika Linked List

MODUL PRAKTIKUM STRUKTUR DATA

Struktur Data. PDE - Struktur Data 1

05. Double Linked List

IX. Implementasi ADT : Stacks & Queues. Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based

Algoritma Dan Struktur Data II

STRUKTUR DATA TIPE DATA DNA-STRUKTURDATA 1

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Implementasi Queue menggunakan Array. Imam Fahrur Rozi

Materi 9 : QUEUE (ANTREAN) Dosen:

Struktur Data Array. Rijal Fadilah S.Si

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

KONSEP POINTER DAN LINKED LIST

ARNA FARIZA YULIANA SETIOWATI

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Queue (Antrian)

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

QUEUE (ANTREAN) Prinsip Antrean : FIFO (First In First Out) FCFS (First Come First Serve) Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu

Struktur Data. Queue (Antrian)

A. TUJUAN PEMBELAJARAN

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

disebut ternary operator. Di dalam suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari operatoroperator

ALGORITMA DAN STRUKTUR DATA

Heap Tree dan Kegunaannya dalam Heap Sort

Algoritma dan Struktur Data STACK

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Single Linked List

LIST. Dewi Sartika, M.Kom

Review : Sifat Implementasi Linear List dengan Array

STRUKTUR DATA Pertemuan 1 s.d 8

Gambar 1. Single Linked List

Kode MK/ Pemrograman Terstruktur 2

BAB I PENDAHULUAN 1.1 Latar Belakang struktur data FIFO

DIG1G3 Implementasi Struktur Data

Penerapan Pohon Dalam Heap Sort

STRUKTUR DATA Terttiaavini, S.Kom.,M.Kom PROGRAM STUDI SISTEM INFORMASI

Struktur. Bab 4: Linked LIst 4/8/2015

Praktikum Stack. A. Stack Collection di java.util.collection. Percobaan 1. Percobaan 2. import java.util.iterator; import java.util.

Jika Anda ingin bisa/sukses dalam kuliah SDA ini, rajinlah mengimplementasikan ADT dan mengerjakan soal-soal yang diberikan.

BAB 2 LANDASAN TEORI. Algoritma adalah urutan atau deskripsi langkah-langkah untuk memecahkan suatu masalah.

HEAP. Heap dan Operasinya. Oleh Andri Heryandi

IMPLEMENTASI ANTRIAN DENGAN MENGGUNAKAN ARRAY

DIG1G3 Implementasi Struktur Data

BINARY SEARCH TREE. TUJUAN UMUM Mahasiswa memahami binary search Tree

Algoritma Pemrograman & Struktur Data

Linked List 6.3 & 7.3 NESTED LOOP

QUEUE Antrian 1. DEFINISI

MODUL PRAKTIKUM STRUKTUR DATA

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Materi 8 : STACK (TUMPUKAN) Dosen:

Struktur. Bab 4: Linked LIst 4/8/2015

BAB II STACK Atau TUMPUKAN

Transkripsi:

BAB IV QUEUE ATAU ANTREAN Queue atau antrean 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 lainnya, yang disebut sisi depan (FRONT) dari list. Jadi untuk antrean Q = [Q 1, Q 2,, Q n ] FRONT(Q) = Q 1 dan REAR(Q) = Q n Istilah yang digunakan dalam Queue : - FRONT(QUEUE) Posisi elemen depan / teratas dari antrean - REAR(QUEUE) Posisi elemen Belakang / terbawah dari antrean - NOEL(QUEUE) Operator yang berfungsi untuk mengetahui jumlah elemen dalam antrean - FIFO Operasi dari antrean (pertama masuk pertama keluar) Operasi yang dapat dilakukan terhadap Queue / antrean : - CREATE(QUEUE) Operasi yang berfungsi untuk membuat antrean menjadi kosong - ISEMPTY(QUEUE) Operasi yang berfungsi untuk mengetahui kondisi elemen dalam antrean apakah kosong atau tidak. Hasilnya bertype boolean. - INSERT(ELEMEN, QUEUE) Operasi yang berfungsi untuk memasukkan elemen ke dalam antrean. - REMOVE(QUEUE) Operasi untuk mengeluarkan elemen dari antrean. 26

Logika dari queue FRONT REAR Gambar 4-1 : Logika antrean Suatu underflow dapat terjadi apabila kita melakukan penghapusan pada antrean hampa. Co 4-1 : Bentuk antrean Operasi antrean Hasil NOEL(Q) FRONT(Q) REAR(Q) ISEMPTY(Q) 0 Tdk terdefinisi Tdk terdefinisi True A B C INSERT (A, Q) INSERT (B, Q) INSERT (C, Q) NOEL(Q) FRONT(Q) REAR(Q) ISEMPTY (Q) 3 A C False CREATE (Q) NOEL (Q) ISEMPTY (Q) 0 True Gambar 4-2 : Illustrasi Queue PENYAJIAN ANTREAN Antrean dapat disajikan di dalam komputer dalam berbagai cara. Biasanya dengan menggunakan one way list (linier list) ataupun menggunakan array. 27

Bila tidak disebutkan maka antrean akan disajikan dalam bentuk array queue, dengan dilengkapi dua variabel penunjuk. FRONT, berisi lokasi dari elemen depan dan REAR, berisi lokasi dari elemen belakang. Bila nilai FRONT = NULL, menunjukan bahwa antrean adalah hampa. Co 4 2 : Mula mula elemen antrean terdiri dari AAA, BBB, CCC, DDD AAA BBB CCC DDD Rear = 4 Kemudian dilakukan perintah remove Front = 2 BBB CCC DDD Rear = 4 Kemudian dilakukan perintah remove dan insert (EEE, Q) Front = 3 CCC DDD EEE Rear = 5 Gambar 4-3 : penyajian Queue Dapat kita lihat bahwa pada setiap kali penghapusan, nilai lokasi FRONT akan bertambah 1. Untuk setiap kali pemasukan elemen, nilai REAR akan bertambah 1. Hal ini berakibat bahwa setelah pemasukkan elemen ke n (berawal dari antean hampa), maka lokasi Queue(n) telah diduduki. Disini mungkin saja tidak sebanyak n elemen ada dalam antrean (karena sudah dilakukan beberapa penghapusan). ARRAY SIRKULAR Untuk melakukan pemasukkan berikutnya, yakni memasukkan elemen, kita dapat menggunakan lokasi Queue(1), demikian seterusnya. Dalam hal ini, kita menggunakan array sirkular, yakni bahwa Queue(1) datang sesudah Queue(n). berdasarkan asumsi ini, maka REAR adalah 1. Secara yang sama, jika FRONT = n dan kita akan melakukan penghapusan, maka sekarang FRONT adalah 1 bukan n + 1. 28

Co 4-3 : Antrean yang disimpan dalam array dengan 5 lokasi memory sebagai array sirkular. a) Pada awal hampa Front = 0 Rear = 0 b) A dan B dimasukkan A B Rear = 2 c) C, D dan E dimasukkan A B C D E Rear = 5 d) A, B dan C dihapus Front = 4 D E Rear = 5 e) F dimasukkan Front = 4 F D E Rear = 1 f) D dan E dihapus Rear = 1 F g) G dan H dimasukkan F G H Rear = 3 Gambar 4-4 : Array Sirkular DEQUE Deque merupakan bentuk variasi dari struktur data antrean / queue. Struktur data tersebut adalah deque (Deck atau Dequeue) dan antrean berprioritas (Priority Queue). Deque adalah suatu list linier atau linear list yang penambahan dan penghapusan elemennya dapat dilakukan pada kedua sisi ujung list tetapi 29

tidak dapat dilakukan ditengah tengah list. Dengan definisi tersebut maka deque dapat disebut sebagai Queue Ganda atau Double Queue. Penyajian deque adalah dengan array sirkular atau array putar Deque. Disini kita menggunakan dua pointer atau penunjuk, LEFT dan RIGHT yang berturut turut menunjukkan pada sisi kiri dan sisi kanan dari deque. Kita senantiasa mengasumsikan bahwa elemen deque berurut dari kiri ke kanan. Pengertian sirkular timbul karena elemen deque(1) berada sesudah elemen deque(n) dari array. Kondisi LEFT = NULL untuk menyatakan bahwa suatu deque adalah hampa. Selain deque yang kita sebutkan sebelumnya, masih ada 2 model variasi deque. 1. Deque Input terbatas Suatu deque yang membatasi pemasukkan elemen hanya pada satu ujung dari list, sementara penghapusan elemen boleh dilakukan pada kedua ujung list. 2. Deque Output terbatas Suatu deque yang hanya memperbolehkan penghapusan elemen pada salah satu ujung, tetapi memperbolehkan pemasukkan elemen pada kedua ujung list. Komplikasi yang dapat timbul dalam proses deque : 1. Terjadi Overflow, yakni pada saat suatu elemen dimasukkan ke dalam deque yang sudah terisi penuh. 2. Terjadi Underflow, yakni bila suatu elemen harus dihapus dari deque yang sudah hampa. ANTREAN BERPRIORITAS Antrean berprioritas adalah himpunan elemen yang setiap elemennya telah diberikan sebuah prioritas dan urutan proses penghapusan elemen adalah berdasarkan aturan berikut : 1. Elemen yang prioritasnya lebih tinggi, diproses lebih dahulu dibandingkan dengan elemen yang prioritasnya lebih rendah. 2. Dua elemen dengan prioritas yang sama, diproses sesuai dengan urutan mereka sewaktu dimasukkan ke dalam priority Queue. 30

Suatu prototype dari antrean berprioritas adalah sistem time sharing. Disini program dengan prioritas yang lebih tinggi diproses terlebih dahulu dan sejumlah program dengan prioritas yang sama akan membentuk queue yang standar. 31