Anda di halaman 1dari 11

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP)

Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:


a. Abstraksi (abstraction)
b. Pembungkusan (encapsulation)
c. Pewarisan (inheritence)
d. Polimorfisme banyakrupa (polymorphism)

A. Abstraksi (abstraction).
Abstraksi adalah pengabstrakan atau penyembunyian kerumitan suatu proses.
Abstraksi menjelaskan definisi dari objek pada class dalam suatu fungsi (method) atau
fungsi khusus (constructor). Sebuah kelas dapat dideklarasikan sebagai kelas abstrak.
Tujuan membuat kelas abstrak adalah agar satu kelas lain dapat memperluasnya (extend)
dengan jalan menjadi subclass darinya.
Contoh Abstraksi:
Contoh berikut akan menjelaskan penggunaan class abstrak dalam pemrograman
Objek dalam Java. Kelas abstrak yang dibuat adalah kelas Animal, kemudian dengan dua
jenis variabel, jumlah kaki dan warna. Ditambahkan method berdasarkan cara jalan dan
suaranya
public abstract class Hewan {
private int jmlKaki;
private Color warna;
public abstract void jalan();
public abstract void suara();
}
1

2
B. Pembungkusan (encapsulation).
Selain dengan menggunakan metoda abstraksi dalam menyembunyikan method
pada super class, maka juga dapat dilakukan dengan proses pembungkusan suatu fungsi.
Dengan kata lain, sebenarnya proses pembungkusan itu sendiri merupakan salah satu
metoda atau mekanisme untuk melakukan abstraksi.
Dalam pemrograman tradisional, proses semacam ini sering juga disebut dengan
penyembunyian informasi (information hiding).
Dalam melakukan pembungkusan kode dan data dalam java terdapat tiga tingkatan
akses data yang perlu diketahui yaitu:
Engkapsulasi berhubungan class control yang diberlakukan terhadap class member yang
ada di dalamnya
1. Tingkat akses Private.
2. Tingkat akses Protected.
3. Tingkat akses Public.
1. Tingkat Akses Privtae ( Encapsulation- Private)
Akses Private berarti bahwa method yang digunakan hanya dapat diakses oleh
kelas yang memilikinya.
Dengan mendeklarasikan data dan method menggunakan akses private, ini berarti
data dan method tersebut tidak boleh diakses atau dignakan oleh kelas-kelas lain
yang terdapat di dalam program.

Sebuah variabel atau method yang dideklarasikan private hanya dapat diakses
oleh method yang merupakan member dari kelas tersebut. Ia tidak dapat diakses
oleh kelas lain yang berada di dalam package yang sama ataupun di lain package.
Untuk mendeklarasikan suatu data atau method dengan tingkat akses private,
digunakan kata kunci private.
Contoh Tingkat Akses Privtae ( Encapsulation- Private)

Gambar 1

Gambar 2

Penjelasan:
Sebagai contoh dalam gambar 1, atribut d dalam kelas Class1dideklarasikan
private. Akibatnya, kelas Class2 yang berada dalam package yang sama
(package1) tidak dapat mengakses atribut tersebut.
Begitu juga dengan kelas SubClass1 yang merupakan subclass dari kelas Class1
tidak dapat mengakses variabel d tersebut.
Dalam gambar 2, variabel d dalam kelas Class1 juga dideklarasikan private. Kelas
Class2 ataupun kelas SubClass1 yang berada di dalam package yang berbeda
tidak dapat mengakses atribut ini.

5
2. Tingkat Akses Privtae ( Encapsulation- Protected)
Suatu data maupun method yang dideklarasikan dengan tingkat akses protected
dapat diakses oleh kelas yang memilikinya dan juga oleh kelas-kelas yang masih
memiliki hubungan turunan.
Access control protected berarti member dapat diakses oleh kelas yang berada
dalam package yang sama dan subclass yang berada di dalam package yang
berbeda.
Untuk mendeklarasikan tipe data atau method protected digunakan kata kunci
protected.

Gambar 3

Gambar 4

Penjelasan :
Dalam gambar 3, atribut c dalam kelas Class1 dideklarasikanprotected.
Akibatnya, kelas Class2 yang berada dalam package yang sama (package1) dapat
mengakses atribut tersebut. Begitu juga dengan kelas SubClass1 yang merupakan
subclass dari kelas Class1 dapat mengakses variabel d tersebut.
Dalam gambar 4, variabel c dalam kelas Class1 juga di-markprotected. Kelas
Class2 tidak dapat mengakses atribut ini karena ia berada di package yang
berbeda. Tetapi SubClass1 dapat mengakses atribut ini karena meskipun ia berada
di dalam package yang berbeda, ia merupakan subclass dari kelas Class1.
3. Tingkat Akses Public (Encapsulation-Public)
Tingkat akses publik merupakan kebalikan dari tingkat akses private.
Data dan method yang bersifat public dapat diakses oleh semua bagian dalam
program.

7
Dengan kata lain, data-data maupun method-method yang dideklarasikan dengan
tingkat akses publik akan dikenali dan diakses oleh semua kelas yang ada di
dalam program, baik yang merupakan kelas turunan maupun kelas yang tidak
memiliki hubungan sama sekali.

Gambar 5

Gambar 6

8
Penjelasan:
Dalam gambar 5, atribut b dalam kelas Class1 dideklarasikan public.
Kelas yang berada dalam package yang sama (Class2 dan SubClass1) dapat
mengakses atribut tersebut.

Dalam gambar 6, variabel b dalam kelas Class1 juga dideklarasikan public. Kelas
Class2 dan SubClass1 yang berada di dalam package yang berbeda dapat
mengakses variabel b.

C. Pewarisan (inheritance).
Model Pemrograman berorientasi objek juga menerapkan konsep pewarisan.
Dalam sebuah program, suatu kelas dapat diturunkan menjadi kelas-kelas baru
lainnya yang akan mewarisi beberapa sifat atau perilaku dari kelas induknya.
Semua class dalam Java, termasuk class yang membangun Java API, merupakan
subclass dari superclass Object.

9
Contoh dari hierarki class :

Gambar 7
Pewarisan ( inheritance) terdiri dari :
1. Superclass
Adalah class yang letaknya di atas class tertentu di dalam hierarki.
2. Subclass
Adalah class yang letaknya di bawah class tertentu di dalam hierarki.
Untuk mengambil sebuah class, gunakan keyword extends.
Keuntungan penggunaan Inheritance dalam OOP adalah : Reusability.
Reusability maksudnya yaitu:
1. Ketika behavior(method) dideklarasikan dalam superclass, behavior tersebut
otomatis diwariskan ke seluruh subclass.

10
2. Jadi, Anda dapat meng-enkode method hanya sekali dan method tersebut dapat
digunakan oleh seluruh subclass
3. Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya
sendiri dan parent-nya.

D. Polimorfisme banyakrupa (polymorphism).


Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda,
diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih
method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada
subclass yang memiliki method bersangkutan.
Pada contoh ini, kita diberikan parent class yaitu Person dan subclassnya adalah Student,
sekarang kita tambahkan subclass lainnya dari Person yaitu Employee.
Berikut adalah hirarki class nya:

Gambar 8
Dalam Java, kita dapat membuat referensi dari suatu superclass ke object dari
subclassnya. Sebagai contoh :

11
public static main( String[] args ) {
Person ref;
Student studentObject = new Student();
Employee employeeObject = new Employee();
ref = studentObject; //titik referensi Person kepada
// sebuah object Student
}

Misalnya, kita memiliki sebuah method getName dalam superclass Person. Dan kita
meng-override method ini di kedua subclass yaitu Student dan Employee.
public class Student {
public String getName(){
System.out.println(Student Name: + name);
return name;
}
}
public class Employee {
public String getName(){
System.out.println(Employee Name: + name);
return name;
}
}

Anda mungkin juga menyukai