Struktur Organisasi Data 2

Slides:



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

Queue (Antrian).
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)
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).
STACK.
Struktur Data (Data Structure) – IS 2313
Pointer dalam Stack.
QUEUE (antrian).
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
Queue.
Queue.
QUEUE (ANTRIAN).
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)
Linear Data Structures (Queue)
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.
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
Stack.
QUEUE Denny Agustiawan,M.pd
Defri Kurniawan ADT STACK Defri Kurniawan
STRUKTUR DATA QUIZ.
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
Program Studi Teknik Informatika
Defri Kurniawan QUEUE Defri Kurniawan
Defri Kurniawan QUEUE DENGAN LIST Defri Kurniawan
Queue (Antrian).
Queue.
STRUKTUR DATA QUEUE (Antrian)
STACK (Tumpukan).
QUEUE (ANTRIAN ) Disusun Oleh : Kelompok 2 Siti Hajar ( )
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 –
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
Algoritme dan Stuktur Data
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
Pertemuan – 7 Antrian / Queue (Bab 4).
TIF 4201 Algoritma Dan Struktur Data Abstract Data Type
STRUKTUR DATA Teknik Informatika S1
Queue Algoritma dan Struktur Data.
QUEUE (Antrian).
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Defri Kurniawan QUEUE DENGAN LIST Defri Kurniawan
Transcript presentasi:

Struktur Organisasi Data 2 Bahan Ajar Perkuliahan Sistem informasi (S1) Manajemen Informatika (D3)

Queue Definisi: Suatu bentuk khusus dari linier list dengan operasi pemasukan data hanya diperbolehkan pada salah satu sisi saja dimana pengisian dan pengambilan datanya dirancang berdasarkan algorithma FIFO (First in First out) atau FCFS (First Come First Serve). Operasi pengisian hanya boleh dilakukan pada sisi belakang (Rear) / ekor (Tail); dan Operasi penghapusan hanya diperbolehkan pada sisi depan (Front) / kepala (Head). Queue adalah sebuah struktur data yang aksesnya bersifat sekuensial (berurutan).

Queue Analogi: Queue umumnya dianalogikan seperti sebuah antrian pada loket pembelian tiket. Front / Head Rear / Tail Masuk Keluar

Queue Struktur / Bagian Queue: FRONT / HEAD REAR / TAIL NOEL Merupakan index elemen paling depan dari queue. FRONT / HEAD dapat bertipe data integer dengan nilai -1 jika queue kosong atau bernilai ≥ 0 jika queue memiliki isi. Jika queue Q = [Q0, Q1, Q2, Q3, Q4, …, QT-1], maka FRONT / HEAD = 0 REAR / TAIL Merupakan index elemen paling belakang dari queue. REAR / TAIL dapat bertipe data integer dengan nilai -1 jika queue kosong atau bernilai ≥ 0 jika queue memiliki isi. Jika queue Q = [Q0, Q1, Q2, Q3, Q4, …, QT-1], maka REAR / TAIL = T-1 NOEL Merupakan jumlah elemen yang tersimpan di dalam queue. NOEL merupakan integer dengan nilai ≥ 0. Jika NOEL = 0, maka queue tersebut dianggap kosong. Jika queue Q = [Q0, Q1, Q2, Q3, Q4, …, QT-1], maka NOEL = T. Jika terdapat NOEL elemen di dalam queue, maka elemen ke NOEL-1 merupakan REAR atau Q [NOEL - 1] = REAR.

Queue Deklarasi Awal 0 1 2 3 4 5 6 7 NOEL = 0 MAX = 8 #define MAX 8 Typedef struct { int data [MAX]; int front; int rear; } Queue; Queue q; Deklarasi Awal FRONT / HEAD = -1 REAR / TAIL = -1 0 1 2 3 4 5 6 7 NOEL = 0 MAX = 8

Queue Fungsi pada Stack: Create () isEmpty () IsFull () Insert () / Enqueue () Remove () / Dequeue () Clear () Digunakan untuk menghapus seluruh elemen dari queue.

Queue Fungsi Create () Digunakan untuk membuat queue baru yang masih kosong. Keadaan setelah proses Create () NOEL = 0 FRONT = -1 REAR = -1 Front / Head Void Create() { q.front = q.rear = -1; } Rear / Tail

Queue Fungsi IsEmpty () Digunakan untuk menguji apakah queue kosong atau tidak kosong. Proses ketika fungsi dijalankan: Menguji kosong, yakni melihat apakah antrian tidak memiliki data atau tidak memiliki data. Front / Head bool IsEmpty() { if (rear == -1) return true; else return false; } REAR = -1 (terpenuhi) Rear / Tail

REAR = MAX - 1 (terpenuhi) Queue Fungsi IsFull () Digunakan untuk menguji apakah queue penuh atau tidak penuh. Proses ketika fungsi dijalankan: Menguji kosong, yakni melihat apakah REAR sudah mencapai MAX - 1 atau belum mencapai. (melihat apakah seluruh elemen array sudah terisi atau belum terisi). Front / Head bool IsFull () { If (q.rear == MAX - 1) return true; else return false; } MAX REAR = MAX - 1 (terpenuhi) Rear / Tail

Queue Fungsi Insert () / Enqueue () Digunakan untuk melakukan pengisian data ke dalam queue pada REAR / TAIL. Penambahan elemen selalu menggerakan variabel REAR dengan cara menambahkan REAR terlebih dahulu. Proses ketika fungsi dijalankan: Menguji overflow, yakni melihat apakah antrian sudah penuh atau belum dengan Fungsi IsFull (). Proses hanya dilanjutkan jika IsFull () bukan bernilai TRUE. Mengubah FRONT menjadi 0 jika keadaan IsEmpty () bernilai TRUE, atau tidak berubah jika IsEmpty () bernilai FALSE. Menambah NOEL dengan 1. Menambah REAR dengan 1. Mengisi Elemen REAR dengan nilai pada parameter Data.

Queue Fungsi Insert () / Enqueue () Front / Head MAX Rear / Tail IsFull () = false IsEmpty () = true Front / Head Fungsi Insert () / Enqueue () MAX Void Enqueue (int data) { If (!IsFull ()) { If (IsEmpty ()) { q.front = q.rear = 0; q.data [q.rear] = data; } else { q.rear ++; return false; Masuk Rear / Tail IsFull () = false IsEmpty () = false Front / Head MAX Rear / Tail Masuk

Queue Fungsi Remove () / Dequeue () Digunakan untuk mengeluarkan data yang tersimpan pada FRONT / HEAD pada queue. Pengurangan elemen selalu menggerakan variabel REAR dengan cara mengurangi REAR dengan 1. Proses ketika fungsi dijalankan: Menguji apakah queue kosong atau tidak kosong dengan IsEmpty (). Proses hanya dilanjutkan jika IsEmpty() bukan bernilai TRUE. Menggeser isi seluruh elemen setelah FRONT ke arah FRONT. Sehingga elemen setelah FRONT menjadi FRONT dan seterusnya, sampai dengan elemen terakhir (REAR). Mengubah FRONT menjadi -1 jika REAR bernilai 0. Mengurangi NOEL dengan 1. Mengurangi REAR dengan 1.

Queue Fungsi Remove () / Dequeue () Front / Head MAX Rear / Tail IsFull () = false IsEmpty () = false Front / Head Fungsi Remove () / Dequeue () MAX Void Dequeue () { if (!IsEmpty ()) { int I; Int e = q.data [q.front]; for (i = q.front; I <= q.rear = 1; i++) { q.data [i] = q.data[i+1]; } q.rear --; return e; Return false; Keluar Rear / Tail IsFull () = false IsEmpty () = false Front / Head MAX Keluar Rear / Tail