Recursive

  •  Pengertian Recursive
Recursive, dalam konteks pemrograman, mengacu pada suatu konsep di mana sebuah fungsi atau algoritma memanggil dirinya sendiri secara berulang untuk memecahkan masalah yang lebih besar menjadi masalah yang lebih kecil dan lebih terkelola.

    Untuk merancang algoritma recursive untuk masalah yang diberikan, akan berguna untuk memikirkan berbagai cara kita dapat membagi masalah ini untuk mendefinisikan masalah yang memiliki struktur umum yang sama dengan masalah aslinya. Proses ini terkadang berarti kita perlu mendefinisikan kembali masalah asli untuk memfasilitasi submasalah yang tampak serupa.

Kita dapat memakai contoh dari operasi faktorial yang biasa kita pelajari dalam matematika.

    Dalam matematika, faktorial adalah hasil perkalian menaik dan ditulis dengan tanda seru ” ! “. Sebagai contoh, 4 faktorial ditulis dengan 4!, dan nilainya adalah 1 x 2 x 3 x 4 = 24, atau 7 faktorial ditulis dengan 7! = 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040.
  •  Contoh Program Recursive

    Penjumlahan :

#include <iostream>
using namespace std;
int jumlrecc(int x, int y)
{
    int hslrecc;
    if(x == 0)
    {
        hslrecc = y;
    }else
    {
        hslrecc = jumlrecc (x-1,y)+1;
    }

    return hslrecc;
}

// Kamus
int a,b;
int HSL;
int jumlrecc(int a, int b);
int main ()
{
    cout << " Penjumlahan Menggunakan Rekursif "<<endl;
    cout << " Masukkan angka 1 = "; 
    cin>>a; 
    cout << " Masukkan angka 2 = "; 
    cin>>b; 
    cout << " 
    Hasil penjumlahan rekursif = " <<jumlrecc(a,b)<<endl;
}
hasil    :



Perkalian

#include <iostream>
using namespace std;
int factorial(int a) {
   if ((a==0)||(a==1))
   {
        return 1;

   }
   else
   {
        return a*factorial(a-1);
   }
}

int main()
{
    int a;

    cout << "Program Menampilkan Deret Nilai Faktorial" << endl;
    cout << "Masukan nilai factorial : ";
    cin >> a;  //imputan faktorial
    cout << endl;
    cout << "\n\nRekursif --> Hasil perkalian semua nilai dari " << a << "! = " << factorial (a); //pemanggilan dan menampilkan faktorial
    return 0;
}

}
hasil    :


Perpangkatan

#include <iostream>
using namespace std;
// Fungsi rekursif untuk perpangkatan
double perpangkatan(double basis, int pangkat) {
    // Basis dari rekursi: pangkat 0 selalu menghasilkan 1
    if (pangkat == 0) {
        return 1;
    }

    // Kasus umum: pangkat > 0
    // Pangkat genap: hasil = (basis ^ (pangkat / 2)) ^ 2
    if (pangkat % 2 == 0) {
        double half_power = perpangkatan(basis, pangkat / 2);
        return half_power * half_power;
    }
    // Pangkat ganjil: hasil = basis * (basis ^ (pangkat - 1))
    else {
        return basis * perpangkatan(basis, pangkat - 1);
    }
}

int main() {
    double basis;
    int pangkat;

    cout << "Masukkan basis: ";
    cin >> basis;

    cout << "Masukkan pangkat: ";
    cin >> pangkat;

    // Memanggil fungsi perpangkatan dan menampilkan hasilnya
    double hasil = perpangkatan(basis, pangkat);
    cout << "Hasil perpangkatan: " << hasil << endl;

    return 0;
}
Hasil    :




Comments

Popular posts from this blog

SEQUENCE

CONTOH PROGRAM C++

PROGRAMMING