You are on page 1of 16

LAPORAN PRAKTIKUM 7

PEMROGRAMAN BERORIENTASI OBJEK LANJUT

Nama : Intan Hikmah F


NIM : M3113079
TID

PROGRAM STUDI DIII TEKNIK INFORMATIKA


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
TAHUN 2015

1. Database pada mysql

2. Source Code DBBiodata.java


package com.d3ti.praktikum.tujuh.db;
import
import
import
import
import
import

java.sql.Connection;
java.sql.Driver;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;

public class DBBiodata {


// nama class driver yang digunakan
private String dbDriver = "com.mysql.jdbc.Driver";
// connection url, format [protokol]://[hostname]/[databasename]
private String dbUrl = "jdbc:mysql://localhost/oopl_prak6";
// username
private String dbUser = "root";
// password
private String dbPswd = "";
public DBBiodata() {
try {
// load class driver
Driver driver = (Driver) Class.forName(dbDriver).newInstance();
// register ke driver manager
DriverManager.registerDriver(driver);

} catch (Exception e) {
e.printStackTrace();
}

public Connection getConnection() {


// connect ke database

try {
return DriverManager.getConnection(dbUrl, dbUser, dbPswd);
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public ResultSet executeQuery(String sql) {
Connection conn = getConnection();
try {
Statement stmt = conn.createStatement();
return stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public int executeUpdate(String sql) {
Connection conn = getConnection();
try {
Statement stmt = conn.createStatement();
return stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
return -1;
}
}
public static void main(String[] args) {
DBBiodata biodata = new DBBiodata();
Connection conn = biodata.getConnection();
try {
// Print beberapa informasi tentang server
System.out.println(conn.getMetaData().getDatabaseProductName());
System.out.println(conn.getMetaData().getDatabaseProductVersion());
} catch (SQLException e) {
e.printStackTrace();
}
}
}

3. Source Code Biodata.java


package com.d3ti.praktikum.tujuh.db;
public class biodata {
private String nim = "";
private String nama = "";
private String jk = "";
private String tmp_lahir = "";

private String tgl_lahir = "";


private String alamat = "";
public biodata() {}
public biodata(String nim, String nama, String jk, String tmp_lahir,
String tgl_lahir, String alamat) {
super();
this.nim = nim;
this.nama = nama;
this.jk = jk;
this.tmp_lahir = tmp_lahir;
this.tgl_lahir = tgl_lahir;
this.alamat = alamat;
}
public String getNim() {
return nim;
}
public void setNim(String nim) {
this.nim = nim;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getJk() {
return jk;
}
public void setJk(String jk) {
this.jk = jk;
}
public String getTmp_lahir() {
return tmp_lahir;
}
public void setTmp_lahir(String tmp_lahir) {
this.tmp_lahir = tmp_lahir;
}
public String getTgl_lahir() {
return tgl_lahir;
}
public void setTgl_lahir(String tgl_lahir) {
this.tgl_lahir = tgl_lahir;
}

public String getAlamat() {


return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
}

4. SourceCode EditorDialog.java

package com.d3ti.praktikum.tujuh.db;
import
import
import
import
import
import
import
import
import
import
import

javax.swing.JPanel;
java.awt.Frame;
java.awt.BorderLayout;
javax.swing.JDialog;
java.awt.GridBagLayout;
java.awt.Dimension;
javax.swing.JLabel;
java.awt.GridBagConstraints;
javax.swing.JTextField;
java.awt.Insets;
javax.swing.JButton;

public class EditorDialog extends JDialog {


private
private
private
private
private
private
private
private
private
private
private
private
private
private
private
private
private
private
private

static final long serialVersionUID = 1L;


boolean newBean;
MainFrame parent;
biodata biodata; // @jve:decl-index=0:
JPanel jContentPane = null;
JLabel jLabel = null;
JLabel jLabel1 = null;
JLabel jLabel2 = null;
JLabel jLabel3 = null;
JLabel jLabel4 = null;
JLabel jLabel5 = null;
JTextField txtNim = null;
JTextField txtNama = null;
JTextField txtJk = null;
JTextField txtTmp_lahir = null;
JTextField txtTgl_lahir = null;
JTextField txtAlamat = null;
JButton btnSave = null;
JButton btnCancel = null;

/**
* @param owner
*/
public EditorDialog(Frame owner) {
super(owner);
initialize();
}

public EditorDialog(MainFrame parent, biodata biodata) {


super(parent, true);
initialize();
this.parent = parent;
this.biodata = biodata;
displayBiodata();
}
private void displayBiodata() {
if (biodata == null) {
biodata = new biodata();
newBean = true;
}
else {
newBean = false;
txtNim.setEditable(false);
}
txtNim.setText(String.valueOf(biodata.getNim()));
txtNama.setText(biodata.getNama());
txtJk.setText(String.valueOf(biodata.getJk()));
txtTmp_lahir.setText(String.valueOf(biodata.getTmp_lahir()));
txtTgl_lahir.setText(biodata.getTgl_lahir());
txtAlamat.setText(String.valueOf(biodata.getAlamat()));
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(600, 400);
this.setTitle("Add Biodata");
this.setContentPane(getJContentPane());
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
GridBagConstraints gridBagConstraints51 = new
GridBagConstraints();
gridBagConstraints51.gridx = 2;
gridBagConstraints51.anchor = GridBagConstraints.WEST;
gridBagConstraints51.insets = new Insets(15, 5, 5, 5);
gridBagConstraints51.gridy = 6;
GridBagConstraints gridBagConstraints41 = new
GridBagConstraints();
gridBagConstraints41.gridx = 1;
gridBagConstraints41.anchor = GridBagConstraints.WEST;
gridBagConstraints41.insets = new Insets(15, 5, 5, 5);
gridBagConstraints41.gridy = 6;

GridBagConstraints gridBagConstraints31 = new


GridBagConstraints();
gridBagConstraints31.fill = GridBagConstraints.VERTICAL;
gridBagConstraints31.gridy = 5;
gridBagConstraints31.weightx = 1.0;
gridBagConstraints31.anchor = GridBagConstraints.WEST;
gridBagConstraints31.insets = new Insets(5, 5, 5, 5);
gridBagConstraints31.gridwidth = 2;
gridBagConstraints31.gridx = 1;
GridBagConstraints gridBagConstraints21 = new
GridBagConstraints();
gridBagConstraints21.fill = GridBagConstraints.VERTICAL;
gridBagConstraints21.gridy = 4;
gridBagConstraints21.weightx = 1.0;
gridBagConstraints21.anchor = GridBagConstraints.WEST;
gridBagConstraints21.insets = new Insets(5, 5, 5, 5);
gridBagConstraints21.gridwidth = 2;
gridBagConstraints21.gridx = 1;
GridBagConstraints gridBagConstraints11 = new
GridBagConstraints();
gridBagConstraints11.fill = GridBagConstraints.VERTICAL;
gridBagConstraints11.gridy = 3;
gridBagConstraints11.weightx = 1.0;
gridBagConstraints11.anchor = GridBagConstraints.WEST;
gridBagConstraints11.insets = new Insets(5, 5, 5, 5);
gridBagConstraints11.gridwidth = 2;
gridBagConstraints11.gridx = 1;
GridBagConstraints gridBagConstraints8 = new GridBagConstraints();
gridBagConstraints8.fill = GridBagConstraints.VERTICAL;
gridBagConstraints8.gridy = 2;
gridBagConstraints8.weightx = 1.0;
gridBagConstraints8.anchor = GridBagConstraints.WEST;
gridBagConstraints8.insets = new Insets(5, 5, 5, 5);
gridBagConstraints8.gridwidth = 2;
gridBagConstraints8.gridx = 1;
GridBagConstraints gridBagConstraints7 = new GridBagConstraints();
gridBagConstraints7.fill = GridBagConstraints.VERTICAL;
gridBagConstraints7.gridy = 1;
gridBagConstraints7.weightx = 1.0;
gridBagConstraints7.anchor = GridBagConstraints.WEST;
gridBagConstraints7.insets = new Insets(5, 5, 5, 5);
gridBagConstraints7.gridwidth = 2;
gridBagConstraints7.gridx = 1;
GridBagConstraints gridBagConstraints6 = new GridBagConstraints();
gridBagConstraints6.fill = GridBagConstraints.VERTICAL;
gridBagConstraints6.gridy = 0;
gridBagConstraints6.weightx = 1.0;
gridBagConstraints6.anchor = GridBagConstraints.WEST;
gridBagConstraints6.insets = new Insets(5, 5, 5, 5);
gridBagConstraints6.gridwidth = 2;

gridBagConstraints6.gridx = 1;
GridBagConstraints gridBagConstraints5 = new GridBagConstraints();
gridBagConstraints5.gridx = 0;
gridBagConstraints5.anchor = GridBagConstraints.WEST;
gridBagConstraints5.insets = new Insets(5, 5, 5, 5);
gridBagConstraints5.gridy = 5;
jLabel5 = new JLabel();
jLabel5.setText("Alamat");
GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
gridBagConstraints4.gridx = 0;
gridBagConstraints4.anchor = GridBagConstraints.WEST;
gridBagConstraints4.insets = new Insets(5, 5, 5, 5);
gridBagConstraints4.gridy = 4;
jLabel4 = new JLabel();
jLabel4.setText("Tanggal Lahir");
GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
gridBagConstraints3.gridx = 0;
gridBagConstraints3.anchor = GridBagConstraints.WEST;
gridBagConstraints3.insets = new Insets(5, 5, 5, 5);
gridBagConstraints3.gridy = 3;
jLabel3 = new JLabel();
jLabel3.setText("Tempat Lahir");
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.gridx = 0;
gridBagConstraints2.anchor = GridBagConstraints.WEST;
gridBagConstraints2.insets = new Insets(5, 5, 5, 5);
gridBagConstraints2.gridy = 2;
jLabel2 = new JLabel();
jLabel2.setText("Jenis Kelamin");
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.gridx = 0;
gridBagConstraints1.anchor = GridBagConstraints.WEST;
gridBagConstraints1.insets = new Insets(5, 5, 5, 5);
gridBagConstraints1.gridy = 1;
jLabel1 = new JLabel();
jLabel1.setText("Nama");
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.anchor = GridBagConstraints.WEST;
gridBagConstraints.insets = new Insets(5, 5, 5, 5);
gridBagConstraints.gridy = 0;
jLabel = new JLabel();
jLabel.setText("NIM");

jContentPane = new JPanel();


jContentPane.setLayout(new GridBagLayout());
jContentPane.add(jLabel, gridBagConstraints);
jContentPane.add(jLabel1, gridBagConstraints1);
jContentPane.add(jLabel2, gridBagConstraints2);

jContentPane.add(jLabel3, gridBagConstraints3);
jContentPane.add(jLabel4, gridBagConstraints4);
jContentPane.add(jLabel5, gridBagConstraints5);
jContentPane.add(getTxtNim(), gridBagConstraints6);
jContentPane.add(getTxtNama(), gridBagConstraints7);
jContentPane.add(getTxtJk(), gridBagConstraints8);
jContentPane.add(getTxtTmp_lahir(), gridBagConstraints11);
jContentPane.add(getTxtTgl_lahir(), gridBagConstraints21);
jContentPane.add(getTxtAlamat(), gridBagConstraints31);
jContentPane.add(getBtnSave(), gridBagConstraints41);
jContentPane.add(getBtnCancel(), gridBagConstraints51);

}
return jContentPane;

/**
* This method initializes txtId
*
* @return javax.swing.JTextField
*/
private JTextField getTxtNim() {
if (txtNim == null) {
txtNim = new JTextField();
txtNim.setColumns(10);
}
return txtNim;
}
/**
* This method initializes txtNama
*
* @return javax.swing.JTextField
*/
private JTextField getTxtNama() {
if (txtNama == null) {
txtNama = new JTextField();
txtNama.setColumns(20);
}
return txtNama;
}
/**
* This method initializes txtHarga
*
* @return javax.swing.JTextField
*/
private JTextField getTxtJk() {
if (txtJk == null) {
txtJk = new JTextField();
txtJk.setColumns(20);
}
return txtJk;
}
/**
* This method initializes txtKategori

*
* @return javax.swing.JTextField
*/
private JTextField getTxtTmp_lahir() {
if (txtTmp_lahir == null) {
txtTmp_lahir = new JTextField();
txtTmp_lahir.setColumns(20);
}
return txtTmp_lahir;
}
/**
* This method initializes txtStok
*
* @return javax.swing.JTextField
*/
private JTextField getTxtTgl_lahir() {
if (txtTgl_lahir == null) {
txtTgl_lahir = new JTextField();
txtTgl_lahir.setColumns(20);
}
return txtTgl_lahir;
}
/**
* This method initializes txtAlamat
*
* @return javax.swing.JTextField
*/
private JTextField getTxtAlamat() {
if (txtAlamat == null) {
txtAlamat = new JTextField();
txtAlamat.setColumns(30);
}
return txtAlamat;
}
/**
* This method initializes btnSave
*
* @return javax.swing.JButton
*/
private JButton getBtnSave() {
if (btnSave == null) {
btnSave = new JButton();
btnSave.setText("Save");
btnSave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
save();
}
});
}
return btnSave;
}
private void save() {

biodata biodata = new biodata();


biodata.setNim(txtNim.getText());
biodata.setNama(txtNama.getText());
biodata.setJk(txtJk.getText());
biodata.setTmp_lahir(txtTmp_lahir.getText());
biodata.setTgl_lahir(txtTgl_lahir.getText());
biodata.setAlamat(txtAlamat.getText());
String sql = "";
if (newBean) {
sql = "INSERT INTO biodata (nim, nama, jk, tmp_lahir, tgl_lahir,
alamat)" +
" VALUES ('"+biodata.getNim()+"','"+biodata.getNama()
+"','"+
biodata.getJk()+"','"+biodata.getTmp_lahir()
+"','"+biodata.getTgl_lahir()+"','"+biodata.getAlamat()+"')";
}
else {
sql = "UPDATE biodata SET nama = '"+biodata.getNama()+"','"+
" jk = '"+biodata.getJk()+"', tmp_lahir =
'"+biodata.getTmp_lahir()+
"', tgl_lahir = '"+biodata.getTgl_lahir()+
"' WHERE nim = '"+biodata.getNim()+"'";
}
parent.getBiodata().executeUpdate(sql);
parent.refresh();
dispose();
}
/**
* This method initializes btnCancel
*
* @return javax.swing.JButton
*/
private JButton getBtnCancel() {
if (btnCancel == null) {
btnCancel = new JButton();
btnCancel.setText("Cancel");
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
dispose();
}
});
}
return btnCancel;
}
}

//

@jve:decl-index=0:visual-constraint="10,10"

5. SourceCode MainFrame.java
package com.d3ti.praktikum.tujuh.db;
import javax.swing.SwingUtilities;

import
import
import
import
import
import
import
import
import

java.awt.BorderLayout;
javax.swing.JPanel;
javax.swing.JFrame;
java.awt.Dimension;
java.awt.GridBagLayout;
javax.swing.JToolBar;
java.awt.GridBagConstraints;
java.sql.ResultSet;
java.sql.SQLException;

import
import
import
import

javax.swing.JScrollPane;
javax.swing.JTable;
javax.swing.JButton;
javax.swing.table.DefaultTableModel;

public class MainFrame extends JFrame {


private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JToolBar jJToolBarBar = null;
private JScrollPane jScrollPane = null;
private JTable table = null;
private JButton btnAdd = null;
private JButton btnEdit = null;
private JButton btnDelete = null;
private DBBiodata biodata = null; // @jve:decl-index=0:visualconstraint="537,53"
/**
* This method initializes jJToolBarBar
*
* @return javax.swing.JToolBar
*/
private JToolBar getJJToolBarBar() {
if (jJToolBarBar == null) {
jJToolBarBar = new JToolBar();
jJToolBarBar.add(getBtnAdd());

}
return jJToolBarBar;

/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setViewportView(getTable());
}
return jScrollPane;
}
/**

* This method initializes table


*
* @return javax.swing.JTable
*/
private JTable getTable() {
if (table == null) {
DefaultTableModel model = new DefaultTableModel(null, new String[]

"NIM", "NAMA", "JENIS KELAMIN", "TEMPAT LAHIR", "TANGGAL


LAHIR", "ALAMAT"});
table = new JTable(model);
}
return table;
}
/**
* This method initializes btnAdd
*
* @return javax.swing.JButton
*/
private JButton getBtnAdd() {
if (btnAdd == null) {
btnAdd = new JButton();
btnAdd.setText("Add");
btnAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
add();
}
});
}
return btnAdd;
}
private void add() {
new EditorDialog(this, null).setVisible(true);
}

/**
* This method initializes manager1
*
* @return suhearie.blog.jdbc.DBManager
*/
public DBBiodata getBiodata() {
if (biodata == null) {
biodata = new DBBiodata();
}
return biodata;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {

});

public void run() {


MainFrame thisClass = new MainFrame();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}

}
/**
* This is the default constructor
*/
public MainFrame() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(415, 297);
this.setContentPane(getJContentPane());
this.setTitle("Main Frame");
refresh();
}
public void refresh() {
String sql = "SELECT * FROM biodata";
ResultSet rs = getBiodata().executeQuery(sql);
if (rs != null) {
DefaultTableModel model = (DefaultTableModel) table.getModel();
for (int i=table.getRowCount()-1; i>=0; i--) {
model.removeRow(i);
}
try {
while (rs.next()) {
Object[] data = new Object[] {
rs.getString("nim"),
rs.getString("nama"),
rs.getString("jk"),
rs.getString("tmp_lahir"),
rs.getString("tgl_lahir"),
rs.getString("alamat")
};
model.addRow(data);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* This method initializes jContentPane

*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.fill = GridBagConstraints.BOTH;
gridBagConstraints1.gridy = 1;
gridBagConstraints1.weightx = 1.0;
gridBagConstraints1.weighty = 1.0;
gridBagConstraints1.gridx = 0;
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.fill = GridBagConstraints.BOTH;
gridBagConstraints.gridy = 0;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.gridx = 0;
jContentPane = new JPanel();
jContentPane.setLayout(new GridBagLayout());
jContentPane.add(getJJToolBarBar(), gridBagConstraints);
jContentPane.add(getJScrollPane(), gridBagConstraints1);
}
return jContentPane;
}
}

//

@jve:decl-index=0:visual-constraint="10,10"

6. Run Aplikasi
a. Menampilkan dan edit data Mahasiswa

b. Input data mahasiswa

You might also like