Modul Pemrograman Java 1 Nuri
Modul Pemrograman Java 1 Nuri
Imam Nawawi
Ika Yunifa
Puji syukur penulis panjatkan kehadirat Allah SWT., yang telah memberikan rahmat,
hidayah dan inayahnya kepada penulis sehingga modul pemrograman java 1 ini dapat
terselesaikan dengan baik. Tak lupa sholawat serta salam semoga senantiasa tetap tercurah
kepada baginda Nabi Muhammad SAW. Selanjutnya modul ini disusun untuk memudahkan
dan memberikan gambaran bagi para pembaca yang ingin mempelajari bahasa
pemrograman java dengan metode Belajar Cepat dan Menyenangkan karena modul ini
disertai contoh kasus sehingga lebih mudah untuk dipahami.
Tak lupa penulis mengucakan terima kasih banyak kepada semua pihak yang telah
embantu dengan tenaga dan pikirannya, terima kasih juga kepada rekan-rekan instruktur,
dosen, dan semuanya yang tidak bisa penuis sebutkan satu persatu tanpa mengurangi rasa
hormat penulis yang selalu mendukung penulis sehingga modul ini selesai sesuai dengan
yang kita inginkan.
Penulis menyadari masih banyak kekurangan disana sini dalam penyusunan modul
ini. Untuk itu saran dan kritik yang membangun sangat penulis harapkan guna perbaikan dan
pengembangan modul ini di masa yang akan datang.
Akhir kata penulis berharap semoga modul pemrograman java 1 ini dapat
dipergunakan sebaik-baiknya dan dapat dijadikan referensi bagi pembaca yang ingin
mempelajari pemrograman java.
Penulis
Java adalah nama sebuah bahasa pemrograman yang sangan terkenal. Sebagai
bahasa pemrograman, bahasa pemrograman dapat digunakan untuk menulis program.
Program adalah kumpulan intruksi yang ditujukan untuk komputer. Melalui program,
komputer dapat diatur agar melaksanakan tugas tertentu sesuai yang ditentukan oleh
programmer (orang yang membuat program).
Upaya yang dilakukan James Gosling dari Sun Microsystem ini cukup berhasil. Bahasa
pemrograman java saat ini bisa digunakan untuk mengembangkan aplikasi-aplikasi desktop
(menggunakan JSE[Java Standard Edition]), aplikasi-aplikasi yang berjalan dilingkup
Enterprise dan internet(JEE[Java Enterprise Edition]), serta aplikasi-aplikasi yang berjalan
disarana-sarana komputasi yang terbatas sumberdaya pemrosesan dan terbatas sumber
daya penggunaan memorinya (JME[Java Micro Edition]), contohnya telpon seluler, PDA, dan
sebagainya.
A. Sederhana
Bahasa pemrograman java menggunakan sintaks mirip dengan C++ namun sintaks pada java
telah banyak diperbaiki. Terutama menghilangkan penggunaan pointer yang rumit dan
multiple inheritence. Java juga menggunakan automatic memory allocation dan memory
garbage collection.
D. Multiplatform
Program java dapat dibedakan menjadi dua jenis, yaitu Applet dan Aplikasi.
a. Applet
Adalah program yang dibuat dengan java, dapat diletakan di web server dan diakses
melalui web browser. Dalam hal ini browser yang digunakan adalah yang memiliki
kemampuan java (misalnya Netscape Navigator, Internet Explorer, Mozila Firefox, dan lain
lain).
b. Aplikasi
Adalah program yang dibuat dengan java yang bersifat umum. Aplikasi dapat dijalankan
secara langsung. Tidak perlu perangkat lunak browser untuk menjalankannya. Aplikasi dapat
Pemrograman java yang akan penulis bahas membutuhkan software pendukung. yang akan
digunakan untuk menguraikan sintaks-sintak dari bahasa pemrograman java. Software dan
Text Editor yang dibutuhkan yaitu:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. NetBeans bisa didownload di https://netbeans.org/downloads/
Pernyataan adalah perintah yang menyebabkan sesuatu terjadi dan merepresentasikan suatu
aksi tunggal dalam program java. Setiap pernyataan diakhiri dengan tanda semicolon (;).
Pernyataan juga dikelompokkan dengan tanda pembuka ( { ) dan tanda penutup ( } ),
kelompok ini disebut dengan blok atau blok pernyataan.
b. Ekspresi
Ekspresi adalah pernyataan yang dapat menghasilkan suatu nilai yang disebut dengan nilai
balik (return value) yang dapat berupa bilangan, boolean atau objek.
Contoh: hasilBagi=a/b;
Berdasarkan uraian diatas, maka bisa disimpulkan bahwa bahasa pemrograman adalah
perantara percakapan antara manusia dan komputer yang mana bahasa pemrograman
diubah kedalam bahasa yang dipahami oleh komputer dengan menggunakan
Compiler bekerja mengkompilasi source code menjadi bentuk file yang bisa dieksekusi
sedangkan Interpreter bekerja mengkompilasi dan menjalankan source code secara
langsung.
javac java
(Java Compiler)
(Java Interpreter)
d. Class yaitu merupakan kumpulan dari data atau atribut dan method. Class juga bisa
dikatakan sebagai konsep dan deskripsi dari sesuatu. Class mendeklarasikan method
yang akan digunakan (dipanggil) oleh Object.
Contoh: Mobil
Bentuk umum :
Main Class/Class induk
modifier 1 class Namaclass modifier 2 {
public static void main(String[]args){
//penciptaan objek
}
e. Object adalah bentuk nyata dari suatu Class, dengan kata lain object merupakan bentuk
sederhana (intansiasi) dari Class. Object memiliki sifat independen dan dapat digunakan
untuk memanggil method.
Bentuk Umum:
typedata namaatribut/data/variabel
Attribute(Member):
Topi, Baju, Jaket,
Tas Punggung,
Tangan, Kaki, Mata
Behavior(Method):
Cara Jalan ke Depan
STMIK NUSA MANDIRI Cara Jalan Mundur 12
Cara Belok ke Kiri
Cara Memanjat
Pemrograman Java 1 Strata 1 (Satu)
Attribute (State):
Ban, Stir, Pedal Rem, Pedal Gas,
Warna, Tahun Produksi
Behavior:
Cara Menghidupkan Mesin
Cara Manjalankan Mobil
Cara Memundurkan Mobil
Attribute Variable(Member)
Behavior Method(Fungsi)
Contoh:
Sub Class
int usia=27;
Main Class
//instansiasi object
//pernyataan cetak
System.out.println(Warna Rambut:+obj.warnaRambut);
System.out.println(Usia:+obj.usia);
Pilih menu file dan pilih New Project, categories=Java, Project=Java Applications dan klik
next. Beri nama project dengan nama HalloCiputat dan klik Finish
Project
File Java
Package
Latihan 1
Buatlah 1 contoh suatu class (entitas) beserta dengan atribut dan object.
Buatlah 1 contoh suatu class (entitas) beserta dengan atribut dan 2 object yang
berbeda.
Berikut kita bahas secara singkat dan padat mengenai keempat kategori tipe data diat
as.
2.2 Variabel
Variable adalah suatu tempat untuk menampung data atau konstanta di memory yang
mempunyai nilai atau data yang dapat berubah-ubah selama proses program. Atau
bisa juga dijelaskan variabel menyatakan suatu lokasi di dalam memory komputer yang
digunakan untuk menyimpan suatu nilai dan nilai yang ada di dalamnya bisa diubah.
method
c. Instance variable yaitu variabel yang memiliki nilai yang berbeda disetiap objek.
d. Class Variable variabel yang berlaku di suatu class dan seluruh instan dari class
tersebut (objek). Ciri dari class variabel adalah menggunakan keyword static
2.2.3 Menempatkan Nilai kedalam Variabel
Setelah pendeklarasian variabel dilaksanakan, selanjutnya variabel tadi bisa anda
masukan nilai ke dalam variabel. Berikut cara yang mudah untuk menemppatkan nilai
ke dalam variabel:
nama variabel = nilai;
Contoh Penempatan Nilai kedalam Variabel :
nama_mahasiswa = "Irvan Y. Ardiansyah";
grade = 'A';
rata_rata = 95.75;
nilai1 = 90; nilai2 = 95;
Java bisa juga memperbolehkan memberikan nilai yang sama kebeberapa nama variabe
l yang berbeda.
2.2.4 Konstanta
Konstanta merupakan variabel yang tidak dapat diubah lagi nilainya. Di Java pembuata
n konstanta dapat menggunakan kata kunci final pada awal deklarasi variabel.
Contoh :
final int nilaiAkhir = 100;
3.1 Method
Method adalah sebuah cara atasu suatu aktifitas dari suatu class yang menghasilkan
sesuatu. Method merupakan urutan instruksi yang mengakses data dari object.
Method digunakan untuk memanipulasi data, perhitungan matematika, memonitor
kejadian dari suatu event.
void namaMethod(){
}
Contoh1:
Sub Class
public class Manusia{
String jenisKelamin=Ikhwan, warnaRambut=Hitam;
int usia=27;
void getCetak(){
System.out.println(Jenis kelamin:+jenisKelamin);
System.out.println(Warna rambut:+warnaRambut);
System.out.println(Usia:+usia);
}
}
void getCetak(){
System.out.println("Konsep Dasar OOP ");
System.out.println("Hasil:"+getNilai(10,20));
}
}
Main Class
Latihan 2
public class Mobil2{
String warna;
int tahunProduksi;
void printMobil(){
System.out.println("Warna: " + warna);
System.out.println("Tahun: " + tahunProduksi);
}
}
Tugas 1
a. hidupkan()
b. lakukanPanggilan()
c. kirimSMS()
d. matikan()
Tugas 2
1. Buat Class bernama Matematika, yang berisi method dengan dua parameter:
pertambahan(int a, int b)
pengurangan(int a, int b)
perkalian(int a, int b)
pembagian(int a, int b)
Pertambahan: 20 + 20 = 40
Pengurangan: 10-5 = 5
Pembagian: 21/2 = 10
Contoh 1
Sub class
String warna;
int tahunProduksi;
this.warna = warna;
this.tahunProduksi = tahunProduksi;
mobilku.info();
Contoh 2
Sub Class
return(x+y);
Main Class
//instansiasi object
System.out.println("Nilai Kali:"+obj.getNilaiKali(10,10));
Contoh 3
Main Class
//instansiasi object
obj.getCetakNIlai();
Latihan 1
2. Buat class BankBeraksi, tetapkan saldo awal lewat konstruktur Rp. 100000, jalankan 3
method di atas, dan tampilkan proses sebagai berikut:
4.1. Abstraction(Abstraksi)
Adalah cara melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu sebagai
suatu kumpulan subsistem (object) yang saling berinteraksi. Contoh Mobil adalah kumpulan
sistem pengapian, sistem kemudi, sistem pengereman.
Alat untuk meng-abstraksikan sesuatu adalah class sedangkan objek bersifat modularity,
objek dapat ditulis dan dimaintain terpisah(independen) dari objek lain.
4.2. Encapsulation(Enkapsulasi)
Contoh:
Pada saat anda mengganti channel TV menggunakan remote TV, apakah anda
mengetahui proses yang terjadi di dalam TV tersebut?, maka jawabannya tentu saja tidak
tahu, dan andapun sebagai pembeli TV tidak mau dipusingkan dengan proses yang
terjadi. Maka hal tersebut disebut menyederhanakan sistem di dalam OOP. Contoh lain
seperti Tongkat Transmisi(gigi) pada mobil, tombol on/off pengaturan suhu pada AC.
tanpa tanda
protected
public
sepedaku.setGir(1);
/* Variabel bisa diubah atau tidak sengaja diubah.
Hal ini berbahaya dan sering menimbulkan bug.
Berikan access modifier private pada instance variable */
sepedaku.gir = 3;
System.out.println(Gir saat ini: + sepedaku.getGir());
}
}
Contoh lain :
1) Buatlah sebuah Class dengan nama Belajar.Java
calss Belajar {
Public String X =Pintar;
Private String Y=Java ;
}
Penjelasan :
Contoh inheritance:
..
Artinya class B merupakan subclass atau turunan dari class A (class B mewarisi atribut
yang dimiliki class A
Sub class
Main class
//kasus Persegi,Kubus
Kubus obj=new Kubus(5);
obj.getCetak();
}
}
Latihan 1
Tugas Inheritance:
b. a + b + c
4.4. Polymorphism
Polimorfisme merupakan suatu kemampuan untuk memperlakukan object yang
memiliki perilaku (bentuk) yang berbeda agar tidak terjadi duplikasi object (kemampuan
untuk mempunyai beberapa bentuk class yang berbeda). Polimorfisme ini terjadi pada saat
suatu object bertipe parent class, akan tetapi pemanggilan constructor nya melalui sub class
Contoh:
Sub class
public Mobil(){
}
void info(){
System.out.println("Warna: " + warna);
System.out.println("Tahun: " + tahunProduksi);
}
}
Main class
Jadi polimorphism overloading bisa membuat method dengan nama method yang sama
dengan parameter yang berbeda baik dalam segi tipe data maupun jumlah parameter
seperti dibawah:
sg.setGir(2);
System.out.println(sg.getGir());
sg.setGir(3);
System.out.println(sg.getGir());
}
}
Tugas
A. Stream Standard
1. System.in digunakan untuk menangani pembacaan dari keyboard (standar input)
2. System.out digunakan untuk mengirimkan keluaran ke layar (standar output)
3. System.err digunakan untuk mengirimkan kesalahan (standar error)
Contoh:2
public class Perkalian{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Masukkan bilangan pertama: ");
int bilangan1 = input.nextInt();
System.out.print("Masukkan bilangan kedua: ");
int bilangan2 = input.nextInt();
System.out.print("Hasil perkalian: " +(bilangan1 * bilangan2));
}
}
Latihan 1
Ubah class LuasSegitiga dengan nilai alas dan tinggi dimasukkan oleh user lewat prompt
(gunakan class Scanner)
Hasil Tampilan
Program Penghitung Luas Segitiga
Masukkan Alas = 13
Masukkan Tinggi = 24
Jadi, Luas Segitiga adalah =
String myString=Double.toString(myDouble)
Integer.toString(myInt)
Float.toString(myFloat)
C. Substring
Substring adalah sebuah fungsi yang digunakan untuk memilih sebagian dari kumpulan
karakter
Bentuk:
Variabel.substring(nilai posisi mulai pemilihan, nilai posisi akhir pemilihan)
Contoh:
String greeting = "Hello, World!";
String sub = greeting.substring(0, 5); // sub is "Hello"
Latihan
1. Buat class InputNama yang meminta kita memasukkan nama lengkap dan panjang
karakter nama belakang kita
2. Sebagai hasilnya class InputNama akan menampilkan nama belakang kita
3. Gunakan method substring() untuk class tersebut
Dalam pertemuan kali ini akan dibahas tentang cara membuat form. NetBeans memiliki
taskpane palette dimana di dalamnya terdapat objek-objek yang kita butuhkan untuk
pembuatan form java. Untuk menampilkan palette pada NetBeans dapat memilih menu
window pada menubar palette. Atau bisa juga dengan kombinasi tombol keyboard yaitu
dengan menekan Ctrl+Shift+8
Palette memiliki beberapa package objek yang dapat digunakan untuk pembuatan
form. salah satunya yang sering digunakan adalah package swing control dan masing-masing
package memiliki berbagai macam fungsi yang berbeda-beda tergantung dari aplikasi apa
yang akan dibuat. Untuk pemakaiannya sendiri kita dapa memilih salah satu objek yang akan
digunakan dan meletakkannya ke dalam form. Semua objek di dalam palette memiliki
properties yang berbeda-beda begitu pula dengan fungsinya. Contoh:
3. ubah text dan variable name objek form diatas seperti tampilan. Tujuannya agar
programmer mudah mengingat objek-objek yanf ada di form
4. buat event untuk tombol convert
8. jalankan form konversiSuhu.java dengan cara pilih menu Run Run File atau bisa dengan
kombinasi tombol keyboard Shift+F6. Maka hasilnya akan seperti dibawah ini:
7.1 Operator
Operator adalah simbol dan karakter khusus (matematika) yang digunakan dalam suatu
ekspresi.
Contoh:
int x = 3;
int y = x;
int z = x * y;
boolean status = true;
7.1.1 Jenis Operator
Operator berdasarkan operan digolongkan menjadi 3 golongan yaitu
a. Operator Unary yaitu operator yang melibatkan satu operand
b. Operator binary yaitu operator yang melibatkan dua operand, dan
c. Operator trinary yaitu operator yang melibatkan tiga operand
Pemrograman java mengenal 7 jenis operator, yaitu operator Aritmatika, operator
Penugasan, operator penggabungan, opeartor increment dan decrement, operator bit,
operator pembanding, dan operator logika.
1. Operator Aritmatika
Tipe data dari hasil operator aritmatika mengikuti tipe data operan
+ Addition 3+4
- Subtraction 5-7
* Multiplication 5*5
/ Division 14 / 7
% Modulus 20 % 7
OBJECT NAME
jButton1 Text : +
jButton2 Text : -
jButton3 Text : *
Listing Program :
Variable Name : bKali
Didalam suatu penulisan ekspresi aritmatika sering kita jumpai menggunakan beber
apa operator aritmatika yang berbeda secara bersamaan. Maka dalam prosenya akan
berbeda, tergantung dari urutan atau tingkatan operator tersebut. Berikut urutan operator
aritmatika, seperti dibawah ini :
Tingkatan operator-operator ini, bisa diabaikan dengan menggunakan tanda kurung buka "
( "dan " ) ". Jika suatu ekspresi terdapat didalam tanda kurung, maka proses ekspresi
tersebut akan diproses terlebih dahulu, tanpa melihat tingkatan operator.
Contoh : A = (8 + 2) * 3 / 6
Maka langkah-langkah perhitungannya :
Langkah 1:
A = 8 + 2 hasilnya 10
A = 10 * 3 / 6
Langkah 2 :
A = 10 * 3 hasilnya 30
A = 30 / 6
Langkah 3:
A=5
Berikut contoh penggunaan hierarki operator aritmatika, bisa anda ikuti seperti dibawah ini.
Variable Name : tA
Variable Name : tB
Output yang dihasilkan dari program HierarkiOperator.java diatas setelah tombol PROSES di
klik, seperti dibawah ini :
2. Operator Penugasan
Operator penugasan berguna untuk memberikan nilai ke suatu variabel. Operator penugasan
menggunakan tanda ( = ). Jika operator penugasan digabungkan dengan operator aritmatika, maka
akan membetuk operator penugasan gabungan (Compound Assignment). Seperti contoh di bawah
ini:
Expression Meaning
x += y x=x+y
x -= y x=x-y
x *= y x=x*y
x /= y x=x/y
3. Operator Penggabungan
Operator Penggabungan digunakan untuk menggabungkan String dengan String atau String
dengan bilangan yaitu menggunakan tanda +, seperti contoh:
System.out.println(Saya adalah + Mahasiswa);
int mahasiswa = 30;
System.out.println(Jumlah Mahasiswa + mahasiswa);
== Equal x == 3
!= Not equal x != 3
< Less than x<3
> Greater than x>3
<= Less than or equal to x <= 3
>= Greater than or equal to x >= 3
7. Operator Logika
Operator logika menggunakan ekspresi dengan nilai balik Boolean yaitu TRUE dan FALSE
&& operasi logika AND
|| operasi logika OR
! operasi logika NOT
Contoh:
X Y X OR Y X AND Y !X
1 1 1 1 0
1 0 1 0 0
0 1 1 0 1
0 0 0 0 1
7.2 Percabangan
7.2.1. Pernyataan IF
Pernyataan if mempunyai pengertian, Jika kondisi bernilai benar, maka perintah akan
dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan. Dari pengertian tersebut
dapat dilihat dari diagram alir berikut:
Penulisan kondisi harus didalam tanda kurung dan berupa ekspresi relasi dan penulisan pern
yataan dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan
kosong. Jika pemakaian if diikuti dengan pernyataan majemuk, bentuk penulisannya sebagai
berikut :
Jika lebih dari satu pernyataan hasu diapit dengan tanda kurung kurawal
Output :
Logika :
Jika Nilai yang dimasukkan lebih dari sama dengan 60 maka keterangannya Anda Lulus.
Pernyataan if-else mempunyai pengertian, Jika kondisi bernilai benar, maka perintah 1 akan
dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah 2. Dari pengertian
tersebut dapat dilihat dari diagram alir berikut :
Perintah 1 dan perintah 2 dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau
pernyataan kosong. Jika pemakaian if-else diikuti dengan pernyataan majemuk, bentuk penulisannya
sebagai berikut:
Jika lebih dari satu pernyataan hasu diapit dengan tanda kurung kurawal.
Contoh :
OUTPUT :
Gambar 1 Gambar 2
Penjelasan :
Gambar 1 adalah kondisi jika nilai yang dimasukkan lebih dari sama dengan 60, sedangkan gambar 2
adalah kondisi jika nilai yang dimasukkan kurang dari 60.
Contoh :
Variable Name :
bProses
Text : PROSES
Listing Program diisi pada bProses dengan events -> actionPerformed :
OUTPUT :
Nested if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk penulisan
pernyataan Nested if adalah :
Ketik listing program pada cMaskapai dengan events-> actionPerformed dengan listing sebagai
berikut :
OUTPUT :
7.3 Perulangan
Pada pembahasan ini penulis mengajak mendiskusikan mengenai penggunaan operasi kondisi yang
pada Bahasa Pemrograman Java. Kopetensi dasar secara umum, agar mahasiswa/I atau pembaca
bisa mendeskripsikan dapat memahami perintah perulangan pada bahasa pemrograman Java.
Penulis berharap, diakhir pembahasan, para pembaca bisa :
a. Penggunaan Pernyataan Perulangan for
b. Penggunaan Pernyataan Perulangan While
c. Penggunaan Pernyataan Perulangan Do While
Bila pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut harus diletakan
didalam tanda kurung.
Tambahkan listing pada button WHILE dengan events -> actionPerformed. Lakukan
juga pada button DO WHILE dan FOR.
OUTPUT :
7.4. ARRAY
Array merupakan objek yang dapat digunakan untuk menyimpan sejumlah data. Data yang dapat
ditampung pada array dapat berupa tipe data ataupun kelas (objek).
TipeArray namaArray [] ;
namaArray = new TipeArray [jumlah] ;
Dimana jumlah array merupakan jumlah data yang dapat ditampung oleh array.
NO INDEKS
1 0
2 1
3 2
4 3
5 4
Artinya data ke 1 dapat diakses menggunakan indeks 0 dan seterusnya. Dan untuk melakukan proses
manipulasi data dalam array menggunakan indeks dapat digunakan dengan perintah :
namaArray [indeks] ;
System.out.println (a [0]);
System.out.println (a [1]);
System.out.println (a [2]);
System.out.println (a [3]);
System.out.println
STMIK NUSA MANDIRI (a [4]); 70
Pemrograman Java 1 Strata 1 (Satu)
Selanjutnya untuk melihat tabel tersebut benar sudah ada pada database dengan
menggunakan perintah SQL:
SHOW TABLES;
Untuk melihat struktur tabel dari tabel mahasiswa secara mendetail perintah SQL yang
digunakan adalah sebagai berikut:
DESC mahasiswa;
Atau:
SELECT kolom1, kolom2, kolom3, kolom_n
FROM tabel1
JOIN tabel2
ON tabel1.kolom_PK = tabel2.kolom_FK;
Dari contoh di atas terdapat dua buah tabel Orders dan Customer, dari kedua tabel
tersebut perhatikan bahwa kolom CustomerID pada tabel Orders mengacu pada kolom
CustomerID yang ada pada tabel Customer. Relasi pada kedua tabel di atas adalah
kolom CustomerID.
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
Contoh:
SELECT Orders.OrderID, Customers.CustomerName,Orders.OrderDate
FROM Orders
RIGHT JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
Note: Perintah RIGHT JOIN menampilkan baris dari sisi tabel kanan (Customer), bahkan jika
tidak ada kesamaan pada sisi tabel kiri (Orders).
Cay Horstmann, Big Java: Earl Objects 5th Edition, John Wiley & Sons, 2013
Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012
Mark Allen Weiss, Data Structures and Algorithm Analysis in Java 3 rd Edition, Pearson
Education, 2012
Ying Bai, Practical Database Programming with Java, John Wiley & Sons, 2011