Menentukan Bilangan Prima Dengan GUI

Assalamualaikum
Kali ini saya akan membagikan tentang cara menentukan bilangan prima pada pemrograman java, sebelum itu saya jelaskan dulu apa itu bilangan prima.

Perlu Anda diketahui sebelumnya bahwa pengertian Bilangan Prima adalah: Bilangan Asli yang tepat mempunyai dua faktor (pembagi) yang berbeda, yakni 1 dan bilangan itu sendiri, 

Secara umum bilangan prima adalah bilangan lebih besar dari 1 yang hanya dapat dibagi oleh dua bilangan berbeda, yakni bilangan itu sendiri dan 1. Dengan kata lain, bilangan prima tidak dapat difaktorisasi menjadi bilangan lain. Contohnya 2 hanya dapat dibagi oleh 2 dan 1. 2 hanya dapat difaktorkan menjadi 2 dan 1 (2 = 2 × 1). Jadi, bilangan prima terkecil adalah 2. Selain itu, 2 juga merupakan satu-satunya bilangan prima genap. 

Kenapa 1 bukan bilangan prima? Meski angka 1 tidak dapat dibagi dengan angka lain selain angka itu sendiri, 1 dianggap bukan merupakan bilangan prima. Ini karena angka 1 hanya dapat dibagi oleh angka itu sendiri (1 = 1 × 1). Seperti definisi diatas, suatu bilangan merupakan bilangan prima jika dapat dibagi oleh dua bilangan berbeda. 

Bilangan komposit adalah bilangan lebih besar dari 1 yang bukan merupakan bilangan prima. Untuk menentukan apakah suatu bilangan merupakan bilangan prima atau bilangan komposit, Anda perlu faktorkan bilangan tersebut. Jika bilangan tersebut memiliki faktor-faktor selain bilangan itu sendiri dan 1, maka bilangan tersebut merupakan bilangan komposit. Jika sebaliknya, maka bilangan tersebut merupakan bilangan prima. 

Salah satu contohnya bilangan 9 dapat difaktorkan menjadi 9 = 3 × 3 × 1. Dari faktor angka tadi dapat di simpulkan bahwa angka 9 bukan merupakan bilangan prima. Bilangan 13 dapat difaktorkan menjadi 13 = 13 × 1. Jadi 13 merupakan bilangan prima.

Berikut ini adalah langkah langkah untuk membuat aplikasinya :

Langakah pertama :

1. Kita buat project baru, pilih "java", lalu pilih "Java Aplication", lalu klik next.
2. Setelah itu akan muncul jendela seperti berikut ini, lalu kita beri nama "MenentukanBilanganPrima", lau next (tombol nextnya kena crop).

Berikut ini adalah sinytax untuk class diatas :

package menentukanbilanganprima;

public class MenentukanBilanganPrima {

    public static void main(String[] args) {
        Frame_Bilangan_Prima Laund = new Frame_Bilangan_Prima();
        Laund.setVisible(true);
    }
   
}


3. Selanjutnya kita buat frame, untuk design tampilan programnya.

4. Setelah itu kita beri nama frame tersebut "Frame_Bilangan_Prima", lalu klik finish.
5. Setelah itu kita buat design awalnya, seperti di bawah ini.
Berikut ini adalah coding untuk framenya:

package menentukanbilanganprima;


public class Frame_Bilangan_Prima extends javax.swing.JFrame {
int angka;

    public Frame_Bilangan_Prima() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        txtangka = new javax.swing.JTextField();
        txthasil = new javax.swing.JTextField();
        btnCek = new javax.swing.JButton();
        jLabel3 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Trajan Pro", 1, 14)); // NOI18N
        jLabel1.setText("Menentukan Bilangan Prima");

        jLabel2.setFont(new java.awt.Font("Trajan Pro", 1, 12)); // NOI18N
        jLabel2.setText("Masukkan Angka");

        btnCek.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnCek.setText("Cek");
        btnCek.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCekActionPerformed(evt);
            }
        });

        jLabel3.setFont(new java.awt.Font("Trajan Pro", 1, 12)); // NOI18N
        jLabel3.setText("Hasil");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(45, 45, 45)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel2)
                    .addComponent(jLabel3))
                .addGap(28, 28, 28)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                    .addComponent(txtangka, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txthasil)
                    .addComponent(btnCek))
                .addGap(120, 120, 120))
            .addGroup(layout.createSequentialGroup()
                .addGap(78, 78, 78)
                .addComponent(jLabel1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(34, 34, 34)
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(txtangka, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(12, 12, 12)
                .addComponent(btnCek)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txthasil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3))
                .addContainerGap(72, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void btnCekActionPerformed(java.awt.event.ActionEvent evt) {                                       

        
        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");
        }
        }
    }                                      


    public static void main(String args[]) {

        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);
        }


        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 jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JTextField txtangka;
    private javax.swing.JTextField txthasil;
    // End of variables declaration                   
}

6. Setelah itu jalankan program (Shift+f6), lalu masukkan angka, dan klik "Cek", maka akan keluar, apakah angka yang di masukkan itu angka prima atau tidak.


Selamat Mencoba


Subscribe to receive free email updates:

0 Response to "Menentukan Bilangan Prima Dengan GUI"

Post a Comment