Dalam matematika, faktorial dari bilangan asli n adalah
hasil perkalian antara bilangan bulat positif yang kurang dari atau sama
dengan n. Faktorial ditulis sebagai n! dan disebut n
faktorial. Sebagai contoh, nilai dari 7 faktorial adalah
7*6*5*4*3*2*1= 5040. Berikut merupakan contoh program untuk mencari bilangan faktorial dengan metode iteratif.
#include <iostream>
using namespace std;
int factorial(int);
int main()
{
int i;
cout<<"masukkan bilangan bulat positif: ";
cin>>i;
if (i<0)
cout<<"bukan bilangan bulat";
else
cout<<i<<" faktorial adalah: "<<factorial(i)<<endl;
system ("pause");
return 0;
}
int factorial(int i) // fungsi faktorial iteratif
{
int result=1;
for (int n=1; n<=i; n++)
{
result *= n;
}
return result;
}
Iteratif merupakan fungsi perulangan (looping) yang melakukan
proses perulangan terhadap sekelompok instruksi di mana perulangan tersebut
akan berhenti jika batasan syarat sudah tidak terpenuhi.
Pada contoh progam C++ diatas kondisi penghentiannya adalah jika
nilai n lebih kecil atau sama dengan i,
dimana n berawal dari 1. Setiap kali fungsi melakukan perulangan atau looping,
nilai dari n bertambah 1 sehingga nilai n akhirnya menjadi lebih kecil atau
sama dengan nilai i. dan proses iteratif akan diakhiri, sehingga fungsi ini akan
melakukan perulanagnan atau looping sebanyak i kali.
Misalkan pada program C++ diatas
kita masukan bilangan positif 4 maka proses loopingnya adalah: n berawal dari nilai
1 akan dikalikan dengan looping
berikutnya hingga nilai n memenuhi syarat: n<=4.
For (int n=1; n<=4; n++)
{
result
*= n
}
Dengan proses: 1*2*3*4= 24.
Kelebihan
perulangan iteratif:
-
Mudah dipahami dan mudah melakukan debugging ketika ada
perulangan yang salah.
-
Dapat melakukan nested loop atau yang disebut dengan
looping bersarang.
-
Proses lebih singkat karena perulangan terjadi pada
kondisi yang telah disesuaikan.
-
Jarang terjadi overflow karena batasan dan syarat
perulangan yang jelas.
Kelemahan
perulangan iteratif:
-
Tidak dapat menggunakan batasan berupa fungsi.
-
Perulangan dengan batasan yang luas akan menyulitkan
dalam pembuatan program perulangan itu sendiri.
Tidak ada komentar:
Posting Komentar