MODUL * II MEMBUAT PROGRAM SEDERHANA

advertisement
Oleh: Wahyu Nurjaya Wk, S.T., M.Kom.




MEMBUAT
MEMBUAT
MEMBUAT
MEMBUAT
KELAS
PEWARISAN
POLIMORFIS
INTERFACE







Buat Proyek baru, klik menu file  new project.
Pada choose project, pilih java pada kotak categories,
lalu pilih java apllication pada kotak pilihan project.
Klik next, untuk melanjutkan proses ke langkah name
and location.
Pada isian project name ketik ProyekMembuatKelas.
Untuk isian project location, sesuaikan dengan Folder
yang telah Anda buat untuk menyimpan semua
proyek Anda (klik browse).
Pilih create main class, pilih set as main project
untuk menentukan proyek ini sebagai proyek aktif.
Klik Finish.




Buat kelas baru (kelas Titik).
Klik kanan pada ProyekMembuatKelas  new
 java class.
Pada jendela new java class, isi class name
dengan nama Titik, klik Finish.
Sunting dan lengkapi kelas Titik dengan
program berikut ini:
public class Titik{
private int x;
private int y;
public Titik(){
x=0;
y=0;
}
public Titik(int valueX, int valueY){
x=valueX;
y=valueY;
}
public void setX(int value){
x=value;
}
public int getX(){
return x;
}
public void setY(int value){
y=value;
}
public int getY(){
return y;
}
public String getKoordinat(){
return “(“ + x + “, “ + y + “)”;
}
}
• private int x: manunjukkan kalau kelas ini
memiliki properti x yang bertipe integer (idem
private int y).
• public Titik() adalah konstruktor dari kelas
Titik ini. Jika tidak ada parameter maka nilai x
= 0 dan y = 0.
• public Titik(int valueX, int valueY) adalah
konstruktor dari kelas Titik ini. Parameter
valueX dan valueY merupakan nilai x dan nilai
y. misal Titik t1 = new Titik(10,5) berarti nilai
x = 10, nilai y = 5.
• public void setX(int value), untuk mengisi
properti x.
• public void setY(int value), untuk mengisi
properti y.
• public int getX(), untuk mendapatkan nilai
properti x.
• public int getY(), untuk mendapatkan nilai
properti y.
• public
String
getKoordinat(),
untuk
mendapatkan string yang berisi koordinat,
seperti contoh: “(10, 5)”.

Masuk ke kelas main.java, tambahkan program berikut:
public class Main{
/**
* @param args the command line arguments
*/
}
public class static void main(String[] args){
//TODO code application logic here
Titik t1 = new Titik();
System.out.println(“Menampilkan Info kelas Titik===“);
System.out.println(t1.getKoordinat());
}
• Titik t1 = new Titik(); adalah perintah untuk membuat penciptaan kelas (instance) dari
Titik. Sehingga dapat dikatakan bahwa t1 adalah instance dari kelas Titik.
• Ketika ada statement new Titik(), maka kelas titik akan menjalankan metode/fungsi
konstruktor/pembentuknya. Dalam hal ini kelas Titik akan menjalankan metode public
Titik(), sehingga nilai x dan y akan diisi dengan 0. ini karena ada perintah x=0, y=0.
• System.out.println adalah untuk menampilkan pesan pada jendela output.
• System.out.println(t1.getKoordinat()) adalah menampilkan sebuah informasi dari
pemanggilan metode getKoordinat() oleh kelas Titik, sehingga akan menghasilkan nilai
koordinat x dan y sekarang.

Kompilasi Program, terlihat bahwa nilai x dan y masih kosong.

Modifikasi kelas Main.java, pada metode main ubah
menjadi sebagai berikut:
Titik t1 = new Titik();
t1.setX(10);
t1.setY(5);
System.out.println(“Menampilkan Info Kelas Titik===“);
System.out.println(t1.getKoordinat());
Disini Anda menambahkan t1.setX(10); t1.setY(5), ini menandakan metode
setX() dan setY() dipanggil untuk mengisi nilai x = 10 dan nilai y = 5.


Kompilasi ulang, apa keluarannya? Tentunya sudah
berubah menjadi (10, 5).
selanjutnya bagaimana cara agar konstruktor public
Titik (int valueX, int valueY) dijalankan, karena dari
contoh tadi hanya menggunakan konstruktor public
Titik() saja. Untuk itu edit kembali Main.java dengan
menambahkan program berikut, sehingga akan
terlihat perbedaan penggunaannya.
Titik t1 = new Titik();
t1.setX(10);
t1.setY(5);
System.out.println(“Menampilkan Info Kelas Titik=t1=“);
System.out.println(t1.getKoordinat());
Titik t2 = new Titik(8,2);
System.out.println(“Menampilkan Info Kelas Titik=t2=“);
System.out.println(t2.getKoordinat());


Perhatikan cetak tebal, adalah kode yang diedit.
Perhatikan t2 yang menggunakan new Titik(8,2);
hal ini mengakibatkan konstruktor yang
dipanggil adalah public Titik(int valueX, int
valueY) sehingga langsung mengisi nilai x dan
nilai y sesuai dengan parameter pemanggilannya.
Kompilasi kembali, apa yang akan dihasilkan?



Tanpa adanya pewarisan program kita tidak
dapat dikatakan object oriented.
Pewarisan memudahkan kita dalam
manajemen dan penanganan perawatan, tidak
perlu menulis ulang program.
Bisa mewarisi kemampuan kelas
induknya/parent.





Lakukan copy ProyekMembuatKelas
(ini adalah salah satu kehandalan NetBeans) menjadi
ProyekMembuatPewarisan, dengan cara klik kanan
ProyekMembuatKelas  Copy…, klik tombol copy
untuk mengakhiri.
Tutup semua ProyekMembuatKelas, yang aktif
ProyekMembuatPewarisan.
Ubah dulu paket ProyekMembuatKelas menjadi
ProyekMembuatPewarisan, dengan refactoring, klik
kanan paket
ProyekMembuatKelasRefactorRename.
Ubah nama paket ProyekMembuatKelas menjadi
ProyekMembuatPewarisan.
Klik tombol Refactor.




Lakukan clean and build, kemudian ubah Main Class
proyek ini. Dengan cara: klik kanan proyekProperties,
sehingga muncul jendela Project Properties –
ProyekMembuatPewarisan lalu pada kotak Categories pilih
Run.
Pada isian Main Class, klik tombol browse… untuk memilih
kelas utama menjadi ProyekMembuatPewarisan.Main, klik
Select Main Class, untuk memilih dan menutup jendelanya.
Sehingga pada jendela project properties, Main Class
berganti menjadi ProyekMembuatPewarisan.Main, lalu klik
OK.
Untuk memastikannya lakukan kompilasi dan jalankan
program. Kalo sudah benar Anda lanjutkan.
Buat kelas baru pada paket ProyekMembuatPewarisan,
dengan cara klik paket
ProyekMembuatPewarisanNewJava Class…, beri nama
kelasnya Garis.

Sunting kelas garis menjadi sebagai berikut:
public class Garis extends Titik{
private Titik titikAwal;
private Titik titikAkhir;
public Garis(){
titikAwal = new Titik();
titikAkhir = new Titik();
}
public Garis(Titik t1, Titik t2){
titikAwal=t1;
titikAkhir=t2;
}
public void SetTitikAwal(Titik value){
titikAwal=value;
}
public Titik getTitikAwal(){
return titikAwal;
}
public void SetTitikAkhir(Titik value){
titikAkhir=value;
}
public Titik getTitikAkhir(){
return titikAkhir;
}
public double getPanjang(){
double x1=titikAwal.getX();
double y1=titikAwal.getY();
double x2=titikAkhir.getX();
double y2=titikAkhir.getY();
double hasil;
hasil = (Math.pow( (x2-x1), 2)
) + (Math.pow( (y2-y1), 2));
}
}
public
hasil = Math.sqrt(hasil);
return hasil;
class Garis extends Titik, kode ini
menunjukkan bahwa kelas Garis adalah
diturunkan dari kelas Titik. Selanjutnya kelas
Garis memiliki kemampuan khusus yang tidak
dimiliki oleh nenek moyang sebelumnya.
Selanjutnya edit metode main pada kelas Main.java menjadi:

public static void main(String[] args){
//TO DO code application logic here
}

Garis grs1 = new Garis();
grs1.SetTitikAwal(new Titik(2,2));
grs1.SetTitikAkhir(new Titik(2,8));
System.out.println(“Menampilkan Info Kelas Garis=grs1=”);
System.out.println(grs1.getTitikAwal().getKoordinat());
System.out.println(grs1.getTitikAkhir().getKoordinat());
System.out.println(“Panjang = “ + grs1.getPanjang());
Lakukan clean and build, lalu jalankan program, perhatikan apa hasilnya?




Apa yang dimaksud dengan Folimorfis? Buat
contohnya min 1 contoh!
Apa yang dimaksud dengan Interface? Buat
contohnya min 1 contoh!
Dibuat dalam bentuk Hard Copy,
dikumpulkan pada Hari Rabu, 13 Oktober
2010.
Dikerjakan Individu.
Download