Kamis, 27 Mei 2010

Tiga Pilar PBO dan contoh sederhana dalam bahasa pemrograman Java

1. INHERITANCE

Salah satu konsep terpenting dalam pemrograman berorientasi objek adalah konsep pewarisan, di mana kita menciptakan kelas baru dari satu atau lebih kelas yang sudah ada. Kosekuensinya adalah terjadi pewarisan field/method tertentu dari kelas yang sudah ada sebelumnya (superclass/baseclass) kepada kelas yang baru (subclass).

Oleh karena itu kelas yang baru/kelas turunan akan sangat mirip dengan kelas induknya sehingga jika kita ingin kelas turunan berbeda dengan induknya, Kita harus menambahkan field atau method baru pada kelas ini.

Contoh dalam JAVA :

public class silinder

{ // ini akan diwariskan ke turunanya

protected int radius;

protected int tinggi;

// konstruktor

public silinder (int r , int h)

{

radius=r;

tinggi=h;

}

private double getVolume ()

{

return Math.PI*radius*radius*tinggi;

}

}

public class kapsul extends silinder

{

int cembungan; // bagian dari alas dan tutup yang melengkung keluar

public kapsul (int r int h, int c)

{

super(r.h) ;

cembungan=c;

}

private float getVolume()

{

//detail penghitungan volume kapsul

}


2. Enkapsulasi

Enkapsulasi adalah pembungkus, 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.

Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.

Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.

Contoh dalam program

Belajar.Java

class belajar{

public String x =”Pintar”;

private String y = “Java”;

}

Pintar.Java

public class Pintar{

public static void main(String[]args){

Coba panggil = new Belajar();

System.out.println(“Panggil X : “+panggil.x);

System.out.println(“Panggil Y : “+panggil.y);

}

}

Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam class Coba pada variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar. Sedangkan variable y yang menggunakan fungsi private tidak dapat dipanggil didalam class Belajar.


3. POLIMORPHISME

Adalah kemampuan sebuah variable dari suatu tipe/kelas untuk digunakan sebagai rujukan/acuan objek dari tipe yang berbeda, dan secara otomatis dapat memanggil method yang spesifik untuk tiap tipe itu.

Contoh dalam JAVA :

Program.Binatang.java

public class Binatang

{

Binatang (String jenis)

{

this.jenis=jenis;

}

protected void suara ()

{

}

public String toString()

{

return “seekor”+ jenis;

}

private String jenis;

}

Program Burung.java

public class Burung extends Binatang

{

Burung(String nama)

{

super(“Burung”);

this.nama=nama;

}

public void suara()

{

System.out.println(“berkicau”);

}

public String toString()

{

return super.toString()+” “+nama;

}

private String nama;

}

Program Kambing.java

public class Kambing extends Binatang

{

Kambing(String nama)

{

super(“Kambing”);

this.nama=nama;

}

public void suara()

{

System.out.println(“mengembik”);

}

public String toString()

{

return super.toString()+” “+nama;

}

private String nama;

}

Program Kucing.java

public class Kucing extends Binatang

{

Kucing(String nama)

{

Super(“Kucing”);

This.nama=nama;

}

public void suara()

{

System.out.println(“mengeong”);

}

public String toString()

{

return super.toString()+” “+nama;

}

private String nama;

}

Program Anjing.java

public class Anjing extends Binatang

{

Anjing(String nama)

{

Uper(“Anjing”);

This.nama=nama;

}

public void suara()

{

System.out.println(“menggonggong”);

}

public String toString()

{

Return super.toString()+” “+nama;

}

private String nama;

}

Program Coba Polimorpic.java

import java.util.Random;

public class CobaPolimorpic

{

public static void main(String[] args)

{

Binatang [] peliharaanku={new Burung(“kutilang”),

New Kucing(“Angora”),

New Kambing(“etawa”),

New Anjing(“bulldog”) };

Binatang kesayangan;

Random pilihan=new Random();

// memilih secara accak

Kesayangan=peliharaanku[pilihan.nextInt(peliharaanku.length)];

System.out.println(“binatang kesayangan anda:”+kesayangan);

System.out.println(“suaranya:”);

Kesayangan.suara();

}

}

Hasil run program:

Binatang kesayamgan anda:seekor burung kutilang

Suaranya : berkicau

Penjelasan program:

Variabel random merupakan objek dari kelas Random, yang diimport

dari paket java.util. Fungsi variable ini adalah untuk mengambil bilangan acak, yaitu dengan memanggil method nextInt(i) dengan i adalah bilangan bulat. Method ini akan mengembalikan bilangan dari 0 sampai i-1.

Pada program diatas kita menampilkan informasi dari objek kesayangan dengan dengan menggunakan method println(). Ini secara implicit akan memanggil method toString.

1 komentar:

adihyuga mengatakan...

Ingin penjelasan lebih mengenai 3 pilar pbo ini silahkan klik
link : https://adiinformatika.blogspot.com/2020/04/tiga-pilar-pbo-pemrograman-berorientasi.html

Posting Komentar

Template Design by SkinCorner