Modul Praktikum Object Oriented Programming
Modul Praktikum Object Oriented Programming
1
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
DAFTAR ISI
2
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
MODUL 1
Pengenalan Java disertai First Simple Program
(Pertemuan 3)
Tujuan :
1. Mengenal dan mempersiapkan lingkungan kerja Java
2. Membuat program sederhana dengan Java dengan Netbean
3. Mengkompilasi dan menjalankan program Java Netbean
4. Menganalisa beberapa problem yang terjadi saat pemrograman dan memberikan solusi
Tugas Pendahuluan :
1. Apa yang anda ketahui tentang Netbeans
2. Sebutkan keunggulan bahasa pemrograman JAVA
DASAR TEORI
Bahasa pemrograman Java pada awalnya dikembangkan oleh Sun Microsystems, yang
digagas oleh James Gosling dan dirilis pada tahun 1995 sebagai komponen inti dari Sun
Microsystems.s platform Java (Java 1.0 [J2SE]).
Sun Microsystems telah berganti nama menjadi J2 versi baru sebagai Java SE, Java EE dan
Java ME masing-masing. Dalam java semuanya adalah Obyek. Java dapat dengan mudah
diperpanjang karena didasarkan pada model Obyek. Platform independen: Tidak seperti banyak
bahasa pemrograman lain termasuk C dan C + + ketika Jawa dikompilasi, tidak dikompilasi ke
dalam mesin platform tertentu, bukan menjadi platform independen kode byte. Ini kode byte
didistribusikan melalui web dan ditafsirkan oleh Mesin virtual (JVM) di mana platform itu yang
dijalankan.
Java dirancang agar mudah untuk belajar. Jika Anda memahami konsep dasar OOP java
akan mudah untuk menguasai. Dengan fitur aman Java memungkinkan untuk mengembangkan
bebas virus, sistem tamper-bebas. Teknik otentikasi didasarkan pada enkripsi kunci public. Java
compiler menghasilkan format file objek arsitektur netral yang membuat kode dikompilasi menjadi
executable pada banyak prosesor, dengan hadirnya sistem runtime Java. Menjadi arsitektur netral
dan tidak memiliki implementasi aspek tergantung dari spesifikasi Java membuat portabel.
Compiler dan Java ditulis dalam ANSI C dengan batas portabilitas bersih yang merupakan subset
POSIX. Java membuat upaya untuk menghilangkan situasi rawan kesalahan dengan menekankan
terutama pada waktu kompilasi kesalahan pengecekan dan pemeriksaan runtime.
3
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
KEGIATAN PRAKTIKUM
1. Persiapan
1.1 Peralatan yang Diperlukan
Pada pelatihan Java Dasar ini, peralatan yang diperlukan adalah :
1. Java Development Kit versi 1.6 keatas.
2. Java Runtime Environtment versi 1.6 keatas.
3. NetBeans IDE versi 6.9 keatas.
4
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Dalam Nama dan lokasi halaman wizard, lakukan hal berikut (seperti yang ditunjukkan pada
gambar di bawah):
Pada Project Name field, Ketik Hello World App.
Pada Create Main Class field, Ketik helloworldapp.HelloWorldApp.
Biarkan kotak centang Set sebagai Main Project dipilih.
5
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Proyek dibuat dan dibuka dalam IDE. Anda akan melihat komponen-komponen berikut :
Jendela Projects, yang berisi tampilan pohon dari berbagai komponen proyek, berisi file
sumber, pustaka yang mendasari kode Anda tergantung pada, dan sebagainya.
Jendela Source Editor dengan sebuah file yang bernama HelloWorldApp terbuka.
Jendela Navigator, yang dapat Anda gunakan untuk navigasi cepat di antara elemen-elemen
dalam kelas yang dipilih.
Seperti Pada Contoh Gambar 1.4 Berikut :
Selanjutnya lakukan pengkodean pada listing Project, masukan syntax berikut tepat di main [string]
args {
System.out.println("Hello World!");.
}
Atau tepat di bawah komentar // TODO code application logic here
Seperti contoh :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package helloworldapp;
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
public class HelloWorldApp {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Pemrograman Java merupakan salah satu bahasa pemrograman yg Case Sensitive maka
dari itu perhatikan huruf besar dan kecil huruf seperti contoh a (a kecil) dan A (A Besar), untuk
memberikan komentar pada listing code dengan menggunakan tanda // atau untuk mengawalai
komentar /* dan untuk mengakhiri komentar */ untuk menuliskan String, anda dapat memberikan
tanda petik dua pada awal kaliamat dan akhir kalimat seperti contoh “Hello World!”.
Setelah itu lakukan compile program dengan cara :
Untuk mengkompilasi file sumber Anda, pilih Run | Build Main Project dari menu utama IDE atau
menggunakan shortcut Compile File (F9).Jendela Output terbuka dan menampilkan hasil yang
serupa dengan apa yang Anda lihat pada gambar 1.5 berikut:
7
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Hallo.java
8
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
TestGreeting.java
public class TestGreeting {
public static void main (String[] args) {
Greeting hello = new Greeting();
hello.greet();
}
}
Greeting.java
public class Greeting {
public void greet() {
System.out.println("hi");
}
}
Latihan
Latihan 1 : Menganalisa dan membenahi kesalahan pada program
Tulislah program berikut ini dan simpanlah dengan nama tertentu.Test.java
Greeting.java
Lakukan kompilasi pada file tersebut dan amati hasilnya. Kenapa terjadi kegagalan pada saat
kompilasi?. Benahilah kesalahan diatas sehingga program tersebut dapat berjalan dengan baik.
9
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Lakukan kompilasi pada program tersebut dan jalankan. Kenapa terjadi kesalahan pada saat
menjalankan program tersebut. Benahilah kesalahan diatas sehingga program tersebut dapat
berjalan dengan baik.
TUGAS
1. Ganti sintaks “println” dengan “print”, perhatikan output yang dihasilkan, analisa hasilnya.
2. Buatlah sebuah program untuk menampilkan string yang berisikan biodata diri masing
10
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
11
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
MODUL 2
Pengenalan Variable, Tipe data, Operator
dan metode input di JAVA
(Pertemuan 4)
Tujuan :
1. Mengetahui tipe data di java dan cara menggunakannya
2. Mengetahui cara mendeklarasikan variable di java dan cara menggunakannya
3. Mengetahui dan memahami conditional statement di java juga mampu untuk menggunakannya
4. Mengetahui cara kerja reader input dijava
Tugas Pendahuluan :
1. Apa yang anda ketahui tentang variable di java dan apa kegunaannya ?
2. Apa yang anda ketahui tentang metode input di Java dan kegunaanya ?
DASAR TEORI
1. Variabel Java
Variabel merupakan tempat atau wadah untuk menyimpan nilai / value pada bahasa
pemrograman. Pada Pemrograman java, semua variabel harus dideklarasikan sebelum mereka dapat
digunakan. Bentuk dasar dari sebuah deklarasi variabel yang ditampilkan di sini:
type identifier [ = value]
Jenis ini merupakan salah satu tipe data Jawa. Identifier adalah nama variabel. Menyatakan lebih
dari satu variabel dari jenis tertentu, menggunakan daftar dipisahkan koma. Berikut adalah beberapa
contoh deklarasi variabel dari berbagai jenis. Perhatikan bahwa beberapa mencakup inisialisasi.
JoptionPane
Scanner
3. Operator Java
Java menyediakan banyak set operator untuk memanipulasi variabel. Kita dapat membagi
semua operator Java ke dalam kelompok berikut:
Arithmetic Operators
Relational Operators
Logical Operators
KEGIATAN PRAKTIKUM
1. variabel
Berikut merupakan contoh project dari variabel yang sudah di jelaskan.
13
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
14
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
15
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
16
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Percobaan
17
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
int x = 5, y = 6;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("x & y = " + (x & y));
System.out.println("x | y = " + (x | y));
System.out.println("x ^ y = " + (x ^ y));
}
}
18
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
19
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
TUGAS
1. Buatlah sebuah program untuk menghitung luas segitiga dengan metode BufferedReader
2. Buatlah sebuah program untuk menampilkan bilangan genap dan ganjil dengan
menggunakan metode Scanner.
20
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
MODUL 3
Perulangan, Percabangan dan Array Pada Java
(Pertemuan 5)
Tujuan :
1. Mahasiswa mengetahui dan memahami perulangan dan percabangan di java
2. Mahasiswa mengetahui dan memahami array satu dimensi dan multi dimensi
3. Mahasiswa memahami cara mengakses array
Tugas Pendahuluan :
1. Apa yang anda ketahui tentang perulangan dan percabangan di Java
2. Sebutkan kegunaan dari perulangan dan percabangan di Java
DASAR TEORI
1.1. Percabangan
1.1.1 Percabangan if
Pernyataan if merupakan salah satu bentuk pernyataan yang berguna untuk mengambil
keputusan terhadap sebuah kemungkinan. Bentuk pernyataan if berupa
if(kondisi){
if(kondisi){
// jalankan jika kondixi true
}else{
// jalankan jika kondisi false
}
21
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
if(kondisi1){
// perintah kondisi1
}else if(kondisi2){
// perintah kondisi2
}else if(kondisi3){
// perintah kondisi3
}else{
// perintah jika xemua kondixi tidak ada yang
benar}
Pada
percabangan switch pertama, diperlukan sebuah variabel, setelah itu bada bagian case
dibandingkan, jika sama, maka instruksi akan dijalankan sampai menemui tanda break.
1.2. Perulangan
1.2.1. Perulangan while
Pernyataan while berguna untuk melakukan proses perulangan untuk sebuah
kondisi, selama kondisi tersebut bernilai benar (true), maka perulangan akan terus
berjalan, dan terhenti ketika kondisi bernilai salah (false). Bentuk pernyataan while
22
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
do{
// instruksi
}while(kondisi);
instruksi
1.3.1. Array
Suatu array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama,
23
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
dimana masing-masing elemen variabel mempunyai nilai indeks. Setiap elemen array mampu untuk
menyimpan satu jenis data (variabel).
Array merupakan sekumpulan obyek yang memiliki tipe data yang sama dan dapat di akses
secara random dengan menggunakan index. Array mempunyai panjang yang tetap, artinya ketika
kita mendeklarasikan suatu array dengan panjang 10, maka array tersebut panjangnya akan tetap 10
walaupun kita hanya memakai 5 elemen.
Untuk mengetahui panjang array yaitu gunakan syntax nama array.length berdasarkan
contoh diatas nama array = value maka untuk mengetahui panjang value kita gunakan syntax
value.length. cara pemanggilan yaitu value[0] akan menampilkan angka 1.
24
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Array tidak hanya terdiri dari 1 dimensi, array juga bisa terdiri dari 2 dimensi, 3 dimensi
dan n-dimensi. Array di atas 3 dimensi sangat jarang digunakan karena sangat sulit untuk di
gambarkan. Array multidimensi diimplementasikan sebagai array dalam array. Untuk lebih jelas
mengenai cara pendeklarasian array multidimensi dan penggunaanya, silakan ketikkan program di
bawah ini.
KEGIATAN PRAKTIKUM
2.1. Simple Project If
25
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Jika program diatas dijalankan, maka hasilnya adalah tulisan “variabel nilai = Sepuluh”
karena kondisi pada if bernilai true, jika kondisi bernilai salah, misal nilai == 100, maka
program tidak akan menghasilkan tulisan apa−apa.
Jika program diatas dijalankan, maka hasilnya adalah tulisan “variabel nilai = Bukan
Sepuluh”, hal ini dikarenakan nilai bernilai 8, bukan 10.
2.3. Simple Project if else if
26
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Jika program diatas dijalankan, maka program akan menghasilkan tulisan “Hari Libur”.
Jika program tersebut dijalankan, maka hasilnya adalah tulisan dari 1 sampai
10. Dan saat jumlah bernilai 11, maka perulangan akan terhenti dikarenakan kondisi bernilai false
(11 <= 10).
2.6. Simple Project Do – while
Jika program tersebut dijalankan, maka akan menghasilkan keluaran 100, artinya walaupun
kondisi salah, namun minimal isi instruksi akan dijalankan sekali, hal ini dikarenakan proses
do−while berbeda dengan while, dimana do−while pertama melakukan instruksi baru mengecek
28
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Maka program hanya akan menampilkan angka dari 5 sampai 1, karena pada saat i mencapai 1,
program dihentikan oleh perintah break.
2.8. Simple Project Continue
Jika program diatas dijalankan, maka hasilnya akan menampilkan angka−angka ganjil saja, hal
ini dikarenakan saat nilai i merupakan angka genap, maka perintah continue membuat program
29
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Program yang ditampilkan adalah 1,2, dan 3 sebab array x telah dideklarasikan 1,2,3.
2.10. Simple Project Array 2 Dimensi / Multidimensi
30
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Program yang ditampilkan adalah Mr. Adi Panca | Prof. Saputra Iskandar sebab pemanggilan pada
array names [0] [0] = Mr dan names [1][0] = Adi Panca. Demikian pun dengan pemanggilan kedua
pada Prof. Saputra Iskandar.
Percobaan
if (firstInitial == 'a')
System.out.println("Nama anda pasti Asep!");
else if (firstInitial == 'b')
System.out.println("Nama anda pasti Brodin!");
else if (firstInitial == 'c')
System.out.println("Nama anda pasti Cecep!");
else
System.out.println("Nama anda tidak terkenal!");
}
}
31
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
switch (firstInitial) {
case 'a':
System.out.println("Nama anda pasti Asep!");
case 'b':
System.out.println("Nama anda pasti Brodin!");
case 'c':
System.out.println("Nama anda pasti Cecep!");
default:
System.out.println("Nama anda tidak terkenal!");
}
}
}
switch (firstInitial) {
case 'a':
System.out.println("Nama anda pasti Asep!");
break;
case 'b':
System.out.println("Nama anda pasti Brodin!");
break;
case 'c':
System.out.println("Nama anda pasti Cecep!");
break;
default:
System.out.println("Nama anda tidak terkenal!");
}
}
}
32
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
TUGAS
1. Buatlah program mencari nilai rata rata,nilai terbesar dimana nilai yg diinput oleh user,
minimal inputan 10x.
2. Buatlah program mencari bilangan berpangkat, dengan ketentuan user menginput bilangan
bulat, kemudian user menginput bilangan pangkat, maka akan muncul hasil dari kedua
bilangan tersebut.
3. Buatlah program untuk menentukan suatu tahun kabisat atau bukan dimana tahun dibatasi
mulai dari tahun 1900 sampai dengan tahun 2020
Contoh tampilan:
34
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
MODUL 4
Class, Object, Elemen dalam Class Pada Java
(Pertemuan 6)
Tujuan :
1. Mahasiswa mampu memahami dan mempraktekkan konsep Class dan Objek di java
2. Mahasiswa mengetahui elemen Class di Java
Tugas Pendahuluan :
1. Apa yang anda ketahui tentang Class dan objek di Java?
2. Apa keunggulan penggunaan konsep Class dan objek dibandingkan konsep pemrograman
terstruktural
DASAR TEORI
Deklarasi class dapat dilakukan dengan sintaks sebagai berikut:
<modifier> class <nama_class> {
[deklarasi_atribut]
[deklarasi_konstruktor]
[deklarasi_metode]
}
Contoh:
public class Siswa {
…
}
}
}
Untuk dapat mengakses anggota-anggota dari suatu obyek, maka harus dibuat instance dari
class tersebut terlebih dahulu. Berikut ini adalah contoh pengaksesan anggota-anggota dari
class Siswa:
public class Siswa {
public static void main(String args[]) {
Siswa it=new Siswa();
it.nrp=5;
it.nama=”Andi”;
it.info();
}
// fungsi
return nama; }
2. Prosedur (Void), merupakan metode yang tidak memiliki nilai balik, cara pembuatan prosedur
sama dengan fungsi namun bedanya, nilai baliknya menggunakan kata kunci void.
Contoh :
// prosedur
nama = "";
Pada kode diatas, kelas manusia memiliki 2 buah metode yaitu ambilNama() dan
hapusNama(). DimanaambilNama() merupakan sebuah fungsi karena mengembalikan nilai
String, sedangkan hapusNama() merupakan prosedur karena tidak mengembalikan nilai.
36
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
menggunakan kata kunci return, diikuti nilai yang akan dikembalikannya. Untuk mengambil
nilai balik dari fungsi dapat dilih at pada contoh sebagai berikut.
Manusia manusia = new Manusia(); manusia.nama = "Eko
Kurniawan Khannedy";
// mengambil nilai dari fungsi String nama =
manusia.ambilNama();
KEGIATAN PRAKTIKUM
3.1. Simple Project Class, Object dan Method
Siswa
+ nrp : int
+ Siswa(i : int)
+ setNrp(i : int)
+ getNrp() : int
Dari class diagram tersebut, dapat diimplementasikan ke dalam program sebagai berikut:
public class Siswa {
public int nrp;
public Siswa(int i) {
nrp=i;
}
38
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Latihan
Tabungan
+ saldo : int
+ Tabungan(initsaldo : int)
+ am bilUang(jum lah : int)
Transformasikan class diagram diatas ke dalam bentuk program!. Tulislah listing program
berikut ini sebagai pengetesan.
public class TesLatihan1 {
public static void main(String args[]) {
Tabungan tabungan=new Tabungan(5000);
System.out.println("Saldo awal : "+tabungan.saldo);
tabungan.ambilUang(2300);
System.out.println("Jumlah uang yang diambil : 2300");
System.out.println("Saldo sekarang : " + tabungan.saldo);
}
}
Lakukan kompilasi pada program diatas dan jalankan. Jika tampilan di layar tampak seperti
dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program anda
dan lakukan hal yang sama seperti diatas.
Saldo awal : 5000
Jumlah uang yang diambil : 2300
Saldo sekarang : 2700
- nrp : int
- nama : String
+ Mahasiswa(i : int, String n)
+ getNrp() : int
+ getNama(): String
Transformasikan class diagram diatas ke dalam bentuk program!. Tulislah listing program
berikut ini sebagai pengetesan.
public class TesLatihan2 {
public static void main(String args[]) {
Mahasiswa mhs=new Mahasiswa(12345, "Jono");
System.out.println("NRP : " + mhs.getNrp());
39
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
40
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Tugas
- saldo : int
+ Tabungan(initsaldo : int)
+ getSaldo() : int
+ simpanUang(jumlah : int)
+ ambilUang(jumlah : int) : boolean
Transformasikan class diagram diatas ke dalam bentuk program?. Tulislah listing program
berikut ini sebagai pengetesan.
public class TesTugas1 {
public static void main(String args[]) {
boolean status;
Tabungan tabungan=new Tabungan(5000);
System.out.println("Saldo awal : "+tabungan.getSaldo());
tabungan.simpanUang(3000);
System.out.println("Jumlah uang yang disimpan : 3000");
status=tabungan.ambilUang(6000);
System.out.print("Jumlah uang yang diambil : 6000");
if (status)
System.out.println(" ok");
else
System.out.println(" gagal");
tabungan.simpanUang(3500);
System.out.println("Jumlah uang yang disimpan : 3500");
status=tabungan.ambilUang(4000);
System.out.print("Jumlah uang yang diambil : 4000");
if (status)
System.out.println(" ok");
else
System.out.println(" gagal");
status=tabungan.ambilUang(1600);
System.out.print("Jumlah uang yang diambil : 1600");
if (status)
System.out.println(" ok");
else
System.out.println(" gagal");
tabungan.simpanUang(2000);
System.out.println("Jumlah uang yang disimpan : 2000");
System.out.println("Saldo sekarang = " + tabungan.getSaldo());
}
}
41
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Lakukan kompilasi pada program diatas dan jalankan. Jika tampilan di layar tampak seperti
dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program anda
dan lakukan hal yang sama seperti diatas.
Saldo awal : 5000
Jumlah uang yang disimpan : 3000
Jumlah uang yang diambil : 6000 ok
Jumlah uang yang disimpan : 3500
Jumlah uang yang diambil : 4000 ok
Jumlah uang yang diambil : 1600 gagal
Jumlah uang yang disimpan : 2000
Saldo sekarang = 3500
+ Truk(beratmaks : double)
+ getMuatan() : double muatan
+ getMuatanMaks() : double dalam
+ tambahMuatan(berat : double): boolean kilogram
+ newtsToKilo(berat : double) : double
+ kiloToNewts(berat : double) : double
Keterangan : 1 kilogram = 9,8 newtons
Transformasikan class diagram diatas ke dalam bentuk program! Tulislah listing program
berikut ini sebagai pengetesan
public class TesTugas2 {
public static void main(String args[]) {
Truk truk=new Truk(900);
boolean status;
System.out.println("Muatan maksimal : " +
truk.getMuatanMaks());
status=truk.tambahMuatan(500.0);
System.out.print("Tambah muatan : 500");
if (status)
System.out.println(" ok");
else
System.out.println(" gagal");
status=truk.tambahMuatan(300.0);
System.out.print("Tambah muatan : 300");
if (status)
System.out.println(" ok");
else
System.out.println(" gagal");
42
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
status=truk.tambahMuatan(150.0);
System.out.print("Tambah muatan : 150");
if (status)
System.out.println(" ok");
else
System.out.println(" gagal");
status=truk.tambahMuatan(50.0);
System.out.print("Tambah muatan : 50");
if (status)
System.out.println(" ok");
else
System.out.println(" gagal");
System.out.println("Muatan sekarang = " + truk.getMuatan());
}
}
Lakukan kompilasi pada program diatas dan jalankan. Jika tampilan di layar tampak seperti
dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program anda
dan lakukan hal yang sama seperti di atas.
Muatan maksimal : 900.0
Tambah muatan : 500 ok
Tambah muatan : 300 ok
Tambah muatan : 150 gagal
Tambah muatan : 50 ok
Muatan sekarang = 849.9999999999999
43
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
MODUL 5
Enkapsulasi, Constructor,
overloading constructor
(Pertemuan 7)
Tujuan :
Dengan praktikum ini mahasiswa diharapkan dapat:
Menerapkan konsep enkapsulasi pada class
Mendeklarasikan suatu constructor
Tugas Pendahuluan :
1. Apa yang anda ketahui tentang konsep enkapasulasi di java?
2. Apa yang adan ketahui tentang konstruktor di java
DASAR TEORI
o Kita dapat menyembunyikan information dari suatu class sehingga anggota-anggota class
tersebut tidak dapat diakses dari luar. Adapun caranya adalah cukup dengan memberikan
akses kontrol private ketika mendeklarasikan suatu atribut atau method. Contoh:
private int nrp;
o Encapsulation (Enkapsulasi) adalah suatu cara untuk menyembunyikan implementasi detail
dari suatu class. Enkapsulasi mempunyai dua hal mendasar, yaitu:
- information hiding
- menyediakan suatu perantara (method) untuk pengaksesan data
Contoh:
public class Siswa {
private int nrp;
44
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
o Suatu class dapat mempunyai lebih dari 1 konstruktor dengan syarat daftar parameternya
tidak boleh ada yang sama. Contoh:
Percobaan
+ nrp : int
+ nama : String
+ Mahasiswa(nrp : int, nama : String)
Jika enkapsulasi dilakukan pada class diagram di atas, maka akan berubah menjadi:
Mahasiswa
- nrp : int
- nama : String
+ Mahasiswa(nrp : int, nama : String)
+ getNrp() : int
+ getNama(): String
+ setNrp(nrp : int)
+ setNama(nama : String)
public Mahasiswa() {
nrp=0;
nama=””;
}
Latihan
+ tanggal : int
+ bulan : int
+ tahun : int
+ Kalender(tanggal : int)
+ Kalender(bulan : int, tahun : int)
+ Kalender(tanggal : int, bulan : int, tahun : int)
Dari class diagram di atas, desainlah suatu class yang memenuhi konsep enkapsulasi. Untuk nilai
inisialisasi, dipakai 1-1-2000. Pakailah kata kunci this untuk mempersingkat pengkodean.
Tulislah listing program berikut ini sebagai pengetesan
public class TesLatihan {
public static String getTime(Kalender kal) {
String tmp;
tmp=kal.getTanggal() + "-" +
kal.getBulan() + "-" +
kal.getTahun();
return tmp;
}
46
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
kal=new Kalender(6,2003);
System.out.println("Waktu berubah : " + getTime(kal));
kal.setBulan(7);
System.out.println("1 bulan setelah itu : " + getTime(kal));
kal=new Kalender(20,10,2004);
System.out.println("Waktu berubah : " + getTime(kal));
kal.setTahun(2005);
System.out.println("1 tahun setelah itu : " + getTime(kal));
}
}
Lakukan kompilasi pada program diatas dan jalankan. Jika tampilan di layar tampak seperti
dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program anda.
Waktu awal : 8-1-2000
1 hari setelah waktu awal : 9-1-2000
Waktu berubah : 1-6-2003
1 bulan setelah itu : 1-7-2003
Waktu berubah : 20-10-2004
1 tahun setelah itu : 20-10-2005
TUGAS
1. Buatlah sebuah program bebas yang menunjukkan penggunaan konsep enkapsulasi !
47
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Modul 6
Inheritance, Overloading, Overriding
(Pertemuan 8)
Tujuan
1. Untuk memahami konsep Inheretance dan cara penggunaanya
2. Untuk memahami konsep Overloading, overriding dan cara penggunaanya
Tugas Pendahuluan
1. Apa yang anda ketahui tentang konsep inheritance di java ?
2. Apa yang anda ketahui tentang konsep overloading, overriding di java?
Dasar Teori
o Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai
entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class
turunan. Suatu class yang mempunyai class turunan dinamakan parent class atau base class.
Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Suatu
subclass dapat mewarisi apa-apa yang dipunyai oleh parent class-nya, sehingga member dari
suatu subclass adalah terdiri dari apa-apa yang ia punyai dan juga apa-apa yang ia warisi
dari class parent-nya. Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain
hanya memperluas (extend) parent class-nya.
o Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara
menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama
parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin
melakukan perluasan class. Berikut adalah contoh deklarasi inheritance:
Contoh:
public class B extends A {
...
}
Contoh di atas memberitahukan kompiler Java bahwa kita ingin meng-extend class A ke class B.
Dengan kata lain, class B adalah subclass (class turunan) dari class A, sedangkan class A adalah
parent class dari class B.
o Java hanya memperkenankan adanya single inheritance. Konsep single inheritance hanya
memperbolehkan suatu sublass mempunyai satu parent class. Dengan konsep single
inheritance ini, masalah pewarisan akan dapat diamati dengan mudah.
o Dalam konsep dasar inheritance dikatakan bahwa suatu subclass adalah tidak lain hanya
memperluas (extend) parent class-nya. Contoh :
mempunyai data member yang diwarisi oleh Pegawai (nama, gaji), ditambah dengan data
member yang ia punyai
(departemen).
o Pengaksesan member yang ada di parent class dari subclass-nya tidak jauh berbeda dengan
pengaksesan member subclass itu sendiri.
o Suatu parent class dapat tidak mewariskan sebagian member-nya kepada subclass-nya.
Sejauh mana suatu member dapat diwariskan ke class lain, ataupun suatu member dapat
diakses dari class lain, sangat berhubungan dengan access control (kontrol pengaksesan).
Di dalam java, kontrol pengaksesan dapat digambarkan dalam tabel berikut ini:
Class Package Class
Modifier Subclass
yang sama yang sama manapun
private √
default √ √
protected √ √ √
public √ √ √ √
o Kata kunci super dipakai untuk merujuk pada member dari parent class, sebagaimana kata
kunci this yang dipakai untuk merujuk pada member dari class itu sendiri. Adapun format
penulisannya adalah sebagai berikut:
super.data_member ‰ merujuk pada data member pada parent class
super.function_member() ‰merujuk pada function member pada parent class
super() ‰ merujuk pada konstruktor pada parent class
Contoh:
public class Siswa {
private int nrp;
o Overloading adalah suatu keadaan dimana beberapa method sekaligus dapat mempunyai nama
yang sama, akan tetapi mempunyai fungsionalitas yang berbeda. Contoh penggunaan
overloading dilihat dibawah ini:
Gambar(int t1) ‰ 1 parameter titik, untuk menggambar titik
Gambar(int t1,int t2) ‰ 2 parameter titik, untuk menggambar garis
Gambar(int t1,int t2,int t3)‰3 parameter titik, untuk menggambar segitiga
Gambar(int t1,int t2,int t3,int t4) ‰ 4 parameter titik, untuk menggambar persegi empat
Overloading ini dapat terjadi pada class yang sama atau pada suatu parent class dan
subclass-nya. Overloading mempunyai ciri-ciri sebagai berikut:
1. Nama method harus sama
2. Daftar parameter harus berbeda
3. Return type boleh sama, juga boleh berbeda
o Overriding adalah suatu keadaan dimana method pada subclass menolak method pada
parent class-nya. Overriding mempunyai ciri-ciri sebagai berikut :
1. Nama method harus sama
49
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
o Method yang terkena override (overridden method) diharuskan tidak boleh mempunyai
modifier yang lebih luas aksesnya dari method yang meng-override (overriding method).
Percobaan
public void buatSegiempat(int x1, int y1, int x2, int y2) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
void cetakSegiempat(){
System.out.print("Segiempat: <" + x1 + ", " + y1);
System.out.println(", " + x2 + ", " + y2 + ">");
}
Ketika program tersebut dijalankan, akan tampak hasil seperti dibawah ini :
Buat segiempat dengan koordinat (25,25) dan (50,50)
Segiempat: <25, 25, 50, 50>
Percobaan
Ketika program tersebut dijalankan, akan tampak hasil seperti dibawah ini :
Nilai x sebagai parameter = 20
Data member x di class Child = 10
Data member x di class Parent = 5
Sekarang cobalah untuk mengkompilasi class Manajer diatas. Apa yang terjadi?. Pesan
kesalahan akan muncul seperti ini:
Manajer.java:5: nama has private access in Pegawai
nama=n;
Ini membuktikan bahwa class Manajer tidak mewarisi data member nama dari parent class-nya
(Pegawai).
52
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Perbankan
Tabungan
PenyimpananUang
- tingkatBunga : double
+ PenyimpananUang(saldo : int,
tingkatBunga : double)
+ cekUang() : double
Ubahlah mode akses atribut saldo pada Tabungan menjadi protected. Lalu transformasikan
class diagram di atas ke dalam bentuk program! Tulislah listing program berikut ini sebagai
pengetesan.
import perbankan.*;
}
}
Lakukan kompilasi pada program diatas dan jalankan. Jika tampilan di layar tampak seperti
dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program
anda dan lakukan hal yang sama seperti di atas.
Uang yang ditabung : 5000
Tingkat bunga sekarang : 8.5%
Total uang anda sekarang : 5425.0
53
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Orang
# nama : String
# umur : int
+ Orang(nama : String)
+ Orang(nama : String, umur : int)
Dosen
- nip : int
+ Dosen(nama : String)
+ Dosen(nama : String, nip : int)
+ Dosen(nama : String, nip : int,
umur : int)
+ Info()
Transformasikan class diagram diatas ke dalam bentuk program!. Tulislah listing program
berikut ini sebagai pengetesan.
Lakukan kompilasi pada program diatas dan jalankan. Jika tampilan di layar tampak seperti
dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program anda
dan lakukan hal yang sama seperti di atas.
54
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Nama : Agus
NIP : -
Umur : -
Nama : Budi
NIP : 1458
Umur : -
Nama : Iwan
NIP : 1215
Umur : 47
Tugas
Transformasikan class diagram diatas ke dalam bentuk program!. Tulislah listing program
berikut ini sebagai pengetesan.
import perbankan.*;
public class TesTugas {
public static void main(String args[]) {
PengambilanUang tabungan=new PengambilanUang(5000,1000);
System.out.println("Uang yang ditabung : 5000");
System.out.println("Uang yang diproteksi : 1000");
System.out.println("-----------------");
System.out.println("Uang yang akan diambil : 4500 " +
tabungan.ambilUang(4500));
System.out.println("Saldo sekarang : " + tabungan.getSaldo());
System.out.println("-----------------");
System.out.println("Uang yang akan diambil : 2500 " +
tabungan.ambilUang(2500));
System.out.println("Saldo sekarang : " + tabungan.getSaldo());
}
}
Lakukan kompilasi pada program di atas dan jalankan. Jika tampilan di layar tampak seperti
dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program anda
dan lakukan hal yang sama seperti diatas.
55
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
56
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
MODUL 7
Konsep dasar exception handling, Error handling, Catch and throw,
User defined handling
(Pertemuan 9)
Tujuan :
1. Mahasiswa memahami dan mempraktekkan exception handling dijava
Tugas Pendahuluan :
Apa yang anda ketahui tentang exception handling di java ?
DASAR TEORI
1.1. Exception
Exception merupakan kondisi tidak biasa yang muncul pada saat runtime, dan diwakilkan
sebagai objek. Salah satu kegunaan exception ialah untuk menelusuri informasi mengenai error,
sehingga memungkinkan untuk mendiagnosa penyebab masalah atau memberikan petunjuk kenapa
error itu muncul.
1.2. Exception Handling
Exception handling merupakan suatu mekanisme untuk menangani error/kesalahan yang
muncul pada saat software dijalankan. Contoh, ketika ingin membaca data dari satu file, aplikasi
tidak berhasil memprosesnya karena file tersebut tidak ada.
57
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
//tangani exception…
- catch
Statemen catch digunakan untuk menangkap exception yang dilempar
di dalam blok try.
// bagian luar dari blok try seharusnya tidak melempar exception
try {
// lakukan sesuatu yang mungkin menghasilkan exception
//code yang di protected menggunakan exception handling
}
catch (SocketException se)
{
System.err.println(“Socket error reading from host: “ +se);
System.exit(2);
}
- finally
Statemen finally merupakan generic catchall untuk membersihkan
setelah blok try.
// bagian luar dari blok try seharusnya tidak melempar exception
try {
// lakukan sesuatu yang mungkin menghasilkan exception
}
catch (SomeException some)
{
//tangani SomeException
}
finally
{
//pembersihan setelah blok try,
//tanpa melihat apapun exception yang dilempar
}
-Throw
Keyword throw digunakan untuk melempar suatu eksepsi dalam program, contoh kode:
58
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Sedangkan keyword throws digunakan pada waktu mendeklarasikan suatu method untuk
memberitahu bahwa method yang bersangkutan dapat melempar eksepsi dengan tipe yang
dideklarasikan oleh keyword throws tersebut. Contoh kode :
Penggunaan keyword throws ini juga hanya diperlukan jika eksepsi yang hendak
dilempar merupakan eksepsi yang dicek (bukan merupakan turunan
dari class RuntimeException dan umumnya merupakan turunan dari class Exception).
import java.io.*;
public class className
{
public void deposit(double amount) throws RemoteException
{
// Method implementation
throw new RemoteException();
}
//Remainder of class definition
}
Anda hanya perlu untuk memperpanjang kelas Exception untuk menciptakan kelas
Exception Anda sendiri. Ini dianggap diperiksa pengecualian. Berikut kelas
InsufficientFundsException adalah pengecualian user-defined yang memperpanjang kelas
Exception, membuatnya menjadi pengecualian diperiksa. Sebuah kelas pengecualian seperti kelas
lain, mengandung medan manfaat dan metode.
59
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
KEGIATAN PRAKTIKUM
TUGAS
1. Buatlah sebuah program sederhana yang menerapkan konsep exception handling!
2. Apa keunggulan program yang menerapkan konsep exception hanlding?
60
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
MODUL 8
JAVA GUI Swing
(Pertemuan 10 dan 11)
Tujuan :
1. Mahasiswa mengetahui dan mampu mempraktekkannya komponen Swing di java
2. Mahasiswa mampu membuat form sederhana dengan memanfaatkan komponen Swing diJava
Tugas Pendahuluan :
1. Apa yang anda ketahui tentang java GUI Swing dan AWT?
2. Kenapa dalam GUI di java Swing lebih sering digunakan ?
3. Sebutkan komponen Swing yang ada di java?
DASAR TEORI
Java swing merupakan toolkit GUI pada Java yang serng dipaka untuk membuat aplikasi dengan
Interface berbasis grafis.
Beberapa komponen dari Java Swing yaitu :
Button : Tombol
Label : teks untuk memberikan suatu keterangan
Text Field : media input text sepanjang 1 baris
Text Area : media input text dengan ukuran bisa lebih dari 1 baris
Menu Bar : Bar yang biasanya menu utama suatu aplikasi
Menu : Menu-menu pada aplikasi
Table : untuk menampilkan data dalam bentuk table
Combo box : media input untuk memilih 1 opsi dari bebrapa opsi
Radio box : seperti combo box namun semua opsi langsiung ditampilkan
Chack Box : media input untuk memilih beberapa opsi dari opsi yang tersedia
Tool bar : bar-bar untuk memilih tool-tool yang disediakan aplikasi dan bisanya ditampilkan
dalam bentuk ikon
Setiap komponen memiliki metode setter maupun getter untuk mengakses atributnya.
Semisal untuk JLabel terdapat metode setText() untuk mengubah tulisan pada label dan pada
JTextField terdapat method getText() untuk mengambil data yang diinputkan ke dalam teks.
Setiap komponen juga memiliki yang disebut event listener (atau kadang disebut event
handler) yaitu suatu aksi yang dilakukan ketika terjadi suatu event tertentu. Misal, ketika tombol
ditekan, ketika teks ditulis dalam text field, dsb.
61
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
KEGIATAN PRAKTIKUM
1.1 Latihan Swing
Buka Netbeans pada PC anda, kemudian Klik File | New Project Seperti contoh pada
Gambar berikut :
Dalam New Project wizard, memperluas kategori Java dan pilih Java Application seperti
yang ditunjukkan pada Gambar berikut:
Dalam Nama dan lokasi halaman wizard, lakukan hal berikut (seperti yang ditunjukkan
pada gambar di bawah):
Pada Project Name field, Ketik JavaGUI.
Pada Create Main Class field, Lepaskan Centang.
Biarkan kotak centang Set sebagai Main Project dipilih.
62
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Proyek dibuat dan dibuka dalam IDE. Anda akan melihat komponen-komponen berikut :
Jendela Projects, yang berisi tampilan pohon dari berbagai komponen proyek, berisi
file sumber, pustaka yang mendasari kode Anda tergantung pada, dan sebagainya.
Jendela Source Editor dengan sebuah file yang bernama JavaGUI terbuka.
Jendela Navigator, yang dapat Anda gunakan untuk navigasi cepat di antara
elemen-elemen dalam kelas yang dipilih.
Klik kanan pada <default Package> untuk membuat frame. New | Jframe Form. Seperti
pada gambar berikut.
63
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Maka akan muncul jendela new Jframe form. Pada field Class Name berikan nama Swing. Lalu klik
Finish. Seperti pada gambar berikut.
64
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Langkah selanjutnya yaitu lakukan drag dan drop swing yang dibutuhkan, lakukan seperti gambar
berikut.
65
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Klik Kanan Pada setiap Swing pilih Change Variable Name setelah itu ubah nama klik ok, dan
klik kanan lagi lalu pilih Edit Text,sesuaikan nama variabel dan text seperti pada gambar berikut:
66
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Kemudian anda dapat memberikan variabel pada source code dengan cara klik source dan ketikan
syntax berikut tepat di bawah class yang anda buat.
Kemudian kembali ke Design dan double klik pada cmdtampil atau klik kanan, kemudian pilih
Event | Action | actionPerformed. Maka anda akan masuk pada bagian coding / source code.
Dan ketikan syntax berikut.
67
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Dan pada cmdbersih lakukan hal yang sama dan ketikan syntax berikut.
Jika sudah maka project anda siap di compile dan di run.maka program anda akan tampil seperti
gambar berikut dan silahkan diisi data anda dan klik Tampilkan.
68
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
69
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Setelah itu Drag & Drop Panel kedalam JTabPane maka Tab berhasil di buat.lakukan drag &
drop panel hingga JTabPane memiliki 3 Tab. Setelah itu anda dapat mengedit Text pada Tab
tersebut dengan cara yang sama yaitu klik kanan pada tab tersebut dan Edit Text. Ubahlah
menjadi Halaman1 , Halaman 2 dan Halaman Akhir.
Pada pada halaman 1 anda dapat memberikan JLabel untuk menandai ini halaman1. Sedangkan
pada halaman2 anda dapat memberikan JTabel dengan cara darg & drop Jtabel ke Halaman2,
dan pada halaman 3 anda dapat memberikan JTree. Kemudian anda dapat klik kanan pada
JTree dan pilih Property selanjutnya klik pada Model kemudian klik titik2 pada bagian kanan
model “….” Maka akan muncul jendela baru Dan hapus semua item di kolom sebelah kiri
seperti gambar berikut.
70
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Kemudian tambahkan 1 buah Jlabel, 1 buah JTextField, dan 1 buah JButton. Seperti pada
gambar berikut.
Kemudian double klik pada Jbutton atau klik kanan, kemudian pilih Event | Action |
actionPerformed. Maka anda akan masuk pada bagian coding / source code.
Dan ketikan syntax berikut.
Setelah itu anda dapat Compile dan Run Project Anda.Maka Akan tampil sebagai berikut.
71
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Pilih Halaman Akhir dan Klik pada Jtree ROOT. Dan ketikan anak pertama pada JTextField. Dan
klik Tambah. Maka Jtree anda akan bertambah seperti pada gambar berikut.
72
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
TUGAS
Buatlah Sebuah Program yang mempunyai fungsi seperti kalkulator (mampu
menjumlahkan,mengurangkan,mengalikan dan membagikan. Seperti berikut.
73
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
MODUL 9
JavaGUI , JDBC Connector & MySQL
(Pertemuan 12)
Tujuan :
1. Mahasiswa dituntun untuk membuat form sederhana dengan memanfaatkan komponen Swing
2. Koneksi ke database Mysql dengan memanfaatkan JDBC Connector
3. Form yang telah terkoneksi dapat melakukan insert, update, delete
Tugas Pendahuluan :
1. Apa yang ketahui tentang JDBC Connector ?
2. Apa yang ada ketahui tentang Mysql?
DASAR TEORI
JDBC merupakan singkatan dari Java Database Connectivity yaitu API java yang
membantu aplikasi java untuk mengeksekusi SQL statement. JDBC merupakan interface
pemrograman aplikasi yang mendefinisikan bagaimana pemrogram java dapat mengakses
database dalam format tabular dari kode2 java menggunakan sekumpulan interface standard
an class-class yang tertulis dalam bahasa java.
Secara umum semua RDBMS (Relational Database Management System) dan Java
merupakan platform yang independen, jadi JDBC memungkinkan untuk membuat sebuah
aplikasi database yang dapat dijalankan pada platform-platform berbeda dan berinteraksi
dengan DBMS.
Singkatnya, JDBC membantu programmer untuk membuat aplikasi java yang mengatur 3
aktivitas pemrograman ini :
KEGIATAN PRAKTIKUM
Kita akan mencoba membuat sebuah aplikasi sederhana menggunakan Java yang
menggunakan sistem basis data MySQL. Programnya sederhana, hanya membuat sebuah Form
dengan fasilitas CRUD (Create, Read, Update dan Delete).
Tabel yang akan kita buat sekarang adalah tabel MAHASISWA, dimana tabel tersebut
74
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
memiliki beberapa kolom, yaitu NIM, NAMA, TANGGAL_LAHIR, JURUSAN dan ALAMAT.
Membuat Database
Sebelum membuat program sederhana ini, hal yang pertama perlu kita buat adalah database
yang akan kita gunakan. Misal kita akan membuat database UNIVERSITAS, maka kita bisa
menggunakan perintah :
Membuat Tabel
Setelah membuat database, kita terlebih dahulu perlu membuat tabel MAHASISWA. Kita
dapat menggunakan perintah sebagai berikut untuk membuat tabel MAHASISWA :
);
Sekarang kita sudah punya sebuah tabel dengan nama MAHASISWA. Saatnya kita lanjutkan
membuat project Java−nya menggunakan NetBeans IDE.
Membuat Project
Sama seperti sebelumnya, untuk membuat sebuah project dalam NetBeans IDE kita
dapat membuatnya menggunakan menu File −> New Project. Setelah itu pilih kategori Java
dan pilih tipe project −nya Java Application.
75
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
76
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Beri nama project dan jangan diceklis c eckbos Create Main Class. Hal ini
dikarenakan kita tidak memerlukan dahulu membuat sebuah Main Class. Setelah itu klik
tombol Finish, sekarang kita telah membuat project Java menggunakan NetBeans IDE.
77
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Setelah keluar dialog Add Library, pilih MySQL JDBC Driver lalu klik tombol Add Library
untuk menambahkan MySQL Driver kedalam project.
Setelah menambahkan driver MySQL, sekarang saatnya membuat sebuah kelas yang
akan kita gunakan untuk melakukan koneksi ke database MySQL. Tapi sebelum membuat
sebuah kelas, pastikan kita membuat package dulu,caranya klik kanan bagian Source project
yang telah kita buat lalu pilih Next −> Other.
78
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Setelah keluar dialog Next File, pilih kategori Java dan jenis file Java Package. Klik Next
untuk melanjutkan membuat package.
79
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Setelah itu beri nama packagenya, misal program.universitas, setelah itu klik Finish untuk
membuat package−nya.
Setelah membuat package program.universitas, sekarang kita buat sebuah kelas untuk
melakukan koneksi ke MySQL. Caranya klik kanan packageprogram.universitas lalu
pilih Next −> Other.
80
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Pilih kategori Java dan tipe filenya Java Class, setelah itu klik tombol Nest untuk melanjutkan
membuat sebuah kelas.
81
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Beri nama kelas tersebut, misal KoneksiDatabase, setelah itu klik Finish agar
kelas KoneksiDatabase terbuat.
Sekarang, saatnya melakukan proses pengkodean. Pertama buat sebuah variabel static yang
bertipe java.sql.Connection, kita menggunakan static agar nanti aplikasi dapat mengakses
koneksi secara langsung tanpa harus membuat object KoneksiDatabase.
package
program.universitas;
import
java.sql.Connection;
public class
KoneksiDatabase {
private static
Connection koneksi;
}
82
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Setelah itu buat sebuah metode static getKoneksi(), metode ini digunakan untuk
mendapatkan koneksi itu sendiri.
package
program.universitas;
import
java.sql.Connection;
public class
KoneksiDatabase {
private static Connection koneksi;
83
Program Studi Sistem Komputer
Modul Praktikum Object Oriented Programing
Java
package program.universitas;
import java.sql.Connection;
import
java.sql.DriverManager;
import java.sql.SQLException;
try {
String url = "jdbc:mysql://khannedy.server:3306/UNIVERSITAS";
String user = "echo";
String password = "sssss";
DriverManager.registerDriver(new
com.mysql.jdbc.Driver()); koneksi =
DriverManager.getConnection(url, user, password);
} catch (SQLException t) {
System.out.println("Error Membuat
Koneksi");
}
}
return koneksi;
}
}
Sekarang, kita telah selesai membuat sebuah kelas untuk melakukan proses koneksi ke
MySQL. Saatnya kita membuat Form aplikasinya.
84
Modul Praktikum Object Oriented Programing
Java
Pilih kategori String GUI Forms dan pilih tipe file JFrame Form. Lalu klik Nest
untuk melanjutkan membuat Form.
85
Modul Praktikum Object Oriented Programing
Java
Beri nama Form tersebut, misal dengan nama Form, dengan begitu maka NetBeans akan
membuatkan sebuah kelas dengan nama Form yang merupakan turunan dari kelas JFrame,
dimana kelas JFrame ini merupakan kelas Java Swing.
Sekarang kita dapat melihat GUI builder pada editor NetBeans dan disebelah kanannya
terdapat Pallete yang merupakan komponen−komponen GUI yang ada di Java danProperties
yang merupakan editor atribut−atribut komponen yang kita klik pada GUI Builder.
Untuk menambahkan komponen−komponen GUI lainnya, kita cukup mengklik dan mendrag
salah satu komponen yang ada dalam Pallete ke dalam Form. Misal kita klik dan drag sebuah
Label dari Pallete.
86
Modul Praktikum Object Oriented Programing
Java
Untuk mengubah tulisan pada Label, kita dapat mengklik label teres but, lalu lihat pada
bagian Properties. Ubah atribut Text, misal menjadi NIM, Nama, Tanggal Lahir, Jurusan dan
Alamat.
Setelah itu klik dan drag tiga buat Text Field yang ada dipallete ke Form, gunakan Text Field
untuk Nim, Nama dan Jurusan.
87
Modul Praktikum Object Oriented Programing
Java
Untuk Tanggal Lahir dan Alamat kita tidak menggunakan Text Field, hal ini dikarenakan
Tanggal Lahir memerlukan inputan berupa tanggal sedangkan Text Field hanya mendukung
teks (string), sedangkan untuk Alamat, biasanya isi alamat itu panjang, sehingga lebih tidak
cocok menggunakan Text Field, karena Text Field hanya mendukung satu baris.
Dengan demikian, untuk Tanggal Lahir kita akan menggunakan Formatted Field, tinggal kita
klik dan drag Formatted Field dari Palette ke dalam Form.
Dan untuk Alamat, gunakan komponen Text Area. Text Area hampir mirip dengan Text Field,
namun mendukung lebih dari satu baris.
Untuk mengosongkan isi tulisan pada NIM, Nama, Tanggal Lahir dan Jurusan, kosongkan
atribut Text pada setiap komponen pada Properties−nya.
88
Modul Praktikum Object Oriented Programing
Java
Setelah itu, sekarang saatnya kita mengubah setiap nama variabel komponenya, misal untuk
Text Field NIM kita beri nama variabelnya dengan nama inputNim, untuk Text Field Nama
dengan nama inputNama dan seterusnya, caranya dengan mengklik kanan komponenya lalu
pilih menu Change Variable Name.
Untuk melihat seluruh nama variabelnya, kita dapat melihatnya pada bagian Inspector di
sebelah kiri bawah Form NetBeans.
89
Modul Praktikum Object Oriented Programing
Java
Secara default Formatted Field seperti Text Field, dia hanya menerima teks (String), agar
Formatted Field hanya menerima input berupa tanggal, maka kita perlu memberitahukannya
ke Formatted Field nya, caranya klik inputTanggalLahir, lalu pada bagian Properties, cari
atribut formatterFactory, ubah atribut tersebut.
Pada saat mengklik tombol [...] pada atribut formatterFactory, maka akan muncul dialog
formatterFactory.
Agar Formatted Field hanya meneripa input tanggal, maka ubah kategorinya menjadi date,
formatnya menjadi custom, lalu pada input Format beri teks “d/M/yyyy”.
90
Modul Praktikum Object Oriented Programing
Java
Tambahkan 3 buah tombol, Tambah, Ubah dan Hapus. Untuk mengubah teks tombolnya
caranya sama seperti Label, yaitu dengan mengubah atribut Text pada Properties.
91
Modul Praktikum Object Oriented Programing
Java
Jangan lupa untuk mengubah nama variabel Tabel yang tadi kita masukkan ke Form, caranya
klik kanan Tabel nya lalu pilih Change Variabel Name, misal dengan nama tabelMahasiswa.
Sekarang saatnya mengubah kolom pada Tabel. Berbeda dengan komponen lain, untuk
mengubah kolom pada komponen Tabel, kita memerlukan kelas lain, namanya kelas
DefaultTableModel, sehingga kita perlu melakukan pengkodean, caranya masuk ke bagian
Source.
92
Modul Praktikum Object Oriented Programing
Java
Setelah itu tambahkan sebuah variabel DefaultTableModel pada kelas Form tersebut.
Menambahkan Aksi
Sekarang kita telah selesai membuat Form, saatnya kita menambahkan aksi−aksi database,
seperti load data dari database, menambah data ke database, mengubah data dari database dan
menghapus data dari database.
93
Modul Praktikum Object Oriented Programing
Java
Namun sebelum anda membuat method tersebut tambahkan beberapa import dibawah ini.
Tambahkan tepat di bawah coding package proram.universitas;
import javax.swing.table.DefaultTableModel;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.Connection;
import diatas merupakan bawaan dari java sehingga syntax yang akan anda buat tidak mengalami
eror / user define.
Sekarang kita buat sebuah metode dengan nama loadData() dimana metode tersebut dibuat
dalam kelas Form dan dalam metode tersebut berisikan proses load data dari database.
94
Modul Praktikum Object Oriented Programing
Java
Sebelum melakukan proses load data dari database, maka pertama kali, kita perlu
menghapus seluruh isi baris yang ada pada Table yang ada di Form. Hal ini perlu dilakukan
agar saat kita akan melakukan load ulang data, maka Tabel dikosongkan dulu. Untuk
mengosongkan isi Table, kita harus menggunakan DefaultTableMode.
public void loadData(){
Setelah itu baru kita melakukan load datanya, untuk mengambil data dari database, kita
memerlukan Connection yang ada dalam kelas KoneksiDatabase. Setelah itu buat Statement
dan ResultSet seperti biasanya.
model.getDataVector().removeAllElements();
model.fireTableDataChanged();
try{
Connection c = KoneksiDatabase.getKoneksi();
Statement s = c.creaTextatement();
ResultSet r = s.executeQuery(sql);
while(r.nest()){
r.close();
s.close();
}catch(SQLException e){
System.out.println("Terjadi Error");
95
Modul Praktikum Object Oriented Programing
Java
Pada saat melakukan proses penelurusan data menggunakan ResultSet, maka kita dapat
menambahkan data tersebut ke dalam Table yang ada dalam Form. Untuk menambah sebuah
baris ke Table kita menambahkannya ke DefaultTableModel dengan menggunakan metode
addRow(Object[]).
while(r.nest()){
o[0] = r.getString("NAMA");
o[0] = r.getString("JURUSAN");
o[0] = r.getString("ALAMAT");
model.addRow(o);
model.fireTableDataChanged();
try{
Connection c = KoneksiDatabase.getKoneksi();
Statement s = c.createStatement();
ResultSet r = s.executeQuery(sql);
while(r.nest()){
o[1] = r.getString("NAMA");
o[2] = r.getDate("TANGGAL_LAHIR");
o[3] = r.getString("JURUSAN");
o[4] = r.getString("ALAMAT");
96
Modul Praktikum Object Oriented Programing
Java
model.addRow(o);
r.close();
s.close();
}catch(SQLEsception e){
System.out.println("Terjadi Error");
Agar metode loadData() dipanggil ketika program berjalan, maka kita perlu memanggil
metode loadData() dalam konstruktor Form.
Dalam metode tersebutlah kita melakukan proses penambahan data ke dalam database. Untuk
menambahkan data ke dalam tabel MAHASIWA, otomatis kita memerlukan data input dari
pengguna. Untuk mendapatkan data tulisan dari Text Field dan Text Area, maka kita dapat
menggunakan metode getText(), sedangkan untuk mendapatkan tanggal dari Formatted Field,
kita dapat menggunakan metode getValue(), namun dikarenakan getValue() menghasilkan
Object, maka kita perlu mengkonversinya ke tanggal.
97
Modul Praktikum Object Oriented Programing
Java
Setelah mengambil seluruh data dari input, maka baru kita menyimpannya ke dalam
database MySQL. Caranya adalah dengan membuat Connection dari k e l a s
KoneksiDatabase setelah itu membuat PrepareStatement untuk menyimpan datanya.
String nim = inputNim.getText(); String nama = inputNama.getText();
try{
Connection c = KoneksiDatabase.getKoneksi();
String sql = "INSERT INTO MAHASISWA VALUES (?, ?, ?, ?, ?)";
PreparedStatement p = c.prepareStatement(sql);
p.setString(1, nim);
p.setString(2, nama);
p.setDate(3, new java.sql.Date(tanggalLahir.getTime()));
p.setString(4, jurusan);
p.setString(5, alamat);
p.executeUpdate();
p.close();
}catch(SQLEsception e){ System.out.println("Terjadi
Error");
}finally{
loadData();
}
Pada blok finally, kita perlu memanggil metode loadData(), hal ini dilakukan agar setelah
proses penyimpanan data ke database, maka data akan dimuat ulang ke Table yang ada di
Form.
Untuk menambah aksi tombol Ubah caranya sama dengan tombol Tambah, tinggal klik kanan
tombol Ubah lalu pilih Events -> Action -> actionPerformed.
98
Modul Praktikum Object Oriented Programing
Java
Seperti yang telah ditulis sebelumnya, pertama kita harus mendapatkan baris yang
terseleksi pada Table, jika tidak ada baris yang terseel ksi, maka proses Ubah dibatalkan.
Untuk mendapatkan baris yang terseleksi kita dapat menggunakan metode
getSelectedRow() milik Table, jika return−nya −1 artinya tidak ada baris yang terseleksi.
int i = tabelMahasiswa.getSelectedRow();
if(i == -1){
// tidak ada baris terseleksi
return;
}
Setelah mengambil data nim yang terseleksi dan data lainnya dari input, baru kita lakukan
proses ubah data yang ada di database berdasarkan nim yang baris yang terseleksi.
int i = tabelMahasiswa.getSelectedRow();
if(i == -1){
// tidak ada baris terseleksi
return;
}
// ambil nim yang terseleksi
String nim = (String) model.getValueAt(i, 0);
String nama = inputNama.getText();
try{
Connection c = KoneksiDatabase.getKoneksi();
99
Modul Praktikum Object Oriented Programing
Java
PreparedStatement p = c.prepareStatement(sql);
p.setString(1, nama);
p.setString(3, jurusan);
p.setString(4, alamat);
p.setString(5, nim);
p.executeUpdate();
p.close();
}catch(SQLException e){
System.out.println("Terjadi Error");
}finally{
loadData();
Setelah itu sama seperti pada proses Ubah, kita cek dulu apakah ada baris yang terseleksi
atau tidak, jika ada ambil nim yang terseleksi, jika tidak ada, maka batalkan proses Hapus.
int i = tabelMahasiswa.getSelectedRow();
if(i == -1){
Setelah itu, baru kita lakukan proses penghapusan data dari database berdasarkan data
baris yang terseleksi.
100
Modul Praktikum Object Oriented Programing
Java
int i = tabelMahasiswa.getSelectedRow();
if(i == -1){
// tidak ada baris terseleksi
return;
}
String nim = (String) model.getValueAt(i, O);
try{
Connection c = KoneksiDatabase.getKoneksi();
PreparedStatement p = c.prepareStatement(sql);
p.setString(1, nim);
p.executeUpdate();
p.close();
}catch(SQLException e){
System.err.println("Terjadi Error");
}finally{
loadData();
}
Pertama yang harus dilakukan adalah melakukan pengecekah apakah ada baris yang
terseleksi, jika ada maka ambil data yang terseleksi dari DefaultTableModel setelah itu
tampilkan pada Form, namun jika tidak ada baris yang terseleksi, maka batalkan proses.
int i = tabelMahasiswa.getSelectedRow();
if(i == -1){
// tak ada baris terseleksi
return;
}
101
Modul Praktikum Object Oriented Programing
Java
Run Program
Setelah pembuatan program telah selesai, saatnya menjalankan aplikasi. Untuk
menjalankan aplikasi, pertama kita harus menentukan dahulu kelas yang akan digunakan
sebagai program, dimana pada project yang telah kita buat, kelas program adalah kelas Form.
Untuk mengubah kelas program menjadi kelas Form, maka kita dapat mengubahnya
dengan cara klik kanan Project yang telah kita buat, lalu pilih menu Properties, setelah itu
akan keluar dialog Project Properties.
Pada bagian Categories, pilihlah menu Run, untuk mengubah kelas yang akan dijalankan
sebagai kelas Program.
102
Modul Praktikum Object Oriented Programing
Java
Pada input Main Class, klik tombol Browse, untuk menampilkan daftar kelas yang dapat
dijadikan sebagai kelas program. Maka akan keluar dialog pemilihan kelas.
Pilih kelas Form yang telah dibuat tadi, setelah itu klik tombol Select Main Class. Untuk
mengkonfirmasi perubahan, klik tombol OK. Sekarang kelas Form akan menjadi kelas yang
dijalankan jika Project dijalankan.
Untuk menjalankan aplikasi, klik kanan project yang telah kita buat, setelah itu pilih menu
Run, maka otomatis program akan berjalan. Pada komputer saya, program terlihat seperti
pada gambar dibawah ini.
103
Modul Praktikum Object Oriented Programing
Java
Sekarang, kita dapat menambah data, mengubah data dan menghapus data yang telah kita
masukkan.
TUGAS
Implementasikan materi yang telah didapat dalam project sistem informasi yang telah dirancang!
MODUL 10
Program Studi Teknik Informatika 104
Modul Praktikum Object Oriented Programing
Java
Tujuan :
1. Mahasiswa bisa dituntun untuk membuat single form yang dilengkapi dengan report
2. Form yang telah terkoneksi dapat melakukan insert update delete
Tugas Pendahuluan :
Apa yang anda ketahui tentang iReport?
DASAR TEORI
Terdapat banyak tools untuk reporting dalam java. Diantaranya yang dapat digunakan adalah :
1. JasperReports
Merupakan software open source untuk reporting
2. iReport
Merupakan Visual Designer untuk membuat laporan yang komplek menggunakan
JasperReports library tanpa harus memiliki pengetahuan tentang XML .
KEGIATAN PRAKTIKUM
Melanjutkan project pada module 9. Kita akan membuat report dengan iReport. Sebelum anda
mempraktekan iReport. Anda perlu mendownload file yang sudah saya siapkan di link ini :
http://www.4shared.com/rar/wbWFR7cb/Java-Report-file.html atau
https://docs.google.com/file/d/0BxYcW8LUKhiRMUpDVnVjSEIxM0k/edit?usp=sharing
1. Buka Netbeans, selanjutnya pilih Tools | Plugin. Pada tab download klik add plugin
dan masukkan plugin iReport yang sudah anda download tepatnya didalam folder iReport-
nb-3.5.2-plugin.
2. Klik Install dan ikuti langkah selanjutnya. Hingga anda diminta untuk merestart IDE Netbeans
anda. Biarkan IDE di restart.
3. Setelah itu buka kembali IDE Netbeans anda dan buka pada project MahasiswaApp atau project
module 9 yang sudah dibuat dan buat file Report dengan cara klik kanan pada
program.universitas | pilih New | pilih Report Wizard atau pilih other | pilih iReport | pilih
Report Wizard seperti gambar.
6. Setelah itu bakalan ada pilihan datasource, krn project MahasiswaApp kita pakai
MySQL jadi pilih yang Database JDBC Connection. Klik Next.
7. Step selanjutnya Setting koneksi, sesuaikan dengan database universitas. Berikan nama:
koneksi , server address : localhost , database universitas , username root, password :
kosongkan, Jika sudah klik Wizard agar url berubah dan klik Save..
Program Studi Teknik Informatika 108
Modul Praktikum Object Oriented Programing
Java
9. Selanjutnya klik oke jika muncul kotak dialog masukan password. Karena database kita
tanpa password maka kosongkan dan klik OK. Selanjutnya klik table mahasiswa dan
Centang field atau atribut dari tabelyang ingin di tampilkan.
10. Setelah di klik OK. akan ada tampilan seperti dibawah. Lalu klik Next...
11. Pada tab ini pilih field yang ingin ditampilkan dilaporan dan pindahkan ke sisi kanan.
Lalu klikNext..
12. Step selanjutnya pilih berdasarkan group by.jika ingin membuat group, jika tidak klik
Next, untuk saat ini kita langsung saja klik next.
13. Pilih sesuai yang anda inginkan. Untuk contoh kali ini kita gunakan columnar layout.
Setelah itu klik next.
15. Selanjutnya atur format laporan sesuai gambar berikut. Klik 2x untuk mengubah label.
Dan klik preview untuk compile report.
16. Selanjutnya kembali ke form GUI. Dan tambahkan Jbutton unuk mencetak data kita.
try {
File file = new File("src/program/universitas/report_mahasiswa.jrxml ");
jasperDesign = JRXmlLoader.load(file);
param.clear();
jasperReport = JasperCompileManager.compileReport(jasperDesign);
jasperPrint = JasperFillManager.fillReport(jasperReport, param,
koneksi.getConnection());
JasperViewer.viewReport(jasperPrint, false);
} catch (Exception e) {
e.printStackTrace();
}
18. jika sudah pasti anda akan menemukan beberapa lampu eror dari netbeans. Tapi jangan
khawatir anda hanya perlu menambahkan libraries, variabel serta import untuk
mengatasi masalah tersebut.pertama kita akan menambahkan libraries. Dengan cara klik
kanan pada libraries | Pilih Add JAR/Folder seperti pada gambar berikut.
Program Studi Teknik Informatika 114
Modul Praktikum Object Oriented Programing
Java
19. Kemudian pilih semua file yang telah anda download tepatnya di dalam folder add-jar-library
tambahkan semua file seperti pada gambar berikut.
20. Selanjutnya tambahkan variabel berikut. Ketikan syntax berikut pada program anda.tepat
dibawah class form.
21. Dan yang terakhir tambahkan beberapa import pada syntax anda. Ketikan syntax berikut. Tepat
di bawah import sebelumnya atau di atas class form.
Selanjutnya anda dapat compile dan Run project MahasiswaApp anda. Dan klik tombol cetak
untuk melihat hasil dari report yang telah anda buat. Tampilan akan seperti gambar berikut.
TUGAS
Implementasikan materi yang telah di dapat dalam project sistem informasi yang telah dibuat