Fisco's Tech

all about technology and your enviroment........

Custom Search


Ridwan Ismawan Aryana / 55410918
Saddam Senoadji / 59410169
2IA13 


A. Inheritance

Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih. Dalam hal ini ada kelas yang memiliki atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya.

Keuntungan dari pewarisan adalah tidak perlu mengutak atik kode kelas yang membutuhkan tambahan atribut atau metode saja, karena tinggal membuat kelas turunannya tanpa harus mengubah kode kelas dasarnya. Kelas dasar akan mewariskan semua atribut dan kodenya kecuali konstruktor dan destruktor yang memiliki izin akses publicdan protectedke kelas turunannya dengan izin akses yang sama dengan pada kelas dasar.

Ketika sebuah kelas turunan dibuat objeknya saat eksekusi, maka secara implisit konstruktor kelas dasar dipanggil terlebih dahulu baru kemudian konstruktor kelas turunan dijalankan. Begitu juga saat objek dimusnahkan maka secara destruktor kelas turunan akan dijalankan baru kemudian destruktor kelas dasar dijalankan.

Contoh Program: 

import java.io.*;
public class CoretCoret {
    public static void main(String[] args) {
           ridwanaryana A = new ridwanaryana();
      A.one();
   }
}
class ridwan {
   private String x = " Ridwan Aryana ";
   public void one() {   
      System.out.println (" ");
      System.out.println (" Nama  = "+x);
   }
}
class ridwanaryana extends ridwan {
   private String y    =  " Muslim ";
   public void one(){
      System.out.println (" ");
      super.one();
      System.out.println (" Agama  = "+y);
   }
}




 B. Polymorphism
Polymorphism adalah suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.

Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.


Contoh Program: 
import java.io.*;
class klasemen {
public void klasemenJleague ( ) {


}
}
class kashiwa extends klasemen {
public void klasemenJleague ( ) {
System.out.println("1.Kashiwa Reysol");
}
}


class gamba extends klasemen {
public void klasemenJleague ( ) {
System.out.println("2.Gamba Osaka");
}
}


class marinos extends klasemen {
public void klasemenJleague ( ) {
System.out.println("3.Yokohama F. Marinos");
}
}


class ContohPolimorfisme {
public static void main (String[] args) {
System.out.println("======Daftar Klasemen======");
klasemen one;


kashiwa hitachi= new kashiwa ( );
gamba panasonic = new gamba ( );
marinos nissan = new marinos ( );


one = hitachi;
one.klasemenJleague ( );


one = panasonic;
one.klasemenJleague ( );


one = nissan;
one.klasemenJleague ( );


}
}




Sumber: 



Siallagan sariadin.2009. pemrograman java.Yogyakarta:Andi offset

http://jokomurdiyanto.blogspot.com/2012/04/pengertian-inheritance-polimorphism.html
http://ansapena.wordpress.com/2010/04/14/pengertian-encapsulation-inheritance-dan-polymorphism/
http://bintaro-bintaro.blogspot.com/2010/04/pengertian-polymorphisme-inheritance.html


Link Terkait :



Ridwan Ismawan Aryana / 55410918
Saddam Senoadji / 59410169
2IA13

Dalam sebuah objek yang mengandung variabel-variabel dan method-method, dapat ditentukan hak akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan method dalam sebuah objek dalam bagian yang terlindungi inilah yang disebut dengan enkapsulasi. Jadi, enkapsulasi dapat diartikan sebagai bungkusan (wrapper) pelindung program dan data yang sedang diolah. Sehingga pengguna (user) tidak perlu mengetahui isi dari method (fungsi) dan data yang digunakan. Pengguna (user) hanya cukup mengetahui tipe data, dan mengisi variable (atau membuat variable baru) sesuai dengan tipe data dari obyek yang bersangkutan. Hal tersebut dapat terlihat jelas jika kita membandingkan antara bahasa pemrograman yang prosedural (misalnya pascal) dengan bahasa yang Object Oriented (misalnya delphi). Pada pemrograman Pascal, kita harus menuliskan semua instruksi untuk membentuk suatu fungsi atau data. Sedangkan pada pemrograman Delphi kita sudah disediakan obyek-obyek (komponen) yang tinggal menggunakan saja. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain. Manfaat dari proses enkapsulasi adalah :
  1. Modularitas, Kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain.
  2. Information Hiding, Kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.
Contoh Program:
a. PersegiPanjang.java

public class PersegiPanjang{
private double panjang; // attribute yg di encap
private double lebar; // attribute yg di encap
private double tinggi; // attribute yg di encap
public PersegiPanjang() {
panjang = 0;
lebar = 0;
}
private double luas(double p, double l) { // di hide
return p*l;
}
public void setPanjang(double panjang) {
this.panjang = panjang;
}
public void setLebar(double lebar) {
this.lebar = lebar;
}
public double getPanjang() {
return panjang;
}
public double getLebar() {
return lebar;
}
public double getLuas() {
return luas(panjang, lebar);
}
}

b. MainPersegiPanjang.java
public class MainPersegiPanjang {
public static void main(String[] srgs) {
PersegiPanjang pp = new PersegiPanjang();
pp.setPanjang(20);
pp.setLebar(40);
System.out.println("Panjang : " + pp.getPanjang());
System.out.println("Lebar : " + pp.getLebar());
System.out.println("Luas : " + pp.getLuas());
}
}


Output: 

Keterangan :
Dari latihan 1, kita mencoba untuk membuat sebuah class dari suatu obyek persegi panjang. 
Class persegi panjang tersebut mempunyai method (fungsi) :
  • luas (double p, double l), method ini digunakan untuk menghitung luas berdasarkan data dari variable panjang dan lebar.
  • setPanjang(double panjang), method ini digunakan untuk mengisi variable panjang dengan tipe data double.
  • setLebar(double lebar), method ini digunakan untuk mengisi variable lebar dengan tipe data double.
  • getPanjang() , method ini digunakan untuk mengambil data dari variable panjang dengan tipe data double.
  • getLebar(), method ini digunakan untuk mengambil data dari variable lebar dengan tipe data double.
  • getLuas(), method ini digunakan untuk mengambil hasil perhitungan luas.
Program utama dari contoh di atas berada pada class MainPersegiPanjang yang ditandai dengan pernyataan public static void main(String[] args). Obyek/Class PersegiPanjang dipanggil dengan nama pp (PersegiPanjang pp = new PersegiPanjang();). nama panggilan “pp” adalah bebas tetapi harus ada pernyataan bahwa pp adalah implementasi dari PersegiPanjang (new PersegiPanjang).

Sumber: