Halaman

Selasa, 16 Desember 2008

Object Oriented Programming (OOP)

ditulis oleh Elly Mufida
Program Pasca Sarjana Nusa Mandiri

Semua bahasa pemrograman terdiri dari code dan data. Code yang dimaksud disini adalah proses logis program, sedangkan data dapat berupa variabel atau konstanta. Selanjutnya code dan data tersebut diatur sedemikian rupa sehingga dapat bekerjasama untuk menghasilkan keluaran sesuai
dengan proses yang diinginkan.

Pada model pemrograman prosedural, Semua data dan code digabungkan menjadi satu bagian dalam sebuah program. Untuk program-program sederhana yang hanya membutuhkan beberapa baris code, penggunaan model ini masih relevan untuk digunakan. Namun untuk permasalahan yang sangat kompleks, yang mungkin memerlukan ratusan bahkan ribuan code, pemrograman prosedural tersebut sudah menjadi sangat tidak relevan. Untuk alasan inilah kemudian dikembangkan metode pemrograman baru yang dikenal dengan pemrograman berbasiskan objek (Object Oriented Programming).

Object oriented programming
(OOP) merupakan sebuah bentuk pemrograman yang memodelkan masalah dengan pendekatan object. Maksudnya adalah segala sesuatu yang dibuat pada program ini baik yang visual maupun yang non-visual akan dipandang sebagai object. Contohnya adalah bahasa pemrograman C dan Java.


Konsep Pemrograman Berorientasi Object.
Konsep dasar dari pemrograman berorientasi object adalah Class, Pembungkusan (Encapsulation), Pewarisan (Inheritence), Polymorphisme (Overloading dan Overriding), Package, Interface.

1. Class

Class merupakan salah satu konsep fundamental pemrograman berorientasi object, class dapat diilustrasikan sebagai suatu cetak biru (blueprint) atau prototipe yang digunakan untuk menciptakan object. Sebuah class mendefinisikan satu set elemen data (yang biasa disebut dengan atribut) dan perilaku atau fungsi (yang biasa disebut dengan method) yang digunakan untuk memanipulasi obyek atau melakukan interaksi antar obyek. Atribut dan method ini secara bersama-sama dikenal sebagai anggota object.
Class merupakan inti dari pemrograman Java, karena Java adalah bahasa pemrograman yang mendukung dan mengimplementasikan konsep OOP dengan sepenuhnya. Setiap program Java adalah class, ini artinya setiap konsep atau kasus yang akan diimplementasikan dalam Java, haruslah dibungkus dalam sebuah class.
berikut ini akan dijelaskan konsep-konsep yang ada dalam sebuah class yaitu: method, Constructor dan object.

a. Method adalah implementasi dari bagaimana cara bekerjanya class. Hal-hal yang dapat dilakukan didalam method adalah manipulasi data, perhitungan matematika, serta memonitor kejadian dari suatu event.

b. Konstructor adalah sebuah method khusus yang biasa digunakan untuk menetapkan status awal manakala object diciptakan. Ada beberapa catatan penting yang harus diperhatikan dalam pendeklarasian konstructor. Pertama, nama konstructor harus sama dengan nama class. kedua, konstructor boleh memiliki argumen lebih dari satu atau tidak sama sekali. Ketiga, konstructor tidak boleh mengembalikan suatu nilai.

c. Object adalah entitas dasar saat runtime. Pada saat code program dieksekusi, object berinteraksi satu sama lain tanpa harus mengetahui detil data atau code-nya. Interaksi antara object ini dilakukan menggunakan suatu message. Object memiliki suatu siklus hidup, yaitu diciptakan, dimanipulasi, dan dihancurkan.


2. Pewarisan (Inheritance)

Inheritance adalah pewarisan yang artinya sebuah class dapat mewarisi atribut dan method dari class lain yang masih sejenis, sebagai contoh dalam dunia nyata adalah class hewan menurunkan sifat dan kemampuannya kepada class hewan mamalia, class hewan bertulang belakang dll, class Hewan sebagai superclass dan mewarisi atribut juga methode-nya kepada hewan mamalia sebagai subclass.
Kita dapat mendefinisikan suatu class baru dengan mewarisi sifat dari class lain yang sudah ada. Penurunan sifat ini bisa dilakukan secara bertingkat-tingkat, sehingga semakin ke bawah class tersebut menjadi semakin spesifik. Sub-class memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari class supernya. Dengan konsep pewarisan, seorang programmer dapat menggunakan code yang telah ditulisnya pada class super berulang kali pada class-class turunannya tanpa harus menulis ulang semua code itu.


3. Polymorphisme (Overloading dan Overriding)

Polymorhpisme berarti kemampuan untuk mengambil beberapa bentuk. Dalam konsep pemrograman, hal tersebut berarti kemampuan dari sebuah variable dengan tipe tertentu untuk mengacu ke tipe object yang berbeda. Pada prakteknya, terdapat dua jenis polimorphisme, yaitu overloading dan overiding. Overloading adalah proses pendefinisian method dengan nama yang sama dengan instansiasi variabel berbeda. Sedangkan overiding Terjadi ketika deklarasi method subclass sama dengan method dari superclassnya


4. Package

Package dapat diilustrasikan sebagai sebuah folder tempat dimana disimpan semua class dan interface yang saling berhubungan. Kegunaan utama package adalah untuk menghindari adanya kesamaan nama pada class-class yang dibuat.


5. Interface
Dalam bahasa inggris, interface didefinisikan sebagai sebuah alat atau sistem yang digunakan oleh entitas lain untuk dapat saling berinteraksi. Dalam OOP, interface didefinisikan sebagai protokol atau penghubung antar object yang sebenarnya tidak memilliki relasi. Sebuah object dapat mengimplementasikan lebih dari satu interface.
Secara teknis, interface merupakan wadah dari sekumpulan method yang bersifat abstrak, atau tidak memiliki implementasi sama sekali.