STRUKTUR DATA Pertemuan 6 QUEUE QUEUE Antrean queue

  • Slides: 27
Download presentation

STRUKTUR DATA – Pertemuan 6 QUEUE

STRUKTUR DATA – Pertemuan 6 QUEUE

QUEUE Antrean (queue) adalah struktur data yang mempunyai sifat yakni data yang masuk terlebih

QUEUE Antrean (queue) adalah struktur data yang mempunyai sifat yakni data yang masuk terlebih dahulu maka dia yang akan diproses keluar terlebih dahulu. Ini disebut juga dengan sifat FIFO (First In First Out). Pada antrian dikenal istilah “depan” dan “belakang”

ilustrasi

ilustrasi

Operasi dasar dalam antrean Operasi dasar pada antrean berupa insert dan remove • Insert,

Operasi dasar dalam antrean Operasi dasar pada antrean berupa insert dan remove • Insert, menyatakan operasi untuk memasukkan data ke dalam antrean. Operasi ini biasa dinyatakan dalam bentuk insert(A, d) atau kadang disingkat dengan insert(d). istilah enqueue biasa digunakan untuk menyatakan operasi pemasukan data ke dalam antrean

 • Remove, menyatakan operasi untuk mengambil data dari antrean. Operasi ini biasa dinyatakan

• Remove, menyatakan operasi untuk mengambil data dari antrean. Operasi ini biasa dinyatakan dengan remove(A) atau remove(). Istilah dequeue terkadang digunakan untuk menyatakan operasi pengeluaran data dari dalam antrean

Pada class queue banyak sekali method yang digunakan. Method tersebut diperlukan untuk membuat sebuah

Pada class queue banyak sekali method yang digunakan. Method tersebut diperlukan untuk membuat sebuah program antrean lebih mudah dipahami.

Method pada class queue

Method pada class queue

Implementasi method pada class queue 1. Method void inisialisasi method void inisialisai berfungsu sebagai

Implementasi method pada class queue 1. Method void inisialisasi method void inisialisai berfungsu sebagai pengidentifikasian awal dari antrean yang dibuat. Di dalam method ini akan ditentukan seberapa panjang antrean dan kondisi awal dari antrean yang dibuat.

Static void inisialisasi( int i) { ukuran = i; queue=new int [ukuran]; top=0; }

Static void inisialisasi( int i) { ukuran = i; queue=new int [ukuran]; top=0; }

2. Method boolean isempty method ini digunakan untuk memerikasa apakah antrean didapatkan dengan memeriksa

2. Method boolean isempty method ini digunakan untuk memerikasa apakah antrean didapatkan dengan memeriksa nilai top antrean atau tidak. Jika top bernilai 0, antrean itu bermakna kosong. Namun jika tidak, berarti antrean tersebut memiliki elemen.

Static boolean isempty() { Return top<=0 }

Static boolean isempty() { Return top<=0 }

3. Method boolean isfully method boolean isfully berfungsi untuk memeriksa apakah suatu antrean sudah

3. Method boolean isfully method boolean isfully berfungsi untuk memeriksa apakah suatu antrean sudah penuh atau belum. Fungsi ini diperlukan pada pengeluaran antrean (metode pop). Method boolean isfully melakukan pengecekan sebelum perintah untuk mengeluarkan antrean diberikan.

Static boolean isfully() { return top >= ukuran; }

Static boolean isfully() { return top >= ukuran; }

4. Method insert method ini berfungsi untuk menambahkan elemen antrean pada bagian belakang. Penambahan

4. Method insert method ini berfungsi untuk menambahkan elemen antrean pada bagian belakang. Penambahan ini dilakukan jika antrean tidak penuh. Pada saat sebuah elemen ditambahkan ke dalam antrean, jumlah antrean yang kosong akan berkurang satu.

static void insert(int i){ if(isfully()){ System. out. println("maaf, antrian penuh"); } else { System.

static void insert(int i){ if(isfully()){ System. out. println("maaf, antrian penuh"); } else { System. out. println("nilai "+i+" masuk antrian"); queue[top++]=i; } }

5. Method out (pop) fungsi out digunakan untuk mengeluarkan nilai dari antrean. Berdasarkan aturan

5. Method out (pop) fungsi out digunakan untuk mengeluarkan nilai dari antrean. Berdasarkan aturan yang telah dibahas sebelumnya, dalam sebuah antrean nilai yang pertama masuk merupakan nilai yang pertama keluar (FIFO). Untuk mengaplikasikan aturan tersebut kedalam methode pop perlu dipikirkan solusi untuk menggeser data ke bagian depan, oleh karena itu perintah looping digunakan pada method ini

static void pop() { if(isempty()) { System. out. println("maaf, antrian kosong"); }else { int

static void pop() { if(isempty()) { System. out. println("maaf, antrian kosong"); }else { int pop=queue[0]; int i=1; System. out. println("nilai "+pop+" keluar antrian"); while (i<top) { queue [i-1]=queue[i]; i++; } top--; } }

6. Method display method display() berfungsi untuk menampilkan isi data dari antrean yang dibuat.

6. Method display method display() berfungsi untuk menampilkan isi data dari antrean yang dibuat. Proses yang dilakukan cukup sederhana, yaitu melakukan looping terhadap seluruh indeks yang ada (nilai top)

static void display() { System. out. println("isi antrian : "); int i=0; while(i<top) {

static void display() { System. out. println("isi antrian : "); int i=0; while(i<top) { System. out. println("antrian ke ["+(i+1)+"] : "+queue[i]); i++; } }

 • Perintah while(i<top) yang berfungsi untuk menelusuri seluruh antrean dan , menampilkan nilainya

• Perintah while(i<top) yang berfungsi untuk menelusuri seluruh antrean dan , menampilkan nilainya

7. Method find method find() hampir mirip dengan method display(). Pada method ini juga

7. Method find method find() hampir mirip dengan method display(). Pada method ini juga menggunakan looping untuk menelusuri seluruh antreannya. Namun perbedaannya adalah perintah opsional if(i==queue[temp]) yang ditambahkan dalam method find. Perintah opsional tersebut berfungsi untuk mencari nilai yang diinginkan (int i) di dalam antrean

static void find(int i) { } int temp=0; boolean hasil=false; while(temp<top) { if(i==queue[temp]) {

static void find(int i) { } int temp=0; boolean hasil=false; while(temp<top) { if(i==queue[temp]) { hasil=true; break; } temp++; } if(hasil) System. out. println("nilai "+i+" ditemukan di antrian ke "+(temp+1)); else System. out. println("antrian tidak ditemukan");

public static void main(String[] args) { queue a=new queue(); a. inisialisasi(4); a. pop(); a.

public static void main(String[] args) { queue a=new queue(); a. inisialisasi(4); a. pop(); a. insert(12); a. insert(5); a. insert(2); a. insert(3); a. display(); a. insert(9); a. pop(); a. display(); a. find(3); a. find(13); } }

Methode void main merupakan method utama pada class queue. Method tersebut akan memamnggil method

Methode void main merupakan method utama pada class queue. Method tersebut akan memamnggil method lain sehingga program antrean dapat dijalankan. Skenario di atas dibuat untuk menunjukkan bahwa program antrean dapat berjalan dengan baik. Dengan membatasi jumlah antrean menjadi 4 saja, apabila jumlah nilai yang dimasukkan lebih dari 4 maka pesan “maaf antrian penuh” akan ditampilkan

output

output

SEKIAN DAN TERIMA KASIH

SEKIAN DAN TERIMA KASIH