People Innovation Excellence
 

Recursion

Recursion merupakan sebuah fungsi yang memanggil diri nya sendiri. Recursion akan berjalan sampai kondisi berhenti nya terpenuhi. Implemetasi recursion yang paling simple untuk menjelaskan tentang recursion adalah menghitung nilai faktorial.  Berikut gambaran untuk mencari faktorial dari 5:

Faktorial (5)

  • 5 * Faktorial (4)
  • 5 * (4 * Faktorial (3))
  • 5 * (4 * (3 * Faktorial (2)))
  • 5 * (4 * (3 * (2 * Faktorial (1))))
  • 5 * (4 * (3 * (2 * 1)))
  • 5 * (4 * (3 * 2))
  • 5 * (4 * 6)
  • 5 * 24
  • 120

Berikut implementasi dari recursion pada Bahasa C:

#include<stdio.h>

 

int faktorial(int x){

if(x==0 || x==1) return 1;

else return x * faktorial(x-1);

}

 

int main(){

printf(“%d\n”,faktorial(5));

 

return 0;

}

Selain untuk menghitung sebuah rumus matematika, recursion juga dapat digunakan untuk menggantikan looping. Misalkan kita diminta untuk mencetak deret angka 1 sampai 5 menggunakan for, maka code nya akan sebagai berikut:

#include<stdio.h>

 

int main(){

for(int i=1;i<=5;i++){

printf(“%d “,i);

}

return 0;

}

Code untuk mencetak deret 1 sampai 5jika ditulis menggunakan recursion sebagai berikut:

#include<stdio.h>

 

void cetak(int x){

if(x==0) return;

cetak(x-1);

printf(“%d ”,x);

}

 

int main(){

cetak(5);

return 0;

}

Pada materi inidapat disimpulkan terdapat dua komponenyang penting di dalam recursion yaitu kondisi berhenti recursion dan nilai pengurangan atau pembagian nilai data ketika fungsi recursion tersebut dipanggil.

Reference:

Paul Deitel & Harvey Deitel. (2016). C how to program : with an introduction to C++. 08. Pearson  Education. Hoboken. ISBN: 9780133976892.


Published at :
Written By
Fidelson Tanzil, S.Kom., M.T.I
Subject Content Coordinator - Basic Programming | School of Computer Science

Periksa Browser Anda

Check Your Browser

Situs ini tidak lagi mendukung penggunaan browser dengan teknologi tertinggal.

Apabila Anda melihat pesan ini, berarti Anda masih menggunakan browser Internet Explorer seri 8 / 7 / 6 / ...

Sebagai informasi, browser yang anda gunakan ini tidaklah aman dan tidak dapat menampilkan teknologi CSS terakhir yang dapat membuat sebuah situs tampil lebih baik. Bahkan Microsoft sebagai pembuatnya, telah merekomendasikan agar menggunakan browser yang lebih modern.

Untuk tampilan yang lebih baik, gunakan salah satu browser berikut. Download dan Install, seluruhnya gratis untuk digunakan.

We're Moving Forward.

This Site Is No Longer Supporting Out-of Date Browser.

If you are viewing this message, it means that you are currently using Internet Explorer 8 / 7 / 6 / below to access this site. FYI, it is unsafe and unable to render the latest CSS improvements. Even Microsoft, its creator, wants you to install more modern browser.

Best viewed with one of these browser instead. It is totally free.

  1. Google Chrome
  2. Mozilla Firefox
  3. Opera
  4. Internet Explorer 9
Close