PERTEMUAN 11
KONSEP PEMROGRAMAN
BERORIENTASI OBJEK
OOP/PBO merupakan paradigma
pemrograman yang popular saat ini yang telah menggantikan teknik pemrograman
berbasis prosedur. Object Oriented Programing yang berarti pula Pemrograman
Beorientasi Objek sudah ditemukan sekitar tahun 1960 dan dikembangkan pada
permulaan tahun 1970.
Pemrograman Berorientasi Objek (Object Oriented Programming/OOP) merupakan pemrograman yang
berorientasikan kepada objek, dimana semua data dan fungsi dibungkus dalam class-class atau object-object. Setiap object
dapat menerima pesan, memproses data, mengirim, menyimpan dan memanipulasi
data. Beberapa object berinteraksi
dengan saling memberikan informasi satu terhadap yang lainnya. masing-masing object harus berisikan informasi
mengenai dirinya sendiri dan dapat dihubungkan dengan Object yang lain. Pemrograman berorientasi objek berbeda dengan
pemrograman prosedural yang hanya menggunakan satu halaman kebawah untuk
mengerjakan banyak perintah atau statement. Penggunaan pemrograman berorientasi
objek sangat benyak sekali, contoh : java, php, perl, c#, cobol, dan lainnya.
1. Definisi Object
Object merupakan sesuatu
yang memiliki identitas (nama), pada umumnya juga memiliki data tentang dirinya
maupun object lain dan mempunyai
kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya.
Pada dasarnya semua benda yang ada di dunia dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor,
meja, dan komputer merupakan contoh-contoh object
yang ada di dunia nyata. Object adalah
implementasi dari class. Secara sederhananya, dapat dikatakan terdiri dari
property (atribut) dan method.Pemahaman singkatnya:
1. Objek merupakan sebuah objek khusus yang digunakan untuk
mengakses anggota objek (atribut atau method) dari dalam objek itu sendiri.
2. Apabila terdapat variabel lain yang memiliki nama yang sama
dengan nama atribut di dalam objek, “this” dapat digunakan untuk merujuk ke atribut objek.
2. Definisi class
Class
merupakan model yang berisi kumpulan attribute dan method dalam suatu unit
untuk suatu tujuan tertentu. Sebagai contoh
class manusia memiliki attribute berat, tinggi, usia kemudian memiliki
method makan, minum, tidur. Method dalam sebuah class dapat merubah attribute yang dimiliki oleh class tersebut. Sebuah class merupakan dasar dari modularitas
dan struktur dalam pemrograman berorientasi object. Class adalah template untuk pembuatan objek. Class juga memiliki anggota, diantaranya : atribut dan method.
3. Struktur class
Perbedaan sebuah kelas
dengan sebuah struktur adalah sebuah kelas dapat berdiri sendiri dan dapat
digunakan untuk berbagai keperluan kelas-kelas yang lain, sedangkan sebuah
struktur tidak dapat berdiri sendiri. Sebuah kelas lebih fleksibel untuk
digunakan oleh kelas lain tanpa harus membongkar kode program utama, sedangkan
jika digunakan struktur maka kode program harus dibongkar unuk disalin bagian
strukturnya ke kode program utama yang lain
4. Karakteristik
object
Setiap object memiliki dua karakteristik yang utama yaitu atribut dan
behavior
1. Atribut merupakan status object
dan behavior merupakan tingkah laku dari object tersebut.Contoh sederhana
adalah sepeda. Object sepeda memiliki
atribut : pedal, roda, dan gigi, kecepatan serta memiliki tingkah laku seperti
pacu dan rem. Sama seperti penggambaran di dunia nyata, pengembangan program
dengan konsep OOP juga menggunakan model object
yang akan menyimpan atributnya dalam variabel dan tingkah lakunya dalam method atau fungsi-fungsi/prosedur. Deskripsinya : Contoh objek
sepeda
·
Sepeda
memiliki atribut ( state ) : pedal,
roda, jeruji, dan warna.
·
Sepeda
memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya
menurun, dan perpindahan gigi sepeda.
Dalam
pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam
variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method
atau
fungsi-fungsi/prosedur.
1) Definisi Atribut
Atribut dari sebuah
kelas adalah variabel global yang dimiliki sebuah kelas, Atribut dapat memiliki
hak akses private, public maupun protected. Sebuah atribut yang
dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang
membungkusnya, sedangkan kelas lainnya tidak dapat mengakses atribut ini secara
langsung. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara
langsung oleh kelas lain di luar kelas yang membungkusnya. Sebuah atribut yang
dinyatakan sebagai protected tidak
dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya,
kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang
membungkusnya. Atribut juga biasa disebut state/ properties/ field merupakan bagian yang dimiliki oleh sebuah
class yang tidak melakukan operasi,
tetapi kepadanya dilakukan operasi sehingga dapat merubah nilai dari attribute
tersebut
T 2) Tingkah Laku (Behavior)
Tingkah laku/behavior adalah hal-hal yang bisa
dilakukan oleh objek dari suatu class. digunakan untuk mengubah nilai atribut suatu objek, menerima
informasi dari objek lain, dan mengirim informasi ke obyek lain untuk melakukan
suatu task. Dalam class,
behavior disebut juga sebagai methods. Contoh: mobil, akseleration, stop, turn, break . Method
adalah fungsi atau prosedur yang dibuat oleh seorang programmer didalam suatu Class. Dengan kata lain, method pada
sebuah kelas hampir sama dengan fungsi atau prosedur pada pemrograman
prosedural.Cara objek berkomunikasi dengan objek lain adalah dengan menggunakan
method
5. Responsibility
Responsibility adalah sebuah
kontrak atau sebuah obligasi dari sebuah class. Saat sebuah class dibuat, semua objek dalam class tersebut memiliki keadaan dan
tingkah laku yang sama Saat sebuah class
dimodelkan, awal yang baik adalah menspesifikasikan responsibilities sesuatu
dalam sebuah kamus teknik seperti CRC card
(Class Responsibility Collaboration)
dan use case dapat membantu.
I 6. Konstruktor
Konstruktor adalah proses
instansiasi objek dari kelas dilakukan pada operasi khusus atau sekumpulan
instruksi konstruktor menetapkan nilai awal untuk atribut objek baru konstruktor
biasanya memiliki nama yang sama dengan kelasnya. Konstruktor memungkinkan :
1. Memiliki parameter yang menginisilisasi atribut dengan nilai
spesifik. Contoh : Create mobil as new
Car (”Ford”, ”Falcon”, 4, 300, 6,
”Biru”, 0); atau
2. Tidak memiliki parameter. Objek baru dengan nilai default
untuk semua atributnya.
J 7.
Aksesor Dan Mutator
Aksesor adalah nama operasi
yang mengakses nilai. Nama aksesor dimulai dengan kata GET seperti getPaySlip(),
Mutator adalah nama operasi yang merubah nilai atribut. Operasi mutator memungkinkan objek eksternal untuk mengubah
nilai yang tersimpan dalam atribut. Nama mutator diawali dengan kata SET
seperti setPayRate().
8. Visibiliy
Visibility merupakan
kemampuan suatu obyek untuk melihat atau berhubungan dengan obyek lain, Atribut
dan metoda dapat memiliki salah satu sifat visibility berikut:
1. Private (-), tidak dapat dipanggil dari luar class yang bersangkutan
2. Protected (#), hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
3. Public (+), dapat dipanggil oleh siapa saja
9 9. Pengirim Pesan/Messaging
1. Objek-objek bekerjasama dengan mengirimkan pesan dari satu
objek ke objek lainnya
2. Suatu obyek mengirimkan pesan ke objek lain untuk melakukan
sebuah operasi
3. Suatu objek juga dapat menerima pesan dari objek lain untuk
melakukan operasi lainnya.
4. Kunci dalam pemrograman berorientasi objek adalah bahwa
setiap objek itu sendiri bertanggung jawab untuk melaksanakan tugas.
5. Ini termasuk interaksi dan komunikasi dengan benda-benda
lainnya
6. Objek mengirim pesan ke objek lainnya. Pesan mungkin
menyampaikan informasi tambahan melalui parameter untuk benda-benda penerima.
Contohnya sebagai berikut: Mobil yang diparkir di depan rumah hanya sepotong logam yang
dengan sendirinya tidak mampu melakukan aktivitas apapun. Pengemudi harus
menyalakan mobil, menggunakan rem, dll
10. Karakteristik OOP
1. Abstraksi merupakan
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. Enkapsulasi merupakan
suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari
kemungkinan interferensi atau penyalahgunaan dari luar sistem dan sekaligus
menyederhanakan penggunaan sistem tersebut. 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.
3. Inheritansi merupakan
konsep mewariskan attribute dan method yang dimiliki oleh sebuah class kepada class turunannya. Dengan konsep ini class yang dibuat cukup mendefinisikan attribute dan method yang
spesifik didalamnya, sedangkan attribute dan method yang lebih umum akan
didapatkan dari class yang menjadi
induknya.
4. Polimorfisme Merupakan
konsep yang memungkinkan digunakannya suatu interface yang sama untuk
memerintah suatu object agar
melakukan suatu tindakan yang mungkin secara prinsip sama tetapi secara proses
berbeda. Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada
pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, dengan
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.
Tahapan Perancang Program Berorientasi Objek
1. Identifikasi kelas, atribut, responsibility dan operasi
2. Menentukan hubungan antar objek dan kelas
3. Perancangan algoritma untuk operasi menggunakan desain
struktur
4. Mengembangkan tes algoritma

Tidak ada komentar:
Posting Komentar