0% menganggap dokumen ini bermanfaat (0 suara)
28 tayangan10 halaman

Lapren 5

Dokumen ini berisi rencana praktikum pemrograman berorientasi objek tentang pewarisan dan polimorfisme. Tujuannya adalah agar mahasiswa dapat menggunakan teknik pewarisan dan polimorfisme serta mengetahui perbedaan overriding dan overloading. Dokumen ini juga berisi penjelasan teori dan contoh kode program untuk mempraktikkan pewarisan, polimorfisme, overriding, overloading, dan interface.

Diunggah oleh

mitaaaaaaaaaa
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
28 tayangan10 halaman

Lapren 5

Dokumen ini berisi rencana praktikum pemrograman berorientasi objek tentang pewarisan dan polimorfisme. Tujuannya adalah agar mahasiswa dapat menggunakan teknik pewarisan dan polimorfisme serta mengetahui perbedaan overriding dan overloading. Dokumen ini juga berisi penjelasan teori dan contoh kode program untuk mempraktikkan pewarisan, polimorfisme, overriding, overloading, dan interface.

Diunggah oleh

mitaaaaaaaaaa
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 10

LAPORAN RENCANA PRAKTIKUM

PEMROGRAMAN BERORIENTASI OBJEK

NAMA : IPA LORENTIA


NIM : 223030503224
KELAS : DATA SCIENCE
MODUL : V (INHERITANCE DAN POLYMORPHISM)

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2023
MODUL V
INHERITANCE DAN POLYMORPHISM

1.1 Tujuan
1.1.1 Mahasiswa dapat menggunakan teknik pewarisan dan polymorfisme
1.1.2 Mahasiswa mengetahui perbedaan overriding dan overloading.

1.2 Landasan Teori


1.2.1 Pewarisan (Inheritance)
Inheritance merupakan proses pewarisan data dan method
dari suatu class yang telah ada kepada suatu class baru. Class yang
mewariskan disebut dengan superclass / parent class / baseclass,
sedangkan class yang mewarisi (class yang baru) disebut dengan
subclass / child class / derived class.
Subclass tidak dapat mewarisi anggota private dari
superclass-nya. Dengan inheritance, class yang baru (subclass) akan
mirip dengan class yang lama (superclass) namun memiliki
karakteristik yang baru.
Dalam Java, subclass hanya bisa memiliki satu superclass
(single inheritance) sedangkan superclass bisa memiliki satu subclass
atau lebih. Untuk menerapkan inheritance, gunakan statement
“extends”.
Keyword “super” digunakan oleh subclass untuk memanggil
constructor, atribut dan method yang ada pada superclass-nya.

Contoh untuk memanggil constructor milik superclass-nya:

super()
super(parameter)

Contoh untuk memanggil atribut dan method milik superclass-nya:

super.namaAtribut
super.namaMethod(parameter)
1.2.2 Overriding vs Overloading
Overloading adalah diperbolehkannya dalam sebuah class
memiliki lebih dari satu nama function/method yang sama tetapi
memiliki parameter/argument yang berbeda.
Sedangkan Overriding adalah kemampuan dari subclass
untuk memodifikasi method dari superclass-nya, yaitu dengan cara
menumpuk (mendefinisikan kembali) method superclass-nya.

Gambar 1.1 Perbedaan Overriding dan Overloading

1.2.3 Polimorfisme
Polimorfisme mempunyai makna sesuatu yang memiliki
banyak bentuk, yaitu memiliki nama sama, tetapi memiliki kelakuan
(behaviour) yang berbeda. Teknik polimorfisme digunakan untuk
menyatakan satu nama yang merujuk (reference) ke beberapa fungsi
yang berbeda.
Java menginterprestasikan polimorfisme dengan 3 cara yaitu
method overloading, pewarisan, method overriding dengan interface
java.
Gambar 1.2 UML Class Bentuk

Perhatikan gambar diagram di atas !


Class Bentuk yang merupakan class induk (superclass) dari
class Lingkaran, Elips dan Segitiga mempunyai method gambar() dan
hapus(). Class-class anak (subclass) juga mempunyai method
gambar() dan hapus(). Meskipun keempat class tersebut mempunyai
nama method yang sama, tetapi isi (source code/yang
dilakukan/output) dari masing-masing method tersebut berbeda.
Jika kita menginginkan sebuah objek yang dapat memanggil
setiap method (yaitu method gambar & hapus) yang ada pada setiap
class (pada superclass maupun subclass), maka gunakanlah teknik
Polimorfisme. Polimorfisme hanya berlaku pada method dan tidak
berlaku untuk atribut.
Untuk mendapatkan operasi Polimorfisme dari suatu method,
maka method tersebut haruslah merupakan method yang ada di class
induk (lihat diagram diatas bahwa method gambar() dan hapus(),
selain terdapat di class-class turunan class Bentuk, juga terdapat di
class Bentuk).
Perhatikan bahwa Polimorfisme tidak sama dengan
overloading !!!
1.2.4 Interface
Secara sederhana, Object Interface adalah sebuah ‘kontrak’
atau perjanjian implementasi method. Bagi class yang menggunakan
object interface, class tersebut harus mengimplementasikan ulang
seluruh method yang ada di dalam interface. Dalam pemrograman
objek, penyebutan object interface sering disingkat dengan
‘Interface’ saja.
Contoh : Jika terdapat class komputer, interface bisa
dicontohkan dengan ‘mouse’. Di dalam interface mouse, kita bisa
membuat method seperti klik_kiri(), klik_kanan(), dan double_klik().
Jika class laptop ‘menggunakan’ interface mouse, maka class tersebut
harus membuat ulang method klik_kiri(), klik_kanan(), dan
double_klik().

Untuk mendeklarasikan sebuah interface gunakan sintaks :

interface namaInterface{
//isi dari interface }

Cara menggunakan suatu interface adalah dengan


mengimplementasikan interface tersebut pada class yang
menggunakannya. Selain itu, anda juga harus mendefinisikan secara
detail method-method yang ada pada interface tersebut.

public class NamaClass implements namaInterface{


//method dan isi method pada namaInterface
}

Interface lebih berperan untuk menyeragamkan method. Ia


tidak masuk kedalam struktur class seperti abstract class.
Interface Mouse:

public interface Mouse{


String jenis = “Laser Mouse”;
//Method Interface harus public
public void klik_kanan();
public void klik_kiri();
//Tidak boleh ada method normal/biasa
//yang terdapat isi method-nya
}

Implementasi interface Mouse pada class Komputer :

public class Komputer implemenets Mouse{


public void klik_kanan(){
System.out.println(“Mouse computer : “
+”klik Kanan... “);} public
void klik_kiri(){
System.out.println(“Mouse computer : “
+”klik Kiri... “);}
}

1.3 Praktikum
1.3.1 Program Kelas Bentuk
Bentuk.java

Lingkaran.java
Segitiga.java

Elips.java

Cetakgambar.java
1.3.2 Program PoliKendaraan
Kendaaran.java

package kendaraan;

class Kendaraan {
protected int roda;
protected String nama,jenis;
protected Kendaraan (int rda,String nma,String jns){
roda=rda; nama=nma; jenis=jns;
}
protected void infoKendaraan(){
System.out.println("~~~");
System.out.println("Nama : "+nama);
System.out.println("Jenis : "+jenis);
System.out.println("Roda : "+roda);
}
}
class mobil extends Kendaraan{
protected mobil (int rda, String nma, String jns) {
super(rda, nma, jns);
}
}
class motor extends Kendaraan{
public motor (int rda,String nma,String jns){
super(rda, nma, jns);
}
}
class tank extends Kendaraan{
String keterangan;
public tank (int rda,String nma,String jns,String ktrg){
super(rda, nma, jns);
keterangan=ktrg;
}
}
public void infoKendaraan(){
super.infoKendaraan();
System.out.println("Keterangan : "+keterangan);
}
}
class pesawat extends Kendaraan{
public pesawat(int rda, String nma, String jns) {
super(rda, nma, jns);
}
}
PoliKendaraan.java

package kendaraan;

public class PoliKendaraan {


public static void main(String[] args) {
Kendaraan mbl = new mobil(4, "Ford", "Mobil");
Kendaraan mtr = new motor(2, "Ninja", "motor");
Kendaraan pswt = new pesawat(10, "Garuda",
"Pesawat");
Kendaraan tnk = new tank(0, "Leopard 2A7",
"Tank",
"Menggunakan rantai");
mbl.infoKendaraan();
mtr.infoKendaraan();
tnk.infoKendaraan();
pswt.infoKendaraan();
}
}

Output program akan seperti berikut :


1.4 Tugas
1. Tugas sebelumnya meminta anda untuk membuat sebuah program Java
dengan struktur OOP untuk suatu rumah sakit. Setelah anda
menyelesaikan proyek tersebut rumah sakit datang kembali untuk
meminta peningkatan ke program mereka!

2. Tambahkan kelas pewarisan dari kelas Pasien untuk, Pasien Rawat


Inap, Pasien Poli, dan Pasien UGD (Pastikan setiap kelas memiliki
perbedaan konstruktor dan metode yang sesuai dengan tujuan dari
pewarisan tersebut).

3. Jangan lupa untuk mengimplementasikan polimorfisme pada setiap


kelas tersebut (implementasi dibebaskan kepada anda).

4. Tambahkan 3 interface untuk program ini dimana dua diantaranya


adalah mendaftarkan pasien ke rumah sakit, dan mengeluarkan pasien
dari rumah sakit, interface ketiga dibebaskan kepada anda.

5. Simpan proyek Anda.

Anda mungkin juga menyukai