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

dokumen-dokumen yang mirip
BAB IV QUEUE ATAU ANTREAN

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN)

PERTEMUAN KE-6. Pertemuan 6

QUEUE / ANTREAN. Pertemuan 7 Yani sugiyani, M.Kom

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).

BAB 2 LANDASAN TEORI

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

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

BAB 3 STACK (TUMPUKAN)

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

STRUKTUR DATA Pertemuan 6

Algoritma Dan Struktur Data II. Queue

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

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

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

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

4. STACK / TUMPUKAN TEORI PENUNJANG

Algoritma Dan Struktur Data II

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

Semua algoritma diasumsikan bahwa Linked List tersimpan di dalam memori dalam bentuk LIST(INFO, LINK, START, AVAIL)

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

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

STRUKTUR DATA. Literatur

BAB 2 LANDASAN TEORI

BAB IX LINKED LIST (SENARAI BERANTAI)

BAB III QUEUE (ANTRIAN)

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

Struktur & Organisasi Data 2 LINKED LIST. LINKED LIST ATAU ONE-WAY LIST Adalah koleksi linier dari elemen data yang disebut Simpul atau Node.

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

Algoritma Dan Struktur Data II

PENGENALAN List merupakan sebuah pemikiran/konsep struktur data yang sangat dasar pada pemrograman agar lebih fleksibel. Setiap elemen akan ditambahka

Algoritma dan Struktur Data. Queue

BAB II STACK Atau TUMPUKAN

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2)

LIST. Dewi Sartika, M.Kom

QUEUE (ANTRIAN) Struktur Data - Queue

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

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

Stack. Gambar 1.1 Stack

STRUKTUR DATA TIPE DATA DNA-STRUKTURDATA 1

BAB 2 LANDASAN TEORI

Struktur Data. Queue (Antrian)

BAB IV Antrian(Queue)

BAB III STACK ATAU TUMPUKAN

A. TUJUAN PEMBELAJARAN

Algoritma dan Struktur Data STACK

05. Double Linked List

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

Gambar 1. Single Linked List

Pada kondisi ini proses penghapusan tidak bisa dilakukan Kondisi linked list memiliki hanya 1 data{satu simpul} Akhir. Akhir

Pertemuan 7. REVIEW dan QUIS

Algoritma Pemrograman & Struktur Data

LOGO STRUKTUR DATA QUEUE

LAPORAN PRAKTIKUM RESMI 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.

STRUKTUR DATA Pertemuan 1 s.d 8

Lab. Teknik Informatika Struktur Data 1

Buku Ajar Struktur Data

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

Algoritma Pemrograman & Struktur Data

Buku Ajar Struktur Data

Algoritma dan Struktur Data. Pertemuan 7 Linked List

STRUKTUR DATA Pertemuan 4

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

ARNA FARIZA YULIANA SETIOWATI

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

DIG1G3 Implementasi Struktur Data

BAB 5 LINKED LIST. LINKED LIST ATAU ONE-WAY LIST Adalah koleksi linier dari elemen data yang disebut Simpul atau Node.

Review : Sifat Implementasi Linear List dengan Array

MODUL PRAKTIKUM STRUKTUR DATA

Materi 9 : QUEUE (ANTREAN) Dosen:

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

BAB I PENDAHULUAN 1.1 Latar Belakang struktur data FIFO

KONSEP POINTER DAN LINKED LIST

STACK. Sistem penyimpanan data dengan mekanisme Last In First Out( LIFO).

TIF 4201 Algoritma Dan Struktur Data

MODUL 6 SINGLE & DOUBLE LINKED LIST

A B C D E F. Gambar 1. Senarai berantai dengan 6 simpul

Struktur dan Organisasi Data 2 STRUKTUR DATA

ALGORITMA & PEMROGRAMAN

Struktur Data dan Algoritma

POHON CARI BINER (Binary Search Tree)

SEARCHING & SORTING. Pendahuluan

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

Struktur Data. PDE - Struktur Data 1

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

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

KUM 5 IMPLEMENTASI QUEUE

SENARAI BERANTAI (LINK LIST)

ARRAY DINAMIS. Type. Pengenal = Simpul Simpul = Type. (Nama var) : ( Type data)

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

Struktur Data Array. Rijal Fadilah S.Si

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

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

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

LINKED LIST. Altien Jonathan Rindengan, S.Si, M.Kom

BAB 1 TIPE DATA. Struktur Data 1. Sederhana : Array dan Record 2. Majemuk terdiri atas Linier Non Linier

(3) BAHAN KAJIAN (materi ajar)

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

Transkripsi:

QUEUE (ANTREAN) ANTREAN (Queue) Suatu bentuk khusus dari linear list, dengan operasi penyisipan (insertion) hanya diperbolehkan pada salah satu sisi, yang disebut REAR, dan operasi penghapusan (deletion) hanya diperbolehkan pada sisi yang lainnya, yang disebut FRONT dari list. Antrean Q = [Q1, Q2,..., QN] Front(Q) = Q1 bagian depan antrean Rear(Q) = QN bagian belakang antrean Noel(Q) = N jumlah elemen dalam antrean Operasi Antrean : FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar. Operator : Penyisipan Penghapusan : Insert : Remove Empat operasi dasar antrean, yaitu : 1. CREATE 2. ISEMPTY 3. INSERT 4. REMOVE CREATE (Q) Operator yang menunjukkan suatu antrean hampa Q. Berarti : Noel (Q) = 0 Front (Q) & Rear (Q) = tidak terdefinisi ISEMPTY (Q) Operator yang menunjukkan apakah antrean Q hampa. Operand : tipe data antrean Hasil : tipe data boolean ISEMPTY (CREATE (Q)) = True INSERT (E, Q) Operator yang menginsert elemen E ke dalam antrean Q. E ditempatkan di bagian belakang antrean. Hasil : antrean yang lebih besar. REAR (INSERT (E, Q)) = E ISEMPTY (INSERT (E, Q)) = False ARK Halaman 1 dari 8

REMOVE (Q) Operator yang menghapus elemen bagian depan dari antrean Q. Hasil : antrean yang lebih pendek. Pada setiap operasi, Noel (Q) berkurang 1 dan elemen ke-2 menjadi elemen terdepan. Jika Noel (Q) = 0 maka Q = hampa Remove (Q) = kondisi error (underflow condition) Remove (Create (Q)) = kondisi error (underflow condition) PENYAJIAN DARI ANTREAN 1. One Way List (Linear Linked List) 2. Array Array Queue Kalau tidak disebutkan lain, maka Antrean disajikan dalam Array Queue, dilengkapi 2 variabel penunjuk : FRONT (elemen depan antrean) REAR (elemen belakang antrean) Contoh : Antrean dalam array queue dengan 5 lokasi memori 1. Pada awal antrean hampa Queue F = 0 R = 0 2. A, B dan C dimasukkan Queue F = 1 R = 3 A B C 3. Hapus 1 elemen : A dihapus Queue F = 2 R = 3 B C 4. D dan E dimasukkan Queue F = 2 R = 5 B C D E 5. Hapus 1 elemen : B dihapus Queue F = 3 R = 5 C D E ARK Halaman 2 dari 8

Untuk setiap pemasukan elemen, nilai Rear + 1 penghapusan elemen, nilai Front + 1 Akibatnya, setelah pemasukan elemen ke-5 maka lokasi Queue (5) telah diduduki mungkin saja tidak sebanyak 5 elemen ada dalam antrean, karena sudah dilakukan beberapa penghapusan. Untuk pemasukan elemen berikutnya, yakni memasukkan elemen ITEM, gunakan lokasi QUEUE (1), dan seterusnya. Array Sirkular yaitu elemen Queue (1) datang sesudah Queue (N) di dalam array, maka Rear = 1. Jika Front = N, dilakukan penghapusan maka Front = 1, bukan N + 1. Contoh : Array Sirkular dengan 5 lokasi memori 1. Pada awal antrean hampa Queue F = 0 R = 0 2. A, B dan C dimasukkan Queue F = 1 R = 3 A B C 3. Hapus 1 elemen : A dihapus Queue F = 2 R = 3 B C 4. D dan E dimasukkan Queue F = 2 R = 5 B C D E 5. Hapus 1 elemen : B dihapus Queue F = 3 R = 5 C D E 6. G dimasukkan Queue F = 3 R = 1 G C D E ARK Halaman 3 dari 8

ALGORITMA 1. QINSERT (Memasukkan data ke dalam suatu antrean) Memeriksa kemungkinan terjadi overflow, yakni dengan melihat apakah antrean tersebut terisi penuh. 2. QDELETE (Menghapus elemen depan dari antrean) Memeriksa kemungkinan terjadi underflow, yakni dengan melihat apakah antrean tersebut kosong. QINSERT (QUEUE, N, FRONT, DATA) 1. {Apakah antrean 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 := 1 Dalam hal lain Rear := Rear + 1 3. Queue (Rear) := Data (masukkan elemen baru) 4. Return. QDELETE (QUEUE, N, FRONT, REAR, DATA) 1. {Apakah antrean kosong} Jika Front := Null, maka write underflow, return 2. Data := Queue (Front) 3. (Front mendapat nilai baru) Jika Front := Rear, maka Front := Null, Dalam hal lain Jika Front = N, maka Front := 1 Dalam hal lain Front := Front + 1 4. Return. DEQUE (Queue Ganda atau Double Queue) Suatu linear list, yang penambahan dan penghapusan elemen dapat dilakukan pada kedua sisi ujung list, tetapi tidak dapat dilakukan ditengah-tengah list. Deque (menggunakan array sirkular) Menggunakan 2 pointer/penunjuk : 1. LEFT : sisi kiri dari deque 2. RIGHT : sisi kanan dari deque Asumsi : elemen deque berurut dari kiri ke kanan. ARK Halaman 4 dari 8

Contoh : Menggambarkan 2 buah deque, masing-masing berisi 4 elemen, yang ditempatkan di dalam sebuah Array dengan 8 lokasi memori. DEQUE LEFT : 4 A B C D RIGHT : 7 6 7 8 (a) DEQUE LEFT : 7 Y Z W X RIGHT : 2 6 7 8 (b) 2 variasi deque, yaitu : 1. Deque Input Terbatas Pemasukan elemen pada satu ujung list, penghapusan elemen pada kedua ujung list. 2. Deque Output Terbatas Pemasukan elemen pada kedua ujung list, penghapusan elemen pada salah satu ujung list. ANTREAN BERPRIORITAS 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 urutannya sewaktu dimasukkan ke dalam antrean berprioritas. PENYAJIAN ONE WAY LIST DARI ANTREAN BERPRIORITAS Ketentuan : 1. Setiap simpul dalam list berisi 3 buah data/field yaitu : (Info, Prn, Link) 2. Simpul X mendahului simpul Y di dalam list, bila : a. X mempunyai prioritas lebih tinggi dari Y. b. Mempunyai prioritas yang sama, tetapi X dimasukkan kedalam queue terlebih dahulu sebelum Y. Ket : Simpul dengan Prn rendah, mendapat prioritas tertinggi. ARK Halaman 5 dari 8

Contoh : Gambar di bawah memperlihatkan diagram skematik dari Antrean Berprioritas dengan 7 elemen dan penyajian dalam memori. Diagram tidak dapat menceritakan kepada kita apakah B dimasukkan ke dalam list sebelum atau sesudah D. Di lain pihak, diagram dapat memperlihatkan kepada kita, bahwa B dimasukkan sebelum C, karena B dan C mempunyai Nomor Prioritas yang sama, dan B berada sebelum C di dalam list. START A 1 B 2 C 2 D 4 E 4 F 4 G 5 x Penyajian Dalam Memori Diagram Skematik START AVAIL 5 2 INFO PRN LINK 1 B 2 6 2 7 3 D 4 4 4 E 4 9 5 A 1 1 6 C 2 3 7 10 8 G 5 0 9 F 4 8 10 11 11 12 12 0 Sifat utama dari penyajian One-way list dari sebuah Antrean Berprioritas adalah bahwa elemen dalam Antrean yang seharusnya diproses pertama kali selalu muncul pada bagian permulaan Oneway list. Oleh karena itu, adalah sangat sederhana untuk menghilangkan dan memproses sebuah elemen Antrean Prioritas tersebut. ARK Halaman 6 dari 8

Algoritmanya sebagai berikut : ALGORITMA 1 Untuk menghapus dan memproses elemen pertama dalam sebuah Antrean Berprioritas yang muncul dalam memori sebagai sebuah one-way list. 1. Pasang ITEM := INFO(START). {Langkah ini dimaksudkan untuk menyimpan data dalam simpul pertama}. 2. Hapus simpul pertama dari list. 3. Proses ITEM 4. Exit ALGORITMA 2 Untuk menambahkan sebuah ITEM dengan Nomor Prioritas N pada suatu Antrean Berprioritas yang disimpan dalam memori sebagai sebuah one-way list. 1. Telusuri one-way list sampai ditemukan suatu simpul X yang nomor prioritasnya melebihi N. Sisipkan ITEM di depan simpul X. 2. Jika tidak ditemukan simpul semacam itu, sisipkan ITEM sebagai elemen terakhir list. Kesulitan utama dalam Algoritma muncul dari kenyataan bahwa ITEm disisipkan sebelum simpul X. Hal ini berarti bahwa ketika menelusuri List itu, harus tetap memperhatikan alamat simpul yang mendahului simpul yang sedang diakses. START X 2 A 1 B 2 C 2 D 4 E 4 F 4 G 5 x Diagram Skematik ARK Halaman 7 dari 8

Penyajian Dalam Memori START AVAIL 5 7 INFO PRN LINK 1 B 2 6 2 X 2 3 3 D 4 4 4 E 4 9 5 A 1 1 6 C 2 2 7 10 8 G 5 0 9 F 4 8 10 11 11 12 12 0 PENYAJIAN ARRAY DARI ANTREAN BERPRIORITAS Menggunakan suatu antrean terpisah untuk setiap tingkat prioritas (untuk setiap nomor prioritas). Setiap antrean akan muncul dalam array sirkularnya sendiri dan harus mempunyai sepasang penunjuk yaitu Front dan Rear. FRONT REAR 6 1 2 2 1 A 2 1 3 2 B C X 3 0 0 3 4 5 1 4 F D E 5 4 4 5 G ARK Halaman 8 dari 8