Materi PBO/OOP – P.JAVA

Diposting oleh via kus-kus On 16.42 0 komentar
Konsep OOP Java, konsep berorientasi object ini di ciptakan untuk mempermudah dalam pengembangan program dengan cara mengikuti model yang telah ada dalam kehidupan nyata. Konsep - konsep pemrograman berorientasi object dalam java secara umum sama dengan yang digunakan oleh bahasa - bahasa lain, hanya terkadang terdapat perbedaan - perbedaan kecil antara penerapan konsep - konsep tersebut dalam masing - masing bahasa.
Berikut ini  adalah contoh program OOP Java. Semoga membantu :DD 


1. Buat Project dari Netbeans atau Eclipse (jigloo) dan beri nama “BelajarPBO_noAbs”.
2. Buat package “PBO_noAbsen”.
3. Buat Form dari jFrame dan desain seperti form tampak dibawah ini.








BUATLAH BEBERAPA CLASS, ABSTRACT DAN INTERFACE SEPERTI DIBAWAH INI:
1. Class Manusia
package PBO; //sesuaikan package anda
public class Manusia extends MakhlukHidup {
      String nama,stmMakan,stmKerja,stmTugas,stmTidur;
      //konstruktor
      Manusia(String n){
            this.nama = n;
            }
      //function mengembalikan nilai nama
      String tampilkanNama(){
            return nama;
            }
      //procedure makan
      String  makan(){
            return stmMakan="hem...enyak..enyak..enyak...!!!";
            }
      //procedure kerja
      String kerja(){
            return stmKerja="kerja..kerja...kerja...!!!";
            }
      //procedure tidur
      String tidur(){
            return stmTidur="ZZzzz...!!!";
            }
     
      public String jalan(){
            return berdiri="berdiri tegap...";
            }
}
2. Class Siswa (Turunan dari Class Manusia)
package PBO; //sesuaikan package anda
public class Siswa extends Manusia{
      //konstruktor Siswa
      Siswa(String n){
      //memanggil konstruktor Manusia
            super(n);
            }
      //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
public class Guru extends Manusia {
      Guru(String n){
            super(n);
            }
      //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
public class Bentuk3D {
      double panjang,lebar,tinggi;
      //konstruktor pertama
      Bentuk3D(double pj){
            this.panjang=pj;
            this.lebar=1;
            this.tinggi=1;
            }
      //konstruktor kedua (overload)
      Bentuk3D(double pj,double lb){
            this.panjang=pj;
            this.lebar=lb;
            this.tinggi=1;
            }
      //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
public class Mobil {
      public String merek,st;
      Mobil(String m){
            this.merek=m;
            st=this.merek+" adalah kendaraan beroda 4 ";
            }
      //procedure bergerak
      String bergerak(String arah){
            String a="melaju ke arah "+arah;
            return 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
      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
Manusia dahlan=new Manusia("Dahlan Iskan");          
jTextArea1.setText("Nama = "+dahlan.tampilkanNama()+ "\n"+dahlan.makan()+"\n"+dahlan.kerja()+"\n\n"+dahlan.tidur());
2. BUTTON SISWA
Siswa angga = new Siswa("Si Ali");
jTextArea1.setText("Nama = "+angga.tampilkanNama()+"\n"+ angga.makan()+"\n"+angga.kerja()+"\n\n"+angga.tidur());
3. BUTTON GURU
Guru hadi=new Guru("M Hadi Wijaya");
jTextArea1.setText("Nama Guru = "+hadi.tampilkanNama()+"\nSifat Turunan = "+hadi.makan()+"\nSifat Overrides = "+hadi.kerja()+"\nSifat Asli = "+hadi.tugas(null));
     
4. BUTTON OBJEK_ARRAY
Manusia[] profesi=new Manusia[3];
profesi[0] = new Siswa("Angga Darmawan");
profesi[1] = new Guru("Hadi Wijaya");
profesi[2] = new Manusia("Simonchelli");
           
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
Bentuk3D bentuk=new Bentuk3D(3.5);
jTextArea3.setText("Panjang = "+bentuk.panjang+"\nLebar = "+bentuk.lebar+"\nTinggi = "+bentuk.tinggi);
2. BUTTON BENTUK3D-2
Bentuk3D bentuk=new Bentuk3D(3.5,2.4);
jTextArea3.setText("Panjang = "+bentuk.panjang+"\nLebar = "+bentuk.lebar+"\nTinggi = "+bentuk.tinggi);
3. BUTTON BENTUK3D-3
Bentuk3D bentuk=new Bentuk3D(3.5,2.4,4.7);
jTextArea3.setText("Panjang = "+bentuk.panjang+"\nLebar = "+bentuk.lebar+"\nTinggi = "+bentuk.tinggi);
4. BUTTON MOBIL
Mobil kijang=new Mobil("Kijang Innova");
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
Basah2 tart=new Basah2("Kue Tart");
            jTextArea2.setText(tart.kadaluarsa());
2. BUTTON KUE_MARIE
Basah2 tart=new Basah2("Kue Marie");
            jTextArea2.setText(tart.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());



 
»

MEDSAN in action

Diposting oleh via kus-kus On 16.41 0 komentar
MEDSAN singkatan dari Media Sandhy Putra. Medsan adalah salah satu sub organisasi yang ada di SMK Telkom Sandhy Putra Malang yang bergerak di bidang jurnalistik, karikatur, dan fotografi.

 










Lambang MEDSAN
Anggota MEDSAN dari angkatan 20 dan 19 (unyuuuh bgt ya? :D)

Perkenalan sudah dan saatnya kita lihat perjungan MEDSAN. Tahun ini MEDSAN mengkuti lomba mading 3D yang di adakan oleh M-Teens Malang Post. Formulir Lomba baru ada di tangan tanggal 16 November 2011 sedangkan TM diadakan tanggal 21 November 2011. Dan tanggal 18 November 2011 kita baru mulai berperang. Dengan waktu yang sangat sedkit kita bekerja keras untuk lomba ini, dan banyak hambatan anatara lain hujan , dana, dsb. Awalnya sudah mulai pesimis karena waktu udah mepet banget. Kita baru proses tanggal 18 November 2011 sedangkan mading harus dikumpulkan tanggal 22 November 2011. Tapi kita gak mau dikalahkan dengan ketakutan dan perasaan pesimis. Konsep yang kita buat gak bisa jalan karena kendala bahan, akhirnya konsep ganti mendadak hingga ganti konsep sebanyak dua kali (weee ...
akhirnya pake plan dadakan :D). Tanggal 21 November 2011, kita TM di Malang Post dan ternyata pengumpulan di undur jadi tanggal 22 November 2011 (lumayan :D). Kendala datang lagi saat hari pengumpulan hujan. Mading Hancur , tapi kita tetap tidak menyerah. dan akhirnya mading sampai dengan selamat di Malang Post :D .Ini foto proses pembuatannya ....

pembuatan dasar mading atau penompang mading

sibuk membuat artikel :D

hampir jadi
jadi ..
 terpajang di malang post



»

Army of GOD

Diposting oleh via kus-kus On 06.24 0 komentar
ARMY OF GOD
 
Now is the time
You're people arise
To be an army
Show your glory

There is no one
Who can stop us
To take this city
For your glory

Show your greatness
And your power
Give us the victory

Reff :
We are 2x the army of God
Burning 2x the fire of God (Yeah)
We are 2x the army of God
Burning 2x the fire of God (Yeah)

No one can stop us no
We are history makers
we're gonna take this city
Take it for you Glory 
 

»

Redo Daeng Badji - PULANG

Diposting oleh via kus-kus On 17.57 0 komentar
PULANG
 
Kuingin kau hadir di sini
Bertemu denganKu lagi
Ku hanya ingin kau datang di pelukanKu
Terima berkatKu

Kuingin kau hadir di sini
Bertemu denganKu lagi
Ku hanya ingin memandang wajahmu slalu
Memberkatimu

Dengarlah ini rinduKu
Inilah isi hatiKu

Reff :
Ku rindu kau kembali pulang
Belabuh di dalam pelukanKu
Kau tau tanganKu slalu terbuka untukmu, memberkatimu

Ku rindu ku kembali pulang
Berlabuh di dalam pelukanMu
Ku tau tanganMu slalu terbuka untukku
Pengampunan yang Kau beri
Bawaku kembali padaMu Bapa
»

Kerispatih - Tetap Mengerti

Diposting oleh via kus-kus On 17.53 0 komentar
Tetap Mengerti

semua terasa salah
semua terasa hina
ketika rasa itu tak bisa lepas
dari diri yang tlah terhempas

cinta jadi suatu yang jauh dari artinya
memberi walau harus tak diberi
menerima meski tak diterima

lihatlah aku di sini
haruskah ini terjadi

lakukanlah sampai engkau puas
cari saja apa yang hatimu mau
sampai kapanpun aku
selalu mencoba untuk mengerti

teruskanlah hingga engkau jera
dustai dan khinati dan lukai hatiku
meski lautan air mataku mengering
ku coba tetap mengerti

lihatlah aku di sini
haruskah ini terjadi

lakukanlah sampai engkau puas
cari saja apa yang hatimu mau
sampai kapanpun aku
selalu mencoba untuk mengerti

teruskanlah hingga engkau jera
dustai dan khinati dan lukai hatiku
meski lautan air mataku mengering
ku coba, ku coba tetap mengerti
»

Attitude ??

Diposting oleh via kus-kus On 20.31 0 komentar

Apa sih attitude itu ?? Attitude itu adalah sikap. Pengertian sikap sendiri adalah sesuatu hal kecil tapi dapat menciptakan perbedaan besar. Bener gak sih kalau attitude itu penting ?? Attitude atau sikap itu hal penting namun banyak orang yang meremehkan hal itu. Pemikiran orang yang terpenting adalah pintar, kaya , dll , namun sebenarnya attitude yang terpenting. Kenapa ?? Karena kita dinilai pintar dan berpendidikan jika sikap kita baik. Dan hal pertama yang dilihat oleh orang adalah sikap. Jika sikap kita baik pembawaan kita juga baik lebih terlihat berwibawa, dan orang akan menghargai kita. Sikap juga menentukan apakah kita pantas untuk dihargai atau tidak .

Dan sikap yang baik itu penting karena kita adalah manusia sosial tentunya tidak akan dapat memperlakukan hidup sekehendak sendiri, kita punya berbagai lingkungan baik lingkungan terdekat kita keluarga, tetangga, di tempat bekerja, dan tentunya juga disemua tempat yang kita kenal atau tidak. Dengan demikian attitude atau sikap itu penting .

»

Subscribe

Categories

About Me

Foto saya
Surabaya, Jawa Timur, Indonesia

Chat

Counter