Proses algoritma yang memanggil prosedur/fungsi yang sama atau memanggil dirinya sendiri.
Tentang Rekursif
- Sub program rekursif dipakai untuk permasalahan yang memiliki langkah penyelesaiannya terpola/teratur. Bila memiliki permasalahan yang tidak diketahui algoritmanya, sub program rekursif menjadi pilihan.
- Secara algoritmis bila mempertimbangkan penggunaan memori, waktu eksekusi sub program rekursif bersifat tidak efisien .
- Dengan demikian sub program rekursif umumnya memiliki efisiensi dalam penulisan perintah, tetapi tidak efisien secara algoritmis.
- Meskipun demikian banyak permasalahan yang cocok diselesaikan dengan cara rekursif, misal dalam pencarian / searching.
merupakan sub program yang sangat bermanfaat dalam pemrograman, terutama untuk program atau proyek yang besar.
Manfaat:
- Meningkatkan readibility, yaitu mempermudah pembacaan program
- Meningkatkan modularity, yaitu memecah program besar menjadi bagian yang lebih kecil
- Meningkatkan reusability, yaitu sub program dapat dipakai berulang kali dengan memanggil sub program tanpa menulis perintah yang diulang-ulang.
Sub Program Rekursif adalah sub program yang memanggil dirinya sendiri selama kondisi pemanggilan dipenuhi.
Berdasarkan kondisi diatas maka harus memiliki syarat:
- Kondisi yang menyebabkan pemanggilan dirinya berhenti (disebut kondisi khusus)
- Pemanggilan diri sub program,bila kondisi khusus tidak dipenuhi.
Notasi Rekursif
Faktorial(0) = 1
Faktorial(1) = N * Faktorial (n-1)
Int faktorial(int n) {
If(n<=1)
Return 1;
Else
Return n * faktorial (n-1);
}
Faktorial
Fungsi factorial dari bilangan bulat positif n didefinisikan sebagai berikut:
n!= n.(n-1)! , jika n>1
n!= 1 , jika n=0, 1
contoh :
3!= 3. 2!
3!= 3. 2. 1!
3!= 3. 2. 1
3!= 6
Ilustrasi Perhitungan Pangkat secara Rekursif
Misal 33
No comments:
Post a Comment