malam ini kita belajar tentang CRUD pada java tanpa menggunakan Framework, jadi kita menggunakan fasilitas yang sudah ada pada Java. jadi kita akan menggunakan Java Database Conectivity (JDBC). disini saya akan membahasnya langsung kedalam sebuah project dengan nama data karyawan.
persiapan sebelum pembuatan aplikasi:
1. Netbeans IDE 7.4 atau yang lain, ini adalah editor yang akan kita pakai untuk proses develop aplikasi.
2. JDK 7u25, ini adalah paket java yang akan kita pakai untuk membangun aplikasi.
3. XAMPP, digunakan untuk membuat database MySQL.
4. Plugin Jasperreport
Setelah semuanya terpenuhi dan install semuanya, sekarang kita lanjut ketahapan selanjutnya.
Langkah-Langkah:
1. Jalankan Netbeans Create Project Java dengan nama "Karyawan". pilih file--> New Project --> Java Application --> Next

Buatlah Struktur Project seperti ini, sesuaikan Package sesuai dengan gambar dibawah ini:

Mohon maaf karena nama projectnya berbeda :D
2. Buatlah sebuah database yang akan digunakan dalam aplikasi, buatlah database dengan nama 'Karyawan' dan tabel dengan nama 'Pegawai'.
- Struktur untuk tabel Pegawai.

selesai untuk pembuatan databasenya, sekarang lanjut kelangkah selanjutnya.
3. Koneksi Database
Buatlah file class java dalam package com.yyaayyaatt.koneksi dengan nama Koneksi.java, berikut ini adalah source codenya:
[sourcecode language="java"]
package com.yyaayyaatt.koneksi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
public class DBConnection {
private Connection koneksi;
//untuk koneksi ke driver mysql
public Connection connect(){
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Berhasil load Drivernya");
// untuk mengetahui kalau driver berhasil doload
} catch (ClassNotFoundException ex) {
Logger.getLogger(DBConnection.class.getName()).log(Level.SEVERE, null, ex);
System.out.println("gagal load Drivernya " + ex);
}
//untuk koneksi database
try {
String url = "jdbc:mysql://localhost:3306/Pekerjaan";//nama database yang akan dibuat
koneksi = DriverManager.getConnection(url,"root","rahasia");
System.out.println("Berhasil Konek ke database");
} catch (SQLException ex) {
Logger.getLogger(DBConnection.class.getName()).log(Level.SEVERE, null, ex);
System.out.println("Gagal Konek ke database");
JOptionPane.showMessageDialog(null, "Gagal Koneksi","Peringatan",
JOptionPane.WARNING_MESSAGE);
}
return koneksi;
}
}
[/sourcecode]
Setelah class koneksi selesai sekarang kita lanjut lagi ;)
4. Desain Form Pegawai
Buatlah sebuah Form menggunakan JInternalFrame dengan mana FormMasterPegawai didalam package com.yyaayyaatt.form, berikut ini adalah preview desainnya, silakan.

Konfigurasi variable name dari komponen:
JTextField ID Pegawai = txt_id
JTextField Nama Pegawai = txt_nama
JTextArea = txt_alamat
JTextField No. Telp = txt_telp
ComboBox Jabatan = cmb_jabatan
JRadioButton Jenis Kelamin = rBtnPria dan rBtnCewe
JTable = tabel_pegawai
Button Tambah = btn_tambah
Button Ubah = btn_ubah
Button Hapus = btn_hapus
Button Batal = btn_batal
Button Keluar = btn_keluar
demikian nama variabel dari masing-masing komponen dari form pegawai diatas, selanjutnya kita akan masuk ke tahapan pembuatan CRUD.
5. Menyimpan Data Kedalam Database
berikut ini adalah listing untuk menyimpan data kedalam database MySQL.
[sourcecode language="java"]
private void input_data() {
//panggil method koneksi
java.sql.Connection conn = new DBConnection().connect();
try {
String sql = "insert into pekerjaan(id, nama, alamat, telp, jabatan, jk) values(?,?,?,?,?,?)";
java.sql.PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, txt_id.getText());
stmt.setString(2, txt_nama.getText());
stmt.setString(3, txt_alamat.getText());
stmt.setString(4, txt_telp.getText());
stmt.setString(5, cmb_jabantan.getSelectedItem().toString());
if(rBtnPria.isSelected){
stmt.setString(6, rBtnPria.getText());
}else if(rBtnCewe.isSelected){
stmt.setString(6, rBtnCewe.getText());
}
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data Berhasil disimpan");
//setelah selesai disimpan maka text akan ksong kembali
txt_id.setText("");
txt_nama.setText(""); //panggil method tampil disini
tampil_data();
stmt.close();
} catch (SQLException ex) {
Logger.getLogger(FormMasterPekerjaan.class.getName()).log(Level.SEVERE, null, ex);
}
}
[/sourcecode]
Buatlah method diatas kemudian panggil method kedalam aksi btn_tambah. Langkah selanjutnya update atau ubah data.
6. Update atau Ubah Data
Setelah kita menyimpan data dan ternyata terjadi kesalahan pada data tersebut maka kita perlu merubah datanya. berikut ini adalah listing ubah data.
[sourcecode language="java"]
private void update_data() {
//panggil method koneksi seperti biasa
java.sql.Connection conn = new DBConnection().connect();
String sql = "Update pekerjaan set nama = ?, alamat = ?, telp = ?, jabatan = ?, jk = ? "
+ "where id = '"+txt_id.getText()+"'";
java.sql.PreparedStatement stmt = null;
try {
stmt = conn.prepareStatement(sql);
<pre>stmt.setString(1, txt_id.getText());
stmt.setString(2, txt_nama.getText());
stmt.setString(3, txt_alamat.getText());
stmt.setString(4, txt_telp.getText());
stmt.setString(5, cmb_jabantan.getSelectedItem().toString());
if(rBtnPria.isSelected){
stmt.setString(6, rBtnPria.getText());
}else if(rBtnCewe.isSelected){
stmt.setString(6, rBtnCewe.getText());
}</pre>
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data Berhasil diubah");
tampil_data();
} catch (SQLException ex) {
Logger.getLogger(FormMasterPekerjaan.class.getName()).log(Level.SEVERE, null, ex);
}
}
[/sourcecode]
bersambung ...
No comments:
Post a Comment