08/03/09

Membangun Sebuah Paradigma Pemrograman Berbasis Objek

Wuih kayaknya serius amat ya judulnya, padahal Q sendiri ja bingung ngartiinya,hehehehe... Yap kali ini Q bakal agak serius dikit, soalnya pemahaman tentang konsep Object Oriented ini sangat penting sekali bagi kita yang pengen dan berminat buat mgembangin ato melajarin yang namanya bahasa pemrograman. Allright lets get it started...

Untuk lebih mudah memahami, Q sendiri dalam mempelajari Object ini membagi hal-hal yang harus dimengerti,yaitu: (1.)Abstraksi, (2.) Elemen Dalam Sebuah Objek, dan (3.) Konsep Pemrograman Berbasis Objek.

1. ABSTRAKSI

Abstraksi tu suatu cara di mana kita ngliat suatu objek dalam bentuk yang lebih sederhana. Contohnya, kita nggak ngliat mobil sebagai kumpulan ato ribuan komponen elektronik, mekanik dengan 4 buah ban, besi, jok, stir kemudi, ato lain sebagainya yang dibuat sedemikian hingga dinamain mobil. Walopun kenyataanya demikian, namun kita ngliat mobil sebagai suatu entitas yang punya sifat dan karakteristik tersendiri. Dengan pemikiran seperti ini, kita dapat ngendarain mobil tanpa perlu mikirin betapa rumitnya komponen yang menyusun sistem mobil itu sendiri. Dengan demikian, kita nggak ngliat bagian-bagian dalam sebuah mobil sebagai suatu bagian yang berdiri sendiri-sendiri, tetapi ngliat dan mggunainya sebagai satu kesatuan.
Dengan abstraksi, kita juga dapat ngliat suatu sistem yang kompleks sebagai kumpulan subsistem yang lebih sedehana. Seperti halnya mobil merupakan suatu sistem yang sebenarnya terdidri atas berbagai subsistem, seperti subsistem perapian, subsistem kemudi, subsistem pengereman, dan lain sebagainya. Dari sini kita ngliat bahwa subsistem-subsistem tersebut masing-masing memeiliki sifat dan karakteristik yang unik, namun saling berinteraksi dan bekerjasama menjadi satu kesatuan yang dikenal sebagai suatu entitas, yaitu mobil.
Pehaman terhadap objek-objek di sekitar kita inilah yang akan mendasari pemahaman akan OOP. Yang paling penting adalah bagaimana mentransformaikan apa yang diketahui tentang suatu objek menjadi suatu program, oke cuy...

2. ELEMEN DALAM SEBUAH OBJEK :
State dan Behavior

Setiap objek selalu memiliki suatu keadaan (state) dan behavior yang bisa ngubah state tersebut. Contohnya, manusia memiliki state, antara lain umur, tinggi, berat dan lain sebagainya. Demikian juga behavior yang dimiliki oleh manusia bisa berupa makan, tidur, bekerja, dan menjadi tua. Behaviour ini bisa ngubah ato nggak sama skali state yang dimiliki oleh suatu objek, baik secara langsung atopun tak langsung. Secara sederhana, kita dapat menganggap state sebagai suatu kata "benda" karena sifatnya yang pasif, ia tidak melakukan operasi, tetapi padanya justru dilakuin suatu operasi. Demikian pula behaviour, kita dapat menganggapnya sebagai kata "kerja" karena ia berfungsi untuk melakukan suatu operasi, bertindak, ato ngerjain sesuatu. Dalam Java State dikenal dengan properties ato field, sedangkan behaviour disebut method.

3. KONSEP PEMROGRAMAN BERBASIS OBJEK :
Enkapsulasi, Pewarisan, Polymorphism

ENKAPSULASI adalah suatu mekanisme untuk menyembunyikan ato memproteksi suatu proses dari kemungkianan interferensi atau penyalahgunaan dari luar sistem sekaligus menyederhanakan pengguanaan sistem itu sendiri. Akses ke internal sistem diatur melalui perangkat interface. Contohnya adalah dalam mobil, ia punya subsistem transmisi. Subsistem inilah yang menyembunyikan betapa rumitnya proses penggantian gigi transmisi, bagaimana ia mengatur kecepatan, dan lain sebagainya. Kita sebagai user hanya tahu memindahkan tongkat transmisi, tongkat inilah yang menjadi satu-satunya interface dalam mengatur transmisi tersebut.

PEWARISAN adalah penurunan sifat-sifat yang dimiliki oleh behaviour. Sebagai contoh adalah anjing, kucing, singa adalah hewan mamalia. Jika kita membuat sebuah class mamalia, maka class ini sudah cukup untuk mewakilinya. Hal ini berfungsi untuk mengefisienkan pengguanaan memory dan menyederhanakan code.

POLYMORPHISM berasal dari bahasa yunani yang berarti banyak bentuk. Dalam OOP, konnsep ini memungkinkan digunakanya suatu interface yang sama untuk memerinytah suatu objek agar melakuakan suatu aksi ato tindakan yang mungkin memberikan hasil akhir serupa, tetapi melalui proses yang berbeda. Dalam konsep yang lebih umum seringkali polymorphism disebut dengan istilah "satu interface, banyak aksi". Contoh yang kongkrit dalam dunia nyata adalah banyak sekali jenis mobil. Harus ditekankan disini bahawa interface yang sama belum tentu cara kerjanya sama. kita tahu cara nekan pedal gas, maka mobil akan lebih kencang. Namun gimana proses ini terjadi, dapat bebeda-beda untuk setiap mobil.
Dengan interface yang sama, kita akan dapat hasil yang sama, tetapi bagaimana proses yang terjadi dari aksi menjadi hasil, mungkin saja berbeda. Dalam kasus mobil diatas, hal ini bergantung dengan teknologidan bahan bakar yang digunakan.

Ni salah satu contoh dari pemanfaatan class...

class Teman
{
String nama;
String panggilan;
}

class DemoTeman
{
public static void main (String[] args)
{
Teman a, b;
a = new Teman();
b = new Teman();

a.nama = "Welly Agung";
a.panggilan = "Iteng";


b.nama = "Anis Prabowo";
b.panggilan = "Gundos";

System.out.println("Nama asli : " + a.nama + "Panggilanya : " + a.panggilan);


System.out.println("Nama asli : " + b.nama + "Panggilanya : " + b.panggilan);
}
}

Tidak ada komentar:

Posting Komentar