Operasi matematika dengan fungsi rekursif

Halo sobat, kali ini kita akan belajar mengenai fungsi “rekursif”. Sebelum belajar mengenai fungsi rekursif, sobat pasti pernah melakukan operasi matematika dalam kehidupan sehari-hari, seperti penjumlahan, pengurangan, perkalian, pembagian. Nah, pada kesempatan kali ini saya akan membantu sobat untuk mengetahui bagaimana cara mengaplikasikan sebuah fungsi untuk menangani masalah tersebut.

Fungsi rekursif adalah suatu fungsi yang memanggil fungsi itu sendiri didalam aksi yang dilakukan didalam fungsi tersebut hingga memenehi suatu syarat / kondisi tertentu.

Syarat Fungsi Rekursif

Syarat fungsi rekursif ada 2 yaitu :  rekuren & Basis

  • Rekuren

rekuren adalah proses kita memanggil fungsi rekursif kita.

  • Basis

basis adalah nilai hasil / akhir yang dikembalikan setelah proses dipanggil.

Cara kerja fungsi rekursif

Fungsi rekursif memiliki cara kerja yang unik yaitu seperti sebuah tangga yang bergerak turun sampai keujung tangga kemudian akan kembali keatas sampai ujung tangga lagi.

 

text4570

 

Contoh Program Bahasa C

 

Penjumlahan (+)

int tambah(int num1, int num2){
    if(num2==0){ // basis
        printf("%d",num1);
        return num1;
    }else{
        printf("1 + ");
        return 1+tambah(num1,num2-1); // rekuren
    }
}

 

Pengurangan (-)

int kurang(int num1, int num2){
    if(num2==0){ // basis
        printf("%d",num1);
        return num1;
    }else{
        printf("1 - ");
        return kurang(num1,num2-1)-1; // rekuren
    }
}

Perkalian (*)

int perkalian(int num1, int num2){
    if(num2==1){ // basis
        printf("%d",num1);
        return num1;
    }else{
        printf("%d + ",num1);
        return num1+perkalian(num1,num2-1); // rekuren
    }
}

Pembagian (/)

int pembagian(int num1, int num2){
    if(num2==0){ // basis
        return 0;
    }else if(num1-num2==0){ // basis
        printf("%d - ",(num2));
        return 1;
    }else if(num1<num2){ // basis
        return 0;
    }else{
        printf("%d - ",(num2));
        return(1+pembagian(num1-num2,num2)); // rekuren
    }
}

Sobat sekalian dapat mendownload artikel dengan format .pdf disini :

downloadTerima kasih kepada rekan-rekan yang membantu mencari ide serta menyusun kata-kata, terima kasih juga kepada Universitas Dian Nuswantoro.

Skip to toolbar