Istilah OOP dan konsep OOP



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 methodmethod 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 fungsifungsi 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 nonprogrammer 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.



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.

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.
Tidak ada komentar

Tidak ada komentar :

Posting Komentar