public class SegiTigaPascal
public int proc(int angka){
if(angka == 0){
return 1;
}
else
return angka;
}
public int minus(int x, int y){
if(x - y == 0){
return 1;
}
else
return x- y;
}
public int faktorial(int angka){
int faktorial = 1;
for(int x = 1; x <= angka; x++){
faktorial *= x;
}
return faktorial;
}
public static void main(String[] args) {
SegiTigaPascal panggil = new SegiTigaPascal();
int batas = 4;
int xFaktorial = 1;
int yFaktorial = 1;
int minFaktorial = 1;
int simpan;
int hasil = 0;
for (int x = 0; x <= batas; x++) {
xFaktorial *= panggil.proc(x);
for (int y = batas; y >= x; y--) {
System.out.print(" ");
}
for (int y = 0; y <= x; y++) {
yFaktorial *= panggil.proc(y);
minFaktorial = panggil.minus(x, y);
simpan = panggil.faktorial(minFaktorial);
hasil = xFaktorial/(yFaktorial * (simpan));
System.out.print(hasil + " ");;
}
yFaktorial = 1;
System.out.println("");
}
}
}
NB:
- Script berwarna biru adalah fungsi untuk mengembalikan nilai 1 apabila angka pada parameter adalah 0, Fungsi ini berlaku karena (entah saya yang gak tahu atau emang gak ada) java tidak menyediakan prosedur faktorial sendiri, sehingga fungsi ini akan berjalan apabila dibutuhkan hasil 0 faktorial.
- Sript berwarna merah adalah fungsi untuk menghitung hasil pengurangan. Hasil pengurangan ini diperlukan karena kombinasi nCr = n! / r!(n - r)!. Nah, fungsi ini yang berperan dalam menghitung (n - r)!.
- Script berwarna kuning adalah fungsi untuk menghitung faktorial.
Tidak ada komentar:
Posting Komentar