PREVIEW : Object-oriented programming (OOP) JAVA
1. Class Manusia
package PBO; //sesuaikan package anda
mendefinisikan perluasaan kelas manusia dari kelas mahkluk hidup
public class Manusia extends MakhlukHidup {
mendefinisikan nama variabel dengan type data string
String nama,stmMakan,stmKerja,stmTugas,stmTidur;
n = Mendefinisikan value dari variabel nama dalam kelas manusia
//konstruktor
Manusia(String n){
this.nama = n;
}
Mengembalikan value nama
//function mengembalikan nilai nama
String tampilkanNama(){
return nama;
}
Mengembalikan value stmMakan dengan nama value = "hem...enyak..enyak..enyak...!!!";
//procedure makan
String makan(){
return stmMakan="hem...enyak..enyak..enyak...!!!";
}
Mengembalikan value stmkerja dengan nama value = "kerja..kerja...kerja...!!!";
//procedure kerja
String kerja(){
return stmKerja="kerja..kerja...kerja...!!!";
}
Mengembalikan value stmMakan dengan nama value "ZZzzz...!!!";
//procedure tidur
String tidur(){
return stmTidur="ZZzzz...!!!";
}
Mengembalikan value berdiri dengan nama value ="berdiri tegap...";
public String jalan(){
return berdiri="berdiri tegap...";
}
2. Class Siswa (Turunan dari Class Manusia)
package PBO; //sesuaikan package anda
A)mendefinisikan perluasaan kelas siswa dari kelas manusia
public class Siswa extends Manusia{
B)mendefinisikan value untuk digunakan untuk menyimpan value yang diinputkan
//konstruktor Siswa
Siswa(String n){
super(n) = Memanggil kelas turunan dengan nama kelas siswa dari kelas manusia
//memanggil konstruktor Manusia
super(n);
}
C)Mengesampingkan/mengganti dalam kelas manusia dari kelas siswa value stmKerja menjadi stmKerja="belajar...belajar...!!!" dan value stmTidur menjadi stmTidur="Ngiler...!!!"
//method override dari kelas Manusia
String kerja(){
return stmKerja="belajar...belajar...!!!";
}
String tidur(){
return stmTidur="Ngiler...!!!";
}
}
3. Class Guru (Turunan dari Class Manusia)
package PBO;//sesuaikan package anda
A)mendefinisikan perluasaan kelas guru dari kelas manusia
public class Guru extends Manusia {
B)mendefinisikan value yg digunakan untuk menyimpan value yang diinputkan
Guru(String n){
super(n);
}
C)Mengesampingkan/mengganti dalam kelas manusia dari kelas guru value stmKerja menjadi stmKerja="mengajar...mengajar...!!!" dan membuat variabel baru dengan nama value stmTugas="ayo kerjakan...kerjakan...!!!"
//method override dari kelas Manusia
String kerja(){
return stmKerja="mengajar...mengajar...!!!";
}
//method asli dari Guru
String tugas(String n){
return stmTugas="ayo kerjakan...kerjakan...!!!";
}
}
}
4. Class Bentuk3D
package PBO; //sesuaikan package anda
membentuk kelas dengan nama Bentuk3D
public class Bentuk3D {
mendefinisikan variabel dengan type data double
double panjang,lebar,tinggi;
mendefinisikan variabel panjang dengan nama pj sebagai tempat menyimpan value yang diinputkan pada variabel panjang
//konstruktor pertama
Bentuk3D(double pj){
this.panjang=pj;
this.lebar=1;
this.tinggi=1;
}
mendefinisikan variabel panjang dengan nama pj dan varibel lebar dengan lb sebagai tempat menyimpan value yang diinputkan pada variabel panjang dan lebar
//konstruktor kedua (overload)
Bentuk3D(double pj,double lb){
this.panjang=pj;
this.lebar=lb;
this.tinggi=1;
}
mendefinisikan variabel panjang dengan nama pj , varibel lebar dengan lb dan variabel tinggi dengan nama tg sebagai tempat menyimpan value yang diinputkan pada variabel panjang , lebar dan tinggi
//konstruktor ketiga (overload)
Bentuk3D(double pj,double lb,double tg){
this.panjang=pj;
this.lebar=lb;
this.tinggi=tg;
}
}
5. Class Mobil
package PBO; //sesuaikan package anda
A)mendefinisikan kelas mobil
public class Mobil {
B) mendefinisikan variabel dari kelas mobil dengan nama merek st dan menambahkan value pada variabel st dengan nama +" adalah kendaraan beroda 4 "
public String merek,st;
Mobil(String m){
this.merek=m;
st=this.merek+" adalah kendaraan beroda 4 ";
}
B) mendefinisikan variabel dari kelas mobil dengan nama bergerak, mendefinisikan string a sebagai value dari variabel bergerak dan menambahkan value pada variabel bergerak dengan nama "melaju ke arah "
Serta mengembalikan nilai a
//procedure bergerak
String bergerak(String arah){
String a="melaju ke arah "+arah;
return a;
}
C) mendefinisikan value overload dari variabel bergerak dengan nama arah dan jauh yang valuenya ditampung pada variabel seta mengembalikan value a
//overload procedure bergerak
String bergerak(String arah,int jauh){
String a="melaju ke arah "+arah+" sejauh "+jauh+" km ";
return a;
}
}
5. Class Resep
package PBO;
public class Resep {
//atribut private ini tidak bisa diisi langsung dari luar kelas..
private String jenis;
//atribut protected ini hanya bisa diisi dari subkelas..
protected String namakue;
private String j2;
//konstruktor...langsung isi
Resep(String n){
this.namakue=n;
}
void isiJenis(String j){
this.jenis=j;
j2=this.namakue+" itu "+this.jenis;
} //function... method untuk membedakan kue basah dengan tingkat kadaluarsa capat dan lama
String kadaluarsa(){
String tahan="";
if (jenis.equals("kue basah")){
tahan=j2+" -- > cepet kadaluarsa"; }
else{ tahan=j2+" --> lama kadaluarsanya.....";
}
//nilai yang dikembalikan..
return tahan;
}
}
6. Class Basah Turunan Resep
package PBO;
public class Basah extends Resep {
private String a;
//konstruktor
Basah2(String n){
super(n);
//methodnya...
isiJenis(kue(a));
}
//method untuk membedakan kue basah atau kering
String kue(String a){
if(this.namakue.equalsIgnoreCase("kue tart"))
a="kue basah";
else
a="kue kering";
return a;
}
}
7. Class Sepeda
package PBO;
public class Sepeda {
//atribut static diinisialisasi...
static int jmlRoda = 2;
}
8. Class Abstract MakhlukHidup
package PBO;
public abstract class MakhlukHidup {
protected String nafas,berdiri;
public String bernafas() {
return nafas="RRrr…";
}
/* method di bawah ini harus dioverride oleh subclassnya...
* subclass-nya mengimplementasikan method ini :) */
public abstract String jalan();
}
9. Class Animal (Turunan dari Class Abstract MakhlukHidup)
package PBO;
public class Animal extends MakhlukHidup {
public String jalan(){
return berdiri="berdiri tidak tegap...";
}
}
10. Class Hitung
package PBO;
public class Hitung {
//atribut/variabel final yg tidak dapat di rubah
final double phi = 3.14;
int jari2;
//konstruktor
Hitung(int jari2){
this.jari2 = jari2; }
//method
String Luas(){
double luas=jari2*phi;
String luasString=String.valueOf(luas);
return luasString;
}
}
11. Interface Pekerja
package PBO;
//interface Pekerja hanya berisi method tanpa body
public interface Pekerja {
String lakukanJob();
}
12. Interface Orang
package PBO;
//interface Orang hanya berisi method tanpa body
public interface Orang {
String lakukanSesuatu();
}
13. Interface Murid (Turunan Interface Orang)
package PBO;
//interface Murid turunan dari interface Orang
public interface Murid extends Orang {
String lakukanExtraSesuatu();
}
14. Class PencariIlmu mengimplementasikan interface Murid dan Pekerja
package PBO;
//kelas PencariIlmu menerapkan/mengimplementasi dari interface Murid dan Pekerja
public class PencariIlmu implements Murid,Pekerja {
String sedang,belajar,job;
//pengisian body method dari interface Orang
public String lakukanSesuatu(){
return sedang=("makan, tidur ...");
}
//pengisian body method dari interface Murid
public String lakukanExtraSesuatu(){
return belajar=("belajar...");
}
//pengisian body method dari interface Pekerja
public String lakukanJob(){
return job=("mengerjakan tugas...");
}
}
KUMPULAN SOURCE-CODE UNTUK BUTTON PADA TIAP TABBEDPANE
A. Turunan/Pewarisan/Inheritance
1. BUTTON MANUSIA
A)Mendeklarasikan varibel untuk pemanggilan dari kelas manusia dengan nama dahlan
Dan Membuat nama value baru dari kelas manusia dengan nama Dahlan Iskan
B)Menginputkan value pada jTextArea1 dengan memanggil value dari variabel nama,makan,kerja,dan tidur dalam kelas manusia
a)Manusia dahlan=new Manusia("Dahlan Iskan");
b)jTextArea1.setText("Nama = "+dahlan.tampilkanNama()+ "\n"+dahlan.makan()+"\n"+dahlan.kerja()+"\n\n"+dahlan.tidur());
2. BUTTON SISWA
A)Mendeklarasikan variabel untuk pemanggilan dari kelas siswa dengan nama angga
Dan Membuat nama value baru dari kelas siswa dengan nama Si Ali
B)Menginputkan value pada jTextArea1 dengan memanggil value dari variabel nama,makan,kerja,dan tidur dalam kelas siswa
a)Siswa angga = new Siswa("Si Ali");
b)jTextArea1.setText("Nama = "+angga.tampilkanNama()+"\n"+ angga.makan()+"\n"+angga.kerja()+"\n\n"+angga.tidur());
3. BUTTON GURU
A)Mendeklarasikan variabel untuk pemanggilan dari kelas guru dengan nama hadi
Dan Membuat nama value dari kelas guru dengan nama M Hadi Wijaya
B)Menginputkan value pada jTextArea1 dengan memanggil value dari variabel nama,makan,kerja,dan tugas dalam kelas guru
a)Guru hadi=new Guru("M Hadi Wijaya");
b)jTextArea1.setText("Nama Guru = "+hadi.tampilkanNama()+"\nSifat Turunan = "+hadi.makan()+"\nSifat Overrides = "+hadi.kerja()+"\nSifat Asli = "+hadi.tugas(null));
4. BUTTON OBJEK_ARRAY
A)Mendeklarasikan variabel untuk pemanggilan dari kelas manusia dengan nama profesi
Dan Membuat nama value dari kelas manusia,siswa,dan guru dengan nama Angga Darmawan, Hadi Wijaya, Simonchelli
a)Manusia[] profesi=new Manusia[3];
profesi[0] = new Siswa("Angga Darmawan");
profesi[1] = new Guru("Hadi Wijaya");
profesi[2] = new Manusia("Simonchelli");
B)memanggil value dari kelas siswa dari variabel kerja, kelas guru dari variabel tugas, dan kelas manusia dari variabel kerja
b)String statement1="Nama Siswa = "+profesi[0].tampilkanNama()+
"\n"+"Nama Guru = "+profesi[1].tampilkanNama()+
"\nNama Manusia (pembalap) = "+profesi[2].tampilkanNama();
String statement2="\n\n\n\n\nPekerjaan siswa = "+profesi[0].kerja()+
"\nPekerjaan guru = "+profesi[1].kerja()+
"\nPekerjaan pembalap = "+profesi[2].kerja();
jTextArea1.setText(statement1+statement2);
B. PerubahanBentuk/Polymorphism/Polimofisme
B.1. OverLoad/OverLoading
1. BUTTON BENTUK3D-1
A)Mendeklarasikan variabel untuk pemanggilan dari kelas BENTUK3D dengan nama 3.5
Bentuk3D bentuk=new Bentuk3D(3.5);
B)Menginputkan value dengan cara memanggil value dari variabel dalam kelas BENTUK3D
jTextArea3.setText("Panjang = "+bentuk.panjang+"\nLebar = "+bentuk.lebar+"\nTinggi = "+bentuk.tinggi);
2. BUTTON BENTUK3D-2
A)Mendeklarasikan variabel untuk pemanggilan dari kelas BENTUK3D dengan nama 3.5 dan 2.4
Bentuk3D bentuk=new Bentuk3D(3.5,2.4);
B)Menginputkan value dengan cara memanggil value dari variabel dalam kelas BENTUK3D
jTextArea3.setText("Panjang = "+bentuk.panjang+"\nLebar = "+bentuk.lebar+"\nTinggi = "+bentuk.tinggi);
3. BUTTON BENTUK3D-3
A)Mendeklarasikan variabel untuk pemanggilan dari kelas BENTUK3D dengan nama 3.5,2.4 dan 4.7
B)Menginputkan value dengan cara memanggil value dari variabel dalam kelas BENTUK3D
Bentuk3D bentuk=new Bentuk3D(3.5,2.4,4.7);
jTextArea3.setText("Panjang = "+bentuk.panjang+"\nLebar = "+bentuk.lebar+"\nTinggi = "+bentuk.tinggi);
4. BUTTON MOBIL
A)Mendeklarasikan variabel untuk pemanggilan dari kelas mobil dengan nama kijang dan
Membuat nama value dari kelas mobil dengan nama Kijang Innova
Mobil kijang=new Mobil("Kijang Innova");
B)Menginputkan value pada jTextArea3 dengan memanggil value dari variabel merek,bergerak
jTextArea3.setText(kijang.st+"\n"+kijang.bergerak("depan")+"\n"+kijang.bergerak("belakang",3));
B.2. OverRide/OverRiding
berlaku pada = method() TURUNAN/SUBCLASS
bisa dilihat pada Pewarisan
C. Pembungkusan/Tingkat-Akses/Encapsulation
Tingkat Akses = private, protected, public dan default (tanpa tanda modifier)
1. BUTTON KUE_TART
Mendeklarasikan variabel untuk pemanggilan dari kelas basah dengan basah tart ,
Membuat nama value dari kelas basah dengan nama Kue Tart dan memnggil value dari kelas resep
Basah tart=new Basah("Kue Tart");
jTextArea2.setText(tart.kadaluarsa());
2. BUTTON KUE_MARIE
Mendeklarasikan variabel untuk pemanggilan dari kelas basah dengan basah tart ,
Membuat nama value dari kelas basah dengan nama Kue Marie dan memnggil value dari kelas resep
Basah marie=new Basah("Kue Marie");
jTextArea2.setText(marie.kadaluarsa());
D. Modifier (static & final)
D.1. static
1. BUTTON Tes Statis 1
//instansiasi pertama :)
Sepeda motor = new Sepeda();
motor.jmlRoda =2;
String stm1=("Jumlah Roda Motor = "+motor.jmlRoda);
//instansiasi kedua :)
Sepeda becak = new Sepeda();
becak.jmlRoda = 3;
String stm2=("Jumlah Roda Becak = "+becak.jmlRoda);
// apa yang terjadi ketika objek motor dipanggil lagi ...
String stm3=("Jreng..jreng...,apa yang terjadi pada jumlah roda motor...");
String stm4=("Jumlah Roda Motor = "+motor.jmlRoda);
jTextArea5.setText(stm1+"\n"+stm2+"\n"+stm3+"\n"+stm4+"\n"+motor.melaju(null));
2. BUTTON Tes Statis 2
//mengeset data langsung dr Class tanpa pembuatan objek
Sepeda.jmlRoda = 5;
jTextArea5.setText("Jumlah roda sepeda = "+Sepeda.jmlRoda);
D.2. final
1. BUTTON Tes Final
Hitung lingkaran = new Hitung(76);
//ilegal access
//lingkaran.phi=4.15;
jTextArea6.setText("phi ="+lingkaran.phi+"\n"+"jari2 ="+ lingkaran.jari2+"\n"+"Luas Lingkaran = "+lingkaran.Luas());
E. Abstract & Interface
1. BUTTON Test Abstract
Manusia andri=new Manusia("Andri Bagus Nugroho");
Animal kucing=new Animal();
//MakhlukHidup a = null;
String stm1=(andri.tampilkanNama()+"\n"+andri.makan()+"\n"+andri.jalan());
String stm2=("\n\nSi Puss"+" "+kucing.jalan()+"\n"+"kalo bernafas bersuara "+kucing.bernafas());
jTextArea4.setText(stm1+stm2);
2. BUTTON Test Interface
PencariIlmu toni = new PencariIlmu();
jTextArea4.setText("toni adalah objek PencariIlmu\n\nkerjaannya :\n"+ toni.lakukanSesuatu()+"\n"+toni.lakukanExtraSesuatu()+"\n"+
toni.lakukanJob());
nb : kata/kalimat yang berwarna merah dan hijau merupakan penjelasan dari statement di bawahnya !!!
download project program OOP JAVA saya disini !!!
http://www.indowebster.com/download/files/belajarpbo_mhw_1
http://www.indowebster.com/download/files/belajarpbo_mhw_1
Tidak ada komentar:
Posting Komentar