Nama : Summidiya Ajeng Sugiarti
Kelas : XII RPL C
Absen : 28
Tugas : Pbo - MVC 2
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
/**
* @author ISTI
*/
public class daoMahasiswa implements implementMahasiswa{
Connection connection;
final String insert = "INSERT INTO tblmahasiswa (nim, nama,jk, alamat) VALUES (?, ?, ?,?);";
final String update = "UPDATE tblmahasiswa set nim=?, nama=?, jk=?, alamat=? where id=? ;";
final String delete = "DELETE FROM tblmahasiswa where id=? ;";
final String select = "SELECT * FROM tblmahasiswa;";
final String carinama = "SELECT * FROM tblmahasiswa where nama like ?";
public daoMahasiswa() {
connection = [Link]();
public void insert(mahasiswa b) {
PreparedStatement statement = null;
try {
statement = [Link](insert,Statement.RETURN_GENERATED_KEYS);
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]());
[Link](4, [Link]());
[Link]();
ResultSet rs = [Link]();
while ([Link]()) {
[Link]([Link](1));
} catch (SQLException ex) {
[Link]();
} finally {
try {
[Link]();
} catch (SQLException ex) {
[Link]();
public void update(mahasiswa b) {
PreparedStatement statement = null;
try {
statement = [Link](update);
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]());
[Link](4, [Link]());
[Link](5, [Link]());
[Link]();
} catch (SQLException ex) {
[Link]();
} finally {
try {
[Link]();
} catch (SQLException ex) {
[Link]();
public void delete(int id) {
PreparedStatement statement = null;
try {
statement = [Link](delete);
[Link](1, id);
[Link]();
} catch (SQLException ex) {
[Link]();
} finally {
try {
[Link]();
} catch (SQLException ex) {
[Link]();
public List<mahasiswa> getALL() {
List<mahasiswa> lb = null;
try {
lb = new ArrayList<mahasiswa>();
Statement st = [Link]();
ResultSet rs = [Link](select);
while ([Link]()) {
mahasiswa b = new mahasiswa();
[Link]([Link]("id"));
[Link]([Link]("nim"));
[Link]([Link]("nama"));
[Link]([Link]("jk"));
[Link]([Link]("alamat"));
[Link](b);
} catch (SQLException ex) {
[Link]([Link]()).log([Link], null, ex);
return lb;
}
public List<mahasiswa> getCariNama(String nama) {
List<mahasiswa> lb = null;
try {
lb = new ArrayList<mahasiswa>();
PreparedStatement st = [Link](carinama);
[Link](1, "%" + nama + "%");
ResultSet rs = [Link]();
while ([Link]()) {
mahasiswa b = new mahasiswa();
[Link]([Link]("id"));
[Link]([Link]("nim"));
[Link]([Link]("nama"));
[Link]([Link]("jk"));
[Link]([Link]("alamat"));
[Link](b);
} catch (SQLException ex) {
[Link]([Link]()).log([Link], null, ex);
return lb;
}
[Link]
package [Link];
import [Link];
import [Link].*;
/**
* @author ISTI
*/
public interface implementMahasiswa {
public void insert(mahasiswa b);
public void update(mahasiswa b);
public void delete(int id);
public List<mahasiswa> getALL();
public List<mahasiswa> getCariNama(String nama);
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
/**
* @author ISTI
*/
public class controllerMahasiswa {
FormMahasiswa frame;
implementMahasiswa implMahasiswa;
List<mahasiswa> lb;
public controllerMahasiswa(FormMahasiswa frame) {
[Link] = frame;
implMahasiswa = new daoMahasiswa();
lb = [Link]();
//mengosongkan field
public void reset() {
[Link]().setText("");
[Link]().setText("");
[Link]().setText("");
[Link]().setSelectedItem("");
[Link]().setText("");
//menampilkan data ke dalam tabel
public void isiTable() {
lb = [Link]();
tableModelMahasiswa tmb = new tableModelMahasiswa(lb);
[Link]().setModel(tmb);
//merupakan fungsi untuk menampilkan data yang dipilih dari tabel
public void isiField(int row) {
[Link]().setText([Link](row).getId().toString());
[Link]().setText([Link](row).getNim());
[Link]().setText([Link](row).getNama());
[Link]().setSelectedItem([Link](row).getJk());
[Link]().setText([Link](row).getAlamat());
//merupakan fungsi untuk insert data berdasarkan inputan user dari textfield di frame
public void insert() {
if (![Link]().getText().trim().isEmpty()& ![Link]().getText().trim().isEmpty()) {
mahasiswa b = new mahasiswa();
[Link]([Link]().getText());
[Link]([Link]().getText());
[Link]([Link]().getSelectedItem().toString());
[Link]([Link]().getText());
[Link](b);
[Link](null, "Simpan Data sukses");
} else {
[Link](frame, "Data Tidak Boleh Kosong");
//berfungsi untuk update data berdasarkan inputan user dari textfield di frame
public void update() {
if (![Link]().getText().trim().isEmpty()) {
mahasiswa b = new mahasiswa();
[Link]([Link]().getText());
[Link]([Link]().getText());
[Link]([Link]().getSelectedItem().toString());
[Link]([Link]().getText());
[Link]([Link]([Link]().getText()));
[Link](b);
[Link](null, "Update Data sukses");
} else {
[Link](frame, "Pilih data yang akan di ubah");
//berfungsi menghapus data yang dipilih
public void delete() {
if (![Link]().getText().trim().isEmpty()) {
int id = [Link]([Link]().getText());
[Link](id);
[Link](null, "Hapus Data sukses");
} else {
[Link](frame, "Pilih data yang akan di hapus");
public void isiTableCariNama() {
lb = [Link]([Link]().getText());
tableModelMahasiswa tmb = new tableModelMahasiswa(lb);
[Link]().setModel(tmb);
public void carinama() {
if (![Link]().getText().trim().isEmpty()) {
[Link]([Link]().getText());
isiTableCariNama();
} else {
[Link](frame, "SILAHKAN PILIH DATA");
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
/**
* @author ISTI
*/
public class koneksi {
static Connection con;
public static Connection connection() {
if (con == null) {
MysqlDataSource data = new MysqlDataSource();
[Link]("db_crud");
[Link]("root");
[Link]("");
try {
con = [Link]();
} catch (SQLException ex) {
[Link]();
return con;
[Link]
mahasiswa
package [Link];
/**
*
* @author ISTI
*/
public class mahasiswa {
private Integer id;
private String nim;
private String nama;
private String jk;
private String alamat;
public Integer getId() {
return id;
public void setId(Integer id) {
[Link] = id;
public String getNim() {
return nim;
public void setNim(String nim) {
[Link] = nim;
}
public String getNama() {
return nama;
public void setNama(String nama) {
[Link] = nama;
public String getJk() {
return jk;
public void setJk(String jk) {
[Link] = jk;
public String getAlamat() {
return alamat;
public void setAlamat(String alamat) {
[Link] = alamat;
}
}
tableModelMahasiswa
package [Link];
import [Link];
import [Link];
/**
* @author ISTI
*/
public class tableModelMahasiswa extends AbstractTableModel{
List<mahasiswa> lb;
public tableModelMahasiswa(List<mahasiswa> lb) {
[Link] = lb;
@Override
public int getColumnCount() {
return 5;
public int getRowCount() {
return [Link]();
@Override
public String getColumnName(int column) {
switch (column) {
case 0:
return "ID";
case 1:
return "Nim";
case 2:
return "Nama";
case 3:
return "Kelamin";
case 4:
return "Alamat";
default:
return null;
@Override
public Object getValueAt(int row, int column) {
switch (column) {
case 0:
return [Link](row).getId();
case 1:
return [Link](row).getNim();
case 2:
return [Link](row).getNama();
case 3:
return [Link](row).getJk();
case 4:
return [Link](row).getAlamat();
default:
return null;
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
/**
* @author ISTI
*/
public class FormMahasiswa extends [Link] {
controllerMahasiswa cbt;
/**
* Creates new form FormMahasiswa
*/
public FormMahasiswa() {
initComponents();
cbt = new controllerMahasiswa(this);
[Link]();
/**
* 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 [Link]();
jLabel1 = new [Link]();
txtID = new [Link]();
jLabel2 = new [Link]();
txtNim = new [Link]();
txtNama = new [Link]();
jLabel3 = new [Link]();
jLabel4 = new [Link]();
jLabel5 = new [Link]();
jScrollPane1 = new [Link]();
tabelData = new [Link]();
buttonUpdate = new [Link]();
buttonInsert = new [Link]();
buttonDelete = new [Link]();
buttonReset = new [Link]();
jScrollPane2 = new [Link]();
txtAlamat = new [Link]();
txtCariNama = new [Link]();
jLabel6 = new [Link]();
buttonCariNama = new [Link]();
setJk = new [Link]();
setDefaultCloseOperation([Link].EXIT_ON_CLOSE);
[Link](new [Link](204, 255, 204));
[Link]([Link]());
[Link](new [Link]("Tahoma", 1, 12)); // NOI18N
[Link]("ID");
[Link](new [Link]("Tahoma", 1, 12)); // NOI18N
[Link]("NIM");
[Link](new [Link]("Tahoma", 1, 12)); // NOI18N
[Link]("Nama");
[Link](new [Link]("Tahoma", 1, 12)); // NOI18N
[Link]("Kelamin");
[Link](new [Link]("Tahoma", 1, 12)); // NOI18N
[Link]("Alamat");
[Link](new [Link](
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
));
[Link](new [Link]() {
public void mouseClicked([Link] evt) {
tabelDataMouseClicked(evt);
});
[Link](tabelData);
[Link](new [Link]("Tahoma", 1, 14)); // NOI18N
[Link]("Ubah");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
buttonUpdateActionPerformed(evt);
});
[Link](new [Link]("Tahoma", 1, 14)); // NOI18N
[Link]("Simpan");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
buttonInsertActionPerformed(evt);
});
[Link](new [Link]("Tahoma", 1, 14)); // NOI18N
[Link]("Hapus");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
buttonDeleteActionPerformed(evt);
});
[Link](new [Link]("Tahoma", 1, 14)); // NOI18N
[Link]("Batal");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
buttonResetActionPerformed(evt);
});
[Link](20);
[Link](5);
[Link](txtAlamat);
[Link](new [Link]("Tahoma", 1, 12)); // NOI18N
[Link]("Cari>--Nama");
[Link](new [Link]("Tahoma", 1, 14)); // NOI18N
[Link]("Cari");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
buttonCariNamaActionPerformed(evt);
});
[Link](new [Link](new String[] { "Pilih", "Laki - laki",
"Perempuan" }));
[Link] jPanel1Layout = new [Link](jPanel1);
[Link](jPanel1Layout);
[Link](
[Link]([Link])
.addGroup([Link]()
.addContainerGap()
.addGroup([Link]([Link])
.addGroup([Link]()
.addGroup([Link]([Link]
NG, false)
.addGroup([Link],
[Link]()
.addComponent(jLabel1)
.addPreferredGap([Link],
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtID, [Link].PREFERRED_SIZE, 221,
[Link].PREFERRED_SIZE))
.addGroup([Link],
[Link]()
.addComponent(jLabel2)
.addPreferredGap([Link],
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtNim, [Link].PREFERRED_SIZE, 221,
[Link].PREFERRED_SIZE))
.addGroup([Link],
[Link]()
.addComponent(jLabel3)
.addGap(61, 61, 61)
.addComponent(txtNama, [Link].PREFERRED_SIZE, 221,
[Link].PREFERRED_SIZE))
.addGroup([Link],
[Link]()
.addGroup([Link]([Link]
ADING)
.addComponent(jLabel4)
.addComponent(jLabel5))
.addGap(47, 47, 47)
.addGroup([Link]([Link]
ADING, false)
.addComponent(jScrollPane2, [Link].DEFAULT_SIZE, 221,
Short.MAX_VALUE)
.addComponent(setJk, 0, [Link].DEFAULT_SIZE,
Short.MAX_VALUE))))
.addGroup([Link]([Link]
G)
.addGroup([Link]()
.addGap(43, 43, 43)
.addComponent(jLabel6)
.addPreferredGap([Link])
.addComponent(txtCariNama, [Link].PREFERRED_SIZE, 221,
[Link].PREFERRED_SIZE)
.addPreferredGap([Link])
.addComponent(buttonCariNama, [Link].PREFERRED_SIZE, 62,
[Link].PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addGroup([Link]()
.addPreferredGap([Link])
.addComponent(jScrollPane1, [Link].DEFAULT_SIZE, 513,
Short.MAX_VALUE))))
.addGroup([Link]()
.addComponent(buttonInsert, [Link].PREFERRED_SIZE, 121,
[Link].PREFERRED_SIZE)
.addPreferredGap([Link])
.addComponent(buttonUpdate, [Link].PREFERRED_SIZE, 113,
[Link].PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(buttonDelete, [Link].PREFERRED_SIZE, 121,
[Link].PREFERRED_SIZE)
.addPreferredGap([Link])
.addComponent(buttonReset, [Link].PREFERRED_SIZE, 100,
[Link].PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
[Link](
[Link]([Link])
.addGroup([Link]()
.addGap(16, 16, 16)
.addGroup([Link]([Link])
.addComponent(jLabel1)
.addComponent(txtID, [Link].PREFERRED_SIZE, 29,
[Link].PREFERRED_SIZE)
.addComponent(txtCariNama, [Link].PREFERRED_SIZE, 29,
[Link].PREFERRED_SIZE)
.addComponent(jLabel6)
.addComponent(buttonCariNama))
.addGap(8, 8, 8)
.addGroup([Link]([Link])
.addGroup([Link]()
.addGroup([Link]([Link]
NE)
.addComponent(jLabel2)
.addComponent(txtNim, [Link].PREFERRED_SIZE, 29,
[Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link]
NE)
.addComponent(jLabel3)
.addComponent(txtNama, [Link].PREFERRED_SIZE, 29,
[Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link]
NE)
.addComponent(jLabel4)
.addComponent(setJk, [Link].PREFERRED_SIZE, 31,
[Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link]
G)
.addComponent(jScrollPane2, [Link].PREFERRED_SIZE, 88,
[Link].PREFERRED_SIZE)
.addGroup([Link]()
.addGap(25, 25, 25)
.addComponent(jLabel5))))
.addComponent(jScrollPane1, [Link].PREFERRED_SIZE, 193,
[Link].PREFERRED_SIZE))
.addGap(32, 32, 32)
.addGroup([Link]([Link])
.addComponent(buttonUpdate)
.addComponent(buttonInsert)
.addComponent(buttonDelete)
.addComponent(buttonReset, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
[Link] layout = new [Link](getContentPane());
getContentPane().setLayout(layout);
[Link](
[Link]([Link])
.addGroup([Link]()
.addContainerGap()
.addComponent(jPanel1, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
[Link](
[Link]([Link])
.addGroup([Link]()
.addContainerGap()
.addComponent(jPanel1, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void buttonInsertActionPerformed([Link] evt) {
// TODO add your handling code here:
[Link]();
[Link]();
[Link]();
private void buttonUpdateActionPerformed([Link] evt) {
[Link]();
[Link]();
[Link]();// TODO add your handling code here:
private void buttonDeleteActionPerformed([Link] evt) {
[Link]();
[Link]();
[Link]();// TODO add your handling code here:
private void buttonResetActionPerformed([Link] evt) {
[Link]();// TODO add your handling code here:
}
private void buttonCariNamaActionPerformed([Link] evt) {
[Link]();// TODO add your handling code here:
private void tabelDataMouseClicked([Link] evt) {
[Link]([Link]());// TODO add your handling code here:
public JTextField getTxtID(){
return txtID;
public JTextField getTxtNim(){
return txtNim;
public JTextField getTxtNama(){
return txtNama;
public JComboBox getTxtJk(){
return setJk;
public JTextArea getTxtAlamat(){
return txtAlamat;
}
public JTable getTabelData(){
return tabelData;
public JButton getButtonInsert(){
return buttonInsert;
public JButton getButtonUpdate(){
return buttonUpdate;
public JButton getButtonDetele(){
return buttonDelete;
public JButton getButtonReset(){
return buttonReset;
public JButton getButtonCari(){
return buttonCariNama;
public JTextField getTxtCariNama(){
return txtCariNama;
}
OUTPUT