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...

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...