Anda di halaman 1dari 8

RANGKUMAN KARAKTERISTIK OOP

Diajukan untuk Memenuhi Tugas Mata Kuliah Pemrogram Berorientasi Objek


Dosen Pengampu : Dr.Eng.Ana Hadiana, B.Eng., M.Eng.

Disusun Oleh :
M Rifqi Azkiya J (1187050056)

Jurusan Teknik Informatika


Fakultas Sains dan Teknologi
Universitas Islam Negeri Sunan Gunung Djati Bandung
2019
Karakteristik OOP

1. Enkapsulasi(Pembungkusan)

Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang
dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu.
Salah satu caranya dengan membentuk objek. Encapsulation merupakan proses dalam menciptakan
sebuah objek dimana terdapat beberapa bagian atau attribute yang terbagi berdasarkan sifat yakni
public(umum) dan private (khusus). Sebagaimana yang kita ketahui dalam definisi OOP, objek akan
selalu berinteraksi dengan objek lain untuk menyelesaikan masalah dengan mengakses proses dari
objek tersebut. Untuk menghindari redundansi atau ketidakakuratan program, maka diberikan batasan
akses setiap objek terhadap objek lain. Saat objek bisa mengakses method dari objek lain, maka kita
menyebutnya method bersifat public. Sedangkan saat suatu attribute hanya mampu diakses oleh objek
itu sendiri, maka kita menyebutnya sebagai attribute bersifat private.

Kita ambil contoh tubuh manusia yang terdiri dari beberapa class seperti tangan(hand),
kaki(leg) dan sebagainya. Class hand terdiri dari beberapa objek seperti lengan, siku, dan jari. Kita lihat
satu objek jari yang memiliki beberapa attribut private yaitu seperti tulang, pembuluh darah, dan kulit.
Selain itu, jari juga memiliki aktivitas yang umum yaitu public method menggenggam(), menyentuh(),
dan menulis (). Pemisahan tersebut merupakan tujuan utama dari encapsulation.
Ada 2 manfaat utama dari encapsulation yaitu :
1. Penyembunyian Informasi (information hiding)
Hal ini mengacu kepada perlindungan terhadap implementasi obejk internal. Objek tersebut dari
interface public dan bagian private yang merupakan kombinasi data dan metode internal. Manfaat
utamanya adalah bagian internal dapat berubah tanpa mempengaruhi bagian-bagian program yang
lain.

2. Modularitas
Modularitas berarti objek dapat dikelola secara independen. Karena kode sumber bagian internal
objek dikelola secara terpisah dari antarmuka, maka Kita bebas melakukan modifikasi yang tidak
menyebabkan masalah pada bagian-bagian lain dari sistem. Manfaat ini mempermudah
mendistriibusikan objek-objek dari sistem.

2. Inheritansi

Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan
class class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari
beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass
atau child class. Inheritance menghasilkan class hierarchy. Saat membuat objek-objek dalam sebuah
class, mungkin kita sering menemukan sifat yang sama antar objek dan menulisnya berulang kali
sebanyak objek yang memiliki sifat tersebut. Hal itu tentu terlalu merepotkan dan memerlukan waktu
yang lebih lama. Oleh karena itu terdapat suatu konsep dalam OOP yang mampu membantu kita dalam
mengatasi masalah tersebut. Inheritance merupakan hubungan antara dua objek atau lebih dimana
akan terdapat sebuah objek utama yang mewariskan attribute atau method yang dimilikinya kepada
objek lain, baik itu keseluruhan atau sebagian.
Bentuk sederhana dan inheritance : Misalkan saat kita membuat sebuah sistem informasi
kampus yang akan diakses oleh Dosen dan Mahasiswa. Kedua objek tersebut pasti memiliki attribut
yang sama seperti nama, umur, alamat, dan lainnya. Untuk menghindari penulisan ulang ketiga attribut
tersebut disetiap objek, ada baiknya kita membuat objek baru yang mampu menyimpan ketiga
attribute tersebut dan nantinya akan diwariskan kepada objek Dosen dan Mahasiswa seperti gambar
disamping. Lalu bagaimana objek Person mengetahui apakah objek Dosen atau objek Mahasiswa yang
mengaksesnya? Untuk menghindari kebingungan saat diakses maka Objek Dosen dan Mahasiswa
memiliki attribute pembeda yang didefinisikan dalam masing-masing objek yaitu IdDosen dan NIM
mahasiswa. Pengaksesan ini juga erat kaitannya dengan Polymorphism dimana sebuah objek yang
diakses menggunakan konsep inheritance juga memiliki attribute-attribute pembeda untuk
mengedintifikasi setiap objek tersebut.

KEUNTUNGAN INHERITANCE
1. Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass,
hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass
yang telah ada.

2. Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut
abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.

ISTILAH INHERITANCE
Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.
Superclass Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari
subclass/class anak.
Subclass Subclass adalah class anak atau turunan secara hirarki dari superclass.
Super Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel
yang mengacu pada superclass.
Methode Overriding Pendefinisian ulang method yang sama pada subclass
Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method
overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature
atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan
method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class
yang sama.

Kita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class
yang dapat diperluas dari class lain.

Misal terdapat class Pegawai public class Pegawai { public String nama; public double gaji; } Misal
terdapat class Manager public class Manajer { public String nama; public double gaji; public String
departemen; }
Dari 2 buah class diatas, kita lihat class Manajer mempunyai data member yang identik sama dengan
class Pegawai, hanya saja ada tambahan data member departemen.

Sebenarnya yang terjadi disana adalah class Manajer merupakan perluasan dari class Pegawai
dengan tambahan data member departemen.

Disini perlu memakai konsep inheritance, sehingga class Manajer dapat kita tuliskan seperti berikut :

public class Manajer extends Pegawai { public String departemen; }

3. Polimorfisme

Polimorfisme adalah kemampuan suatu objek untuk mempunyai lebih dari satu bentuk.
Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai
polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku
perilaku yang berbeda. 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 tunggal 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.

Polymorphism adalah suatu object dapat memiliki berbagai bentuk, sebagai object dari class
sendiri atau object dari superclassnya.

• Overloading: Penggunaan satu nama untuk beberapa method yang berbeda (beda
parameter)
• Overriding: terjadi ketika deklarasi method subclass dengan nama dan parameter yang
sama dengan method dari superclassnya.
Keuntungan pemograman dengan menggunakan Polymorphism, yaitu :

• Dapat menggunakan kelas-kelas yang kita buat (sebagai super kelas) dan membuat kelas
kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari
behaviour umum yang dimiliki superkelas.
• Dapat membuat super kelas yang hanya mendefinisikan behaviuor namun tidak
memberikan implementasidari metode-metode yang ada.Hal ini berguna jika ingin
membuat template kelas, kelas ini disebut kelas abstrak karena behaviournya masih abstrak
dan belum diimplementasikan. Subkelas-subkelas dari kelas ini yang disebut kelas konkret,
mengimplementasikan behaviuor abstrak tersebut sesuai dengan kebutuhan masing-
masing.
• Menghindari duplikasi object, yang dapat menciptakan class baru dari class yang sudah ada,
sehingga tidak perlu menuliskan code dari nol ataupun mengulangnya, namun tetap bisa
menambahkan attribute dan atau method unik dari class itu sendiri. Dalam konsep yang
lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi.
Polymorphism dapat berarti banyak bentuk, maksudnya yaitu dapat menimpa (override), suatu
method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga
memiliki kelakuan yang berbeda.

Pada dasarnya ada 2 tipe polymorphism, yaitu :

1. Static atau trivialmerupakan, function overloading (penggunaan kembali nama fungi yang
sama tapi dengan argumen yang berbeda) yang terbagi dalam 3 signature yaitu :
• Jenis Array
• Letak Array
• Type Array
Contoh function overloading :

Void tambah (int a, int b);

Void tambag (float d, float c);

2. Dynamic atau trueMerupakan function overriding (sebuah fungsi dalam class turunan yang
memiliki nama, return type argumen function yang sama dengan fungsi dalam class induk).
Menggunakan virtual method.
Pure virtual method (tanpa function body)

Contoh : virtual void jalan() = 0;

Squasi virtual method (ada function body)

Contoh : virtual void info() {;}

4. Abstraction

Abstraction adalah konsep dimana terdapat berbagai objek yang sejenis, namun pada saat
memiliki impelementasi yang berbeda-beda. Kita dapat mengambil sebuah objek seperti objek Dosen.
Dosen memiliki kepentingan yang berbeda terhadap matakuliah yang tersedia dalam satu semester
akademik, namun sistem akan selalu mengenali objek Dosen sebagai suatu entitas yang sama
walaupun memiliki kepentingan yang berbeda-beda.

5. Composition

Composition adalah konsep dimana sebuah class terdiri dari beberapa bagian objek yang
terpisah dan memiliki fungsi yang berbeda-beda. Contoh paling mudah untuk kita pahami adalah
kembali pada contoh pertama. Tubuh manusia disusun oleh beberapa class seperti tangan, kaki,
kepala dan sebagainya. Class tangan terdiri dari beberapa objek seperti Jari, Siku, dan Lengan.
Kumpulan dari beberapa objek akan membangun sebuah class dan kumpulan dari beberapa class
akan membangun sebuah program yang kita inginkan.
Daftar Pustaka

1. 2018. Pemrograman Berorientasi Objek. Depok : Laboratorium Sistem


Informasi Universitas Gunadarma.
2. https://medium.com/@mfirmanmaranatha/apa-itu-pemograman-
berorientasi-objek-object-oriented-programming-d3dc1b079fa2
(Diakses pada Sabtu , 22 Maret 2020 pukul 10.18).
3. http://www.tokolokomedia.com/blog-44/konsep-dan-ciri-dasar-oop.html
(Diakses pada Sabtu , 22 Maret 2020 pukul 11.34).
4. Rolliawati, Dwi. Tanpa Tahun. Pemrograman Berorientasi Objek.
Surabaya: Univerisitas Narotama.
5. https://sis.binus.ac.id/2017/09/07/inheritance/
(Diakses pada Sabtu , 22 Maret 2020 pukul 12.52).
6. https://sis.binus.ac.id/2017/09/04/encapsulation/
(Diakses pada Sabtu , 22 Maret 2020 pukul 12.55).
7. https://sis.binus.ac.id/2017/08/30/polymorphism/
(Diakses pada Sabtu , 22 Maret 2020 pukul 13.00).

Anda mungkin juga menyukai