Assalamu'alaikum?.. selamat pagi semuanya, apa kabar Anda hari ini, semoga semuanya dalam keadaan baik-baik saja, mmm tentunya sekrang semua sudah pada tidur ya?, ya selamat menikmati mimpi indahnya saja. pada kesempatan kali ini saya akan mencoba berbagi sebuah coding java yang sudah saya pelajari dalam prkatikum. baik lah kita langsung lihat codingnnya. berikut, selamat menyimak:


import javax.swing.*;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.text.*;
public class ValidasiPrimaryKey extends JFrame{
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JTextField textKode = new JTextField();
JTextField textNama = new JTextField();
JTextField textAlamat = new JTextField();
JTextField textTtl = new JTextField();
List daftar = new List();
JLabel jLabel3 = new JLabel();
Button button1 = new Button();
Connection konek;
/**
* Method Main
* @param args : Arguments
*/
public static void main(String [] args){
ValidasiPrimaryKey ValidasiPrimaryKey = new ValidasiPrimaryKey();
ValidasiPrimaryKey.setSize(500, 600);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int lebar = (screen.width-ValidasiPrimaryKey.getSize().width)/2;
int tinggi = (screen.height- ValidasiPrimaryKey.getSize().height)/2;
ValidasiPrimaryKey.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ValidasiPrimaryKey.setLocation(lebar,tinggi);
ValidasiPrimaryKey.setResizable(false);
ValidasiPrimaryKey.setVisible(true);
}
public ValidasiPrimaryKey(){
jLabel1.setHorizontalAlignment(SwingConstants.LEFT);
jLabel1.setText("NIM                              :");
jLabel1.setBounds(new Rectangle(30,13,150,15));
this.getContentPane().setLayout(null);
jLabel2.setBounds(new Rectangle(30,43,150,15));
jLabel2.setHorizontalAlignment(SwingConstants.LEFT);
jLabel2.setText("Nama Mahasiswa   :");
this.getContentPane().setLayout(null);
jLabel4.setBounds(new Rectangle(30,73,150,15));
jLabel4.setHorizontalAlignment(SwingConstants.LEFT);
jLabel4.setText("Alamat                        :");
this.getContentPane().setLayout(null);
jLabel5.setBounds(new Rectangle(30,103,150,15));
jLabel5.setHorizontalAlignment(SwingConstants.LEFT);
jLabel5.setText("Tanggal Lahir            :");
textKode.setText(null);
textKode.setBounds(new Rectangle(160,13,300,21));
textKode.setDocument(new batasiInput((byte)20).getFilter());
textNama.setText(null);
textNama.setBounds(new Rectangle(160,43,300,21));
textAlamat.setText(null);
textAlamat.setBounds(new Rectangle(160,73,300,21));
textTtl.setText(null);
textTtl.setBounds(new Rectangle(160,103,300,21));
daftar.setBounds(new Rectangle(29,180,430,360));
jLabel3.setText("DAFTAR MAHASISWA YANG TELAH DISIMPAN SEBELUMNYA");
jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
jLabel3.setBounds(new Rectangle (29,163,450, 15));
button1.setLabel("CEK dan SIMPAN");
button1.setBounds(new Rectangle(160,133,128,24));
//Menambahkan Action Listener
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//Method yang dipanggil saat tombol ditekan
cekAndSaveData(e);
}
});
this.getContentPane().add(jLabel1,null);
this.getContentPane().add(jLabel2,null);
this.getContentPane().add(jLabel4,null);
this.getContentPane().add(jLabel5,null);
this.getContentPane().add(textKode,null);
this.getContentPane().add(textNama,null);
this.getContentPane().add(textAlamat,null);
this.getContentPane().add(textTtl,null);
this.getContentPane().add(daftar,null);
this.getContentPane().add(jLabel3,null);
this.getContentPane().add(button1, null);
// Memanggil method untuk Koneksi database dan daftar kode yang telah disimpan
koneksiDatabase();
daftarKode();
}
/*
* Method Koneksi Database
* Untuk Melakukan Koneksi dengan DataBase Server
*/
public void koneksiDatabase(){
//Mencoba memanggil JDBC
try{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Suskes Driver JDBC ditemukan..!!");
//Mencoba melakukan koneksi
try{
String db = "praktikum_pbo";
String url = "jdbc:mysql://localhost/"+ db;
String user = "root";
String pass = "";
konek = DriverManager.getConnection(url, user, pass);
System.out.println("Sukses Koneksi..");
}
//Gagal
catch(SQLException se){
System.out.println("Koneksi gagal = "+se);
}
}
//Gagal memanggil driver
catch(ClassNotFoundException cnfe){
System.out.println("Class tidak ditemukan..Error : "+cnfe);
}
}//Akhir koneksiDatabase()
/**
* Method daftarKode()
* Untuk menampilkan daftar kode dan nama mahsiswa yang telah tersimpan
*/
public void daftarKode(){
daftar.removeAll();
//Mencoba mengirim Statment sql
try{
Statement stat = konek.createStatement();
ResultSet rSet = stat.executeQuery("Select*from data");
//Mengambil sql
while(rSet.next()){
daftar.add(rSet.getString("NIM")   +    "     "     +
rSet.getString("NAMA") +    "   "  +  rSet.getString("ALAMAT")) ;
}
stat.close();
}
//Kesalahan pengiriman
catch(SQLException se){
System.out.println("SQL salah  = " + se);
}
catch(Exception e){
System.out.println("Pesan Error = "+e);
}
}//Akhir method daftarKode()
/**
* Method cek save
*/
void cekAndSaveData(ActionEvent e){
//Mencoba mengirim statement sql
try{
PreparedStatement stat = konek.prepareStatement(
"Insert into data values(?,?,?,?)");
try{
stat.setString(1,textKode.getText());
stat.setString(2,textNama.getText());
stat.setString(3,textAlamat.getText());
stat.setString(4,textTtl.getText());
stat.executeUpdate();
}
//Gagal Mengirim Statement SQL(Data tak Valid)
catch (SQLException se){
System.out.println("Gagal menyimpan..Pesan Error = "+se);
JOptionPane.showMessageDialog(null, "Kode yang anda masukan telah ada sebelumnya \nGagal disimpan..Coba lagi \nPesan Error :\n"+"<html><font color=#FF0000>"+se+"</font></html>");
textKode.setFocusable(true);
}
daftarKode();
stat.close();
}
catch(Exception er){
System.out.println("Pesan Error= "+er);
}
}//Akhir Method
/**
* Membuat Kelas Untuk membatasi input yang masuk
*/
class batasiInput{
byte length;
PlainDocument filter;
public batasiInput(byte length){
this.length = length;
}
public PlainDocument getFilter(){
filter = new javax.swing.text.PlainDocument(){
public void insertString(int offs, String str, AttributeSet a)throws
BadLocationException{
int ab = textKode.getText().length();
if(ab<length){
super.insertString(offs, str, a);
}
}
};
return filter;
}
}
}


Dan ini adalah tampilan programnya:


Bagaimana menurut Anda apakah cukup memuaskan?. saya membuatnya menggunakan eclipse dan membuat databasenya menggunakan MySQL dengan XAPP, untuk hasil lebih baik silahkan di edit-edit lagi, semoga bermanfa'at ya, selamat mencoba dan selamat beristirahat.
Wassalam.