Sumber: http:/...recursion.jpg |
Hmm, Apa itu rekrusi: rekrusi adalah: Rekursi adalah cara untuk menetapkan proses dengan dirinya sendiri. Lebih jelasnya (dan untuk menghalaukan penampilan kesirkularan dalam definisi), langkah-langkah "rumit" dari proses dijelaskan dengan langkah-langkah yang lebih "sederhana", dan kejadian yang paling "sederhana" diberi secara gamblang. Dalam bahasa pemrograman, rekursi berarti memanggil suatu fungsi dari dalam fungsi itu sendiri (wikipedia.org).
Perhatikan" Dalam bahasa pemrograman, rekursi berarti memanggil suatu fungsi dari dalam fungsi itu sendiri". artinya ketika kita membuat sebuah method kita bisa menggunakan method didalam method.
Pusing?? kita lihat contoh:
Pusing?? kita lihat contoh:
public static String rekrusi(String p){ ... rekrusi("Coba"); ... }
Study Kasus.
Supaya gak bingung sekarang kita langsung coba pada sebuah kasus. Kali ini saya akan mengambil contoh Faktorial. Faktorial adalah (Masih dari wikipedia.org) "Dalam matematika, faktorial dari bilangan asli n adalah hasil perkalian antara bilangan bulat positif yang kurang dari atau sama dengan n. Faktorial ditulis sebagai n! dan disebut n faktorial."
Sebagai contoh, 7! adalah bernilai 7×6×5×4×3×2×1 = 5040. Berikut ini adalah daftar sejumlah faktorial :
0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
11! = 39916800
12! = 479001600
Untuk melakukan perhitungan faktorial dengan java, kita bisa memanfaatkan rekrusi, oke ini dia kodenya:
public class Faktorial { public static void main(String[] args) { System.out.println(fungsiFaktorial(7)); } public static long fungsiFaktorial(long n){ if(n <= 1) return 1; else return n * fungsiFaktorial(n - 1); } }
dan hasilnya adalah 5040.
Cara kerja:
Method diatas akan melakukan perhitungan terus menerus sampai menemui titik akhir. dalam hal ini titik akhirnya adalah jika n <= 1. Jika n <= 1, maka method tidak akan lagi melakukan perulangan operasi dan menghentikannya dengan me-return 1.
if(n <= 1) return 1;
Gampangkan??. Tapi Hati2 jangan sampai kita membuat pengulangan yang tidak menemui titik akhir, bisa2 malah ng-Hank, Hehe. Selamat Mencoba
0 komentar:
Posting Komentar