Skip to content
5 November 2008 / Jeffrey Hermanto Halimsetiawan

Iteratif Versus Rekursif – Bahasa C


Iteratif adalah proses perulangan dalam suatu prosedur atau fungsi.

#include <stdio.h>

#include <conio.h>

int Perkalian(int bilangan1, int bilangan2)

{

int pro=0;

for (int i=bilangan2;i>=1;i–)

{

pro+=bilangan1;

}

return (pro);

}

int main(void)

{

int x,y,N;

scanf(“%d %d”,&x,&y);

N = Perkalian(x,y);

printf(“Hasil : %d”,N);

getch();

return (0);

}

Rekursif merupakan sebuah proses yang terjadi apabila dalam sebuah fungsi terdapat sebuah instruksi yang memanggil (calling) fungsi itu sendiri.

Contoh program:

#include<stdio.h>

void hitung(int n);

main()

{

int N, fact;

scanf(“%i”, &N);

fact= hitung(N);

printf(“%i”, fact);

}

void hitung()

{

int x,y;

if(n==0);

return(1);

x=n-1;

y=hitung(x);

return(n*y);

}


Perbedaan dan Persamaan Rekursif dan Iteratif :

a. Persamaan

      1. Sama-sama merupakan bentuk perulangan.

      2. Dilakukan pengecekan kondisi terlebih dahulu sebelum mengulang.

b. Perbedaan

1) Iteratif menggunakan FOR, WHILE, DO-WHILE sedangkan rekursif hanya menggunakan IF.

Kelebihan metode rekursif:

  1. Solusi sangatlah efisien.

  2. Dapat memecahkan masalah yang sulit dengan tahapan yang mudah dan singkat.

Kekurangan metode rekursif:

  1. Sulit dipahami.

  2. Perlu stack besar (stack overflow).

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: