0% menganggap dokumen ini bermanfaat (0 suara)
87 tayangan4 halaman

Praktikum Queue

Dokumen ini membahas tentang queue atau antrian sebagai struktur data dengan sifat FIFO (first in first out). Queue dapat diimplementasikan menggunakan linked list dengan menyimpan pointer ke elemen terdepan dan terbelakang. Program contoh mendemonstrasikan penggunaan queue untuk menyimpan dan mengeluarkan elemen secara berurutan sesuai urutan masuknya.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
87 tayangan4 halaman

Praktikum Queue

Dokumen ini membahas tentang queue atau antrian sebagai struktur data dengan sifat FIFO (first in first out). Queue dapat diimplementasikan menggunakan linked list dengan menyimpan pointer ke elemen terdepan dan terbelakang. Program contoh mendemonstrasikan penggunaan queue untuk menyimpan dan mengeluarkan elemen secara berurutan sesuai urutan masuknya.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 4

MATERI PRAKTIKUM 5

QUEUE (ANTRIAN)

A. TEORI
Queue merupakan struktur data yang memiliki sifat First In First Out
(FIFO). Sesuai dengan kata queue yang berarti antrian, maka queue juga
dapat dianalogikan dengan suatu antrian, dimana setiap elemen yang masuk
lebih awal, juga akan keluar lebih awal. Pada antrian, elemen yang baru akan
diletakkan di bagian paling belakan dari antrian, dan elemen yang keluar adalah
elemen yang paling depan. Antrian dapat dianalogikan sebagai berikut:

Seperti halnya pada stack, untuk mengimplementasikan struktur data


queue ke dalam
pemrograman, kita dapat menggunakan struktur data yang pernah kita
ketahui, seperti array dan linked list. Karena kita mengetahui bahwa array
memiliki kekurangan yang cukup signifikan jika dibandingkan dengan
linked list, maka kita akan mengimplementasikan queue menggunakan
struktur data linked list.

Seperti terlihat di gambar 4, queue dapat dimodelkan dengan menggunakan


linked list. Perbedaan yang cukup signifikan adalah, pada implementasi
queue menggunakan linked list, kita juga perlu mencatat elemen yang
paling belakang. Hal ini dilakukan agar setiap kali ada proses penambahan
data, kita tidak perlu menelusuri list dari awal sehingga proses insert menjadi
efisien.

Proses-proses yang terdapat di dalam queue secara umum sama dengan


stack. Proses -
proses tersebut adalah:

1. Pemeriksaan status queue, kosong atau berisi


Untuk memeriksa apakah queue memiliki elemen atau tidak, cukup
dengan memeriksa apakah penunjuk ke elemen terdepan (front) menunjuk
ke null atau tidak. Jika null, maka kembalikan status bahwa stack
kosong, jika tidak maka kembalikan status bahwa stack tidak kosong.

2. Insert
Pada queue, proses insert selalu meletakkan elemen baru di atas elemen
yang paling depan (front).

3. Remove
Pada queue, proses remove selalu menghapus elemen yang terletak
paling depan (front). Elemen yang dikeluarkan oleh proses remove akan
dikembalikan (return) agar dapat digunakan oleh baris yang memanggil
proses remove.

Untuk lebih lengkapnya, penjelasan queue pada java dapat dilihat pada java
api:
https://docs.oracle.com/javase/7/docs/api/

B. PRAKTIKUM

Praktikum 5
1. Buat Project Java dengan Nama : NIM_Nama_Praktikum6
2. Buat Package baru dengan nama: praktikumqueue
3. Buat Kelas baru dengan nama: Data
4. Ketikkan kode berikut pada area koding

package praktikumqueue;

public class Data {


int data;
Data next;

1. Buat Kelas baru dengan nama: Queue


2. Ketikkan kode berikut pada area koding
package praktikumqueue;

public class Queue {


Data front, rear;
void insert (Data input) {
if (isEmpty())
front = input;
else
rear.next = input;
rear = input;

}
Data remove() {
Data tmp = front;
front = front.next;
return tmp;
}
boolean isEmpty(){
return (front==null);

1. Buat Kelas baru dengan nama: QueueRunner


2. Ketikkan kode berikut pada area koding

package praktikumqueue;

public class QueueRunner {


public static void main (String[] args) {
Queue q = new Queue();
Data tmp;
tmp = new Data();
tmp.data=12;
q.insert(tmp);

tmp = new Data();


tmp.data=9;
q.insert(tmp);

tmp = new Data();


tmp.data=11;
q.insert(tmp);

tmp = new Data();


tmp.data=2;
q.insert(tmp);

tmp = new Data();


tmp.data=7;
q.insert(tmp);

while (!q.isEmpty()) {
tmp=q.remove();
System.out.println(tmp.data);
}

Simpan dan jalankan


Hasil Program

Anda mungkin juga menyukai