Algoritma dan Program Mencari Nilai Faktorial

Posted in
Algoritma:
  Deklarasi
    x : integer
  Deskripsi
    read x
    for (int i=2;i<=x;i++)
    if(x mod i = 0)
    write i
    x/=i
    i--
    end

Program biasa:
#include <iostream.h>
#include <conio.h>
void main(){
int x;
cout<<"Mencari nilai faktorial\n";
cout<<"Masukkan bilangan: ";cin>>x;
for(int i=2;i<=x;i++) {
if(x%i==0) {
cout << i << " * ";
x/=i;
i--;}}
getch ();}

Program class:
#include <iostream.h>
#include <conio.h>
class faktorial{
public:
void masukan();
void hasil();
private:
int x;};
void faktorial::masukan(){
cout<<"Mencari nilai faktorial\n";
cout<<"Masukkan bilangan: ";cin>>x; }
void faktorial::hasil(){
for(int i=2;i<=x;i++) {
if(x%i==0) {
cout << i << " * ";
x/=i;
i--;}}}
int main(){
faktorial x;
x.masukan();
x.hasil();
getch ();}

Program jeliot:
import jeliot.io.*;
public class MyClass {
    public static void main() {
        faktorial x = new faktorial();
    x.masukan();
    x.hasil();}}
class faktorial{
void masukan(){
System.out.print("Mencari nilai faktorial\n");
System.out.print("Masukkan bilangan: ");
x =Input.readInt();}
void hasil(){
for(int i =2;i<=x;i++){
if(x%i ==0){
System.out.print(i);
System.out.print(" * ");
x/=i;
i--;}}}
private int x;}

Penjelasan:
Program di atas adalah program yang digunakan untuk mencari nilai faktorial dari sebuah bilangan. Nilai faktorial adalah angka angka prima yang membentuk suatu bilangan, misalnya 12 yang terbentuk dari angka 2 x 2 x 3. Untuk dapat menjalankan program di atas kita membutuhkan nilai x sebagai inputan user. Nilai x akan di proses dengan fungsi for untuk i sama dengan 2 dan i lebih kecil sama dengan x. Apabila benar maka akan di teruskan ke fungsi selanjutnya yaitu IF untuk nilai x mod i sama dengan 0 maka keluarkan i. Langkah selanjutnya nilai x itu di bagi dengan nilai i dan hasilnya akan menggantikan nilai x sebelumnya. Selanjutnya tinggal meneruskan langkah di atas sampai nilai i sudah lebih besar dari x maka program selesai.