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