RSS

Belajar java – Pengenalan Object Oriented Programming [OOP]

17 Dec

Memulai sesuatu yang diluar pemahaman kita itu tidak mudah tapi bukan berarti sesuatu yang diluar pemahaman kita adalah sesuatu hal yang tidak bisa kita pelajari. Bagi teman – teman yang baru memulai untuk memutuskan belajar bahasa pemprogaman JAVA (sama dengan sayašŸ˜€ ) saya ucapkan WELCOME my Friend, Good Decision and Keep Spirit !!!

Pada kesempatan kali ini , saya sedang mempelajari pemahaman mengenai apa itu Object Oriented Programming (OOP) melalui buku “Pemprograman berbasis objek dengan bahasa Java” yang dikarang oleh Indrajani dan Martin.Melalui buku tersebut, saya berusaha untuk memahami tentang Object Oriented Programming (OOP) yang dimulai dengan membahas apa itu Abstraksi , Elemen Objek (State And Behaviour), Konsep OOP ( Enkapsulasi , Pewarisan , dan Polymorphism) yang nantinya akan (InsyaALLAH) kita memiliki sedikit pemahaman mengenai apa ituĀ Object Oriented Programming (OOP) .

  • Abstraksi

Suatu cara di mana kita melihat sebuah obyek dalam bentuk yang lebih sederhana.

Dicontohkan sebagaimanaĀ  kita tidak melihat sebuah mobil sebagai sekumpulan dari berbagai macamĀ  elemen elektronik dilengkapi dengan 4 buah ban, stir kemudi, jok, dan elemen lainnya. Akan tetapi kita melihat mobil tersebut sebagai sebuah entitas yang memiliki sifat dan karakteristik yang unik. Dengan abstraksi kita dapat melihat sebuah sistem yang kompleks laksana sebuah mobil yang mengandung sistem yang memiliki berbagai subsistem seperti subsistem perapian, subsistem pengereman, subsistem penerangan dan berbagai subsistem lainnya. Masing – masing subsistem tersebut memiliki Karakteristik dan Sifat yang Unik yang saling berinteraksi.

  • Elemen sebuah Objek (State dan Behaviour)

Sebuah objek memiliki suatu keadaan (State) dan Behaviour yang dapat mengubah keadaan tersebut. Contoh saja Manusia yang memiliki state Umur, Tinggi, Berat, dsb dan Behaviour makan, tidur, olahraga, dsb. Behaviour dapat mengubah atau bahkan tidak mengubah sama sekali state yang dimiliki. Secara sederhana state dianggap sebagai “Kata benda” dan behaviour sebagai “Kata kerja” . Dalam implementasi pada bahasa java State akan lebih dikenal sebagi PROPERTIES / FIELD sedangkan behaviour dikenal sebagai sebuah “METHOD

  • KONSEP OOP ( Enkapsulasi , Pewarisan , Polymorphism)

Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau memproteksi sebuah proses dari kemungkinan interfensi atau penyalahgunaan dari luar sistem sekaligus menyederhanakan penggunaan sistem itu sendiri. ~ Buku referensi ~

Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebutĀ  ~Wikipedia~

Dengan menggunakan contoh mobil, bayangkan subsistem transmisi yang terdapat pada mobil. Sistem tersebut tidak memperlihatkan secara langsung bagaimana cara kerja sebuah transmisi, kita hanya mengerti (bagi yg tidak mengerti mesin) memindahkan tongkat transmisi untuk menambah atau mengurangi percepatan pada mobil. Nah,, Tongkat transmisi inilah yang menjadi penghubung atau interface dalam mengatur sistem tersebut karena kita tidak bisa menambah ataupun mengurangi percepatan dengan pedal rem. Pada implementasinya, kita dapat membuat sebuah objek yang lebih kecil dimana masing – masing objek mempunyai fungsi yang saling mendukung tersendiri sebagaimana contoh subsistem barusan.

  • Pewarisan

Suatu proses di mana suatu class diturunkan dari class lainnya sehingga ia mendapatkan ciri atau sifat dari class induknya.

Dengan menggunakan struktur hierarki Binatang , kita akan mencoba memahami mengenai konsep oop khususnya pada pewarisan. Class mamalia memiliki seluruh sifat yang dimiliki oleh class Binatang, hal tersebut juga berlaku pada class anjing, kucing, dan monyet yang memiliki sifat yang diturunkan oleh class mamalia. Dengan menggunakan konsep pewarisan ini, karakteristik class binatang cukup didefinisikan pada class binatang saja dan class mamalia tidak perlu menuliskan kembali apa yang dimiliki oleh class binatang karena sebagai class turunan maka otomatis class tersebut mendapatkan karakteristik induknya.

  • Polymorphism

Polymorphism memungkinkanĀ  penggunaan sebuah interface yang sama untuk memerintah sebuah objek agar melakukan aksi yang dapat menghasilkan satu tujuan dengan berbagai macam cara. Kembali pada contoh mobil , Mobil Honda memiliki berbagai merk dan tipe yang kesemuanya memiliki subsistem yang sama seperti sistem kemudi, transmisi, pedal rem. Jika seseorang dapat mengendarai salah satu tipe dan merk dari mobil honda maka dapat dipastikan seseorang tersebut dapat mengendarai jenis mobil yang sama. Yang menjadi perhatian dalam contoh tersebut adalah sistem yang sama bukan berarti cara kerjanya juga sama.

Contoh lain dari polymorphism yaitu apapun jenis kendaraan (mobil, truk ,van, sedan) tetap saja menggunakan istilah “mengendarai“.

  • mengendarai sedan
  • mengendarai truk
  • mengendarai Van

potongan kalimat diatas dapat digantikan hanya dengan potongan kalimat “Mengendarai kendaraan bermotor“. dalam struktur hierarki kendaraan bermotor menjadi super class atau memiliki kedudukan lebih tinggi dari sedan, truk, dan van. Inilah salah satu ciri dari polymorphism.

 
Leave a comment

Posted by on 17 December 2011 in Java, Tambah Pengetahuanmu

 

Tags: , , , , , , , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: