lagi pusing ngadepin tahun 2016.
eh kepikiran bagi artikel tentang aplikasi sederhana.. mugkin buat yang sudah pro, artikel ini ga ada gunanya. tapi bagi yang pemula. mungkin ini sangat bermanfaat. dan ini sebenernya gabungan beberapa artikel sebelumnya mulai dari koneksi database yang sudah pernah ane buat.
oke biar ane ga tambah pusing karena ngadepin tahun 2016 . yuk capcus aja
sebelum dimulai ada hal yang perlu disiapkan
kopi sama gorengan untuk nyemil.. xixixixii just kiding
buat database di mysql dengan nama database db_mahasiswa dan tabel name mahasiswa dengan struktu tabel sebagai berikut :
setelah database dan tabel terbentuk selanjutnya adalah buka netbean, dan buat projek baru dengan nama koneksidatabase (kalo mau diganti juga boleh).
buat class baru dengan nama koneksi dan ketikkan script dibawah ini (yang berwarna biru)
package koneksidatabase;
import java.sql.*;
import javax.swing.*;
/**
*
* @author Altair
*/
public class koneksi {
Connection conn=null;
public static Connection ok(){ //rumus ini diketik secara manual ,”ok” variable untuk dipanggil
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/db_mahasiswa","root",""); // db_mahasiswa nama database yg tadi dibuat
return conn;
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
return null;
}}}
buat sebuah Jframeform baru dan buat tampilan seperti dibawah ini.
dibawah package ......... tambahkan
import java.awt.event.KeyEvent;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
dibawah public class ......... extends javax.swing.JFrame { tambahkan
Connection conn=null;
private DefaultTableModel Model;
dibawah initComponents(); tambahkan
Model =new DefaultTableModel();
jTablehasil.setModel(Model);
Model.addColumn("NPM");
Model.addColumn("Nama");
Model.addColumn("Prodi");
Model.addColumn("Fakultas");
Model.addColumn("Nilai Tugas");
Model.addColumn("Nilai MID");
Model.addColumn("Nilai UAS");
loadData();
diatas @SuppressWarnings("unchecked") tambahkan
public void loadData(){
Model.getDataVector().removeAllElements();
Model.fireTableDataChanged();
try{
Connection c=koneksi.ok();
Statement s=c.createStatement();
String sql="SELECT * from mahasiswa";
ResultSet r=s.executeQuery(sql);
while (r.next()){
//memasukan ke table
Object[] o=new Object[7];
o[0]=r.getString("NPM");
o[1] = r.getString("Nama");
o[2] = r.getString("Prodi");
o[3] = r.getString("Fakultas");
o[4] = r.getString("NilaiTugas");
o[5] = r.getString("NilaiUTS");
o[6] = r.getString("NilaiUAS");
Model.addRow(o);
}
r.close();
s.close();
}catch(Exception e){
System.out.println("Error");
}
}
dobel klik pada button tes . isikan script seperti di bawah ini
Connection conn=koneksi.ok();
script diatas hanya berfungsi untuk mengetes hubungan antara from dengan database
dobel klik pada button batal. isikan script seperti di bawah ini
jTextFieldNPM.setText(" ");
jTextFieldNama.setText(" ");
jTextFieldProdi.setText(" ");
jTextFieldFakultas.setText(" ");
jTextFieldTugas.setText(" ");
jTextFieldUTS.setText(" ");
jTextFieldUAS.setText(" ");
jTextFieldNPM.requestFocus();
jTextFieldNPM.setEnabled(true);
jButtonSimpan.setEnabled(true);
ingat diatas variabel name sudah diganti silahkan sesuaikan dengan variabel name yang anda buat.
dobel klik pada button simpan. isikan script seperti di bawah ini
if (jTextFieldNPM.getText().equals("")
|| jTextFieldNama.getText().equals("")
|| jTextFieldProdi.getText().equals("")
|| jTextFieldFakultas.getText().equals("")
|| jTextFieldTugas.getText().equals("")
|| jTextFieldUTS.getText().equals("")
|| jTextFieldUAS.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Data harus diisi dengan lengkap!");
return;
}
String cek = jTextFieldNPM.getText();
if (cek.length() == 0) {
JOptionPane.showMessageDialog(null, "Data belum valid");
jButtonbatal.doClick();
} else {
try {
Connection conn = koneksi.ok();
String sql = "INSERT INTO Mahasiswa VALUES"
+ "('" + jTextFieldNPM.getText() + "',"
+ "'" + jTextFieldNama.getText() + "',"
+ "'" + jTextFieldProdi.getText() + "',"
+ "'" + jTextFieldFakultas.getText() + "',"
+ "'" + jTextFieldTugas.getText() + "',"
+ "'" + jTextFieldUTS.getText() + "',"
+ "'" + jTextFieldUAS.getText() + "')";
PreparedStatement rumus=conn.prepareStatement(sql);
rumus.executeUpdate();
rumus.close();
} catch (Exception e) {
System.err.println(e.getMessage());
} finally {
loadData();
}
jButtonbatal.doClick();
}
double klik pada button hapus. isikan script dibawah ini.
int i = jTablehasil.getSelectedRow();
if (i == -1) {
JOptionPane.showMessageDialog(null, "Silahkan Seleksi Table Terlebih Dahulu");
jButtonbatal.doClick();
return;
}
int result = JOptionPane.showConfirmDialog(this, "Hapus File", "Peringatan", JOptionPane.YES_NO_OPTION);
if (result == 0) {
try {
String NPM = (String) Model.getValueAt(i, 0);
Connection conn = koneksi.ok();
String sql = "DELETE from Mahasiswa Where NPM=?";
PreparedStatement rumus = conn.prepareStatement(sql);
rumus.setString(1, NPM);
rumus.executeUpdate();
rumus.close();
} catch (Exception e) {
System.out.println("eror");
} finally {
loadData();
}
jButtonbatal.doClick();
} else {
jButtonbatal.doClick();
}
double klik pada buton edit isikan script dibawah ini
int i = jTablehasil.getSelectedRow();
if (i == -1) {
//table belom diseleksi
JOptionPane.showMessageDialog(null, "Silahkan Seleksi Table Terlebih Dahulu");
jButtonbatal.doClick();
return;
}
//mengabil data dari table
String NPM = (String) Model.getValueAt(i, 0);
String NPMbaru = jTextFieldNPM.getText();
String Nama = jTextFieldNama.getText();
String Prodi = jTextFieldProdi.getText();
String Fakultas = jTextFieldFakultas.getText();
String tugas = jTextFieldTugas.getText();
String UTS = jTextFieldUTS.getText();
String UAS = jTextFieldUAS.getText();
try {
Connection conn = koneksi.ok();
String sql = "UPDATE Mahasiswa Set Nama=?,Prodi=?,Fakultas=?,NilaiTugas=?,NilaiUTS=?,NilaiUAS=?,NPM=?"
+ " WHERE NPM= ?";
PreparedStatement p = conn.prepareStatement(sql);
p.setString(1, Nama); //ANGKA 1 MENGIKUTI URUTAN DARIString sql digunakan untuk mengisi statmen sql
p.setString(2, Prodi);
p.setString(3, Fakultas);
p.setString(4, tugas);
p.setString(5, UTS);
p.setString(6, UAS);
p.setString(7, NPMbaru);
p.setString(8, NPM); //diambil dari variable diatas
p.executeUpdate();
p.close();
} catch (Exception e) {
System.out.println("eror");
} finally {
loadData();
}
jButtonbatal.doClick();
beri even pada jtablehasil mouse clicked. isikan script di bawah ini
int i = jTablehasil.getSelectedRow();
if (i == -1) {
//tidak ada table yg terseleksi
return;
}
jTextFieldNPM.setText((jTablehasil.getValueAt(i, 0)).toString()); //cara pertama
String Nama = (String) Model.getValueAt(i, 1); // cara kedua
jTextFieldNama.setText(Nama);
jTextFieldProdi.setText((jTablehasil.getValueAt(i, 2)).toString()); //cara pertama
jTextFieldFakultas.setText((jTablehasil.getValueAt(i, 3)).toString()); //cara pertama
jTextFieldTugas.setText((jTablehasil.getValueAt(i, 4)).toString()); //cara pertama
jTextFieldUTS.setText((jTablehasil.getValueAt(i, 5)).toString()); //cara pertama
jTextFieldUAS.setText((jTablehasil.getValueAt(i, 6)).toString()); //cara pertama
double tugas = Double.parseDouble(jTextFieldTugas.getText());
double UTS = Double.parseDouble(jTextFieldUTS.getText());
double UAS = Double.parseDouble(jTextFieldUAS.getText());
double na = ((tugas * 0.3) + (UTS * 0.3) + (UAS * 0.4));
jTextFieldNPM.setEnabled(false);
jButtonSimpan.setEnabled(false);
Ket. cara pertama dan cara kedua memiliki fungsi yang sama hanya beda dalam penulisan script.
sekian artikel ane tentang pembuatan aplikasi sederhana dengan java netbeans dan mysql, untuk para master mohon maaf kalo ada kesalahan dan kekurangan dalam pembuatan artikel ini.
untuk cetak silahkan lihat artikel ane tentang cetak dengan ireport..
sekian dan selamat mencoba.
Majuterus developer Indonesia
0 comments:
Post a Comment