89
1 Praktikum : 1 Judul: Mengenal Netbeans 6.5 Waktu : 1x110 Menit BKPM Pemrograman Berbasis Obyek (Java) - Semester III 1. Tujuan Intruksional - Mahasiswa memahami ruang lingkup dan mengetahui fungsi- fungsi utama dalam menggunakan Netbeans 6.5 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 a. BKPM b. Komputer dengan Netbeans 6.5 c. Buku Referensi Pemrograman Visual dengan Netbeans d. Buku Referensi Pemrograman Berorientasi Objek e. LCD f. 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

bkpm PBORMD2012(SustinF)

Embed Size (px)

DESCRIPTION

oke temenan

Citation preview

1

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

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

menggunakan Netbeans 6.5

2. TeoriJava 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 NetBeans3.Alat dan Bahana. BKPMb. Komputer dengan Netbeans 6.5c. Buku Referensi Pemrograman Visual dengan Netbeansd. Buku Referensi Pemrograman Berorientasi Objeke. LCDf. ATK

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

PS.Rekam Medik-Jurusan Kesehatan - 2012

2

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

PS.Rekam Medik-Jurusan Kesehatan - 2012

3

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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 benarf. Untuk melihat hasil program tersebut, lakukan seperti langkah f tetapi pilih Run file

3. Latihana. 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. Tugasa. Jelaskan perbedaan antara J2SE ( Standart Edition), J2EE (Enterprise Edition) juga J2ME (Micro edition) ?

PS.Rekam Medik-Jurusan Kesehatan - 2012

4

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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) Class2) Objek / instans3) State4) Behaviour5) Method6) Konstruktor

PS.Rekam Medik-Jurusan Kesehatan - 2012

5

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

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

1. Tujuan Intruksional KhususMahasiswa memahami konsep dasar pemrograman berorientasi Objek menggunakan Java dengan Netbeans2. Alat dan Bahana. BKPMb. Komputer dengan Netbeans 6.5c. Buku Referensi Pemrograman Visual dengan Netbeansd. Buku Referensi Pemrograman Berorientasi Objek3. Teori

Contoh Instance / objek maria doni4. Pelaksanaan Praktikuma. Buat Project baru berupa Java Class Library b. Selanjutnya buatlah sebuah file untuk class yang akan dibuat.dengan cara, klik kanan tepat di atas 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.

PS.Rekam Medik-Jurusan Kesehatan - 2012

Class Manusia

(STATE)

Berat

Tinggi

Usia

(BEHAVIOUR)

Makan()

Minum()

Menua()

Class Wanita

(STATE)

Memiliki_organ_kelamin_wanita

(BEHAVIOUR)

Melahirkan()

Menyusui()

Class Pria

(STATE)

Memiliki_organ_kelamin_pria

(BEHAVIOUR)

6

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

PS.Rekam Medik-Jurusan Kesehatan - 2012

7

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

e.

f. Jalankan program tersebut, jika benar akan menghasilkan seperti di bawah ini :run:judul:Pemrograman berorientasi Objek, Pengarang:IndraJani,S.Kom,MMjudul:Pemrograman Visual, Pengarang:Sudarmanto,ST,MTBUILD SUCCESSFUL (total time: 1 second)

5. Latihana. 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. Tugasa. Jelaskan tentang istilah-istilah berikut1) Enkapsulasi2) Pewarisan3) Polymorphismb. 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

8

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

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

1. Tujuan Instruksional KhususMahasiswa memahami Sintaks Bahasa Dan Tipe Data pada java serta dapat menerapkannya. 2. TeoriVariabelSintaks pendeklarasian variabel secara umum adalah sebagai berikut :Tipe-data nama-variabel;Contoh

int counter;3. Alat dan Bahan a. BKPMb. Referensi Pemrograman Berorientasi Objekc. Komputerd. LCDe. Alat Tulis Kantor (ATK)4. Prasyarat

Mengerjakan tugas pendahuluan pada modul sebelumnya5. Pelaksanaan Praktikum a. Scope Variabel1) Buatlah sebuah project dengan class baru, dengan nama Scope2) 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

9

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

{ //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 iniSystem.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 dideklarasikanSystem.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 dideklarasikanSystem.out.println("Nilai x : " + x); }}

b. Tipe Data Referensiclass 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 ProgSederhanavar = 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. ARRAY1) ARRAY SATU DIMENSIclass SingleArray {

PS.Rekam Medik-Jurusan Kesehatan - 2012

10

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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 DIMENSIclass 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]);

PS.Rekam Medik-Jurusan Kesehatan - 2012

11

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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 2class 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]);}}

PS.Rekam Medik-Jurusan Kesehatan - 2012

12

Praktikum: 4Judul Praktikum: OPERATORAlokasi Waktu: 2 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

1. Tujuan Instruksional KhususMahasiswa memahami menggunakan Operator-operator yang terdapat dalam java dan dapat menerapkannya.

2. Teori

3. Alat dan Bahan a. BKPMb. Referensi Pemrograman Berorientasi Objekc. Komputerd. Alat Tulis Kantor (ATK)e. LCD

4. PrasyaratMengerjakan tugas pendahuluan pada modul sebelumnya

5. Pelaksanaan Praktikum OPERATOR PENUGASAN1. Buatlah sebuah project dengan class baru, dengan nama Operator12. 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;

PS.Rekam Medik-Jurusan Kesehatan - 2012

13

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

char Teks1 = 'a'; // dalam Unicode karakter 'a' direpresentasikan // dengan angka 97 z = Teks1 * 10; // z = 97 * 10; System.out.println("Nilai Teks1 : " + Teks1); System.out.println("Nilai z : " + z); }}

OPERATOR MATEMATIK, PENAIKAN DAN PENURUNANclass 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;

PS.Rekam Medik-Jurusan Kesehatan - 2012

14

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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;

PS.Rekam Medik-Jurusan Kesehatan - 2012

15

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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); }}

PS.Rekam Medik-Jurusan Kesehatan - 2012

16

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

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

1. Tujuan Instruksional KhususMahasiswa memahami penggunakan Kondisi if, switch, while, for , jump dll pada java serta dapat menerapkannya. 2. Teori

3. Alat dan Bahan

1. BKPM2. Referensi Pemrograman Berorientasi Objek3. Komputer4. LCD5. Alat Tulis Kantor (ATK)

4. PrasyaratMengerjakan tugas pendahuluan pada modul sebelumnya5. 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"); }

PS.Rekam Medik-Jurusan Kesehatan - 2012

17

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

}

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...

PS.Rekam Medik-Jurusan Kesehatan - 2012

18

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

} } }

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);

PS.Rekam Medik-Jurusan Kesehatan - 2012

19

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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) {

PS.Rekam Medik-Jurusan Kesehatan - 2012

20

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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") ;

PS.Rekam Medik-Jurusan Kesehatan - 2012

21

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

}}

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 ");

PS.Rekam Medik-Jurusan Kesehatan - 2012

22

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

} 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 + " "); } } }}

PS.Rekam Medik-Jurusan Kesehatan - 2012

23

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

PS.Rekam Medik-Jurusan Kesehatan - 2012

24

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

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

1. Alat dan Bahan a. BKPMb. Referensi Pemrograman Berorientasi Objekc. Komputerd. LCD dan Alat Tulis Kantor (ATK)

PS.Rekam Medik-Jurusan Kesehatan - 2012

25

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

e.2. PrasyaratMengerjakan tugas pendahuluan pada modul sebelumnya3. Pelaksanaan Praktikum Buatlah sebuah project dengan class baru, dengan nama VolcanoRobotTulislah Source Code berikut pada Code Editor class tersebut.

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

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

PS.Rekam Medik-Jurusan Kesehatan - 2012

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; }}

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

26

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

b. (Project Part : Do it YourSelf )1) Buat sebuah class Student2) Atribute class Student terdiri dari : id name address theoryScore practiceScore3) 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.

PS.Rekam Medik-Jurusan Kesehatan - 2012

27

Praktikum: 7

Judul Praktikum: Constructor & Inputan dari KeyboardAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

2. Dasar Teori Constructoro Constructor adalah method yang dipanggil pada saat pembuatan instant of class (object).o Jika dalam sebuah class tidak terdapat constructor maka secara otomatis Java akan membuatkan sebuah default constructor.o Code di dalam constructor berfungsi untuk memberikan nilai awal dari atribut dalam sebuah object.o Nama constructor harus persis sama dengan nama class dan tidak memiliki tipe return value.o Constructor juga bisa memiliki parameter yang digunakan untuk memberi nilai awal atribut-atributnya.o 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 Keyboardo Untuk menginputkan data dari keyboard, class yang digunakan adalah BufferedReader.

PS.Rekam Medik-Jurusan Kesehatan - 2012

28

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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 :

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 Praktikum1. Kerjakan sesuai petunjuk di bawah ini :a. Tambahkan sebuah constructor berparameter dalam class Person.b. Tambahkan method idealWeight yang digunakan untuk menghitung berat ideal dari seseorang.c. 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.

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.;

PS.Rekam Medik-Jurusan Kesehatan - 2012

29

Praktikum: 8

Judul Praktikum: Overloading dan toString MethodAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

1. Tujuan Mahasiswa dapat mengerti overloading dan penggunaannya Mahasiswa dapat mengerti toString method dan penggunaannya

2. Dasar Teori Overloadingo 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 Stringo 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 Praktikum1. (Project Part : Do it YourSelf)a. Buatlah deklarasi dari class Account yang memiliki atribut dan method sesuai dengan gambar di bawah ini :

AccountaccountNumbercustomerName

BalancecurrentBalance()

processDeposit(x)processDeposit(x,y)processWithdraw(x)

toString()

b. Atribut class Account : accountNumber : nomor rekening seorang nasabah customerName : nama nasabah balance : saldoc. Constructor class Account : Constructor dengan 2 parameter : no rekening & nama nasabah Constructor dengan 3 parameter : no rekening, nama nasabah, saldod. Method class Account :

PS.Rekam Medik-Jurusan Kesehatan - 2012

30

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

PS.Rekam Medik-Jurusan Kesehatan - 2012

31

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

2. (Project Part : Do it YourSelf )a. Buat class MyAccount yang mempunyai main method dengan tampilan sbb :

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

**Creating Account** **Deposit** **Withdraw**Account Number : 123 Balance 50000 Balance 70000Customer Name : Adi Amount : 20000 Amount : 10000

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

PS.Rekam Medik-Jurusan Kesehatan - 2012

32

Praktikum: 9

Judul Praktikum: InheritanceAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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 Inheritanceo 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 KeteranganClass 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

PS.Rekam Medik-Jurusan Kesehatan - 2012

33

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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 Praktikum1. 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 Movie MusicVideotitle title title

length length lengthgetTitle() director artist

getLength() rating categoryshow() show() 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

PS.Rekam Medik-Jurusan Kesehatan - 2012

34

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

3.Menu : Menu :1. Movie 1. Movie2. VideoMusic 2. VideoMusic3. Print Data 3. Print DataChoose(0 for quit): 1 Choose(0 for quit): 2Title : Jelangkung Title : ParadoxDirector : Jose P Artis : ElementRating : 4 Category : PopDuration : 100 Duration : 120

Menu :1. Movie2. VideoMusic3. Print DataChoose(0 for quit): 3Title Dir/Art Duration Rating/Category-------------------------------------------Paradox Element 100 PopJelangkung Jose P 120 4

PS.Rekam Medik-Jurusan Kesehatan - 2012

35

Praktikum: 10Judul Praktikum: InterfaceAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

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.

PS.Rekam Medik-Jurusan Kesehatan - 2012

Nama interfac

e

36

<<Interface>> animal+ speak ();

Kucing+ speak ();

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

Contoh :

ALAT DAN BAHAN- PC- referensi - BKPM- Alat tulis

PELAKSANAAN PRAKTIKUM:Tuliskan program untuk bagan berikut:1. Single implementation interface

2. Single implementatuon interface

PS.Rekam Medik-Jurusan Kesehatan - 2012

37

<<interface>>needFood

+ eat ();

<<interface>>Flayer

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

Airplane

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

Superman

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

Bird

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

<<interface>>Pet

+ getName();+ setName(string name);+ ply();

<<abstract >>Animals

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

Cat extend Animals implements Pet

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

Spider extend Animals implements Pet

+spiderlegs ();+eat();

Fish extends Animals implements Pet

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

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

3. Multiple implementation interface

TUGAS DAN LATIHAN1. Buat program untuk merepresentasikan bagan berikut!

PS.Rekam Medik-Jurusan Kesehatan - 2012

38

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

PS.Rekam Medik-Jurusan Kesehatan - 2012

39

Praktikum: 11Judul Praktikum: PACKAGE dan CLASSPATHAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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 pack-age-nya.

ALAT DAN BAHAN- PC- referensi - BKPM

PS.Rekam Medik-Jurusan Kesehatan - 2012

40

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

- Alat tulis

PELAKSANAAN PRAKTIKUM:Lakukan pengesetan path dan classpath secara manual pada system OS.

1. Setting PathC:\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:javacjika 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.javad:nama_direktori\java nama_file

5. Jalankan file TestBanking.java6. Amati hasilnya.

KUIS__

PS.Rekam Medik-Jurusan Kesehatan - 2012

41

Praktikum: 12Judul Praktikum: EXCEPTIONSAlokasi Waktu: 1 x 110 menit

Throwable

Error

Exception

VirtualMachineError

AWT

StackOverflowError

----

OutOfMemoryError----

RuntimeException

IOException

ArithmeticException

NullPointerException

IndexOutOfBoundsException

----

EOFException

FileNotFoundException

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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 :

Eksepsi yang umum, yang sering di gunakan antara lain :- ArithmeticException- NullPointerException- NegativeArraySizeException- ArrayIndexOutOfBoundsException- SecurityException

Contoh :

PS.Rekam Medik-Jurusan Kesehatan - 2012

42

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

PS.Rekam Medik-Jurusan Kesehatan - 2012

43

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

8. Jalankan program TangkapEksepsi.java

9. Jalankan program TangkapEksepsi.java

PS.Rekam Medik-Jurusan Kesehatan - 2012

44

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

10. Jalankan program CetakPesanEksepsi.java

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

PS.Rekam Medik-Jurusan Kesehatan - 2012

45

Praktikum: 13Judul Praktikum: ThreadAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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 :

PS.Rekam Medik-Jurusan Kesehatan - 2012

46

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

ALAT DAN BAHAN

c. PCd. referensi e. BKPMf. 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

PS.Rekam Medik-Jurusan Kesehatan - 2012

47

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

PS.Rekam Medik-Jurusan Kesehatan - 2012

48

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

d. Jalankan program berikut

PS.Rekam Medik-Jurusan Kesehatan - 2012

49

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

e. Jalankan program berikut

PS.Rekam Medik-Jurusan Kesehatan - 2012

50

Praktikum: 14Judul Praktikum: AWT dan SWINGAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

1. Tujuan Instruksionala. 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 GUIf. Membuat tampilan yang komplek dalam mendesain aplikasi GUI.

2. Teori DasarTanpa 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. Praktikuma. Menampilkan Frame :

PS.Rekam Medik-Jurusan Kesehatan - 2012

51

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

b. Menampilkan Panel :

c.Menampilkan Frame Conrol

PS.Rekam Medik-Jurusan Kesehatan - 2012

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

}

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);

} }

52

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

d. Menampilkan Flow Layout Demo

e.Menampilkan Border Layout Demo:

PS.Rekam Medik-Jurusan Kesehatan - 2012

import java.awt.*; public class FrameWControls extends Frame{ public FrameWControls() { } public 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);

} }

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);

} }

53

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

f. Menampilkan Grid Layout Demo:

g. Menampilkan Complex Layout:

PS.Rekam Medik-Jurusan Kesehatan - 2012

import java.awt.*;public class BorderLayoutDemo extends Frame{public BorderLayoutDemo() {}public static void main(String args[]) {

BorderLayoutDemo bld = new BorderLayoutDemo();bld.setLayout(new BorderLayout(10, 10)); //may removebld.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);

}}

import java.awt.*;public class GridLayoutDemo extends Frame {public GridLayoutDemo() {}public 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);

}}

54

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

h. Menampilkan Swing Demo:

PS.Rekam Medik-Jurusan Kesehatan - 2012

import java.awt.*;public class ComplexLayout extends Frame{public ComplexLayout() {}public 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);}}

import java.awt.*; public class SwingDemo { JFrame frame; JPanel panel; JTextField textField; JButton button; Container contentPane; public SwingDemo() { } void launchFrame() {

frame = new JFrame("My First Swing Application"); panel = new JPanel(); textField = new JTextField("Default text"); button = new JButton("Click me!"); contentPane = frame.getContentPane(); panel.add(textField); panel.add(button); contentPane.add(panel, BorderLayout.CENTER); frame.pack(); frame.setVisible(true);

} public static void main(String args[]) {

SwingDemo sd = new SwingDemo(); sd.launchFrame();

} }

55

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

i. Menampilkan JOption Demo:

PS.Rekam Medik-Jurusan Kesehatan - 2012

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();}}

56

Praktikum: 15Judul Praktikum: GUI EVENT HANDLINGAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

A

1. Tujuan Instruksionala. Menerangkan komponen-komponen delegation event model b. Mengerti bagaimana delegation event model bekerja c. Menciptakan aplikasi GUI yang berinteraksi dengan userd. Mendiskusikan manfaat dari class-class adapter e. Mendiskusikan keuntungan-keuntungan dari menggunakan inner dan anonymous class

2. Teori DasarPada 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.

b. 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.

c. 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 di-klik. 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 :

PS.Rekam Medik-Jurusan Kesehatan - 2012

57

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

PS.Rekam Medik-Jurusan Kesehatan - 2012

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);

}

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(); } }

58

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

b. Close Frame :

c. Close Frame dengan Command Listener tertentu :

d. Close Frame dengan Inner Class:

PS.Rekam Medik-Jurusan Kesehatan - 2012

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(); } }

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);

} }

59

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

e. Anonymous Inner class:

PS.Rekam Medik-Jurusan Kesehatan - 2012

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();

} }

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

Praktikum: 16Judul Praktikum: SPLASH SCREEN APLIKASIAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

1. Tujuan Instruksional- Mahasiswa dapat mengembangkan sebuah Splash Screen untuk sebuah aplikasi

dengan menggunakan komponen-komponen Swing2. 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

b. Jlabel berfungsi untuk membuat label yang berguna untuk menampilkan teksc. JprogressBar berfungsi untuk membuat baris progress yang dapat digunakan untuk

menunjukan progress dari sebuah loading, pada penerapannya biasanya digunakan komponen Timer.

d. Dimension berfungsi untuk mengambil ukuran layar monitor, baik panjang maupun lebarnya.komponen tersebut juga terdapat pada package javax.swing

PS.Rekam Medik-Jurusan Kesehatan - 2012

61

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

3. Praktikum

PS.Rekam Medik-Jurusan Kesehatan - 2012

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 progressbarisProgres.setValue(0);barisProgres.setPreferredSize(new Dimension(100,15));barisProgres.setBackground(Color.white);barisProgres.setForeground(Color.red);barisProgres.setStringPainted(true);//mengatur warna garis pinggirbarisProgres.setBorder(new LineBorder(Warna,1));lblLogo.setBorder(new LineBorder(Warna,1));//meletakkan objek ke kontainergetContentPane().add(lblLogo,BorderLayout.NORTH);getContentPane().add(barisProgres,BorderLayout.CENTER);//mengatur lama window logo tampil pada layar monitortimer = 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 monitorsetLocation(dimensi.width/2-getWidth()/2,dimensi.height/2-getHeight()/2);//menempaktkan window ke layar monitor\show();}//deklarasi metode utamapublic static void main(String args[]){

new SIP();}}

62

Praktikum: 17Judul Praktikum: CLASS KONEKSIAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

1. Tujuan InstruksionalMahasiswa dapat menghubungkan sebuah database (MySql) dengan interface java

2. Teori DasarMembuat 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 :

Contoh driver MySQL

Sedangkan format URL, adalah lokasi dimana database disimpan, format penulisannya sebagai berikut :

Contoh penggunaan:

3. Praktikum

PS.Rekam Medik-Jurusan Kesehatan - 2012

Class.forName(nama_driver);

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

DriverManager.getConnetion(url,user,password);

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

63

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

PS.Rekam Medik-Jurusan Kesehatan - 2012

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

Praktikum: 18Judul Praktikum: ANTAR MUKAAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

tainer

2. Teori Dasara. GUI (Graphical User Interface), memungkinkan user untuk berinteraksi dengan

komputersecara 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 bergayadesktop dengan ToolkitJAVA yang dikenal sebagai AWT (Abstract Windowing Toolkit)

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

e. JFC mempunyai kode swing yang terdapat pada package yang disediakan pada JAVA SDKversi 1.2 ke atas (JAVA 2)

f. JAVA menyediakan dua graphical library.

AWT (Abstract Windows Toolkit)

Swing

Contoh: import java.awt.* ;

Import java.awt.event.* ;

Import javax.swing.* ;

Graphical Object

PS.Rekam Medik-Jurusan Kesehatan - 2012

65

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

a. Container (tempat), obyek yang dapat menampung komponen grafis dan tempat yang lebihkecil

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 (melakukansesuatu) jika kejadian tersebut terjadi

PS.Rekam Medik-Jurusan Kesehatan - 2012

66

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

3. Praktikum

PS.Rekam Medik-Jurusan Kesehatan - 2012

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

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

PS.Rekam Medik-Jurusan Kesehatan - 2012

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

Praktikum: 19Judul Praktikum: MANIPULASI DATABASE MELALUI ANTARMUKA JAVAAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

1. 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 java2. Teori Dasar3. Praktikum

Gunakan program java yang telah dibuat sebelumnya (class Siswa) tambahkan code seperti dibawah ini sehingga menghasilkan keluaran yang semestinya.

PS.Rekam Medik-Jurusan Kesehatan - 2012

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

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

PS.Rekam Medik-Jurusan Kesehatan - 2012

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

Praktikum: 20Judul Praktikum: MENAMPILKAN DATA PADA OBYEK TABELAlokasi Waktu: 1 x 110 menit

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

1. Tujuan Instruksional- Masahasiswa dapat menggunakan komponen JTable untuk menampilkan data dari

database2. Teori DasarSalah 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.

3. Praktikum

PS.Rekam Medik-Jurusan Kesehatan - 2012

71

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

PS.Rekam Medik-Jurusan Kesehatan - 2012

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; }}@Overridepublic 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); }}

72

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

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

PS.Rekam Medik-Jurusan Kesehatan - 2012

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;}public int getColumnCount() { try { if(rs == null) return 0; else return rs.getMetaData().getColumnCount(); }catch(SQLException e) { System.out.println("resultset generating error while getting column count"); System.out.println(e.getMessage()); return 0; }}

73

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

PS.Rekam Medik-Jurusan Kesehatan - 2012

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

BKPM Pemrograman Berbasis Obyek (Java) - Semester III

PS.Rekam Medik-Jurusan Kesehatan - 2012

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"); }}