Anda di halaman 1dari 75

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum : 1
Judul: Mengenal Netbeans 6.5
Waktu : 1x110 Menit

1. Tujuan Intruksional
- Mahasiswa memahami ruang lingkup dan mengetahui fungsi-fungsi utama dalam
menggunakan Netbeans 6.5

a.
b.
c.
d.
e.
f.

2. Teori
Java dibuat dan diperkenalkan pertama kali oleh sebuah tim Sun Microsystems yang dipimpin
oleh Patrick Naughton dan James Gosling pada tahun 1991 dengan code name Oak. Tahun
1995 Sun mengubah nama Oak tersebut menjadi Java, ide pertama kali kenapa Java dibuat
adalah karena adanya motivasi untuk membuat sebuah bahasa pemrograman yang bersifat
Portable dan Platform independent.
Netbeans adalah merek dagang yang hak atas kekayaan intelektualnya dimiliki oleh Sun
Microsystems,Inc. Netbeans sebagai IDE ditujukan untuk memudahkan pemrograman java,
Netbeans mencakup compiler atau builder dan debugger internal. Hal ini sangat memudahkan
proses paska perancangan program. Proses deployment dan / atau tes dapat juga dilakukan dari
dalam NetBeans
3.Alat dan Bahan
BKPM
Komputer dengan Netbeans 6.5
Buku Referensi Pemrograman Visual dengan Netbeans
Buku Referensi Pemrograman Berorientasi Objek
LCD
ATK

4.Pelaksanaan Praktikum
a.
Jalankan Software Netbeans 6.5, tunggu beberapa saat sampai netbeans siap digunakan,
seperti gambar berikut :

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

b.Jalankan menu File | New Project, sehingga dialog New Project muncul

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

c.Pada Menu Categories = Java, Project = Java Application, klik tombol Next, Sehingga New
Java Application muncul

b.

Isikan Sesuai dengan gambar di atas, pastikan pilihan Create Main Class dan Set as Main
project untuk dicentang, klik tombol Finish untuk menyelesaikan pembuatan Project baru.

c.

Tambahkan baris program berikut pada Method Public static void main
Public static void main(String[] args) {
// TODO code application logic here
System.out.println("Hello World ..!");
}
d.
Untuk mengetahui apakah program tersebut benar, lakukan Compile, klik kanan tepat di
atas node nama file poject (Project | HelloWorld | Sources Packages | helloworld | java.main)
pilih compile file.
e.
Jika pada baris akhir bagian jendela Output tertuliskan :
BUILD SUCCESSFUL (total time: 2 seconds)
Maka Program tersebut benar
f.
Untuk melihat hasil program tersebut, lakukan seperti langkah f tetapi pilih Run file
3. Latihan
a.
Buatlah sebuah program untuk menghitung luas segitiga dengan ketentuan : nilai alas
dan tinggi ditentukan dalam program tersebut.
b.
Buatlah sebuah program untuk mengitung lingkaran dengan ketentuan : nilai Phi dan
jari-jari ditentukan dalam program tersebut.
4. Tugas
a. Jelaskan perbedaan antara J2SE ( Standart Edition), J2EE (Enterprise Edition) juga J2ME
(Micro edition) ?
3

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
b. Jelaskan Perbedaan pembuatan project dengan menggunakan Java Application dan Java Class
Library ?
c. Apa yang dimaksud dengan Package dalam netbeans ?
b. Jelaskan perbedaan antara Compile file dan Build juga Run file ?
c. Jelaskan pengertian istilah-istilah berikut :
1) Class
2) Objek / instans
3) State
4) Behaviour
5) Method
6) Konstruktor

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum : 2
Judul: Membuat Objek dalam Java dengan Netbeans
Waktu : 1x110 Menit

1. Tujuan Intruksional Khusus


Mahasiswa memahami konsep dasar pemrograman berorientasi Objek menggunakan Java
dengan Netbeans
2. Alat dan Bahan
a. BKPM
b. Komputer dengan Netbeans 6.5
c. Buku Referensi Pemrograman Visual dengan Netbeans
d. Buku Referensi Pemrograman Berorientasi Objek
3. Teori
ClassManusia
(STATE)
Berat
Tinggi
Usia
(BEHAVIOUR)
ClassWanita
Makan()

ClassPria

(STATE)

(STATE)

Minum()
Memiliki_organ_kelamin_wanita
Memiliki_organ_kelamin_pria
Menua()
(BEHAVIOUR)
(BEHAVIOUR)
Contoh Instance
/ objek
maria
doni
4. Pelaksanaan Praktikum
a. BuatMelahirkan()
Project baru berupa Java Class Library
b. Selanjutnya buatlah sebuah file untuk class yang akan dibuat.dengan cara, klik kanan tepat di
atasMenyusui()
node nama file poject (Project | New | Java Class), seperti pada gambar di bawah :

c. Pada dialog New Java Class, isikan nama kelas yang akan kita buat (misal : Buku), package
sesuai dengan yang diinginkan, akhiri dengan klik tombol Finish.
5

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

d. Isi kan program class buku sehingga seperti di bawah ini :

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
e.
f. Jalankan program tersebut, jika benar akan menghasilkan seperti di bawah ini :
run:
judul:Pemrograman berorientasi Objek, Pengarang:IndraJani,S.Kom,MM
judul:Pemrograman Visual, Pengarang:Sudarmanto,ST,MT
BUILD SUCCESSFUL (total time: 1 second)
5. Latihan
a. Buatlah sebuah project baru ( sebuah Class Library ) untuk Class Manusia
Dengan properti berat, tinggi dan usia, buat juga objek dari class manusia dan
definisikan nilai dari masing masing variable tersebut.
6. Tugas
a. Jelaskan tentang istilah-istilah berikut
1) Enkapsulasi
2) Pewarisan
3) Polymorphism
b. Jelaskan mengenai Top-level Container, intermediate Container, Atomic Component, Layout
Manager ?
c. Berikan contoh untuk soal B ?
d. Jelaskan tentang AWT dan SWING komponen dan cara menggunakannya ?
1) Apa perbedaan antara variabel dan object?
2) Ada berapa macam tipe data primitif dalam Java?
Sebutkan dan jelaskan!
3) Sebutkan tipe data reference dalam Java!
4) Beri contoh deklarasi konstanta dalam Java!
5) Sebutkan keyword dalam java!
6) Kenapa deklarasi variabel berikut salah?
a) int8k;
b) char null;
c) String public;

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 3
Judul Praktikum: Sintaks Bahasa dan Tipe Data
Alokasi Waktu: 2 x 110 menit

1.
2.

3.
a.
b.
c.
d.
e.
4.
5.
a.
1)
2)

Tujuan Instruksional Khusus


Mahasiswa memahami Sintaks Bahasa Dan Tipe Data pada java serta dapat menerapkannya.
Teori
Variabel
Sintaks pendeklarasian variabel secara umum adalah sebagai berikut :
Tipe-data nama-variabel;
Contoh
int counter;
Alat dan Bahan
BKPM
Referensi Pemrograman Berorientasi Objek
Komputer
LCD
Alat Tulis Kantor (ATK)
Prasyarat
Mengerjakan tugas pendahuluan pada modul sebelumnya
Pelaksanaan Praktikum
Scope Variabel
Buatlah sebuah project dengan class baru, dengan nama Scope
Tulislah Source Code berikut pada Code Editor class tersebut.
class Scope1 {
static int a; //Deklarasi variabel dalam blok class
public static void main(String[] args) {
int x; // variabel x ini dikenal di seluruh method main()
x = 10;
a = 2; //variabel a juga dikenal di sini
System.out.println("Nilai a : " + a);
{ //awal dari blok baru
int y; /* variabel ini hanya dikenal di dalam blok code ini saja */
y = 5;
System.out.println("Nilai x : " + x); /* variabel x dikenal di sini */
System.out.println("Nilai a : " + a); /*variabel a juga dikenal di sini */

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
{ //nested blok
int z;/* variabel ini hanya dikenal di dalam nested blok ini saja */
z = 20;
// variabel x,y dan a dikenal di dalam nested blok ini
System.out.println("Nilai x + y + z + a : " + (x + y + z + a));
} //akhir dari nested blok
//z = 11; // -> Error variabel z tidak lagi dikenal di sini
//variabel y masih dikenal di sini karena masih dalam
//blok
//code tempat ia dideklarasikan
System.out.println("Nilai y : " + y);
} //akhir dari blok baru
//y = 12; // -> Error: variabel y tidak dikenal di sini
//variabel x masih dikenal di sini karena masih dalam blok
//code tempat ia dideklarasikan
System.out.println("Nilai x : " + x);
}
}
b.

Tipe Data Referensi


class ProgSederhana {
int x = 0; // Pendeklarasian variabel dengan tipe data int
public static void main(String[] args) {
ProgSederhana var; //Pendeklarasian variabel dengan //tipe //data class ProgSederhana
// var.x = 20
//Upss...Error, Anda belum meng//instantiate class ProgSederhana
//sehingga anda belum
dapat mengakses objek ProgSederhana
var = new ProgSederhana2(); //Instantiate class ProgSederhana //menjadi objek
var.x = 20; //setelah proses instantiate ini, anda dapat //mengakses objek
//ProgSederhana melalui variabel var
System.out.println("Nilai x : " + var.x);
}
}

c.
1)

ARRAY
ARRAY SATU DIMENSI
class SingleArray {
9

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
public static void main(String[] args) {
int [] x;
// Cara 1
x = new int[3];
x[0] = 20 ;
x[1] = 10 ;
x[2] = 30;
System.out.println("Nilai x[0] : " + x[0]);
System.out.println("Nilai x[1] : " + x[1]);
System.out.println("Nilai x[2] : " + x[2]);
int [] y = new int[3];
// Cara 2
y[0] = 20 ;
y[1] = 10 ;
y[2] = 30;
System.out.println("Nilai y[0] : " + y[0]);
System.out.println("Nilai y[1] : " + y[1]);
System.out.println("Nilai y[2] : " + y[2]);
int[] z = {20,10,30};
// Cara 3 tdk menggunakan new
System.out.println("Nilai z[0] : " + z[0]);
System.out.println("Nilai z[1] : " + z[1]);
System.out.println("Nilai z[2] : " + z[2]);
}
}
2)

ARRAY MULTI DIMENSI


class MultiArray1 {
public static void main(String[] args) {
int[][] arrx;
// Cara 1 Array 2 Dimensi
arrx = new int[3][3];
arrx[0][0] = 1;
arrx[0][1] = 2;
arrx[0][2] = 3;
arrx[1][0] = 4;
arrx[1][1] = 5;
arrx[1][2] = 6;
arrx[2][0] = 7;
arrx[2][1] = 8;
arrx[2][2] = 9;
System.out.println("Nilai arrx[0] : " + arrx[0][0]);
System.out.println("Nilai arrx[0] : " + arrx[0][1]);
System.out.println("Nilai arrx[0] : " + arrx[0][2]);
System.out.println("Nilai arrx[1] : " + arrx[1][0]);
System.out.println("Nilai arrx[1] : " + arrx[1][1]);
10

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
System.out.println("Nilai arrx[1] : " + arrx[1][2]);
System.out.println("Nilai arrx[2] : " + arrx[2][0]);
System.out.println("Nilai arrx[2] : " + arrx[2][1]);
System.out.println("Nilai arrx[2] : " + arrx[2][2]);
int[][] arry = {{10,20,30},{40,50,60},{70,80,90}} ;
//Cara 2 Array 2 Dimensi dgn ukuran 3 * 3 = 9
System.out.println("Nilai arry[0] : " + arry[0][0]);
System.out.println("Nilai arry[0] : " + arry[0][1]);
System.out.println("Nilai arry[0] : " + arry[0][2]);
System.out.println("Nilai arry[1] : " + arry[1][0]);
System.out.println("Nilai arry[1] : " + arry[1][1]);
System.out.println("Nilai arry[1] : " + arry[1][2]);
System.out.println("Nilai arry[2] : " + arry[2][0]);
System.out.println("Nilai arry[2] : " + arry[2][1]);
System.out.println("Nilai arry[2] : " + arry[2][2]);
}
}
3)

ARRAY MULTI DIMENSI 2


class MultiArray2 {
public static void main(String[] args) {
int[][][] arr3 = {{{10,20,30},{40,50,60}},
{{11,21,31},{41,51,61}},
{{12,22,32},{42,52,62}}};
// ukuran 3 * 6 //= 18
System.out.println("Nilai arr3[0] : " + arr3[0][0][0]);
System.out.println("Nilai arr3[0] : " + arr3[0][0][1]);
System.out.println("Nilai arr3[0] : " + arr3[0][0][2]);
System.out.println("Nilai arr3[0] : " + arr3[0][1][0]);
System.out.println("Nilai arr3[0] : " + arr3[0][1][1]);
System.out.println("Nilai arr3[0] : " + arr3[0][1][2]);
System.out.println("Nilai arr3[1] : " + arr3[1][0][0]);
System.out.println("Nilai arr3[1] : " + arr3[1][0][1]);
System.out.println("Nilai arr3[1] : " + arr3[1][0][2]);
System.out.println("Nilai arr3[1] : " + arr3[1][1][0]);
System.out.println("Nilai arr3[1] : " + arr3[1][1][1]);
System.out.println("Nilai arr3[1] : " + arr3[1][1][2]);
System.out.println("Nilai arr3[2] : " + arr3[2][0][0]);
System.out.println("Nilai arr3[2] : " + arr3[2][0][1]);
System.out.println("Nilai arr3[2] : " + arr3[2][0][2]);
System.out.println("Nilai arr3[2] : " + arr3[2][1][0]);
System.out.println("Nilai arr3[2] : " + arr3[2][1][1]);
System.out.println("Nilai arr3[2] : " + arr3[2][1][2]);
}
}
11

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 4
Judul Praktikum: OPERATOR
Alokasi Waktu: 2 x 110 menit
1.

Tujuan Instruksional Khusus


Mahasiswa memahami menggunakan Operator-operator yang terdapat dalam java dan dapat
menerapkannya.

2.

Teori

3.
a.
b.
c.
d.
e.

Alat dan Bahan


BKPM
Referensi Pemrograman Berorientasi Objek
Komputer
Alat Tulis Kantor (ATK)
LCD

4.

Prasyarat
Mengerjakan tugas pendahuluan pada modul sebelumnya
5.
Pelaksanaan Praktikum
OPERATOR PENUGASAN
1.
Buatlah sebuah project dengan class baru, dengan nama Operator1
2.
Tulislah Source Code berikut pada Code Editor class tersebut.
class Operator1 {
public static void main(String[] args) {
int var = 1;
int a,b,c;
a = b = c = 99;
int d,e,f;
f = 99;
e = f;
d = e;
System.out.println("Nilai var : " + var);
System.out.println("Nilai a : " + a);
System.out.println("Nilai b : " + b);
System.out.println("Nilai c : " + c);
System.out.println("Nilai f : " + f);
System.out.println("Nilai e : " + e);
System.out.println("Nilai d : " + d);
int z;
12

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
char Teks1 = 'a'; // dalam Unicode karakter 'a' direpresentasikan
97
z = Teks1 * 10; // z = 97 * 10;
System.out.println("Nilai Teks1 : " + Teks1);
System.out.println("Nilai z : " + z);
}
}
OPERATOR MATEMATIK, PENAIKAN DAN PENURUNAN
class Operator2{
public static void main(String[] args) {
int x = 10;
int y;
y = ++x;
System.out.println("Nilai x dari ++x : "+x);
System.out.println("Nilai y dari ++x : "+y);
x=10;
y = x++;
System.out.println("Nilai x dari x++ : "+x);
System.out.println("Nilai y dari x++ : "+y);
}
}
OPERATOR BITWISE (MANIPULASI BIT)
class Operator3{
public static void main(String[] args) {
int x,y;
x = ~10;
System.out.println("Nilai negasi x : "+x);
x = 170 & 34;
System.out.println("Nilai and : "+x);
x = 170 | 34;
System.out.println("Nilai or : "+x);
x = 170 ^ 34;
System.out.println("Nilai xor : "+x);
x = 1170;
y = x >> 1;
System.out.println("Nilai geser kanan : "+x);
x = -1170;
y = x >> 1;
System.out.println("Nilai geser kanan neg : "+x);
x = 1170;
y = x >>> 1;
System.out.println("Nilai geser kanan 1 bit 0 : "+x);
x = -1170;
13

PS.Rekam Medik-Jurusan Kesehatan - 2012

// dengan angka

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
y = x >>> 1;
System.out.println("Nilai geser kanan 1 bit 0 neg : "+x);
x = 1170;
y = x << 1;
System.out.println("Nilai geser kiri : "+x);
x = 1073742994;
y = x << 1;
System.out.println("Nilai geser kiri : "+x);
}
}
OPERATOR LOGIKA
class Operator4{
public static void main(String[] args) {
int x,y;
x = 5;
if(x!=0 && (x/2)>=5){
System.out.println("TRUE 1 : " + x);
System.out.println("TRUE 1 : ");
}else {
System.out.println("FALSE 1");
}
}
}
class Operator6{
public static void main(String[] args) {
int x,y;
x = 5;
if(x!=0 & (x/2)>=5) {
System.out.println("TRUE 2 : " + x);
System.out.println("TRUE 2 : ");
}else {
System.out.println("FALSE 2");
}
}
}
class Operator7{
public static void main(String[] args) {
int x,y;
x=10;
y=5;
14

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
if(x>y & x++ > 10) {
System.out.println("TRUE 3 : " + x);
System.out.println("TRUE 3 : " + y);
System.out.println("TRUE 3 : ");
}else {
System.out.println("FALSE 3");
}
}
}
class Operator8{
public static void main(String[] args) {
int x,y;
x=10;
y=5;
if(x>y & ++x>10) {
System.out.println("TRUE 3 x : " + x);
System.out.println("TRUE 3 y : " + y);
System.out.println("TRUE 3 : ");
}else {
System.out.println("FALSE 3");
}
}
}
OPERATOR PRIORITAS
class Operator9{
public static void main(String[] args) {
int x,hasil;
x = 40;
boolean test1 = true;
hasil = test1?x/10:x*20;
System.out.println("Nilai x : "+ x);
System.out.println("Nilai Hasil : "+ hasil);
}
}

15

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
Praktikum:
5
Praktikum
: Pengenalan Kondisi if, switch, while, for , jump dll dlm Java
Alokasi Waktu: 3 x 110 menit

1.

Tujuan Instruksional Khusus


Mahasiswa memahami penggunakan Kondisi if, switch, while, for , jump dll pada java
dapat menerapkannya.
2.
Teori
3.

Alat dan Bahan

1.
2.
3.
4.
5.

BKPM
Referensi Pemrograman Berorientasi Objek
Komputer
LCD
Alat Tulis Kantor (ATK)

4.

Prasyarat
Mengerjakan tugas pendahuluan pada modul sebelumnya
5.
Pelaksanaan Praktikum
class Operator8{
public static void main(String[] args) {
int x,y;
x=10;
y=5;
if(x>y & ++x>10) {
System.out.println("TRUE 3 x : " + x);
System.out.println("TRUE 3 y : " + y);
System.out.println("TRUE 3 : ");
}else {
System.out.println("FALSE 3");
}
}
}
class TestSeleksi4 {
static void main(String[] args) {
int e,f;
e = f = 6;
if(e>5) {
if(e==f)
System.out.println("if di dalam if Test Seleksi 3");
}else
System.out.println("pasangan if terluar Test Seleksi 3");
}
16

PS.Rekam Medik-Jurusan Kesehatan - 2012

serta

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
}
class TestSwitch1 {
public static void main(String[] args) {
int bulan = 4;
switch(bulan)
{
case 1:
System.out.println("pertama");
case 2:
System.out.println("kedua");
case 3:
System.out.println("kuartal 1");
break;
case 4:
System.out.println("keempat");
case 5:
case 6:
System.out.println("kuartal 2");
break;
case 7:
case 8:
case 9:
System.out.println("kuartal 3");
break;
default:
System.out.println("kuartal 4");
}
System.out.println("keluar dari switch");
}
}
class TestSwitch5 {
public static void main(String[] args) {
int bulan, year;
bulan = 1;
year = 2002;
switch(bulan) {
case 1: switch(year) {
case 2002 : System.out.println("Bulan 1 tahun 2002");
break;
case 2003 : //...
}
case 2: //...
default: //default...
17

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
}
}
}
class TestIter1 {
public static void main(String[] args) {
int a = 9 ;
System.out.println("Sebelum while");
while(a>=10) {
System.out.println("Nilai a : "+a);
a--;
}
System.out.println("Setelah while");
}
}
class TestIter2 {
public static void main(String[] args) {
int b = 9 ;
System.out.println("Sebelum do");
do {
System.out.println("Nilai b : "+b);
b--;
} while (b>=10);
System.out.println("Setelah do");
}
}
class TestIter3 {
public static void main(String[] args) {
int c;
System.out.println("Sebelum for");
for(c=0;c<5;c++)
System.out.println("Nilai c: " + c);
System.out.println("Setelah for");
}
}
class TestIter4 {
public static void main(String[] args) {
int d,e;
System.out.println("Sebelum for");
for(d=0,e=6;d<=3 && e>=3;d++,e--) {
System.out.println("Nilai d : " + d);
18

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
System.out.println("Nilai e : " + e);
}
System.out.println("Setelah for");
}
}
class TestIter5 {
public static void main(String[] args) {
int g,h;
System.out.println("Sebelum for");
for(g=0,h=6;g<=3 && h>=3;g++,h--) {
System.out.println("Nilai g : " + g);
System.out.println("Nilai h : " + h);
}
System.out.println("Setelah for");
}
}
class TestIter6 {
public static void main(String[] args) {
int a = 9 ;
System.out.println("Sebelum while");
while(a>=0) {
System.out.println("Nilai a : "+a);
a--;
}
System.out.println("Setelah while");
}
}
class TestIter7 {
public static void main(String[] args) {
int b = 9 ;
System.out.println("Sebelum do");
do {
System.out.println("Nilai b : "+b);
b--;
} while (b>=0);
System.out.println("Setelah do");
}
}
class TestIter8 {
public static void main(String[] args) {
19

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
int a = 0 ;
System.out.println("Sebelum while");
while(a>0) {
System.out.println("Nilai a : "+a);
a--;
}
System.out.println("Setelah while");
}
}
class TestIter9 {
public static void main(String[] args) {
int b = 0 ;
System.out.println("Sebelum do");
do {
System.out.println("Nilai b : "+b);
b--;
} while (b>0);
System.out.println("Setelah do");
}
}
class TestBreak1 {
public static void main(String[] args) {
System.out.println("Sebelum for");
for(int a=0;a<10;a++) {
if(a==4) break;
System.out.println("Nilai a : "+ a);
}
System.out.println("Setelah for");
}
}
class TestBreak2 {
public static void main(String[] args) {
System.out.println("Sebelum for");
for(int b=1;b<3;b++) {
System.out.println("Perulangan ke "+ b);
for(int c=0;c<5;c++) {
if(c==2) break;
System.out.println("Nilai c : " + c);
}
}
System.out.println("Setelah for") ;
20

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
}
}
class TestBreak3a {
public static void main(String[] args) {
boolean status=true;
//boolean status=false;
label1: {
System.out.println("Di dalam blok code label1");
label2 : {
if(status) break label1;
System.out.println("Di dalam blok code label2");
}
System.out.println("Masih di dalam blok code label1");
}
System.out.println("Di luar blok code label1");
}
}
class TestBreak3b {
public static void main(String[] args) {
//boolean status=true;
boolean status=false;
label1: {
System.out.println("Di dalam blok code label1");
label2 : {
if(status) break label1;
System.out.println("Di dalam blok code label2");
}
System.out.println("Masih di dalam blok code label1");
}
System.out.println("Di luar blok code label1");
}
}
class TestBreak4 {
public static void main(String[] args) {
System.out.println("Sebelum for");
loop1: for(int x=1;x<3;x++) {
System.out.println("Perulangan ke " + x);
loop2: for(int y=0;y<5;y++) {
if(y==2) break loop1;
System.out.println("Nilai y : "+ y);
}
System.out.println("Dalam Loop1 ");
21

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
}
System.out.println("Setelah for");
}
}
class TestBreak5 {
public static void main(String[] args) {
loopA: for(int x =0;x<2;x++) {
System.out.println("Loop A Ke " + x);
}
loop1: for(int x=1;x<3;x++) {
System.out.println("Perulangan ke " + x);
loop2: for(int y=0;y<5;y++) {
//
if (y==2) break loopA;
System.out.println("Nilai y : " + y);
}
}
System.out.println("Akhir program");
}}
class TestContinue6 {
public static void main(String[] args) {
int x=10;
System.out.println("Sebelum while");
while(x-->1) {
if(x % 2 == 0) continue;
System.out.println("Nilai x : " + x);
}
System.out.println("Sesudah while");
}
}
class TestContinue7 {
public static void main(String[] args) {
int x=10,y;
label1: while(x-->0) {
y=0;
while(y++<10) {
if(y > x) {
System.out.println();
continue label1;
}
System.out.print(x*y + " ");
}
}
}}
22

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

class TestReturn{
public static void main(String args[]) {
boolean t = true;
System.out.println("Sebelum return");
if (t) return;
System.out.println("Setelah return"); } }

23

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 6
Judul Praktikum: Pengenalan Class , Method dan objek dlm Java
Alokasi Waktu: 1 x 110 menit

1. Tujuan Instruksional Khusus


Mahasiswa memahami menggunakan variable dan Method dalam class pada java serta dapat
menerapkannya.
2. Teori
Object
Object merupakan penggambaran computer dari segala benda di dunia atau kejadian.
Sebuah object dapat mempunyai beberapa atribut dan method.
Saat object diterjemahkan ke sebuah software, terdiri dari 2 bagian yaitu :
Private Data Structure, yang merupakan atribut dari object
Process,yang merupakan method atau operation dari object
Contoh :
Object Person mempunyai atribut :
firstName
lastName
height
weight
dan memliki beberapa method :
setFirstName
getFirstName
setLastName
getLastName
dll
Class
Object yang memiliki persamaan data structure (atribut) dan method dikelompokkan bersama
menjadi sebah Class.
Masing masing class menggambarkan kumpulan object tersendiri. Masing masing object
merupakan instant dari class.
Masing masing instant dari class memiliki nilai dari atribut sendiri tetapi memiliki nama
atibut dan methodyang sama dengan instant class yang lain.
Nama atribut dalam sebuah class adalah unique.

1.
a.
b.
c.
d.

Alat dan Bahan


BKPM
Referensi Pemrograman Berorientasi Objek
Komputer
LCD dan Alat Tulis Kantor (ATK)

o
o
o
1.
2.
o

o
o
o

24

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
e.
2.

Prasyarat
Mengerjakan tugas pendahuluan pada modul sebelumnya
3.
Pelaksanaan Praktikum
Buatlah sebuah project dengan class baru, dengan nama VolcanoRobot
Tulislah Source Code berikut pada Code Editor class tersebut.

Membuat Class di Java (Nama file : Person.java)


class Person {
private String firstName;
private String lastName;
private int height;
private double weight;
public void setFirstName(String firstName){
this.firstName = firstName;
}
public String getFirstName(){
return firstName;
}
}

Membuat Instantance of Class in Java (Nama File : PersonTest.java)


public class PersonTest {
public static void main (String [] args){
Person p = new Person();
p.setFirstName(Fatmawati);
System.out.print(FirstName: +p.getFirstName());
}
}
25

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

a.
1)
2)
3)

4. Tugas Praktikum
Kerjakan sesuai petunjuk di bawah ini :
Salin source program class Person Test pada dasar teori praktikum 1.
Tambahkan method method lain yang diperlukan dalam class Person.
Implementasikan method method yang Anda buat dalam class PersonTest.

b.
1)
2)

3)

(Project Part : Do it YourSelf )


Buat sebuah class Student
Atribute class Student terdiri dari :
id
name
address
theoryScore
practiceScore
Method class Student terdiri dari :
setId
getId
setName
getName
setAddress
getAddress
setTheoryScore
getTheoryScore
setPracticeScore
getPracticeScore

c. (Project Part : Do it YourSelf )


1) Buat sebuah class StudentTest.
2) Implementasikan pembuatan object (instantance of class) Student dan penggunaan method
method class Student dalam class StudentTest.

26

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 7
Judul Praktikum: Constructor
Alokasi Waktu: 1 x 110 menit

& Inputan dari Keyboard

1. Tujuan
Mahasiswa memahami constructor dan penggunaannya
Mahasiswa dapat membuat program input dari keyboard
2.

o
o
o
o
o
o

Dasar Teori
Constructor
Constructor adalah method yang dipanggil pada saat pembuatan instant of class (object).
Jika dalam sebuah class tidak terdapat constructor maka secara otomatis Java akan
membuatkan sebuah default constructor.
Code di dalam constructor berfungsi untuk memberikan nilai awal dari atribut dalam sebuah
object.
Nama constructor harus persis sama dengan nama class dan tidak memiliki tipe return value.
Constructor juga bisa memiliki parameter yang digunakan untuk memberi nilai awal atributatributnya.
Contoh :
class Foo {
private int x;
public Foo(){
x = 1;
}
}
class Pizza {
private String name;
private int radius;
public Pizza(String n, int r){
name = n
radius = r;
}
}

o Constructor tidak bisa dipanggil secara langsung tetapi harus menggunakan new, yaitu pada
saat pembuatan instant of class.
Pizza myDinner = new Pizza(American favourite, 10);
Input Data dari Keyboard
o Untuk menginputkan data dari keyboard, class yang digunakan adalah BufferedReader.
o Untuk bisa mengakses class BufferedReader maka perlu mengimpor dari package java.io dan
menambahkan statemen throws IOException pada header method main, penggunaannya adalah
sbb :
27

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

import java.io.*;
class InputPizza {
public static void main (String [] args)throws IOException {
BufferedReader br = new BufferedReader
(new InputStreamReader(System.in));
System.out.print(Nama Pizza : );
String nama = br.readLine();
System.out.print(Radius Pizza : );
int rad = Integer.parseInt(br.readLine());
Pizza p = new Pizza(nama, rad);
}
}
Tugas Praktikum
Kerjakan sesuai petunjuk di bawah ini :
Tambahkan sebuah constructor berparameter dalam class Person.
Tambahkan method idealWeight yang digunakan untuk menghitung berat ideal dari seseorang.
Tambahkan method isIdeal yang digunakan untuk mengecek apakah seseorang telah memiliki
berat ideal atau tidak.
d. Buat class InputPersonTest dimana di dalamnya terdapat program input data yang diperlukan
untuk mengisi nilai atribut object class Person.
e. Masukkan data hasil inputan tersebut ke object class person melalui constructor.
f. Tampilkan data-data atribut object class Person beserta berat ideal dan berapa kg dia harus
mengurangi atau menambah berat badannya agar mencapai berat ideal.
1.
a.
b.
c.

2. (Project Part : Do it YourSelf )


a. Buat sebuah constructor berparameter untuk class Student.
b. Tambahkan method average yang digunakan untuk menghitung nilai rata2 dari nilai teori &
praktikum dari seorang murid.
c. Tambahkan method isPass yang digunakan untuk mengecek apakah seorang Murid lulus atau
tidak, dinyatakan lulus bila nilai teori dan praktikum di atas 55.
d. Buat class InputStudentTest dimana didalamnya terdapat program input data yang diperlukan
untuk mengisi nilai atribut object class Student.
e. Masukkan data hasil inputan tersebut ke object class Student melalui constructor.
f. Tampilkan data-data atribut object class Student beserta nilai rata-rata dan keterangan lulus
atau tidak.;

28

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 8

Overloading dan toString Method

Judul Praktikum:
Alokasi Waktu: 1 x 110 menit

1. Tujuan
Mahasiswa dapat mengerti overloading dan penggunaannya
Mahasiswa dapat mengerti toString method dan penggunaannya
2. Dasar Teori
Overloading
o Overloading adalah dua method atau lebih yang memiliki nama sama tetapi berbeda tipe
parameter atau jumlah parameter.
o Jika salah satu method dipanggil maka method yang memiliki parameter yang sesuai yang akan
dikerjakan.
o Selain pada method, overloading juga berlaku pada constructor.
Method to String
o Method toString dapat dipanggil dengan hanya memanggil nama objectnya saja tanpa harus
menyertakan nama method ini.
o Biasanya digunakan untuk memberikan informasi dari sebuah object.
o Contoh :
Tugas Praktikum
1. (Project Part : Do it YourSelf)
a. Buatlah deklarasi dari class Account yang memiliki atribut dan method sesuai dengan gambar
di bawah ini :
Account
accountNumber
customerName
Balance
currentBalance()
processDeposit(x)
processDeposit(x,y)
processWithdraw(x)
toString()
b.

c.

Atribut class Account :


accountNumber : nomor rekening seorang nasabah
customerName : nama nasabah
balance : saldo
Constructor class Account :
Constructor dengan 2 parameter : no rekening & nama nasabah
Constructor dengan 3 parameter : no rekening, nama nasabah, saldo
29

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
d.

Method class Account :


CurrentBalance() : menghasilkan nilai saldo
processDeposit(x) : melakukan proses penyetoran uang sebanyak x
processDeposit(x,y) : melakukan proses penyetoran uang sebanyak x dengan biaya
administrasi sebanyak y.
ProcessWithdraw(x) : melakukan proses pengambilan uang sebanyak x
toString() : menghasilkan nilai accountNumber & customerName

30

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

2. (Project Part : Do it YourSelf )


a. Buat class MyAccount yang mempunyai main method dengan tampilan sbb :
Menu :
1. Create Account (A)
2. Create Account (B)
3. Deposit (A)
4. Deposit (B)
5. Withdraw
6. Print
Choose : 1

Menu :
1. Create Account (A)
2. Create Account (B)
3. Deposit (A)
4. Deposit (B)
5. Withdraw
6. Print
Choose : 3

Menu :
1. Create Account (A)
2. Create Account (B)
3. Deposit (A)
4. Deposit (B)
5. Withdraw
6. Print
Choose : 5

**Creating Account**
Account Number : 123
Customer Name : Adi

**Deposit**
Balance 50000
Amount : 20000

**Withdraw**
Balance 70000
Amount : 10000

b. Menu No 2, 4, 6 Anda buat sendiri implementasinya sesuai dengan constructor dan method
yang telah Anda buat.

31

PS.Rekam Medik-Jurusan Kesehatan - 2012

Praktikum: 9
BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
Judul Praktikum: Inheritance
Alokasi Waktu: 1 x 110 menit

1. Tujuan
Mahasiswa dapat memahami konsep inheritance pada pemrograman berorientasi object
Mahasiswa dapat membuat subclass dari class yang telah ada dan membuat dan memanipulasi
object dari subclass
2. Dasar Teori
Inheritance
o Inheritance adalah salah satu fitur yang dimiliki oleh Java dimana kita bisa mendefinisikan
sebuah class baru berdasar pada class yang telah ada.
o Class baru ini akan mirip dengan class yang telah ada namun memiliki karakteristik baru.
o Class yang digunakan sebagai dasar disebut parent class/superclass/base class.
o Class baru yang berdasar pada superclass disebut child class/subclass/derived class.
o Dalam Java subclass hanya bisa memiliki satu superclass (single inheritance) sedangkan
superclass bisa memiliki satu subclass atau lebih.
o Untuk menyatakan bahwa sebuah subclass berdasar pada suatu superclass digunakan statement
extends.
o Contoh :

o Keterangan
Class Birthday adalah turunan dari class Card, hanya anggota class Card yang bersifat public
yang akan diturunkan pada class Birthday. Karena class Birthday tidak bisa mengakses anggota
private dari class Card maka pemberian nilai pada anggota private bisa dilakukan lewat
constructor class Card dengan menggunakan statement super. Super selain digunakan untuk
mengakses constructor superclass, bisa juga digunakan untuk mengakses anggota superclass
yang memiliki nama sama dengan anggota subclass.Pada kedua class masing-masing terdapat
method greeting() hal ini menyebabkan greeting() milik class Card tidak terlihat pada class
32

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
Birthday (method overriding), sehingga untuk dapat mengakses greeting() yang berada di class
Card dapat digunakan statement super.greeting().
o Penggunaan di main method adalah sebagai berikut :
Card c = new Card(Lelly);
Birthday b = new Birthday(Andien, 23);
c.greeting();
b.greeting();
Tugas Praktikum
1. Sebuah jasa persewaan VCD memiliki desain class-class seperti di bawah ini, class-class
tersebut merupakan desain dari programmer yang belum mengerti tentang inheritance, desain
ulang class-class tersebut dan gambarkan susunan class-class nya sehingga mengikuti konsep
inheritance !
Vcd
title
length
getTitle()
getLength()
show()

Movie
title
length
director
rating
show()

MusicVideo
title
length
artist
category
show()

Penjelasan untuk atribut dan methodnya adalah sebagai berikut :


title
: judul vcd
length
: durasi vcd dalam menit
director
: nama sutradara film
rating
: rating film (1,2,dst)
artist
: nama penyanyi
category
: kategori (pop, rock, jazz, dll)
show()
: menampilkan informasi semua atribut.

2. Buat class VcdRental yang berisi main method dengan input dan output sebagai berikut

33

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
3.
Menu :
1. Movie
2. VideoMusic
3. Print Data
Choose(0 for quit): 1
Title : Jelangkung
Director : Jose P
Rating : 4
Duration : 100

Menu :
1. Movie
2. VideoMusic
3. Print Data
Choose(0 for quit): 2
Title : Paradox
Artis : Element
Category : Pop
Duration : 120

Menu :
1. Movie
2. VideoMusic
3. Print Data
Choose(0 for quit): 3
Title
Dir/Art Duration Rating/Category
------------------------------------------Paradox
Element 100
Pop
Jelangkung Jose P 120
4

34

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 10
Judul Praktikum: Interface
Alokasi Waktu: 1 x 110 menit
1. Tujuan Instruksional Khusus :
- Mahasiswa dapat menjelaskan mengimplementasikan fungsi dari interface.
2. Teori :
Interface
Interface adalah semacam class dimana semua method di dalamnya hanya berisi
deklarasi method tanpa implementasi.
Deklarasi suatu interface tidak jauh berbeda dengan deklarasi suatu class, hanya saja
methode-methode yang ada di dalam interface tersebut tidak ada implementasi

Nama
interfa
ce
Implementasi dari interface dilakukan di masing-masing class yang
mengimplementasikan interface tersebut.
Interface di gunakan di suatu class dengan menggunakan keyword implements.
Sebuah class dapat mengimplementaasikan lebih dari satu interface.
Class yang menimplementasikan interface harus mengakses semua method yang ada di
dalam class interface tersebut.

35

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Contoh :

<<Interface>> animal
+ speak ();

Kucing
+ speak ();

ALAT DAN BAHAN


- PC
- referensi
- BKPM
- Alat tulis
PELAKSANAAN PRAKTIKUM:
Tuliskan program untuk bagan berikut:
1. Single implementation interface

2. Single implementatuon interface

36

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

<<abstract >>Animals

3. Multiple implementation interface

protected int legs;


protected Animals (int legs);
+ walk();
+eat();

TUGAS DAN LATIHAN


<<interface>>
<<interface>>
Flayer
1. Buat program untuk merepresentasikan
bagan berikut!
needFood
+ takeOff();
+ land();
+ fly();

Airplane
+ takeOff();
+ land();
+ fly();

+ eat ();

Fish extends Animals implements Pet

Cat extend Animals implements Pet Spider

+ getName();
+setName(string name);
+play();
Bird
+walk();
+eat(); + takeOff();

+ getName();
+setName(string name);
+play();
+eat();

+ land();
+ fly();
+ buildNest();
+layEggs();
+eat();

37

PS.Rekam Medik-Jurusan Kesehatan - 2012

Superman
+ takeOff();
+ land();
+ fly();
+ leapBuild();
+stopBullet();
+ eat ();

+spide
+eat();

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

38

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 11
Judul Praktikum: PACKAGE dan CLASSPATH
Alokasi Waktu: 1 x 110 menit
1. Tujuan Instruksional Khusus :
- Mahasiswa dapat menjelaskan package dan classpath.
2, Teori :
Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompokkan
kelas- kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam
package yang berbeda.
Sebuah package pada Java dapat digunakan oleh package yang lain ataupun kelas-kelas di luar
Package . Jika dalam bahasa pemrograman Java terdapat kode import
example.animal.Mamalia; maka program tersebut memakai kelas mamalia yang ada pada
package example.animal.
Jika terdapat kode import example.animal.*; maka program tersebut memakai semua kelas
yang ada pada package example.animal.
Package pada bahasa pemrograman Java dinyatakan dengan kode: package nama_package;
Misalnya: package example.animal;
yang ditulis pada bagian atas kode program kelas anggota package. Misal sebuah kelas dengan
nama Mamalia ada di dalam package dengan nama example.animal maka file yang menyimpan
kode program kelas Mamalia dimasukkan dalam direktori. Contoh package yang ada dalam
library java antara lain java.util, javax.swing, dll.
Beberapa keuntungan mengorganisasi class-class buatan kita dalam sebuah package adalah :
1.

Terhindar dari konflik penamaan. Mungkin saja ada orang lain, dibelahan dunia lain,
membuat class yang bernama Rectangle juga. Yang membedakan antara Rectangle kita
dengan yang lain adalah fully qualified name. Fully qualified name dari class Rectangle
kita adalah com.raka.geoms.Rectangle.

2.

Teratur. Mendapatkan suatu class tertentu akan mudah dengan mengetahui nama
package-nya.

ALAT DAN BAHAN


- PC
- referensi
39

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
-

BKPM
Alat tulis

PELAKSANAAN PRAKTIKUM:
Lakukan pengesetan path dan classpath secara manual pada system OS.
1. Setting Path
C:\j2sdk1.4.2\bin;
2. Setting Classpath
.;\j2sdk1.4.2\lib\tools.jar;
Lakukan pengetesan apakah pengesetan berhasil dengan cara jalankan program
command promp.kemudian ketikan perintah :
c:javac
jika setting berhasil maka akan keluar tampilan sbb:

4. Lakukan kompilasi file yang berekstensi java di command promp dengan perintah :
d:nama_direktori\javac nama_file.java
d:nama_direktori\java nama_file
5. Jalankan file TestBanking.java
6. Amati hasilnya.

KUIS__

40

PS.Rekam Medik-Jurusan Kesehatan - 2012

Praktikum: 12
BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
Judul Praktikum: EXCEPTIONS
Alokasi Waktu: 1 x 110 menit

1. Tujuan Instruksional Khusus :


- Mahasiswa dapat menjelaskan serta mengetahui kegunaan fungsi exception pada
pemrograman java.
2.Teori :
Class Exception mendefinisikan kondisi error yang ringan yang di jumpai oleh
program. Sedang kondisi error yang berat d definisikan dengan error.
Suatu program dapat terjadi error saat :
- Membuka file yang tidak ada
- Koneksi jaringan terganggu
- Manipulasi operan yang nilainya keluar batasan yang didefinisikan
- Pemanggilan class yang tidak ada
Kategori Exception :
StackOverflowError
VirtualMachineError

Error

---AWT

Throwable

RuntimeException

---OutOfMemoryError

ArithmeticException
---NullPointerException

Exception

IndexOutOfBoundsException
EOFException
IOException

Eksepsi yang umum, yang sering di gunakan antara lain :


- ArithmeticException
- NullPointerException
- NegativeArraySizeException
- ArrayIndexOutOfBoundsException
- SecurityException
Contoh :

41

PS.Rekam Medik-Jurusan Kesehatan - 2012

FileNotFoundException

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Output :

3.ALAT DAN BAHAN


- PC
- referensi
- BKPM
- Alat tulis
4.PELAKSANAAN PRAKTIKUM:
Amati apa yang terjadi pada program berikut:
7. Jalankan program ZeroDevision.java

42

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
8. Jalankan program TangkapEksepsi.java

9. Jalankan program TangkapEksepsi.java

43

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

10. Jalankan program CetakPesanEksepsi.java


11. Buat program cetak pesan eksepsi yang menampilkan pesan terjadinya kesalahan
perhitungan.

44

PS.Rekam Medik-Jurusan Kesehatan - 2012

Praktikum: 13
BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
Judul Praktikum: Thread
Alokasi Waktu: 1 x 110 menit

1.Tujuan Instruksional Khusus :


-

Mahasiswa dapat menjelaskan serta mengetahui kegunaan fungsi thread pada


pemrograman java.
2.Teori :
Thread merupakan aliran eksekusi dari suatu task (perintah) dalam program, dimana
task tersebut mempunyai awal dan akhir. Dengan thread suatu task dapat berjalan secara
bersamaan yang disebut dengan multithreading.
Multithreading dapat membuat program bekerja lebih respon dan interaktif. Thread dapat
dibuat dengan menurunkan Thread class atau melakukan implements dari interface Runnable.
Thread class digunakan untuk membuat suatu thread. Keduanya berada pada java.lang
package.

Interface Runabble
Jika suatu class misal class A sudah melakukan extends terhadap class lain maka untuk
membuat class A menjadi suatu thread class adalah dengan melakukan implements dari
Runnable interface.
Hampir sama dengan Thread class, class A yang melakukan implementasi Runnable
harus meng-override method run().

Thread States
Thread object mempunyai lima buah nilai state yaitu new, ready, running, inactive
atau finished. Untuk mengetahui state dari thread kita dapat menggunakan method isAlive().
Jika hasil yang di dapat true maka thread dalam keadaan ready, inactive atau running state.
Jika hasil yang didapat false maka thread dalam keadaan new dan belum berjalan atau dalam
finished state.

Thread priority
Prioritas thread dapat diatur dengan menggunakan method setPriority(). Untuk dapat
mengetahui prioritas suatu thread dapat digunakan method getPriority().
Thread class mempunyai 3 buah konstanta prioritas yaitu :

45

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

ALAT DAN BAHAN


c. PC
d. referensi
e. BKPM
f. Alat tulis
PELAKSANAAN PRAKTIKUM:
Amati dan jelaskan apa yang terjadi pada program berikut, buat kesimpulan dari
masing-masing program.
b. Jalankan program berikut

c. Jalankan program berikut

46

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

47

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
d. Jalankan program berikut

48

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
e. Jalankan program berikut

49

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 14
Judul Praktikum: AWT dan SWING
Alokasi Waktu: 1 x 110 menit

Tujuan Instruksional
a Memahami persamaan dan perbedaan antara AWT dan Swing
b Perbedaan antara komponen dan kontainer.
c Mendesain aplikasi GUI menggunakan AWT.
d Mendesain aplikasi GUI menggunakan Swing.
e Menjelaskan tentang flow layout, border layout, dan grid layout dalam komponen GUI
f Membuat tampilan yang komplek dalam mendesain aplikasi GUI.
2 Teori Dasar
Tanpa mempelajari tentang grapichal user interface (GUI) API, Anda masih tetap bisa
membuat suatu program. Tetapi, program Anda akan kelihatan tidak menarik dan tidak nyaman
digunakan bagi para user. Memiliki GUI yang baik dapat memberi efek pada penggunaan
aplikasi. Java menyediakan banyak tool seperti Abstract Windowing Toolkit dan Swing untuk
mengembangkan aplikasi GUI yang interaktif.
The Java Foundation Class (JFC), merupakan bagian penting dari Java SDK, yang termasuk
dalam koleksi dari API dimana dapat mempermudah pengembangan aplikasi JAVA GUI. JFC
termasuk diantara 5 bagian utama dari API yaitu AWT dan Swing. Tiga bagian yang lainnya
dari API adalah Java2D, Accessibility, dan Drag and Drop. Semua itu membantu developer
dalam mendesain dan mengimplementasikan aplikasi dengan visualisasi yang lebih baik.
AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi
Java dan applet. Anda akan mempelajari applet pada bab berikutnya. Tidak seperti beberapa
komponen AWT yang menggunakan native code, keseluruhan Swing ditulis menggunakan
bahasa pemrograman Java. Swing menyediakan implementasi platform-independent dimana
aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang
sama. Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang
dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun dari
beberapa API yang mengimplementasikan beberapa jenis bagian dari AWT. Kesimpulannya,
komponen AWT dapat digunakan bersama dengan komponen Swing.
3 Praktikum
a. Menampilkan Frame :

50

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
import java.awt.Frame;
public class SampleFrame extends Frame{
public SampleFrame() {
}
public static void main(String args[]) {
SampleFrame sf = new SampleFrame();
sf.setSize(300, 300); //Coba hilangkan baris ini
sf.setVisible(true); //Coba hilangkan baris ini
}

b. Menampilkan Panel :

import java.awt.Frame;
public class GraphicPanel extends Panel {
public GraphicPanel() {
setBackground(Color.black);
}
public void paint(Graphics g) {
g.setColor(new Color(0,255,0)); //green
g.setFont(new Font("Helvetica",Font.PLAIN,16));
g.drawString("Hello GUI World!", 30, 100);
g.setColor(new Color(1.0f,0,0)); //red
g.fillRect(30, 100, 150, 10);
}
public static void main(String args[]) {
Frame f = new Frame("Testing Graphics Panel");
GraphicPanel gp = new GraphicPanel();
f.add(gp);
f.setSize(600, 300);
f.setVisible(true);
}
}

c.Menampilkan Frame Conrol

51

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
import
public
public
}
public

java.awt.*;
class FrameWControls extends Frame{
FrameWControls() {
static void main(String args[]) {
FrameWControls fwc = new FrameWControls();
fwc.setLayout(new FlowLayout()); //more on this later
fwc.setSize(600, 600);
fwc.add(new Button("Test Me!"));
fwc.add(new Label("Labe"));
fwc.add(new TextField());
CheckboxGroup cbg = new CheckboxGroup();
fwc.add(new Checkbox("chk1", cbg, true));
fwc.add(new Checkbox("chk2", cbg, false));
fwc.add(new Checkbox("chk3", cbg, false));
List list = new List(3, false);
list.add("MTV");
list.add("V");
fwc.add(list);
Choice chooser = new Choice();
chooser.add("Avril");
chooser.add("Monica");
chooser.add("Britney");
fwc.add(chooser);
fwc.add(new Scrollbar());
fwc.setVisible(true);

}
}

d. Menampilkan Flow Layout Demo


import java.awt.*;

public class FlowLayoutDemo extends Frame{


public FlowLayoutDemo() {
}
public static void main(String args[]) {
FlowLayoutDemo fld = new FlowLayoutDemo();
fld.setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 10));
fld.add(new Button("ONE"));
fld.add(new Button("TWO"));
fld.add(new Button("THREE"));
fld.setSize(100, 100);
fld.setVisible(true);
}
}

e.Menampilkan Border Layout Demo:

52

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
import
public
public
}
public

java.awt.*;
class BorderLayoutDemo extends Frame{
BorderLayoutDemo() {
static void main(String args[]) {
BorderLayoutDemo bld = new BorderLayoutDemo();
bld.setLayout(new BorderLayout(10, 10)); //may remove
bld.add(new Button("NORTH"), BorderLayout.NORTH);
bld.add(new Button("SOUTH"), BorderLayout.SOUTH);
bld.add(new Button("EAST"), BorderLayout.EAST);
bld.add(new Button("WEST"), BorderLayout.WEST);
bld.add(new Button("CENTER"), BorderLayout.CENTER);
bld.setSize(200, 200);
bld.setVisible(true);

}
}

f. Menampilkan Grid Layout Demo:


import
public
public
}
public

java.awt.*;
class GridLayoutDemo extends Frame {
GridLayoutDemo() {
static void main(String args[]) {
GridLayoutDemo gld = new GridLayoutDemo();
gld.setLayout(new GridLayout(2, 3, 4, 4));
gld.add(new Button("ONE"));
gld.add(new Button("TWO"));
gld.add(new Button("THREE"));
gld.add(new Button("FOUR"));
gld.add(new Button("FIVE"));
gld.setSize(200, 200);
gld.setVisible(true);

}
}

g Menampilkan Complex Layout:

53

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
import
public
public
}
public

java.awt.*;
class ComplexLayout extends Frame{
ComplexLayout() {
static void main(String args[]) {
ComplexLayout cl = new ComplexLayout();
Panel panelNorth = new Panel();
Panel panelCenter = new Panel();
Panel panelSouth = new Panel();
panelNorth.add(new Button("ONE"));
panelNorth.add(new Button("TWO"));
panelNorth.add(new Button("THREE"));
panelCenter.setLayout(new GridLayout(4,4));
panelCenter.add(new TextField("1st"));
panelCenter.add(new TextField("2nd"));
panelCenter.add(new TextField("3rd"));
panelCenter.add(new TextField("4th"));
panelSouth.setLayout(new BorderLayout());
panelSouth.add(new Checkbox("Choose me!"),
BorderLayout.CENTER);
panelSouth.add(new Checkbox("I'm here!"),
BorderLayout.EAST);
panelSouth.add(new Checkbox("Pick me!"),
BorderLayout.WEST);
cl.add(panelNorth, BorderLayout.NORTH);
cl.add(panelCenter, BorderLayout.CENTER);
cl.add(panelSouth, BorderLayout.SOUTH);
cl.setSize(300,300);
cl.setVisible(true);}}

Menampilkan Swing Demo:

54

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
i

Menampilkan JOption Demo:

import javax.swing.*;
import java.awt.*;
public class JOptionPaneDemo {
JOptionPane optionPane;
public JOptionPaneDemo() {
}
void launchFrame() {
optionPane = new JOptionPane();
String name = optionPane.showInputDialog("Hi, what's yourname?");
optionPane.showMessageDialog(null,"Nice to meet you, " + name + ".",
"Greeting...",optionPane.PLAIN_MESSAGE);
System.exit(0);
}
public static void main(String args[]) {
new JOptionPaneDemo().launchFrame();
}
}

55

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
Praktikum: 15
Judul Praktikum: GUI EVENT HANDLING
A
Alokasi Waktu: 1 x 110 menit

Tujuan Instruksional
a Menerangkan komponen-komponen delegation event model
b Mengerti bagaimana delegation event model bekerja
c Menciptakan aplikasi GUI yang berinteraksi dengan user
d Mendiskusikan manfaat dari class-class adapter
e Mendiskusikan keuntungan-keuntungan dari menggunakan inner dan anonymous class
2 Teori Dasar
Pada modul ini, Anda akan belajar bagaimana mengendalikan events triggered ketika user
berinteraksi dengan aplikasi GUI Anda. Setelah menyelesaikan modul ini, Anda akan dapat
mengembangkan aplikasi GUI yang dapat merespon interaksi user.
Delegasi event model menguraikan bagaimana program Anda dapat merespon interaksi dari
user. Untuk memahami model, mari kita pelajari pertama-tama melalui tiga komponen
utamanya.
a

Event Source
The event source mengacu pada komponen GUI yang meng-generate event. Sebagai contoh,
jika user menekan tombol, event source dalam hal ini adalah tombol.

Event Listener/Handler
The event listener menerima berita dari event-event dan proses-proses interaksi user. Ketika
tombol ditekan, listener akan mengendalikan dengan menampilkan sebuah informasi yang
berguna untuk user.

Event Object
Ketika sebuah event terjadi (misal, ketika user berinteraksi dengan komponen GUI), sebuah
object event diciptakan. Object berisi semua informasi yang perlu tentang event yang telah
terjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah diklik. Ada beberapa class event untuk kategori yang berbeda dari user action. Sebuah event
object mempunyai tipe data mengenai salah satu class ini.
a

PraktikumMouse Event Demo :

56

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

import java.awt.*;
import java.awt.event.*;
public class MouseEventsDemo extends Frame implements
MouseListener, MouseMotionListener {
TextField tf;
public MouseEventsDemo(String title){
super(title);
tf = new TextField(60);
addMouseListener(this);
}
public void launchFrame() {
/* Menambah komponen pada frame */
add(tf, BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
public void mouseClicked(MouseEvent me) {
String msg = "Mouse clicked.";
tf.setText(msg);
}
public void mouseEntered(MouseEvent me) {
String msg = "Mouse entered component.";
tf.setText(msg);
}

57

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
public void mouseExited(MouseEvent me) {

String msg = "Mouse exited component.";


tf.setText(msg);

}
public void mousePressed(MouseEvent me) {
String msg = "Mouse pressed.";
tf.setText(msg);
}
public void mouseReleased(MouseEvent me) {
String msg = "Mouse released.";
tf.setText(msg);
}
public void mouseDragged(MouseEvent me) {
String msg = "Mouse dragged at " + me.getX() + "," + me.getY();
tf.setText(msg);
}
public void mouseMoved(MouseEvent me) {
String msg = "Mouse moved at " + me.getX() + "," +
me.getY();
tf.setText(msg);
}
public static void main(String args[]) {
MouseEventsDemo med = new MouseEventsDemo("Mouse Events
Demo"); med.launchFrame(); }
}

b Close Frame :
import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame implements WindowListener {
Label label;
CloseFrame(String title) {
super(title);
label = new Label("Close the frame.");
this.addWindowListener(this);
}
void launchFrame() {
setSize(300,300);
setVisible(true);}
public void windowActivated(WindowEvent e) {}
public void windowClosed(WindowEvent e) { }
public void windowClosing(WindowEvent e) {
setVisible(false);
System.exit(0); }
public void windowDeactivated(WindowEvent e) { }
public void windowDeiconified(WindowEvent e) { }
public void windowIconified(WindowEvent e) { }
public void windowOpened(WindowEvent e) { }
public static void main(String args[]) {
CloseFrame cf = new CloseFrame("Close Window Example");
cf.launchFrame(); } }

58

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
c

Close Frame dengan Command Listener tertentu :


public static void main(String args[]) {
CloseFrame cf = new CloseFrame("Close Window Example");
cf.launchFrame();
}
}
class CFListener extends WindowAdapter{
CloseFrame ref;
CFListener( CloseFrame ref ){
this.ref = ref;
}
public void windowClosing(WindowEvent e) {
ref.dispose();
System.exit(1);
}
}

Close Frame dengan Inner Class:


import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame{
Label label;
CloseFrame(String title) {
super(title);
label = new Label("Close the frame.");
this.addWindowListener(new CFListener());
}
void launchFrame() {
setSize(300,300);
setVisible(true);
}
class CFListener extends WindowAdapter {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(1);
}
}
public static void main(String args[]) {
CloseFrame cf = new CloseFrame("Close Window
Example");
cf.launchFrame();
}
}

Anonymous Inner class:


59

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame{
Label label;
CloseFrame(String title) {
super(title);
label = new Label("Close the frame.");
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
dispose();
System.exit(1); } }); }
void launchFrame() {
setSize(300,300);
setVisible(true); }
public static void main(String args[]) {
CloseFrame cf = new CloseFrame("Close Window Example");
cf.launchFrame(); }}

60

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 16
Judul Praktikum: SPLASH SCREEN APLIKASI
Alokasi Waktu: 1 x 110 menit

Tujuan Instruksional
- Mahasiswa dapat mengembangkan sebuah Splash Screen untuk sebuah aplikasi
dengan menggunakan komponen-komponen Swing
2 Teori Dasar
a Jwindow berfungsi untuk membuat window yang akan menjadi latar belakang logo,
Komponen ini terdapat dalam package javax.swing. sehingga package tersebut harus
dikenalkan ke dalam program
bJlabel berfungsi untuk membuat label yang berguna untuk menampilkan teks
c JprogressBar berfungsi untuk membuat baris progress yang dapat digunakan untuk
menunjukan progress dari sebuah loading, pada penerapannya biasanya digunakan
komponen Timer.
dDimension berfungsi untuk mengambil ukuran layar monitor, baik panjang maupun
lebarnya.komponen tersebut juga terdapat pada package javax.swing

61

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
3

Praktikum
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.LineBorder;
//deklarasi class
public class SIP extends JWindow {
private Dimension dimensi=Toolkit.getDefaultToolkit().getScreenSize();
private JLabel lblLogo=new JLabel(new ImageIcon("Gambar/sip.jpg"));
private JProgressBar barisProgres = new JProgressBar();
private int time=0;
private Timer timer;
//deklarasi konstruktor
public SIP () {
//menyiapkan variabel warna
Color Warna = Color.blue;
//mengatur baris progress
barisProgres.setValue(0);
barisProgres.setPreferredSize(new Dimension(100,15));
barisProgres.setBackground(Color.white);
barisProgres.setForeground(Color.red);
barisProgres.setStringPainted(true);
//mengatur warna garis pinggir
barisProgres.setBorder(new LineBorder(Warna,1));
lblLogo.setBorder(new LineBorder(Warna,1));
//meletakkan objek ke kontainer
getContentPane().add(lblLogo,BorderLayout.NORTH);
getContentPane().add(barisProgres,BorderLayout.CENTER);
//mengatur lama window logo tampil pada layar monitor
timer = new Timer(50,new ActionListener(){
public void actionPerformed(ActionEvent evt){
time++;
barisProgres.setValue(time);
if(barisProgres.getPercentComplete()==1.0){
timer.stop();
setVisible(false);
//menjalankan menu utama
// new Menu_Utama();
}
}
});

timer.start();
//menempatkan objek ke memori sebelum ditampilkan
pack();
//mengatur lokasi window tepat di tengah layar monitor
setLocation(dimensi.width/2-getWidth()/2,dimensi.height/2-getHeight()/2);
//menempaktkan window ke layar monitor\
show();}
//deklarasi metode utama
public static void main(String args[]){
new SIP();}}

62

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 17
Judul Praktikum: CLASS KONEKSI
Alokasi Waktu: 1 x 110 menit
1

Tujuan Instruksional
Mahasiswa dapat menghubungkan sebuah database (MySql) dengan interface java

Teori Dasar
Membuat program yang terhubung dengan database diperlukan sebuah class koneksi, class
tersebut berisi driver dan url dimana database berada di media penyimpanan, format driver
disesuaikan dengan jenis RDBMS yang dipakai, untuk database tertentu paket java sudah
menyediakan salahsatu nya adalah MySql, berikut contoh format umum penggunaan
driver :
Class.forName(nama_driver);

Contoh driver MySQL


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

Sedangkan format URL, adalah lokasi dimana database disimpan, format penulisannya
sebagai berikut :
DriverManager.getConnetion(url,user,password);

Contoh penggunaan:
DriverManager.getConnection("jdbc:mysql://localhost/pelajar","root","password");

Praktikum

63

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
import java.sql.*;
public class koneksi {
public koneksi(){
}
public Connection bukaKoneksi()throws SQLException{
Connection con=null;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/pelajar",
"root", "password");
return con;
}
catch(SQLException se){
System.out.println("No Connection open");
return null;
}
catch(Exception ex){
System.out.println("Cound not open connection");
return null;
}
}
}

64

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Praktikum: 18
Judul Praktikum: ANTAR MUKA
Alokasi Waktu: 1 x 110 menit

Tujuan Instruksional
- Mahasiswa dapat membuat antar muka aplikasi menggunakan komponen swing
- Mahasiswa dapat mengatur letak masing masing komponen swing terhadap
Container

Teori Dasar
a GUI (Graphical User Interface), memungkinkan user untuk berinteraksi dengan
komputer
secara lebih baik.
b Pengguna berinteraksi dengan berbagai elemen grafis,diantaranya: button, dialog box,
menu,
dsb.
c Sejak 1994 Sun Microsystem berupaya untuk membuat JAVA memiliki perangkat
bergaya
desktop dengan ToolkitJAVA yang dikenal sebagai AWT (Abstract Windowing Toolkit)
d

Tahun 1997, muncul JFC (Java Foundation Class) untuk kepentingan pembuatan
aplikasi
Window yang merupakan pengembangan dari AWT.

JFC mempunyai kode swing yang terdapat pada package yang disediakan pada JAVA
SDK
versi 1.2 ke atas (JAVA 2)

JAVA menyediakan dua graphical library.

AWT (Abstract Windows Toolkit)


Swing
Contoh: import java.awt.* ;
Import java.awt.event.* ;
Import javax.swing.* ;

Graphical Object

65

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
a Container (tempat), obyek yang dapat menampung komponen grafis dan tempat yang
lebih
kecil
Contoh: frames, panels
b Component, obyek grafis yang berfungsi untuk menampilkan data, menerima
masukan, atau menunjukkan suatu kondisi.
Contoh: buttons, labels, text fields
c Event, obyek yang merepresentasikan suatu kejadian.
Contoh: gerakan mouse, penekanan tombol
d Listener, suatu obyek yang menunggu suatu kejadian khusus dan akan bereaksi
(melakukan
sesuatu) jika kejadian tersebut terjadi

66

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
3

Praktikum
import javax.swing.*;
import java.awt.event.*;
public class Siswa extends JFrame implements ActionListener {
private JPanel jpSiswa = new JPanel();
private JLabel lblNis = new JLabel("Nis:"),lblNama = new JLabel("Nama:"),
lblPassword = new JLabel("Password:"),lblAlamat = new JLabel("Alamat:"),
lblEmail = new JLabel("Email:"),lblJenisKelamin = new
JLabel("JenisKelamin:");
private JTextField txtNis = new JTextField(),txtNama = new
JTextField(),txtPassword
= new JTextField(),txtAlamat = new JTextField(),txtEmail = new
JTextField();
private JComboBox cboJenisKelamin = new JComboBox();
private JButton btnTambah = new JButton("Tambah"),btnUbah = new JButton("Ubah"),
btnHapus = new JButton("Hapus"),btnBersih = new JButton("Bersih");
Siswa (){
super("Entri Data MHS");
setSize(500,300);
jpSiswa.setLayout(null);
//mengatur letak objek pada container
lblNis.setBounds(15, 20, 100, 25);
lblNama.setBounds(15, 55, 100, 25);
lblPassword.setBounds(15, 90, 100, 25);
lblAlamat.setBounds(15, 125, 100, 25);
lblEmail.setBounds(15, 160, 100, 25);
lblJenisKelamin.setBounds(15, 195, 100, 25);
txtNis.setBounds(115, 20, 100, 25);
txtNama.setBounds(115, 55, 100, 25);
txtPassword.setBounds(115, 90, 100, 25);
txtAlamat.setBounds(115, 125, 150, 25);
txtEmail.setBounds(115, 160, 100, 25);
cboJenisKelamin.setBounds(115, 195, 50, 25);
btnTambah.setBounds(340, 20, 85, 25);
btnUbah.setBounds(340, 55, 85, 25);
btnHapus.setBounds(340, 90, 85, 25);
btnBersih.setBounds(340, 125, 85, 25);
//mengatur/meletakkan objek pada objek panel
jpSiswa.add(lblNis);
jpSiswa.add(lblNama);
jpSiswa.add(lblPassword);
jpSiswa.add(lblAlamat);
jpSiswa.add(lblEmail);
jpSiswa.add(lblJenisKelamin);

67

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
jpSiswa.add(txtNis);
jpSiswa.add(txtNama);
jpSiswa.add(txtPassword);
jpSiswa.add(txtAlamat);
jpSiswa.add(txtEmail);
jpSiswa.add(cboJenisKelamin);
jpSiswa.add(btnTambah);
jpSiswa.add(btnUbah);
jpSiswa.add(btnHapus);
jpSiswa.add(btnBersih);
//mengisi combo Jenis kelamin
cboJenisKelamin.addItem("L");
cboJenisKelamin.addItem("P");
//mengatur objek agar dapat berinteraksi dengan user
btnTambah.addActionListener(this);
btnUbah.addActionListener(this);
btnHapus.addActionListener(this);
btnBersih.addActionListener(this);
//menambahkan objek JPanel pada container frame
getContentPane().add(jpSiswa);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent ae) {
Object obj = ae.getSource();
if (obj ==btnTambah){
Tambah();
}
if (obj == btnUbah){
Ubah();
}
if (obj == btnHapus){
Hapus();
}
Bersih();
}
void Bersih(){
}
void Tambah(){
}
void Ubah(){
}
void Hapus(){
}
public static void main (String[] args){
new Siswa();
}
}

68

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
Praktikum: 19
Judul Praktikum: MANIPULASI DATABASE MELALUI ANTARMUKA JAVA
Alokasi Waktu: 1 x 110 menit

2
3

Tujuan Instruksional
- Mahasiswa dapat menghubungkan aplikasi java dengan database mysql
- Mahasiswa dapat membuat program untuk menambahkan data pada database
MySQl melalui aplikasi java
- Mahasiswa dapat membuat program untuk menghapus data pada database MySQl
melalui aplikasi java
- Mahasiswa dapat membuat program untuk memperbaharui data pada database
MySQl melalui aplikasi java
Teori Dasar
Praktikum
Gunakan program java yang telah dibuat sebelumnya (class Siswa) tambahkan code
seperti dibawah ini sehingga menghasilkan keluaran yang semestinya.
import java.sql.*;
. . . .
. . . .

void Bersih(){
txtNis.setText("");
txtNama.setText("");
txtPassword.setText("");
txtAlamat.setText("");
txtEmail.setText("");
cboJenisKelamin.setSelectedIndex(0);
}
void Tambah(){
try{
Koneksi ObjKoneksi = new Koneksi();
Connection con = ObjKoneksi.bukaKoneksi();
Statement st = con.createStatement();
String sql = "insert into siswa(nis,nama,password,alamat,email," +
"jeniskelamin) values ('"+txtNis.getText()
+"','"+txtNama.getText()
+"','"+txtPassword.getText()+"','"+txtAlamat.getText()+"'," +
"'"+txtEmail.getText()
+"','"+cboJenisKelamin.getSelectedItem()+"')";
int row = st.executeUpdate(sql);
if (row ==1){
JOptionPane.showMessageDialog(null,"Data sudah ditambahkan ke" +
" database","infomasi",JOptionPane.INFORMATION_MESSAGE);
con.close();
}
}
catch(SQLException e){
JOptionPane.showMessageDialog(null,"Data tidak ditambahkan ke" +
" database","infomasi",JOptionPane.INFORMATION_MESSAGE);
}
}

69

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
void Ubah(){
try{
Koneksi ObjKoneksi = new Koneksi();
Connection con = ObjKoneksi.bukaKoneksi();
Statement st = con.createStatement();
String sql = "update siswa set nama ='"+txtNama.getText()+"'," +
"password ='"+txtPassword.getText()+"',alamat =
'"+txtAlamat.getText()
+"',email='"+txtEmail.getText()+"',jeniskelamin =
'"+cboJenisKelamin.getSelectedItem()+
"' where nis = '"+txtNis.getText()+"' ";
int row = st.executeUpdate(sql);
if (row ==1){
JOptionPane.showMessageDialog(null,"Data sudah di update "
,"infomasi",JOptionPane.INFORMATION_MESSAGE);
con.close();
}
}
catch(SQLException e){
JOptionPane.showMessageDialog(null,"Data tidak
diUbah","infomasi",JOptionPane.
INFORMATION_MESSAGE);
}
}
void Hapus(){
try{
Koneksi ObjKoneksi = new Koneksi();
Connection con = ObjKoneksi.bukaKoneksi();
Statement st = con.createStatement();
String sql = "delete from siswa where nis = '"+txtNis.getText()+"' ";
int row = st.executeUpdate(sql);
if (row ==1){
JOptionPane.showMessageDialog(null,"Data sudah dihapus dari " +
" database","infomasi",JOptionPane.INFORMATION_MESSAGE);
con.close();
}
}
catch(SQLException e){
JOptionPane.showMessageDialog(null,"Data tidak
dihapus","infomasi",JOptionPane.
INFORMATION_MESSAGE);
}
}

70

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
Praktikum: 20
Judul Praktikum: MENAMPILKAN DATA PADA OBYEK TABEL
Alokasi Waktu: 1 x 110 menit

Tujuan Instruksional
- Masahasiswa dapat menggunakan komponen JTable untuk menampilkan data dari
database
2 Teori Dasar
Salah satu komponen Swing yang paling sering kita gunakan dalm membuat sebuah aplikasi
(terutama
aplikasi
database),
adalah
JTable
milik
Swing.
Komponen yang sangat penting ini, memiliki kemampuan yang luas. baik dari segi
tampilan/interface ataupun dari segi data yang ada didalammnya.
Jtable hanya berfungsi sebagai Viewer data. artinya data yang sebenarnya tidak disimpan
didalam JTable melainkan dalam TableModel. jadi salah klo mengira data yang kita inputkan
kedalam
JTable
disimpan
di
Jtable.
dengan begitu untuk merubah, menambah, mengambil nilai yang ada di dalam JTable yang
diperlukan adalah mengubah TableModel nya saja.

Praktikum

71

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
public int getRowCount() {
try {
if(rs == null)
return 0;
else {
rs.last();
return rs.getRow();
}
}catch(SQLException e) {
System.out.println("resultset generating error while getting rows
count");
System.out.println(e.getMessage());
return 0;
}
}
public Object getValueAt(int rowIndex, int columnIndex) {
if(rowIndex<0 || rowIndex > getRowCount() ||
columnIndex < 0 || columnIndex > getColumnCount())
return null;
try {
if(rs == null)
return null;
else {
rs.absolute(rowIndex+1);
return rs.getObject(columnIndex+1);
}
}catch(SQLException e) {
System.out.println("resultset generating error while fetching rows");
System.out.println(e.getMessage());
return null;
}
}
@Override
public String getColumnName(int columnIndex) {
try {
return rs.getMetaData().getColumnName(columnIndex+1);
}catch (SQLException e) {
System.out.println("resultset generating error while fetching column
name");
System.out.println(e.getMessage());
}
return super.getColumnName(columnIndex);
}
}

import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.table.AbstractTableModel;
/**
*
* @author root
*/
public class ResultSetTableModel extends AbstractTableModel{
private ResultSet rs;
public ResultSetTableModel(ResultSet rs) {
this.rs = rs;
72
}
public
int
getColumnCount()
{
PS.Rekam Medik-Jurusan
Kesehatan - 2012
try {
if(rs == null)
return 0;
else

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII

Class digunakan untuk mendukung class siswa, tambahkan code berikut pada class siswa

73

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
public class Siswa extends JFrame implements ActionListener {
private JPanel jpSiswa = new JPanel();
. . . .
. . . .
String[] strJdl={"No","Nis","Nama","Password","Alamat","Email","Jenis Kelamin"};
//Deklarasi untuk Tabel
JTable tabel = new JTable();
JScrollPane skrTabel = new JScrollPane();
Siswa (){
//pengaturan Tabel
skrTabel.getViewport().add(tabel);
tabel.setEnabled(true);
skrTabel.setBounds(15, 250, 470, 115);
//menambahkan tabel pada panel
jpSiswa.add(skrTabel);
//menambahkan objek JPanel pada container frame
getContentPane().add(jpSiswa);
//menampilkan tabel siswa ke komponen tabel
TampilTabel();
}
void Tambah(){
. . . .
. . . .
}
catch(SQLException e){
JOptionPane.showMessageDialog(null,"Data tidak ditambahkan ke" +
" database","infomasi",JOptionPane.INFORMATION_MESSAGE);
}
TampilTabel();
}
void Ubah(){
. . . .
. . . .
catch(SQLException e){
JOptionPane.showMessageDialog(null,"Data tidak
diUbah","infomasi",JOptionPane.
INFORMATION_MESSAGE);
}
TampilTabel();
}
void Hapus(){
. . . .
. . . .
catch(SQLException e){
JOptionPane.showMessageDialog(null,"Data tidak
dihapus","infomasi",JOptionPane.
INFORMATION_MESSAGE);
}
TampilTabel();
}

74

PS.Rekam Medik-Jurusan Kesehatan - 2012

BKPMPemrogramanBerbasisObyek(Java)

SemesterIII
void TampilTabel(){
try {
Koneksi ObjKoneksi = new Koneksi();
Connection con = ObjKoneksi.bukaKoneksi();
Statement st = con.createStatement();
String sql = "SELECT * FROM siswa";
ResultSet set = st.executeQuery(sql);
//menampilkan data ke Tabel
ResultSetTableModel model = new ResultSetTableModel(set);
tabel.setModel(model);
while(set.next()){
txtNis.setText(Integer.toString(set.getInt("nis")));
txtNama.setText(set.getString("nama"));
txtPassword.setText(set.getString("password"));
txtAlamat.setText(set.getString("alamat"));
txtEmail.setText(set.getString("email"));
cboJenisKelamin.addItem(set.getString("jeniskelamin"));
}
}
catch(SQLException e) {
System.out.println("gagal query");
}
}

75

PS.Rekam Medik-Jurusan Kesehatan - 2012

Anda mungkin juga menyukai