Pada Pertemuan kali ini saya akan memberikan tutorial membuat Program Database Tabungan Siswa menggunakan Netbeans. Saya Sudah menyiapkan File Project yang bisa anda Download dibawah ini :
File Project Database Tabungan Siswa : Download
Pertama Buat Databasenya terlebih dahulu. Jalankan XAMPP anda dan aktifkan Apache dan MySQL.

Selanjutnya Buat Database dengan Klik New. Kemudian berikan nama database anda seperti gambar dibawah.
Selanjutnya, Buka netbeans anda dan buatlah project baru dengan nama "SupidanZamzam_181011400551". Pilih File -> New Project.
Kemudian Buat JFrame baru untuk Input Data Siswa. Klik Kanan pada nama Package -> Pilih New -> JFrame Form. Form ini untuk menginput data siswa baru pemilik tabungan.
Scrip Import yang dibutuhkan, letakan dibawah nama Package :
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
Scrip Variabel Connection
private Connection con_supidanZamzam;
private Statement stat_supidanZamzam;
private ResultSet res_supidanZamzam;
private String t_supidanZamzam;
private DefaultTableModel dtm_supidanZamzam;
Scrip Fungsi untuk koneksi dan kosongkan, letakan dibawah InitComponents().
kosongkan();tabel_supidanZamzam();
Scrip untuk Fungsi Koneksi();
private void koneksi(){try{Class.forName("com.mysql.jdbc.Driver");con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://127.0.0.1/databasetabungan", "root", "");stat_supidanZamzam = con_supidanZamzam.createStatement();}catch(Exception e){JOptionPane.showMessageDialog(null, e);}}
Scrip untuk Fungsi Kosongkan();
private void kosongkan(){inputIdSiswa.setText("");inputIdTabungan.setText("");inputNamaSiswa.setText("");inputNoTelp.setText("");inputIdSiswa.requestFocus();inputAlamat.setText("");}
Buat Fungsi untuk menampilkan data ke JTable :
private void tabel_supidanZamzam(){DefaultTableModel t = new DefaultTableModel();t.addColumn("ID SISWA");t.addColumn("ID TABUNGAN");t.addColumn("NAMA");t.addColumn("NO TELEPON");t.addColumn("ALAMAT");outputTableData.setModel(t);try{res_supidanZamzam = stat_supidanZamzam.executeQuery("select * from datasiswa");while(res_supidanZamzam.next()){t.addRow(new Object[]{res_supidanZamzam.getString("id_siswa"),res_supidanZamzam.getString("id_tabungan"),res_supidanZamzam.getString("nama"),res_supidanZamzam.getString("no_telepon"),res_supidanZamzam.getString("alamat"),});}}catch(Exception e){JOptionPane.showMessageDialog(rootPane, e);}}
Selanjutnya masukan Scrip untuk Button Simpan, Klik kanan pada Button Simpan -> Pilih Events -> Action -> actionPerformed.
try{stat_supidanZamzam.executeUpdate("insert into datasiswa values ("+ "'" + inputIdSiswa.getText() + "',"+ "'" + inputIdTabungan.getText() + "',"+ "'" + inputNamaSiswa.getText() + "',"+ "'" + inputNoTelp.getText() + "',"+ "'" + inputAlamat.getText() + "')");kosongkan();JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");}catch(Exception e){JOptionPane.showMessageDialog(null, "Perintah Salah : " + e);}
Scrip untuk Button Refresh :
new Input_DataSiswa().setVisible(true);dispose();
Scrip untuk Button Bersihkan :
kosongkan();
Scrip untuk Button Setoran Awal :
new Input_Setoran_Awal().setVisible(true);dispose();
Scrip untuk Butto Kembali :
new Menu_Utama().setVisible(true);dispose();
Scrip untuk Button Keluar :
System.exit(0);
Masukan File Koneksi, Klik kanan pada Libraries -> Pilih add Library
Selanjutnya Buat Form Setoran Awal, yaitu untuk input setoran awal tabungan bagi siswa yang baru daftar. Klik kanan pada nama Project -> Pilih New -> JFrame Form.
Import yang dibutuhkan, letakan dibawah nama Package :
import java.sql.*;import javax.swing.*;
Scrip Variabel Connection, letakan dibawah nama class Input_Setoran_Awal ;
private Connection con_supidanZamzam;private Statement stat_supidanZamzam;private ResultSet res_supidanZamzam;
Masukan Fungsi berikut, letakan dibawah InitComponents().
koneksi_supidanZamzam();kosongkan_supidanZamzam();
Scrip untuk Fungsi Koneksi():
private void koneksi_supidanZamzam(){try{Class.forName("com.mysql.jdbc.Driver");con_supidanZamzam=DriverManager.getConnection("jdbc:mysql://localhost/databasetabungan", "root", "");}catch(ClassNotFoundException e){System.out.println("Driver Tidak Ditemukan");}catch(SQLException e){System.out.println("Koneksi Gagal : " + e.toString());}}
Scrip untuk Fungsi Kosongkan() :
private void kosongkan_supidanZamzam(){inputID.setText("");inputNama.setText("");inputSaldo.setText("");inputTanggal.setText("");inputMenabung.setText("");outputTotal.setText("");}
Masukan Scrip untuk Button Cek ID Siswa, Klik kanan pada button CekId Siswa -> Events -> Action -> actionPerformed.
try{stat_supidanZamzam = con_supidanZamzam.createStatement();res_supidanZamzam = stat_supidanZamzam.executeQuery("Select * from datasiswa" + " where id_siswa= '"+ inputID.getText() + "'");if(res_supidanZamzam.next()){inputID.setText(res_supidanZamzam.getString("id_siswa"));inputNama.setText(res_supidanZamzam.getString("nama"));}else{JOptionPane.showMessageDialog(this, "ID Siswa : Salah","Informasi",JOptionPane.INFORMATION_MESSAGE);SimpanButton.setEnabled(false);kosongkan_supidanZamzam();}}catch(SQLException e){System.out.println("Koneksi Gagal" + e.toString());}
Scrip untuk Button Setorkan :
double menabung = Double.parseDouble(inputMenabung.getText());double saldo = Double.parseDouble(inputSaldo.getText());double jumlah = saldo + menabung;String total = String.valueOf(jumlah);outputTotal.setText(total);
Scrip untuk Button Simpan :
try{stat_supidanZamzam.executeUpdate("insert into datatabungan values ("+ "'" + inputID.getText() + "',"+ "'" + inputNama.getText() + "',"+ "'" + inputSaldo.getText() + "',"+ "'" + inputTanggal.getText() + "',"+ "'" + inputMenabung.getText() + "',"+ "'" + outputTotal.getText() + "')");kosongkan_supidanZamzam();JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");}catch(Exception e){JOptionPane.showMessageDialog(null, "Perintah Salah : " + e);}
Scrip untuk Button Kembali :
new Menu_Utama().setVisible(true);dispose();
Scrip untuk Button Bersihkan :
kosongkan_supidanZamzam();
Buat JFrame untuk Form menabung bagi siswa yang sudah memiliki tabungan. Klik kanan pada Package -> Pilih New -> JFrame Form.
Import yang dibutuhkan :
import java.sql.*;import javax.swing.*;
Scrip Variabel Connection, letakan dibawah nama Class :
private Connection con_supidanZamzam;private Statement stat_supidanZamzam;private ResultSet res_supidanZamzam;
Masukan Fungsi berikut, letakan dibawah InitComponents().
koneksi_supidanZamzam();kosongkan_supidanZamzam();
Scrip Fungsi Koneksi();
private void koneksi_supidanZamzam(){try{Class.forName("com.mysql.jdbc.Driver");con_supidanZamzam=DriverManager.getConnection("jdbc:mysql://localhost/databasetabungan", "root", "");}catch(ClassNotFoundException e){System.out.println("Driver Tidak Ditemukan");}catch(SQLException e){System.out.println("Koneksi Gagal : " + e.toString());}}
Scrip Fungsi Kosongkan();
private void kosongkan_supidanZamzam(){inputID.setText("");inputNama.setText("");inputSaldo.setText("");inputTanggal.setText("");inputMenabung.setText("");outputTotal.setText("");}
try{
stat_supidanZamzam = con_supidanZamzam.createStatement();
res_supidanZamzam = stat_supidanZamzam.executeQuery("Select * from datatabungan" + " where id_siswa2= '"+ inputID.getText() + "'");
if(res_supidanZamzam.next()){
SimpanButton.setEnabled(true);
inputID.setText(res_supidanZamzam.getString("id_siswa2"));
inputNama.setText(res_supidanZamzam.getString("nama2"));
inputSaldo.setText(res_supidanZamzam.getString("total"));
}else{
JOptionPane.showMessageDialog(this, "ID Tabungan : Salah","Informasi",JOptionPane.INFORMATION_MESSAGE);
//SimpanButton.setEnabled(false);
kosongkan_supidanZamzam();
}
}catch(SQLException e){
System.out.println("Koneksi Gagal" + e.toString());
}
Scrip untuk Button Setorkan :
double menabung = Double.parseDouble(inputMenabung.getText());
double saldo = Double.parseDouble(inputSaldo.getText());
double jumlah = saldo + menabung;
String total = String.valueOf(jumlah);
outputTotal.setText(total);
try{PreparedStatement pStatement = con_supidanZamzam.prepareStatement("UPDATE datatabungan SET nama2=?,saldo=?,tanggal=?,menabung=?,total=? WHERE id_siswa2=?");pStatement.setString(1, inputNama.getText());pStatement.setString(2, inputSaldo.getText());pStatement.setString(3, inputTanggal.getText());pStatement.setString(4, inputMenabung.getText());pStatement.setString(5, outputTotal.getText());pStatement.setString(6, inputID.getText());if(pStatement.executeUpdate()>0)JOptionPane.showMessageDialog(this, "Edit Sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);elseJOptionPane.showMessageDialog(this, "Edit Gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);pStatement.close();kosongkan_supidanZamzam();}catch(SQLException e){System.out.println("Koneksi Gagal" + e.toString());}
Scrip untuk Button Kembali, Klik kanan pada Button Kembali -> Pilih Events -> Action -> actionPerformed.
new Menu_Utama().setVisible(true);dispose();
Selanjutnya Buat Form untuk Menampilkan dan Menyimpan Data Transaksi Menabung. Klik kanan pada nama Project -> Pilih New -> Pilih JFrame Form.
Import yang dibutuhkan, letakan dibawah nama Package.
import java.sql.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;
Scrip Variabel Connection, letakan dibawah nama Class Data_Transaksi.
private Connection con_supidanZamzam;private Statement stat_supidanZamzam;private ResultSet res_supidanZamzam;private String t_supidanZamzam;private DefaultTableModel dtm_supidanZamzam;
Masukan Fungsi koneksi dan tabel kedalam constructor Data_Transaksi :
koneksi();tabel_supidanZamzam();
private void koneksi(){try{Class.forName("com.mysql.jdbc.Driver");con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://localhost/databasetabungan", "root", "");stat_supidanZamzam = con_supidanZamzam.createStatement();}catch(Exception e){JOptionPane.showMessageDialog(null, e);}}
private void tabel_supidanZamzam(){DefaultTableModel t = new DefaultTableModel();t.addColumn("ID SISWA");t.addColumn("ID TABUNGAN");t.addColumn("NAMA");t.addColumn("NO TELEPON");t.addColumn("TANGGAL");t.addColumn("SALDO");t.addColumn("MENABUNG");t.addColumn("TOTAL");t.addColumn("ALAMAT");Table_supidanZamzam.setModel(t);try{res_supidanZamzam = stat_supidanZamzam.executeQuery("select id_siswa,id_tabungan,nama,no_telepon,tanggal,saldo,menabung,total,alamat from datasiswa,datatabungan where datasiswa.id_siswa=datatabungan.id_siswa2 AND datasiswa.nama=datatabungan.nama2");while(res_supidanZamzam.next()){t.addRow(new Object[]{res_supidanZamzam.getString("id_siswa"),res_supidanZamzam.getString("id_tabungan"),res_supidanZamzam.getString("nama"),res_supidanZamzam.getString("no_telepon"),res_supidanZamzam.getString("tanggal"),res_supidanZamzam.getString("saldo"),res_supidanZamzam.getString("menabung"),res_supidanZamzam.getString("total"),res_supidanZamzam.getString("alamat")});}}catch(Exception e){JOptionPane.showMessageDialog(rootPane, e);}}
int jumlah_baris = Table_supidanZamzam.getRowCount();if(jumlah_baris==0){JOptionPane.showMessageDialog(rootPane, "Table Masih Kosong");}else{try{int i = 0;while(i < jumlah_baris){stat_supidanZamzam.executeUpdate("insert into data_transaksi(id_siswa,id_tabungan,nama,no_telepon,tanggal,saldo,menabung,total,alamat)values("+ "'" + Table_supidanZamzam.getValueAt(i, 0) + "',"+ "'" + Table_supidanZamzam.getValueAt(i, 1) + "',"+ "'" + Table_supidanZamzam.getValueAt(i, 2) + "',"+ "'" + Table_supidanZamzam.getValueAt(i, 3) + "',"+ "'" + Table_supidanZamzam.getValueAt(i, 4) + "',"+ "'" + Table_supidanZamzam.getValueAt(i, 5) + "',"+ "'" + Table_supidanZamzam.getValueAt(i, 6) + "',"+ "'" + Table_supidanZamzam.getValueAt(i, 7) + "',"+ "'" + Table_supidanZamzam.getValueAt(i, 8) + "')");i++;}JOptionPane.showMessageDialog(rootPane, "Berhasil Disimpan");}catch(Exception e){JOptionPane.showMessageDialog(rootPane, "Gagal Disimpan ! Error : " + e);}}
new Menu_Utama().setVisible(true);dispose();
Selanjutnya Buat Menu Utama, Klik kanan pada nama Package -> Pilih New -> JFrame Form.
Scrip untuk Menu Item Daftar :
new Input_DataSiswa().setVisible(true);dispose();
Scrip untuk Menu Item Nabung :
new Input_Nabung().setVisible(true);dispose();
Scrip untuk Menu Item Lihat Transaksi :
new Data_Transaksi().setVisible(true);dispose();
Selesai......
Terima Kasih....Selamat Mencoba
Semoga Bermanfaat......




































































No comments:
Post a Comment