Langsung ke konten utama

Rekursif (Algoritma dan Pemograman 2)

Rekursif sangat penting dalam pemograman, mengapa dikatakan demikian ? karena rekursif menyediakan teknik menyelesaikan persoalan yang di dalamnya mengandung definisi persoalan itu sendiri. Sayangnya rekursif adalah materi yang sulit dimengerti oleh pemula. Dalam sebuah rekursi sebenarnya tekandung pengertian sebuah prosedur atau fungsi. Perbedaannya adalah bahwa rekursi bisa memanggil dirinya sendiri, kalau prosedur atau fungsi harus diipanggil melalui pemanggil prosedur atau fungsi.

Definisi Rekursif diturunkan secara matematik. Definisi tidak formal menyatakan bahwa sebuah objek dikatakan rekursif jika ia didefinisikan menjadi lebih sederhana dalam terminologi dirinya sendiri. Nicklaus Wirth mendefinisikan sebagai berikut:
"An Object is said be Recursive if it Partially Consist or is Defines in Terms of Itself".

Sumber lain mendefinisikan Rekursif sebagai salah satu metode dalam dunia matematika dan pemograman dimana definisi sebuah fungsi mengandung fungsi itu sendiri. Dalam dunia pemograman, rekursif diimplementasikan dalam sebuah fungsi yang memanggil dirinya sendiri misalnya : pangkat, faktorial, dan barisan fibonacci.

Dalam kehidupan sehari-hari banyak terdapat objek rekursif. Seperti, jika kita melakukan pengamatan terhadap daun pakis, tahukan anda bahwa daun pakis dibentuk oleh ranting-ranting daun yang memiliki pola yang mirip dengan daun pakis itu sendiri. Setiap ranting daun disusun lagi oleh ranting daun dengan pola yang mirip. Hal tersebut sama dengan pohon cemara. Objek Rekursif dalam hal ini disebut Fraktal. Dalam bidang grafik dan seni, Fraktal dimanfaatkan untuk membangkitkan gambar yang indah dan menawan.


Ciri masalah yang dapat diselesaikan secara rekursif adalah masalah itu dapat direduksi menjadi satu atau lebih masalah-masalah serupa yang lebih kecil. Secara umum metode algoritma rekursi terdiri atas dua komponen utama, yaitu :
Seperti apa contohnya ?


1. Bagian induksi, merupakan satu atau lebih kasus yang menyelesaikan masalah serupa namun dengan ukuran data ataupun metode yang lebih sederhana.
2. Bagian penyetop, merupakan satu atau lebih kasus yang paling sederhana dan solusinya tidak perlu lagi terjadi rekursif.

Disini saya contohkan contoh pada proses Faktorial. Faktorial dari n (ditulis n!), adalah hasil kali dari bilangan tersebut dengan bilangan di bawahnya, di bawahnya hingga bilangan 1. Sebagai contoh, 4! = (4)(3)(2)(1).
contoh :
  3!=3.(3-1)!
  3!=3.2!     -->   Faktorial n-1
  3!=3.2.(2-1)!
  3!=3.2.1!   -->  Faktorial n-2
  3!=3.2.1

Program dalam bahasa c++ nya :
1. #Include<iostream.h>
2. #include <conio.h>
3. 
4. Int Faktorial (int n)
5. {
6. if((n==0)||(n==1))
7. return(1);
8. else 
9. return(n*faktorial(n-1));
10. }
11. Void main()
12. {
13. int x;
14. cout<< "masukkan angka";
15. cin>>n;
16. cout<<"Hasil Faktorial = ";
17. faktorial(x);
18 getch();
19. }



Contoh program lain :


 Sekian ^^

Nama  : Mercy Gayatri 

NIM   : 09031181320034 

Kelas  : Sistem Informasi Reguler 2B 

Komentar

Postingan populer dari blog ini

ARRAY (Kuliah Algoritma dan Pemograman 2 )

Apa Array itu ? Berikut adalah berbagai macam pengertian array : 1. Array adalah kum;pulan data bertipe sama yang mengginakan nama sama.  2. Array adalah larik atau koleksi dimana setiap elemen memakai nama yang sama dan bertipe sama dan setiap elemen diakses dengan menggunakan nama elemennya .  3. Array adalah struktur data hyang menyimpan sekum;piulan elemen yang bertipe sama, dan setiap elemen diakses langsung melalui indeksnya.  dari ketiga pengertian diatas dapat disimpulkan bahwa fungsi array adalah untuk meyumpan sekumpulan elemen (dengan catatan : tipenya sama). Array dapat dianalogikan sebagai lemari atau locker yang memiliki sederetan tempat penyimpanan dan untuk mengambil suatu barng tertentu kita hanya perlu mengingat agtau mengetahui nomor / kode pintunya saja. (dalam array disebut indeks).  Array dibedakan menjadi  1. Array berdimensi 1 2. Array berdimensi 2 3. Array berdimensi 3  ini adalah contoh array berdimensi s...

Selection Short

Adalah metode penyortiran yang lain.  Ide dasarnya adalah melakukan beberapa kali pencarian data atau penjelajahan data. Metode selection sort adalah perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan. Selection sort merupakan metode pengurutan dengan mencari nilai data terkecil dimulai dari data posisi 0 hingga posisi N-1. Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1. Selama proses, perbandingan dan pengubahan, hanya dilakukan pada indeks perbandingan saja, pertukaran data secara fisik terjadi pada akhir proses. Metode pengurutan ini disebut pengurutan maksimum atau minimum karena didasarkan pada pemilihan elemen maksimum atau minimum tersebut dengan elemen terujung larik (elemen ujung kiri atau elemen ujung kanan). Selanjutnya elemen terujung itu kita "isolasi" dan tidak diikutsertakan pada proses selanjutnya. Karena proses utama dalam pengurutan adalah pemilihan elemen maksimum atau minimum, maka metode ini disebut meto...