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

Do-Re-Mi-Fa-Sol-La-Si-Do

Do Re Mi Fa Sol La Si Do ... Siapa yang tidak tahu not ini ? Not  ini digunakan untuk membuat alunan musik dan disusun sedemikian rupa hingga menghasilkan musik yang indah dan berirama. Aku ingin mencari arti yang menarik dari not ini. Not dimulai dari Do dan berakhir di Do yang satu oktaf lebih tinggi dari Do pertama,dan diantaranya terdapat 6 not dengan intonasi yang berbeda dan semakin meninggi. Do Re Mi Fa Sol La Si Do...  seperti 7 langkah atau bisa juga disebut 7 jenjang yang diinginkan manusia dalam hidupnya, dan sudah pasti terjadi pada manusia tentunya dengan kehendak yang kuasa. Dimulai dari Do dan berakhir di Do, seperti "Aku diciptakan oleh Tuhan dan sudah dipastikan aku akan kembali kepadanya". Coba anda lantunkan not tersebut tanpa not  ke-7 "Do" pasti terasa ada yang kurang,atau tanpa not ke-1 , atau tanpa not ke-1 dan 7. Akan terasa canggung dan seperti kehilangan tangga  terakhir dalam lantunan itu. Aku harus menerima kenyata...

Because of You

Because of You By: Kelly Clarkson I will not make the same mistakes that you did (Aku tidak akan membuat kesalahan yang sama seperti yang kau lakukan) I will not let myself (aku tidak akan membiarkan diriku) Cause my heart so much misery (karena hatiku sangat sengsara) I will not break the way you did, (Aku tidak akan hancur seperti dirimu) You fell so hard (Kau jatuh begitu keras) I've learned the hard way (Aku sudah belajar dengan jalan yang keras) To never let it get that far (Untuk tidak membiarkan itu terlalu jauh) Because of you (Karena kamu) I never stray too far from the sidewalk (Aku tidak pernah tersesat jauh dari jalan) Because of you (karena kamu) I learned to play on the safe side so I don't get hurt (Aku belajar untuk bermain pada jalan yang aman, sehingga aku tak tersakiti) Because of you (karena kamu) I find it hard to trust not only me, but everyone around me (Aku sulit percaya pada tak hanya pada diriku, namun juga se...