ASPEK-ASPEK UTAMA PADA OBJEK ORIENTED PROGRAMMING

ss_5

Abstraction (Abstraksi)

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.

Menunjukkan  karakteristik atau sesuatu yang khas dari sebuah objek yang bisa membedakannya  dengan objek yang lain. Dengan demikian akan terlihat batasan konseptual dari sebuah objek dari sudut pandang tertentu.

Contoh:

  1. Pada sistem informasi perpustakaan, apakah membuat class Mahasiswa dan class Dosen atau membuat class Member saja?
  2. Kasus toko sepeda, apakah membuat Class Sepeda atau Class Sepeda Balap dan Class Sepeda Gunung?

Dalam pengembangan aplikasi, abstraksi difokuskan pada:

  1. Hal atau sesuatu yang mana saja yang akan menjadi object?
  2. Apa ciri-ciri pembeda (property) yang dimiliki object tersebut?
  3. Bagaimana kelakuan (method) dari object tersebut?

Inheritance (Turunan)

ss_6

Inheritance adalah pewarisan atribut dan method dari sebuah class ke class lainnya. Class yang mewarisi biasanya disebut superclass, sedangkan class yang diwarisi disebut subclass.

Sebagai ilustrasi dalam dunia nyata adalah kelas sepeda dapat mewariskan sifat dan kemampuannya kepada kelas sepeda gunung, kelas sepeda balap, kelas sepeda tandem. Kelas sepeda sebagai superclass dan mewarisi atribut dan methodnya kepada kelas sepeda gunung sebagai subclass.

Pewarisan memungkinkan kita untuk menciptakan kelas baru (kelas turunan) yang merupakan perluasan atau spesialisasi dari kelas lain yang telah ada (kelas induk).

Kelas turunan akan memiliki property dan method yang sama dengan kelas induk, dimana pada kelas turunan memungkinkan untuk menambahkan property atau method-method baru. Kelas turunan bisa melakukan definisi ulang terhadap method-method yang sudah ada di kelas induknya (overriding).

ss_2

Contoh 1: anda bisa membuat class ModernCar yang merupakan turunan dari class Car. Artinya, class ModernCar memiliki property dan method yang sama dengan induknya tanpa perlu dideklarasikan ulang. Agar menjadi unik, class ModernCar menambahkan method retreat() pada definisi class-nya.

Dalam pemrograman Java, satu kata kunci yang harus diingat dalam konsep pewarisan adalah extends.

Contoh 2: class SepedaGunung extends Sepeda artinya kelas SepedaGunung merupakan hasil pewarisan (subclass) dari kelas Sepeda.

Turunan merupakan suatu karakteristik OOP di mana suatu kelas (parent class/baseclass) dapat diturunkan ke kelas yang lain (child class/derived class), sehingga kelas anak dapat memiliki data atau perilaku kelas orang tuanya.

Turunan merupakan suatu karakteristik OOP di mana suatu kelas (parent class/baseclass) dapat diturunkan ke kelas yang lain (child class/derived class), sehingga kelas anak dapat memiliki data atau perilaku kelas orang tuanya.

Encapsulation (Enkapsulasi)

Merupakan proses untuk menutupi semua detail dari sebuah object yang tidak menyokong karakteristik khas dari object. Artinya, data property dan method-method dari object hasil abstraksi dibungkus oleh struktur class agar terlindungi.

Rincian implementasi internal suatu object dibuat tersembunyi sehingga tidak bisa diketahui dan diakses oleh object lain. Object lain hanya bisa berkomunikasi dengan object tersebut melalui antarmuka (interface) yang disediakan oleh object tersebut.

Misal pada class Car, data variabel current_gear dibuat private sehingga object lain tidak bisa mengakses variabel tersebut. Object lain hanya bisa menjalankan method changeGear(int gear) tanpa mengetahui posisi gear saat sebelum diganti.

ss_1

Polymorphisme (Banyak Bentuk)

Polymorphisme merupakan suatu karakter OOP di mana objek yang berbeda dapat memakai method dengan nama yang sama pada suatu kelas (class).

Merupakan kemampuan suatu object untuk melakukan hal yang berbeda-beda dengan menggunakan interface yang sama. Hal ini tercermin dengan menggunakan teknik overriding dan overloading. Overriding adalah penulisan ulang method warisan dari kelas induk. Overloading adalah penulisan method yang sama dengan parameter input yang berbeda.

Contoh overriding:

ss_3

Contoh overloading:

ss_4

Message Sending (Pengiriman Pesan)

Message adalah permintaan agar objek menerima untuk membawa metode yang ditunjukkan oleh perilaku dan mengembalikan result dari aksi tersebut kepada objek pengirim (sender).

Association (Hubungan)

Asosiasi adalah hubungan yang mempunyai makna antara sejumlah objek. Asosiasi digambarkan dengan sebuah garis penghubung diantara objeknya. Contohnya : Asosiasi karyawan dengan unit kerja. Setiap karyawan bekerja di satu unit kerja, sedangkan unit kerja dapat memiliki beberapa karyawan.

Aggregation (Agregasi)

Agregasi adalah bentuk khusus sebuah asosiasi yang menggambarkan seluruh bagian pada suatu objek merupakan bagian dari objek yang lain. Contohnya : Kopling dan piston adalah bagian dari mesin, sedangkan mesin, roda, body merupakan bagian dari sebuah mobil.

Terima Kasih ^_^

REFERNSI

https://saiiamilla.wordpress.com/2010/06/04/ooad-object-oriented-analysis-dan-design/

http://www.sicamel.online/2012/10/konsep-karakteristik-object-oriented.html

https://tonyhariono.wordpress.com/2008/10/20/konsep-oop-dalam-java-part-ii-inheritance/

https://aryadharmaadi.com/blog/2016/02/05/konsep-dasar-pemrograman-berorientasi-objek/

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s