Grace Mariana UAS
Grace Mariana UAS
Grace Mariana UAS
124180004
PBO (C) – UAS
1. Class BukuAlamat
Class ini pada konsep MVC berperan sebagai model.
package bukualamat;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
int ID;
String nama, alamat, telepon, tglLahir, jenisKelamin;
public BukuAlamat() {
}
try {
String sql = "INSERT INTO bukuAlamat(Nama,
Alamat, Telp, TglLahir, JenisKelamin) VALUES ('"
+ nama + "','"
+ alamat + "','"
+ telepon + "','"
+ sqlDate + "','"
+ jenisKelamin + "')";
JOptionPane.showMessageDialog(null, "Data
berhasil disimpan");
} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "NIS Sudah
Ada", "Alert", JOptionPane.ERROR_MESSAGE);
}
}
public void editData(int ID, String nama, String alamat,
String telepon, Date tglLahir, String jenisKelamin) {
try {
String sql = "UPDATE bukuAlamat SET "
+ " Nama = '" + nama
+ "', Alamat = '" + alamat
+ "', Telp = '" + telepon
+ "', TglLahir = '" + sqlDate
+ "', JenisKelamin = '" + jenisKelamin
+ "' WHERE ID = " + ID;
JOptionPane.showMessageDialog(null, "Data
berhasil diedit");
} catch (Exception e) {
e.printStackTrace();
}
}
2. Class ViewBukuAlamat
Class ini berperan sebagai View pada konsep MVC dimana berisi form tampilan yang
akan diisi user.
package bukualamat;
import java.awt.Font;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public ViewBukuAlamat() {
setTitle("BukuAlamat");
setSize(1000, 450);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
initComponent();
}
tbBukuAlamat.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
tableClicked(e);
}
});
}
tfID.setText(ID);
tfNama.setText(nama);
tfAlamat.setText(alamat);
tfTelp.setText(telepon);
tfTglLahir.setText(tglLahir);
cbJenisKelamin.setSelectedItem(jenisKelamin);
}
3. Class ControllerBukuAlamat
Class yang mengontrol antara View dan Model.
package bukualamat;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public class ControllerBukuAlamat {
public ControllerBukuAlamat() {
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(ViewBukuAlamat.class.getNa
me()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ViewBukuAlamat.class.getNa
me()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ViewBukuAlamat.class.getNa
me()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(ViewBukuAlamat.class.getNa
me()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
viewBukuAlamat.setVisible(true);
initController();
}
loadTable("");
viewBukuAlamat.getBtnAdd().addActionListener(e -> {
insertData();
});
viewBukuAlamat.getBtnEdit().addActionListener(e -> {
editData();
});
viewBukuAlamat.getBtnDelete().addActionListener(e ->
{
deleteData();
});
viewBukuAlamat.getBtnReset().addActionListener(e -> {
resetForm();
});
viewBukuAlamat.getBtnSearch().addActionListener(e -> {
searchData();
});
}
viewBukuAlamat.getCbJenisKelamin().setSelectedIndex(0);
}
viewBukuAlamat.setTableModel(new
DefaultTableModel());
viewBukuAlamat.getTableModel().addColumn("ID");
viewBukuAlamat.getTableModel().addColumn("Nama");
viewBukuAlamat.getTableModel().addColumn("Alamat");
viewBukuAlamat.getTableModel().addColumn("Telepon");
viewBukuAlamat.getTableModel().addColumn("Tanggal
Lahir");
viewBukuAlamat.getTableModel().addColumn("Jenis
Kelamin");
try {
ResultSet resultSet = null;
if (Nama == "") {
resultSet = bukuAlamat.loadData();
} else {
resultSet = bukuAlamat.loadData(Nama);
}
while (resultSet.next()) {
viewBukuAlamat.getTableModel().addRow(new
Object[]{
resultSet.getString(1),
resultSet.getString(2),
resultSet.getString(3),
resultSet.getString(4),
new SimpleDateFormat("dd-mm-
YYYY").format(dateConvert(resultSet.getString(5), "yyyy-mm-
dd")),
resultSet.getString(6),});
viewBukuAlamat.getTbBukuAlamat().setModel(viewBukuAlamat.getT
ableModel());
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
bukuAlamat.deleteData(ID);
loadTable("");
resetForm();
}
package bukualamat;
import java.sql.Connection;
import java.sql.DriverManager;
5. Class Main
package bukualamat;
}
6. Output