untuk part 1 nya bisa dilihat disini nih bro.
oke lanjut ya kita langsung menuju ke program aja tanpa basa basi.
Membuat Form Sederhana
klik new file di netbeans pilih category Swing GUI Forms dan File Typesnya: JFrame Form lalu beri nama Form
nah tampilannya masih kosong kan, kita perlu menambahkan beberapa text box dan button button.
untuk menambahkannya , tinggal Drag and Drop saja dari layer palatte.
dan ubah nama variabelnya sesuaikan seperti punya saya silahkan lihat gambar berikut:
semoga temen temen bisa ngerti ya ini semua , saya memisahkan setiap jenis jenis palettenya dengan warna yang berbeda-beda , untuk nama variabelnya bisa dilihat di kolom Navigator (di sebelah kiri) samakan saja variabelnya ya untuk menghindari error. untuk mengubah nama variabel tinggal klik kanan palette yang mau diubah , lalu klik Change Variabel Name.
oke setelah kita selesai membuat form , kita beralih untuk coding codingnya ya
package universitas;
import java.sql.*; //maksud dari (*) bintang adalah memanggil library semua yang ada di properti sql
import java.sql.SQLException; //library exception
import java.sql.Connection; //library koneksi sql
import javax.swing.table.DefaultTableModel; //library default table model
public class Form extends javax.swing.JFrame {
private DefaultTableModel model; //variabel model table yang kita inginkan atau custom
public Form()
{
initComponents();
model = new DefaultTableModel(); //model default membentuk table yang kita inginkan kolom dan barisnya
tabelmahasiswa.setModel(model); //untuk mengatur table model
model.addColumn("NIM"); //mengatur kolom
model.addColumn("Nama"); //mengatur kolom
model.addColumn("Tanggal Lahir"); //mengatur kolom
model.addColumn("Jurusan"); //mengatur kolom
model.addColumn("Alamat"); //mengatur kolom
loadData(); //memanggil metode loadData
}
public void loadData() //metode loadData
{
model.getDataVector().removeAllElements(); //menghapus seluruh data
model.fireTableDataChanged(); //memberi tahu bahwa data telah kosong
try
{
Connection c = KoneksiDatabase.getkoneksi();
Statement s = c.createStatement();
String sql = "SELECT * FROM mahasiswa"; //query database berfungsi untuk menampilkan semua data dari tabel mahasiswa
ResultSet r = s.executeQuery(sql);
while(r.next())
{
//lakukan penelusuran baris
Object[] o = new Object[5];
o[0] = r.getString("NIM");
o[1] = r.getString("NAMA");
o[2] = r.getDate("TANGGAL_LAHIR");
o[3] = r.getString("JURUSAN");
o[4] = r.getString("ALAMAT");
model.addRow(o);
}
r.close();
s.close();
}
catch(SQLException e)
{
System.out.println("Terjadi Error di loaddata");
}
kosongin(); //memanggil metode kosongin
}
public void kosongin() //metode kosongin berfungsi untuk mengosongkan semua field
{
String ksong = "";
String nulll = null;
inputnama.setText(ksong);
inputnim.setText(ksong);
inputjurusan.setText(ksong);
inputlahir.setText(nulll);
inputalamat.setText(ksong);
}
metode loadData berguna untuk me load data yang kita simpan di database kita ketika program di jalankan , makanya loaddata terletak di dalam konstruktor Form.
perlu di ingat , ketika kita memakai Default Table Model kita hanya di perkenankan untuk memasukan data bertipe Array Object ke dalam Default Table Model.
metode kosongin berguna untuk mengosongkan atau meng clear kan semua yang ada di text field agar user tidak susah susah menghapus setiap ingin mengisi data berikutnya.
oke kita lanjut
Menambah Aksi Ke Button Tambah
kita akan menambahkan aksi aksi ke dalam button yang telah kita buat.
pertama mari kita buat aksi untuk button Tambah.
silahkan klik kanan button Tambah >> Events >> Action >> actionPerformed
nah otomatis kita akan di arahkan ke script action button Tambah.
Silahkan isi Seperti ini
pertama mari kita buat aksi untuk button Tambah.
silahkan klik kanan button Tambah >> Events >> Action >> actionPerformed
nah otomatis kita akan di arahkan ke script action button Tambah.
Silahkan isi Seperti ini
private void tambahActionPerformed(java.awt.event.ActionEvent evt) {
String nim = inputnim.getText(); //mendapatkan text dati field inputnim
String nama= inputnama.getText(); //mendapatkan text dati field inputnama
java.util.Date tanggaLahir = (java.util.Date) inputlahir.getValue();
String jurusan = inputjurusan.getText(); //mendapatkan text dati field inputjurusan
String alamat = inputalamat.getText(); //mendapatkan text dati field inputalamat
try
{
Connection c = KoneksiDatabase.getkoneksi();
String sql = "INSERT INTO mahasiswa VALUES (?, ?, ?, ?, ?)"; //query database memasukan data ke values sekian sekian
PreparedStatement p = c.prepareStatement(sql);
p.setString(1, nim);
p.setString(2, nama);
p.setDate(3, new java.sql.Date(tanggaLahir.getTime()));
p.setString(4, jurusan);
p.setString(5, alamat);
p.executeUpdate();
p.close();
}
catch(SQLException e)
{
System.out.println("Terjadi Error di tambah");
}
finally //akan tetap dijalankan walaupun error tertangkap
{
loadData();
}
}
bisa dilihat , pada button Tambah kita mencoba menambahkan , data data yang telah di input di field ke dalam database mahasiswa yang sudah kita buat tadi , syntaks getText() berguna untuk mendapatkan text dari Field yang bersangkutan
Menambahkan Aksi Ke Button Ubah
untuk aksi button Ubah , agak sedikit berbeda dengan aksi button Tambah, perbedaannya adalah pertama kita harus mendeteksi baris yang sedang di klik, setelah itu baru melakukan proses pengubahan data yang diklik dengan data baru yang ada dalam input field.
langsung saja skrip button ubah:
langsung saja skrip button ubah:
private void ubahActionPerformed(java.awt.event.ActionEvent evt) {
int i = tabelmahasiswa.getSelectedRow();
if (i == -1)
{
return; //tidak ada baris terseleksi
}
//ambil nim yg terseleksi karna nim primary key
String nim = (String) model.getValueAt(i, 0);
String nama = inputnama.getText();
java.util.Date tanggallahir = (java.util.Date) inputlahir.getValue();
String jurusan = inputjurusan.getText();
String alamat = inputalamat.getText();
try
{
Connection c = KoneksiDatabase.getkoneksi();
String sql = "update mahasiswa set nama = ?, tanggal_lahir = ?, jurusan = ?, alamat = ? where nim = ?"; //query update mysql
PreparedStatement p = c.prepareStatement(sql);
p.setString(1, nama);
p.setDate(2, new java.sql.Date(tanggallahir.getTime()));
p.setString(3, jurusan);
p.setString(4, alamat);
p.setString(5, nim);
p.executeUpdate();
p.close();
}
catch (SQLException e)
{
System.out.println("Terjadi Error");
}
finally
{
loadData();
}
}
kondisional if berguna untuk mendapatkan baris yang terseleksi pada tabel, jika tidak ada baris yang terseleksi, maka proses Ubah dibatalkan.
untuk mendapatkan baris yang terlseksi dengan menggunakan metode getSelectedRow() dan jika returnnya -1 maka baris tidak ada yang terseleksi.
Menambahkan Aksi Baris Terseleksi
aksi ini berguna ketika baris Table terseleksi, misalnya: jika baris pertama terseleksi, maka program akan menampilkan data yang terseleksi tersebut pada Form. Hal ini agar pengubahan lebih mudah, karna kita tidak perlu memasukan seluruh datanya lagi.
Untuk menambahkan aksi ketika baris terseleksi, kita dapat menggunakan aksi Mouse Click, yaitu aksi yang dijalankan ketika mouse mengklik. Caranya , klik kanan komponen Table pada Form, setelah itu pilih Events >> Mouse >> mouseClicked. Kita otomatis akan diarahkan ke script tersebut.
Silahkan isi skripnya seperti ini:
private void tabelmahasiswaMouseClicked(java.awt.event.MouseEvent evt) {
int i = tabelmahasiswa.getSelectedRow();
if (i == -1)
{
return;
}
String nim = (String) model.getValueAt(i, 0);
inputnim.setText(nim); //setText untuk mengatur text sesuai nim yang di seleksi
String nama = (String) model.getValueAt(i, 1);
inputnama.setText(nama); //setText untuk mengatur text sesuai nama yang di seleksi
java.util.Date tanggalLahir = (java.util.Date) model.getValueAt(i, 2);
inputlahir.setValue(tanggalLahir); //setValue untuk mengatur Date sesuai Date yang di seleksi
String jurusan = (String) model.getValueAt(i, 3);
inputjurusan.setText(jurusan); //setText untuk mengatur text sesuai jurusan yang di seleksi
String alamat = (String) model.getValueAt(i, 4);
inputalamat.setText(alamat); //setText untuk mengatur text sesuai alamat yang di seleksi
}
Menambahkan Aksi Ke Button Hapus
Untuk aksi Hapus, kita tidak perlu menggunakan Input Form, yang kita perlukan hanyalah baris yang terseleksi. Jika baris tidak ada yang terseleksi, maka proses penghapusan dibatalkan.
Isikan Script berikut di aksi Button Hapus
int i = tabelmahasiswa.getSelectedRow();
if (i == -1) //mengecek apakah ada baris yang terseleksi
{
return;
}
String nim = (String) model.getValueAt(i, 0);
try
{
Connection c = KoneksiDatabase.getkoneksi();
String sql = "delete from mahasiswa where nim = ?"; //delete dari kolom nim
PreparedStatement p = c.prepareStatement(sql);
p.setString(1, nim);
p.executeUpdate();
p.close();
}
catch(SQLException e)
{
System.err.println("Terjadi Error");
}
finally
{
kosongin();
loadData();
}
}
lihat kita hanya perlu mengecek apakah ada baris yang terseleksi atau tidak.
mudah kan brooooo, oke untuk aksi button terahir mari kita tambahkan
Menambahkan Aksi Ke Button Clear
button Clear berfungsi untuk mengosongkan semua field yang ada agar user tidak usah menghapus field apabila ingin mengisi data yang selanjutnya.
ini yang paling susah brooo parah bener nihhhhh , siapin kopi, rokok , kembang 7 rupa deh untuk nulis script ini.
langsung aja ya
ini yang paling susah brooo parah bener nihhhhh , siapin kopi, rokok , kembang 7 rupa deh untuk nulis script ini.
langsung aja ya
private void btnclearActionPerformed(java.awt.event.ActionEvent evt) {
kosongin();
}
gimana susah kan broooo, hahahaha just kidding :D ini yang paling gampang dari semuanya hahahaha.
oke kalo semua udah di tulis coba jalanin brooo di running aja, jangan lupa Xampp nya di run juga broooo nanti gabisa konek ke MySQL.
nih hasilnya ane skrinsutin
gimana pusing kan loe , sama TS juga dulu pusing juga , tapi setelah
Program ini masih bisa di kembangin bro sesuai kreativitas loe loe pada.
kira kira segini bro ilmu yang TS berikan , TS juga masih belajar broo tolong di maklumin ya kalo ada yang salah salah, silahkan kalo ada yang masih bingung insyaallah TS jawab (kalau bisa :D).
oke sekian ya bro TS ngantuk mau bobo Cantik duluuu Muachh :*
untuk Menambahkan Aksi Baris Terseleksi, pada bagian menampilkan tanggalnya(date) ko error ya?
ReplyDeletecoba boleh saya tahu error stacknya seperti apa gan ?
ReplyDeletekak kok pas tambah data gak muncul data nya pada tabelnya
ReplyDeleteapa karena koding di input nim,akamat jurusan dan alamany belum kak kasih ?
Deletekodingan input nimnya alamatnya jurusan dan juga namanya belum ada ?? kenapa gak diposting ya kak ???
ReplyDelete