Inheritance (Pewarisan)
inheritance
(penurunan sifat / pewarisan), ini merupakan ciri khas dari OOP yang tidak
terdapat pada pemrograman prosedural gaya lama. Dalam hal ini, inheritance
bertujuan membentuk obyek baru yang memiliki sifat sama atau mirip dengan obyek
yang sudah ada sebelumnya (pewarisan). Obyek turunan dapat digunakan membetuk
obyek turunan lagi dan seterusnya. Setiap perubahan pada obyek induk, juga akan
mengubah obyek turunannya. Susunan obyek induk dengan obyek turunannya disebut
dengan hirarki obyek.
Keuntungan
Inheritance:
“Saat anda ingin membuat class baru, dan ternyata pada class lain telah ada code yang ingin anda gunakan, maka anda tinggal meng-extend class lain tersebut.”
“Saat anda ingin membuat class baru, dan ternyata pada class lain telah ada code yang ingin anda gunakan, maka anda tinggal meng-extend class lain tersebut.”
Contoh Program
- Simpan dengan nama Inheritance1.java
class
Inheritance1
{
private String na;
private String nama;
public void setna (String van)
{
na=van;
}
public void setnama (String vnama)
{
nama=vnama;
}
public String getna()
{
return (na);
}
public String getnama()
{
return (nama);
}
public void display()
{
System.out.println(“NPM”+getna());
System.out.println(“Nama”+getnama());
}
}
{
private String na;
private String nama;
public void setna (String van)
{
na=van;
}
public void setnama (String vnama)
{
nama=vnama;
}
public String getna()
{
return (na);
}
public String getnama()
{
return (nama);
}
public void display()
{
System.out.println(“NPM”+getna());
System.out.println(“Nama”+getnama());
}
}
- Simpan dengan nama Inheritance2.java
class
Inheritance2 extends Inheritance1
{
private double ip;
public void setip (double vip)
{
ip=vip;
}
public double getip()
{
return(ip);
}
public void display()
{
System.out.println(“IP : “+getip());
System.out.println(“Nama : “+getnama());
System.out.println(“NPM : “+getna());
}
}
{
private double ip;
public void setip (double vip)
{
ip=vip;
}
public double getip()
{
return(ip);
}
public void display()
{
System.out.println(“IP : “+getip());
System.out.println(“Nama : “+getnama());
System.out.println(“NPM : “+getna());
}
}
- Simpan dengan nama InheritanceCoba.java
public class
InheritanceCoba
{
public static void main(String[] args)
{
Inheritance2 ap1=new Inheritance2();
ap1.setna(“56410268 & 55410416″);
ap1.setnama(“Rudy Eriyanto & Pulung Bagaskoro”);
ap1.setip(3.5);
ap1.display();
}
}
{
public static void main(String[] args)
{
Inheritance2 ap1=new Inheritance2();
ap1.setna(“56410268 & 55410416″);
ap1.setnama(“Rudy Eriyanto & Pulung Bagaskoro”);
ap1.setip(3.5);
ap1.display();
}
}
“Kemudian
compile dan run program tersebut, maka akan menghasilkan output seperti ini :
Polymorphism
( Banyak Bentuk )
Polymorphism, 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 Polymorphism
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.
Polymorphism
dapat disamakan dengan Method Overloading, dimana di dalam sebuah class
terdapat beberapa method dengan nama sama. Sebuah Method bernama CetakData()
yang misalnya berfungsi menampilkan data String, tentu tidak bisa menangani
masukan berupa data numerik, boolean, ataupun karakter, demikian juga
sebaliknya. Solusi yang bisa dilakukan adalah dengan menyediakan beberapa
Method CetakData() yang akan menangani setiap tipe data, sehingga data apapun
yang diberikan sebagai parameter tetap bisa diproses.
Berikut adalah contoh program Polymorphism pada Java:
Berikut adalah contoh program Polymorphism pada Java:
Contoh Program
- Simpan dengan nama CetakDataTipe.java
class
CetakDataTipe {
// membuat
method dengan nama sama tapi berbeda tipe data
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
- Simpan dengan nama Polymorphism.java
public class
Polymorphism {
public
static void main(String[] args) {
CetakDataTipe data = new CetakDataTipe();
CetakDataTipe data = new CetakDataTipe();
System.out.print(“Cetak
Data Tipe String : “);
data.CetakData(“Sumatra”);
data.CetakData(“Sumatra”);
System.out.print(“Cetak
Data Tipe Integer : “);
data.CetakData(1989);
data.CetakData(1989);
System.out.print(“Cetak
Data Tipe Double : “);
data.CetakData(16.5 / 2);
data.CetakData(16.5 / 2);
System.out.print(“Cetak
Data Tipe Char : “);
data.CetakData(‘N’);
}
}
data.CetakData(‘N’);
}
}
“Kemudian
compile dan run program tersebut, maka akan menghasilkan output seperti ini :
Enkapsulasi (Pembungkusan)
Enkapsulasi/ Pembungkusan (Encapsulation)
Enkapsulasi merupakan suatu cara pembungkusan data dan method yang menyusun suatu kelas sehingga kelas dapat dipandang sebagai suatu modul dan cara bagaimana menyembunyikan informasi detail dari suatu class (information hiding). Dalam OOP, enkapsulasi sangat penting untuk keamanan serta menghindari kesalahan permrograman, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dua hal yang mendasar dalam enkapsulasi yakni :
• Information hiding.
• Interface to access data.
Information hiding
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.
Interface to access data
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.
Manfaat utama teknik encapsulation adalah kita mampu memodifikasi kode tanpa merusak kode yang telah digunakan pada class lain.
Enkapsulasi memiliki manfaat sebagai berikut:
> Modularitas
Source code dari sebuah class dapat dikelola secara independen dari source code class yang lain. Perubahan internal pada sebuah class tidak akan berpengaruh bagi class yang menggunakannya.
> Information Hiding
Penyembunyian informasi yang tidak perlu diketahui objek lain.
Contoh program :
Buatlah sebuah kelas baru dan simpanlah dengan nama mahasiswa.java, berikut contoh syntaxnya :
class mahasiswa {
public String sevenbelle;
public mahasiswa(String n){
this.sevenbelle = n;
}
public String tampilkansevenbelle(){
return sevenbelle;
}
public void fakultas(){
System.out.println("teknik industri ");
}
public void jurusan(){
System.out.println("teknik informatika ");
}
private void tingkat(){
System.out.println("dua");
}
}
Kemudian, buatlah satu kelas baru lagi dengan nama sevenbelle, berikut merupakan syntaxnya:
class sevenbelle {
public static void main(String arg[]){
mahasiswa kelas= new mahasiswa("sevenbelle");
System.out.println("Kelas saya : "+ kelas.tampilkansevenbelle());
kelas.fakultas();
kelas.jurusan();
}
}
Outputnya:
Enkapsulasi/ Pembungkusan (Encapsulation)
Enkapsulasi merupakan suatu cara pembungkusan data dan method yang menyusun suatu kelas sehingga kelas dapat dipandang sebagai suatu modul dan cara bagaimana menyembunyikan informasi detail dari suatu class (information hiding). Dalam OOP, enkapsulasi sangat penting untuk keamanan serta menghindari kesalahan permrograman, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dua hal yang mendasar dalam enkapsulasi yakni :
• Information hiding.
• Interface to access data.
Information hiding
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.
Interface to access data
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.
Manfaat utama teknik encapsulation adalah kita mampu memodifikasi kode tanpa merusak kode yang telah digunakan pada class lain.
Enkapsulasi memiliki manfaat sebagai berikut:
> Modularitas
Source code dari sebuah class dapat dikelola secara independen dari source code class yang lain. Perubahan internal pada sebuah class tidak akan berpengaruh bagi class yang menggunakannya.
> Information Hiding
Penyembunyian informasi yang tidak perlu diketahui objek lain.
Contoh program :
Buatlah sebuah kelas baru dan simpanlah dengan nama mahasiswa.java, berikut contoh syntaxnya :
class mahasiswa {
public String sevenbelle;
public mahasiswa(String n){
this.sevenbelle = n;
}
public String tampilkansevenbelle(){
return sevenbelle;
}
public void fakultas(){
System.out.println("teknik industri ");
}
public void jurusan(){
System.out.println("teknik informatika ");
}
private void tingkat(){
System.out.println("dua");
}
}
Kemudian, buatlah satu kelas baru lagi dengan nama sevenbelle, berikut merupakan syntaxnya:
class sevenbelle {
public static void main(String arg[]){
mahasiswa kelas= new mahasiswa("sevenbelle");
System.out.println("Kelas saya : "+ kelas.tampilkansevenbelle());
kelas.fakultas();
kelas.jurusan();
}
}
Outputnya:
gambar : 1
gambar : 2
gambar : 3
REFERENSI :
- http://ebookrudy.wordpress.com/2012/04/19/pengertian-inheritance-dan-polymorphism-beserta-contoh-program/
- http://barrardliverpool.blogspot.com/2012/04/pengertian-enkapsulasi-dan-contoh.html


Tidak ada komentar:
Posting Komentar