P. 1
Tupen Queue

Tupen Queue

|Views: 250|Likes:
Published by Abrianto Nugraha

More info:

Published by: Abrianto Nugraha on Jun 19, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

01/06/2014

pdf

text

original

TUGAS PENDAHULUAN PRAKTIKUM STRUKTUR DATA MODUL 8 QUEUE

Nama Praktikan : Abrianto Nugraha (1235010002) Instruktur : Anita Sari Wardhani S.Kom Asisten : Achmad Nuruddin (1135010057)

LABORATORIUM REKAYASA PERANGKAT LUNAK SISTEM INFORMASI – FTI UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JATIM 2013

LEMBAR PENGESAHAN
Nama NPM Sesi Judul : Abrianto Nugraha : 1235010002 : A2-1 : QUEUE (Modul 8) Surabaya, 26 Juni 2013

Achmad Nuruddin ( 1135010057 )

BAB I
DASAR TEORI MODUL 8 Queue (antrian) adalah struktur data dimana data yang pertama kali dimasukkan adalah data yang pertama kali bisa dihapus. Atau bisa juga disebut dengan struktur data yang menggunakan mekanisme FIFO (First In First Out).

Queue dalam kehidupan sehari-hari seperti antrian pada penjualan tiket kereta api, dimana orang yang pertama datang adalah orang yang pertama kali dilayani untuk membeli tiket. Jika ada orang baru yang datang akan membali tiket, maka posisinya berada pada urutan paling belakang dalam antrian tersebut. Orang yang berada pada posisi terakhir dalam antrian adalah yang terakhir kali dapat dilayani dan memperoleh tiket kereta api (kalau kurang beruntung, maka akan kehabisan tiket). Contoh lain adalah nasabah yang antri di teller bank, paket data yang menunggu untuk ditransmisikan lewat internet, antrian printer dimana terdapat antrian print job yang menunggu giliran untuk menggunakan printer, dsb. Fungsi dalam Queue: • Fungsi init : digunakan untuk membuat queue baru atau kosong, yaitu dengan memberi nilai awal (head) dan nilai akhir (tail) dengan -1. • Fungsi full: digunakan untuk mengetahui apakah queue sudah penuh atau belum. Dilakukan dengan memeriksa nilai akhir (tail) apakah sudah sama dengan maksimal queue. • Fungsi empty: digunakan untuk mengetahui apakah queue masih kosong atau tidak. Dilakukan dengan memeriksa nilai akhir (tail) bernilai -1 atau tidak. • Fungsi enqueue : digunakan untuk menambahkan elemen ke dalam queue. • Fungsi dequeue : digunakan untuk mengambil elemen dari queue, dengan cara memindahkan semua elemen satu langkah ke posisi depannya sehingga elemen yang paling depan tertimpa. • Fungsi clear : digunakan untuk menghapus semua elemen dalam queue. Ada dua cara yang bisa digunakan, yaitu menuliskan fungsi seperti inisialisasi atau memanggil fungsi remove sampai queue kosong. Istilah-istilah yang digunakan dalam queue Memasukkan data (insert) disebut juga dengan put, add, atau enqueue. (antrian)

Menghapus data (remove) biasa disebut dengan istilah delete, get, atau dequeue. Bagian belakang queue, dimana data bisa dimasukkan disebut dengan back, tail (ekor), atau end (akhir). Sedangkan bagian depan (front) queue dimana data bisa dihapus juga biasa disebut dengan istilah kepala(head). Circular Queue Di dunia nyata apabila seseorang sedang mengantri (misalnya antri tiket kereta api), apabila telah dilayani dan memperoleh tiket, maka ia akan keluar dari antrian dan orang-orang yang berada di belakangnya akan bergerak maju ke dapan. Kita bisa saja menggerakkan setiap item data ke depan apabila kita menghapus data yang terdepan, tetapi hal ini kurang efektif. Sebaliknya kita tetap menjaga setiap item data di posisinya, yang kita lakukan hanyalah merubah posisi front dan rear saja. Yang menjadi permasalahan adalah apabila posisi rear berada pada bagian akhir dari array (atau pada nomor indeks yang terbesar). Meskipun ada bagian yang kosong di awal-awal array – karena mungkin data telah dihapus, data baru tidak bisa dimasukkan lagi karena rearnya sudah tidak bisa bergerak lagi. Atau mungkinkah posisi rear nya bisa berpindah? Situasi seperti itu bisa dilihat seperti gambar berikut:

Untuk menghindari permasalahan seperti itu (tidak bisa memasukkan data baru) – meskipun queue-nya belum penuh, maka front dan rear-nya berputar (kembali) ke bagian awal array. Kejadian seperti ini dinamakan dengan circular queue (atau kadang-kadang disebut juga dengan istilah ring buffer). Kejadian seperti ini seperti terlihat pada gambar berikut:

Perhatikan bahwa setelah rear berputar (kembali) ke bagian awal array, posisinya sekarang di bawah front, kebalikan dari posisi aslinya (front berada di bawah rear). Coba hapus beberapa data sehingga pada suatu saat front juga akan berputar (balik) ke bagian awal array, sehingga front dan rear akan ke susunan aslinya (front di bawah rear).

BAB II
PERMASALAHAN 1. Membuat program untuk mengelola data dengan QUEUE : a. Tambah Data b. Menampilkan Data c. Menghapus Data (Delete) d. Tampilan / Output

BAB III
PENYELESAIAN 1. Membuat program untuk mengelola data dengan QUEUE :

a. Tambah Data

b. Menampilkan Data

c. Menghapus Data (Delete)

d. Tampilan / Output

BAB IV
KESIMPULAN

Queue (antrian) adalah struktur data dimana data yang pertama kali dimasukkan adalah data yang pertama kali bisa dihapus. Atau bisa juga disebut dengan struktur data yang menggunakan mekanisme FIFO (First In First Out). Pengertian : Enqueue yaitu memasukkan elemen ke dalam antrian Dequeue yaiut menghapus elemen dari antrian Front yaitu melihat elemen terdepan dari antrian Rear yaitu melihat elemen paling belakang dari antrian IsEmpty, Fungsi IsEmpty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. Hal ini dilakukan dengan mengecek apakah head masih menunjukkan pada Null atau tidak. Jika benar berarti queue masih kosong IsFull, Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bisa menampung data dengan cara mengecek apakah Jumlah Queue sudah sama dengan MAX_QUEUE atau belum. Jika benar maka queue sudah penuh

-

BAB V
DAFTAR PUSTAKA  Modul Praktikum Struktur Data  www.google.com  http://fennyjh3.blogspot.com/2013/05/queue-pada-java.html

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->