Anda di halaman 1dari 17

LAPORAN RESMI

PRAKTIKUM PEMROGRMAN BERORIENTASI OBYEK


MODUL 3
“ABSTRAKSI PEMROGRAMAN BERORIENTASI
OBYEK”

Disusun Oleh :

TGL. PRAKTIKUM : 26 OKTOBER 2015


NAMA : SONIA MAHARDIKA PUTRI
NRP : 140411100030
KELOMPOK : B2
DOSEN : YONATHAN FERY HENDRAWAN, ST., MIT

TELAH DISETUJUI TANGGAL :


...........................................
ASISTEN PRAKTIKUM

ABD. SUROSO
(13.04.111.000.24)

LABORATORIUM COMMON COMPUTING


JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS TRUNOJOYO MADURA
2015-2016
BAB I

PENDAHULUAN

1.1. Latar Belakang


Abstraksi, merupakan pengenalan secara umum, ringkasan atau high level
terhadap sebuah obyek, tanpa memerlukan pengetahuan secara detail. Contoh
obyek yang bersifat abstrak : Hewan mengabstraksi beragam jenis hewan
seperti ayam, anjing, kucing, dll. Sehingga kita bisa menyebut ketiga obyek
tersebut adalah hewan, dikarenakan memiliki kelakuan sebagai hewan,
seperti: bisa berjalan, bisa berbunyi. Ataupun kita bisa menyebut Mobil
dimana ada beragam jenis mobil Sedan, Truk, Bus, dimana ketiga obyek
tersebut adalah mobil dikarenakan mempunyai mesin, bisa berjalan, bisa
mengangkut orang atau barang, dll. Karakteristik abstraksi obyek didukung
melalui penerapan konsep utama OOP yaitu inheritance dan polimorfisme.
Abstraksi seringkali didekati dengan hubungan “is A”. Abstraksi
digunakan karena abstraksi dijadikan superclass dari suatu subclass yang
tidak memerlukan pengetahuan atau informasi secara detail.

1.2. Tujuan
Tujuan dari Praktikum Modul 3 ini antara lain:
1. Mahasiswa dapat memahami karakteristik abstraksi PBO.
2. Mahasiswa dapat memahami konsep Inheritance PBO.
3. Mahasiswa dapat memahami konsep Polymorfisme PBO.
BAB II
DASAR TEORI

“Abstraction is the concept of representing something at high level,


without going into too much details”. (Greedy Booch - Jacobson)
Abstraksi, merupakan pengenalan secara umum, ringkasan atau high level
terhadap sebuah obyek, tanpa memerlukan pengetahuan secara detail. Contoh
obyek yang bersifat abstrak : Hewan mengabstraksi beragam jenis hewan
seperti ayam, anjing, kucing, dll. Sehingga kita bisa menyebut ketiga obyek
tersebut adalah hewan, dikarenakan memiliki kelakuan sebagai hewan, seperti:
bisa berjalan, bisa berbunyi. Ataupun kita bisa menyebut Mobil dimana ada
beragam jenis mobil Sedan, Truk, Bus, dimana ketiga obyek tersebut adalah
mobil dikarenakan mempunyai mesin, bisa berjalan, bisa mengangkut orang
atau barang, dll.

Dalam pemodelan UML Class diagram abstraksi obyek dapat


digambarkan sebagai berikut:
Dari model Class diagram diatas dapat diuraikan Car sebagai Superclass
memiliki berbagai atribut yang dapat diwariskan kepada obyek Subclass dari
berbagai jenis Car seperti halnya mobil Manual dan Matic. Selain mewarisi
atribut, mobil Manual dan Matic harus memiliki fungsional dasar yang harus
ada untuk dikatakan sebagai Car yaitu bisa start, stop, accelerate dan
breakdown. Namun dikarenakan tiap obyek turunan Subclass memiliki ciri
dan kerja yang spesifik dan berbeda antara satu dengan yang lainnya maka
kedua obyek Manual dan Matic bisa menentukan bagaimana cara kerjanya
masing-masing.
Karena itu dalam konsep OOP, karakteristik abstraksi obyek didukung
melalui penerapan konsep utama OOP yaitu inheritance dan polimorfisme.
Melalui inheritance digunakan untuk mewariskan berbagai atribut dan
fungsional dasar, sedangkan melalui polimorfisme digunakan untuk dapat
melakukan modifikasi dan pengembangan dari fungsional yang sudah
ditetapkan.
Untuk realisasi dari abstraksi obyek sendiri, dapat digunakan dua metode
yaitu :
1. Abstrak
2. Interface.
Obyek abstract terdiri atas methode abstract sebagai jalur pengaksesan
yang akan diimplementasikan oleh berbagai obyek turunannya, selain itu
obyek abstract dapat dibekali dengan beragam konten properti atribut dan
method yang dapat diwariskan, dikembangkan dan dimodifikasi oleh obyek
turunannya. Dengan konsep tersebut obyek abstract didukung secara penuh
melalui implementasi konsep Inheritance dan Polymorfisme obyek. Berikut
aturan dari obyek Abstract:
1. Dapat memiliki keseluruhan property dan mewariskannya kepada
obyek turunannya
2. Abstract methode merupakan kontrak yang harus dipenuhi oleh obyek
turunan
3. Tidak dapat dibangun instance dari Superclass, sehingga Superclass
hanya sebagai prototype. Implementasi melalui instance hanya bisa
dilakukan pada subclass.
Obyek turunan subclass ditujukan sebagai obyek implementator untuk
melakukan perubahan cara kerja dan pengembangan fungsional obyek.
Sistematika penulisan kelas Superclass abstract :
<modifier> abstract class <Class_name>
Sedangkan obyek turunan subclass :
<modifier> class <Class_name> extends <Superclass>
Bentuk yang lain dari abstraksi adalah Interface, dimana Interface
merupakan abstraksi dengan bentuk yang lebih sederhana. Berikut ketentuan
Interface:
1. Interface hanya digunakan sebagai pengantar atau penghubung sebuah
obyek, sehingga bukan obyek itu sendiri. Karena itu interface tidak
memiliki properti lengkap namun hanya kontrak methode.
2. Interface diimplementasikan melalui berbagai kelas implementator,
yang terikat yang harus memiliki kontrak method sebagaimana telah
ditentukan interface.
Sistematika penulisan kelas Superclass abstract :
<modifier> interface class <Class_name>
Sedangkan obyek turunan subclass :
<modifier> class <Class_name> extends <Superclass>
Contoh Interface:

Sedangkan pada kelas implementator:


Inheritance
Inheritance merupakan pewarisan atribut dan method pada sebuah class
yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan
mewarisi state (variabel-variabel) dan behaviour (method-method) dari
superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour
baru yang spesifik dan dapat pula memodifikasi (override) state dan
behaviour yang diturunkan oleh superclass-nya. Keuntungan dari inheritance
adalah :
1. Subclass mewarisi semua property yang terdapat didalam Superclass
2. 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.
3. Pewarisan yang mengikat sesuai kontrak menggunakan abstract class.
Keywords inheritance yang perlu diperhatikan :
Extends : Keyword ini harus kita tambahkan pada definisi class yang menjadi
subclass yang menunjukkan sebagai obyek pewaris.
Super : Keyword ini digunakan oleh subclass untuk mengakses properti yang
telah disediakan oleh superclass.
Sistematika penulisan kelas Subclass abstract :
<modifier> class <Class_name> extends <Superclass>

Polymorfisme
Polymorfisme merupakan konsep OOP yang ditujukan untuk melakukan
perubahan pada methode implementator di subclass terhadap methode yang
telah diwariskan dari superclass. Melalui konsep ini maka polymorfisme juga
terkait dengan inheritance, dimana pengembangan obyek dapat dilakukan
dengan dinamis dengan tetap dapat menggunakan ulang properti yang telah
diwariskan. Kata kunci dari polymorfisme adalah @override, yang
menggunakan notifikasi @ sebagai penanda bahwa methode yang dituliskan
setelahnya adalah sebuah methode warisan yang dilakukan perubahan fungsi
kerjanya.
Sistematika penulisan kelas Superclass abstract :
@override
<modifier> <methode_name>
Impelementasi Abstract Class
Berikut contoh penerapan abstract class sebagai superclass, class Car :
Sedangkan subclass turunan yang menerapkan inheritance dan polymorfisme:
class Manual

class Matic
BAB III

TUGAS PENDAHULUAN

3.1. Soal
1. Apa yang dimaksud dengan karakteristik abstraksi obyek ?
2. Apa yang dimaksud dengan Interface ?
3. Apa yang dimaksud dengan inheritance ?
4. Apa yang dimaksud dengan polymorfisme ?

3.2. Jawaban
1. Karakteristik abstraksi obyek merupakan sifat atau ciri-ciri yang
dimiliki oleh abstraksi obyek. Sedangkan abstraksi obyek adalah
pengenalan secara umum atau high level terhadap sebuah obyek, tanpa
memerlukan pengetahuan secara detail.
2. Interface merupakan abstraksi dengan bentuk yang lebih sederhana
yang digunakan sebagai pengantar atau penghubung sebuah obyek.
3. Inheritance merupakan pewarisan atribut dan method pada sebuah class
yang diperoleh dari superclass.
4. Polymorfisme merupakan konsep OOP yang ditujukan untuk
melakukan perubahan pada methode implementator di subclass
terhadap methode yang telah diwarsikan dari superclass. Polymorfisme
terbagi menjadi 2 yaitu Overriding dan Overloading :
 Overriding adalah method yang sama dengan method
superclassnya, namun pernyataan atau implementasinya boleh
berbeda.
 Overloading adalah method dengan nama yang sama dengan
method lain tetapi dengan argumen atau parameter yang berbeda
tipe data dan jumlahnya.
BAB IV
IMPLEMENTASI

4.1. Tugas Praktikum


4.1.1. Soal
1. Dari ilustrasi buatlah konsep abstraksinya :
Dalam kehidupan kampus terdapat obyek-obyek Civitas yang
berinteraksi yaitu diantaranya : Dosen, Mahasiswa dan staff.
Civitas memiliki atribut umum :
 Nama
 Nim
 Prodi
Sedangkan mereka memilki fungsi dan perilaku yang
berbeda:
 Pekerjaan
 Jam masuk
Dimana sesuai dengan class diagram berikut :

2. Jelaskan bagaimana proses penggunaan dari abstraksi obyek


dari program yang anda kembangkan!
4.1.2. Jawaban
1. Civitas

Dosen
Mahasiswa
Staff
TestCivitas
2. Civitas : Pada kelas ini saya membuat kelas Civitas menjadi
kelas abstract, karena kelas ini merupakan superclass dari
ketiga subclass yaitu kelas Dosen, Mahasiswa, dan Staff.
Kelas ini memiliki atribut Nama, NID, Prodi, Pekerjaan, dan
Jam Masuk dengan tipe data String dan juga memiliki method
setPekerjaan dan setJamMasuk yang dapat di override oleh
subclass.
Dosen : Pada kelasi ini, saya mengoverride construktor dan
membuat setter getter untuk atribut pada class Dosen dan
mengisi method – method dengan inputan untuk
menginputkan data.
Mahasiswa : Pada kelasi ini, saya mengoverride construktor
dan membuat setter getter untuk atribut pada class Mahasiswa
dan mengisi method – method dengan inputan untuk
menginputkan data.
Staff : Pada kelasi ini, saya mengoverride construktor dan
membuat setter getter untuk atribut pada class Staff dan
mengisi method – method dengan inputan untuk
menginputkan data.
TestCivitas : Pada kelas ini, berisi method main yang
merupakan tempat pemanggilan kelas – kelas yang telah
dibuat sebelumnya dengan menggunakan pilhan switch case.
Di kelas ini pula insialisasi tiap kelas yang telah dibuat dapat
memanggil method – method yang telah dibuat sebelumnya
dan menginputkan nilai kedalamnya.
BAB V
PENUTUP

5.1 Kesimpulan
 Abstraksi obyek adalah pengenalan secara umum atau high level
terhadap sebuah obyek, tanpa memerlukan pengetahuan secara detail.
 Interface merupakan abstraksi dengan bentuk yang lebih sederhana
yang digunakan sebagai pengantar atau penghubung sebuah obyek.
 Inheritance merupakan pewarisan atribut dan method pada sebuah
class yang diperoleh dari superclass.
 Polymorfisme merupakan konsep OOP yang ditujukan untuk
melakukan perubahan pada methode implementator di subclass
terhadap methode yang telah diwarsikan dari superclass.
Polymorfisme terbagi menjadi 2 yaitu Overriding dan Overloading :
 Overriding adalah method yang sama dengan method
superclassnya, namun pernyataan atau implementasinya boleh
berbeda.
 Overloading adalah method dengan nama yang sama dengan
method lain tetapi dengan argumen atau parameter yang berbeda
tipe data dan jumlahnya.

5.2 Saran
Dalam penulisan modul ini penulis menyarankan kepada asisten praktikum
agar dapat memberikan contoh-contoh program yang menggunakan konsep
Abstraksi lebih banyak lagi agar praktikan dapat lebih mengerti dan
mendalami tentang konsep Abstraksi.

Anda mungkin juga menyukai