Kali ini saya akan membahas sedikit banyak tentang Algoritma Rekursif, mari disimak :)
Ini terjadi karena metode / fungsi faktor terus-menerus memanggil dan mengerjakan perkalian n dengan n-1, begitu seterusnya. Untuk memperoleh hasil yang benar dan mengendalikan stack overflow, harus ditambahkan baris yang akan menghentikan fungsi / method pada keadaan tertentu.
Read more: http://denyutama.blogspot.com/2013/04/pemrograman-rekursif-contoh-program-dan_2140.html#ixzz2ygEn0nkn
http://www.ayayank.com/2014/02/bagaimana-menuliskan-fungsi-rekursif.html
Algoritma Rekursif
Salah satu kakas (tool) yang sangat penting dalam pemrograman adalah rekursifitas (rekursif). Disebut sangat penting karena rekursif menyediakan teknik penyelesaian persoalan yang di dalamnya mengandung definisi persoalan itu sendiri. Sayangnya, rekursif merupakan materi yang paling sulit dimengerti oleh pemula pemrograman. Semoga dengan adanya pembahasan kali ini, dapat meningkatkan pemahaman pembaca tentang rekursif.
Defenisi Rekursif
Pemrograman rekursif adalah sebuah cara meringkaskan suatu algoritma dengan memanggil dirinya sendiri. Dalam contoh kasus, biasanya kita menggunakan perulangan untuk mendefinisikan suatu fungsi yang berulang-ulang. Namun dalam hal ini, perulangan tidak dilakukan. Konon dengan memakai pemrograman rekursif, algoritma yang dihasilkan lebih ringkas.
Algoritma Rekursif Dalam Kode Program
Sekedar ingin berbagi, sejauh apa yang saya pahami ketika kita ingin menuliskan kode program yang mewakili suatu keadaan rekursi ( pemanggilan dirinya sendiri ).Untuk berhasil menuliskan kode yang akan berjalan dengan benar saat di-compile atau setelah di eksekusi, ada setidaknya 2 ( dua ) aturan dalam penulisan fungsi / methode rekursif ( mohon dikoreksi bila salah ), diantaranya :Menentukan titik berhenti
Karena rekursi adalah pemanggilan diri sendiri, maka method / fungsi tersebut tidak akan pernah berhenti dan terus mengerjakan fungsi tersebut berulang secara terus menerus bahkan bisa sampai komputer error karena memori penuh atau dengan istilah lain terjadi stack overflow. Nah, untuk mengendalikan hal tersebut kita / programmer harus menentukan kapan fungsi / method rekursif ini harus berhenti. Misal kasus yang paling mudah adalah fungsi rekursi untuk perhitungan faktorial n! = n*(n-1)*(n-2)*....*1. Dengan faktorial kita akan menulis fungsi seperti berikut (contoh dalam java) kode yang salahint faktor(int n){
return n*faktor(n-1);
}
pada kode di atas metode faktorial tidak akan pernah berhenti dan pasti akan tampil error seperti ini.int faktor(int n){
if(n<=1)
return 1;
else
return n*faktor(n-1);
}
Pada baris di atas fungsi akan berjalan baik dan tidak akan terjadi error stack overflow karena kita sudah mendifinisikan waktu kapan fungsi ini harus berhenti. Read more: http://denyutama.blogspot.com/2013/04/pemrograman-rekursif-contoh-program-dan_2140.html#ixzz2ygEn0nkn
http://www.ayayank.com/2014/02/bagaimana-menuliskan-fungsi-rekursif.html
0 komentar:
Posting Komentar