Sunday, 9 November 2014

CRUD Java Non-Framework

Malam temen2 ;)

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

new project



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

Struktur Project

 

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.

detail 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.

master pegawai


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