Pengertian Pemrograman Berorientasi Objek

pengertian pemrograman berorientasi objek

Apa itu PBO atau OOP ?

Pemrograman berorientasi objek dalam bahasa inggris disebut dengan object-oriented programming disingkat OOP merupakan paradigma pemrograman yang berorientasikan kepada objek. Ini adalah jenis pemrograman di mana programmer mendefinisikan tidak hanya tipe data dari sebuah struktur data, tetapi juga jenis operasi (fungsi) yang dapat diterapkan pada struktur data. Dengan cara ini, struktur data menjadi objek yang meliputi data dan fungsi. Selain itu, pemrogram dapat membuat hubungan antara satu benda dan lainnya. Sebagai contoh, objek dapat mewarisi karakteristik dari objek lain. 

Salah satu keuntungan utama dari teknik pemrograman berorientasi obyek atas teknik pemrograman prosedural adalah bahwa memungkinkan programmer untuk membuat modul yang tidak perlu diubah ketika sebuah jenis baru objek ditambahkan. Seorang pemrogram hanya dapat membuat objek baru yang mewarisi banyak fitur dari objek yang sudah ada. Hal ini membuat program object-oriented lebih mudah untuk memodifikasi.

Perbedaan  Pemrograman Berorientasi Objek  dan Terstruktur

Pemrograman Berorientasi Objek

  1. Pendekatan bottom-up yang diikuti.
  2. Fokus pada model obyek.
  3. Program ini diselenggarakan dengan memiliki sejumlah kelas dan objek.
  4. Setiap kelas berhubungan secara hirarkis.
  5. Ada penerima yang ditunjuk untuk setiap lewat pesan.
  6. Data dan fungsi sebagai satu kesatuan pandangan.
  7. Pemeliharaan relatif lebih murah
  8. Membantu dalam penggunaan kembali perangkat lunak.

Pemrograman Terstruktur

  1. Pendekatan top-down
  2. Fokus adalah pada algoritma dan kontrol aliran
  3. Program dibagi menjadi beberapa sub modul atau fungsi atau prosedur.
  4. Fungsi yang independen satu sama lain. 
  5. Tidak ada penerima yang ditunjuk dalam panggilan fungsi.
  6. Data dan fungsi sebagai dua entitas yang terpisah Views.
  7. Pemeliharaan mahal.
  8. Reuse Software tidak mungkin.

Pengertian Obyek

Object adalah gabungan antara beberapa data dan fungsi yang masing-masing bekerja bersamasama dan tidak dapat dipisahkan. Gabungan dari data dan fungsi tersebut akan membentuk suatu object-object yang aktif. Dari kumpulan beberapa object yang sama akan membentuk struktur baru yang disebut class. Konsep dasar object (object Oriented) meliputi tiga hal:
  1. Is Identical (because Object has own unique ID), yaitu object tersebut mempunyai identitas tersendiri dapat dibedakan dengan yang lain 
  2. Has Behavior (because Object has Method), yaitu object itu mempunyai prilaku atau sifat-sifat yang khusus
  3. Has State (because Object has instance parameter), object mempunyai ukuran yang baku. 
Dalam suatu sistem yang komplek seperti dalam proyek manajemen sering kita jumpai objek-objek suatu kelas mempunyai relasi/hubungan dengan object-object dikelas yang lain. Secara umum relasi object dapat dibedakan menjadi tiga dasar hubungan yaitu :
  1. Is-a (Generalization, Realization: Inheritance).
  2. Has-a (Association).
  3. Others (Association , Dependency) 

Karakteristik Obyek

Untuk lebih jelasnya karakteristik objek tersebut dijelaskan sebagai berikut :
  1. Identitas berarti data diukur mempunyai nilai tertentu yang membedakan entitas dan inilah yang disebut objek Suatu contoh: Singa merupakan obyek dari binatang buas, Manusia merupakan obyek dari makhluk hidup ciptaan Allah SWT, keyboard merupakan objek dari perangkat keras komputer, mobil merupakan objek dari alat transportasi. Setiap objek mempunyai sifat yang melekat pada identitasnya, sehingga dua objek dapat berbeda walaupun bila semua nilai atributnya identik. Lebih jelasnya lihat gambar 3. Objek didunia nyata sangatlah sederhana, tetapi dalam pemrograman mempunyai penanganan yang unik dan tidak sederhana di dunia nyata. Penanganannya bisa saja dinyatakan dengan beberapa cara, seperti alamat, indeks, dari array atau nilai unik dari atribut. Referensi objek seragam dan independen dari sisi objek, memperbolehkan campuran kumpulan dari objek yang dibuat, seperti file dalam direktori yang berisi file dan subdirektori.
  2. Klasifikasi berarti suatu kegiatan mengumpulkan data (atribut) dan prilaku (operasi) yang mempunyai struktur data sama ke dalam satu grup yang disebut kelas. Sesuai dengan contoh di atas maka hewan buas, makhluk hidup, komputer, dan alat transportasi adalah contoh dari kelas. Kelas menunjukkan abstraksi yang menjelaskan sifat penting pada suatu aplikasi dan mengabaikan yang lain. Setiap kelas menunjukkan suatu kumpulan infinite yang mungkin dari objek. Suatu obyek dapat dikatakan sebagai instans dari kelas. Setiap instans dari kelas mempunyai nilai individu untuk setiap nama atribut dan operasi, tetapi memiliki bersama atribut dan operasi dengan instans lain dalam kelas. Gambar di bawah ini menunjukkan dua kelas dengan beberapa instans yang berhubungan dengannya. 
Dalam dunia nyata, suatu operasi adalah suatu abstrak dari analogi prilaku terhadap obyek-obyek yang berbeda. Setiap objek mengetahui bagaimana melakukan operasinya. Dalam bahasa pemrograman berorientasi objek, secara otomatis bahasa akan memilih metode yang tepat untuk menjalankan operasinya berdasarkan nama dimana dilakukan operasi terhadapnya. Pengguna dari operasi tidak perlu khawatir berapa banyak metoda yang terdapat dalam implementasi. Kelas baru dapat ditambahkan tanpa mengubah code yang sudah ada, melengkapi metoda adalah melengkapi operasi yang dapat dilakukan terhadap kelas baru.
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur. Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri.

Object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ”modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur. Pemrograman prosedural akan dikatakan lebih baik apabila dalam segala situasi melibatkan kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability.

Manfaat yang dirasakan dalam penggunaan pemrograman prosedural adalah kemampuan kembali menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan “goto”, memudahkan programmer melacak kumpulan data sehingga menghindarkan pemrograman terstruktur menjadi seperti spagethii code. Pemrograman berorientasikan objek dikatakan lebih baik apabila 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.




Sumber :
Pemrograman Beroientasi Objek untuk SMK / MAK, 2013
 

Posting Komentar untuk "Pengertian Pemrograman Berorientasi Objek"