Queue Algoritma dan Struktur Data.

Slides:



Advertisements
Presentasi serupa
Antrian (Queue) Desain dan Analisis Algoritma
Advertisements

Queue (Antrian).
Dr. Anto Satriyo Nugroho, M.Eng
Dr. Anto Satriyo Nugroho, M.Eng
Pertemuan 5 Struktur Data
STRUKTUR DATA (7) single linked list circular
STRUKTUR DATA array stack dan queue
List, Stack & Queue (1) Dr. Anto Satriyo Nugroho, M.Eng
QUEUE.
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
Queue.
Pertemuan (6) QUEUE (ANTREAN) IMAM SIBRO MALISI NIM :
Algoritma dan Struktur Data
STACK (Tumpukan).
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
STACK.
STACK.
Struktur Data (Data Structure) – IS 2313
Pointer dalam Stack.
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
Queue.
Queue.
Queue.
Mempelajari tipe data queue dan bagaimana menggunakan fungsi insert, remove, is_empty dan is_full. Mempelajari bagaimana mengimplementasikan queue dengan.
Linear Data Structures (Queue)
Implementasi Queue Implementasi queue lebih sulit daripada stack. Pada stack, penambahan dan penghapusan data hanya dilakukan pada satu ujung saja, sehingga.
Circular Queue.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
STRUKTUR DATA QUEUE.
STRUKTUR DATA Queue atau Antrian.
Pertemuan : Algoritma & Struktur Data
Stack Pertemuan 11.
Stack.
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
QUEUE Copyright 2008 by Yohana.
Defri Kurniawan ADT STACK Defri Kurniawan
STRUKTUR DATA QUIZ.
Program Studi Teknik Informatika
Defri Kurniawan QUEUE Defri Kurniawan
Defri Kurniawan QUEUE DENGAN LIST Defri Kurniawan
STRUKTUR DATA – Pertemuan 6
Struktur Organisasi Data 2
Queue.
STRUKTUR DATA QUEUE (Antrian)
STACK (Tumpukan).
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.
Algoritma dan Struktur Data
Struktur Data Khoiriya Latifa, M.Kom.
Program Studi Teknik Informatika
NAMA : SITI HAJAR NIM : UNIT : B NO.HP : 0852 – 2000 – 3786.
Nama : Siti Hajar Nim : Unit : B/III No.Hp : 0852 –
Program Studi Teknik Informatika
STACK (Tumpukan).
Queue(Antrian).
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
3.
Algoritma dan Struktur Data
STRUKTUR DATA Teknik Informatika S1
QUEUE (Antrian).
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Defri Kurniawan QUEUE DENGAN LIST Defri Kurniawan
Transcript presentasi:

Queue Algoritma dan Struktur Data

Presented by : Yasmin Ghassani P. (115060800111090) Adinda Setyowulan (115060801111034) Nurul Khoirina (115060801111049) Elliya Lestari (115060807111074)

Pengertian Queue (Antrian) Suatu data yang mana penambahan elemen hanya bisa dilakukan pada satu ujung (disebut dengan sisi belakang atau rear) dan penghapusan elemen dilakukan lewat ujung lain (disebut dengan sisi depan atau front)

Queue Dengan Array DEFINISI Bersifat FIFO (First In First Out) Elemen yang pertama masuk ke antrian akan keluar pertama kalinya ENQUEUE: menambahkan data pada sebuah list DEQUEUE adalah mengeluarkan satu elemen dari suatu Antrian Antrian dapat dibuat dengan menggunakan 2 cara: Liniear Array dan Circular Array

Gambar ilustrasi

Animasi Queue ENQUEUE dan DEQUEUE

Queue Linier Array Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya Sehingga membutuhkan 2 variabel: Head dan Tail

Queue Linier Array Tempatkan data pada sebuah array, dan setlah pointer agar menunjuk ke posisi HEAD dan TAIL Saat data ditambahkan ke queue, naikkan posisi pointer TAIL Saat data dihapus dari queue, naikkan posisi pointer HEAD Saat head==tail, berarti queue kosong head tail … x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 … Array x head==tail ujung depan ujung belakang … x3 x4 x5 x6 x7 x8 x9 x10 x11 x11 x12 … Array x Queue adalah pada bagian yang berwarna hijau

Masalah yang timbul pada Queue Linier Array Head dari tail selalu bertambah secara motononik, sehingga memerlukan array dengan ukuran tak terhingga Menyambungkan HEAD dan TAIL dari array itu sehingga membentuk cincin (RING BUFFER) head tail x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 array x … Pointer selalu bergerak ke kanan, tak pernah kembali

Queue Circular Array 1 n-1 n-2 tail head Array dibuat seperti cincin, dimana elemen terakhir disambungkan dengan elemen pertama Menambahkan data ke queue: nilai tail dinaikkan satu Menghapus data dari queue: nilai head dinaikkan satu Queue kosong pada saat head==tail 1 n-1 n-2 tail==head Queue adalah pada bagian yang berwarna hijau

Masalah pada Ring Buffer Pada saat rear==front , ada dua interpretasi yang muncul, “queue kosong” ataukah “queue full” n-1 n-1 Queue adalah pada bagian yang berwarna hijau n-2 1 n-2 1 empty full rear==front rear==front

Masalah pada Ring Buffer Solusi Menyiapkan sebuah FLAG untuk memberi tanda kalau queue kosong Queue dijaga agar tidak pernah full, dengan menyisakan sebuah elemen yang kosong n-1 1 n-2

Operasi Queue (1) Operasi-operasi: Create() Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail = -1

Queue (2)

Queue (3) IsEmpty() Untuk memeriksa apakah Antrian sudah penuh atau belum Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail

Queue (4)

Queue (5) Fungsi IsFull Untuk mengecek apakah Antrian sudah penuh atau belum Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh

Queue (6) Enqueue Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu

Queue (7)

Queue (8) Dequeue() Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 Penggeseran dilakukan dengan menggunakan looping

Queue (9)

Queue (10) Clear() Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1 Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca

Queue (11)

Queue (12) Tampil() Untuk menampilkan nilai-nilai elemen Antrian Menggunakan looping dari head s/d tail