Anda di halaman 1dari 13

RANGKUMAN

MATERI PERKULIAHAN SESI 9 SAMPAI 12


MATA KULIAH
“PEMROGRAMAN BERBASIS OBJEK”

Dosen Pengampu :
Catur Nugroho, S.Kom, M.Kom

Oleh :
Yosafat Himawan Prasetyo (200401070065)

FAKULTAS TEKNIK
PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS SIBER ASIA
2021
SESI 9 “INTERFACE”

PENGERTIAN
Interface adalah kumpulan konstanta & method yang tidak memiliki implementasi.
Interface berjalan seperti kontrak dengan ikatan implements. Suatu class dapat
mengimplementasikan ke beberapa interface. Class yang mengimplementasikan interface harus
membuat implementasi dari method-method yang ada pada interface. Seluruh method pada
interface secara otomatis bersifat public, method pada class yang mengimplementasikan interface
harus diset ke public. Jika class implementasi tidak diset ke public maka method interface yang
berjalan akan error.
Interface juga merupakan sebuah blok yang berisi deklarasi method untuk di
implementasikan pada class yang lain alias tidak memiliki tubuh method. Ini berarti semua metode
yang ada dalam interface bersifat abstrak. Tetapi pada pendeklarasiannya tidak perlu
menggunakan keyword yang abstrak. Fungsinya adalah untuk membuat suatu class yang bisa di
implementasikan oleh berbagai class lain yang bahkan tidak memiliki korelasi sama sekali.

FUNGSI INTERFACE
Dalam Bahasa pemrograman lain seperti C++, dikenal istilah multiple-inheritance yang
artinya sebuah objek bisa diturunkan dari dua atau lebih dari objek yang berbeda. Misalnya, objek
X memiliki super class A dan B.
Sedangkan pada Java, hal ini tidak memungkinkan, karena objek hanya bisa extends dari
1 objek saja. Maka dari itu diperlukan interface sebagai solusi pengganti multiple-inheritance yang
terdapat pada C++.
Selain itu interface juga mengamalkan prinsip dari konsep abstraksi dan enkapsulasi.
Karena interface bersifat abstrak sehingga tidak bisa dibuat objek instance dengan kata kunci new.
Contoh dari penggunaan interface :
SESI 10 “POLYMORPHISM”
PENGERTIAN
Polymorfisme adalah objek yang memiliki bentuk yang berubah-ubah. Dalam
pemrograman polymorfisme adalah kemampuan dari suatu variable objek untuk memiliki aksi
berbeda jika method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya.
Contoh Polymorfisme :
Dari contoh di bawah kita bisa melihat class lingkaran memiliki method luas yang sama.
Tapi jika kita lihat lebih jauh, maka method tersebut ternyata memiliki parameter yang berbeda
sekalipun sama-sama digunakan untuk mengukur luas dari lingkaran. Maka hal ini bisa disebut
sebagai polymorfisme statis.
Sedangkan contoh di bawah ini adalah implementasi polymorfisme dinamis. Dimana
bangun datar memiliki 4 bentuk, yang masing-masing bentuknya bisa di ukur luasnya. Sekalipun
sama-sama bangun datar, belum tentu bangun datar adalah pasti lingkaran ataupun persegi. Bisa
saja bangun datar tersebut adalah segitiga. Namun ke empat bentuk tersebut sudah pasti adalah
salah satu jenis dari bangun datar.
SESI 11 “PACKAGE”
PENGERTIAN
Package dalam Bahasa pemrograman Java berarti melakukan pengelompokan terhadap
class-class yang berelasi ke dalam satu unit kerja. Package dalam Java terbagi dalam 2 jenis, yaitu
default package yang merupakan package bawaan dari Java itu sendiri dan import package yang
merupakan package buatan kita sendiri.
Apabila kita melakukan import terhadap salah satu package, maka kita bisa memakai
semua class yang terdapat dalam package tersebut. Semua .class yang terletak pada satu direktori
tertentu dengan sendirinya membuat satu package yang tidak bernama.
Nama package biasanya diawali atau ditulis dengan huruf kecil. Package Java juga diawali
dengen dengan menggunakan java.* dan javax.*. Nama package yang kita buat biasanya juga
diberi sesuai dengan nama pembuatnya.
Setiap package terdiri dari class dan abstract class dan interface. Setiap class yang terdapat
dalam 1 package dapat saling akses satu sama lain karena class bersifat modifier. Package juga
bisa dapat digabungkan dalam 1 file JAR. Secara default, Java mengimport package java.lang
sehingga kitab isa memakai class-class seperti system, integer, string walaupun kita belum
mengimport package apapun.
Contoh penggunaan package :
import java.util.Scanner;
Cara di atas adalah salah satu cara untuk memanggil package bawaan dari java itu sendiri. Package
tersebut berisi scanner class yang terdapat pada package java.util, fungsinya adalah untuk proses
input. Perintah import pada awal kode digunakan untuk memanggil package tersebut.
Screenshot di atas adalah contoh penggunaan package yang kita buat sendiri dalam sebuah
pemrograman. Bisa dilihat bahwa package tersebut bernama “buahsegar” dan di dalam package
tersebut terdapat class lain yaitu “Segar” dan “Asam”. Maka apabila kita ingin memanggil salah
satu class tersebut ke dalam kode pemrograman yang baru, kita tinggal memanggilnya dengan
perintah:
import buahsegar.Segar;
dan apabila kita ingin memanggil keduanya tanpa harus mendefinisikan salah satu class, maka kita
bisa menggunakan perintah:
import buahsegar.*;
SESI 12 “CLASS RELATIONSHIP”
PENGERTIAN
Dalam pemrograman berbasis objek bisa ditemukan terdapat hubungan antar class yang
mengambil realita dari kehidupan kita sehari-hari. Objek-objek yang ada disekitar kita pun juga
memiliki hubungan tertentu satu sama lain. Hal ini pula yang mendasari class relationship pada
pemrograman berbasis objek, sehingga dapat diartikan sebagai koneksi logis yang terjadi di antara
objek.
1. Multiplicity
Merupakan suatu karakteristik dari relasi yang terjadi dan memiliki tingkatannya tersendiri
yaitu :
- Level class relationship (instance level:)
- Relasi terjadi pada objek-objek yang terbentuk (class level:)
- Relasi yang terjadi antar class yang telah dibuat (general level:)
Relasi yang terjadi pada level class maupun objek menunjukkan jumlah/kardinalitas
hubungan antar kelas. Hal itu juga menunjukkan apakah relasi tersebut bersifat opsional
atau mandatory (mandatory = wajib)
Relasi
0…1 0 atau 1

1 Tepat 1

0…* 0 atau lebih

1…* 1 atau lebih


* Tidak tentu jumlahnya

2. Asosiasi
Asosiasi adalah hubungan yang bisa saling menggunakan di dalam sebuah kelas dan tidak
saling memiliki. Asosiasi bisa bersifat uni-directional(Satu arah) atau bi-directional(dua
arah)

Class 1 Class 2
Class 1 Class 2

Dari dua gambar di atas yang pertama adalah contoh dari hubungan yang bersifat bi-
directional, sedangkan yang kedua dengan tanda panah merupakan contoh dari hubungan yang
bersifat uni-directional.
Contoh lain yang digunakan dalam kode pemrograman :
Dari dua potongan kode di atas, dapat kita ketahui bahwa kelas Dosen menggunakan
variable nim mahasiswa yang terdapat pada kelas Mahasiswa. Kita dapat menghapus setiap kelas
tanpa mempengrahui kelas lain. Hubungan seperti di atas adalah hubungan asosiasi.
3. Komposisi
Komposisi digunakan untuk menggabungkan objek-objek sederhana menjadi suatu objek
yang lebih kompleks, yang artinya objek-objek tersebut memiliki hubungan/relasi dengan
objek-objek yang lain. Relasi komposisi ditunjukkan dengan garis penghubung yang
berbentuk diamond hitam pada ujungnya.

Mobil Roda

Contoh kode dalam program :


4. Agregasi
Hubungan agregasi digambarkan dengan diamond putih, yang ditempelkan pada kelas
yang memiliki, tidak dibubuhkan panah pada ujung yang tidak memiliki simbol diamond
putih. Kemudian juga dibubuhkan kardinalitas seperti pada hubungan asosiasi.

Jika hubungan asosiasi adalah saling menggunakan, di sini hubungan yang terjadi adalah
memiliki. Dilihat pada gambar kelas diagram di atas, bahwa kelas Jurusan memiliki kelas
Mahasiswa sebagai variable nya. Meskipun kelas Jurusan memiliki kelas Mahasiswa,
namun kedua kelas tersebut dapat dibuat secara independen.

Contoh program agregasi yang diambil dari lanjutan contoh hubungan asosiasi :
PENUTUP
Demikian rangkuman ini dibuat sebagai tugas kedua dari mata kuliah Pemrograman
Berbasis Objek. Kiranya apabila ada kekurangan dalam penyampaian rangkuman, mohon
bimbingannya lebih lanjut sehingga bisa menjadi koreksi dan menjadi lebih baik lagi
kedepannya. Terima kasih.

Anda mungkin juga menyukai