Fungsi Overloading pada C++ | Belajar C++ 30 | Tutorial C++ 30

Assalamualaikum sobat, pada artikel kali ini kita akan belajar tentang fungsi overloading pada C++, yuk simak artikel kali ini.

Apa itu Fungsi Overloading ?

Fungsi overload adalah fitur dari pemrograman berorientasi objek pada C++ yang mana kita bisa membuat dua atau lebih fungsi dengan nama yang sama namun parameternya berbeda. Pada fungsi overload kita membebani pekerjaan yang berbeda pada nama fungsi yang sama. Untuk membuat fungsi overload, nama fungsi haruslah sama dan argumen harus berbeda.

Dengan menggunakan fungsi overloading, beberapa fungsi dapat memiliki nama yang sama dengan tugas yang berbeda-beda. Fungsi overload digunakan untuk meningkatkan keterbacaan kode sehingga programmer tidak perlu mengingat banyak fungsi dengan nama yang berbeda-beda. Jika kita menginginkan operasi dengan jenis dan jumlah argumen yang berbeda namun hanya ingin menggunakan nama fungsi yang sama, kita bisa menggunakan fungsi overload.

Contoh

int fungsiKu(int a)

float fungsiKu(float a)

double fungsiKu(double a, double b)

Pada contoh berikut, kita memiliki dua buah fungsi untuk menjumlahkan angka dengan tipe yang berbeda:

Contoh program 1 : Tanpa menggunakan fungsi overloading

#include <iostream>

using namespace std;


int fungsiPenjumlahanInt(int a, int b){

    return a + b;

}


double fungsiPenjumlahanDouble(double a, double b){

    return a + b;

}


int main(){

    int angkaKu1 = fungsiPenjumlahanInt(8 , 5);

    double angkaKu2 = fungsiPenjumlahanDouble(4.3 , 6.26);

    cout << "Int: " << angkaKu1 << "\n";

    cout << "Double: " << angkaKu2;

    return 0;

}

Hasil program 1

Daripada kita mendefinisikan dua buah fungsi untuk melakukan hal yang sama, lebih baik kita meng-overload (membebani) satu fungsi.

Contoh program 2 : menggunakan fungsi overload

#include <iostream>

using namespace std;

int fungsiPenjumlahan(int a, int b){

    return a + b;

}

double fungsiPenjumlahan(double a, double b){

    return a + b;

}

int main(){

    int angkaKu1 = fungsiPenjumlahan(8 , 5);

    double angkaKu2 = fungsiPenjumlahan(4.3 , 6.26);

    cout << "Int: " << angkaKu1 << "\n";

    cout << "Double: " << angkaKu2;

    return 0;

}


Hasil program 2

Catatan : Beberapa fungsi dapat memiliki nama yang sama sepanjang angka dan tipe data dari parameternya berbeda.

Untuk menggunakan fungsi overloading terdapat beberapa kondisi yang harus dipenuhi, jika tidak maka akan terjadi error. Berikut adalah kondisi untuk menggunakan fungsi overloading :
• Parameter harus memiliki tipe data yang berbeda
• Parameter harus memiliki jumlah yang berbeda
• Parameter harus memiliki urutan parameter yang berbeda.

Fungsi Overloading Dengan Tipe Data Parameter Yang Berbeda

Perhatikan kode program berikut
void hitung (int x, int y)
void hitung (double x, double y)

Kedua fungsi diatas memiliki nama yang sama, yaitu "hitung". Namun kedua fungsi tersebut memiliki parameter dengan tipe data yang berbeda.
• Fungsi yang pertama memiliki 2 buah parameter dengan tipe data "integer".
• Fungsi kedua memiliki 2 buah parameter dengan tipe data "double"

Contoh Program 3 : Fungsi overloading dengan tipe data parameter yang berbeda


#include <iostream>
using namespace std;

void hitung (int x, int y){
   cout << "hasil 1 = " << (x + y);
   cout << endl;
}

void hitung (double x, double y){
   cout << "hasil 2 = " << (x + y);
}

int main(){
  hitung (5 , 8);
  hitung (2.2 , 4.4);

return 0;
}


Hasil program 3

Fungsi Overloading Dengan Jumlah Parameter Yang Berbeda

Perhatikan kode program berikut :

void hitung(int x, int y)
void hitung(int x, int y, int z)

Pada kode program diatas parameternya memiliki tipe data yang sama yaitu "integer" namun jumlah parameternya berbeda.
• Fungsi yang pertama memiliki 2 buah parameter.
• Fungsi yang kedua memiliki 3 buah parameter.

Contoh program 4 : Fungsi Overloading Dengan Jumlah Parameter Yang Berbeda


#include <iostream>
using namespace std;

void hitung(int x, int y){
 cout << "hasil 1 = " << (x + y);
 cout << endl;
}

void hitung(int x, int y, int z){
 cout << "hasil 2 = " << (x + y + z);
}

int main(){

 hitung(1 , 3);
 hitung(2 , 4, 6);
 
return 0;
}

Hasil program 4

Fungsi Overloading Dengan Urutan Parameter Yang Berbeda

Perhatikan kode program berikut :
void hitung(int x, double y)
void hitung(double x, int y)

Pada kode program diatas :
• Fungsi pertama memiliki urutan parameter x tipe data integer kemudian variabel y dengan tipe data double.
• Fungsi kedua memiliki urutan parameter tipe data double untuk variabel x dan tipe data integer untuk variabel y.

Contoh program 5 : Fungsi overloading dengan urutan parameter yang berbeda

#include <iostream>
using namespace std;

void hitung(int x, double y){
 cout << "hasil 1 = " << (x + y);
 cout << endl;
}

void hitung(double x, int y){
 cout << "hasil 2 = " << (x + y);
}

int main(){

 hitung(1 , 3.5);
 hitung(2.5 , 4);
 
return 0;
}

Hasil program 5

Sekian untuk postingan kali ini, sampai jumpa di artikel selanjutnya. Happy a nice day...

Posting Komentar untuk "Fungsi Overloading pada C++ | Belajar C++ 30 | Tutorial C++ 30"