Anda di halaman 1dari 9

LAPORAN PRAKTIKUM

PEMROGRAMAN BERORIENTASI OBJEK


PERTEMUAN 10

Disusun Oleh:

NAMA : Agnes Belladona Shandy Ayocha

NIM : 175410123

JURUSAN : INFORMATIKA

JENJANG : S1

UNIVERSITAS TEKNOLOGI DIGITAL INDONESIA

YOGYAKARTA

2022
A.TUJUAN PRAKTIKUM
Tujuan dari praktikum ini adalah user dapat membuat aplikasi yang mengimplementasi
compile-time (early binding) polimorphisme, serta dapat membuat aplikasi yang
mengimplementasi runtime (late binding) polimorphisme

B. PEMBAHASAN LISTING
• PRAKTIK 1

Program 1

class Jumlah{
public int tambah(int x, int y){
return x+y;
}
public int tambah(int x, int y, int z){
return x+y+z;
}
public int tambah(double pi, int x){
return (int)pi+x;
}
}

public class Penjumlahan{


public static void main(String[] args){
Jumlah obj = new Jumlah();
System.out.println(obj.tambah(2,5));
System.out.println(obj.tambah(2,5,9));
System.out.println(obj.tambah(3.14159, 10));
}
}
Output

Penjelasan :
Program di atas adalah program java untuk mengizinkan kelas induk untuk mendefinisikan sebuah
method general (bersifat umum) untuk semua kelas turunanya, dan selanjutnya kelas-kelas turunan dapat
memperbaharui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya
masing-masing, Overloading adalah suatu keadaan dimana beberapa method memiliki nama yang sama
tetapi fungsional berbeda, seperti contoh diatas,maka overloading ini adalah method jumlah yang
menjumlahkan angka yang berbeda beda dengan jumlah yang berbeda juga memiliki nama yang sama tapi
memiliki isi yang berbeda..

• PRAKTIK 2

Program 2

class Penggajian {
double gapok;
double masa_kerja;

Penggajian(double g, double mk) {


gapok = g;
masa_kerja = mk;
}

Penggajian() {
gapok = 0;
masa_kerja = 0;
}

Penggajian(double lembur) {
gapok = masa_kerja = lembur;
}

double hitung_gaji() {
return gapok * masa_kerja;
}
}

class OverloadingKonstruktor {
public static void main(String args[]) {
Penggajian Karyawan1 = new Penggajian(10, 15);
Penggajian Karyawan2 = new Penggajian();
Penggajian Karyawan3 = new Penggajian(5);
double gaji;
gaji = Karyawan1.hitung_gaji();
System.out.println("Gaji Karyawan 1 = " + gaji);
gaji = Karyawan2.hitung_gaji();
System.out.println("Gaji Karyawan 2 = " + gaji);
gaji = Karyawan3.hitung_gaji();
System.out.println("Gaji Karyawan 3 = " + gaji);
}
}
Output

Penjelasan :
Program di atas adalah program java untuk mengizinkan kelas induk untuk mendefinisikan sebuah
method general (bersifat umum) untuk semua kelas turunanya, dan selanjutnya kelas-kelas turunan dapat
memperbaharui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya
masing-masing, Overloading adalah suatu keadaan dimana beberapa method memiliki nama yang sama
tetapi fungsional berbeda, seperti contoh diatas,maka overloading ini adalah method jumlah yang
menjumlahkan angka yang berbeda beda dengan jumlah yang berbeda juga memiliki nama yang sama tapi
memiliki isi yang berbeda.

c. PEMBAHASAN LATIHAN
Program Latihan

class BujurSangkar {
public void luas() {
System.out.println("Metode area kelas dasar disebut ");
}

public void keliling() {


System.out.println("Metode area kelas dasar disebut ");
}
}

class PersegiPanjang extends BujurSangkar {


private double panjang, lebar;

PersegiPanjang(double p, double l) {
panjang = p;
lebar = l;
}
public void luas() {
System.out.println("Luas dari Persegi Panjang = " + (panjang
* lebar));
}

public void keliling() {


System.out.println("Keliling dari Persegi Panjang = " + 2 *
(panjang * lebar));
}
}

class LatihanPolimorfis {
public static void main(String[] args) {
BujurSangkar b;
PersegiPanjang r = new PersegiPanjang(6, 12);
b = r;
b.luas();
b.keliling();
}
}
Output

d. PEMBAHASAN TUGAS
Program Tugas

class AlatGerak {
void bergerak() {
System.out.println(" Saya mampu bergerak");
}
}

class Sayap extends AlatGerak {


void bergerak() {
System.out.println(" Saya bisa terbang");
}
}
class Kaki extends AlatGerak {
void bergerak() {
System.out.println(" Saya bisa jalan-jalan");
}
}

class Burung {
private AlatGerak alatGerak = new AlatGerak();

Burung() {
System.out.println("Hai saya Burung");
}

public void bergerak() {


alatGerak.bergerak();
}

public void setAlatGerak(AlatGerak alatGerak) {


this.alatGerak = alatGerak;
System.out.println("Sekarang saya pakai " + alatGerak);
}
}

class BurungTest {
public static void main(String[] args) {
Burung merpati = new Burung();
merpati.bergerak();
Sayap sayap = new Sayap();
Kaki kaki = new Kaki();
merpati.setAlatGerak(sayap);
merpati.bergerak();
merpati.setAlatGerak(kaki);
merpati.bergerak();
}
}

Output
e. KESIMPULAN
Kesimpulan dari praktikum ini adalah Polymorphisme meruapakan salah satu sifat yang unik dalam
bahasa pemrograman yang berbasis objek khususnya java, sifat ini sangat membantu programmer dalam
memanipulasi program agar lebih mudah dan efisien. Polimorfisme terdiri dari 2 jenis, yaitu dengan
menggunakan fungsi override dan overload method, yang masing-masing memiliki kemampuan dan syarat
yang berbeda. Dengan kedua fungsi tersebut memungkinkan terciptanya berbagai bentuk dari satu objek

f. LAMPIRAN
Nama : Agnes Belladona Shandy Ayocha
NIM : 175410123
Kelas : Informatika 3

LISTING PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK


PERTEMUAN 10
• PRAKTIK 1

Program 1

class Jumlah{
public int tambah(int x, int y){
return x+y;
}
public int tambah(int x, int y, int z){
return x+y+z;
}
public int tambah(double pi, int x){
return (int)pi+x;
}
}
public class Penjumlahan{
public static void main(String[] args){
Jumlah obj = new Jumlah();
System.out.println(obj.tambah(2,5));
System.out.println(obj.tambah(2,5,9));
System.out.println(obj.tambah(3.14159, 10));
}
}
Output

• PRAKTIK 2

Program 2

class Penggajian {
double gapok;
double masa_kerja;

Penggajian(double g, double mk) {


gapok = g;
masa_kerja = mk;
}

Penggajian() {
gapok = 0;
masa_kerja = 0;
}

Penggajian(double lembur) {
gapok = masa_kerja = lembur;
}

double hitung_gaji() {
return gapok * masa_kerja;
}
}

class OverloadingKonstruktor {
public static void main(String args[]) {
Penggajian Karyawan1 = new Penggajian(10, 15);
Penggajian Karyawan2 = new Penggajian();
Penggajian Karyawan3 = new Penggajian(5);
double gaji;
gaji = Karyawan1.hitung_gaji();
System.out.println("Gaji Karyawan 1 = " + gaji);
gaji = Karyawan2.hitung_gaji();
System.out.println("Gaji Karyawan 2 = " + gaji);
gaji = Karyawan3.hitung_gaji();
System.out.println("Gaji Karyawan 3 = " + gaji);
}
}
Output

Anda mungkin juga menyukai