REKURSIF

9
LOGO “ Add your company slogan REKURSIF

description

Algoritma

Transcript of REKURSIF

  • REKURSIFRekursif adalah salah satu metode dalam dunia matema-tika dimana definisi sebuah fungsi mengandungfungsi itu sendiri. Dalam dunia pemrograman, rekursi diimplemen-tasikan dalam sebuah fungsi yangmemanggildirinyasendiri.Rekursif sebenarnya merupakan teknik perulangan juga, namun dalam konteks yang berbeda. Fungsi refursif adalah fungsi yang dapat memanggil dirinya sendiri. Maksudnya fungsi tersebut menggunakan dirinya sendiri untuk proses perulangan.Contoh fungsi rekursif misalnya adalah fungsipangkat,faktorial,danbarisanfibonacci.

  • Rekursif vs Iterasi

    RekursifIterasiKode program lebih ringkas dan mudah dipahamiKode program lebih panjang, untuk beberapa kasus solusi iteratif lebih sulit diterapkanMembutuhkan alokasi memori yang besarRelatiflebihkecilalokasimemorinyaTidak cocok ketika kinerja tinggi diperlukan, karena terjadi overhead pemanggilan fungsi dalam jumlah yang relatif besarCocokditerapkanketikakinerjaaplikasi harusditerapkan(hanya adasatukalipemanggilanfungsi)

  • REKURSIFCONTOH: Rekursif Pangkat Untukx=10dany=0,hasildarixadalah1.Untukx=10dany=3hasilnyadapatdi gambarkansebagaiberikut:

  • Rekursif tanpa akhir

  • Rekursif dengan Akhir

  • REKURSIF: FaktorialOutput : Pemanggilan f(5) := 5 * f(4)= 5 * 4 * f(3)= 5 * 4 * 3 * f(2)= 5 * 4 * 3 * 2 * f(1)= 5 * 4 * 3 * 2 * 1= 120Faktorial dengan Iterasiprocedure fakt(n:longint;var hasil:longint);var f,k:longint; begin f:=1; for k:=1 to n do f:=f*k; hasil:=f; end;

  • REKURSIF: Fibonancia[1]:=1;a[2]:=1;for k:=2 to i dobegina[k+1]:=a[k]+a[k-1];end; for k:=1 to i dobeginwrite(a[k],' ');end;

  • KesimpulanRekursif merupakan salah satu teknik yang perlu Anda kuasai dalam dunia pemrograman. Sering kali,masalah yang sangat kompleks, terutama di bidang Artificial Intelligence atau Kecerdasan Buatan, cararekursiflebihmudahditerapkan untukmemecahkansuatumasalahdibandingkanteknikiteratif. Namundemikian, Anda telah melihat sendiri bahwa ada masalah tertentu dimana rekursifmenyebabkan kinerja aplikasi sangat terbebani.

    Lakukan analisis secara mendalam pada masalah yangakandipecahkan,dantentukanmetodeyangakanditerapkan.