Anda di halaman 1dari 10

LAPORAN

PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK


SEMESTER GENAP 2020/2021

PERTEMUAN 08

Polymorphism
Pengantar Pemrograman Berorientasi Obyek

DISUSUN OLEH:
Boy Afrianda Sinaga (71180377)

PROGRAM STUDI INFORMATIKA


FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS KRISTEN DUTA WACANA
YOGYAKARTA
2021
BAGIAN 1: MATERI PRAKTIKUM
Polimorfisme dalam OOP merupakan sebuah konsep OOP di mana class memiliki banyak
“bentuk” method yang berbeda, meskipun namanya sama. Maksud dari “bentuk” adalah isinya
yang berbeda, namun tipe data dan parameternya berbeda.
Polimorfisme juga dapat diartikan sebagai teknik programming yang mengarahkan kita untuk
memprogram secara general daripada secara spesifik. Contohnya kita memiliki tiga class yang
berbeda yaitu: “Kelinci”, “Kucing”, dan “Sapi”. Di mana ketiga class tersebut merupakan
turunan dari class “Hewan”.
Polimorfisme pada Java memiliki 2 macam yaitu diantaranya:
Static Polymorphism (Polimorfisme statis).
Dynamic Polymorphism (Polimorfisme dinamis).

Perbedaan keduanya terletak pada cara membuat polimorfisme. Polimorfisme statis


menggunakan method overloading, sedangkan polimorfisme dinamis menggunakan method
overriding.
BAGIAN 2: JAWABAN SOAL LATIHAN MANDIRI/UNGUIDED
Soal
public abstract class BangunDatar {
public abstract double luas();
public abstract double keliling();

public class Lingkaran extends BangunDatar {


private double jarijari;

public Lingkaran(double jarijari) {


this.jarijari = jarijari;
}

@Override
public double luas() {
// TODO Auto-generated method stub
double pangkat = 2;
return 3.14 * Math.pow(jarijari, pangkat);
}

@Override
public double keliling() {
// TODO Auto-generated method stub
return 2 * 3.14 * jarijari;
}

}
public class Persegi extends BangunDatar {
private double sisi;

public Persegi(double sisi) {


this.sisi = sisi;
}

@Override
public double luas() {
// TODO Auto-generated method stub
return sisi * sisi;
}

@Override
public double keliling() {
// TODO Auto-generated method stub
return 4 * sisi;
}
}

public class Segitiga extends BangunDatar {


private double alas;
private double tinggi;

public Segitiga(double alas, double tinggi) {


this.alas = alas;
this.tinggi = tinggi;
}
@Override
public double luas() {
// TODO Auto-generated method stub
return (alas * tinggi)/2;

}
@Override
public double keliling() {
// TODO Auto-generated method stub
double m = Math.sqrt((alas * alas)+(tinggi*tinggi));
return m+alas+tinggi;
}
}

public class Main {

public static void main(String[] args) {


// TODO Auto-generated method stub
BangunDatar p = new Persegi(5);
BangunDatar pp = new PersegiPanjang(4,5);
BangunDatar s = new Segitiga(5, 7);
BangunDatar l = new Lingkaran(8);

//Persegi
System.out.println("Persegi");
System.out.println("Luas: " + p.luas());
System.out.println("Keliling: " + p.keliling());
System.out.println();

//Persegi Panjang
System.out.println("Persegi Panjang");
System.out.println("Luas:" + pp.luas());
System.out.println("Keliling: " + pp.keliling());
System.out.println();

//Segitiga
System.out.println("Segitiga");
System.out.println("Luas:" + s.luas());
System.out.println("Keliling: " + s.keliling());
System.out.println();

//Lingkaran
System.out.println("Lingkaran");
System.out.println("Luas:" + l.luas());
System.out.println("Keliling: " + l.keliling());
System.out.println();
}

}
BAGIAN 3: SOAL-SOAL YANG DIBUAT SENDIRI
BangunDatar.java

public abstract class BangunDatar {

public abstract double luas();

public abstract double keliling();

Persegi.java

public class Persegi extends BangunDatar {

private double sisi;

public Persegi(double sisi) {

this.sisi = sisi;

@Override

public double luas() {

// TODO Auto-generated method stub

return sisi * sisi;

@Override

public double keliling() {

// TODO Auto-generated method stub

return 4 * sisi;

}PersegiPanjang.java

public class PersegiPanjang extends BangunDatar {

private double panjang;

private double lebar;

public PersegiPanjang(double panjang, double lebar) {

this.panjang = panjang;

this.lebar = lebar;
}

@Override

public double luas() {

// TODO Auto-generated method stub

return panjang * lebar;

@Override

public double keliling() {

// TODO Auto-generated method stub

return (2 * panjang) + (2 * lebar);

Lingkaran.java

public class Lingkaran extends BangunDatar {

private double jarijari;

public Lingkaran(double jarijari) {

this.jarijari = jarijari;

@Override

public double luas() {

// TODO Auto-generated method stub

double pangkat = 2;

return 3.14 * Math.pow(jarijari, pangkat);

@Override

public double keliling() {

// TODO Auto-generated method stub

return 2 * 3.14 * jarijari;

}
}Segitiga.java

public class Segitiga extends BangunDatar {

private double alas;

private double tinggi;

public Segitiga(double alas, double tinggi) {

this.alas = alas;

this.tinggi = tinggi;

@Override

public double luas() {

// TODO Auto-generated method stub

return (alas * tinggi)/2;

@Override

public double keliling() {

// TODO Auto-generated method stub

double m = Math.sqrt((alas * alas)+(tinggi*tinggi));

return m+alas+tinggi;

Main.java

public class Main {

public static void main(String[] args) {

// TODO Auto-generated method stub

BangunDatar p = new Persegi(5);

BangunDatar pp = new PersegiPanjang(4,5);

BangunDatar s = new Segitiga(5, 7);

BangunDatar l = new Lingkaran(8);

//Persegi
System.out.println("Persegi");

System.out.println("Luas: " + p.luas());

System.out.println("Keliling: " + p.keliling());

System.out.println();

//Persegi Panjang

System.out.println("Persegi Panjang");

System.out.println("Luas:" + pp.luas());

System.out.println("Keliling: " + pp.keliling());

System.out.println();

//Segitiga

System.out.println("Segitiga");System.out.println("Luas:" + s.luas());

System.out.println("Keliling: " + s.keliling());

System.out.println();

//Lingkaran

System.out.println("Lingkaran");

System.out.println("Luas:" + l.luas());

System.out.println("Keliling: " + l.keliling());

System.out.println();

Output :
BAGIAN 4: CREDITS / REFERENSI / DAFTAR PUSTAKA
Referensi laporan praktikum ini :

https://www.w3schools.com/java/java_polymorphism.asp

https://www.tutorialspoint.com/java/java_polymorphism.htm

Anda mungkin juga menyukai