People Innovation Excellence
 
Feature Image

Recursion

Recursion merupakan salah satu metode pemecahan masalah dimana sebuah solusi pada masalah tersebut bergantung pada solusi dari masalah yang lebih kecil yang merupakan bagian dari masalah tersebut. Recursion adalah salah satu hal yang paling penting di bidang Computer Science dan sebaiknya dikuasai oleh mereka yang bergelut di bidangtersebut.

Bahasa pemrograman biasanya mengimplementasikan recursion ini dengan mengijinkan sebuah fungsi untuk memanggil dirinya sendiri. Pada pembentukan fungsi dengan recursion atau lebih dikenal dengan recursive function,terdapat dua hal yang penting, yakni penentuan: base case dan step reduction.

Secara umum, base case merupakan kondisi dimana fungsi akan berhenti (tidak lagi berulang) dan step reduction adalah bagaimana agar fungsi tersebut kembali memanggil dirinya sendiri dengan tahapan hingga mencapai base case.

Sebagai contoh, pada operasi perhitungan factorial, dimana kita ketahui bahwa factorial merupakan hasil yang didapatkan dengan mengalikan angka yang ada hingga mencapai nilai 1.
Contoh: Faktorial dari 5 adalah 5 * 4 * 3 * 2 * 1 = 120.

Dengan demikian kita ketahui bahwa:

5! = 5 * 4 * 3 * 2 * 1
4! = 4 * 3 * 2 * 1
3! = 3 * 2 * 1
1! = 1
0! = 1

Secara tidak langsung artinya:

5! = 5 * 4!
4! = 4 * 3!
3! = 3 * 2!
2! = 2 * 1!
1! = 1
0! = 1

Bila kita definisikan dalam bentuk recursive function, maka kita dapatkan bahwa bila nilai akan berhenti pada saat bertemu 0 atau 1. Hal inilah yang disebut dengan base case.

Sedangkan dapat kita lihat bahwa hasil factorial kita dapatkan dengan mereduksi nilai sebanyak 1 (contoh 5! Adalah 5 * 4! =>dari 5 ke 4).

Dengan demikian, step reductionnya adalah:

N! = N * (N-1)!

Atau bila kita terjemahkan: factorial(N) = N * factorial (N-1).

Fungsi factorial yang dibahas ini dapat didefinisikan sebagai berikut:

Pada program di atas bila: factorial(5) dipanggil akan menghasilkan instruksi sebagai berikut:

Sehingga di dapatkan bahwa factorial 5 adalah 5 * 4 * 3 * 2 * 1 = 120.


Published at : Updated
Written By
Rini Wongso, S.Kom., M.T.I
Subject Content Coordinator Intelligent Systems | 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