Anda di halaman 1dari 78

MODUL PRAKTIKUM

PEMROGRAMAN BERORIENTASI OBJEK

Tukino S.Kom.,M.MSI.
( tukino@ubpkarawang.ac.id )

FAKULTAS TEKNIK DAN ILMU KOMPUTER


UNIVERSITAS BUANA PERJUANGAN KARAWANG
2020
DAFTAR ISI

DAFTAR ISI ..................................................................................................................................... 2


BAB 1 DASAR PEMOGRAMAN JAVA ........................................................................................ 3
BAB 2 INPUT DARI KEYBOARD ............................................................................................... 10
BAB 3 STRUKTUR KONTROL .................................................................................................... 14
BAB 4 ARRAY ............................................................................................................................... 20
BAB 5 CLASS DAN OBJEK ......................................................................................................... 23
BAB 7 EXCEPTION HANDLING ................................................................................................. 37
BAB 8 ABSTRACT WINDOWING TOOLKIT (AWT) DAN SWING........................................ 42
BAB 9 GUI EVENT HANDLING .................................................................................................. 52
BAB 10 JDBC ................................................................................................................................. 63
REFERENSI .................................................................................................................................... 78

Modul Praktikum PBO | 2


BAB 1
DASAR PEMOGRAMAN JAVA

1.1 Tujuan
✓ Dapat memahami dasar-dasar pemograman Java
✓ Mengidentifikasi bagian dasar dari program Java, membedakan mana yang termasuk
ke dalam Java literals, tipe data dasar, tipe variabel, pengidentifikasian dan operator
✓ Mengembangkan program Java sederhana menggunakan konsep pembelajaran pada
bab ini

1.2 Dasar Teori


Java merupakan bahasa pemrograman tingkat tinggi yang dipelopori oleh James Gosling
yang merupakan engineer di Sun Microsoft. Java mulai dibangun pada tahun 1991. Versi
alpha dan beta dari Java dirilis pada tahun 1995.Pada tahun 2010 Sun Microsystem
diakuisasi dan dikembangkan oleh Oracle.
Hingga saat ini Java masih menjadi bahasa yang cukup populer, salah satu alasan Java
menjadi bahasa yang popular adalah karena Java dapat berjalan diberbagai platform
sistem operasi.
Menurut Sun Java adalah bahasa yang Simpel, berorientasi objek, kuat, aman, portable,
dinamis dan memiliki performa yang tinggi.

Deklarasi Variabel
Bahasa pemrograman pada umumnya mengenal adanya variabel yang digunakan untuk
menyimpan nilai atau data. Java dikenal dengan bahasa pemrograman yang bersifat
strongly typed yang artinya diharuskan mendeklarasikan tipe data dari semua variabel
dan apabila lupa atau salah mengikuti aturan pendeklarasian variabel maka akan
mendapat error pada saat proses kompilasi.
A. Tipe Data
Java memiliki dua jenis tipe data yang dikategorikan menjadi dua yaitu tipe
data primitif dan tipe data referensi.

Modul Praktikum PBO | 3


1) Tipe data Primitif
Bahasa pemrograman Java mendefinisikan delapan tipe data primitif yaitu
char (untuk bentuk tekstual), byte, short, int, long (integral / bilangan bulat),
double dan float (floating point / bilangan pecahan), boolean. String bukan
merupakan tipe data primitif melainkan sebuah kelas.
Macam-macam Tipe data primitif :
• Integer
Integer merupakan tipe data numerik yang digunakan untuk mendefinisikan
bilangan bulat. Tipe data numeric yang termasuk integer diantaranya :
• Floating Point / Bilangan Pecahan
Floating point digunakan untuk menangani bilangan decimal atau perhitungan
yang lebih detail dibanding integer.
• Char
Char adalah karakter tunggal yang pendefinisiannya di awal dan akhir
menggunakan tanda petik tunggal ( ‘ ). Tipe char mengikuti aturan Unicode,
sehingga bisa dapat menggunakan kode untuk kemudian diikuti bilangan dari
0 sampai 65535, tetapi yang biasa digunakan adalah bilangan heksadesimal
dari 0000 sampai FFFF.
• Boolean
Tipe data Boolean terdiri dari dua nilai saja, yaitu true dan false. Boolean
sangat penting untuk mengevaluasi suatu kondisi.
Tipe data integral dalam Java menggunakan tiga bentuk yaitu decimal,
oktal atau heksadesimal. Range tipe data integral :

Integer Length Name or Type Range


8 bits byte -27 to 27-1
15
16 bits short -215 to 2 -1
32 bits int -231 to 231-1
64 bits long -263 to 263-1

Modul Praktikum PBO | 4


Tipe floating point memiliki double sebagai default tipe datanya. Tipe
data floating point memiliki range sebagai berikut :

Float Length Name or Type Range


32 bits Float -231 to 231-1
63
64 bits Double -263 to 2 -1

Tipe boolean diwakili oleh dua pernyataan : true dan false. Contoh :
boolean var1=true. Isi dari variabel var1 adalah pernyataan true.
.
2) Tipe Data Referensi
Kelebihan pemrograman dengan orientasi objek adalah dapat mendefinisikan tipe
data baru yang merupakan objek dari class tertentu. Tipe data ini digunakan untuk
mereferensikan objek atau class tertentu, seperti String.
• Variabel
Variabel merupakan container yang digunakan untuk menyimpan suatu nilai
pada sebuah program dengan tipe tertentu. Untuk mendefinisikan variabel,
suatu identifier dapat digunakan untuk menamai variabel tersebut.
• Identifier
Identifier adalah kumpulan karakter yang dapat digunakan untuk menamai
variabel, method, class, interface, dan package.
Identifier dapat terdiri dari :
- Huruf/abjad
- Karakter mata uang
- Underscore (_)
Identifier tidak boleh mengandung @, spasi atau diawali dengan angka serta
tidak boleh menggunakan keyword yang telah digunakan di pemrograman
java. Selain karakter, Unicode juga dapat digunakan sebagai identifier.

B. Operator
Operator adalah simbol khusus yang menyajikan operasi khusus pada satu, dua, atau
tiga operand dan kemudian mengembalikan hasilnya.

Modul Praktikum PBO | 5


Perhatikan contoh di bawah ini :
T=A+B*C
Tanda tambah ( + ) dan asterisk ( * ) disebut sebagai operator, sedangkan A, B dan C
disebut dengan operand (yang dioperasikan).
1) Operator Aritmatika
Operator Aritmatika merupakan operator-operator yang berupa simbol-simbol
yang diganakan seperti penjumlahan, pengurangan, perkalian, pembagian dan
lainnya.
Operator Ekspresi Operasi

+ X+Y Penjumlahan
- X–Y Pengurangan
* X*Y Perkalian
/ X/Y Pembagian
\ X\Y Pembagian bil. bulat / pecahan
^ X^Y Pemangkatan
% X%Y Sisa hasil bagi (modulus)
- -X Tanda bilangan Negatif

2) Operator Logika
Operator Logika digunakan untuk membandingkan dua buah nilai. Hasil dari
operator ini adalah Benar (TRUE) atau Salah (FALSE).
• Operator dan (&)
Operator ini juga digunakan sebagai operator bitwise bila operan yang
digunakan bertipe angka. Kalau operannya bertipe boolean, maka operator ini
akan menghasilkan nilai truedan false
• Operator singkat dan (&& )
Operator ini berbeda dengan operator sebelumnya, dimana operator ini tidak
akan mengeksekusi operan disebelah kanan kalau sudah diketahui bahwa
operan sebelah kiri bernilai false. Hal inilah yang menjadi alasan kenapa
operator ini disebut dengan operator singkat dan (&&).
• Operator or (|)
Operator ini juga digunakan dalam operasi bitwise jika operannya bertipa
angka. Jika operannya berupa boolean, operator ini akan menghasilkan nilai
true, bila salah satu atau kedua operannya mengembalikan nilai true.

Modul Praktikum PBO | 6


Operator ini juga hanya akan mengembalikan nilai false bila kedua operannya
bernilai false.

3) Operator Ternary
Operator Ternary adalah salah satu operator yang digunakan di dalam bahasa
pemrograman java. Mempunyai fungsi untuk menggantikan kondisi if else ,yang
dimana jika suatu kondisi dapat bernilai true atau false, akan menampilkan output
atau statement. Selain itu juga dengan menggunakan operator ternary , code akan
terlihat lebih ringkas dan mudah di baca. Ciri-ciri jika baris code tersebut ,
menggunakan operator ternary. Adanya pernyataan atau kondisi yang di apit oleh
simbol (?) dan juga (:) .

kondisi ? statement1 : statement2 ;

kondisi = bagian pertama untuk kondisi


statement1 = suatu pernyataan jika bernilai true
statement2 = suatu pernyataan jika bernilai false

Modul Praktikum PBO | 7


1.3 Percobaan
Percobaan 1 :
class hello {
public static void main (String[] args) {
System.out.println(“Halo Indonesia”); }
}

Hasil :
Halo Indonesia!

Percobaan 2:
public class HitungGaji {

public static void main (String[]args){

int gaji=5000000;

int lamaKerja;

int besarGaji;

lamaKerja=4;

besarGaji=gaji*lamaKerja;

System.out.println(besarGaji);

Percobaan 3 :
public class variabel {
public static void main (String[] args) {
char var1='Z';
int var2=10;
double var3=0.8;

boolean var4=true;
System.out.println(“Isi variabel var1 : “ +var1);
System.out.println(“Isi variabel var2 : “ +var2);
System.out.println(“Isi variabel var3 : “ +var3);
System.out.println(“Isi variabel var4 : “ +var4);}

Modul Praktikum PBO | 8


1.4 Latihan
a) Buatlah program dengan output
Halo <nama anda> Selamat Datang di Dunia Java !
b) Buatlah program dengan output sebagai berikut

Harga barang sebelum diskon : Rp.10.000,-


Diskon : 10%
Harga barang setelah diskon : Rp. 9.000,-

Modul Praktikum PBO | 9


BAB 2
INPUT DARI KEYBOARD

2.1 Tujuan
✓ Membuat java yang interaktif yang dapat membaca input dan keyboard
✓ Menggunakan class BufferedReader untuk mendapatkan input dari keyboard melalui
layar consule
✓ Menggunakan class JOptionPane untuk mendapatkan input dari keyboard menggunakan
GUI

2.2 Dasar Teori

Pada Java terdapat beberapa cara yang dapat dilakukan untuk mendapatkan masukan dari
keyboard, diantaranya yaitu menggunakan:
1) Kelas Scanner
Scanner bersifat dinamis karena kita dapat menentukan tipe value. Jika ingin output
yang menghasilkan value dengan tipe double, maka kita dapat menggunakan method
nextDouble().

2) Kelas BufferedREader
Pada kelas BufferedReader terdapat method readLine() yang berfungsi sebagai penerima
inputan dari keyboard.

Modul Praktikum PBO | 10


3) GUI (Graphical User Interface) JOptionPane
Pada class JOptionPane terdapat method showInputDialog(...) dan
showMessageDialog(...). Method showInputDialog(...) berfungsi untuk
menampilkan sebuah inputan berupan dialog yang akan menghasilkan value dengan tipe
String, sedangkan method showMessageDialog(...) saya gunakan untuk menampilkan
hasil inputan dari showInputDialog(...).

Perbedaan Scanner, BufferedReader dan GUI


• Fungsi Scanner adalah ketika ada perhitungan matematika, maka variabel yang akan
digunakan dalam perhitungan tidak perlu di konversikan lagi, bisa langsung dihitung.
• fungsi (InputStreamReader + BufferedReader) yang perlu dikonversikan terlebih dahulu
sebelum dilakukan perhitungan matematika pada variabel yang akan digunakan.
• JOptionPane yang merupakan packages dari javax.swing, digunakan untuk input dan
output data berbasis GUI swing. Tampilannya memudahkan pengguna karena berupa
dialog box.

2.3 Percobaan
Percobaan 1 : Input Scanner

public class ContohScanner {

public static void main(String[] args){

Scanner input = new Scanner(System.in);

System.out.print("Masukkan Nama Anda : ");

String name = input.nextLine();

System.out.println("Nama Anda : "+name);

Modul Praktikum PBO | 11


Percobaan 2 : Input Buffereder

import java.io.BufferedReader; import


import java.io.InputStreamReader; import
import java.io.IOException;

public class input {


public static void main (String[] args) {
BufferedReader InputData =new BufferedReader (new InputStreamReader (System.in));
String nama= “ “;
System.out.print (“Masukkan nama anda : “ );
try {
nama = InputData.readLine();
}
catch (IOException e ){
System.out.println(“Error”);
}
System.out.println(“Halo nama saya “ +nama);
}
}

Percobaan 3 : inputgui.java
import javax.swing.JOptionPane;

public class inputgui


{
public static void main (String[] args) {
String nama= “ “;
nama=JOptionPane.showInputDialog(“Silahkan masukkan nama anda”);
String psn= “Halo saya “ +nama;
JOptionPane.showMessageDialog(null,psn);

}
}

Modul Praktikum PBO | 12


2.4 Latihan
Buatlah Program dengan menggunakan class JoptionPane dari package javax.swing dengan
output sebagai berikut :
Masukkan Nama : <Nama>
Masukkan NIM : <NIM>
Masukkan Jurusan : <Jurusan>

Halo <Nama>, NIM anda <NIM>, anda adalah Mahasiswa Jurusan <Jurusan>

Modul Praktikum PBO | 13


BAB 3
STRUKTUR KONTROL

3.1 Tujuan
✓ Menggunakan struktur kontrol pemilihan (if, else, switch) yang digunakan untuk
memilih blok kode yang akan dieksekusi
✓ Menggunakan struktur kontrol pengulangan (while, so-while, for) untuk mengakses blok
tertentu pada program beberapa kali
✓ Menggunakan pernyataan-pernyataan percabangan (break, continue, return) untuk
mengatur arah dari aliran

3.2 Dasar Teori


Struktur kontrol di Java tidak jauh berbeda dengan bahasa pemrograman lainnya.
Struktur kontrol yang akan dibahas antara lain :
1) Struktur Runtunan
Struktur runtunan adalah proses algoritma yang dilakukan secara beruntun dari langkah
ke-1 sampai langkah ke-N. Tiap barisnya hanya dikerjakan satu persatu tanpa ada
percabangan atau perulangan dan hanya dilakukan sekali tiap instruksi.
2) Struktur Percabangan
Struktur kontrol pemilihan adalah pernyataan dari Java yang mengijinkan user untuk
memilih dan mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain.
a) If
Statement If untuk menentukan sebuah pernyataan yang akan eksekusi jika dan
hanya jika persyaratan bernilai benar(true).
if(boolean_expression){
statement1;
statement2;
}

b) If-Else
if-else dipakai untuk mengeksekusi beberapa pernyataan dengan kondisi true dan
pernyataan yang lain dengan kondisi false.
if( boolean_expression ){
statement;
else

Modul Praktikum PBO | 14


statement;}

c) Switch Case
Switch case bisa digunakan jika kita memakai percabangan multi arah. Bahasa Java
menyediakan beragam kendali percabangan tidak lokal, yaitu: break, return, dan
continue.
Contoh dari Switch case
public class PernyataanSwitchCase {
public static void main (String [] latihan) {
int nilai = 88;
switch (nilai) {
case 100 :
System.out.print(“Excelent!”);
break;
case 90 :
System.out.print(“Good Job!”);
break;
case 80 :
System.out.print(“Study Harderd!”);
break;
default :
System.out.print(“Sorry, you failed.”);
break;
}
}
}

3) Struktur Perulangan
Struktur kontrol pengulangan adalah berupa pernyataan dari Java yang mengijinkan
kitauntuk mengeksekusi blok code berulang-ulang sesuai dengan jumlah tertentu
yangdiinginkan. Ada tiga macam jenis dari struktur kontrol pengulangan yaitu while,
do-while, dan for-loops.
a. For
for (InitializationExpression; LoopCondition; StepExpression){
statement1;
statement2; . . .
}

Keterangan :
InitializationExpression : Inisialisasi dari variabel loop.

Modul Praktikum PBO | 15


LoopCondition : Membandingkan variabel loop pada nilai batas
tertentu
StepExpression : Melakukan update pada variabel loop.

Berikut ini contoh dari for loop


int i; for( i = 0; i < 10; i++ ){
System.out.print(i);
}

Pernyataan i=0 merupakan inisialisasi dari variabel. Selanjutnya,kondisi i<10


diperiksa. Jika kondisi bernilai true, pernyataan di dalam for loopdieksekusi.
Kemudian, ekspresi i++ dieksekusi, lalu akan kembali pada bagianpemeriksaan
terhadap kondisi i<10 lagi. Kondisi ini akan dilakukan berulang-ulangsampai
mencapai nilai yang salah (false).
b. While
Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang
sampai mencapai kondisi yang cocok.
while( boolean_expression ){
statement1;
statement2; . . .
}

Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi


boolean_expression bernilai benar (true).
Contoh :
int i = 4; while ( i > 0 ){
System.out.print(i);
i--; }

Contoh diatas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i--;
dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite
loop).Sehingga, ketika menggunakan while loop atau bentuk pengulangan yang
lain,pastikan Anda memberikan pernyataan yang membuat pengulangan berhenti
padasuatu kondisi.

Modul Praktikum PBO | 16


c. Do-While
do{
statement1;
statement2; . . . }
while( boolean_expression );

Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan
dievaluasikondisi dari boolean_expression. Jika nilai pada boolean_expression
tersebut bernilaitrue, pernyataan di dalam do-while loop akan dieksekusi lagi.
Contoh :
int x = 0;
do {
System.out.println(x);
x++; }
while (x<10);

3.3 Percobaan
Percobaan 1: seleksi-if.java
public class seleksi_if {
public static void main (String[] args) {
int jmlhmhs = 105;
int dayatampungkelas=100;
if (jmlhmhs>100) {
System.out.println (“Kelas melebihi kapasitas”);
}
}

Percobaan 2:
public class seleksi_if_else {
public static void main (String[] args) {
int totalbelanja = 100000;
int jmlh_brg_dibeli = 2;
double diskon = 0.25;

double hrg_brg_stlh_diskon;
if (totalbelanja>50000 && jmlh_brg_dibeli>1)

{hrg_brg_stlh_diskon = totalbelanja-(totalbelanja*diskon);

Modul Praktikum PBO | 17


System.out.println("Harga barang setelah diskon :"+hrg_brg_stlh_diskon);

}
else { System.out.println( "Maaf anda belum dapat diskon"); }
}
}

Percobaan 3 : seleksi-switch.java
import java.io.BufferedReader;
import java.io.InputStreamReader;

import java.io.IOException;
public class seleksi_switch {
public static void main (String[] args){

BufferedReader InputData = new BufferedReader (new InputStreamReader (System.in));

String angkaInput= null;

System.out.print ("Masukkan kode hari [1...7] : " ); try {

angkaInput = InputData.readLine();
}
catch (IOException e ){
System.out.println("Error");

}
int Hari=Integer.valueOf(angkaInput).intValue();
switch (Hari){
case 1:System.out.println("Minggu"); break;
case 2:System.out.println("Senin"); break;
case 3:System.out.println("Selasa"); break;
case 4:System.out.println("Rabu"); break;
case 5:System.out.println("Kamis"); break;
case 6:System.out.println("Jum'at"); break;
case 7:System.out.println("Sabtu"); break;

default :System.out.println("Kode hari yang anda masukkan salah"); }


}
}

Modul Praktikum PBO | 18


3.4 Latihan
a) Buatlah program dengan menggunakan pernyataan seleksi yang menentukan hari kerja
atau hari libur, dimana hari kerja yaitu hari senin sampai dengan jum'at. Sedangkan hari
libur adalah sabtu dan minggu
b) Buatlah program dengan output sebagai berikut :

*
**
***
c) Buatlah program menggunakan seleksi dipadukan dengan input keyboard dimana
outputnya adalah sebagai berikut :
Masukkan kode buku : T-INF-001-WAH

Masukkan Tanggal-Pinjam : 10 September 2010


Masukkan Tanggal-Kembali : 19 Oktober 2010
Denda : Rp. 3.000,-

Ketentuan peminjaman buku : Maksimal 3 Hari, denda per hari Rp.1.000,-

Modul Praktikum PBO | 19


BAB 4
ARRAY

4.1 Tujuan
✓ Mendeklarasikan dan membuat aray
✓ Mengakses elemen-elemen dalam array
✓ Menentukan Jumlah elemen dalam array

4.2 Dasar Teori


Array adalah sebuah struktur data yang terdiri dari data yang bertipe sama. Ukuran array
bersifat tetap, array akan mempunyai ukuran yang sama pada saat sekali dibuat. Array dalam
Java adalah obyek, disebut juga sebagai tipe referensi. Sedangkan elemen dalam array Java
bisa primitif atau referensi. Posisi dari array biasa disebut sebagai elemen. Elemen array
dimulai dari 0 (nol). Penyebutan array diberikan dengan cara menyebutkan nama arraynya
dan diikuti dengan indeksnya, dimana indeks dituliskan diantara tanda kurung siku.
Array adalah sebuah variabel / sebuah lokasi tertentu yang memiliki satu nama sebagai
identifier, namun identifier ini dapat menyimpan lebih dari sebuah nilai.
Langkah-langkah menciptakan array yaitu pertama, mendeklarasikan variabel
array, kedua menciptakan objek array.
Bentuk deklarasi variabel array :

tipedataprimitif namaVariabel[];
namakelas namaVariabel[];

Contoh :
String[] kata;
int[] nomor;

Untuk menciptakan objek array, bentuk deklarasinya adalah sebagai berikut :


namaVariabel = new tipedataprimitif [jumlahelemen]
namaVariabel = new namakelas [jumlahelemen];

Modul Praktikum PBO | 20


Sedangkan Array multidimensi diimplementasikan sebagai array yang terletak di dalam
array. Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung
setelahn ama array

4.3 Percobaan
Percobaan 1:
public class array1 {
public static void main(String[] args){
int myArray[]={10,20,30,40,50};
System.out.println("Isi elemen MyArray pertama : " +myArray[0]);
System.out.println("Isi elemen MyArray kedua : " +myArray[1]);
System.out.println("Isi elemen MyArray pertama : " +myArray[2]);
System.out.println("Isi elemen MyArray pertama : " +myArray[3]);
System.out.println("Isi elemen MyArray pertama : " +myArray[4]);

}
}

Percobaan 2:
public class array2 {
public static void main(String[] args){
int myArray[]={30,50,70,90,110};
for (int i=0;i<myArray.length;i++)
System.out.println("Elemen ke-"+i +":"+myArray[i] );
}
}

Percobaan 3:
public class array3 {
public static void main(String[] args){

String myArray[][] = {{"Negara ","Ibukota "},{"Indonesia","Jakarta"}};


System.out.println(myArray[0][0]+myArray[1][0]);
System.out.println(myArray[0][1]+myArray[1][1]);

}
}

Modul Praktikum PBO | 21


4.4 Latihan
Buatlah program dengan output sebagai berikut menggunakan array multidimensi :
Budi adalah anak dari Bapak Yanto
Joko adalah anak dari Bapak Yudi
Ibu Rina adalah Istri dari Bapak Yanto Ibu
Lina adalah Istri dari Bapak Yudi

Modul Praktikum PBO | 22


BAB 5
CLASS DAN OBJEK

5.1 Tujuan
✓ Mendeklarasikan atribut dan method pada class
✓ Membuat dan memanggil Overoading method
✓ Mengimport dan membuat constructor
✓ Menggunakan akses modifier untuk pengendalian terhadap class member

5.2 Dasar Teori


Class
Class adalah cetak biru (rancangan) atau prototipe atau template dari objek. Kita bisa
membuat banyak objek dari satu macam class. Class mendefinisikan sebutipe dari objek. Di
dalam class kita dapat mendeklarasikan variabel dan menciptakan objek (instansiasi).
Sebuah class mempunyai anggota yang terdiri dari atribut dan method. Atribut adalah semua
field identitas yang kita berikan pada suatu class.
Contoh :
Class Manusia Obyek :
Data : nama (String), umur (integer)

public class Manusia {


//definisi atribut private String nama; private int umur;
//definisi method public void setNama(String a){ nama=a; }
public String getNama(){
return nama; }
public void setUmur(int a){
umur=a; }
public int getUmur(){ return umur; }

Modul Praktikum PBO | 23


Object
Object (objek) secara lugas dapat diartikan sebagai instansiasi atau hasil ciptaan dari suatu
class. Asumsikan cetakan kue adalah class, maka kue yang dihasilkan dari cetakan tersebut
merupakan objek dari class cetakan kue. Dalam pengembangan OOP lebih lanjut, sebuah
objek dapat dimungkinkan terdiri atas objek-objek lain. Atau, bisa jadi sebuah objek
merupakan turunan dari objek lain, sehingga mewarisi sifat-sifat induknya dan memiliki
sifat tambahan.
Keyword “new” :
“new” digunakan untuk melakukan instansiasi/ membuat sebuah object baru.
Contoh: Manusia objekManusia = new Manusia();

Method
Method biasa kita kenal sebagai function dan procedure. Dikatakan fungsi bila method
tersebut melakukan suatu proses dan mengembalikan suatu nilai (return value), dan
dikatakan prosedur bila method tersebut hanya melakukan suatu proses dan tidak
mengembalikan nilai (void). Dalam OOP, method digunakan untuk memodularisasi
program melalui pemisahan tugas dalam suatu class.
Pemanggilan method menspesifikasikan nama method dan menyediakan informasi
(parameter) yang diperlukan untuk melaksanakan tugasnya.
Deklarasi method yang non-void atau mengembalikan nilai (fungsi)

[modifier] Type-data namaMethod (parameter1,parameter2,…parameterN) {


Deklarasi-deklarasi dan proses ;
return nilai-kembalian;
}

Deklarasi method yang void atau tidak mengembalikan nilai (prosedur)

[modifier]void namaMethod (parameter1,parameter2,…parameterN) {


Deklarasi-deklarasi dan proses ; }

Modul Praktikum PBO | 24


Constructor
Tipe khusus method yang digunakan untuk menginstansiai atau menciptakan sebuah objek.
Nama constructor = nama kelas. Constructor tidak bisa mengembalikan nilai . Tanpa
membuat constructor secara eksplisit-pun, Java akan menambahkan constructor default
secara implisit. Tetapi jika kita sudah mendefinisikan minimal sebuah constructor, maka
Java tidak akan menambah constructor default.
Constructor default tidak punya parameter. Constructor bisa digunakan untuk membangun
suatu objek, langsung mengeset atribut-atributnya. Constructor seperti ini harus memiliki
parameter masukkan untuk mengeset nilai atribut. Access Modifier constructor selayaknya
adalah public, karena constructor akan diakses di luar kelasnya. Cara panggil constructor
adalah dengan menambahkan keyword “new”. Keyword new dalam deklarasi ini artinya
kita mengalokasikan pada memori sekian blok memori untuk menampung objek yang baru
kita buat.
public class DemoManusia {
public static void main(String[] args) { //program utama
Manusia arrMns[] = new Manusia[3]; //buat array of object
Manusia objMns1 = new Manusia(); //constructor pertama
objMns1.setNama("Markonah");
objMns1.setUmur(76);
Manusia objMns2 = new Manusia("Mat Conan"); //constructor kedua
Manusia objMns3 = new Manusia("Bajuri", 45); //constructor ketiga
arrMns[0] = objMns1;
arrMns[1] = objMns2;
arrMns[2] = objMns3;
for(int i=0; i<3; i++) {
System.out.println("Nama : "+arrMns[i].getNama());
System.out.println("Umur : "+arrMns[i].getUmur());
System.out.println(); }
}
}

Modul Praktikum PBO | 25


Overload
Didalam Java, kita dapat membuat dua atau lebih konstruktor/ method yang mempunyai
nama sama dalam satu kelas, tetapi jumlah dan tipe argumen dari masing-masing constructor
atau method haruslah berbeda satu dengan yang lainnya. Hal ini yang dinamakan
overloading.
public class penduduk {

private String nama,ttl,alamat,nama_ortu,pekerjaan; private


int penghasilan;

public void setNama(String nama){


}
public void setTTL(String ttl){
}
public void setAlamat(String alamat){

}
public void setOrtu(String nama_ortu){
}
public void setPekerjaan(String pekerjaan){
}
public void setPenghasilan(int penghasilan){
}

public void printIdentitas(String nama,String ttl, String alamat, String nama_ortu,


String pekerjaan){

System.out.println("Nama Penduduk : " +nama);


System.out.println("Tempat/Tanggal Lahir : "+ttl);
System.out.println("Alamat Rumah : "+alamat);
System.out.println("Nama Orang Tua : " +nama_ortu);

System.out.println("Pekerjaan : " +pekerjaan);

}
public void printIdentitas(int penghasilan){

System.out.println("Penghasilan bersih perbulan Rp."+penghasilan);}

public static void main (String[] args){

Modul Praktikum PBO | 26


penduduk pk_kota=new penduduk();

pk_kota.printIdentitas("Ruby","Gorontalo/01 Januari 1990","Jl.Cempaka


No.5 Gorontalo","Wiryana","Wiraswasta");

pk_kota.printIdentitas(5000000);

5.3 Percobaan
Percobaan 1 :
public class Mobil {

String warna;

int jumlah_pintu;
float isi_tangki;

public void Maju(int maju){


int majukedepan=0;
majukedepan=majukedepan+maju;

System.out.println("Mobil maju sejauh " +maju +" meter");


}
public void Mundur(int mundur){ int
mundurbelakang=0;
mundurbelakang=mundurbelakang+mundur;

System.out.println("Mobil mundur sejauh " +mundur +" meter");


}
public static void main(String[] args){
Mobil BMW = new Mobil();

BMW.Maju(75);
BMW.Mundur(5);

}}

Hasil :
Mobil maju sejauh 75 meter
Mobil mundur sejauh 5 meter

Modul Praktikum PBO | 27


Percobaan 2 :
public class penduduk {
private String nama,ttl,alamat,nama_ortu,pekerjaan; private int
penghasilan;
public void setNama(String nama){
}
public void setTTL(String ttl){
}
public void setAlamat(String alamat){
}
public void setOrtu(String nama_ortu){
}
public void setPekerjaan(String pekerjaan){
}
public void setPenghasilan(int penghasilan){
}

public void printIdentitas(String nama,String ttl, String alamat, String


nama_ortu, String pekerjaan){
System.out.println("Nama Penduduk : " +nama);
System.out.println("Tempat/Tanggal Lahir : "+ttl);
System.out.println("Alamat Rumah : "+alamat);
System.out.println("Nama Orang Tua : " +nama_ortu);
System.out.println("Pekerjaan : " +pekerjaan);
}
public void printIdentitas(int penghasilan){
System.out.println("Penghasilan bersih perbulan Rp."+penghasilan);

public static void main (String[] args){


penduduk pk_kota=new penduduk();
pk_kota.printIdentitas("Ruby","Gorontalo/01 Januari 1990","Jl.Cempaka No.5
Gorontalo","Wiryana","Wiraswasta");

pk_kota.printIdentitas(5000000);

}
}

Percobaan 3 :
public class Aktor {
String nama;

int umur;
Aktor(String n,int u){
nama=n;
umur=u;

Modul Praktikum PBO | 28


}
void tampilAktor(){
System.out.println("Namaku : "+nama);

System.out.println("Umurku : "+umur+" tahun");

public static void main(String args[]){


Aktor a;

System.out.println("");
a=new Aktor("Dedy Mizwar",50);
a.tampilAktor();
System.out.println("============");
System.out.println("");

a=new Aktor("Rano Karno",45);


a.tampilAktor();
System.out.println("============");

}
}

5.4 Latihan
a) Modifikasi program Mobil.java dengan menambahkan beberapa metode/fungsi pada

kelas Mobil dan buatlah dua objek lagi dari kelas Mobil yang memanggil metode/fungsi
baru yang sudah anda buat !
b) Buatlah program yang menerapkan konsep kelas dan objek dengan output sebagai
berikut :
Nama Mahasiswa : Joni

NIM : 5314110007
Semester : V
IP Semester ini : 3,50

Anda berhak mengontrak 24 SKS pada Semester VI

c) Buatlah program yang menerapkan konsep overloading method dan constructor


pada sistem perpustakaan. Kembangkan sesuai kemampuan anda !

Modul Praktikum PBO | 29


BAB 6
PEWARISAN, POLIMORFISME, INTERFACE

6.1 Tujuan
✓ Mendefinisikan superclass dan subclass
✓ Override method dari Superclass
✓ Membuat method final dan class final

6.2 Dasar Teori


1. Pewarisan (Intheritance)
Dalam pemrograman berbasis objek, Inheritance memungkinkan suatu Class bisa
mewariskan atribut dan Method kepada Class yang lainnya atau subClass, sehingga
membentuk Class hirarki. Inheritance merupakan suatu aspek atau pengarah pokok
kecerdasan manusia untuk mencari, mengenali, dan menciptakan hubungan antar
konsep. Kita membangun hirarki, matriks, jaringan, dan hubungan timbal balik lain
untuk menjelaskan dan memahami tata cara di mana hal-hal saling berhubungan. Tanpa
Inheritance, kelas-kelas merupakan sebuah unit berdiri sendiri. Inheritance, akan
membentuk suatu konsep dimana jika konsep yang diatas berubah, maka perubahan
akan berlaku dibawahnya. Inheritance sangat mirip dengan hubungan orang tua dengan
anak. Manakala suatu kelas menerima warisan dari semua anggota data dan fungsi
menerima warisan, walaupun tidak semua di antara mereka akan dapat diakses oleh
anggota fungsi dari kelas Sebagai contoh, pada saat kita bicara mengenai Binatang,
maka Binatang tersebut bisa mewarsikan kepada Binatang yang lan berupa, usia, bobot,
makan, tidur dan lain sebagainya.
BINATANG
Usia
bobot

MACAN
Meraung
Menerkam

Modul Praktikum PBO | 30


Dilihat pada gambar diatas, Class Macan, akan mewariskan seluruh method dan variabel
instan dari Class Binatang yang bersifat public. Berarti Class Binatang disebut sebagai
SuperClass atau Class Induk dan Class Macan disebut sebagai SubClass atau Class anak
atau Class turunan.

2. Polimorfisme (Polymorphism)
Karakteristik dari polymorphism yaitu memungkinkan suatu objek dapat memiliki
berbagai bentuk atau banyak bentuk. Bentuk dari objek ini bisa sebagai Object dari
Classnya sendiri atau Object dari superClassnya.
Pada polymorphism kita akan sering menjumpai 2 (dua) istilah yang sering digunakan
dalam pemrograman berbasis objek, istilah tersebut yaitu :
a) Overloading
Overloading yaitu menggunakan 1 (satu) nama objek untuk beberapa Method yang
berbeda ataupun bisa juga beda parameternya.
b) Overriding
Overriding akan terjadi apabila ketika pendeklarasian suatu Method subClass
dengan nama objek dan parameter yang sama dengan Method dari superClassnya.
3. Interface
Object Interface adalah sebuah ‘kontrak’ atau perjanjian implementasi method. Bagi
class yang menggunakan object interface, class tersebut harus mengimplementasikan
ulang seluruh method yang ada di dalam interface. Dalam pemrograman objek,
penyebutan object interface sering disingkat dengan ‘Interface’ saja.
Jika anda telah mempelajari abstract class, maka interface bisa dikatakan sebagai bentuk
lain dari abstract class. Walaupun secara konsep teoritis dan tujuan penggunaannya
berbeda. Sama seperti abstract class, interface juga hanya berisi signature dari method,
yakni hanya nama method dan parameternya saja (jika ada). Isi dari method akan dibuat
ulang di dalam class yang menggunakaninterface.
Jika kita menganggap abstract class sebagai ‘kerangka’ atau ‘blue print’ dari class-class
lain, maka interface adalah implementasi method yang harus ‘tersedia’ dalam sebuah
objek. Interfacetidak bisadisebut sebagai ‘kerangka’class.
Jika terdapat class komputer, interface bisa dicontohkan dengan ‘mouse’, atau
‘keyboard’. Di dalam interface mouse, kita bisa membuat method seperti klik_kiri(),
klik_kanan(), dan double_klik(). Jika class laptop ‘menggunakan’ interface mouse, maka
class tersebut harus membuat ulangmethod klik_kiri(), klik_kanan(),dandouble_klik().

Modul Praktikum PBO | 31


Untuk mendeklarasikansebuahinterface gunakan sintaks :
interface namaInterface {
........ //isi dari interface namaInterface }

Berikut ini adalah contoh membuat interface mouse:


public interface mouse {
public void klik_kanan();
public void klik_kiri();
pub lic void double_klik();
}

Interface lebih berperan untuk menyeragamkan method. Ia tidak masuk kedalam struktur
class seperti abstract class. Jika kita menggunakan abstract class komputer sebagai ‘konsep
class’ untuk kemudian diturunkan kepada class lain seperti class laptop, class pc, dan class
netbook, maka interfacehanya ‘penyediamethod’. Interface tidak termasuk kedalam
pewarisan class.

6.3 Percobaan
Percobaan 1 :
public class Person {

protected String name;

protected String address;

/**

* Default constructor

*/

public Person(){

System.out.println("Inside Person:Constructor");
name = "";

address = "";

Modul Praktikum PBO | 32


/**
* Constructor dengan dua parameter

*/

public Person( String name, String address) {


this.name = name;

this.address = address;

/**

* Method accessor

*/

public String getName() {

return name;

public String getAddress() {

return address;

public void setName(String name) {

this.name = name;

public void setAddress(String add) {

this.address = add;

Modul Praktikum PBO | 33


public class Student extends Person{

public Student()

//super( "SomeName", "SomeAddress");

//super();

//super.name = "name";

System.out.println("Inside Student:Constructor");

public static void main( String[] args) {


Student anna = new Student();

Hasil :
Inside Person:Constructor
Inside Student:Constructor

Modul Praktikum PBO | 34


Percobaan 2 :
public class Person {
protected String name;
protected String address;
/**
*Default constructor
*/
public Person(){
System.out.println("Inside Person:Constructor"); name = "";
address = "";
}
/**
*Constructor dengan dua parameter
*/
public Person( String name, String address) {
this.name = name;
this.address = address;
}
/**
*Method accessor
*/
public String getName() { System.out.println("Person Name : " +name);
return name;
}
public String getAddress() {
return address;
}
public void setName(String name) {
this.name = name;

Modul Praktikum PBO | 35


}
public void setAddress(String add) {
this.address = add;
}
}
public class Student extends Person{
public Student()
{
//super( "SomeName", "SomeAddress");
//super();
//super.name = "name";
System.out.println("Inside Student:Constructor");
}
public String getName() { System.out.println("Student Name : " +name);
return name
}
public static void main( String[] args) { Student anna = new Student();
}
}
public class Employee extends Person{ public String getName() {
System.out.println("Employee Name:" +name); return name;
}
public static void main(String[] args)
{
Person ref;
Student studentObject = new Student(); Employee employeeObject = new
Employee();
ref = studentObject; //Person menunjuk kepada object Student
String temp = ref.getName(); //getName dari Student class dipanggil
System.out.println(temp);

Modul Praktikum PBO | 36


ref = employeeObject; //Person menunjuk kepada object Employee temp =
ref.getName(); //getName dari Employee class dipanggil
System.out.println(temp);
}

6.4 Latihan
Kembangkan class matematika dan matematikaBeraksi, lakukan overloading pada
method yang ada (pertambahan, pengurangan, perkalian, pembagian). Method baru adalah
bertipe data double (pecahan) dan memiliki 3 parameter
Uji di kelsa matematikaBeraksi dengan parameter pecahan : 12,5 28,7, 14,2
Misalnya : pertambahan(12,5, 28,7, 14,2)

Modul Praktikum PBO | 37


BAB 7
EXCEPTION HANDLING

7.1 Tujuan
✓ Menangani exception dengan menggunakan try, catch dan finally
✓ Membedakan penggunaan antara throw dengan throws
✓ Menggunakan exception class yang berbeda-beda
✓ Membedakan antara checked exceptions dan unchecked exceptions

7.2 Dasar Teori


Exception Handling merupakan mekanisme yang paling diperlukan dalam menangani error
yang terjadi pada saat runtime (program berjalan) atau yang lebih dikenal dengan sebutan
runtime error.
Secara umum, adanya kesalahan / error yang terjadi pada program pada saat runtime dapat
menyebabkan program berhenti atau hang. Untuk itulah diperlukan mekanisme untuk
memastikan bahwa program tetap dapat berjalan meskipun terdapat kesalahan yang terjadi.
Secara umum, Exception Handling dapat dilakukan menggunakan keyword try-catch,
dimana pada artikel ini akan dijelaskan bagaimana melakukannya dalam Bahasa
pemrograman Java.

Modul Praktikum PBO | 38


Contoh :

Contoh code ini dapat menyebabkan terjadinya exception pada saat runtime, yakni indeks
yang diakses melebihi dari size yang telah didefinisikan sebelumnya. Exception seperti ini
dikenal dengan sebutan Array Index Out Of Bounds Exception.
Untuk menangani hal tersebut, Exception Handling dapat dilakukan dengan cara:

7.3 Percobaan
Percobaan 1 :
public class TesException {
public static void main(String[] args){
int array1[]=new int[10];
try {
array1[1]=10;

System.out.println("Pernyataan yang benar");


array1[100]=20;
System.out.println("Pernyataan yang tidak benar");
}

catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Kesalahan dalam indeks array");
}
}}

Modul Praktikum PBO | 39


Percobaan 2:
public class TesFinally {
public static void main(String[] args){ int
bilangan=100;
System.out.println("Sebelum pembagian");
for(int i=5;i>=0;i--){
try {
System.out.print(bilangan +" / " +i +" = ");
System.out.println(bilangan/i);
}
catch(RuntimeException r){
System.out.println("Error karena pembagian nol !");
}
finally {
System.out.println("Bagian finally dikerjakan");
}
}
System.out.println("Selesai"); }
}

Percobaan 3 :
public class ThrowingClass {
static void myMethod() throws ClassNotFoundException { throw
new ClassNotFoundException ("just a demo"); } }

public class ThrowsDemo {

public static void main(String args[]) {

try {

ThrowingClass.myMethod();

} catch (ClassNotFoundException e) {

System.out.println(e);
}}}

Modul Praktikum PBO | 40


7.4 Latihan
a) Tentukan sebuah huruf bilangan heksadesimal (a-f) sebagai input. Konversi huruf
tersebut menjadi bilangan desimal. Tentukan exception class anda sendiri dan lakukan
penanganan jika input dari user bukan merupakan bilangan heksadesimal
b) Buatlah suatu program yang memilih apakah Mahasiswa tersebut merupakan
mahasiswa informatika atau bukan berdasarkan input kode jurusan. Misalkan kode
jurusan : 01-Teknik Informatika, 02-Teknik Sipil, 03-Teknik Elektro, 04-Teknik
Industri, 05-Teknik Arsitektur, 06-Teknik Kriya. Jika yang dimasukkan bukan kode
(misalkan huruf) maka akan ditangani kesalahan tersebut menggunakan try..catch

Modul Praktikum PBO | 41


BAB 8
ABSTRACT WINDOWING TOOLKIT (AWT) DAN SWING

8.1 Tujuan
✓ Memahami persamaan dan perbedaan antara AWT dan Swin
✓ Mengetahui perbedaan antara komponen dan container
✓ Mendesain aplikasi GUI menggunakan AWT
✓ Mendesain aplikasi GUI menggunakan Swing
✓ Menjelaskan tentang flow layout, border layout, dan grid layout dalam komponen
GUI

8.2 Dasar Teori

AWT adalah tampilan dasar dari setiap target platform (Windows, Macintosh, Solaris) atau
berdiri sesuai dengan mekanisme sebuah platform. AWT terdiri dari banyak widget grafik
yang dapat ditambahkan dan diatur dalam tampilan seperti butons, checkbox, radiobutton,
menu, list, canvas, textfield, scroolpane, panel.
Berikut ini adalah daftar dari beberapa class penting pada container yang telah disediakan
oleh AWT.
1) Componen : Abstract class untuk object yang dapat di tampilkan pada console dan
berinteraksi dengan user. Bagian ini merupakan bagian utama dari AWT.
2) Container : Abstract Subclass dari kompanen class. Sebuah komponen yang dapat
menampung komponen yang lainnya.
3) Panel : Turunan dari container class. Sebuah frame atau windows tanpa titlebar,
menubar, tidak termasuk border. Super class dari aplet class.
4) Windows : turunan dari container class, top level windows dimana berarti tidak bisa
dimasukan dalam object yang lainnya. Tidak memiliki border dan menu bar.
5) Frame : turunan dari windows class. Windows dengan judul, border, menubar, dan
pengaturan ukuran di pojok. Memiliki empat konstruktor, diantaranya seperti berikut
Frame ()
Frame (String title)

Modul Praktikum PBO | 42


Komponen-komponen AWT
1) java.awt.Button : Tombol yang jika ditekan akan mengerjakan instruksi tertentu
2) java.awt.CheckBox : Tombol berbentuk kotak yang dapat di-check atau n-check
3) java.awt.Choice : Menu yang terdiri dari beberapa pilihan
4) java.awt.Label : Untuk meletakkan teks statis dan tidak dapat diedit
5) java.awt.List : Untuk menyajikan beberapa pilihan teks dalam satu daftar yang dapat di-
scroll (gulung)
6) java.awt.Panel : Menyediakan space untuk meletakkan komponen atau panel lainnya
7) java.awt.Scrollbar : Untuk memilih nilai dalam range tertentu
8) java.awt.TextArea : Untuk menampilkan teks multi-line dan dapat diedit.

Berikut ini adalah contoh program sederhana menggunakan AWT:


import java.awt.*;
public class AwtPertama
{
public static void main(String[] bowo)
{Frame win=new Frame(" ini AWT");
win.setSize(300,200);
win.show();}
}

Swing merupakan salah satu cara untuk mengimplementasikan pemrograman window pada
java. Swing menggunakan metode “Painted” yaitu, setiap User Interface Elemen di Gambar
ke dalam window/frame kosong.
Komponen swing bersifat lightweight, yaitu komponen dapat ditampilkan sama pada sistem
operasi multi-platform. Semua komponen pada Swing diawali dengan huruf “J”, misalnya
Jbutton, JtextArea, Jlabel.

Komponen-KomponenSwing :
Dalam konteks antarmuka pengguna, komponen merupakan bagian fundamental di Java.
Pada prinsipnya, segala sesuatu yang kita lihat di tampilan aplikasi Java adalah suatu
komponen, seperti window, menu, dan button. Container adalah jenis komponen yang

Modul Praktikum PBO | 43


”menampung” danmengelola komponenkomponen lainnya. Agar suatu komponen dapat
digunakan, biasanya harus diletakkan di sebuah container.
Komponen-komponen Swing dapat diklasifikasikan ke dalam 3 bagian yaitu:
a) Top-levelcontainer berfungsi untuk menyediakan ruang bagi komponen-komponen
lainnya. Container jenis ini terdiri atas JFrame, JWindow, Jdialog, dan Japplet.
b) Intermediatecontainer komponen (nontop-level) yang keberadaannya untuk menampung
komponen lainnya, missal panel, tabbed, dan toolbar.
c) Komponen Atomic (tunggal) berfungsi untuk menampilkan dan atau menerima
informasi. Contohnya adalah textfield, button, dan label.

Berikut adalah salah satu contoh pemrograman sederhana menggunakan swing


import javax.swing.*;
class Swing extends JFrame
{
Swing(){

Super ("INI SWING...");


setSize(300,300);
show();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
Swing sw=new Swing();
}
}

Modul Praktikum PBO | 44


8.3 Percobaan
Percobaan 1 :
import java.awt.*;

public class TesLabel extends java.applet.Applet{


@Override

public void init(){

setFont(new Font ("Arial", Font.BOLD, 14));


setLayout(new GridLayout(3, 1));

add(new Label("rata kiri", Label.LEFT)); add(new


Label("rata tengah", Label.CENTER)); add(new
Label("rata kiri", Label.LEFT));

}
}

Percobaan 2 :
import java.awt.*;

public class TesTombol extends java.applet.Applet {


@Override

public void init(){


add(new Button("Rewind"));
add(new Button("Play"));
add(new Button("Fast Forward"));
add(new Button("Stop"));

}
}

Percobaan 3 :
import java.awt.*;

public class Teschechkbox extends java.applet.Applet{


@Override

Modul Praktikum PBO | 45


public void init(){

setLayout(new FlowLayout(FlowLayout.LEFT));
add(new Checkbox("Es Teh")); add(new Checkbox("Es
Jeruk"));

add(new Checkbox("Es Sirup"));

add(new Checkbox("Es Kelapa Muda",null,true)); add(new


Checkbox("Es Campur"));

}
}

Percobaan 4 :
import java.awt.*;

public class CheckboxGroupTest extends


java.applet.Applet{ @Override

public void init(){

setLayout(new FlowLayout(FlowLayout.LEFT));
CheckboxGroup cbg = new CheckboxGroup();
add(new Checkbox("Red", cbg, false));
add(new Checkbox("Blue", cbg, false));
add(new Checkbox("Yellow", cbg, false));
add(new Checkbox("Green", cbg, false));
add(new Checkbox("Orange", cbg, false));
add(new Checkbox("Purple", cbg, false));

}
}

Modul Praktikum PBO | 46


Percobaan 5 :
import java.awt.*;

public class TesChoice extends java.applet.Applet { @Override

public void init(){


Choice c = new Choice();
c.addItem("Novel");
c.addItem("Komik");
c.addItem("Kumpulan Puisi");
c.addItem("Majalah");
c.addItem("Koran");

Component add = add(c);

}
}

Percobaan 6 :
import java.awt.*;

public class TesTextField extends java.applet.Applet { @Override

public void init() {

add(new Label("Ketikkan nama Anda")); add(new


TextField("Nama anda disini",45)); add(new
Label("Ketikkan nomor telepon anda")); add(new
TextField(25));

add(new Label("Ketikkan password yang anda inginkan"));


TextField t = new TextField(20); t.setEchoChar('*');

add(t);

}
}

Modul Praktikum PBO | 47


Percobaan 7 :
import java.awt.*;

public class TesFlowLayout extends java.applet.Applet{


@Override

public void init(){

setLayout(new FlowLayout());
add(new Button("Tombol x"));
add(new Button("Tombol y"));
add(new Button("Tombol z"));
add(new Button("Tombol 1"));
add(new Button("Tombol 2"));

add(new Button("Tombol 3"));

}
}

Percobaan 8 :
import java.awt.*;

public class TesGridLayout extends java.applet.Applet{ @Override

public void init(){


setLayout(new GridLayout(3,2));
add(new Button("Tombol x"));
add(new Button("Tombol y"));
add(new Button("Tombol z"));
add(new Button("Tombol 1"));
add(new Button("Tombol 2"));
add(new Button("Tombol 3"));

}
}

Modul Praktikum PBO | 48


Percobaan 9 :
import java.awt.*;
public class TesBorderLayout extends java.applet.Applet{
@Override
public void init(){
setLayout(new BorderLayout());

add("North",new Button("Tombol x"));

add("East",new Button("Tombol x"));


add("South",new Button("Tombol y"));
add("West",new Button("Tombol z"));
add("Center",new Button("Tombol 1"));

}
}

Percobaan 10 :
import javax.swing.*;
public class TesButtonSwing extends JFrame{
JButton load = new JButton("load");
JButton save = new JButton("Save");

public TesButtonSwing(){
super("Button Beraksi");
setSize(140,170);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel

pane = new JPanel(); pane.add(load);

pane.add(save);
add(pane);

setVisible(true);

public static void main(String[] args){ TesButtonSwing t


= new TesButtonSwing();} }

Modul Praktikum PBO | 49


Percobaan 11 :
import java.awt.*;
import javax.swing.*;

public class FrameSwing {


JFrame frame;

JPanel panel;
JTextField textfield;
JButton button;
Container contentpane;

void launchframe(){
//inisialisasi
frame = new JFrame("Frameku");
panel = new JPanel();
textfield = new JTextField("Teks");
button=new JButton("Klik saya");
contentpane = frame.getContentPane();

//menambahkan komponen-komponen ke panel menggunakan


//Flowlayout sebagai default
panel.add(textfield);
panel.add(button);

//menambahkan komponen-komponen contentpane


//menggunakan BorderLayout contentpane.add(panel,
BorderLayout.CENTER); frame.pack();

//menyebabkan ukuran frame menjadi dasar pengaturan komponen


frame.setVisible(true);

public static void main(String[] args){ FrameSwing f


= new FrameSwing(); f.launchframe(); } }

Modul Praktikum PBO | 50


Percobaan 12 :
import java.awt.*;
import javax.swing.*;

public class BorderLayoutSwing extends JFrame{


JButton Tombol1 = new JButton("Utara");
JButton Tombol2 = new JButton("Selatan");
JButton Tombol3 = new JButton("Timur");
JButton Tombol4 = new JButton("Barat");
JButton Tombol5 = new JButton("Tengah");

public BorderLayoutSwing(){
super("Border Layout Beraksi");

setSize(240,280);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
add(Tombol1, BorderLayout.NORTH);
add(Tombol2, BorderLayout.SOUTH);
add(Tombol3, BorderLayout.EAST);
add(Tombol4, BorderLayout.WEST);
add(Tombol5, BorderLayout.CENTER);
}

public static void main(String[] args){


BorderLayoutSwing b = new BorderLayoutSwing();
b.setVisible(true);
}
}

Modul Praktikum PBO | 51


BAB 9
GUI EVENT HANDLING

9.1 Tujuan
✓ Menerangkan komponen-komponen delegation event model
✓ Mengerti bagaimana delegation event model bekerja
✓ Menciptakan aplikasi GUI yang berinteraksi dengan user

9.2 Dasar Teori


Event Handling adalah suatu metode untuk menangani sebuah event/aksi yang diberikan
pengguna kepada suatu komponen GUI. Event adalah suatu peristiwa yang dipicu oleh
pengguna pada suatu komponen, misalnya tombol ditekan. Dua paket yang biasa digunakan
menangani kejadian adalah java.awt.event dan java.swing.even

9.3 Percobaan
Percobaan 1 :
1) Buat project baru dengan memilih perintah File > New Project.. (Ctrl+Shift+N)
2) Muncul jendela New Project, pilih Java di kotak Categories dan pilih Java
Application di kotak Projects
3) Klik Next >, muncul jendela New Java Project dan ketik Modul9a di kotak
Project Name, jangan pilih opsi Create Main Class kita akan menset main classnya
setelah desain dan programnya selesai.
4) Klik Finish
5) Buat form baru, klik kanan pada Project Modul9a > New > Jframe Form beri nama
pada Class Name yaitu Event1
6) Tambahkan Jpanel pada form, kemudian tambahkan 3 Jtextfield, 3 JLabel dan 2 Jbutton
pada Jpanel tersebut di tab Design dengan properties sebagai berikut :

No Nama Kelas Properties Event


1 JLabel Name = jLabel1
Text = Nama Mahasiswa
2 JLabel Name = jLabel2
Text = Nilai Ujian
3 JLabel Name = jLabel3

Text = Keterangan

Modul Praktikum PBO | 52


4 JTextField Name = jTextField2
Text = null / dikosongkan
5 JTextField Name = jTextField2 FocusLost
Text = null / dikosongkan
Name = jTextField3
6 JTextField Text = null / dikosongkan
7 JButton Name = jButton1 ActionPerformed
Text = Mulai
8 JButton Name = jButton2 ActionPerformed
Text = Keluar
9 Jpanel Name = jPanel1
TitleBorder = Program Event
Handling 1
7) Klik kanan pada jButton2 pilih menu Events > Action > ActionPerformed,
maka akan muncul pada tab Source, sebuah method Private void
jButton2ActionPerformed(java.awt.event.ActionEvent evt), pada badan method
tersebut tambahkan baris perintah berikut ini :
System.exit(0);
8) Kembali ke tab Design, klik kanan pada jButton1 pilih menu Events > Action >
ActionPerformed, maka akan muncul pada tab Source, sebuah method Private void
jButton1ActionPerformed(java.awt.event.ActionEvent evt), pada badan method
tersebut tambahkan baris perintah berikut ini :

jTextField1.setText(“”);
jTextField1.setText(“”);
jTextField1.setText(“”);

9) Kembali ke tab Design, klik kanan pada jTextField2 pilih menu Events > Action >
ActionPerformed, maka akan muncul pada tab Source method Private void
JtextField2FocusLost (java.awt.event.FocusEvent evt), pada badan method tersebut
tambahkan baris perintah berikut ini :
float nilai;
nilai = Float.parseFloat(jTextField2.getText());
if(nilai>=55) {
jTextField3.setText(“Lulus”);
}
else {
jTexField3.setText(“Tidak lulus”); }

10) Set Main Class Project Modul9a, klik kanan pada Project Modul9a > Properties. Pilih
Categories > Run, browse Main Class pilih Event1. Lalu jalankan program anda.

Modul Praktikum PBO | 53


Hasil :

Pembahasan :
Salah satu interface Event Listener pada AWT yaitu Action Listener yang berfungsi
ketika user melakukan klik pada Button, menekan tombol Enter / Tab saat
memasukkan input dalam text field atau memilih menu item. Satu metode pada Action
Listener yaitu ActionPerformed, dimana method Private void
jButton2ActionPerformed(java.awt.event.ActionEvent evt) berisi perintah

System.exit(0); dimana program akan berhenti jika tombol Keluar ditekan. Untuk
method Private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
berisi perintah jTextField1.setText(“”); dimana akan menset semua text field
dengan string kosong lagi jika tombol Mulai ditekan.

Untuk method Private void JtextField2FocusLost (java.awt.event.FocusEvent evt)


merupakan salah satu method yang terdapat pada interface FocusListener yang
berfungsi ketika komponen memperoleh keyboard focus. Pada badan method tersebut

Modul Praktikum PBO | 54


jika sebuah nilai yang dimasukkan pada JtextField2 bernilai lebih atau sama dengan 55
maka akan menset sebuat text pada JtextField3 yaitu sebuah String “Lulus” selain itu
akan diset ke “Tidak Lulus”.

Percobaan 2:
1) Buat project baru dengan memilih perintah File > New Project.. (Ctrl+Shift+N)
2) Muncul jendela New Project, pilih Java di kotak Categories dan pilih Java Application di
kotak Projects
3) Klik Next >, muncul jendela New Java Project dan ketik Modul9b di kotak Project Name.
4) Klik Finish
5) Buat form baru, klik kanan pada Project Modul9b > New > Jframe Form beri nama pada
Class Name yaitu Event2
6) Tambahkan 2 jLabel, 1 jTextField, 1 jPasswordField, dan 1 jButton ke dalam form tersebut
dengan properties sebagai berikut :

No Nama Kelas Properties Event


1 JLabel Name = jLabel1
Text = ID User
2 JLabel Name = jLabel2
Text = Password
3 JTextField1 Name = jTextField1 KeyPressed
4 JPasswordField Name = jPasswordField1 KeyPressed
5 JButton Name = jButton1 ActionPerformed
Text = OK

7) Tambahkan event klik pada tombol OK (jButton1), klik kanan pada tombol OK > Events >
Action > actionPerformed. Maka akan muncul sebuah method private void
jButton1ActionPerformed pada tab Source. Tambahkan baris perintah berikut pada badan
method tersebut :
JOptionPane.showMessageDialog(this,“Selamat Datang“ + jTextField1.getText(), “Pesan
Login”,
JOptionPane.INFORMATION_MESSAGE);
8) Tambahkan event yang kedua untuk jTextField1. Klik kanan pada jTextField1 >Events >
Key > KeyPressed. Maka akan muncul sebuah method private void
jTextField1KeyPressed pada tab Source. Tambahkan baris perintah berikut pada badan
method tersebut :
if (evt.getKeyCode() == 10) {
jPasswordField1.requestFocus(); }

9) Tambahkan event yang ketiga untuk jPasswordField1. Klik kanan pada jPasswordField1 >
Events > Key > KeyPressed. Maka akan muncul sebuah method private void
jPasswordField1KeyPressed pada tab Source. Tambahkan baris perintah berikut pada
badan method tersebut :
Modul Praktikum PBO | 55
if (evt.getKeyCode() == 10) {
jButton1.requestFocus(); }

10) Lakukan perubahan pada kelas Main,java, agar melakukan pemanggilan form Event2 yaitu
dengan baris perintah sebagai berikut :
new Event2().setVisible(true);

11) Jalankan program anda.

Hasil :

Percobaan 3 :
1) Buat project baru dengan memilih perintah File > New Project.. (Ctrl+Shift+N)
2) Muncul jendela New Project, pilih Java di kotak Categories dan pilih Java
No Nama Kelas Properties
1 JLabel Name = jLabel1
Text = Nama Kota
horizontalAlignment = LEFT
2 JLabel Name = jLabel2
Text = Besar UMR
horizontalAlignment = LEFT
3 JLabel Name = jLabel3
Text = Makanan Khas
horizontalAlignment = LEFT
Name = jComboBox1
4 JcomboBox Model = Yogyakarta, Surabaya, Jakarta
selectedIndex = 1
5 JTextField Name = txtUMR
6 JTextField Name = txtMakanan

3) Untuk merubah nama variabel pada jTextField1, klik kanan pada jTextField1 > Change
Variable Name.. isikan dengan txtUMR. Lakukan hal yang sama pada jTextField2 dengan
nama variabel txtMakanan.

Modul Praktikum PBO | 56


4) Tambahkan sebuah event ItemStateChanged pada pilihan nama kota (jComboBox1), dengan
cara klik kanan jComboBox1 > Events > Item >ItemStateChanged.
5) Perbaiki metode jComboBox1ItemStateChanged pada tab Source yaitu sebagai berikut :
if(jComboBox1.getSelectedIndex() == 0){
txtUMR.setText("500.000");
txtMakanan.setText("Gudeg");

else if (jComboBox1.getSelectedIndex() == 1){


txtUMR.setText("900.000"); txtMakanan.setText("Rawon");

else if (jComboBox1.getSelectedIndex() == 2){


txtUMR.setText("1.000.000"); txtMakanan.setText("Ketoprak");

6) Lakukan perubahan pada kelas Main.java, agar melakukan pemanggilan form Event3, yaitu
dengan menambahkan baris berikut ini :
new Event3().setVisible(true)
7) Jalankan program anda

Hasil :

Modul Praktikum PBO | 57


Percobaan 4 :
1) Buat project baru dengan memilih perintah File > New Project.. (Ctrl+Shift+N)
2) Muncul jendela New Project, pilih Java di kotak Categories dan pilih Java Application di
kotak Projects
3) Klik Next >, muncul jendela New Java Project dan ketik Modul9d di kotak
Project Name, jangan pilih opsi Create Main Class kita akan menset main classnya
4) Setelah desain dan programnya selesai.
5) Klik Finish
6) Buat form baru, klik kanan pada Project Modul9d > New > Jframe Form beri nama pada
Class Name yaitu Event4. Tambahkan JToolBar pada Form dengan posisi layout Last.
Tambahkan jLabel pada pada toolbar tadi, dengan cara klik kanan pada
jToolbar > Add From Palete > Swing Controls > Label
7) Tambahkan Jpanel pada form, kemudian tambahkan 3 Jlabel, 3 jTextField dan 1 jTextButton
pada Jpanel tersebut di tab Design dengan properties sebagai berikut :
8) Masukkan event focusGained yang pertama, dengan cara klik kanan txtNoMhs > Events >
Focus > focusGained. Tambahkan baris perintah berikut ini pada badan method private void
txtNoMhsFocusGained (java.awt.event.FocusEvent evt) :
jLabel1.setText(“Masukkan nomor mahasiswa”);

9) Masukkan event focusGained yang kedua, dengan cara klik kanan txtNama > Events > Focus
> focusGained. Tambahkan baris perintah berikut ini pada badan method private void
txtNamaFocusGained (java.awt.event.FocusEvent evt) :
jLabel1.setText(“Masukkan nama lengkap mahasiswa”);
10) Masukkan event focusGained yang pertama, dengan cara klik kanan txtAlamat > Events >
Focus > focusGained. Tambahkan baris perintah berikut ini pada badan method private void
txtAlamatFocusGained (java.awt.event.FocusEvent evt) :
jLabel1.setText(“Masukkan alamat domisili mahasiswa”);

Set Main Class Project Modul9d, klik kanan pada Project Modul9a > Properties. Pilih
Categories > Run, browse Main Class pilih Event4. Lalu jalankan program anda.

Modul Praktikum PBO | 58


Hasil :

Percobaan 5 :
1) Buat project baru dengan memilih perintah File > New Project.. (Ctrl+Shift+N) Muncul
jendela New Project, pilih Java di kotak Categories dan pilih JavaApplication di kotak
Projects
2) Klik Next >, muncul jendela New Java Project dan ketik Modul9e di kotak Project Name,
jangan pilih opsi Create Main Class kita akan menset main classnya setelah desain dan
programnya selesai
3) Klik Finish
4) Buat form baru, klik kanan pada Project Modul9e > New > Jframe Form beri nama pada Class
Name yaitu Event5
5) Sebelum merancang form, copy file-file gambar pada direktori / folder src pada project
Modul9e. Letakkan file-file gambar tersebut dalam sebuah folder img didalam direktori/folder
src.
6) Tambahkan pada form sebuah JLabel, atur properti icon, arahkan file gambar ke
komputer1.GIF, sehingga akan tampak seperti gambar dibawah ini :

Modul Praktikum PBO | 59


7) Tambahkan dua lagi jLabel dengan properti icon, arahkan ke file gambar alat tulis1.JPG dan
rumah1.JPG
8) Tambahkan satu lagi jLabel untuk menampilkan sebuah gambar yang lebih besar, letakkan
disebelah kanan jLabel sebelumnya, dan masukan gambar rumah2.JPG dalam properti icon.
9) Masukkan event mouse motion yang pertama, dengan cara klik kanan jLabel1 > Events >
MouseMotion > mouseMoved. Selanjutnya tambahkan perintah dalam event tersebut, sehingga
menjadi seperti :

private void jLabel1MouseMoved (java.awt.event.MouseEvent evt) { String

imgSouce = “./img/komputer2.PNG”; jLabel4.setIcon(new

ImageIcon(imgSource)); }

10) Masukkan event mouse motion yang pertama, dengan cara klik kanan jLabel12> Events >
MouseMotion > mouseMoved. Selanjutnya tambahkan perintah dalam event tersebut,
sehingga menjadi seperti :

private void jLabel2MouseMoved (java.awt.event.MouseEvent evt) { String


imgSouce = “./img/alat tulis2.JPG”; jLabel4.setIcon(new
ImageIcon(imgSource));
}

11) Masukkan event mouse motion yang pertama, dengan cara klik kanan jLabel3 > Events >
MouseMotion > mouseMoved. Selanjutnya tambahkan perintah dalam event tersebut,
sehingga menjadi seperti :

Modul Praktikum PBO | 60


private void jLabel3MouseMoved (java.awt.event.MouseEvent evt) { String
imgSouce = “./img/rumah2.PNG”; jLabel4.setIcon(new
ImageIcon(imgSource));
}

12) Set Main Class Project Modul9e, klik kanan pada Project Modul9e > Properties. Pilih
Categories > Run, browse Main Class pilih Event5. Lalu jalankan program anda.

Hasil :

Percobaan 6 :
1) Buat project baru dengan memilih perintah File > New Project.. (Ctrl+Shift+N) Muncul
jendela New Project, pilih Java di kotak Categories dan pilih Java Application di kotak
Projects
2) Klik Next >, muncul jendela New Java Project dan ketik Modul9f di kotak Project Name,
jangan pilih opsi Create Main Class kita akan menset main classnya setelah desain dan
programnya selesai.
3) Klik Finish
4) Buat form baru, klik kanan pada Project Modul9e > New > Jframe Form beri nama pada
Class Name yaitu Event6
5) Masuk dalam design form, pilih properties title dari form tersebut, masukkan “Aplikasi
Pemesanan Menu”
6) Tambahkan dua buah jLabel dengan properti text masing-masing “Daftar Menu” dan label
kedua “Tambahan”
7) Tambahkan sebuah jComboBox, sebuah jTextArea, dan sebuah jButton. Seperti pada gambar
dibawah ini :

Modul Praktikum PBO | 61


8) Tambahkan event windowOpened, dibangkitkan ketika form ini dibuka, dengan cara klik
kanan pada area form > Events > Window > windowOpened. Tambahkan perintah dibawah
ini :
private void formWindowOpened(java.awt.event.WindowEvent evt)
{ jComboBox1.removeAllitems();

jComboBox1.addItem(“Paket Sarapan”);
jComboBox1.addItem(“Paket Makan Siang ”);
jComboBox1.addItem(“Prasmanan ”);
jComboBox1.addItem(“Paket Keluarga”); }

9) Tambahkan event windowClosing, dibangkitkan ketika form ini ditutup, dengan cara klik kanan
pada area form > Events > Window > windowClosing. Tambahkan perintah dibawah ini :
int closing;
closing=JOptionPane.showConfirmDialog(this, “Apakah anda yakin,

mau keluar dari form ini ? “, “konfirmasi”,


JOptionPane.YES_NO_OPTION);

if(closing==0) {
this.dispose(); }

10) set pada properties form, defaultCloseOperation = DO_NOTHING


11) Set Main Class Project Modul9f, klik kanan pada Project Modul9f > Properties. Pilih
Categories > Run, browse Main Class pilih Event6. Lalu jalankan program anda.

Hasil :

Modul Praktikum PBO | 62


BAB 10
JDBC
10.1 Tujuan
✓ Mengkases database menggunakan JDBC
✓ Melakukan operasi baca, tulis, dan hapus data dari database
✓ Menggunakan interface dari yang sederhana sampai yang kompleks

10.2 Dasar Teori


Pemahaman JDBC ini adalah mutlak diperlukan bagi seorang programmer database, jika
ingin bekerja dengan Java. Sebagai gambaran saja, jika programmer membuat aplikasi
database dengan semisal visual basic / PHP dengan database SQL Server atau MySQL,
apakah program tersebut bisa diganti databasenya dengan yang lain semisal PostgreSQL
atau Oracle. Dalam hal ini JDBC mampu membuat aplikasi bisa berjalan diatas semua
sistem database, hanya cukup dengan memasang driver JDBC dari database tersebut.

10.3 Percobaan
Percobaan 1 :
1) Terlebih dahulu buatlah database baru dengan nama modul10a
2) Buat Project baru dengan nama Modul10a
3) Edit main.java sehingga tampak sebagai berikut
package Modul10a ;
import java.sql.Connection; import
java.sql.DriverManager; import
java.sql.SQLException; public class
Main {

public static void main(String[] args) {


Connection con = null;

try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con= DriverManager.getConnection("jdbc:mysql:///modul10a", "root",
"rahasia");
if (!con.isClosed())
System.out.println("Sukses terhubung ke MySQL Server...");

} catch(Exception e) {

System.err.println("Exception: " + e.getMessage());

} finally {
try {

if (con != null)
con.close(); }

catch(SQLException e) {}} } }
Modul Praktikum PBO | 63
4) Tambahkan MySQL JDBC driver dengan cara klik kanan pada project Modul10a
> Properties > Libraries pada tab Compile pilih Add Library tambahkan MySQL
JDBC Driver seperti terlihat pada gambar dibawah ini:

5) Jalankan program anda

Hasil :

Percobaan 2 :
1) Butlah tabel user dengan field user_id (varchar (25)), password (varchar(10)) dan
jabatan (varchar(25)). Jadikan user_id sebagai primary key.
2) Tambahkan user_id : admin, password : rahasia dan jabatan : administrator pada
tabel user di database Modul10a
3) Buat project baru dengan nama Modul10b
4) Edit main.java sehingga tampak sebagai berikut :
package Modul10b;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
private static String no;
public static void main(String[] args) {

Modul Praktikum PBO | 64


Connection con = null;

try {
Class.forName("com.mysql.jdbc.Driver").newInstance();

con = DriverManager.getConnection("jdbc:mysql:///modul10a", "root", "rahasia");

if (!con.isClosed())

System.out.println("Sukses terhubung ke MySQL server...");


Statement st = con.createStatement();

ResultSet rs = st.executeQuery("Select * from user"); while(rs.next()){


no=no+1;

System.out.println(no +")");

System.out.println("User ID : " +rs.getString("user_id"));


System.out.println("Password : " +rs.getString("password"));
System.out.println("Jabatan : " +rs.getString(3));

}
st.close();
rs.close();

}
catch(Exception e) {
System.err.println("Exception : " + e.getMessage());

}
finally {
try {
if (con != null)
con.close();
} catch(SQLException e) {}

} } }

5) Tambahkan MySQL JDBC driver dengan cara klik kanan pada project Modul10b >
Properties > Libraries pada tab Compile pilih Add Library tambahkan MySQL
JDBC Driver.
6) Jalankan program anda

Modul Praktikum PBO | 65


Hasil :

Percobaan 3 :
1) Buat project baru dengan nama Modul10c
2) Edit main.java sehingga akan tampak sebagai berikut :
package Modul10c;
import java.sql.Connection; import
java.sql.DriverManager; import
java.sql.PreparedStatement; import
java.sql.SQLException; public class Main {

public static void main(String[] args) {


Connection con = null;

try {
Class.forName("com.mysql.jdbc.Driver").newInstance();

con = DriverManager.getConnection("jdbc:mysql:///modul10a", "root", "rahasia");

if (!con.isClosed())
System.out.println("Sukses terhubung ke MySQL server...");

PreparedStatement pStatement = null;


String sql ="insert into user(user_id, password, jabatan)" +"Values (?,?,?)";
pStatement = con.prepareStatement(sql);
pStatement.setString(1, "Joko"); pStatement.setString(2,
"jack"); pStatement.setString(3, "Manajer Personalia"); int
intTambah= pStatement.executeUpdate();

if (intTambah>0)
System.out.println("Penambahan data berhasil");
else
System.out.println("Penambahan data gagal");
pStatement.close();
con.close();
}

Modul Praktikum PBO | 66


catch(Exception e) {

System.err.println("Exception: " + e.getMessage()); }

finally {
try {
if (con != null)
con.close();
} catch(SQLException e) {}
}}}

3) Tambahkan MySQL JDBC driver dengan cara klik kanan pada project Modul10c >
Properties > Libraries pada tab Compile pilih Add Library tambahkanMySQL
JDBC Driver.
4) Jalankan program anda.

Hasil :

Percobaan 4 :
1) Buat project baru dengan nama Modul10d
2) Edit main.java sehingga akan tampak sebagai berikut:
package Modul10d;

import java.sql.*; public


class Main {

public static void main(String[] args) {


Connection con = null;

try {
Class.forName("com.mysql.jdbc.Driver").newInstance();

con = DriverManager.getConnection("jdbc:mysql:///modul10a", "root", "rahasia");

if (!con.isClosed())
System.out.println("Sukses terhubung ke MySQL server...");
PreparedStatement pStatement = null;
Modul Praktikum PBO | 67
String sql ="update user set password=?,"+"jabatan=? Where user_id=? ";

pStatement = con.prepareStatement(sql);
pStatement.setString(1, "s3cr3t");
pStatement.setString(2, "Manajer IT");
pStatement.setString(3, "Joko");

int intBaris= pStatement.executeUpdate();


if (intBaris>0)

System.out.println( "Perbaikan data berhasil"); else

System.out.println("Perbaikan data gagal");

pStatement.close();
con.close(); }
catch(Exception e) {

System.err.println("Exception: " + e.getMessage()); }

finally {
try {
if (con != null)
con.close();
} catch(SQLException e) {}

} }

3) Tambahkan MySQL JDBC driver dengan cara klik kanan pada project Modul10d
> Properties > Libraries pada tab Compile pilih Add Library tambahkan
MySQL JDBC Driver.
4) Jalankan program anda.

Hasil :

Modul Praktikum PBO | 68


Percobaan 5 :
1) Buat project baru dengan nama Modul10e
2) Edit main.java sehingga akan tampak sebagai berikut :

package Modul10e;

import java.sql.*;
public class Main {

public static void main(String[] args) {


Connection con = null;

try {
Class.forName("com.mysql.jdbc.Driver").newInstance();

con = DriverManager.getConnection("jdbc:mysql:///modul10a", "root", "rahasia");

if (!con.isClosed())
System.out.println("Sukses terhubung ke MySQL server...");
PreparedStatement pStatement = null;

String sql ="delete from user " + " where user_id=? ";
pStatement = con.prepareStatement(sql);
pStatement.setString(1, "Joko");

int intBaris= pStatement.executeUpdate();


if (intBaris>0)
System.out.println("Penghapusan data berhasil");
else

System.out.println("Penghapusan data gagal");


pStatement.close();

con.close(); }
catch(Exception e) {

System.err.println("Exception: " + e.getMessage());


}

Modul Praktikum PBO | 69


finally {
try {
if (con != null)
con.close();
} catch(SQLException e) {}
}} }

3) Tambahkan MySQL JDBC driver dengan cara klik kanan pada project Modul10e >
Properties > Libraries pada tab Compile pilih Add Library tambahkan MySQL
JDBC Driver.
4) Jalankan program anda.

Hasil :

Percobaan 6 :
1) Buat project baru dengan nama Modul10f, jangan pilih opsi Create Main
Class.
2) Tambahkan satu package didalam Modul10f dengan cara klik kanan pada project
3) Tambahkan sebuah Jframe pada project Modul10f dengan cara klik kanan pada
project Modul10f > New > Jframe Form. Beri nama Tampildata
4) Tambahkan sebuah objek JscrollPane ke dalam form, atur melebar dibagian
tengah form
5) Edit Tampildata.java, tambahkan sebuah method getData() dibagian akhir
6) class Tampildata.java sebelum tanda akhir kelas/kurung kurawal “}”

private Object[][] getData(){


Connection con = null;

Object[][] data1=null;

try {
Class.forName("com.mysql.jdbc.Driver").newInstance();

Modul Praktikum PBO | 70


con = DriverManager.getConnection("jdbc:mysql:///modul10a", "root",
"rahasia");
if (!con.isClosed())

System.out.println("Sukses terhubung ke MySQL server...");


Statement st = con.createStatement();

ResultSet rs = st.executeQuery("Select * from user");

rs.last();
int rowCount=rs.getRow();
rs.beforeFirst();
data1= new Object[rowCount][3];
int no=-1;
while(rs.next()){ no=no+1;
data1[no][0]=rs.getString("user_id");
data1[no][1]=rs.getString("password");

data1[no][2]=rs.getString("jabatan");

}
st.close();
con.close();
}

catch(Exception e) {
System.err.println("Exception : " + e.getMessage());
}

finally {
try {
if (con != null)

con.close();
} catch(SQLException e) {}
}

return data1; }
Modul Praktikum PBO | 71
7) Tambahkan satu method lagi yaitu tampilTabel() untuk inisialisasi Jtable, dan
letakkan dibawah method getData() :

private void tampilTabel(){


String[] columnNames = {"user_id","password","jabatan"};
JTable tabel = new JTable(getData(),columnNames);

jScrollPane1.setViewportView(tabel);

8) Tambahkan method tampilTabel() pada metode konstruktor Tampildata(),


letakkan dibawah initComponents() :

public Tampildata() {
initComponents()
; tampilTabel();

9) Set Main Class pada project modul10f dengan cara klik kanan pada project
modul10f > Properties > Run > Main Class > Browse > modul10f.Tampildata
Jangan lupa tambahkan MySQL JDBC Driver pada project modul10f.

Hasil :

Modul Praktikum PBO | 72


Percobaan 7 :
1) Buat project baru dengan nama Modul10g, jangan pilih opsi Create Main Class
2) Tambahkan satu package ke dalam project Modul10g, dengan cara klik kanan
pada project Modul10g > New > Java Package. Beri nama Modul10g
3) Tambahkan sebuah Jframe pada project Modul10g dengan cara klik kanan pada
project Modul10g > New > Jframe Form. Beri nama FormInput
4) Tambahkan 3 buah JLabel, 3 JTextField dan satu JButton
5) Atur properties-nya sehingga akan tampil sebagai berikut :
6) Tambahkan perintah import dibawah deklarasi package Modul10g, sehingga
akan tampil sebagai berikut :

package
modul10g; import
java.sql.*;

import javax.swing.JOptionPane;

7) Tambahkan event ActionPerformed pada Jbutton dengan cara klik kanan pada
Jbutton1 > events > Action > actionPerformed. Tambahkan baris perintah,
sehingga akan tampak sebagai berikut :

Connection con = null; try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

con = DriverManager.getConnection("jdbc:mysql:///modul10a", "root",


"rahasia");

if (!con.isClosed())
System.out.println("Sukses terhubung ke MySQL

server...");
PreparedStatement pStatement = null;

String sql ="insert into user(user_id, password, jabatan)" +"Values (?,?,?)";

pStatement = con.prepareStatement(sql);
pStatement.setString(1, jTextField1.getText());
pStatement.setString(2, jTextField2.getText());
pStatement.setString(3, jTextField3.getText());
int intTambah= pStatement.executeUpdate(); if
(intTambah>0)

Modul Praktikum PBO | 73


JOptionPane.showMessageDialog(this, "Penambahan
sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(this, "Penambahan
gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);

pStatement.close();
con.close();

jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
}

catch(Exception e) {
System.err.println("Exception: " + e.getMessage());
}
finally {
try {
if (con != null)
con.close();
} catch(SQLException e) {}
}}

8) Set Main Class pada project modul10g dengan cara klik kanan pada project
modul10g > Properties > Run > Main Class > Browse >modul10g.FormInput
9) Jangan lupa tambahkan MySQL JDBC Driver pada project modul10g.

Hasil :

Modul Praktikum PBO | 74


Percobaan 8 :
1) Buat project baru dengan nama Modul10h, jangan pilih opsi Create Main Class
2) Tambahkan satu package ke dalam project Modul10h, dengan cara klik kanan
pada project Modul10h > New > Java Package. Beri nama Modul10h
3) Tambahkan sebuah Jframe pada project Modul10h dengan cara klik kanan pada
project Modul10h > New > Jframe Form. Beri nama FormUpdate
4) Tambahkan 3 buah JLabel, 3 JTextField dan dua Jbutton. Sehingga akan
tampak sebagai berikut :

5) Ganti variabel Jbutton1 menjadi btnCekUser, dengan cara klik kanan pada
tombol jbutton1 > Change Variable Name
6) Tambahkan perintah import dibawah project modul10h. Sehingga akan tampak
sebagai berikut :
package modul10h;
import java.sql.*;
import javax.swing.JOptionPane;

7) Tambahkan perintah berikut dibawah deklarasi Jframe :


Commenction con = null;
8) Tambahkan perintah berikut dibawah konstruktor FormUpdate()

public FormUpdate() {
initComponents(); try {
Class.forName("com.mysql.jdbc.Driver").newInstance();

con = DriverManager.getConnection("jdbc:mysql:///modul10a", "root",


"rahasia");

if (!con.isClosed())

Modul Praktikum PBO | 75


System.out.println("Sukses terhubung ke MySQL Server..."); }
catch(Exception e) {

System.err.println("Exception: " + e.getMessage()); } finally


{

try {

if (con != null)

con.close();
} catch(SQLException e) {}
}
}

9) Tambahkan event klik (actionPerformed) pada Jbutton2 (Tombol Simpan)


try {

PreparedStatement pStatement = null;

String sql ="update user" + "set password=?, jabatan=?" + "where user_id=?";

pStatement = con.prepareStatement(sql);
pStatement.setString(1, jTextField1.getText());
pStatement.setString(2, jTextField2.getText());
pStatement.setString(3, jTextField3.getText()); int
intTambah= pStatement.executeUpdate();

if (intTambah>0)

JOptionPane.showMessageDialog(this, "Update
sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);

else

JOptionPane.showMessageDialog(this, "Penambahan
gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);

pStatement.close();
con.close();

Modul Praktikum PBO | 76


jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");

catch(SQLException e){
System.out.println("Koneksi gagal "+e.toString());
}}

Modul Praktikum PBO | 77


REFERENSI

Avestro, Joyce. 2007. JENI Pengenalan Pemrograman 1. Jardiknas.


Nugroho, Adi. 2008. Algoritma dan Struktur Data dalam Bahasa Java. Penerbit ANDI. Yogyakarta.
Wahono, S. Romi. 2008. Java Fundamentals. . Jakarta

Modul Praktikum PBO | 78

Anda mungkin juga menyukai