Pengertian Fungsi Overloading dan Rekursif C++ disertai Ilustrasi, Contoh, Tugas dan Jawaban - TeachMeSoft

Pengertian Fungsi Overloading dan Rekursif C++ disertai Ilustrasi, Contoh, Tugas dan Jawaban

Fungsi Overloading dan Rekursi (Contoh, Tugas dan Jawaban)


Pengertian Fungsi Overloading dan Rekursif


Function overloading adalah suatu proses menggunakan nama yang sama untuk dua atau lebih fungsi. Setiap definisi ulang dari fungsi yang di overloading harus menggunakan tipe parameter, urutan parameter, atau jumlah parameter yang berbeda.

Jumlah, tipe atau urutan parameter dari suatu fungsi disebut function signature. Jika kita memiliki sejumlah fungsi nama yang sama, compiler akan mendefinisikan fungsi-fungsi tersebut berdasarkan parameternya.

Fungsi dapat dipanggil oleh program utama dan juga oleh fungsi yang lain, selain kedua metode pemanggilan tersebut, fungsi dapat juga dipanggil oleh dirinya sendiri.

Yang dimaksud disini adalah pemanggilan fungsi itu didalam fungsi itu sendiri, bukan pada fungsi yang lain. Fungsi yang melakukan pemanggilan terhadap dirinya sendiri disebut dengan fungsi rekursif.


Contoh Program


Contoh 1 Program dengan fungsi overloading
Source code :
#include <iostream>

using namespace std;

int hitung(int x, int y){
return x+y;
}

int hitung(int x, int y, int z){
return x+y+z;
}

double hitung(double pi, double x){
return pi*x;
}

int main (){
cout<<"==========================================="<<endl;
cout<<"| Hasil hitung : "<<hitung(3,2)<<endl;
cout<<"| Hasil hitung : "<<hitung(5,10,2)<<endl;
cout<<"| Hasil hitung : "<<hitung(4,7)<<endl;
cout<<"==========================================="<<endl;
return 0;
}

Run program :
Latihan 1 C ++


Contoh 2 Rekursif tak henti
Source code :
#include <iostream>

using namespace std;

void Tidak_berhenti();

main()
{
Tidak_berhenti();
}

void Tidak_berhenti()
{
cout<<"Ctrl-Break untuk berhenti.\n";
Tidak_berhenti();
}
Ilustrasi Rekursif tak henti
Ilustrasi Rekursif tak henti

Run program :
Latihan 2 - C++


Contoh 3 Menghitung faktorial dengan menggunakna rekursif
Program menghitung faktorial dengan menggunakna rekursif, yang mempunyai algoritma sebagai berikut :
Algorima fungsi factorial
1. Mulai
2. Cek jika nila (n) > 1 maka (a*factorial(a-1)); jika tidak return 1
3. Selesai

Algoritma pemanggilan fungsi hitungDeret
1. Mulai
2. Masukan nilai N
3. Panggil factorial (N), simpan dalam hasil
4. Tampilkan hasil
5. Selesai

Source code :
#include <iostream>

using namespace std;

//Prototipe fungsi
long factorial (long a);

main(){
cout<<"=============================================\n";
cout<<"|| ||\n";
cout<<"|| MENGHITUNG (N) FAKTORIAL ||\n";
cout<<"|| MENGGUNAKAN REKURSIF ||\n";
cout<<"|| ||\n";
cout<<"=============================================\n";
int n;
long hasil;
cout<<"Masukan N : ";cin>>n;
hasil = factorial(n);
cout<<"Jumlah Deret : ";cout<<hasil<<endl;
cout<<"---------------------------------------------\n";
}

//Function
long factorial(long a){
if (a > 1)
return (a*factorial(a-1));
else
return (1);

}


Ilustrasi program :
Ilustrasi program Overloading


Run program :
Run program Menghitung faktorial dengan menggunakna rekursif


Contoh 4 Program menghitung dan menampilkan deret fibonacci dengan rekursif
Source code :
#include <iostream>

using namespace std;

int Fibonaci (int N);

main(){
cout<<"=============================================\n";
cout<<"|| ||\n";
cout<<"|| DERET FIBONACCI ||\n";
cout<<"|| MENGGUNAKAN REKURSIF ||\n";
cout<<"|| ||\n";
cout<<"=============================================\n";
int i,N;
cout<<"Masukan Batas Akhir : ";cin>>N;
for (i=0; i<=N; i++)
cout<<Fibonacci(i)<<endl;
cout<<"---------------------------------------------\n";
}

//Function
int Fibonacci(int N){
if (N < 2)
return (N);
else
return (Fibonacci(N-2)+Fibonacci(N-1));
}

Ilustrasi deret Fibonacci dengan batas akhir 5
Ilustrasi deret Fibonacci

Run program deret fibonacci dengan batas akhir 10 :
Run Program menghitung deret fibonaci dengan rekursif


Tugas


  1. Buatlah algoritma dari sebuah fungsi yang menulis angka dari n ke 0 dengan menggunakan proses rekursi.
  2. Tuliskan algoritma sebuah fungsi untuk menulis angka dari 0 ke n dengan menggunakan proses rekursi
  3. Tuliskan fungsi rekursi untuk membalik suatu kalimat. Sebagai contoh kalimat 'praktikum' dibalik menjadi 'mukitkarp'. Fungsi rekursi ini menerima parameter beritpe string dan mengembalikan string hasil pembalikan.


Jawaban


Akan segera di Upload





Disqus comments