Anda di halaman 1dari 14

Queue

2015

LAPORAN PRAKTIKUM
KONSEP PEMROGRAMAN
QUEUE

DISUSUN OLEH :
YANNY WULANDARI
M0514052

ASISTEN :

1. ALFATH PRABANUADHI

/ M0513006

2. DELLA FITRAYANI BUDIONO / M0513014


3. DONNY FERNANDO

/ M0513022

4. IRENE PATASIK

/ M0513023

JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
SURAKARTA
Kamis, 8 April 2015

Queue
A. ScreenShot program Stack array

Public class PSDA_5. Java

Class arraystack. Ja

2015

Queue
Class link1. Java

2015

Queue
Class link2. Java

2015

Queue
Jika Di Run
Menu

Remove All data

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.

Class link2. Java


Class ini digunakan untuk operasi method data dengan Array, yaitu untuk
memproses pemindahan ke Recycle bin, atau dequeue data dari linked list di
class link1 menjadi enqueue data array di class link2, Berikut perintah disini
yaitu :

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 ).

Proses berjalannya program :

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.

Pernyataan do while, yaitu pernyataan yang digunakan menampilkan menu utama,


dan tulisan memasukkan pilihan pada user, kemudian menyimpannya pada variabel menu,
yang selanjutnya akan masuk pernyataan switch, menu ini akan terus diulang sampai
akhirnya pernyataan while terpenuhi yaitu diakhir :

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

tadi sebagai tambah

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

Break; ke Menu utama.

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 :

Memanggil method qu. delete , pada class link1.


Memproses method qu. delete () :

Method add akan memproses yaitu :

Node1 temp = head : Objek Node1 temp yang menunjuk ke head


(Antrian terdepan)

If(isEmpty()): Memerikasa apakah queue Linked list tersebut kosong


dengan cara memanggil method isEmpty, jika kosong maka akan
menampilkan data is empty.

Jika tidak kosong maka head tadi menunjuk next nya.

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.

Memproses method movere pada class link2 () :


Method movere memakai hps sebagai a yang bertipe string, prosesnya yaitu:

isFull() : Memeriksa apakah array penuh dengan memanggil method


isFull, jika penuh maka tampilkan Data full.
Tapi jika tidak penuh maka, pastikan tidak kosong dulu dengan
memanggil method isEmpty
Jika tidak kosong ataupun penuh proses, front++ (Antrian ditambah
dengan menambah indeks array nya, kemudian..
A[++back] =a: yaitu jika antrian bertambah di depan maka belakang juga
bergeser 1 indeks array dan masukkan variabel a tadi sebagai yang
mengantri.

Break dan kembali ke manu utama.

Case 3 : akan diproses jika menu ( pilihan yang dimasukkan user ), adalah 3
yaitu menampilkan semua data. Proses dan perintah disini yaitu :

Menampilkan judul pilihan dengan system.out.println.


Memanggil method qu.tampil () pada class link1 :

2015

Queue

Method tampil yang akan memproses:

If( isEmpty()): Memeriksa apakah data pada queue kosong dengan


memanggil method isEmpty, jika kosong akan menampilkan string data
is empty

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().

Break, kembali ke manu utama.

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 :

Menampilkan judul pilihan dengan system.out.println.


Memanggil method tampildel() pada class link2 :

Method tampildel() yang akan memproses:

If( isEmpty()): Memeriksa apakah data pada array A kosong dengan


memanggil method isEmpty, jika kosong akan menampilkan string data
is empty

2015

Queue

Jika tidak kosong, maka akan dibaca antrian dari indeks ke i front/
terdepan sampai i<= back, antrian indeks paling belakang/ terakhir.

Tampilkan hasil dari i/ yang mengantri dengan system.out.println.

Break, kembali ke manu utama.

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 :

Menampilkan judul pilihan dengan system.out.println.


Memanggil method kosong() pada class link1. java :

Method void kosong yang akan memproses :


Head = null: bagian awal node linked list akan dijadikan null, yang berarti
menghapus semua linked list.
Memanggil method makeEmpty pada link2. Java, untuk mengosongkan
queue array/ recycle bin/ yang pernah dihapus.
Method make Empty :

Method makeEmpty akan mengosongkan data pada array A/ Recycle bin


dengan cara front dan back jadikan -1lagi.

Break, kembali ke manu utama.

2015

Queue
Case 6 : akan diproses jika menu ( pilihan yang dimasukkan user ), adalah 6
yaitu keluar dari program. Proses dan perintah disini yaitu :

Menampilkan judul pilihan dengan system.out.println. setelah break;


Default : Akan diproses jika menu ( pilihan yang dimasukkan user ), adalah selain
1 - 6. Proses dan perintah disini yaitu

Menampilkan tulisan pilihan salah dengan system.out.println. Kemudian break.

2015

Anda mungkin juga menyukai