Dalam bahasa pemrograman berorientik objek, program dibagi menjadi objek-objek yang saling
berinteraksi satu sama lain. Objek adalah benda, baik benda yang berwujud nyata maupun yang
tidak nyata (abstrak).
Konsep-konsep dasar yang mendasari pemrograman berorientasi objek adalah:
INHERITANCE (Pewarisan)
Inheritance adalah penurunan atribut dan method dari suatu kelas super/kelas induk ke sub
kelas/kelas anak yang bersifat menyeluruh sehinggal semua atribut dan method yang dimiliki
kelas super dapat diturunkan ke sub kelas.
ENCAPSULATION (Pengkapsulan)
Encapsulation adalah suatu kemampuan dalam pemrograman berorientasi objek untuk
menyembunyikan atribut dan method suatu objek dari objek lain yang tujuannya agar orang lain
tidak mengetahui bagaimana detil implementasi (listing program) dari suatu modul. Dalam
pemrograman, Encapsulation ini lebih dikenal dengan istilah Information Hiding.
Pengkapsulan dilakukan dengan cara memberikan modifier PRIVATE pada suatu method juga
variabel. Method untuk memberikan nilai pada suatu atribut private biasanya diawali dengan
kata "set" sedangkan untuk mengambil nilai diawali dengan kata "get".
POLYMORPHISM
Polymorphism (polimorfisme) bermakna satu kata tapi memiliki banyak arti. Dalam pemrograman,
istilah ini dapat diartikan sebagai modul yang memiliki nama yang sama namun memiliki
tingkah laku yang berbeda sehingga implementasinya berbeda. Sebagai contoh dapat
diilustrasikan pada kata "mentah" berikut ini:
1. Sayuran itu masih mentah.
2. Pukulan petinju itu berhasil dimentahkan lawannya.
3. Gagasan itu masih mentah sehingga perlu dibahas kembali.
Contoh Program:
INHERITANCE (Pewarisan).
SuperClass.java:
public class SuperClass {
public SuperClass () {
System.out.println("Ini Konstruktor milik SuperClass");
}
public void methodSuperClass() {
System.out.println("ini method milik SuperClass");
}
SubClass.java:
public class SubClass extends SuperClass {
public SubClass() {
super();
}
public void methodSubClass() {
super.methodSuperClass();
}
}
}
DemoInheritance.java:
public class DemoInheritance {
public static void main(String[] args){
SubClass sc=new SubClass();
sc.methodSubClass();
}
}
ENCAPSULATION (Pengkapsulan).
Persegi.java:
public class Persegi {
private double panjang; //atribut yang disembunyikan
private double lebar; //atribut yang disembunyikan
private double tinggi; //atribut yang disembunyikan
public Persegi(){
panjang = 0;
lebar = 0;
}
private double luas (double p,double l) {
return p*l;
}
public void SetPanjang(double panjang1) {
this.panjang = panjang1;
}
public void SetLebar(double lebar1) {
this.lebar = lebar1;
}
public double getPanjang() {
return panjang;
}
public double getLebar() {
return lebar;
}
public double getLuas() {
return luas(panjang,lebar);
}
}
MainPersegi.java:
public class MainPersegi {
public static void main(String[] args) {
Persegi pg = new Persegi();
pg.SetPanjang(10);
pg.SetLebar(20);
System.out.println ("Panjang: "+pg.getPanjang());
System.out.println ("Lebar: "+pg.getLebar());
System.out.println ("Luas: "+pg.getLuas());
}
}
POLYMORPHISM.
Karyawan.java:
abstract class Karyawan {
int gaji;
Karyawan() {
gaji = 1000000;
}
int getGaji() {
return gaji;
}
abstract void naikGaji();
}
Manager.java:
class Manager extends Karyawan {
Manager() {
gaji += 2000000;
}
void naikGaji() { gaji+=3000000; }
}
Receptionist.java:
class Receptionist extends Karyawan {
Receptionist() {
gaji +=1000000;
}
void naikGaji() { gaji +=1000000; }
}
Polymorphisme.java:
class Polymorphisme {
public static void main (String[] args) {
Karyawan K[] = new Karyawan[3];
K[0] = new Manager();
K[1] = new Receptionist();
K[2] = new Manager();
for (int i=0;i<3;i++)
System.out.println ("Gaji Karyawan "+i+" adalah " +K[i].getGaji());
for (int i=0;i<3;i++)
K[i].naikGaji();
for (int i=0;i<3;i++)
System.out.println ("Gaji Sekarang "+i+" adalah " +K[i].getGaji());
}
}
