Pemrograman berorientasi objek

15.3. Pemrograman berorientasi objek

Objek adalah kumpulan variabel dan method (fungsi) yang saling berkaitan. Mungkin kita pernah menggunakan struct dalam C atau record dalam Pascal/Delphi? Dalam struct dan record, kita bisa mengumpulkan tipe-tipe variabel yang berlainan. Nah, objek adalah perkembangan dari struct. Dalam objek, kita bisa mengumpulkan variabel-2 dengan tipe yang boleh berbeda-2 dan fungsi-2 yang disebut method.

Objek sebenarnya meniru konsep alam. Ilustrasinya seperti ini. Sebutlah suatu objek, misalnya anjing. Anjing memiliki kondisi: warna, tinggi, lapar, sakit, dll. Selain itu anjing juga memiliki hal-hal yang biasa dilakukan, seperti: menggonggong, menggigit, goyang

ekor, dan lain-lain. Jadi kondisi pada alam (misal anjing) ditiru dengan Variabel sedangkan hal-hal yang biasa dilakukan ditiru dengan Method. penggabungan antara Variabel dan Method itulah yang disebut Enkapsulasi.

Hal penting berikutnya dalam OOP adalah Message. Antara objek satu dengan objek yang lain berkomunikasi melalui Message. Ketika objek A ingin objek B melakukan sesuatu, maka objek A mengirim Message ke objek B.

Contoh: Misalnya objek A adalah ICT. Objek

B adalah Sepeda.

Jika ICT ingin memindahkan gigi sepedanya ke gigi 5, maka ICT akan mengirim Message ke Sepeda

Pemrograman Berorientasi Objek Bahasa Pemrorgraman

2008 | Direktorat Pembinaan SMK

diketahui sepeda memiliki kemampuan/Method pindahGigi) berbunyi pindahGigi(5). Lengkapnya dapat ditulis: Sepeda.pindahGigi(5). Message itu akan dilaksanakan oleh Sepeda. Kemampuan pindahGigi memerlukan informasi gigi yang diinginkan, dalam hal ini 5. Maka sekarang Variabel (nantinya kita sebut atribut) gigi bernilai 5. Bicara tentang Class, kita bayangkan dalam contoh sebelumnya bahwa Sepeda milik ICT adalah sepeda gunung (kita sebut SepedaGunung). Tentunya selain SepedaGunung terdapat sepeda lain seperti SepedaOnta, SepedaTandem, dll. Tapi yang jelas, jenis-jenis tadi termasuk Sepeda.

Jadi Sepeda Gunung adalah Instance dari Sepeda. SepedaGunung memiliki atribut- atribut(seperti gigi, roda, panjang, pedal, dan lain-lain) juga kemampuan(seperti pindahGigi(), belok(), dll) Sepeda. Ada perbedaan antara Object dan Class.

Class adalah blue print atau rancangan dari Object. Jadi dengan satu Class, kita dapat membuat berapapun Object. Inheritance adalah pewarisan sifat. Sebuah Subclass akan mewarisi sifat dari Superclass- nya. Dalam contoh di atas, Sepeda Gunung akan memiliki atribut gigi, roda dan panjang dan juga kemampuannya yaitu pindah Gigi dan belok. Tetapi Subclass tidak harus hanya memiliki sifat dan kemampuan yang sama persis dengan Superclassnya, tetapi biasanya ditambahkan sifat dan kemampuan lain yang membedakannya dengan Subclass lain dengan Superclass yang sama. Itulah yang membuat SepedaGunung dan SepedaOnta berbeda.

Subclass juga dapat melakukan Override terhadap sifat dan kemampuan warisan Superclassnya. Misalnya yang dilakukan oleh SepedaTandem. SepedaTandem memiliki lebih dari dua roda dan juga pedal sehingga perlu memiliki kemampuan untuk mengaturnya. Sehingga suatu kemampuan warisan dari class Sepeda dapat diganti atau ditambahkan.

Interface membuat satu class dapat berinteraksi dengan class lain yang benar-benar berbeda. Misalnya dalam Show Room yang menjual Mobil, Motor juga Sepeda. Tentu saja ManajerShowRoom harus bisa mengatur sepeda-sepeda bersama dengan Mobil-2 dan Motor-2. Masalahnya adalah perbedaan class yang sangat mencolok. Interface mengatasinya dengan cara:  Mencari persamaan antara class-2

yang berbeda tanpa memaksa class tersebut saling berhubungan.

 Membuat method yang ingin diterapkan pada class-class. Istilah-istilah yang digunakan dalam pemrograman berorientasi objek  Class adalah blueprint atau

prototype dari object-objec tertentu yang memiliki kesamaan variable dan method.

 Object atau insance of class merupakan software yang mengemas variable-variable dan methodmethod menjadi satu kesatuan.

 Attribute adalah suatu bentuk karakteristik atau status dari suatu object.

 Method atau behavior dari object adalah action yang bisa di kerjakan oleh suatu object

Bahasa Pemrograman Pemrograman Berorientasi Objek

 Constructor merupakan method mempunyai sifat pemisahan data khusus yang berfungsi untuk dengan kode yang mengolahnya. inisialisi atau menciptakan suatu Pemrograman Berorientasi Objek object dari class

(PBO) adalah metode pemrograman yang meniru cara kita

Pemrograman Berorientasi memperlakukan sesuatu (benda). Objek sebenarnya bukanlah bahasa

Dalam pemrograman pemrograman baru, tetapi jalan baru

berorientasi obyek, class merupakan untuk berpikir dan merancang sebuah design, template, atau blue- aplikasi yang dapat membantu print. Dari suatu class dapat dibuat memecahkan suatu persoalan banyak objek/instance. Analoginya mengenai pengembangan perangkat

adalah seperti ini, bayangkan jika kita lunak. Pemrograman berorientasi seorang arsitek, sebelum objek disusun dan dipahami oleh membangun rumah tentunya akan ilmuwan yang memkitang dunia merancang dulu di kertas, jumlah dan sebagai populasi objek yang letak pintu, jendela, dan semuanya, berinteraksi antara satu yang satu itulah class. Kemudian dari gambar dengan objek yang lain.

rumah tersebut kita dapat Prosedur yang digunakan dalam

membangun banyak rumah sesuai objek dipkitang sebagai kepentingan

rancangan yang sudah dibuat. kedua karena tergantung pada objek

Masing-masing rumah jadi itu sendiri. Tentunya hal tersebut tersebut adalah yang disebut dengan berbeda dengan pemrograman objek/instance. terstruktur. Pemrograman terstruktur

The first instance

Class

Desain Template

The second instance

Blue print

n ...... instance

Gambar 15.1. Class Dalam Pemrograman Berorientasi Obyek

Ada empat ciri-ciri atau karakteristik komputer kita harus menentukan ciri- bahasa Pemrograman Berorientasi

ciri / sifat-sifat yang penting yang Objek, antara lain:

perlu direpresentasikan ke dalam sistem komputer. Ciri-ciri yang dipilih

bergantung dari apa yang akan kita Untuk memproses sesuatu dari lakukan di dalam sistem tersebut dan dunia nyata dengan menggunakan tergantung dari sudut pkitang yang

15.3.1. Abstraksi

melihatnya. Misalnya pada sebuah 508

Direktorat Pembinaan SMK | 2008

Pemrograman Berorientasi Objek Bahasa Pemrorgraman

kasus untuk menentukan attribute suatu class mobil pada :

Tabel 15.1. Attribute suatu class mobil

Kantor Polisi

Bengkel Mobil

No mesin

No registrasi Pemilik

Pemilik

Waktu Ganti Oli

Besar Pajak

Deskripsi servis

merupakan interface (antar muka) Penggabungan data dan method

15.3.2. Enkapsulasi

pengendara dengan sistem transmisi ke dalam suatu class atau dengan sepeda motor. kata lain mengkombinasikan sebuah

struktur dengan fungsi yang

15.3.3. Pewarisan

memanipulasinya untuk membentuk warisan sifat dari class induk tipe data baru yaitu kelas (class).

kepada class anaknya atau

Enkapsulasi merupakan suatu mendefinisikan suatu kelas dan mekanisme untuk menyembunyikan kemudian menggunakannya untuk atau memproteksi suatu proses dari membangun hirarki kelas turunan, kemungkinan interferensi atau yang mana masing-masing turunan penyalahgunaan dari luar sistem dan

mewarisi semua akses kode maupun sekaligus menyederhanakan data kelas dasarnya. penggunaan sistem itu sendiri. Akses

Sebagai manusia kita ke internal sistem diatur sedemikian sebenarnya terbiasa untuk melihat rupa melalui seperangkat interface.

objek yang berada disekitar kita Contoh sebuah kasus yang ada

tersusun secara hierarki berdasarkan dilapangan misalnya pada sebuah classnya masing-masing. Dari sini sepeda motor, dimana pada sistem kemudian timbul suatu konsep pemindahan gigi transmisi, maka tentang pewarisan yang merupakan pengendara tidak perlu tahu detail suatu proses dimana suatu class dari bagaimana proses pemindahan diturunkan dari class lainnya gigi itu dilakukan oleh mesin, cukup

sehingga ia mendapatkkan ciri atau tahu bagaimana cara menekan gigi sifat dari class tersebut. Perhatikan transmisi itu. Pedal gigi transmisi contoh hirarki berikut ini: yang diinjak pengendara itu

2008 | Direktorat Pembinaan SMK

Bahasa Pemrograman Pemrograman Berorientasi Objek

Gambar 15.2. Hirarki Pewarisan

Dari hirarki diatas dapat dilihat dimiliki oleh class binatang, karena bahwa, semakin kebawah, class sebagai class turunannya, ia akan akan semakin bersifat spesifik. Class

mendapatkan karakteristik dari class mamalia memiliki seluruh sifat yang binatang secara otomatis. Demikian dimiliki oleh binatang, demikian juga dengan class anjing, kucing dan halnya juga Anjing, kucing dan monyet, hanya perlu mendefinisikan Monyet memiliki seluruh sifat yang karakteristik yang spesifik dimiliki diturunkan dari class mamalia. oleh classnya masing-masing. Dengan konsep ini, karakteristik yang

Dengan memanfaatkan konsep dimiliki oleh class binatang cukup pewarisan ini dalam pemrograman, didefinisikan didefinisikan dalam maka hanya perlu mendefinisikan class binatang saja.

karakteristik yang lebih umum akan

Class mamalia tidak perlu didapatkan dari class darimana ia mendefinisikan ulang apa yang telah

diturunkan.