Pengertian
Pemrograman Berorientasi Objek
Pemrograman berorientasi objek
(Inggris: object-oriented programming disingkat OOP) merupakan paradigma
pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam
paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan
logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses
data, dan mengirim pesan ke objek lainnya.
Bahasa
pemrograman yang mendukung OOP antara lain:
1.
Visual Foxpro
2.
Java
3.
C++
4. Pascal
(bahasa pemrograman)
5.
Visual Basic.NET
6.
SIMULA
7.
Smalltalk
8.
Ruby
9.
Python
10.
PHP
11.
C#
12.
Delphi
13.
Eiffel
14.
Perl
15. Adobe
Flash AS 3.0
Ciri
– Ciri Pemrograman Berorientasi Obyek :
1.
Fungsi dan data bukan menjadi dua hal yang terpisah.
2.
Fungsi dan data menjadi satu kesatuan yang disebut sebagai obyekaktif.
3. Cara
pandang -> program adalah serangkaian obyek yang bekerjasama untuk
menyelesaikan suatu problem
2.1
Istilah-Istilah OOP
a.
Objek
Untuk mempermudah pemahaman, maka
disini akan dijelaskan melalui analogi. Pada dasarnya semua benda yang adadi
dunia nyata dapat dianggap sebagai objek. Misalnya rumah, mobil, sepeda, motor,
gelas, komputer, meja, sepatu, dll. Setiap objek memiliki atribut sebagai
status (state) dan tingkah laku sebagai behavior.
Contoh
objek : Motor. Maka atribute (state) nya adalah pedal, roda, jeruji,
speedometer, warna, jumlah roda. Sedangkan tingkah laku (behavior) nya adalah
kecepatan menaik, kecepatan menurun, dan perpindahan gigi motor.
Analogi pemrograman berorientasi
objek sama dengan penggambara pada dunia nyata seperti contoh di atas. Dalam
OOP, state disimpan pada variabel dan tingkah laku disimpan pada method.
Dalam bahasa teoretis OOP, Objek
berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit dalam
sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur
dalam sebuah program komputer berorientasi objek.
b.
Class
Definisi
class yaitu template untuk membuat objek. Class merupakan prototipe atau blue
prints yang mendefinisikan variabel-variabel dan method-method secara umum.
Objek merupakan hasil instansiasi dari suatu class. Proses pembentukan objek
dari suatu kelas disebut sebagai instantiation. Objek disebut juga sebagai
instances.
Dalam bahasa teoretis OOP, class
merupakan 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.
c.
Attributes
Atribut
adalah data yang membedakan antara objek satu dengan yang lainnya.
Contoh
Objek : VolcanoRobot ( a volcanic exploration vehicle), mempunyai atribut
sebagai berikut:
Status
~> exploring, moving, returning home
Speed
~> in miles per hour
Temperature
~> in Fahrenheit degrees
Dalam class, atribut sering
disebut sebagai variabel. Atribut dibedakan menjadi dua jenis yaitu Instance
Variable dan Class Variable. Instance variable adalah atribut untuk tiap objek
dari kelas yang sama. Tiap objek mempunyai dan menyimpan nilai atributnya
sendiri. Jadi, tiap objek dari class yang sama boleh mempunyai nilai yang sama
atau berbeda.
Class Variable adalah atribut untuk
semua objek yang dibuat dari class yang sama. Semua objek mempunyai nilai
atribut yang sama. Jadi semua objek dari class yang sama mempunyai hanya satu
nilai yang value nya sama.
d.
Behavior
Behavior/tingkah
laku adalah hal-hal yang bisa dilakukan oleh objek dari suatu class. Behavior
dapat digunakan untuk mengubah nilai atribut suatu objek, menerima informasi
dari objek lain, dan mengirim informasi ke objek lain untuk melakukan suatu
tugas (task).
Contoh behavior untuk objek VolcanoRobot:
Dalam class, behavior disebut
juga sebagai methods. Methods sendiri adalah serangkaian statements dalam suatu
class yang menghandle suatu task tertentu. Cara objek berkomunikasi dengan
objek yang lain adalah dengan menggunakan method.
Contoh :
class, object, attributes, dan behavior:
e.
Abstraksi
Abstraksi adalah 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.
2.2
Konsep-Konsep OOP
a.
Enkapsulasi (Encapsulation)
Definisi enkapsulasi:
Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi serta
menyediakan interface untuk mengakses variabel tersebut. Variabel dan method
yang dimiliki oleh suatu objek, bisa ditentukan hak aksesnya. Dalam OOP, konsep
enkapsulasi sebenarnya merupakan perluasan dari struktur dalam bahasa C.
Contoh: jam tangan. Dalam hal
ini, penting sekali untuk mengetahui waktu, sedangkan cara jam mencatat waktu
dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting
kita ketahui.
Dengan kata lain enkapsulasi
berfungsi untuk 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.
b.
Pewarisan (Inheritance)
Pewarisan merupakan pewarisan
atribut dan method dari sebuah class ke class lainnya. Class yang mewarisi
disebut superclass dan Class yang diwarisi disebut subclass. Subclass bisa
berlaku sebagai superclass bagi class lainya, disebut sebagai multilevel
inheritance.
Contoh : terdapat class sepeda
dan sepeda gunung. Sepeda termasuk superclass. Sepeda gunung termasuk subclass.
Hal ini dikarenakan sepeda gunung memiliki variabel dan method yang dimiliki
oleh sepeda.
Prinsip
dasar inheritance yaitu persamaan-persamaan yang dimiliki oleh beberapa kelas
dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang
diturunkannya memuat hal-hal yang spesifik untuk kelas yang bersangkutan.
Contoh Pewarisan :
c.
Polimorfisme
Polimorfisme adalah kemampuan
suatu obyek untuk mempunyai lebih dari satu bentuk. Polimorfisme tidak
bergantung kepada pemanggilan subrutin. Metode tertentu yang berhubungan dengan
sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan 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.
3.
Kesimpulan
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.
Sebagai contoh anggap kita
memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi
data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian
administrasi, maka manager tersebut tidak harus mengambilnya langsung tetapi
dapat menyuruh petugas bagian administrasi untuk mengambilnya. Pada kasus
tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data
tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas
adminiistrasi. Jadi untuk menyelesaikan suatu masalah, dapat dilakukan dengan
kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi
tugasnya sendiri.
4. Referensi
id.wikipedia.org/wik/Pemrograman_berorientasi_objek
Slide
Presentasi Konsep Pemrograman Berorientasi Objek
(lecturer.eepis-its.edu/~riyanto/oop1.pdf)
0 komentar:
Posting Komentar