Menentukan Bilangan Prima menggunakan Java Netbeans
Ketika
sekolah, dahulu Kita tentu penah mempelajari mengenai bilangan prima. Dalam
matematika, bilangan prima adalah bilangan asli yang lebih besar dari angka 1
dan faktor dari pembagian 1 atau bilangan itu sendiri. Contoh bilangan prima
seperti: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 dan lain sebagainya. Bilangan prima
tidak dapat difaktorisasi menjadi bilangan lain, contohnya 2 hanya dapat dibagi
oleh 2 dan 1. Jadi bilangan prima yang terkecil adalah 2 dan merupakan bilangan
genap satu-satunya. Banyak orang bertanya-tanya, kenapa angka satu bukan
bilangan prima? meski angka 1 tidak dapat dibagi dengan angka lain selain angka
1 itu sendiri, namun bukan berarti angka 1 adalah bilangan prima. Hal ini
karena angka 1 hanya dapat dibagi oleh angka itu sendiri dan tidak bisa dibagi
dengan angka lain. Dari penjelasan tersebut, Kami mencoba untuk mempraktekan
dalam sebuah program sederhana menentukan bilangan prima atau bukan. Berikut
ini cara pembuatan program tersebut:
1. Buat project
baru
Buat project baru dengan memilih File > New Project. Isi
beberapa data seperti nama project Anda dan lokasi penyimpanan, berikut ini
contoh membuat project baru.
Bila project
telah dibuat, maka terdapat class Menentukan Bilangan Prima atau jika ingin
membuat class baru anda perlu klik kanan pada package > New > Java
class.
Buat script
pada Menentukan Bilangan Prima yang digunakan untuk memanggil frame.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package menentukan.bilangan.prima;
/**
*
* @author Abdul Hanan
*/
public class MenentukanBilanganPrima {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Frame_bilangan_prima Laund = new Frame_bilangan_prima ();
Laund.setVisible(true);
}
}
Buat frame
yang digunakan untuk menampilkan program yang dibuat. Buat frame baru dengan
cara klik kanan pada package > New > JFrame Form dengan nama
Frame_bilangan_prima.
Desain frame dengan membuat text field dan
button seperti gambar berikut ini.
Bila desain frame telah selesai, pilih Source
untuk membuat script Java, berikut ini contoh script yang telah selesai dibuat.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package menentukan.bilangan.prima;
/**
*
* @author Abdul Hanan
*/
public class Frame_bilangan_prima extends javax.swing.JFrame {
int angka;
/**
* Creates new form Frame_bilangan_prima
*/
public Frame_bilangan_prima() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
txtAngka = new javax.swing.JTextField();
txtHasil = new javax.swing.JTextField();
btnCek = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel1.setText("Program Menentukan Bilangan Prima");
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel4.setText("Masukan Angka");
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel5.setText("Hasil");
txtAngka.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txtHasil.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
btnCek.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
btnCek.setText("Cek");
btnCek.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCekActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(42, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(txtAngka, javax.swing.GroupLayout.PREFERRED_SIZE, 188, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtHasil, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(btnCek)
.addGap(15, 15, 15)))
.addGap(40, 40, 40))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 350, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel5, javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addGap(254, 254, 254))))
.addGap(31, 31, 31))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(41, 41, 41)
.addComponent(jLabel1)
.addGap(40, 40, 40)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(txtAngka, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(8, 8, 8)
.addComponent(btnCek)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(txtHasil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(25, Short.MAX_VALUE))
);
pack();
}//
private void btnCekActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
boolean prima = true;
angka = Integer.parseInt(txtAngka.getText());
for (int i=2;i < angka;i++){
if (angka%i==0){
prima=false;
txtHasil.setText("" + angka + " Bukan Bilangan Prima");
}
if (prima && ! (angka==1) && ! (angka==0)){
txtHasil.setText("" + angka+" Bilangan Prima");
}
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/*
* Set the Nimbus look and feel
*/
//
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the
* default look and feel. For details see
* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Frame_bilangan_prima.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Frame_bilangan_prima.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Frame_bilangan_prima.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Frame_bilangan_prima.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//
/*
* Create and display the form
*/
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Frame_bilangan_prima().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnCek;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JTextField txtAngka;
private javax.swing.JTextField txtHasil;
// End of variables declaration
}
إرسال تعليق