2015
LAPORAN PRAKTIKUM
KONSEP PEMROGRAMAN
QUEUE
DISUSUN OLEH :
YANNY WULANDARI
M0514052
ASISTEN :
1. ALFATH PRABANUADHI
/ M0513006
/ M0513022
4. IRENE PATASIK
/ M0513023
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
SURAKARTA
Kamis, 8 April 2015
Queue
A. ScreenShot program Stack array
Class arraystack. Ja
2015
Queue
Class link1. Java
2015
Queue
Class link2. Java
2015
Queue
Jika Di Run
Menu
2015
Queue
2015
B. Analisa Program
Source code pendekrasian dari method :
Awal class PSDA_5
Awal dari program yang bernama PSDA_5, tergabung dalam 1 package, import
java.util. Scanner berfungsi untuk memasukkan fungsi yang ada padanya, yaitu
fungsi untuk scanner ( untuk membaca data yang dituliskan user.
Public class
PSDA_5 adalah main class yaitu yang akan dieksekusi pertama kali ketika program
di run.
Class link1. Java.
Class ini digunakan untuk operasi method data dengan linked list, yaitu untuk
memproses enqueue masukan pertama ke linked list dan dequeue masukan
tersebut ke link2 , sehingga terbentuklah program recycle bin sederhana.
Berikut perintah disini yaitu :
Pada class ini terdapat pendeklarasian dari Linked list yaitu Node1 yang didalamnya
terdapat pointer next, dan public String dari data. Sedangkan Node1 merupakan Tipe
String dari data (d), dan inisiasi awalnya pointer next menunjuk ke null.
Queue
Selanjutnya terdapat pendeklarasian variabel pointer Node1 head ( Node yang
terdapat paling awal), Node1 tail ( Node yang terdapat paling akhir) dan Node1 sem (
Objek Node bernama sem). Kemudian ada link qu2 = new link2() yaitu untuk
memberi akses ke class link2 dengan nama qu2._
Method private void Display(), yang akan diproses jika dipanggil dengan maksud
menampilkan data dari Linked list ke layar, dengan System.out.println yang diambil
dari variabel data.
Method boolean isEmpty yang digunakan untuk memeriksa apakah linked list
tersebut kosong atau tidak, jika kosong maka akan dikembalikan nilai head/ awal
adalah null kepada yang memanggil nantinya.
Pendeklarasian class link2, yaitu Array sebagai media penyimpanan data, yaitu:
String A[] New String [15] : pendeklarasian Array bernama A yang
datanya berupa String dengan kapasitas maksimalnya 15 data.
Static int front = -1,back = -1 : Deklarasi front ( Antrian terdepan pada
array yaitu terletak di indeks -1 karena array dimulai dari null), dan back
(Antrian paling belakang -1 juga karena array masih kosong)
2015
Queue
Public boolean isEmpty untuk memeriksa apakah queue pada array A masih
kosong , maka kembalikan nilai back = -1 (Antrian paling belakang, indeks array).
Public boolean isFull untuk memeriksa apakah queue pada array A sudah penuh,
maka kembalikan nilai back = (Antrian paling belakang, indeks array) = Panjang
arry-1( disini berarti jika antrian paling belakang berada pada indeks 15 1, karena
array dimulai dari indeks null makanya dikurangi 1 ).
Awalnya, yaitu Public class main pada PSDA_5 akan dieksekusi pertama kali, yang
didalamnya terdapat perintah pendekrasian:
Scanner input = new scanner : perintah scanner dengan variabel input.
Int menu : pendeklarasian variabel menu ( pilihan yang diinputkan user, pada
menu utama )
Link1 qu = ... : untuk mengakses class link1. java dengan perintah qu.__
Link2 qu2 = .....: untuk mengakses class link2. Java dengan perintah qu2.__
2015
Queue
System.out print untuk menampilkan string dari menu yang tersedia dan bisa
digunakan pada program ini.
Akhir pengulangan menu utama , yaitu dengan syarat menu yang diinputkan tidak
sama dengan 6.
Pernyataan switch.
Case 1 : akan diproses jika menu ( pilihan yang dimasukkan user ), adalah 1
yaitu add data. Proses dan perintah yang terdapat disini yaitu :
Menampilkan judul dan perintah untuk add data , dengan system. Out. Println.
Menyimpan data tersebut dalam variabel String tambah, dengan sc.nextInt.
Memanggil method qu.add(tambah) : method pada class link1. java dengan
mengirimkan variabel tambah tadi.
Memproses method add() :
2015
Queue
Method add akan memakai variabel tambah
2015
disini,
prosesnya yaitu :
If(head == null) : jika head / node awalnya null. Artinya linked list masih
kosong, maka head dan tail tambahkan pada null/ mulai mengantri,
kemudian tampilkan data added.
Tapi jika tidak kosong, maka tambahkan/ antrikan data baru tadi pada
node paling akhir yaitu tail.next , dan tail itu sendiri, setelahnya
menampilkan string data added
Case 2 : akan diproses jika menu ( pilihan yang dimasukkan user ), adalah 2
yaitu delete data. Yang berarti data dari linked list yang pertama dimasukkan di
dequeue dan dipindahkan/ didequeue ke array list ( Recycle bin ), Proses dan
perintah disini yaitu :
Queue
String hapus = temp. Data, artinya Variabel String bernama hps akan
menyimpan data/ isi dari objek temp. Tadi.
Selanjutnya memanggil method movere pada qu2 yaitu pada class link2
dengan mengirimkan variabel hps yang disimpan tadi.
Case 3 : akan diproses jika menu ( pilihan yang dimasukkan user ), adalah 3
yaitu menampilkan semua data. Proses dan perintah disini yaitu :
2015
Queue
Jika tidak kosong, maka Node1 sem sebagai pointer menunjuk head/
paling awal dan periksa dengan while yaitu sampai bertemu dengan null/
Node tail. Next yang paling akhir, dan tampilkan dengan method disply().
Case 4 : akan diproses jika menu ( pilihan yang dimasukkan user ), adalah 4
yaitu menampilkan semua data pada recycle bin atau yang sudah dihapus pada linked
list/ dequeue pada linked list dan menjadi data enqueue array A. Proses dan perintah
disini yaitu :
2015
Queue
Jika tidak kosong, maka akan dibaca antrian dari indeks ke i front/
terdepan sampai i<= back, antrian indeks paling belakang/ terakhir.
Case 5 : akan diproses jika menu ( pilihan yang dimasukkan user ), adalah 5
yaitu menghapus semua data pada recycle bin atau pada queue linked list. Proses dan
perintah disini yaitu :
2015
Queue
Case 6 : akan diproses jika menu ( pilihan yang dimasukkan user ), adalah 6
yaitu keluar dari program. Proses dan perintah disini yaitu :
2015