Project MHS
Project MHS
Database di XAMPP
import java.sql.Connection;
import java.sql.DriverManager;
public class Datamhs {
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Koneksi berhasil");
return connect;
new javagui2().setVisible(true);
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;
import java.text.SimpleDateFormat;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public javagui2() {
initComponents();
data.addColumn("NPM");
data.addColumn("Nama");
data.addColumn("Tanggal_Lahir");
data.addColumn("Prodi");
data.addColumn("Tahun");
data.addColumn("Kelamin");
tampildataketabel();
data.setRowCount(0);
try {
while(rs.next()){
data.addRow(new Object[]{
rs.getString(1),
rs.getString(2),
rs.getString(3),
rs.getString(4),
rs.getString(5),
rs.getString(6)
});
}
rs.close();
} finally {
tblMahasiswa.setModel(data);
txtNpm.setEditable(x);
txtNama.setEditable(x);
cboProdi.setEnabled(x);
spntgl.setEnabled(x);
rdbPria.setEnabled(x);
rdbWanita.setEnabled(x);
txtTahun.setEditable(x);
btnTambah.setEnabled(!x);
btnEdit.setEnabled(!x);
btnSimpan.setEnabled(x);
btnBatal.setEnabled(x);
btnHapus.setEnabled(!x);
tblMahasiswa.setEnabled(!x);
txtNpm.setText("");
txtNama.setText("");
cboProdi.setSelectedIndex(-1);
txtTahun.setText("");
buttonGroup1.clearSelection();
txtNpm.requestFocus();
@SuppressWarnings("unchecked")
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addComponentListener(new java.awt.event.ComponentAdapter() {
formComponentShown(evt);
}
});
btnTambah.setText("Tambah");
btnTambah.addActionListener(new java.awt.event.ActionListener() {
btnTambahActionPerformed(evt);
});
btnEdit.setText("Ubah");
btnEdit.addActionListener(new java.awt.event.ActionListener() {
btnEditActionPerformed(evt);
});
btnSimpan.setText("Simpan");
btnSimpan.addActionListener(new java.awt.event.ActionListener() {
btnSimpanActionPerformed(evt);
});
btnBatal.setText("Batal");
btnBatal.addActionListener(new java.awt.event.ActionListener() {
btnBatalActionPerformed(evt);
});
btnHapus.setText("Hapus");
btnHapus.addActionListener(new java.awt.event.ActionListener() {
btnHapusActionPerformed(evt);
});
tblMahasiswa.setModel(new javax.swing.table.DefaultTableModel(
{},
{},
{},
{}
},
new String [] {
));
jScrollPane1.setViewportView(tblMahasiswa);
jLabel1.setText("NPM :");
jLabel2.setText("Nama :");
buttonGroup1.add(rdbPria);
rdbPria.setText("Pria");
buttonGroup1.add(rdbWanita);
rdbWanita.setText("Wanita");
spntgl.setModel(new javax.swing.SpinnerDateModel(new java.util.Date(), null, new
java.util.Date(), java.util.Calendar.DAY_OF_MONTH));
spntgl.setBorder(javax.swing.BorderFactory.createTitledBorder("Tanggal Lahir:"));
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(rdbPria)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(rdbWanita))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(spntgl, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addComponent(btnTambah)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnEdit)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnSimpan)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnBatal)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnHapus)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(txtNpm, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(txtNama, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(1, 1, 1)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(cboProdi, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6)
.addComponent(txtTahun, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(rdbPria)
.addComponent(jLabel5)
.addComponent(rdbWanita))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnTambah)
.addComponent(btnEdit)
.addComponent(btnSimpan)
.addComponent(btnBatal)
.addComponent(btnHapus))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 135,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
setLocationRelativeTo(null);
}// </editor-fold>
model.addElement("Sistem Informasi");
model.addElement("Informatika");
model.addElement("Bisnis Digital");
model.addElement("Manajemen");
model.addElement("Akuntansi");
model.addElement("Bahasa Inggris");
cboProdi.setModel(model);
aktifkan(false);
aktifkan(true);
tombol = true;
kosongkan();
if(baris < 0) {
try{
ResultSet rs = Datamhs.getConnection().
if(rs.next()){
txtNpm.setText(npm);
txtNama.setText(rs.getString(2));
spntgl.setValue(rs.getDate("tgllahir"));
cboProdi.setSelectedItem(rs.getString(4));
txtTahun.setText(rs.getString(5));
if(rs.getString(6).equals("Pria")) {
rdbPria.setSelected(true);
} else {
rdbWanita.setSelected(true);
tombol = false;
aktifkan(true);
try {
ResultSet rs = Datamhs.getConnection().
executeQuery();
if(rs.next()){
txtNpm.requestFocus();
return;
PreparedStatement ps = Datamhs.getConnection().
ps.setString(1, npm);
ps.setString(2, nama);
ps.setString(3, tglsql.format(tgllahir));
ps.setString(4, prodi);
ps.setString(5, tahun);
ps.setString(6, jk);
ps.executeUpdate();
ps.close();
} finally {
tampildataketabel();
} else {
ps.setString(1, txtNpm.getText());
ps.setString(2, nama);
ps.setString(3, tglsql.format(tgllahir));
ps.setString(4, prodi);
ps.setString(5, tahun);
ps.setString(6, jk);
ps.setString(7, npm);
ps.executeUpdate();
ps.close();
} finally {
tampildataketabel();
kosongkan();
aktifkan(false);
aktifkan(false);
kosongkan();
if(baris < 0) {
} else {
if(JOptionPane.showConfirmDialog(this, "Yakin Hapus ?", "Hapus Data",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) ==
JOptionPane.YES_OPTION) {
try {
ps.executeUpdate();
ps.close();
} finally {
tampildataketabel();
//<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.
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
java.util.logging.Logger.getLogger(javagui2.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(javagui2.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(javagui2.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
});