BKPM - Pemrograman Berorientasi Objek
BKPM - Pemrograman Berorientasi Objek
SEMESTER II
OLEH :
SYAMSUL ARIFIN
2018
KEMENTERIAN RISET, TEKNOLOGI DAN PERGURUAN TINGGI
LEMBAR PENGESAHAN
BKPM
Mengetahui
Ka. Prodi Manajemen Informatika Penulis
Dwi Putro Sarwo Setyohadi, S.Kom, M.Kom. Syamsul Arifin, S.Kom, M.Cs.
NIP. 198005172008121002 NIP. 198106152006041002
Menyetujuai
Ka. Jur. Teknologi Informatika
C. 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
D. Pelaksanaan Praktikum
Jalankan Software Netbeans 6.5, tunggu beberapa saat sampai netbeans siap
digunakan, seperti gambar berikut :
Jalankan menu File | New Project, sehingga dialog New Project muncul
Pada Menu Categories = Java, Project = Java Application, klik tombol Next,
Sehingga New Java Application muncul
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.
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 ..!");
}
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.
Jika pada baris akhir bagian jendela Output tertuliskan :
BUILD SUCCESSFUL (total time: 2 seconds)
Maka Program tersebut benar
Untuk melihat hasil program tersebut, lakukan seperti langkah f tetapi pilih Run file
E. Latihan
Buatlah sebuah program untuk menghitung luas segitiga dengan ketentuan : nilai
alas dan tinggi ditentukan dalam program tersebut.
Buatlah sebuah program untuk mengitung lingkaran dengan ketentuan : nilai Phi dan
jari-jari ditentukan dalam program tersebut.
F. Tugas
1. Jelaskan perbedaan antara J2SE ( Standart Edition), J2EE (Enterprise Edition) juga
J2ME (Micro edition) ?
2. Jelaskan Perbedaan pembuatan project dengan menggunakan Java Application dan
Java Class Library ?
3. Apa yang dimaksud dengan Package dalam netbeans ?
4. Jelaskan perbedaan antara Compile file dan Build juga Run file ?
5. Jelaskan pengertian istilah-istilah berikut :
o Class
o Objek / instans
o State
o Behaviour
o Method
o Konstruktor
Praktikum :2
Judul : Pengenalan dan membuat Objek
Waktu : 1x110 Menit
C. Teori
Class Manusia
(STATE)
Berat
Tinggi
Usia
(BEHAVIOUR)
Makan()
Minum()
Menua()
D. Pelaksanaan Praktikum
Buat Project baru berupa Java Class Library
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 :
Pada dialog New Java Class, isikan nama kelas yang akan kita buat (misal : Buku),
package sesuai dengan yang diinginkan, akhiri dengan klik tombol Finish.
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)
E. Latihan
Buatlah sebuah project baru untuk Class Manusia
Dengan properti berat, tinggi dan usia, buat juga objek dari class manusia dan
definisikan nilai dari masing masing variable tersebut.
F. Tugas
1. Jelaskan tentang istilah-istilah berikut
o Enkapsulasi
o Pewarisan
o Polymorphism
2. Jelaskan mengenai Top-level Container, intermediate Container, Atomic
Component, Layout Manager ?
3. Berikan contoh untuk soal 2 ?
4. Jelaskan tentang AWT dan SWING komponen dan cara menggunakannya ?
o Apa perbedaan antara variabel dan object?
o Ada berapa macam tipe data primitif dalam Java?
Sebutkan dan jelaskan!
o Sebutkan tipe data reference dalam Java!
o Beri contoh deklarasi konstanta dalam Java!
o Sebutkan keyword dalam java!
o Kenapa deklarasi variabel berikut salah?
int8k;
char null;
Praktikum :3
Judul : Sintaks Bahasa dan Tipe Data
Waktu : 2 x 110 Menit
C. Teori
Variabel
Sintaks pendeklarasian variabel secara umum adalah sebagai berikut :
Tipe-data nama-variabel;
Contoh
int counter;
D. Pelaksanaan Praktikum
Scope Variabel
class Scope1 {
static int a; //Deklarasi variabel dalam blok class
x = 10;
a = 2; //variabel a juga dikenal di sini
System.out.println("Nilai a : " + a);
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 */
{ //nested blok
int z;/* variabel ini hanya dikenal di dalam nested blok ini
saja */
z = 20;
}
}
E. Tugas
Apa perbedaan tipe data primitive dan tipe data referensi
Buatlah program menghitung luas
o Segitiga
o Lingkaran
o Bujursangkar
o Empat persegipanjang
Praktikum :4
Judul : Operator
Waktu : 2 x 110 Menit
C. Teori
Ada enam jenis kelompok operator dalam pemrograman Java:
1. Operator Artimatika;
2. Operator Penugasan;
3. Operator Pembanding;
4. Operator Logika;
5. Operator Bitwise;
6. dan Operator Ternary.
D. Pelaksanaan Praktikum
Operator Penugasan
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;
int z;
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);
}
}
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);
}
}
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;
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;
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);
}
}
E. Tugas
Bagaimana menukar nilai dari 2 variabel tanpa menggunakan variabel perantara
(bantu)
Praktikum :5
Judul : Pengenalan Kondisi if, switch, while, for , jump dll dlm Java
Waktu : 2 x 110 Menit
C. Teori
Percabangan IF
Percabangan ini hanya memiliki satu pilihan. Artinya, pilihan di dalam IF hanya
akan dikerjakan kalau kondisinya benar.
Contoh :
D. 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");
}
}
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) {
ase 1: switch(year) {
case 2002 : System.out.println("Bulan 1 tahun 2002");
break;
case 2003 : //...
}
case 2: //...
default: //default...
}
}
}
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);
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) {
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") ;
}
}
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 ");
}
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 + " ");
}
}
}}
class TestReturn{
public static void main(String args[]) {
boolean t = true;
System.out.println("Sebelum return");
if (t) return;
System.out.println("Setelah return");
}
}
E. Tugas
Buatlah program untuk menghasilkan luaran sebagai berikut:
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
Buatlah program untuk menampilkan bilangan prima pada suatu range bilangan
Praktikum :6
Judul : Pengenalan Class , Method dan objek dlm Java
Waktu : 2 x 110 Menit
C. Teori
Object
o 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 object
2. Process,yang merupakan method atau operation dari object
o Contoh :
Object Person mempunyai atribut :
firstName
lastName
height
weight
o dan memliki beberapa method :
setFirstName
getFirstName
setLastName
getLastName
dll
Class
o 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.
D. Pelaksanaan Praktikum
Buatlah sebuah project dengan class baru, dengan nama VolcanoRobot
Tulislah Source Code berikut pada Code Editor class tersebut.
class VolcanoRobot {
String status;
int speed;
float temperature;
void checkTemperature(){
if (temperature > 660) {
Status = “returning bone”;
Speed = 5;
}
}
void showAtributes(){
System.out.println(“Status : “ +status);
System.out.println(“Speed : “ +speed);
System.out.println(“Temperature : “ +temperature);
}
public static void main(String[] arguments){
VolcanoRobot dante = new VolcanoRobot();
dante.status = “exploring”;
dante.speed = 2;
dante.temperature = 510;
dante.showAtributes();
System.out.println(“Increasing speed to 3”);
dante.speed = 3;
dante.showAtributes();
System.out.println(“Changing temperature to 670”);
dante.temperature = 670;
dante.showAtributes();
System.out.println(“Checking the temperature”);
dante.checkTemperature();
dante.showAtributes();
}
}
E. Tugas
C. Teori
Constructor
o 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.
import java.io.*;
class InputPizza {
D. Pelaksanaan Praktikum
E. Tugas
(Project Part : Do it YourSelf )
o Buat sebuah constructor berparameter untuk class Student.
o Tambahkan method average yang digunakan untuk menghitung nilai rata2 dari
nilai teori & praktikum dari seorang murid.
o Tambahkan method isPass yang digunakan untuk mengecek apakah seorang
Murid lulus atau tidak, dinyatakan lulus bila nilai teori dan praktikum di atas 55.
o Buat class InputStudentTest dimana didalamnya terdapat program input data yang
diperlukan untuk mengisi nilai atribut object class Student.
o Masukkan data hasil inputan tersebut ke object class Student melalui constructor.
o Tampilkan data-data atribut object class Student beserta nilai rata-rata dan
keterangan lulus atau tidak.
Praktikum :8
Judul : Overloading dan toString Method
Waktu : 2 x 110 Menit
C. 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 toString
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.
D. Pelaksanaan Praktikum
Class Book {
Public Book (String t, String a, int p){
Title = t;
Author = a;
Price = p;
Private String title;
Private Sting author;
Private String price;
}
B1.increasePrice(2000);
B2.increasePrice(1.0);
System.out.println(b1);
System.out.println(b2);
}
}
E. Tugas
Account
accountNumber
customerName
Balance
currentBalance()
processDeposit(x)
processDeposit(x,y)
processWithdraw(x)
toString()
C. 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.
D. Pelaksanaan Praktikum
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 !
Buat class VcdRental yang berisi main method dengan input dan output sebagai
berikut
Menu : Menu :
1. Movie 1. Movie
2. VideoMusic 2. VideoMusic
Menu :
1. Movie
2. VideoMusic
3. Print Data
-------------------------------------------
E. Tugas
Tambahkan data penyewa pada program tersebut
Praktikum : 10
Judul : Pewarisan, polimorfisme dan interface
Waktu : 2 x 110 Menit
C. Teori
Suatu class dapat mewariskan sifat dari class yang sudah ada. Class ini dinamakan
subclass dan induk class dinamakan superclass. Kita juga akan membicarakan sifat khusus
dari Java dimana kita dapat secara otomatis memakai method yand tepat untuk setiap object
tanpa memperhatikan asal darisubclass object. Sifat ini dinamakan polimorfisme. Pada
akhirnya, kita akan mendiskusikan tentang interface yang membantu mengurangi penulisan
program.
Dalam Java, semua class, termasuk class yang membangun Java API, adalah subclasses
dari superclass Object. Contoh hirarki class diperlihatkan di bawah ini.
Beberapa class di atas class utama dalam hirarki class dikenal sebagai superclass.
Sementara beberapa class di bawah class pokok dalam hirarki class dikenal sebagai subclass
dari class tersebut.
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu
sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari
semua subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka dapat
digunakan oleh semua subclass. Subclass hanya butuh mengimplementasikan perbedaannya
sendiri dan induknya.
Interface adalah jenis khusus dari blok yang hanya berisi method signature(atau constant
). Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa tubuh.
Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari
class-class. Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki
class, untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwa interface-
interface juga menunjukkan polimorfisme, dikarenakan program dapat memanggil method
interface dan versi yang tepat dari method yang akan dieksekusi tergantung dari tipe object
yang melewati pemanggil method interface.Sekarang, class induk Person dan subclass
Student dari contoh sebelumnya, kita tambahkan subclass lain dari Person yaitu Employee.
Di bawah ini adalah hierarkinya, Dalam Java, kita dapat membuat referensi yang
merupakan tipe dari superclass ke sebuah object dari subclass tersebut.
Kemampuan dari referensi untuk mengubah sifat menurut object apa yang dijadikan
acuan dinamakan polimorfisme. Polimorfisme menyediakan multiobject dari subclasses yang
berbeda untuk diperlakukan sebagai object dari superclass tunggal, secara otomatis menunjuk
method yang tepat untuk menggunakannya ke particular object berdasar subclass yang
termasuk di dalamnya.
Contoh lain yang menunjukkan properti polimorfisme adalah ketika kita mencoba
melalui referensi ke method. Misalkan kita punya method statis printInformation yang
mengakibatkan object Person sebagai referensi, kita dapat me-referensi dari tipe Employee
dan tipe Student ke method ini selama itu masih subclass dari class Person.
Abstract class dalam java digunakan untuk mendeklarasikan karakteristik umum dari
subclass. Abstract class tidak bisa diinstansiasi sama halnya dengan kelas interface. abstract
class hanya bisa digunakan sebagai
super class, tapi juga bisa diturunkan dari class abstract lainnya.
Untuk mendeklarasikan sebuah abstract class digunakan keyword abstract,
[abstract] class [class_name].
Sebuah abstract class pada dasarnya tidak hauh beda dengan class lainnya, yakni juga
berisi method yang menggambarkan carakteristik dari kelas abstract tersebut, bedanya yakni
sebuah abstract class bisa berisi method
tanpa diimplementasikan artinya sebuah method tanpa body, methid seperti ini disebut
method abstract. untuk pendeklarasiannya digunakan
keyword abstract: [abstract] modifier class [class_name]
D. Pelaksanaan Praktikum
Mendefinisikan Subclass dan Superclass :
public class Person {
protected String name;
protected String address;
/**
* Default constructor
*/
public Person(){
System.out.println("Inside Person:Constructor");
name = "";
address = "";
}
/**
* Constructor dengan dua parameter
*/
public Person( String name, String address) {
this.name = name;
this.address = address;
}
/**
* Method accessor
*/
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public void setName(String name) {
this.name = name;
}
public void setAddress(String add) {
this.address = add;
}
}
Polimorphisme :
static int x, y;
public Point() {
x = 0;
y = 0;
}
public double area() {
return 0;
}
public double perimeter() {
return 0;
}
public static void print() {
System.out.println("point: " + x + "," + y);
}
public static void main(String args[]) {
Point p = new Point();
p.print();
}
}
Output
point: 0, 0
Praktikum : 11
Judul : AWT dan SWING
Waktu : 2 x 110 Menit
C. Teori
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.
D. Pelaksanaan Praktikum
Menampilkan Frame
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
}
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);
}
}
Menampilkan Frame Control :
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 BorderLayoutDemo extends Frame{
public BorderLayoutDemo() {
}
public 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);
}
}
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);
}
}
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);
}
}
Menampilkan Swing Demo:
import java.awt.*;
import javax.swing.*;
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();
}
}
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();
}
}
Praktikum : 12
Judul : GUI Event Handling
Waktu : 2 x 110 Menit
C. Teori
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.
o 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.
o 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.
o 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.
D. Pelaksanaan Praktikum
PraktikumMouse Event Demo :
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();
}
}
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();
}
}
import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame{
Label label;
CFListener w = new CFListener(this);
CloseFrame(String title) {
super(title);
label = new Label("Close the frame.");
this.addWindowListener(w);
}
void launchFrame() {
setSize(300,300);
setVisible(true);
}
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();
}
}
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();
}
}
Praktikum : 13
Judul : Splash screen aplikasi dan Class Koneksi
Waktu : 2 x 110 Menit
C. Teori
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
Jlabel berfungsi untuk membuat label yang berguna untuk menampilkan teks
JprogressBar berfungsi untuk membuat baris progress yang dapat digunakan untuk
menunjukan progress dari sebuah loading, pada penerapannya biasanya digunakan
komponen Timer.
Dimension berfungsi untuk mengambil ukuran layar monitor, baik panjang maupun
lebarnya.komponen tersebut juga terdapat pada package javax.swing
Class.forName(nama_driver);
D. Pelaksanaan Praktikum
Splash Screen Aplikasi
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.LineBorder;
//deklarasi class
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();
}
}
Class Koneksi
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;
}}
}
E. Tugas
Usulkan sebuah ide aplikasi sederhana yang didalamnya terdapat pengolahan data
Buatlah Splash Screen dan class koneksi dari Aplikasi yang direncanakan
Praktikum : 14
Judul : Antarmuka & Manipulasi data pada database
Waktu : 2 x 110 Menit
C. Teori
Graphical Object
o Container (tempat), obyek yang dapat menampung komponen grafis dan tempat
yang lebih kecil, Contoh: frames, panels
o Component, obyek grafis yang berfungsi untuk menampilkan data, menerima
masukan, atau menunjukkan suatu kondisi. Contoh: buttons, labels, text fields
o Event, obyek yang merepresentasikan suatu kejadian. Contoh: gerakan mouse,
penekanan tombol
o Listener, suatu obyek yang menunggu suatu kejadian khusus dan akan bereaksi
(melakukan sesuatu) jika kejadian tersebut terjadi
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.
D. Pelaksanaan Praktikum
Form Input
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);
jpSiswa.add(btnTambah);
jpSiswa.add(btnUbah);
jpSiswa.add(btnHapus);
jpSiswa.add(btnBersih);
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();
}
}
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);
}
}
Tampil data
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;
}
}
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);
}
}
Class digunakan untuk mendukung class siswa, tambahkan code berikut pada class
siswa
public class Siswa extends JFrame implements ActionListener {
private JPanel jpSiswa = new JPanel();
. . . .
. . . .
String[]
strJdl={"No","Nis","Nama","Password","Alamat","Email","Jenis
Kelamin"};
Siswa (){
//pengaturan Tabel
skrTabel.getViewport().add(tabel);
tabel.setEnabled(true);
skrTabel.setBounds(15, 250, 470, 115);
}
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();
}
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");
}
}
Keluaran dari program tersebut adalah :
E. Tugas
Lanjutkan menyelesaikan aplikasi yang direncanakan hingga selesai