Recursion
Recursion
secara
singkat dapat diartikan sebagai sebuah fungsi yang memanggi fungsi itu atau
dirinya sendiri.
source
code
|
|
1
2
3
4
5
6
7
8
9
10
11
|
void myMethod( int counter)
{
if(counter == 0)
return;
else
{
System.out.println(""+counter);
myMethod(--counter);
return;
}
}
|
Fungsi diatas tentu tidak akan
mengalami looping forever karena sudah memiliki kondisi kapan dia selesai yaitu
ketika counternya = 0. Contohnya saja kita panggil fungsi diatas dengan nilai
counter = 5. Lalu apa hasilnya??
Hasilnya adalah :
Hasilnya adalah :
§
5
§
4
§
3
§
2
§
1
Kenapa nilai terakhir = 1? Ini karena
fungsi diatas memiliki kondisi terakhir dimana jika nilai counter = 0, maka
recursion akan berhenti . (Sudah pusing? saya saja sudah pusing karena sudah
kebelet maen dota ) Jika sudah agak mengerti dengan contoh di atas selanjutnya
kita bahas tentang contoh selanjutnya dari recursion yaitu tentang factorial.
Factorial adalah mengalikan suatu bilangan dengan bilangan sebelumnya sampai bilangan itu dikalikan dengan 1.
For example: 6! = 6 X 5 X 4 X 3 X 2 X 1 = 720 . Lalu bagaiman kita mencari hasil factorial dengan konsep recursion ini? Coba perhatikan java code dibawah ini deh.
Factorial adalah mengalikan suatu bilangan dengan bilangan sebelumnya sampai bilangan itu dikalikan dengan 1.
For example: 6! = 6 X 5 X 4 X 3 X 2 X 1 = 720 . Lalu bagaiman kita mencari hasil factorial dengan konsep recursion ini? Coba perhatikan java code dibawah ini deh.
source
code
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
class Factorial {
int
fact(int n) {
int
result;
if ( n ==1) return 1;
result
= fact (n-1) * n;
return result;
}
}
class Recursion {
public static void main (String args[]) {
Factorial
f =new Factorial();
System.out.println("Factorial
of 3 is "+ f.fact(3));
System.out.println("Factorial
of 4 is " + f.fact(4));
System.out.println("Factorial
of 5 is " + f.fact(5));
|
Tidak ada komentar:
Posting Komentar