Anda di halaman 1dari 41

BAB I

PENDAHULUAN

A. Latar Belakang
Salah satu alasan mengapa Java dan Netbeans cukup populer dikalangan
masyarakat (pelajar dan mahasiswa), adalah karena kedua tools tersebut
didistribusikan secara gratis. Jadi, aplikasi ini cukup di unduh dari situs resmi yang
menyediakannya, dan anda sudah bisa membuat aplikasi berbasis Java dan database.
Dalam modul pertama ini, kita akan memulai pembahasan tentang Java dan
Netbeans dengan proses instalasi.

B. Tujuan Praktikum
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk:
1. Mampu meng-install dengan tepat dan benar.
2. Mendeskripsikan konsep dasar aplikasi java dan netbeen.
3. Membuat program sederhana pada aplikasi java dan netbeen.

1
BAB II
DASAR TEORI

A. Instalasi Java JDK


Tool pertama yang perlu disiapkan dan diinstal adalah java. Berikut ini
langkah – langkah untuk menginstal java.
1. Download Java JDK versi terbaru dari situs www.oracle.com

Gambar 1.1. Halaman Download JDK Versi Terbaru

2. Setelah proses download selesai, klik ganda file installer untuk membuka jendela
instalasi
3. Klik tombol Next untuk mulai menginstall

Gambar 1.2. Memulai Instalasi


2
4. Klik Next sampai muncul jendela proses penginstalan

Gambar 1.3. Proses Instalasi Sedang Berlangsung

5. Setelah proses penginstalan selesai, klik Close untuk menutup jendela instalasi
java

Gambar 1.4. Halaman Finish Proses Instalasi JDK

3
B. Instalasi Netbeans
Aplikasi kedua yang akan diinstal adalah NetBeans. Pada bagian ini akan
dijelaskan langkah – langkah instalasi NetBeans menggunakan platform Microsoft
Windows. Netbeans didistribusikan secara gratis bagi pengguna Microsoft Windows.
Berikut ini adalah langkahlangkah untuk meng-install Netbeans pada sistem operasi
MS. Windows.
1. Download installer NetBeans pada situs https://netbeans.apache.org/download/

Gambar 1.6. Halaman Download File Instalasi Java Netbeans

2. Klik ganda file installer untuk memulai proses instalasi

Gambar 1.7. Halaman Awal Proses Instalasi Java Netbeans

4
3. Klik Next dan pilih Accept the license agreement

Gambar 1.8. Halaman License Agreement File Instalasi Java

4. Kemudian tentukan directory untuk meletakkan file instalasi NetBeans

Gambar 1.9. Halaman Directory Meletakkan File Instalasi Java

5
5. Beberapa saat kemudian akan terlihat jendela berisi rangkuman proses
instalasi yang dilakukan

Gambar 1.10. Halaman Rangkuman Proses Instalasi Java

6. Klik install untuk mulai melakukan instalasi NetBeans. Tunggu sampai proses
instalasi selesai dengan sempurna
7. Setelah proses instalasi selesai, klik finish untuk menutup jendela instalasi

Gambar 1.11. Halaman Instalasi Selesai


6
C. Membuat Aplikasi “Hello Word”
Aplikasi “Hello World” merupakan aplikasi yang sangat sederhana. Aplikasi
ini umum digunakan untuk melakukan pengenalan pada sebuah aplikasi
pemrograman. Output dari aplikasi ini hanya menampilkan tulisan “Hallo World” di
layar monitor. Berikut listing program untuk menampilkan “Hallo World”.

Gambar 1.12. Aplikasi Java Sederhana


Setelah program selesai disimpan, kemudian di jalankan, output yang dihasilkan
adalah sebagai berikut:

Gambar 1.13. Tampilan Output Hello Word

D. Array
Array dapat didefinisikan sebagai kumpulan item yang diurutkan berdasarkan
indeks oleh bilangan bulat yang berurutan. Dalam pemrograman java juga mengenal
array, yang harus dideklarasikan terlebih dahulu pada proses implementasinya.

𝑡𝑖𝑝𝑒𝑑𝑎𝑡𝑎[𝑖𝑛𝑑𝑒𝑥] 𝑣𝑎𝑟𝑖𝑎𝑏𝑒𝑙 = 𝑛𝑒𝑤 𝑡𝑦𝑝𝑒[𝑠𝑖𝑧𝑒]

7
BAB III
TUGAS PENDAHULUAN

1. Tulis dan jalankan listing program berikut:

Gambar 13. Tampilan Source Code

Pada source code tersebut, ukuran array yang dideklarasikan adalah 5. Item yang diisi
hanya sampai index ke-2, artinya array yang diisi hanya 3 item.
2. Tulis dan jalankan listing program berikut:

Gambar 15. Tampilan Source Code

Pada source code tersebut, ukuran array yang dideklarasikan adalah 13. Berdasarkan
source code di atas, apabila ada yang error, silahkan diperbaiki errornya dimana tanpa
menghapus source code yang ada.

8
BAB IV
IMPLEMENTASI

1. Tulis dan jalankan listing program berikut:

Gambar 1.14. Tampilan Source Code

Pada source code tersebut, ukuran array yang dideklarasikan adalah 5. Item yang diisi
hanya sampai index ke-2, artinya array yang diisi hanya 3 item. Tuliskan output dari
source code tersebut, dan berikan analisanya !

Gambar 1.15. Tampilan Output


Analisa : karena array new String[5]yang dideklarasikan 5 item diisi sampai index
ke-2,Array yang diisi 3 item saat dijalankan source code yang berdetct 3 “Dani Dio
Dandi” yang 2 berdetct null

2.Tulis dan jalankan listing program berikut

9
Gambar 1.16. Tampilan Source Code

Pada source code tersebut, ukuran array yang dideklarasikan adalah 13. Berdasarkan
source code di atas, apabila ada yang error, silahkan diperbaiki errornya dimana tanpa
menghapus source code yang ada.

10
Gambar 1.18. Tampilan Output

Analisa : Tanpa adanya Source Code ini


public static void main(String[] args) {
for (int i = 0; i < nama_bulan.length; i++)
{ System.out.println(nama_bulan[i] + " ");
}
System.out.println("");
}
Tidak dapat medeklarasikan,mendect hasil ke run akan terjadi Error.

11
A. Analisa Praktikum
Pada praktikum hari ini soal pertama Karena pada source code array new
String[5]yang dideklarasikan 5 item diisi sampai index ke-2,Array yang diisi 3 item
saat dijalankan source code yang berdetct 3 yang 2 berdetct null.
Soal kedua Karena pada Source code Public Class “Nama java class”{ Heading dari
aplikasi, jika diubah aplikasi tidak berjalan.
Public Static Void Main (String[]args){ Pembuka argument.(String [] args){ String
(semua karakter dalam masuk ke dalamnya), args (argumen).
Soal ketiga Karena pada Source code Import java.util.Scanner ; untuk
menginputkan data atau nilai saat setelah program dijalankan, mempermudah
pemahaman.

B. Kesimpulan
Array dapat disimpulkan sebagai kumpulan beberapa item yang diurutkan
berdasarkan indeks. Saat penulisan source code juga harus butuh ketelitian agar tidak
membuat program error.

12
BAB I
PENDAHULUAN

A. Latar Belakang

Pada modul 1 (satu) sebelumnya membahas materi tipe struktur data Array yang
digunakan untuk menyimpan data dalam indeks yang terurut. Terdapat kelemahan jika kita
menggunakan tipe struktur data Array sebagai media penyimpanan, dimana panjang dari data
harus telah ditentukan terlebih dahulu dan semisal kita akan menambah data lagi pasti tidak
akan bisa. Untuk mengatasi kelemahan dari tipe struktur data Array, ada cara lain yang dapat
digunakan yaitu menggunakan linked list.
Linked list merupakan salah satu tipe struktur data yang dapat kita pilih untuk
menyimpan data dengan jumlah nodes, dimana setiap node akan menunjuk pada node lain
melalui sebuah pointer. Bentuk dari linked list ini paling sederhana, dimana sekumpulan
nodes yang terhubung menjadi satu yang membentuk untaian. Masing masing node
menyimpan data dan “alamat” yang akan menghubungkan node tersebut dengan node
sesudahnya (next node). Linked List dibagi menjadi Single Linked List, Double Linked List,
Circular Linked List, dll. Representasi dari sebuah linked list, dapat dilihat pada gambar 1
berikut ini :

Gambar 1. Linked List

B. TUJUAN PRAKTIKUM

Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk:

1. Mendefinisikan konsep single linked list dan kegunaannya.

2. Mengidentifikasi studi kasus yang harus diselesaikan menggunakan single linked list.

3. Mengimplementasikan tipe struktur data single linked list ke dalam aplikasi java dan

netbeans.

13
BAB II

DASAR TEORI

Pada modul 2 ini, akan dijelaskan materi tentang single linked list. Pengertian dari
single linked list adalah sekumpulan dari node yang saling terhubung dengan node lain
melalui sebuah pointer (lihat gambar 1). Di dalam sebuah single linked list, terdapat 1 pointer
yang menjadi gambaran besar, yaitu pointer HEAD yang menunjuk pada node pertama di
dalam linked list itu sendiri. Operasi yang dapat dilakukan pada linked list adalah
menambahkan node (insert) dan menghapus node (delete).
Push (single) merupakan sebuah operasi insert dimana di dalam linked list terdapat 2
kemungkinan insert, yaitu insert di depan (pushDepan) ataupun insert di belakang
(pushBelakang). Operasi pushDepan berarti data yang paling baru akan dimasukkan dan akan
ditempatkan berada di depan data lainnya, sedangkan pushBelakang berarti data yang paling
baru akan berada di belakang data lainnya dan dihubungkan dengan next.
Langkah-langkah dalam pengerjaan single linked list :

1. Class Node.

Langkah pertama dalam membuat program linked list adalah mendefinisikan apa itu
node. Dalam pemrograman Java NetBean, sebaiknya pendefinisian node ini dibuat dalam
sebuah class. Berikut source code class node pada Java NetBean :

class Nodes {
int value;
Nodes next;
Nodes() {
}

Nodes(int value)
{ this(value, null);
}

Nodes(int value, Nodes next) {


this.value = value;
this.next = next;
}
}

14
1. Inisialisasi.

Proses inisialisasi ini digunakan untuk mendeklarasikan sekaligus memberikan nilai awal
pada pointer head dan tail. Berikut source code inisialisasi pada Java NetBean:
public class Node
{ private Nodes
head; private int
size;

public Node(){
head = new Nodes(0);
size = 0;
}

public Node(Nodes head, int size) {


this.head = head;
this.size = size;
}

public void insertHead(int x) {


insertN(x, 0);
}

public void insertTail(int data) {


insertN(data,size);
}

2. isEmpty.

Proses isEmpty ini digunakan untuk mengetahui linked list dalam keadaan kosong (null).
Berikut source code isEmpty pada Java NetBean :

Boolean isEmpty()
{ Return size ==
0;
}

3. Size.

Proses size ini digunakan untuk mengetahui banyak node pada linked list. Size akan
bertambah 1 setiap ada node baru yang ditambahkan pada linked list dan size akan
berkurang 1 setiap ada penghapusan node.
int size() {
return size;
}

15
CONTOH KASUS :

1. Bagaimana cara insert data, sehingga diperoleh hasil data “ 6  9  11 “


public static void main(String args[])
{ SingleLinkList myList = new
SingleLinkList(); assert myList.isEmpty();
myList.insertHead(6);
myList.insertHead(9);
myList.insertHead(11);
System.out.println(myList);
}
}

2. Dari data nomer 1, bagaimana cara insert data x=3 dengan menggunakan pushDepan,
sehingga diperoleh hasil “ 3  6  9  11 “
public void insertN(int data, int position) {
checkBounds(position, 0, size);
Nodes p = head;
for (int i = 0; i < position; ++i) {
p = p.next;
}
Nodes nodes = new Nodes(data);
nodes.next = p.next;
p.next = nodes;
size++;
}
Hasil Running dari contoh kasus insert nomer 1 dan 2 adalah sebagai berikut :

Gambar 2. Hasil Running Operasi Insert

Pop merupakan kebalikan dari push, yaitu operasi delete, dimana di dalam linked list
mempunyai 2 kemungkinan delete, yaitu melalui depan (popDepan) ataupun belakang
(popBelakang). popDepan berarti data yang akan dihapus adalah data paling depan,
sedangkan popBelakang berarti data yang akan dihapus adalah datang paling akhir.

CONTOH KASUS ;
16
1. Dari data : “ 3  6  9  11 “, bagaimana cara hapus data x=3 dengan menggunakan
popDepan, sehingga diperoleh hasil “ 6  9  11 “

public void deleteN(int position)


{ checkBounds(position, 0, size -
1); Nodes p = head;
for (int i = 0; i < position; ++i) {
p = p.next;
}
Nodes destroy = p.next;
p.next = p.next.next;
destroy = null;
size--;
}

Hasil Running dari contoh kasus delete nomer 1 adalah sebagai berikut :

Gambar 3. Hasil Running Operasi Delete

17
BAB III
TUGAS PENDAHULUAN

18
BAB IV
IMPLEMENTASI

1. Misalkan anda memiliki angka acak 6, 90, 3, 33, 11. Bagaimana cara melakukan insert
pada single linked list sehingga diperoleh hasil “ 33  6  90  3  11“ ? Sertakan
code dan analisanya.

Gambar 1. Source Code dan Analisa

Analisa: Untuk memperoleh hasil 33  6  90  3  11 dengan menginput source

code insertHead.

19
1. Berdasarkan jawaban nomor 1, bagaimana source code menghapus node head sehingga
diperoleh rangkaian linked list seperti ini “ 6  90  3  11 “ ?

Gambar 2. Source Code dan Analisa

Analisa : Agar dapat menghapus Node Head dan memperoleh hasil 6


 90  3  11 dengan menginput source code deletedHead.

20
1. Berdasarkan jawaban nomor 2, bagaimana source untuk menghapus node tail sehingga
diperoleh hasil seperti berikut “6  90  3” ?

Gambar 3. Source Code dan Analisa


Analisa: Agar dapat menghapus Node Tail dan memperoleh hasil 6 
90  3 dengan menginput source code deletedTail.

21
1. Berdasarkan jawaban nomor 3, bagaimana source untuk menambahkan data 72 pada
node di depan node tail sehingga diperoleh hasil seperti berikut “6  90  72  3” ?

Gambar 4. Source Code dan Analisa


Analisa: Agar dapat menambahkan data ke Node didepan Node Tail dan memperoleh hasil 6
 90  72  3 dengan input source code insertN (72,2).

22
1. Berdasarkan jawaban nomor 4, bagaimana source untuk menghapus data 90 pada node
setelah node head sehingga diperoleh hasil seperti berikut “6  72  3” ?

Gambar 5. Source Code dan Analisa


Analisa: Agar dapat mengahapus data ke Node di depan Node Head
dan memperoleh hasil 6  72  3 dengan input source code
deletedN(1).

23
BAB V
PENUTUP

A. Analisa Praktikum
 Pada soal nomor satu Untuk memperoleh hasil 33  6  90  3  11 dengan
menginput source code insertHead.
 Pada soal nomor dua Agar dapat menghapus Node Head dan memperoleh hasil 6  90
 3  11 dengan menginput source code deletedHead.
 Pada soal nomor tiga Agar dapat menghapus NodeTail dan memperoleh hasil 6  90 
3 dengan menginput source code deletTail.
 Pada soal nomor empat Agar dapat menambahkan data ke Node didepan Node Tail dan
memperoleh hasil 6  90  72  3 dengan input source code insertN (72,2).
 Pada soal nomor lima Agar dapat menghapus data ke Node di depan Node Head dan
memperoleh hasil 6  72  3 dengan input source code deletedN(1).
B. Kesimpulan

Linked list merupakan salah satu tipe struktur data yang dapat kita pilih untuk menyimpan data
dengan jumlah nodes, dimana setiap node akan menunjuk pada node lain melalui sebuah
pointer. Bentuk dari linked list ini paling sederhana, dimana sekumpulan nodes yang terhubung
menjadi satu yang membentuk untaian.

24
BAB I
PENDAHULUAN

A. Latar Belakang

Stack pada Struktur Data dapat diilustrasikan dengan dua buah kotak yang ditumpuk,
kotak yang satu akan ditumpuk diatas kotak yang lainnya. Jika kemudian stack 2 kotak tadi,
ditambah kotak ketiga, keempat, kelima, dan seterusnya, maka akan diperoleh sebuah stack
kotak yang terdiri dari N kotak. Untuk ilustrasi dari stack, dapat dilihat pada gambar 1 berikut
ini.

Gambar 1. Ilustrasi Stack


Stack bersifat LIFO (Last In First Out) artinya benda yang terakhir masuk ke dalam
stack akan menjadi yang pertama keluar dari stack.

B. Tujuan Praktikum
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk:
1. Mendefinisikan konsep dasar stack dengan sifat LIFO beserta kegunaannya.
2. Mendefinisikan operasi yang ada dalam stack.
3. Mengimplementasikan studi kasus yang harus diselesaikan dengan menggunakan stack ke
dalam aplikasi java dan netbeans.

25
BAB II
DASAR TEORI

2.1Pengertian Stack
Pengertian dari stack adalah tipe struktur data dimana proses pengambilan dan
penambahan element dilakukan pada satu ujung yang sama. Pada stack menggunakan array
sebagai penyimpanan datanya. Stack mengikuti konsep dari sifat LIFO atau Last In First Out,

dimana element yang terakhir masuk akan menjadi element yang pertama kali keluar. Untuk
meletakkan sebuah element pada bagian atas dari stack, maka dilakukan operasi PUSH,
sedangkan untuk memindahkan sebuah elemen dari tempat atas tersebut dalam sebuah stack,
maka dilakukan operasi POP. Untuk gambaran stack dengan konsep LIFO dapat dilihat pada
gambar 2 berikut ini.

Gambar 2. Konsep Stack Dengan LIFO

2.2 Operasi Pada Stack


Ada beberapa operasi pada stack, antara lain sebagai berikut :
1. Deklarasi dan Inisialisasi.
Langkah pertama dalam pembuatan stack adalah mendeklarasikan atau menyiapkan
tempat terlebih dahulu, yang meliputi deklarasi class, deklarasi array dan deklarasi
pointer. Setelah itu, proses selanjutnya diinisialisasi terlebih dahulu dengan cara
memberikan nilai awal. Berikut ini source code dari deklarasi dan inisialisai stack pada
Java NetBean:

26
1. isEmpty.
Langkah kedua adalah mengecek data apakah datanya kosong atau tidak dengan
menggunakan isEmpty. Berikut source code dari isEmpty pada Java NetBean.
public boolean isEmpty(){
return Top == -1;
}

2. isFull.
Langkah ketiga adalah mengecek apakah datanya penuh atau tidak dengan menggunakan
isFull. Berikut source code dari isFull pada Java NetBean.
public boolean isFull(){
return Top == Size-1;
}

3. Push.
Langkah keempat adalah bagaimana cara memasukkan data ke dalam stack. Berikut
source code dari push pada Java NetBean.
public void push(String input){
if (isFull()){
System.out.println("Stack Penuh");
}
else{ data[+
+Top] = input;
System.out.println(input);
}
}

27
2. Pop.
Langkah kelima adalah bagaimana cara mengeluarkan data ke dalam stack. Berikut
source code dari pop pada Java NetBean.
public void pop(){
if (isEmpty()){ System.out.println("Stack
Kosong");
}
else{
String temp = data[Top];
data[Top] = data[Top--];
System.out.println("Data dalam " +temp+"dihapusdari
stack");
}
}

3. infoStack.
Langkah terakhir adalah bagaimana cara untuk mendapatkan info atau mengakses data
dari dalam stack.
public void infoStack(){
for (int i=0; i<=Top; i++)
{ System.out.println(data[i]
);
}
}

CONTOH KASUS :
1. Bagaimana cara meletakkan sebuah element data buku Mata Kuliah dengan
menggunakan push, sehingga diperoleh hasil “Algoritma Pemrograman, Struktur Data,
Basis Data, Multimedia dan Sistem Informasi Manajemen“
public class Belajar {
public static void main(String[] args) {
Stack stack1 = new Stack();

stack1.push("Algoritma Pemrograman");
stack1.push("Struktur Data");
stack1.push("Basis Data");
stack1.push("Multimedia");
stack1.push("Sistem Informasi Manajemen");
System.out.println(stack1);
}
}

28
Dari data nomer 1, bagaimana cara mengeluarkan element data 2 buku yang terakhir, sehingga
diperoleh hasil “Algoritma Pemrograman, Struktur Data. Basis Data“

stack1.pop();
stack1.pop();
System.out.println(stack1);
Hasil Running dari contoh kasus insert nomer 1 dan 2 adalah sebagai berikut :

Gambar 2. Hasil Running Belajar Stack

29
BAB III
TUGAS PENDAHULUAN

1. Buatlah program dengan menggunakan konsep stack dengan menggunakan fasilitas


PUSH untuk memasukkan data mahasiswa yang terdiri dari NIM, nama dan kelas.

NIM 01 Joker A1
NIM 02 Budi A1
NIM 03 Aldi A1
NIM 04 GheaA1
NIM 05 Happy A2

Dari data tersebut, keluarkan data dengan menggunakan fasilitas POP dikarenakan
kelasnya berbeda. Setelah itu cek datanya dengan menggunakan fasilitas infoStack,
apakah datanya sudah diupdate apa belum, sehingga diperoleh hasil seperti pada gambar
3 berikut ini.

Gambar 3. Hasil Input Data Mahasiswa

30
BAB IV
IMPLEMENTASI

1. Berikut program dengan menggunakan konsep stack dengan menggunakan fasilitas PUSH
untuk memasukkan data mahasiswa yang terdiri dari NIM, nama dan kelas.

31
BAB V
PENUTUP

C. Analisa Praktikum
Pada praktikum hari ini program yang menggunakan konsep stack dengan fasilitas push
yaitu dengan menambah item pada stack. Dan menggunakan fasilitas pop untuk mengambil
item pada stack tumpukan paling atas. Dan data infoStack digunakan untuk mengecek data
yang pop sudah diupdate belum.
D. Kesimpulan
Stack adalah kumpulan elemen- elemen data yang disimpan dalam satu jalur linier dan
hanya boleh diakses pada satu lokasi saja yaitu pada posisi top tumpukan. Stack bersifat
LIFO (Last In First Out) artinya benda yang terakhir masuk ke dalam stack akan menjadi
yang pertama keluar dari stack.

32
BAB I
PENDAHULUAN
A. Latar Belakang

Queue tidak jauh berbeda dengan Stack, struktur data dengan konsep queue dapat
diartikan sebagai suatu struktur linier data, dimana urutannya mengikuti aturan tertentu
dimana operasi dilakukan. Di dalam pengurutan queue dikenal dengan istilah FIFO
(First In First Out), yang berarti elemen yang pertama masuk akan menjadi elemen yang
pertama kali keluar.
Kenapa queue menggunakan konsep FIFO, dikarenakan dalam sistem antrian yang
ideal, yaitu konsumen yang datang terlebih dahulu, maka dia yang dilayani lebih dahulu.
Gambar berikut ini akan menggambarkan tentang struktur data dengan konsep FIFO.

A B C D E

Gambar 1. Konsep Antrian Queue Dengan FIFO

B. Tujuan Praktikum
Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk:
1. Mendefinisikan konsep dasar queue dengan sifat FIFO beserta kegunaannya.
2. Mendefinisikan operasi yang ada dalam queue.
3. Mengimplementasikan studi kasus yang harus diselesaikan dengan menggunakan queue
ke dalam aplikasi java dan netbeans.

33
BAB II
DASAR TEORI

2.1 Perbedaan Konsep Stack Dengan Queue


Pada proses add dan delete. Pada stack, add dan delete dilakukan di satu ujung.
Item yang terakhir dimasukkan, berada paling dekat dengan ujung atau dianggap paling
atas sehingga pada operasi penghapusan, item teratas akan dihapus paling awal (LIFO).
Sedangkan pada queue, operasi tersebut dilakukan di tempat yang berbeda.
Penambahan item selalu dilakukan melalui salah satu ujung menempati posisi di
belakang item-item yang sudah masuk sebelumnya atau menjadi item paling belakang
dan untuk. Penghapusan item dilakukan di ujung yang berbeda, yaitu pada posisi item
yang masuk paling awal atau item terdepan (FIFO). Untuk gambaran perbedaan antara
konsep LIFO dengan konsep FIFO dapat dilihat pada gambar 2 berikut ini.

Gambar 2. Perbedaan Konsep LIFO Dengan FIFO

2.2 Operasi Pada Queue


Ada beberapa operasi pada queue, antara lain sebagai berikut :
1. Create Inisialisasi dan Deklarasi.
Langkah pertama dalam pembuatan queue adalah create dengan cara
mendeklarasikan atau menyiapkan tempat terlebih dahulu, yang meliputi deklarasi
class, deklarasi array dan deklarasi pointer. Setelah itu, proses selanjutnya
diinisialisasi terlebih dahulu dengan cara memberikan nilai awal. Berikut ini source
code dari deklarasi dan inisialisai queue pada Java NetBean:

34
//deklarasi
public class queue
{ private String
data[]; private int
size; private int
rear; private int
front;

//inisialisasi
public queue(int kapasitas){
front = -1;
rear = -1;
size = kapasitas;
data = new String[size];

2. isEmpty.
Langkah kedua adalah mengecek data apakah datanya kosong atau tidak dengan
menggunakan isEmpty. Berikut source code dari isEmpty pada Java NetBean.
public boolean isEmpty(){
return rear == -1;
}

3. isFull.
Langkah ketiga adalah mengecek apakah datanya penuh atau tidak dengan
menggunakan isFull. Berikut source code dari isFull pada Java NetBean.
public boolean isFull(){
return rear >= size-1;
}

35
4. Enqueue.
Langkah keempat adalah proses penambahan element data pada queue dengan
menggunakan enqueue. Ketika enqueue terjadi, element pada queue akan bertambah
1 dan posisi pointer rear akan bergeser menunjuk pada element baru yang
ditambahkan. Berikut source code dari enqueue pada Java NetBean.
public void enqueue(String input){
if(isEmpty()){
data[++front] = input;
rear++;
System.out.println(input);
}else{
if(isFull()){
System.out.println("Kuota Penuh");
}else{
data[++rear] = input;
System.out.println(input);
}
}
}

5. Dequeue.
Langkah kelima adalah proses pengambilan data pada queue. Ketika dequeue
terjadi, element pada queue akan berkurang, yaitu element yang pertama kali
ditambahkan. Pada Array, akan terjadi pergeseran data dari belakang ke depan dan
rear berkurang 1. Berikut source code dari dequeue pada Java NetBean.

public void dequeue(){ if(isEmpty()){


System.out.println("Data Kosong");
}else{
String temp = data[front]; for(int i = 0;
i<rear; i++){
data[i]= data[i+1];
}
rear--;

System.out.println("data dari "+temp+" telahdihapus


penyimpanan");
}
}

36
6. InfoQueue
Langkah terakhir adalah bagaimana cara untuk mendapatkan info atau mengakses
data dari dalam queue. Berikut source code dari infoQueue pada Java NetBean.

public void infoQueue(){


for (int i=0; i<=rear; i++)
{ System.out.println(data[i]
);
}
}

37
BAB III
TUGAS PENDAHULUAN

1. Buatlah program antrian dari kasus maintenance bengkel ternama dengan menggunakan
konsep queue, dengan menggunakan fasilitas enqueue dan dequeue, sehingga
didapatkan runningan sebagai berikut !!!

Gambar 3. Hasil Running Maintenance Bengkel

Dari kasus diatas, diketahui bahwa dibengkel tersebut mempunyai kuota 5 mobil
untuk diperbaiki dan ternyata ada 6 mobil yang harus diperbaiki, maka 1 mobil
terakhir diberi keterangan masuk dalam status “onboarding”. Setelah mobil antrian 1
sudah selesai diperbaiki, maka mobil tersebut dihapus dari daftar antrian dan mobil
yang dalam status “onboarding” tersebut, akan dimasukkan ke dalam antrian untuk
diperbaiki.
2. Dari soal no 1 tersebut, buatlah gambar flowchart-nya !!

38
BAB IV
IMPLEMENTASI

1. Berikut program antrian dari kasus maintenance bengkel ternama dengan


menggunakan konsep queue, dengan menggunakan fasilitas enqueue dan dequeue,
sehingga didapatkan runningan sebagai berikut :

39
2. Berikut gambar flowchart-nya

Pertama kita memasukan data antrian mobil yang akan diproses. Data diproses lalu data akan
menujukan data kosong atau data penuh. Jika data kosong data antrian baru dapat diproses.
Jika data penuh data antrian baru tidak dapat diproses. Data yang sudahdiproses akan
menunjukan data diperbaiki/Ok.

40
BAB V
PENUTUP

1. ANALISA
2. KESIMPULAN
Konsep queue dapat diartikan sebagai suatu struktur linier data, dimana urutannya
mengikuti aturan tertentu dimana operasi dilakukan. Di dalam pengurutan queue
dikenal dengan istilah FIFO (First In First Out), yang berarti elemen yang pertama
masuk akan menjadi elemen yang pertama kali keluar.

41

Anda mungkin juga menyukai