Disusun Oleh :
- Ahmad Shidatafi
- Andrian Saputra
- Irfan Miftarudin
Palembang
2019
1. INHERITANCE
Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi.
Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari
class yang telah terdefinisikan tersebut. Class yang diwarisi class yang lain di sebut dengan
subclass, sedangkan class mewarisi disebut dengan superclass.Salah satu keuntungan dari
inheritance adalah Subclass dari merubah atau memodifikasi apa yang telah diwariskan oleh
Superclass.
Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. Konsep
inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai
entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class
turunan. Suatu class yang mempunyai class turunan dinamakan parent class atau base class.
Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Karena suatu
subclass dapat mewarisi apa-apa yang dipunyai oleh parent class-nya, maka member dari suatu
subclass adalah terdiri dari apa-apa yang ia punyai dan juga apa-apa yang ia warisi dari class
parent-nya.
Untuk membuat class yang dapat mewarisi sebuah class yang lain, hal yang diperlukan adalah
mendeklarasikan class tersebut dengan menggunakan extends, perhatikan struktur program
berikut ini:
public Bapak(){
this.tangan=2;
this.kaki=2;
}
public void berdiri(){
System.out.println("Berdiri");
}
public void berjalan(){
System.out.println("Berjalan");
}
}
Program dengan nama file Anak.java
public class Anak extends Bapak {
public void bernyanyi(){
System.out.println("lalaa..alaa...");
}
}
Program dengan nama file BapakAnak.java
public class BapakAnak {
public static void main(String[] args) {
Bapak bapak1 = new Bapak();
Anak anak1 = new Anak();
Program di atas menunjukkan adanya class Anak sebagai subclass atau turunan dari
class Bapak, sehingga class Bapak merupakan superclass dari class Anak. Pada saat dilakukan
penurunan semua anggota dari class A akan diturunkan ke class B.
2. ENCAPSULATION (PENGKAPSULAN)
Dari program di atas dapat dilihat bahwa deklarasi variabel disembunyikan dan
pada saat dilakukan proses perkalian untuk mencari luas dilakukan enkapsulasi.
Program di atas akan menghasilkan 2 class yaitu : class Kapsul dan class Encapsulasi.
Kedua class ini berbeda. Di mana class Kapsul merupakan kelas untuk pembentukan
Objek dan pemrosesan dalam pencarian luas persegi panjang. Sedangkan untuk class
Encapsulasi merupakan kelas untuk menampilkan hasil dari proses tersebut.
3. POLYMORPHISM
Polymorphism dapat diartikan sebagai memiliki banyak bentuk. Dua objek
atau lebih dikatakan sebagai polymorphic bila kedua objek tersebut mempunyai
antarmuka identik namun mempunyai perilaku yang berbeda. Dalam pemrograman,
polimorfisme dapat diartikan sebagai modul yang memiliki nama sama, namun
memiliki behaviour (tingkah laku) yang berbeda sehingga listing code
implementasinya juga berbeda.
Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah
Method yang dipanggil harus melalui variabel dari basis class atau superclass.
Method yang dipanggil harus juga menjadi method dari basis class.
Signature method harus sama baik pada superclass maupun subclass.
Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.
Untuk dapat memahami metode polimorfisme marilah Kita lihat contoh Script di
bawah ini :
Contoh 1 :
Contoh 2 :
class Mimik{
public String respons() {
return("Ini EkspresiKu, Mana EkspresiMu");
}
}
class Senang extends Mimik{
public String respons() {
return("Wk...wk...wk...yiii...haaaa...");
}
}
class Sedih extends Mimik{
public String respons() {
return("hiks..hiks...Aaakuu Gaalaauu...");
}
}
class Marah extends Mimik{
public String respons() {
return("Wwoooiii....Gue Tabok Loe..!!");
}
}
class Tampil{
public static void main(String args[]) {
Mimik objEkspresi = new Mimik();
Senang objGembira = new Senang();
Sedih objSedih = new Sedih();
Marah objMarah = new Marah();
Mimik[] arrEkspresi = new Mimik[4];
arrEkspresi[0] = objEkspresi;
arrEkspresi[1] = objGembira;
arrEkspresi[2] = objSedih;
arrEkspresi[3] = objMarah;
System.out.println(""+arrEkspresi[0].respons());
System.out.println("Gue lagi seneng ne "+arrEkspresi[1].respons());
System.out.println("Huh sedih banget "+arrEkspresi[2].respons());
System.out.println("Arrggttthh...!! "+arrEkspresi[3].respons());
}
}
4. EXCEPTION HANDLING
Exception Handling merupakan mekanisme yang paling diperlukan dalam menangani
error yang terjadi pada saat runtime (program berjalan) atau yang lebih dikenal dengan
sebutan runtime error.
Secara umum, adanya kesalahan / error yang terjadi pada program pada saat runtime
dapat menyebabkan program berhenti atau hang. Untuk itulah diperlukan mekanisme
untuk memastikan bahwa program tetap dapat berjalan meskipun terdapat kesalahan yang
terjadi.
Contoh:
Contoh code ini dapat menyebabkan terjadinya exception pada saat runtime, yakni indeks
yang diakses melebihi dari size yang telah didefinisikan sebelumnya. Exception seperti
ini dikenal dengan sebutan Array Index Out Of Bounds Exception.,
Untuk menangani hal tersebut, Exception Handling dapat dilakukan dengan cara:
Beberapa exception yang sering terjadi pada Bahasa pemrograman Java di antaranya
adalah:
Arithmetic Exception
Untuk perhitungan aritmatika, misalkan sebuah angka dibagi 0.
IO Exception
Bila yang diminta adalah angka, tapi diinputkan berupa String