Anda di halaman 1dari 11

Modul 4 Overloading

MODUL 4
OVERLOADING

A. Tujuan

1. Mahasiswa memahami penggunaan overloading.


2. Mahasiswa memahami penggunaan overloading konstruktor.

B. Dasar Teori

B.1 Metode Overloading

Java mengijinkan lebih dari satu method dengan nama yang sama dalam satu
class yang sama, inilah yang dikenal dengan Method Overloading. Yang wajib
diperhatikan adalah walaupun diijinkan untuk menggunakan nama method yang sama
tetapi, daftar parameter/argumen yang digunakan haruslah berbeda untuk masing-
masing method. Tanpa kita sadari sebenarnya kita sering memanggil method
overloading ketika membuat program java, salah satunya adalah System.out.println.
Method ini adalah method overloading dimana sebenarnya terdiri dari banyak method
dengan nama yang sama, tetapi daftar argumennya yang berbeda-beda. Terdapat
beberapa syarat overloading yaitu:

1. Memiliki jumlah parameter berbeda.

2. Jika jumlah parameter sama tipe data harus berbeda.

Ciri-ciri overloading :

a. Nama method harus sama

b. Daftar parameter harus berbeda

c. Return type boleh sama, juga boleh berbeda

Tujuan : memudahkan penggunaan/pemanggilan method dengan fungsionalitas yang


mirip.

Praktikum Pemrograman Berbasis Object 2023 Modul IV - 1


Modul 4 Overloading
Method overloading adalah pendeklarasian method pada suatu kelas lebih dari
satu kali. Method yang mengalami overloading disebut dengan method overload atau
overloaded method.
public class Codeternity {
public static void main(String[] args) {
Vehicle vehicle = new Vehicle();
vehicle.run();
vehicle.run(100);
vehicle.run("fast");
}
}

class Vehicle {
public void run() {
System.out.println("Vehicle is running");
}

public void run(int speed) {


System.out.println("Vehicle is running at " + speed + "
km/h");
}

public void run (String speed) {


System.out.println("Vehicle is running " + speed);
}
}

Penjelasan program: Method run pada kelas Vehicle adalah contoh dari implementasi
dari method overloading. Method run dideklarasikan beberapa kali sehingga disebut
sebagai overloaded method.
 Method run() dan run(int speed) diperbolehkan karena memiliki jumlah
parameter berbeda. 
 Method run(int speed) dan run(String speed) diperbolehkan
karena meskipun jumlah parameternya sama namun tipe datanya berbeda.

B.2 Parameter dalam Overloading


Parameter overloading pada Java adalah teknik dalam pemrograman di mana
sebuah kelas memiliki beberapa metode dengan nama yang sama tetapi berbeda dalam
Praktikum Pemrograman Berbasis Object 2023 Modul IV - 2
Modul 4 Overloading
jumlah dan/atau tipe parameter mereka. Dalam hal ini, Java dapat membedakan antara
metode-metode yang berbeda dengan melihat jumlah dan tipe parameter yang berbeda.
Contohnya, kita dapat membuat kelas bernama "Calculator" dan menambahkan metode
"add" dengan parameter yang berbeda, seperti ini:
public class Calculator {
public int add(int a, int b) {
return a + b;
}

public double add(double a, double b) {


return a + b;
}

public int add(int a, int b, int c) {


return a + b + c;
}
}

Dalam contoh di atas, kelas "Calculator" memiliki tiga metode "add" dengan nama yang
sama tetapi berbeda dalam jumlah dan tipe parameter. Jika kita memanggil metode
"add" dengan dua parameter int, Java akan memanggil metode pertama. Jika kita
memanggil metode "add" dengan dua parameter double, Java akan memanggil metode
kedua. Dan jika kita memanggil metode "add" dengan tiga parameter int, Java akan
memanggil metode ketiga. Dengan menggunakan parameter overloading, kita dapat
membuat kode kita lebih mudah dibaca dan lebih fleksibel. Kita dapat memanggil
metode dengan nama yang sama untuk melakukan tugas yang berbeda tergantung pada
parameter yang digunakan.
Berikut ini daftar argumen/parameter pada method println, yaitu:
 println(String);
 println(float);
 println(char);
 println(double);
 println(int);
 println(long);
 println(char[]);
 println(boolean);
Praktikum Pemrograman Berbasis Object 2023 Modul IV - 3
Modul 4 Overloading
 println(Object);
 println(Object);

B.3 Penggunaan Overloading dalam Sebuah Program


Penggunaan overloading dalam sebuah program dapat membuat program
menjadi lebih fleksibel dan mudah dipahami. Contoh penggunaan overloading dalam
program adalah sebagai berikut:
1. Metode untuk menghitung luas
Kita dapat membuat metode untuk menghitung luas dengan menggunakan
parameter yang berbeda, misalnya untuk menghitung luas segitiga, persegi, atau
lingkaran. Dalam hal ini, kita dapat menggunakan overloading untuk membuat
beberapa metode yang memiliki nama yang sama tetapi memiliki jumlah dan tipe
parameter yang berbeda, seperti ini:
public class Luas {
public double hitungLuas(double alas, double tinggi) {
return 0.5 * alas * tinggi; //rumus luas segitiga
}

public double hitungLuas(double sisi) {


return sisi * sisi; //rumus luas persegi
}

public double hitungLuas(double jariJari, String lingkaran) {


double hasil;
if(lingkaran.equals("Lingkaran")) {
hasil = 3.14 * jariJari * jariJari; //rumus luas
lingkaran
} else {
hasil = -1;
}
return hasil;
}
}

Dalam contoh di atas, kita memiliki tiga metode yang memiliki nama yang sama tetapi
jumlah dan tipe parameter yang berbeda. Kita dapat memanggil metode "hitungLuas"
dengan parameter yang berbeda tergantung pada jenis bangun datar yang ingin kita
hitung luasnya.
Praktikum Pemrograman Berbasis Object 2023 Modul IV - 4
Modul 4 Overloading
A. Metode untuk melakukan operasi pada angka
Kita juga dapat menggunakan overloading untuk membuat beberapa metode
yang memiliki nama yang sama tetapi melakukan operasi yang berbeda pada angka,
seperti penjumlahan, pengurangan, perkalian, dan pembagian, dengan menggunakan
tipe parameter yang berbeda. Contohnya:
public class OperasiAngka {
public int hitung(int a, int b) {
return a + b; //penjumlahan
}

public double hitung(double a, double b) {


return a - b; //pengurangan
}

public int hitung(int a, int b, int c) {


return a * b * c; //perkalian
}

public double hitung(double a, double b, double c) {


return a / b / c; //pembagian
}
}

Dalam contoh di atas, kita memiliki empat metode yang memiliki nama yang sama
tetapi jumlah dan tipe parameter yang berbeda. Kita dapat memanggil metode "hitung"
dengan parameter yang berbeda tergantung pada jenis operasi matematika yang ingin
kita lakukan pada angka. Dengan menggunakan overloading, kita dapat membuat
program menjadi lebih fleksibel dan mudah dipahami, sehingga meningkatkan kinerja
dan efektivitas program secara keseluruhan.

Praktikum Pemrograman Berbasis Object 2023 Modul IV - 5


Modul 4 Overloading
C. Studi Kasus / Permasalahan
1. Buatlah constractor overload untuk menghitung volume bangun ruang
balok, kubus dan limas. Isi nilai tinggi dengan 2 digit nim terakhir anda.
2. Buatlah 3 method overload untuk menghitung luas bangun datar persegi,
segitiga, dan jajar genjang. Isi nilai tinggi dengan 2 digit nim terakhir
anda.

Praktikum Pemrograman Berbasis Object 2023 Modul IV - 6


Modul 4 Overloading
D. Hasil (flowchart, script program, hasil program)
D.1 program constractor overload untuk menghitung volume bangun ruang
balok, kubus dan limas
Flowchart

Praktikum Pemrograman Berbasis Object 2023 Modul IV - 7


Modul 4 Overloading
Script Program
package p4444;
class volumBangun {
double p,l,t,volume;

public volumBangun(int sisi){


this.p =this.l = this.t = sisi;
}

public volumBangun(int p, int l, int t)


{
this.l = l;
this.p = p;
this.t = t;

public volumBangun(int sisi, int t)


{
this.p = 0.333333*sisi;
this.l = sisi;
this.t = t;
}
public void tampil()
{
volume = p*l*t;
System.out.printf("\nvolume = %.2f",volume);
}
}
public class SKK8 {
public static void main(String[] args) {
volumBangun kubus = new volumBangun(41);
volumBangun balok = new volumBangun(8,10,41);
volumBangun prisma = new volumBangun(20,41);
kubus.tampil();
balok.tampil();
prisma.tampil();
}
}

Praktikum Pemrograman Berbasis Object 2023 Modul IV - 8


Modul 4 Overloading
Hasil Runing

Praktikum Pemrograman Berbasis Object 2023 Modul IV - 9


Modul 4 Overloading
E. Analisa Data
package p4444;

Script di atas mendefinisikan package dengan nama p4444.Dapat dikatakan


bahwa kita membungkus suatu program ke dalam satu paket yang sama.

class volumBangun {
Program class volumBangun yang memiliki tiga buah constructor overload
untuk menghitung volume dari bangun ruang kubus, balok dan prisma.

double p,l,t,volume;
Pada program class volumBangun, terdapat empat variabel yaitu p, l, t, dan
volume. Variabel p, l, dan t digunakan sebagai parameter untuk menghitung volume
dan variabel volume digunakan untuk menyimpan hasil perhitungan volume.

public volumBangun(int sisi){


this.p =this.l = this.t = sisi;
}

public volumBangun(int p, int l, int t)


{
this.l = l;
this.p = p;
this.t = t;

public volumBangun(int sisi, int t)


{
this.p = 0.333333*sisi;
this.l = sisi;
this.t = t;
}

Pada constructor overload yang pertama yaitu “public volumBangun(int


sisi)” ini menggunakan sisi sebagai parameter untuk menerima nilai sisi yang
digunakan sebagai nilai panjang, lebar, dan tinggi yang akan disimpan pada variable
p, l , dan t.
Constructor overload yang kedua yaitu “public volumBangun(int p, int l,
int t)” ini menggunakan parameter p, l, dan t untuk menerima tiga nilai yaitu nilai
panjang, lebar, dan tinggi.
Constructor overload yang ketiga yaitu “public volumBangun(int sisi,
int t)” pada program ini menggunakan parameter sisi dan tinggi, untuk menerima

Praktikum Pemrograman Berbasis Object 2023 Modul IV - 10


Modul 4 Overloading
dua nilai yaitu nilai sisi dan tinggi. Nilai sisi digunakan untuk menghitung nilai p
dengan rumus 0.333333*sisi, nilai lebar disimpan pada nilai sisi, dan nilai tinggi
disimpan dengan nilai yang diberikan.

public void tampil()


{
volume = p*l*t;
System.out.printf("\nvolume = %.2f",volume);
}

Setelah nilai p, l, dan t telah ditentukan, maka kita menggunakan method yang
bernama “public void tampil()” yang berfungsi untuk menghitung volume
dengan rumus “volume = p*l*t;” dan menampilkannya di layar.

public class SKK8 {


public static void main(String[] args) {
volumBangun kubus = new volumBangun(41);
volumBangun balok = new volumBangun(8,10,41);
volumBangun prisma = new volumBangun(20,41);
kubus.tampil();
balok.tampil();
prisma.tampil();
}
}

Program SKK8 menggunakan class volumBangun untuk menghitung volume


dari tiga jenis bangun ruang yaitu kubus, balok, dan prisma. Pada program ini,
terdapat tiga buah objek volumBangun yang dideklarasikan, yaitu kubus, balok, dan
prisma. Masing-masing objek tersebut diinisialisasi dengan parameter yang berbeda
sesuai dengan jenis bangun ruang.
Setelah objek diinisialisasi, maka selanjutnya menggunakan method tampil()
untuk setiap objek, yang kemudian akan menampilkan hasil perhitungan volume
sesuai dengan parameter yang telah diberikan.

Praktikum Pemrograman Berbasis Object 2023 Modul IV - 11

Anda mungkin juga menyukai