Rabu, 21 Mei 2008

Object Oriented Program (OOP)

Object = objek
Oriented = mengarah, berorientasi
Programming = program


Jadi OOP atau pemrograman berorientasi objek merupakan paradigma pemrograman yang mengarah kepada objek, dimana semua data dan fungsi di dalam paradigma dijadikan satu dalam kelas-kelas dan objek-objek. Setiap object bersifat independen dan mampu berjalan sendiri atau saling kunci dengan object lain dengan mudah dan otomatis. Object-object berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya. Masing-masing object harus berisikan informasi mengenai dirinya sendiri (encapsulation) dan object yang dapat dikaitkan (inheritance).


Pemodelan adalah deskripsi lengkap mengenai satu sistem dari perspektif tertentu. Dimana model merupakan representasi abstrak dari system yang dibangun agar kita dapat memahami sistem yang akan dikembangkan secara lebih baik.


Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.


Bahasa pemrogramana yang mendukung OOP antara lain :

· Java

· C++

· Pascal

· Visual Basic.NET

· SIMULA

· Smalltalk

· Ruby

· Python

· PHP

· C#

· Delphi

· Eiffel

· Perl


Teknik Dasar OOA/D (Object-Oriented Analysis/Design)


Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer. Beberapa obyek akan diabaikan dan beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.

1. Pemodulan (Encapsulation)

Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan menggunakan rice cooker, ibu tersebut menggunakannya hanya dengan menekan tombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding.

2. Penurunan (Inheritance)

Obyek-obyek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus.

3. Polymorphism

Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada obyek anak (child) melakukan metoda yang sama dengan algoritma berbeda dari obyek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah ruang lingkup /pembatasan. Artinya setiap obyek mempunyai ruang lingkup kelas, atribut, dan

metoda yang dibatasi.


Istilah-istilah OOP
  • Class adalah blueprint atau prototype dari object-object tertentu yang memiliki kesamaan variable dan method.
  • Object atau insance of class merupakan software yang mengemas variable-variable dan method-method menjadi satu kesatuan.
  • Attribute adalah bentuk karakteristik atau status dari suatu object.
  • Method atau behavior dari object adalah action yang bisa di kerjakan oleh suatu object.
  • Constructor merupakan method khusus yang berfungsi untuk inisialisi atau menciptakan suatu object dari class.

Tidak ada komentar: