0% found this document useful (0 votes)
37 views

Source Code

This document contains source code for a Java application that implements CRUD (create, read, update, delete) functionality for a student database. It includes code to connect to a database, display data in a table, and add/update/delete records. The main class contains initialization code and event handlers for buttons to perform the CRUD operations by executing SQL statements.

Uploaded by

Habib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views

Source Code

This document contains source code for a Java application that implements CRUD (create, read, update, delete) functionality for a student database. It includes code to connect to a database, display data in a table, and add/update/delete records. The main class contains initialization code and event handlers for buttons to perform the CRUD operations by executing SQL statements.

Uploaded by

Habib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 18

SOURCE CODE

KONEKSI
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package crudjava;
import crudjava.Connect;

/**
*
* @author Fajar
*/
public class Connect {
public static void main(String[] args) {
// TODO code application logic here
crud p = new crud();
p.setVisible(true);
}

}
KODING CRUD JAVA
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package crudjava;

import java.sql.Connection;
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
*
* @author Fajar
*/
public class crud extends javax.swing.JFrame {
Connection con;
Statement stat;
ResultSet res;
String kode;
/**
* Creates new form crud
*/
public crud() {
initComponents();
tampilkan_data();
}

/**
* 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")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jTextField_nim = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jTextField_nama = new javax.swing.JTextField();
jTextField_jurusan = new javax.swing.JTextField();
jTextField_email = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
TxtKode = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable_Display_Users = new javax.swing.JTable();
jPanel3 = new javax.swing.JPanel();
jButton_masukan = new javax.swing.JButton();
jButton_perbaharui = new javax.swing.JButton();
jButton_hapus = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jPanel1.setBackground(new java.awt.Color(204, 255, 255));


jPanel1.setForeground(new java.awt.Color(204, 255, 255));

jPanel2.setBackground(new java.awt.Color(153, 255, 255));


jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Masukan Data",
javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION,
new java.awt.Font("Tahoma", 1, 18))); // NOI18N

jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N


jLabel1.setText("NIM");

jTextField_nim.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N


jTextField_nim.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField_nimActionPerformed(evt);
}
});

jLabel2.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N


jLabel2.setText("Nama");
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel3.setText("Jurusan");

jLabel4.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N


jLabel4.setText("E-Mail");

jTextField_nama.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N

jTextField_jurusan.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N

jTextField_email.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N

jLabel5.setText(":");

jLabel6.setText(":");

jLabel7.setText(":");

jLabel8.setText(":");

TxtKode.setText("0");

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);


jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 41,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel4)
.addGap(18, 18, 18)
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 41,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 41,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 41,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextField_email, javax.swing.GroupLayout.PREFERRED_SIZE, 114,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField_jurusan, javax.swing.GroupLayout.PREFERRED_SIZE, 114,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField_nama, javax.swing.GroupLayout.PREFERRED_SIZE, 114,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jTextField_nim, javax.swing.GroupLayout.PREFERRED_SIZE, 114,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(TxtKode, javax.swing.GroupLayout.PREFERRED_SIZE, 14,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(46, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField_nim, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5)
.addComponent(TxtKode))
.addGap(18, 18, 18)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jTextField_nama, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6))
.addGap(18, 18, 18)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jTextField_jurusan, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jTextField_email, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
.addContainerGap(27, Short.MAX_VALUE))
);

jTable_Display_Users.setBorder(javax.swing.BorderFactory.createLineBorder(new
java.awt.Color(0, 0, 0)));
jTable_Display_Users.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}
},
new String [] {
"no", "NIM", "Nama", "Jurusan", "E-Mail"
}
));
jTable_Display_Users.setAlignmentX(1.0F);
jTable_Display_Users.setAlignmentY(1.0F);
jTable_Display_Users.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable_Display_UsersMouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable_Display_Users);

jPanel3.setBackground(new java.awt.Color(153, 255, 255));


jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

jButton_masukan.setText("Masukan");
jButton_masukan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_masukanActionPerformed(evt);
}
});

jButton_perbaharui.setText("Perbaharui");
jButton_perbaharui.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_perbaharuiActionPerformed(evt);
}
});

jButton_hapus.setText("Hapus");
jButton_hapus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton_hapusActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);


jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jButton_masukan)
.addGap(35, 35, 35)
.addComponent(jButton_perbaharui)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton_hapus)
.addContainerGap())
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton_masukan)
.addComponent(jButton_perbaharui)
.addComponent(jButton_hapus))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);


jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(14, 14, 14)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 452,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
);

pack();
}// </editor-fold>//GEN-END:initComponents

private void jButton_masukanActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton_masukanActionPerformed
// TODO add your handling code here:
simpan_data(); //Menginputkan Data
tampilkan_data(); //Menampilkan Data
reset(); //Mengosongkan Form
}//GEN-LAST:event_jButton_masukanActionPerformed

private void jTable_Display_UsersMouseClicked(java.awt.event.MouseEvent evt) {//GEN-


FIRST:event_jTable_Display_UsersMouseClicked
// TODO add your handling code here:
try{
int row = jTable_Display_Users.getSelectedRow();
TxtKode.setText(jTable_Display_Users.getValueAt(row, 0).toString());
jTextField_nim.setText(jTable_Display_Users.getValueAt(row, 1).toString());
jTextField_nama.setText(jTable_Display_Users.getValueAt(row, 2).toString());
jTextField_jurusan.setText(jTable_Display_Users.getValueAt(row, 3).toString());
jTextField_email.setText(jTable_Display_Users.getValueAt(row, 4).toString());
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}//GEN-LAST:event_jTable_Display_UsersMouseClicked

private void jButton_perbaharuiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton_perbaharuiActionPerformed
// TODO add your handling code here:
ubah_data(); //Menginputkan Data
tampilkan_data(); //Menampilkan Data
reset(); //Mengosongkan Form
}//GEN-LAST:event_jButton_perbaharuiActionPerformed

private void jButton_hapusActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton_hapusActionPerformed
// TODO add your handling code here:
hapus_data(); //Menginputkan Data
tampilkan_data(); //Menampilkan Data
reset(); //Mengosongkan Form
}//GEN-LAST:event_jButton_hapusActionPerformed

private void jTextField_nimActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jTextField_nimActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jTextField_nimActionPerformed

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* 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 | InstantiationException | IllegalAccessException |
javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(crud.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
}
//</editor-fold>

//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new crud().setVisible(true);
}
});
}
private void koneksi(){
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/crud","root","");
stat = con.createStatement();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
//Membuat Method Untuk Menyimpan Data
private void simpan_data(){
koneksi();
try{
stat.executeUpdate("INSERT INTO mhs values("
+ "'" + TxtKode.getText() + "',"
+ "'" + jTextField_nim.getText() + "',"
+ "'" + jTextField_nama.getText()+ "',"
+ "'" + jTextField_jurusan.getText()+ "',"
+ "'" + jTextField_email.getText()+"')");
stat.close();
reset();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}

//Membuat Method Untuk Merubah Data Berdasarkan ID


private void ubah_data(){
koneksi();
try{
stat.executeUpdate("UPDATE mhs SET "
+ "no ='"+TxtKode.getText()+ "',"
+ "nim ='"+jTextField_nim.getText()+ "',"
+ "nama ='"+jTextField_nama.getText()+"',"
+ "jurusan ='"+jTextField_jurusan.getText()+ "',"
+ "email ='"+jTextField_email.getText()+"' "
+ "Where "
+ "no ='"+TxtKode.getText()+"'");
stat.close();
reset();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
//Membuat Method Untuk Menghapus Data Berdasarkan ID
private void hapus_data(){
koneksi();
try{
stat.executeUpdate("DELETE FROM mhs WHERE no ='"+TxtKode.getText()+"'");
stat.close();
reset();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
//Membuat Method Untuk Menampilkan Seluruh Data Pada Tabel
private void tampilkan_data(){
DefaultTableModel dtm = new DefaultTableModel();
dtm.addColumn("no");
dtm.addColumn("NIM");
dtm.addColumn("Nama");
dtm.addColumn("Jurusan");
dtm.addColumn("E-mail");
try{
koneksi();
ResultSet res = stat.executeQuery("select * from mhs");
while(res.next()){
dtm.addRow(new Object[]{
res.getString(1),
res.getString(2),
res.getString(3),
res.getString(4),
res.getString(5)
});
}
jTable_Display_Users.setModel(dtm);
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
//Membuat Method Untuk Mengosongkan Form
private void reset(){
try{
TxtKode.setText("0");
jTextField_nim.setText("");
jTextField_nama.setText("");
jTextField_jurusan.setText("");
jTextField_email.setText("");
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel TxtKode;
private javax.swing.JButton jButton_hapus;
private javax.swing.JButton jButton_masukan;
private javax.swing.JButton jButton_perbaharui;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable_Display_Users;
private javax.swing.JTextField jTextField_email;
private javax.swing.JTextField jTextField_jurusan;
private javax.swing.JTextField jTextField_nama;
private javax.swing.JTextField jTextField_nim;
// End of variables declaration//GEN-END:variables
}

You might also like