Latihan Swing : Pengecek Bilangan Prima

Oleh : Reza Ervani

بسم الله الرحمن الرحيم

Pada latihan kali ini kita akan mencoba membuat sebuah aplikasi sederhana pengecekan bilangan Prima di Swing menggunakan Eclipse.

Pertama-tama kita buat dulu sebuah Form seperti berikut (Silahkan lihat tutorial-tutorial sebelumnya di kategori Swing untuk membuatnya)

Screenshot from 2014-05-28 20:04:48

Kodenya tampak seperti berikut :


package com.eclipseprogramming.BilPrima;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class BilanganPrima extends JFrame {

private JPanel contentPane;
private JTextField txtInputbilangan;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
BilanganPrima frame = new BilanganPrima();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public BilanganPrima() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel lblMengujiBilanganPrima = new JLabel("MENGUJI BILANGAN PRIMA");
lblMengujiBilanganPrima.setBounds(132, 12, 178, 15);
contentPane.add(lblMengujiBilanganPrima);

JLabel lblMasukkanAngkaYang = new JLabel("Masukkan Angka yang Ingin Anda Uji");
lblMasukkanAngkaYang.setBounds(86, 39, 260, 15);
contentPane.add(lblMasukkanAngkaYang);

txtInputbilangan = new JTextField();
txtInputbilangan.setText("inputbilangan");
txtInputbilangan.setBounds(161, 66, 132, 27);
contentPane.add(txtInputbilangan);
txtInputbilangan.setColumns(10);

JLabel lblHasil = new JLabel("Keluaran");
lblHasil.setBounds(132, 146, 194, 41);
contentPane.add(lblHasil);

btnProses.setBounds(171, 97, 117, 25);
contentPane.add(btnProses);
}
}

Kemudian kita berikan EventHandling untuk tombol seperti yang dijelaskan di tutorial berikut : http://programming.rezaervani.com/swing-5-event-handling/

Kodenya akan tampak seperti berikut :


JButton btnProses = new JButton("PROSES");
btnProses.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
}
});

Dan terakhir kita isikan di bagian Event Handling algoritma sederhana pengecekan bilangan prima seperti berikut :


int inputnya = Integer.parseInt(txtInputbilangan.getText());

if (inputnya==2 || inputnya==3 || inputnya==5 || inputnya==7) {
lblHasil.setText("Bilangan Prima");
} else {
if (inputnya==1 || inputnya%2==0 || inputnya%3==0 || inputnya%5==0 || inputnya%7==0) {
lblHasil.setText("Bukan Bilangan Prima");
} else {
lblHasil.setText("Bilangan Prima");
}

}

Program ini jika kita jalankan akan tampak seperti berikut :

Screenshot from 2014-05-28 20:12:22

Screenshot from 2014-05-28 20:12:39

Kode lengkapnya tampak seperti berikut :


package com.eclipseprogramming.BilPrima;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class BilanganPrima extends JFrame {

private JPanel contentPane;
private JTextField txtInputbilangan;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
BilanganPrima frame = new BilanganPrima();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public BilanganPrima() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel lblMengujiBilanganPrima = new JLabel("MENGUJI BILANGAN PRIMA");
lblMengujiBilanganPrima.setBounds(132, 12, 178, 15);
contentPane.add(lblMengujiBilanganPrima);

JLabel lblMasukkanAngkaYang = new JLabel("Masukkan Angka yang Ingin Anda Uji");
lblMasukkanAngkaYang.setBounds(86, 39, 260, 15);
contentPane.add(lblMasukkanAngkaYang);

txtInputbilangan = new JTextField();
txtInputbilangan.setText("inputbilangan");
txtInputbilangan.setBounds(161, 66, 132, 27);
contentPane.add(txtInputbilangan);
txtInputbilangan.setColumns(10);

JLabel lblHasil = new JLabel("Keluaran");
lblHasil.setBounds(132, 146, 194, 41);
contentPane.add(lblHasil);

JButton btnProses = new JButton("PROSES");
btnProses.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int inputnya = Integer.parseInt(txtInputbilangan.getText());

if (inputnya==2 || inputnya==3 || inputnya==5 || inputnya==7) {
lblHasil.setText("Bilangan Prima");
} else {
if (inputnya==1 || inputnya%2==0 || inputnya%3==0 || inputnya%5==0 || inputnya%7==0) {
lblHasil.setText("Bukan Bilangan Prima");
} else {
lblHasil.setText("Bilangan Prima");
}

}
}
});
btnProses.setBounds(171, 97, 117, 25);
contentPane.add(btnProses);
}
}

Anda dapat mengembangkan lebih jauh program tersebut sesuka anda.

Selamat mencoba

About Reza Ervani 430 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.