Senin, 04 Mei 2015

Pengertian Object Oriented Programing


Object Oriented Programing (OOP) adalah sebuah metodologi atau cara berpikir dalam melakukan pemrograman dimana pendefinisian tipe data disertai dengan pendefinisian fungsi. Struktur data yang seperti ini disebut dengan istilah object. Paradigma pemrograman OOP dapat dilihat sebagai interaksi sebuah object dalam melakukan tugasnya.

Konsep OOP bermula pada era 1960-an. Sebuah bahasa pemrograman Simula memperkenalkan berbagai konsep yang mendasari OOP dengan SIMULA I (1962-65) dan Simula 67 (1967). Kemudian pada tahun 70-an, bahasa pemrograman Smalltalk menjadi yang pertama kali disebut object-oriented.

Pada tahun 1980-an, dua bahasa pemrograman ADA (US Department of Defense) dan PROLOG (the Japanese “Fifth Generation Computer Project”) dipercayai akan bersaing ketat sebagai bahasa pemrograman yang paling dominan. Namun justru OOP yang menjadi paradigma pemrograman yang paling dominan sampai sekarang. Bahasa pemrograman yang object-orientedseperti C++ pada tahun 80-an menjadi populer. Pada tahun 90-an, bahasa-bahasa pemrograman seperti Java mulai menerapkan OOP. Sampai pada 2002, Microsoft Visual Studio memperkenalkan bahasa object-oriented baru yang diberi nama C#. Disusul VB.NET yang merupakan penyempurnaan Visual Basic 6.0 yang tidak mendukung OOP.

Object-Oriented Programming (OOP) adalah sebuah pendekatan untuk pengembangan / development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses / tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi sebuah tindakan / action atau metode. Jika kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti berinteraksi dengan object mobil. Sebagai sebuah object, mobil berisi object-object lain yang berinteraksi untuk melakukan tugasnya membawa kita.

Object-oriented programs terdiri dari objects yang berinteraksi satu sama lainnya untuk menyelesaikan sebuah tugas. Seperti dunia nyata, users dari software programs dilibatkan dari logika proses untuk menyelesaikan tugas. Contoh, ketika kamu mencetak sebuah halaman diword processor, kamu berarti melakukan inisialisasi tindakan dengan mengklik tombol printer. Kemudian kamu hanya menunggu respon apakah job tersebut sukses atau gagal, sedangkan proses terjadi internal tanpa kita ketahui. Tentunya setelah kamu menekan tombol printer, maka secara simultan object tombol tersebut berinteraksi dengan object printer untuk menyelesaikan job tersebut.


Istilah-Istilah Pada OOP Antara Lain :

Kelas (Class)
Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog‘ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

Objek (Object)
Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer, objekmerupakan dasar dari modularitas dalam sebuah program komputer berorientasi objek.

Metode (Method) 
adalah merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object.

Abtraksi (Abstraction)
Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

Enkapsulasi (Encapsulation)
Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak, hanya metode dalam objek tersebut yang diberi ijin 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.

Polimorfisme (Polymorphism)
Melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

Inheritas (inheritance)
Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis objek tidak selalu memiliki inheritas.)


CONTOH ILUSTRASI PEMBUATAN OBJECT  DALAM OOP


Class   : Radio
Object : Radioku

Attribute :
Warna Biru
Dua Speaker
Antena
Pemutar Volume Suara
Pemutar Frekuensi
Tombol on/off

Method :
Membesarkan Volume Suara
Mengecilkan Volume Suara
Menyalakan Radio
Mematikan Radio
Mencari Gelombang Frekuensi Suara

Dari contoh diatas, terdapat satu buah class Radio dengan object Radioku . Object dalam class Radio bisa dibuat lebih dari satu. Kita bisa membuat object Radioku, Radiomu, Radionya Imam, ataupun nama Radio lainnya. Banyak object yang dapat diciptakan dari satu kelas yang sama seperti halnya banyak radio yang dapat dibuat dari satu gambar rancangan yang sama.

Kelebihan OOP ( Object Oriented Programming )
1.  OOP menyediakan struktur modular yang jelas untuk program sehingga OOP sanat bagus digunakan untuk mendefinisikan tipe data abstrak di mana detail implementasinya tersembunyi.
2.   OOP mempermudah dalam maintenance, memodifikasi bahkan membuat sebuah objek yang baru tanpa mengubah kode yang sudah ada.
3.    OOP menyediakan framework untuk library code dimana komponen software yang tersedia dapat dengan mudah di adaptasi dan di modifikasi oleh programmer. Hal ini sangat berguna untuk mengembangkan GUI ( Graphical User Interface ) dan UX ( User Xperience ).
4. Multiplatform . OOP dapat dijalankan di berbagai sistem operasi sekaligus. Dengan menggunakan prinsip “Tulis sekali, jalankan dimana saja”.

Kekurangan OOP ( Object Oriented Programming )
1.  Mudah didekomplikasi. Artinya mudah dilakukan pembalikan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi seperti nama-nama kelas, metode, dan tipe data. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak.
2.      Meskipun bersifat Multiplatform , namun masih ada beberapa hal yang tidak kompatible antaraplatform satu dengan platform lain

KARAKTERISTIK OBJECT ORIENTED PROGRAMMING
  • Semua adalah objek.
  • Komputasi dilakukan dengan komunikasi antar objek. Setiap objek berkomunikasi dengan objek yang lain melalui pengiriman dan penerimaan pesan.
  • Sebuah pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen yang diperlukan untuk menyelesaikan suatu tugas tertentu.
  • Setiap objek memiliki memori sendiri, yang dapat terdiri dari objek-objek lainnya.
  • Setiap objek adalah wakil atau representasi dari suatu kelas. Sebuah kelas dapat mewakili sekelompok objek yang sama.
  • Kelas merupakan kumpulan tingkah laku yang berkaitan dengan suatu objek. Jadi, semua objek yang merupakan wakil dari kelas yang sama dapat melakukan aksi yang sama pula.
  • Kelas-kelas diorganisasikan ke dalam struktur pohon yang berakar tunggal, yang dinamakan dengan jenjang pewarisan (inheritance hierarchy).
  • Setiap objek pada umumnya memiliki tiga sifat, yaitu keadaan, operasi dan identitas objek.
  • Operasi merupakan tindakan yang dapat dilakukan oleh sebuah objek.
  • Keadaan objek merupakan koleksi dari seluruh informasi yang dimiliki oleh objek pada suatu saat.
  • Informasi yang terkandung pada objek tersebut pada akhirnya memberikan identitas khusus yang membedakan suatu objek dengan objek lainnya.


     Sumber :
http://fatihamaliah.wordpress.com/2013/04/02/pengertian-konsep-oop-object-oriented-programming/
http://blog.ub.ac.id/home/pengertian-dari-oop-class-method-behavior-dan-constructor/comment-page-1/
http://hendraenda.wordpress.com/2013/04/01/konsep-dasar-oop-pada-pemrograman-java/
http://mikael23.blogspot.com/2012/04/kelebihan-dan-kekurangan-pemrograman.html
http://juni-ana-prihati.blogspot.com/2013/04/mengenal-konsep-oop.html

Tidak ada komentar:

Posting Komentar