Assalamualaikum,
Hari ini saya akan share kode menghitung nilai faktorial melalui program java.
Adakah diantara kita yang tidak mengetahui apa itu nilai faktorial ?
Nilai faktorial terkadang di misalkan n!.
Penyelesaian matematika dari nilai faktorial adalah :
n! = n x (n-1) x (n-2) x (n-3) x .... x 1
Seperti contoh, nilai faktorial 6!
6! = 6 x 5 x 4 x 3 x 2 x 1 = 720
Mungkin sudah ada gambaran tentang nilai faktorial ya!?
Jika sudah ada, ini buatan saya.
import java.awt.event.*; // Library Untuk Event Button
import javax.swing.*; // Library Tambahan
import java.awt.*; // Library Tambahan
import java.io.*; // Library Input Output
class hitung_faktorial extends JFrame {
JLabel lbl1=new JLabel("Hitung Faktorial"); // Label Tulisan
JTextField txt1=new JTextField(); // TextField Untuk Pengisian Nilai
JButton btn1=new JButton("!"); // Tombol Faktorial "!"
JTextField txt2=new JTextField(); // TextField untuk nilai faktorial
hitung_faktorial() {
setTitle("Faktorial"); // Judul
setSize(200,200); // Ukuran Frame UI
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Tombol Close-___-
setVisible(true);
}
void komponenVisual() {
getContentPane().setLayout(null); // Set Frame tidak menggunakan layout apapun
getContentPane().add(lbl1); // Tambahkan komponen lbl1 pada frame
lbl1.setBounds(10,10,150,24); // Lokasi lbl1 pada frame
getContentPane().add(txt1); // Tambahkan komponen txt1 pada frame
txt1.setBounds(10,50,80,24); // Lokasi txt1 pada frame
getContentPane().add(btn1); // dst...
btn1.setBounds(100,50,50,24); //dst...
getContentPane().add(txt2); //dst...
txt2.setBounds(10,90,140,24); //dst...
setVisible(true); // Setting visibilitas dari komponen tadi
}
void AksiReaksi() {
btn1.addActionListener(new ActionListener() { // konfigurasi tombol faktorial
public void actionPerformed(ActionEvent e) {
int n=Integer.parseInt(txt1.getText()); // Pengambilan nilai yang ingin di faktorialkan, di inisialisasikan sebagai variabel "n" pada program
if (n > -1) { // Cek apakah nilainya lebih dari -1
if (n > 0) { // Cek lagi apakah nilainya lebih dari 0
int nilai=1; // Buat variabel penyimpan nilai faktorial sementara bernama "nilai", dan nilai awalnya ialah 1
while (n > 0) { // Jika nilai n lebih dari 0
nilai = nilai*n; // Kalikan nilai dengan n
n = n-1; // kemudian kurangkan n dengan 1, jika n masih lebih dari 0 maka kembali ke proses pengalian, jika sudah 0, maka keluar dari proses while ini
}
String hasil = String.valueOf(nilai); // Copy hasil akhir dari variabel "nilai" yang ke variabel "hasil" dan di ubah format String untuk di tampilkan pada TextField
txt2.setText(hasil); // Tambilkan pada textfield
} else { // Jika nilai faktorial = 0, maka hasil faktorialnya = 1.
String hasil = "1";
txt2.setText(hasil);
}
} else { // Jika nilai faktorial itu minus, maka tampilkan tanda larangan.
String hasil = "Tak Boleh Minus";
txt2.setText(hasil);
}
}
});
}
public static void main(String[] args) {
hitung_faktorial faktorial=new hitung_faktorial();
faktorial.komponenVisual();
faktorial.AksiReaksi();
}
}
Semoga bermanfaat, bila ada kesalahan mohon di koreksi ya.
Sekian dari saya, Wassalamualaikum.