Minggu, 04 Desember 2011

Object-oriented programming (OOP) / Plate Boundary Observatory (PBO) JAVA


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

Tidak ada komentar:

Posting Komentar

 
(c)2009 @#$()# . Blogger Templates created by DeluxeTemplates.net. Wp by wpthemesfree