Haii Sobat Programming !!! Kali ini kita ketemu lagi nih. Nah pada pembahasan kali ini kita akan mencoba perulangan yang lebih keren dan tidak biasa, yaitu fungsi rekursif. Disini kita akan mengetahui pengertian, kelebihan, kekurangan serta contoh dari perulangan rekursif pada Java.
Dalam pemrograman ada dua jenis perulangan yang perlu diketahui.
- Perulangan Iteratif.
- Perulangan Rekursif.
Perulangan Iteratif
Perulangan Iteratif adalah proses perulangan yang dilakukan terhadap sekelompok intruksi. Intruksi-intruksi tersebut yang akan membatasi apakah perulangan akan terus berlanjut atau berhenti.
Berikut adalah beberapa kelebihan dari Perulangan Iteratif:
- Lebih mudah dipahami, sehingga jika terjadi kesalahan dapat lebih mudah ditangani.
- Lebih mudah dibuat, karena iteratif mudah dipahami, sehingga lebih friendly bagi pemula untuk membuatnya.
- Dapat melakukan Nested Loop atau perulangan bersarang. Nested Loop adalah perulangan di dalam perulangan.
Sedangkan, kekurangan dari Perulangan Iteratif ini tidak bisa menggunakan fungsi sebagai batasannya. Contoh dari penggunaan Perulangan Iteratif pada java kita bisa menggunakan for, while, dan do-while.
Perulangan Rekursif
Pengertian Perulangan Rekursif pada java adalah perulangan dimana fungsi akan memanggil dirinya sendiri, sehingga terjadi perulangan terus menerus sampai program masuk dalam kondisi yang membatasi program tersebut.
Fungsi yang memanggil dirinya sendiri, artinya di dalam fungsi tersebut dibuat kode yang memanggil dirinya sendiri. Lihat contoh sederhana di bawah.
static int rekursif (int x){
if(x >= 1){
return rekursif(x - 1);
} esle {
return 1;
}
}
Di dalam if pertama, kita bisa melihat bahwa program memanggil dirinya sendiri, rekursif().
Maka perlu dibuat sebuah kondisi menggunakan if, agar fungsi tersebut memiliki kondisi yang dapat membuat program berhenti.
Berikut adalah kelebihan dari perulangan rekursif:
- Dapat dengan mudah membuat perulangan dengan batasan yang luas, sehingga cocok untuk perulangan dalam skala besar.
- Perulangan Rekursif juga dapat melakukan perulangan dengan batasan fungsi.
Sementara itu, kekurangan dari Perulangan rekursif yaitu program yang dibuat akan lebih sulit untuk dibuat dan dipahami.
Perulangan Rekursif cenderung memerlukan stack yang lebih banyak karena setiap perulangannya akan memanggil fungsi baru, sehingga akan menyimpan dan membuat variabel lokal baru.
Perulangan ini juga tidak dapat melakukan Nested Loop atau Looping bersarang. Karena perulangan ini lebih rumit, jadi hanya akan cocok digunakan pada beberapa kasus tertentu. Perulangan Rekursif ini hanya bisa dilakukan dengan menggunakan If-else.
Berikut adalah contoh perulangan rekursif dalam faktorial.
import java.util.*;
class faktorialRekursif{
//Perulangan rekursif
static int faktRekursif(int x){
if(x == 0){
return 1;
}
return x * faktRekursif(x - 1);
}
public static void main (String args[]) {
int bil = 5;
int faktorial = faktRekursif(bil);
System.out.println("Faktorial " + bil + " adalah " + faktorial);
}
}
Penjelasan
Program di atas adalah contoh perulangan rekursif untuk menemukan nilai faktorial dimana pada fungsi faktRekursif() akan selalu memanggil dirinya sendiri sampai nilai x = 0.
Ketika nilai x = 0, maka fungsi akan mengembalikan nilai 1.
Maka output dari program diatas akan menampilkan seperti dibawah ini.
Nah jadi itulah Perulangan Rekursif di Java yang perlu kita ketahui. Semoga bermanfaat bagi kalian yang sedang mendalami pemrograman. Bagaimana tertarik mempelajari Java? Tetap update infomarsi dari kami ya
Leave a Reply