Jumat, 17 Juni 2011

Konsep Pemrograman Berorientasi Objek


Konsep Pemrograman Berorientasi Objek
Oleh : Teguh Santoso
Abstrak

Untuk dapat menguasai pemrograman Java, harus mengerti dengan baik konsep pemrograman berorientasi objek, karena Java merupakan bahasa pemrograman berorientasi objek. Pada bagian ini akan dibahas konsep-konsep penting dalam pemrograman berorientasi objek, sehingga diharapkan kita akan lebih mudah dalam mempelajari bahasa Java. Belajar PBO, berarti harus membiasakan diri berpikir secara kelas dan objek setiap menghadapi masalah.

Kata kunci : pemrograman berorientasi objek

Pendahuluan
Objek
Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek , yaitu : Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state. Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour. Contoh sederhananya adalah : objek sepeda Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna. Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda. Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur.

Class
Class berbeda dengan objek. Class merupakan prototipe yang mendefinisikan variabel-variabel dan method-method secara umum. Sedangkan objek pada sisi yang lain merupakan instansiasi dari suatu kelas.

Enkapsulasi
Dalam sebuah objek yang mengandung variabel-variabel dan methodmethod, 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. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain.
Manfaat dari proses enkapsulasi adalah :
Modularitas
Kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain.
Information Hiding
Karena kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.

Inheritance
Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi. Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state ( variabel-variabel ) dan behaviour ( methodmethod) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override ) state dan behaviour yang diturunkan oleh superclass-nya.
Keuntungan dari inheritance adalah :
Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada. Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
Istilah dalam inheritance yang perlu diperhatikan :
Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.
Superclass
Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.
Subclass
Subclass adalah class anak atau turunan secara hirarki dari superclass.
Super
Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.
Methode Overriding
Pendefinisian ulang method yang sama pada subclass.

Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama.

Polimorfisme
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah :
-          Method yang dipanggil harus melalui variabel dari basis class atau superclass.
-          Method yang dipanggil harus juga menjadi method dari basis class.
-          Signature method harus sama baik pada superclass maupun subclass.
-          Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.

Interface
Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk komunikasi antar objek berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol komunikasi antar objek tersebut.



Metode Penelitian
Contoh program
class Buku {
String pengarang;
String judul;
void Isi(String isi1,String isi2) {
judul = isi1;
pengarang = isi2;
}
void CetakKeLayar() {
if(judul==null && pengarang==null) return;
System.out.println("Judul : " + judul +
", pengarang : " + pengarang);
}
}
class Karangan {
public static void main(String[] args) {
Buku a,b,c,d;
a = b = c = d = new Buku();
a.Isi("Pemrograman Java","Asep Herman Suyanto");
a.CetakKeLayar();
b.Isi(null,null);
b.CetakKeLayar();
c.Isi(null,"Johan Prasetyo Hendriyanto");
c.CetakKeLayar();
d.Isi("Pemrograman Web",null);
d.CetakKeLayar();
}
}

Hasil Dan Pembahasan
Apapun konsep yang diimplementasikan di java harus dikapsulkan ke dalam kelas. Kelas mendefinisikan sekumpulan objek yang memiliki kesamaan keadaan dan perilaku. Ada dua kelompok kelas, yaitu kelas standard dan kelas yang didefinisikan sendiri. Kumpulan dari method/kelas standard dalam java dikenal dengan API (Aplication Programming Interface).

Kesimpulan
Pemrograman berorientasi objek merupakan suatu pendekatan pemrograman yang menggunakan objek dan class. Saat ini konsep PBO sudah semakin berkembang. PBO bukanlah sekedar cara penulisan sintaks program yang berbeda, namun lebih dari itu, PBO merupakan cara pandang dalam menganalisa sistem dan permasalahan program. Dalam PBO, setiap bagian dari program adalah objek. Sebuah objek mewakili suatu bagian program yang akan diselesaikan.
Beberapa konsep PBO dasar, antara lain :
1.      Encapsulation (Class dan Object)
2.      inheritance (peurunan sifat)
3.      polymorphisme
4.      interface

Daftar Pustaka
Diktat kuliah pemrograman web 2ver 1.0
Catatan kuliah PBO, dari buku Lipmann :”C++ primer, second edition”, Addison Wesley 1991
Modul kuliah PBO dengan bahasa pemrograman Java
Load disqus comments

0 komentar