top of page
Search
  • Writer's pictureAliah Iskandar

Aplikasi CRUD dan Login Sederhana Menggunakan NetBeans

Updated: Jan 8, 2020

Berikut ini adalah contoh aplikasi sederhana yang telah saya buat untuk memenuhi kebutuhan tugas Ujian Akhir Semester , mata kuliah kuliah Pemrograman 2.

Program ini merupakan program CRUD sederhana unntuk memasukkan data mahasiswa. Palette yang saya gunakan ada textfield,label,separator, panel,button,jcalender, dsb.

Untuk JCalender saya tambahkan secara khusus ke library project yang saya buat.

Berikut ini adalah Flow chart sederhana yang saya buat.



Flowchart Sederhana


Form Login

Berikut ini adalah script pada button Login :

try {

sql = "SELECT * FROM login WHERE username='"+txtname.getText()+"' AND password='"+txtpass.getText()+"'";

rs = stat.executeQuery(sql);

if(rs.next()){

if(txtname.getText().equals(rs.getString("username")) && txtpass.getText().equals(rs.getString("password"))){

crud n = new crud();

n.setVisible(true);

this.setVisible(false);

}

}else{

JOptionPane.showMessageDialog(null, "username atau password salah");

}

} catch (Exception e) {

JOptionPane.showMessageDialog(this, e.getMessage());

}

}


Setelah Button New diklik maka inputan akan aktif dan tombol save juga aktif
New Button

Berikut ini adalah script untuk new button :


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

kosong();

nim.setEnabled(true);

nama.setEnabled(true);

ttl.setEnabled(true);

jurusan.setEnabled(true);

phone.setEnabled(true);

simpan.setEnabled(true);

baru.setEnabled(false);

ubah.setEnabled(false);

hapus.setEnabled(false);

// TODO add your handling code here:

}

Setelah tombol new ditekan baru aktif
Save Button

Berikut ini adalah script untuk save button :

try {

String sql = "insert mhs values ('"+nim.getText()+"','"+nama.getText()+"','"+ttl.getDate()+"','"+phone.getText()+"','"+jurusan.getSelectedItem()+"')";

java.sql.Connection conn=(Connection)config.configDB();

java.sql.PreparedStatement pst=conn.prepareStatement(sql);

pst.execute();

JOptionPane.showMessageDialog(null, "Penyimpanan Data Berhasil");

} catch (HeadlessException | SQLException e) {

JOptionPane.showMessageDialog(this, e.getMessage());

}

load_table();

kosong();

Setelah salah satu baris ditekan tombol update dan delete baru aktid
Update Button

Berikut ini adalah script untuk update button :

try {

String sql ="update mhs set nim = '"+nim.getText()+"',nama = '"+nama.getText()+"', tgl = '"+ttl.getDate()+"',hp= '"+phone.getText()+"',jurusan= '"+jurusan.getSelectedItem()+"' WHERE nim = '"+nim.getText()+"'";

java.sql.Connection conn=(Connection)config.configDB();

java.sql.PreparedStatement pst=conn.prepareStatement(sql);

pst.execute();

JOptionPane.showMessageDialog(null, "data berhasil di edit");

} catch (HeadlessException | SQLException e) {

JOptionPane.showMessageDialog(null, "Perubahan Data Gagal"+e.getMessage());

}

load_table();

kosong();

baru.setEnabled(true);

simpan.setEnabled(false);

ubah.setEnabled(false);

hapus.setEnabled(false);


Setelah data berhasil dihapus
Delete Button

Berikut ini adalah script untuk delete button :

try {

String sql ="delete from mhs where nim='"+nim.getText()+"'";

java.sql.Connection conn=(Connection)config.configDB();

java.sql.PreparedStatement pst=conn.prepareStatement(sql);

pst.execute();

JOptionPane.showMessageDialog(this, "berhasil di hapus");

} catch (Exception e) {

JOptionPane.showMessageDialog(this, e.getMessage());

}

load_table();

kosong();


Untuk Meng hapus yang ada pada textfield dll
Reset Button

Berikut ini adalah script untuk reset button :

baru.setEnabled(true);

simpan.setEnabled(false);

ubah.setEnabled(false);

hapus.setEnabled(false);

kosong();


Untuk Keluar Aplikasi
Exit Button

Berikut ini adalah script untuk exit button :

System.exit(0);



Source Code:

1. Config.java

2. Home.java(form login)

import java.sql.Connection;

import com.sun.glass.events.KeyEvent;

import java.sql.ResultSet;

import java.sql.Statement;

import javax.swing.JOptionPane;


/**

*

* @author Dell

*/

public class home extends javax.swing.JFrame {


Connection con;

Statement stat;

ResultSet rs;

String sql;

public home() {

initComponents();

//pemanggilan fungsi koneksi database yang sudah kita buat pada class koneksi.java

koneksi DB = new koneksi();

DB.config();

con = DB.con;

stat = DB.stm;

}


/**

* 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">

private void initComponents() {


jPanel2 = new javax.swing.JPanel();

jLabel4 = new javax.swing.JLabel();

jPanel1 = new javax.swing.JPanel();

jLabel1 = new javax.swing.JLabel();

txtname = new javax.swing.JTextField();

jSeparator2 = new javax.swing.JSeparator();

txtpass = new javax.swing.JPasswordField();

jLabel3 = new javax.swing.JLabel();

jSeparator3 = new javax.swing.JSeparator();

login = new javax.swing.JButton();

jLabel7 = new javax.swing.JLabel();

Register = new javax.swing.JButton();

jLabel2 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();


setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setBackground(new java.awt.Color(18, 9, 14));

setForeground(new java.awt.Color(13, 2, 2));


jPanel2.setBackground(new java.awt.Color(102, 102, 102));

jPanel2.setFont(new java.awt.Font("Cooper Black", 0, 18)); // NOI18N

jPanel2.setPreferredSize(new java.awt.Dimension(700, 873));

jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());


jLabel4.setFont(new java.awt.Font("Javanese Text", 1, 48)); // NOI18N

jLabel4.setForeground(new java.awt.Color(255, 255, 255));

jLabel4.setText("STMIK ERESHA");

jPanel2.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 250, 421, 68));


jPanel1.setBackground(new java.awt.Color(51, 51, 51));

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


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

jLabel1.setForeground(new java.awt.Color(255, 153, 0));

jLabel1.setText("Username");


txtname.setBackground(new java.awt.Color(51, 51, 51));

txtname.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

txtname.setForeground(new java.awt.Color(255, 255, 255));

txtname.setBorder(null);

txtname.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));

txtname.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

txtnameActionPerformed(evt);

}

});

txtname.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

txtnameKeyPressed(evt);

}

});


txtpass.setBackground(new java.awt.Color(51, 51, 51));

txtpass.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N

txtpass.setForeground(new java.awt.Color(255, 255, 255));

txtpass.setBorder(null);

txtpass.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

txtpassActionPerformed(evt);

}

});

txtpass.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

txtpassKeyPressed(evt);

}

});


jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

jLabel3.setForeground(new java.awt.Color(255, 153, 0));

jLabel3.setText("Password");


login.setBackground(new java.awt.Color(204, 204, 204));

login.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N

login.setForeground(new java.awt.Color(51, 51, 51));

login.setText("Login");

login.setBorder(null);

login.setBorderPainted(false);

login.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseEntered(java.awt.event.MouseEvent evt) {

loginMouseEntered(evt);

}

});

login.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

loginActionPerformed(evt);

}

});

login.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

loginKeyPressed(evt);

}

});


jLabel7.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

jLabel7.setForeground(new java.awt.Color(255, 153, 0));

jLabel7.setText("Doesn't have an account?");


Register.setBackground(new java.awt.Color(51, 51, 51));

Register.setForeground(new java.awt.Color(255, 255, 255));

Register.setText("Register Here!");

Register.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(51, 51, 51), 0));

Register.setBorderPainted(false);

Register.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

Register.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);

Register.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

RegisterActionPerformed(evt);

}

});


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(41, 41, 41)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(jLabel7)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Register, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(jSeparator3, javax.swing.GroupLayout.DEFAULT_SIZE, 352, Short.MAX_VALUE)

.addComponent(jSeparator2)

.addComponent(login, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jLabel1)

.addComponent(jLabel3)

.addComponent(txtpass, javax.swing.GroupLayout.DEFAULT_SIZE, 352, Short.MAX_VALUE)

.addComponent(txtname)))

.addContainerGap(37, Short.MAX_VALUE))

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGap(121, 121, 121)

.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(txtname, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(21, 21, 21)

.addComponent(jLabel3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(txtpass, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(38, 38, 38)

.addComponent(login, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel7)

.addComponent(Register, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(426, Short.MAX_VALUE))

);


jPanel2.add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 0, 430, 873));


jLabel2.setBackground(new java.awt.Color(102, 102, 102));

jLabel2.setFont(new java.awt.Font("Lucida Sans Unicode", 1, 24)); // NOI18N

jLabel2.setForeground(new java.awt.Color(255, 255, 255));

jLabel2.setText("School Of IT");

jPanel2.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 300, -1, -1));


jLabel5.setText(" ");

jPanel2.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(393, 848, -1, -1));


jLabel6.setIcon(new javax.swing.ImageIcon("C:\\Users\\Dell\\Videos\\Pictures\\bgbg.jpg")); // NOI18N

jLabel6.setText(" ");

jLabel6.setPreferredSize(new java.awt.Dimension(1958, 500));

jPanel2.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(-100, 30, 2020, 570));


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

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 910, javax.swing.GroupLayout.PREFERRED_SIZE)

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 606, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(0, 0, Short.MAX_VALUE))

);


pack();

}// </editor-fold>


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

// TODO add your handling code here:

}


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

// TODO add your handling code here:

}


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


try {

sql = "SELECT * FROM login WHERE username='"+txtname.getText()+"' AND password='"+txtpass.getText()+"'";

rs = stat.executeQuery(sql);

if(rs.next()){

if(txtname.getText().equals(rs.getString("username")) && txtpass.getText().equals(rs.getString("password"))){

crud n = new crud();

n.setVisible(true);

this.setVisible(false);

}

}else{

JOptionPane.showMessageDialog(null, "username atau password salah");

}

} catch (Exception e) {

JOptionPane.showMessageDialog(this, e.getMessage());

}

}


private void txtnameKeyPressed(java.awt.event.KeyEvent evt) {

if (evt.getKeyCode() == KeyEvent.VK_ENTER) {

txtpass.requestFocus();

} // TODO add your handling code here:

}


private void txtpassKeyPressed(java.awt.event.KeyEvent evt) {

if (evt.getKeyCode() == KeyEvent.VK_ENTER) {

login.requestFocus();

}

// TODO add your handling code here:

}


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

// TODO add your handling code here:

// regis m = new regis();

// m.setVisible(true);

// this.setVisible(false);

}


private void loginMouseEntered(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

}


private void loginKeyPressed(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

}


/**

* @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 ex) {

java.util.logging.Logger.getLogger(home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>


/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new home().setVisible(true);

}

});

}


// Variables declaration - do not modify

private javax.swing.JButton Register;

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.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JSeparator jSeparator2;

private javax.swing.JSeparator jSeparator3;

private javax.swing.JButton login;

private javax.swing.JTextField txtname;

private javax.swing.JPasswordField txtpass;

// End of variables declaration

}


3. Crud.Java

import java.awt.HeadlessException;

import java.sql.Connection;

import java.sql.SQLException;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;


/**

*

* @author Dell

*/


public class crud extends javax.swing.JFrame {

public boolean databaru;


private void kosong(){

nim.setText(null);

nama.setText(null);

ttl.setDate(null);

phone.setText(null);

jurusan.setSelectedItem(this);

}

/**

* Creates new form crud

*/

public crud() {

initComponents();

load_table();

}


/**

* 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">

private void initComponents() {


jPanel1 = new javax.swing.JPanel();

id = new javax.swing.JLabel();

nim = new javax.swing.JTextField();

jSeparator2 = new javax.swing.JSeparator();

pass = new javax.swing.JPasswordField();

pw = new javax.swing.JLabel();

jSeparator3 = new javax.swing.JSeparator();

nama = new javax.swing.JTextField();

jSeparator4 = new javax.swing.JSeparator();

nama2 = new javax.swing.JLabel();

jSeparator5 = new javax.swing.JSeparator();

ttl = new com.toedter.calendar.JDateChooser();

nama1 = new javax.swing.JLabel();

nama3 = new javax.swing.JLabel();

simpan = new javax.swing.JButton();

ubah = new javax.swing.JButton();

hapus = new javax.swing.JButton();

keluar = new javax.swing.JButton();

phone = new javax.swing.JTextField();

jSeparator6 = new javax.swing.JSeparator();

pw1 = new javax.swing.JLabel();

jSeparator7 = new javax.swing.JSeparator();

jurusan = new javax.swing.JComboBox<>();

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

baru = new javax.swing.JButton();

reset = new javax.swing.JButton();


setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);


jPanel1.setBackground(new java.awt.Color(51, 51, 51));

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


id.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N

id.setForeground(new java.awt.Color(255, 153, 0));

id.setText("Input Data Siswa");


nim.setBackground(new java.awt.Color(51, 51, 51));

nim.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

nim.setForeground(new java.awt.Color(255, 255, 255));

nim.setBorder(null);

nim.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));

nim.setEnabled(false);

nim.setNextFocusableComponent(nama);

nim.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

nimActionPerformed(evt);

}

});

nim.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

nimKeyPressed(evt);

}

});


pass.setBackground(new java.awt.Color(51, 51, 51));

pass.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N

pass.setForeground(new java.awt.Color(255, 255, 255));

pass.setBorder(null);

pass.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

passActionPerformed(evt);

}

});

pass.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

passKeyPressed(evt);

}

});


pw.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

pw.setForeground(new java.awt.Color(255, 153, 0));

pw.setText("Phone");


nama.setBackground(new java.awt.Color(51, 51, 51));

nama.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

nama.setForeground(new java.awt.Color(255, 255, 255));

nama.setBorder(null);

nama.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));

nama.setEnabled(false);

nama.setNextFocusableComponent(ttl);

nama.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

namaActionPerformed(evt);

}

});

nama.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

namaKeyPressed(evt);

}

});


nama2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

nama2.setForeground(new java.awt.Color(255, 153, 0));

nama2.setText("Tanggal Lahir");


ttl.setBackground(new java.awt.Color(51, 51, 51));

ttl.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));

ttl.setForeground(new java.awt.Color(255, 102, 0));

ttl.setDate(ttl.getDate());

ttl.setDateFormatString("yyyy-MM-dd");

ttl.setEnabled(false);

ttl.setNextFocusableComponent(phone);


nama1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

nama1.setForeground(new java.awt.Color(255, 153, 0));

nama1.setText("Nama");


nama3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

nama3.setForeground(new java.awt.Color(255, 153, 0));

nama3.setText("Nim");


simpan.setBackground(new java.awt.Color(51, 51, 51));

simpan.setForeground(new java.awt.Color(255, 255, 255));

simpan.setText("Save");

simpan.setEnabled(false);

simpan.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

simpanActionPerformed(evt);

}

});


ubah.setBackground(new java.awt.Color(51, 51, 51));

ubah.setForeground(new java.awt.Color(255, 255, 255));

ubah.setText("Update");

ubah.setEnabled(false);

ubah.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

ubahActionPerformed(evt);

}

});


hapus.setBackground(new java.awt.Color(51, 51, 51));

hapus.setForeground(new java.awt.Color(255, 255, 255));

hapus.setText("Delete");

hapus.setEnabled(false);

hapus.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

hapusActionPerformed(evt);

}

});


keluar.setBackground(new java.awt.Color(51, 51, 51));

keluar.setForeground(new java.awt.Color(255, 255, 255));

keluar.setText("Exit");

keluar.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

keluarActionPerformed(evt);

}

});


phone.setBackground(new java.awt.Color(51, 51, 51));

phone.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

phone.setForeground(new java.awt.Color(255, 255, 255));

phone.setBorder(null);

phone.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));

phone.setEnabled(false);

phone.setNextFocusableComponent(jurusan);

phone.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

phoneActionPerformed(evt);

}

});

phone.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

phoneKeyPressed(evt);

}

});


pw1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

pw1.setForeground(new java.awt.Color(255, 153, 0));

pw1.setText("Jurusan");


jurusan.setBackground(new java.awt.Color(51, 51, 51));

jurusan.setFont(new java.awt.Font("Tahoma", 1, 15)); // NOI18N

jurusan.setForeground(new java.awt.Color(255, 102, 0));

jurusan.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Teknik Informatika", "Sistem Informasi", "Manajemen Informatika", " " }));

jurusan.setEnabled(false);


jTable1.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},

{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 [] {

"Nim", "Nama", "Tanggal Lahir", "Phone", "Jurusan"

}

) {

Class[] types = new Class [] {

java.lang.Integer.class, java.lang.String.class, java.lang.Object.class, java.lang.Integer.class, java.lang.String.class

};


public Class getColumnClass(int columnIndex) {

return types [columnIndex];

}

});

jTable1.setSelectionBackground(new java.awt.Color(255, 102, 0));

jTable1.setSelectionForeground(new java.awt.Color(51, 51, 51));

jTable1.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

jTable1MouseClicked(evt);

}

});

jScrollPane1.setViewportView(jTable1);


baru.setBackground(new java.awt.Color(51, 51, 51));

baru.setForeground(new java.awt.Color(255, 255, 255));

baru.setText("New");

baru.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

baruActionPerformed(evt);

}

});


reset.setBackground(new java.awt.Color(51, 51, 51));

reset.setForeground(new java.awt.Color(255, 255, 255));

reset.setText("Reset");

reset.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

resetActionPerformed(evt);

}

});


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(48, 48, 48)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jSeparator2, javax.swing.GroupLayout.DEFAULT_SIZE, 10, Short.MAX_VALUE)

.addComponent(pass))

.addGap(862, 862, 862))

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(nama3)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))

.addGroup(jPanel1Layout.createSequentialGroup()

.addGap(48, 48, 48)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(nim, javax.swing.GroupLayout.PREFERRED_SIZE, 349, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 349, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jSeparator7, javax.swing.GroupLayout.PREFERRED_SIZE, 349, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jurusan, javax.swing.GroupLayout.PREFERRED_SIZE, 349, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jSeparator6, javax.swing.GroupLayout.PREFERRED_SIZE, 349, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(phone, javax.swing.GroupLayout.PREFERRED_SIZE, 349, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(ttl, javax.swing.GroupLayout.PREFERRED_SIZE, 350, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, 350, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(pw)

.addComponent(nama2)

.addComponent(nama1)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addComponent(jSeparator4, javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(nama, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 349, javax.swing.GroupLayout.PREFERRED_SIZE))

.addComponent(pw1))

.addGap(18, 18, 18)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(baru)

.addGap(18, 18, 18)

.addComponent(simpan)

.addGap(18, 18, 18)

.addComponent(ubah, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(hapus)

.addGap(18, 18, 18)

.addComponent(reset)

.addGap(18, 18, 18)

.addComponent(keluar)))

.addGap(0, 0, Short.MAX_VALUE))

.addGroup(jPanel1Layout.createSequentialGroup()

.addGap(176, 176, 176)

.addComponent(id)

.addGap(48, 48, 48))

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGap(29, 29, 29)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(id)

.addGap(22, 22, 22)

.addComponent(nama3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(nim, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(nama1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(nama, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(nama2)

.addGap(18, 18, 18)

.addComponent(ttl, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(pw)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(phone, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jSeparator6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(pw1)

.addGap(18, 18, 18)

.addComponent(jurusan, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jSeparator7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(baru)

.addComponent(simpan)

.addComponent(ubah)

.addComponent(hapus)

.addComponent(reset)

.addComponent(keluar))

.addGap(18, 18, 18)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 457, javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGap(185, 185, 185)

.addComponent(pass, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 7, 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, 611, javax.swing.GroupLayout.PREFERRED_SIZE)

);


pack();

}// </editor-fold>


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

// TODO add your handling code here:

}


private void nimKeyPressed(java.awt.event.KeyEvent evt) {

// if (evt.getKeyCode() == KeyEvent.VK_ENTER) {

// txtpass.requestFocus();

// } // TODO add your handling code here:

}


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

// TODO add your handling code here:

}


private void passKeyPressed(java.awt.event.KeyEvent evt) {

// if (evt.getKeyCode() == KeyEvent.VK_ENTER) {

// reg.requestFocus();

// }

// TODO add your handling code here:

}


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

// TODO add your handling code here:

}


private void namaKeyPressed(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

}


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

// TODO add your handling code here:

}


private void phoneKeyPressed(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

}


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

System.exit(0);

// TODO add your handling code here:

}


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


try {

String sql = "insert mhs values ('"+nim.getText()+"','"+nama.getText()+"','"+ttl.getDate()+"','"+phone.getText()+"','"+jurusan.getSelectedItem()+"')";

java.sql.Connection conn=(Connection)config.configDB();

java.sql.PreparedStatement pst=conn.prepareStatement(sql);

pst.execute();

JOptionPane.showMessageDialog(null, "Penyimpanan Data Berhasil");

} catch (HeadlessException | SQLException e) {

JOptionPane.showMessageDialog(this, e.getMessage());

}

load_table();

kosong();

}


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

try {

String sql ="delete from mhs where nim='"+nim.getText()+"'";

java.sql.Connection conn=(Connection)config.configDB();

java.sql.PreparedStatement pst=conn.prepareStatement(sql);

pst.execute();

JOptionPane.showMessageDialog(this, "berhasil di hapus");

} catch (Exception e) {

JOptionPane.showMessageDialog(this, e.getMessage());

}

load_table();

kosong();

// TODO add your handling code here:

}


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



try {

String sql ="update mhs set nim = '"+nim.getText()+"',nama = '"+nama.getText()+"', tgl = '"+ttl.getDate()+"',hp= '"+phone.getText()+"',jurusan= '"+jurusan.getSelectedItem()+"' WHERE nim = '"+nim.getText()+"'";

java.sql.Connection conn=(Connection)config.configDB();

java.sql.PreparedStatement pst=conn.prepareStatement(sql);

pst.execute();

JOptionPane.showMessageDialog(null, "data berhasil di edit");

} catch (HeadlessException | SQLException e) {

JOptionPane.showMessageDialog(null, "Perubahan Data Gagal"+e.getMessage());

}

load_table();

kosong();

baru.setEnabled(true);

simpan.setEnabled(false);

ubah.setEnabled(false);

hapus.setEnabled(false);

// TODO add your handling code here:

}


private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {

baru.setEnabled(false);

simpan.setEnabled(false);

ubah.setEnabled(true);

hapus.setEnabled(true);

int baris = jTable1.rowAtPoint(evt.getPoint());

String id = jTable1.getValueAt(baris, 0).toString();

nim.setText(id);

String nm =jTable1.getValueAt(baris, 1).toString();

nama.setText(nm);

String tl= jTable1.getValueAt(baris, 2).toString();

ttl.setDateFormatString(tl);


String telp = jTable1.getValueAt(baris, 3).toString();

phone.setText(telp);

String jr = jTable1.getValueAt(baris, 4).toString();

jurusan.setSelectedItem(jr);

// TODO add your handling code here:

}


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

kosong();

nim.setEnabled(true);

nama.setEnabled(true);

ttl.setEnabled(true);

jurusan.setEnabled(true);

phone.setEnabled(true);

simpan.setEnabled(true);

baru.setEnabled(false);

ubah.setEnabled(false);

hapus.setEnabled(false);

// TODO add your handling code here:

}


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

baru.setEnabled(true);

simpan.setEnabled(false);

ubah.setEnabled(false);

hapus.setEnabled(false);

kosong();

// TODO add your handling code here:

}


/**

* @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 ex) {

java.util.logging.Logger.getLogger(crud.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(crud.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(crud.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(crud.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>


/* Create and display the form */

java.awt.EventQueue.invokeLater(() -> {

new crud().setVisible(true);

});

}


// Variables declaration - do not modify

private javax.swing.JButton baru;

private javax.swing.JButton hapus;

private javax.swing.JLabel id;

private javax.swing.JPanel jPanel1;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JSeparator jSeparator2;

private javax.swing.JSeparator jSeparator3;

private javax.swing.JSeparator jSeparator4;

private javax.swing.JSeparator jSeparator5;

private javax.swing.JSeparator jSeparator6;

private javax.swing.JSeparator jSeparator7;

private javax.swing.JTable jTable1;

private javax.swing.JComboBox<String> jurusan;

private javax.swing.JButton keluar;

private javax.swing.JTextField nama;

private javax.swing.JLabel nama1;

private javax.swing.JLabel nama2;

private javax.swing.JLabel nama3;

private javax.swing.JTextField nim;

private javax.swing.JPasswordField pass;

private javax.swing.JTextField phone;

private javax.swing.JLabel pw;

private javax.swing.JLabel pw1;

private javax.swing.JButton reset;

private javax.swing.JButton simpan;

private com.toedter.calendar.JDateChooser ttl;

private javax.swing.JButton ubah;

// End of variables declaration


private void load_table() {

// membuat tampilan model tabel

DefaultTableModel model = new DefaultTableModel();

model.addColumn("Nim");

model.addColumn("Nama");

model.addColumn("TTL");

model.addColumn("HP");

model.addColumn("Jurusan");

//menampilkan data database kedalam tabel

try {

String sql = "select * from mhs";

java.sql.Connection conn=(Connection)config.configDB();

java.sql.Statement stm=conn.createStatement();

java.sql.ResultSet res=stm.executeQuery(sql);

while(res.next()){

model.addRow(new Object[]{res.getString(1),res.getString(2),res.getString(3),res.getString(4),res.getString(5)});

}

jTable1.setModel(model);

} catch (SQLException e) {

} //To change body of generated methods, choose Tools | Templates.

}


}




147 views0 comments
bottom of page