Algoritma Rekursif Dan Iteratif


ALGORITMA REKURSIF DAN ITERATIF


Algoritma Rekursif

  • Pengertian
        Merupakan suatu perulangan yang menggunakan metode memanggil dirinya sendiri dalam sebuah algoritma pemrograman. Jadi metode rekursif, melakukan siklus tanpa menggunakan syntax perulangan seperti, (for, while, do, repeat untill, dan sejenisnya).

        Untuk mengenal suatu program yang mengandung nilai rekursif atau tidak, hanya melihat dari kondisi parameter. Jika program utama tidak memiliki parameter, tidak mungin bersifat rekursif. Selain itu prosedur dann fungsi juga bisa bersifat rekursif. Contoh kasus yang biasa menggunakan rekusif adalah faktorial.
  • Fungsi dan Contoh
       Rekursif merupakan teknik pemrograman yang berguna untuk digunakan pada pekerjaan pemrograman dengan suku dari program lain dengan mengekspresikannya ke dalam suku-suku dari program lain dengan menambahkan langkah-langkah sejenis.

       Program berikut mempelihatkan contoh fungsi rekursif dalam C++, melakukan perhitungan faktorial.

#include <iostream>
using namespace std;

int faktorial (int bil)
{
        if (bil == 1)
             return 1;
        else
             return
             bil*faktorial (bil - 1);
}

int main (int argc, char **argv)
{
              int n;
         cout<<"\t..........fungsi REKURSIF - AgusWahyudi.........."<<end1;
         cout<<"\nMasukan  Angka = ";
         cin>>n;
              cout<<"\nFaktorial "<<n<<'! = "<<faktorial (n) <<end1;
            return 0;
}

Algoritma Iteratif


  • Pengertian
        Merupakan suatu teknik pembuatan algoritma dengan pemanggilan procedure beberpa kali atau hingga suatu kondisi tertentu terpenuhi. Tidak ada variabel lokal baru, program tidak sederhana. Fungsi itertif dapat menggunakan dengan (for, while, repeat untill).


  • Fungsi dan Contoh
        Pendekatan iteratif berbeda dengan rekursif dalam hal ini: Jika pendekatan rekursif memecah-mecah masalah untuk kemudian menyelesaikan masalah iteratif justru langsung mencba menyelesaikan masalah, tanpa memecah-mecahkan masalah tersebut menjadi lebih kecil terlebih dahulu. Untungnya, baik teknik iterasi maupun rekursi sama-sama memiliki tingkat ekspresi yang sama: segala hal yang dapat diselesaikan dengan iterasi akan dapat diselesaikan rekursif.

Berikut contoh program dari teknik iterasi (iteratif) C++:

#include <iostream>

using namespace std;

int main (int argc, char **argv)
{
            int b, c;
       cout <<"\t.........Fungsi ITERATIF - AgusWahyudi........."<<end1;
       cout <<"Masukan Bilngan : ";
       cin>>b;
       c=b;
       cout <<"Bilangan = "<<b<<end1;
       cout<<b<<"! = ";
       four int i = 1; i <= b; i++){
               cout<<i;
               if (i ==b){
                    cout<<'' =";
                    }else{
                         cout<<"*"
                    }
                }
       for (int i = 1; b > 1;){
             b=b-1;
             c=c*b;
             }
             cout<<c;
             return 0;
}

Komentar