Sabtu, 06 Desember 2014

Faktorial Iteratif C++

Dalam matematikafaktorial 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