STRUKTUR DATA Queue atau Antrian.

Slides:



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

Queue (Antrian).
Pertemuan 5 Struktur Data
STRUKTUR DATA (7) single linked list circular
QUEUE II. IMPLEMENTASI QUEUE
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.
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)
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.
Pertemuan : Algoritma & Struktur Data
Pertemuan 8 Stack dengan Array
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.
QUEUE hms_sept.
Program Studi Teknik Informatika
Sapta Candra Miarsa,S.T.,M.T.
Defri Kurniawan ADT STACK Defri Kurniawan
Program Studi Teknik Informatika
Defri Kurniawan QUEUE 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).
STACK / TUMPUKAN Struktur Data.
Queue(Antrian).
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
STRUKTUR DATA Stack atau Tumpukan.
3.
Algoritma dan Struktur Data
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
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

STRUKTUR DATA Queue atau Antrian

Pengertian Queue Queue/antrian adalah ordered list dengan penyisipan di satu ujung, sedang penghapusan di ujung lain. Ujung penyisipan disebut rear/tail. Ujung penghapusan disebut front/head. Head/front menunjuk ke awal antrian(elemen terdepan), sedangkan tail/rear menunjuk ke akhir antrian (elemen paling belakang). Bersifat FIFO (First In First Out) yaitu Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya.

Penggunaan Queue Simulasi antrian di dunia nyata, antara lain : Lalu lintas udara, tinggal landas(take-off) dan pendaratan(landing) Antrian pembelian tiket di depan loket untuk bis, kereta api, bioskop Antrian mobil di depan gerbang jalan tol Antrian kendaraan di jalan umum.

Operasi Queue Create : membuat queue baru yang masih kosong EnQueue: Memasukkan/menyisipkan data baru pada tail (queue) DeQueue: Mengeluarkan/menghapus data terdepan/pertama dari antrian (di front), jika queue tidak kosong Clear: Menghapus seluruh antrian Empty/IsEmpty: Memeriksa apakah antrian kosong(mengembalikan nilai true jika queue kosong) Full/IsFull: Memeriksa apakah antrian penuh (mengembalikan nilai true jika queue penuh) getfront: mengambil data pertama (di front), jika queue tidak kosong.

Operasi Queue dengan Array Create Empty Enqueue Full Dequeue getfront

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

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

Create()

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

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) berarti sudah penuh

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

Dequeue() Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 atau bisa menambah head dgn 1

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

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

Queue dengan Array #include<iostream.h> #include<conio.h> #include<stdlib.h> #define MAX 10 //ukuran maksimum queue void enqueue(int queue[], int *tail, int nilai); void dequeue(int queue[], int *head, int *tail, int *nilai); int main() { int queue[MAX]; int head, tail; int n, nilai; head = tail = (-1);

do { cout<<"Masukkan Nilai Elemen : "; cin>>nilai; enqueue(queue,&tail,nilai); cout<<endl; cout<<"Tekan 1 untuk Melanjutkan"<<endl; cin>>n; } while (n == 1); cout<<"Tekan 1 untuk Menghapus Sebuah Elemen"<<endl;

while(n == 1) { dequeue(queue,&head,&tail,&nilai); cout<<"Nilai telah dihapus : "<<nilai<<endl; cout<<endl; cout<<"Tekan 1 untuk Menghapus Sebuah Elemen : "; cin>>n; } cout<<"Tekan 1 untuk Melanjutkan"<<endl; } while (n == 1); getch(); return 0;

void enqueue(int queue[], int *tail, int nilai) { if(*tail < MAX-1) *tail = *tail + 1; queue[*tail] = nilai; } else cout<<"Queue Penuh, enqueue Tidak Dapat Dilakukan"<<endl; exit(0);

void dequeue(int queue[], int. head, int. tail, int. nilai) { if( void dequeue(int queue[], int *head, int *tail, int *nilai) { if(*head == *tail) cout<<"Queue Kosong, dequeue Tidak Dapat Dilakukan"<<endl; exit(0); } else *head = *head + 1; *nilai = queue[*head];

Tampilan Program