Minggu, 11 Desember 2011

BIL.FAKTORIAL

Coding Bil.Faktorial :
package daa;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Faktorial {
      public static void main (String [] args){
            String angka[]={"0","1","2","3","4","5","6","7","8","9"};
            String inputan="";
            String cetak="";
            char chr=' ';
            boolean input_ok=false;
            boolean proses_1=false;
            boolean proses_2=false;
            int m=1;
            int hasil=1;
        InputStreamReader keyreader=new InputStreamReader(System.in);
        BufferedReader input=new BufferedReader(keyreader);
        while(!input_ok){
        try {
        System.out.print("Masukan Inputan = ");
        inputan=input.readLine();
        if (inputan.length()==2)
            input_ok=true;
        else input_ok=false; 
        }
        catch (Exception e) {
        }}
       for (int i=0;i<angka.length;i++){
           chr=inputan.charAt(0);
              if (chr==angka[i].charAt(0))
               proses_1=true;
       }
        if (proses_1){
        chr=inputan.charAt(1);
        if (chr=='!')proses_2=true;else proses_2=false;
        }
        if (proses_1 & proses_2){
            m=Integer.valueOf(String.valueOf(inputan.charAt(0)));
        for(int i=m;i>=1;i--){
        hasil=hasil*i;
        if (1<i)
        cetak=cetak+i+"x";
        else
        cetak=cetak+i;
        }
        cetak=cetak+"="+hasil;
        System.out.println("Hasil,"+cetak);
        }
        if (!proses_1)
          System.out.println("Output ->Bukan Bilangan dan bukan lambang perhitungan Faktorial");
        else if (proses_1 & !proses_2)
          System.out.println("Output ->Bukan lambang perhitungan Faktorial karena "+ chr);
      }}

FLOWCHART
Penjelasan :
  • Jalankan program
  • Masukan inputan = N
  • Jika inputan atau N lebih besar dari nilai 0
    • Jika Y, maka masuk ke dalam step selanjutnya yaitu perhitungan atau rumus.
    • Jika Tidak, maka langsung dalam proses percetakan bukan factorial.
  • Perhitungan atau rumus = Inputan atau N * N – 1 sampai dengan N terendah yaitu 1
  • Percetakan hasil atau OUTPUT.
  • STOP

ALGORITMA FAKTORIAL.
  • Jalankan program.
  • Masukan inputan
  • Jika inputan lebih dari 0 maka masuk dalam perumusan atau perhitungan.
  • Proses perhitungan = inputan * inputan – 1 sampai dengan terendah = 1
  • Output.
  • Stop