import javax.swing.*;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.table.*;
public class lat11 extends JFrame {
//Deklarasi Komponen
JLabel jLabel4 = new JLabel();
JScrollPane jScrollPane1 = new JScrollPane();
JTable tabel = new JTable();
DefaultTableModel tabMode;
Connection konek;
private JLabel jLabel1=new JLabel();
private JLabel jLabel2=new JLabel();
private JLabel jLabel3=new JLabel();
private JTextField dataAlamat=new JTextField();
private JTextField dataKode=new JTextField();
private Button hapus= new Button();
private JTextField dataNama=new JTextField();
private JLabel jLabel5=new JLabel();
private JTextField dataKelas=new JTextField();
private JTextPane caraPengguna=new JTextPane();
/**
*Methode Main
*@param args: Arguments
*/
public static void main(String args[]) {
lat11 Data = new lat11();
Data.setSize(400,500);
Dimension screen =Toolkit.getDefaultToolkit().getScreenSize();
int lebar=(screen.width-Data.getSize().width)/2;
int tinggi=(screen.height-Data.getSize().height)/2;
Data.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Data.setLocation(lebar,tinggi);
Data.setVisible(true);
Data.setResizable(false);
}
/**
*Konstruktor
*Methode ini berisikan pembuatan komponen dan penambahan Action Listener
*/
public lat11() {
this.getContentPane().setLayout(null);
this.setTitle("Proses Menghapus Data");
//Membuat Tabel
jScrollPane1.setBounds(new Rectangle(13, 31, 365, 167));
Object[] row = {"Kode Siswa", "Nama Siswa", "Alamat", "Kelas"};
tabMode = new DefaultTableModel(null, row);
tabel.setModel(tabMode);
//Menambahkan Mouse Listener pada Tabel
tabel.addMouseListener(new MouseAdapter() {
//Proses saat TABEL di klik
public void mouseClicked(MouseEvent e) {
dapatData_dari_Tabel();
}
});
jLabel4.setText("Daftar Data yang telah tersimpan di dalam database");
jLabel4.setBounds(new Rectangle(15,9,362,19));
jLabel2.setBounds(new Rectangle(18,314,89,23));
jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel2.setText("Nama Siswa : ");
jLabel1.setBounds(new Rectangle(15,289,92,23));
jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel1.setText("Kode Siswa : ");
jLabel3.setText("Alamat Siswa : ");
jLabel3.setBounds(new Rectangle(18,343,89,23));
jLabel3.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel3.setRequestFocusEnabled(true);
jLabel5.setText("Kelas : ");
jLabel5.setBounds(new Rectangle(18,373,89,23));
jLabel5.setHorizontalAlignment(SwingConstants.RIGHT);
dataAlamat.setEnabled(false);
dataAlamat.setBounds(new Rectangle(109,346,177,22));
dataKode.setEnabled(false);
dataKode.setBounds(new Rectangle(109,289,91,22));
dataNama.setEnabled(false);
dataNama.setBounds(new Rectangle(109,316,176,22));
dataKelas.setEnabled(false);
dataKelas.setText(" ");
dataKelas.setBounds(new Rectangle(108,375,100,23));
caraPengguna.setEditable(false);
caraPengguna.setText(
"Cara Menggunakan :\nKlik data yang ingin dihapus pada TABEL, kemudian " +
"klik tombol HAPUS untuk melakukan proses penghapusan data");
caraPengguna.setBounds(new Rectangle(13, 210, 367, 55));
hapus.setActionCommand(" ");
hapus.setBackground(Color.magenta);
hapus.setEnabled(false);
hapus.setLabel("HAPUS!!!");
hapus.setBounds(new Rectangle(123, 421, 93, 26));
//Menambahkan Action Listener pada tombol HAPUS
hapus.addActionListener(new java.awt.event.ActionListener() {
//Proses saat tombol HAPUS diklik
public void actionPerformed(ActionEvent e) {
proses_hapusData();
}
});
this.getContentPane().add(jScrollPane1, null);
jScrollPane1.getViewport().add(tabel, null);
this.getContentPane().add(jLabel4, null);
this.getContentPane().add(jLabel1, null);
this.getContentPane().add(jLabel2, null);
this.getContentPane().add(dataAlamat, null);
this.getContentPane().add(dataKode, null);
this.getContentPane().add(hapus, null);
this.getContentPane().add(dataNama, null);
this.getContentPane().add(jLabel3, null);
this.getContentPane().add(dataKelas, null);
this.getContentPane().add(caraPengguna, null);
this.getContentPane().add(jLabel5, null);
this.getContentPane().add(hapus, null);
//Memanggil methode KoneksiDatabase() untuk koneksi database
koneksiDatabase();
//Memanggil methode tampilDataTabel() untuk menampilkan data pada tabel
tampilDataKeTabel();
}
/**
*Methode koneksiDatabase
*Untuk melakukan koneksi dengan Database Server
*Database Server = MySQL
*getConnection yang digunakan adalah getConnection(url, user, password)
*/
public void koneksiDatabase() {
// Mencoba memanggil Driver JDBC
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("Sukses Driver JDBC ditemukan ....");
//Mencoba melakukan koneksi dengan Database
try {
String url = "jdbc:odbc:Database";
String user = " ";
String pass = " ";
konek = DriverManager.getConnection(url, user, pass);
System.out.println("Sukses Koneksi ....");
}
//Gagal Koneksi dengan Database
catch (SQLException se) {
System.out.println("Koneksi Gagal= " + se);
}
}
//Gagal Memanggil Driver JDBC
catch (ClassNotFoundException cnfe) {
System.out.println("Class tidak ditemukan.. Error : "+ cnfe);
}
}//Akhir methode koneksiDatabase()
/**
*Methode tampilDataKeTabel
*Untuk menampilkan data yang telah tersimpan pada Database ke tabel
*/
public void tampilDataKeTabel() {
hapusTabel();
try {
String sql = "Select * from data_siswa";
Statement stat = konek.createStatement();
ResultSet set = stat.executeQuery(sql);
while (set.next()) {
String kode = set.getString("kode");
String nama = set.getString("nama");
String alamat = set.getString("alamat");
String kelas = set.getString("kelas");
String[] data = {kode, nama, alamat, kelas};
tabMode.addRow(data);
}
}
catch (Exception e) {}
}
/**
*Methode hapusTabel
*Untuk menghapus semua data yang terdapat pada tabel
*/
public void hapusTabel() {
int row = tabMode.getRowCount();
for (int i =0; i
}
}
/**
*Methode dapatData_dari_Tabel
*Untuk mengambil data yang dipilih pada TABEL (data yang akan dirubah)
*/
void dapatData_dari_Tabel() {
//Mengambil data-data yang dipilih pada TABEL
int row = tabel.getSelectedRow();
String Kode = tabMode.getValueAt(row, 0).toString();
String Nama = tabMode.getValueAt(row, 1).toString();
String Alamat = tabMode.getValueAt(row, 2).toString();
String Kelas = tabMode.getValueAt(row, 3).toString();
dataKode.setText(Kode);
dataNama.setText(Nama);
dataAlamat.setText(Alamat);
dataKelas.setText(Kelas);
//Apabila data tidak dipilih
if (dataKode.getText().equals(" ")) {
hapus.setEnabled(false);
}
//Apabila data dipilih
else {
hapus.setEnabled(true);
}
}
/**
*Methode proses_hapusData()
*Untuk melakukan modifikasi data
*/
public void proses_hapusData() {
//Konfirmasi sebelum melakukan penghapusan data
int ok = JOptionPane.showConfirmDialog(null, "Anda Yakin ingin Menghapus Data\nDengan Kode = ' " + dataKode.getText() + " ' ", "Konfirmasi Menghapus Data",
JOptionPane.YES_NO_OPTION);
//Apabila tombol OK ditekan
if (ok == 0) {
try {
String sql = "DELETE FROM data_siswa WHERE kode = ' " + dataKode.getText() + " ' ";
PreparedStatement stat = konek.prepareStatement(sql);
stat.executeUpdate();
tampilDataKeTabel();
dataKode.setText(" ");
dataNama.setText(" ");
dataAlamat.setText(" ");
dataKelas.setText(" ");
hapus.setEnabled(false);
}
catch (SQLException se) {
System.out.println("Gagal Hapus.. Pesan Error = " + se);
JOptionPane.showMessageDialog(null, "Gagal Hapus Data.. Coba Lagi\nPesan Error :\n" + "" + se + "");
dataKode.setFocusable(true);
}
}
}
} //Akhir Kelas