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
2. Setelah proses download selesai, klik ganda file installer untuk membuka jendela
instalasi
3. Klik tombol Next untuk mulai menginstall
5. Setelah proses penginstalan selesai, klik Close untuk menutup jendela instalasi
java
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/
4
3. Klik Next dan pilih Accept the license agreement
5
5. Beberapa saat kemudian akan terlihat jendela berisi rangkuman proses
instalasi yang dilakukan
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
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
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:
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
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 !
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
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 :
B. TUJUAN PRAKTIKUM
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);
}
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;
}
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 :
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 :
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 “
Hasil Running dari contoh kasus delete nomer 1 adalah sebagai berikut :
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.
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 “ ?
20
1. Berdasarkan jawaban nomor 2, bagaimana source untuk menghapus node tail sehingga
diperoleh hasil seperti berikut “6 90 3” ?
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” ?
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” ?
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.
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.
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 :
29
BAB III
TUGAS PENDAHULUAN
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.
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
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
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.
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.
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 !!!
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
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