Pada materi kita akan melakukan operasi mengubah (update) sebuah record dalam
tabel barang. Ini merupakan bagian U (update) dalam operasi CRUD.
1. Dalam kelas Barang (file Barang.java) tambahkan kode berupa fungsi cari().
Fungsi ini digunakan untuk mencari barang berdasarkan kodebrg.
/**
* mencari berdasar kode barang,
* @param kodeBrg
* @return true jika ketemu, dan record yang diketemukan
* disimpan didalam properti objek ini
* @return false jika tidak ketemu
*/
public boolean cari(String kodeBrg){
boolean ketemu = false;
try {
con = Mysql.getConnection();
st = con.createStatement();
sql = "select * from barang where kodebrg = '" + kodeBrg + "'";
rs = st.executeQuery(sql);
if(rs.next()){
this.setKodeBrg(rs.getString("kodebrg"));
this.setNama(rs.getString("nama"));
this.setHarga(rs.getInt("harga"));
this.setStok(rs.getInt("stok"));
ketemu = true;
}else{
this.kosongkan();
ketemu = false;
}
st.close();//Close statement
con.close(); //Close database Connection
} catch (Exception e) {
System.out.println("Gagal akses database");
}
return ketemu;
}
2. Dalam kelas Barang (file Barang.java) tambahkan fungsi ubah() seperti berikut.
/*
* mengbah (update) record
* @param skodeBrg: kodebrg yang kan diubah
* @param snama: nama baru
* @param sharga: harga baru
* @param sstok: stok baru
* @return 1: record berhasil diubah, 0: gagal diubah
*/
public int ubah(String skodeBrg, String snama, int sharga, int sstok){
sql = "update barang set " +
"nama = '" + snama + "', " +
"harga = " + sharga + ", " +
"stok = " + sstok +
" where kodebrg = '" + skodeBrg+"'";
return ganti(sql);
}
3. Dalam desain form kelas DialogBarang, tambahkan sebuah button Ubah. Beri
Variable Name dengan nilai: btnUbah.
4. Kita akan menguji 2 fungsi tambahan dalam kelas barang di atas. Tambahkan
event actionPerformed pada btnUbah. Beri kode berikut dalam metode
btnUbahActionPerformed(). Catatan, kode ini nantinya akan dihapus lagi.
private void btnUbahActionPerformed(java.awt.event.ActionEvent evt) {
// menguji fungsi cari(), nanti akan dihapus lagi
Barang barang = new Barang();
boolean hasil = barang.cari("02005");
System.out.println("Hasil = "+hasil);
System.out.println("kode: "+barang.getKodeBrg());
System.out.println("nama: "+barang.getNama());
System.out.println("harga: "+barang.getHarga());
System.out.println("stok: "+barang.getStok());
}
Dalam kode ini kita mencari barang dengan kodebrg = “02005”, dimana kode ini
ada dalam tabel barang.
+---------+------------------------+-------+------+
| kodebrg | nama | harga | stok |
+---------+------------------------+-------+------+
| 01001 | Buku Tulis Kyky 30 lbr | 2500 | 12 |
| 01002 | Buku Tulis Kyky 52 lbr | 3500 | 24 |
| 01003 | Buku Tulis Sidu 30 lbr | 2500 | 30 |
| 02001 | Pensil 2B Kenko | 1000 | 50 |
| 02002 | Pensil Mekanik Joyko | 4500 | 50 |
| 02005 | Ballpen Snowman F7 | 2500 | 48 |
| 03001 | Kertas HVS A4 70 gr | 3000 | 10 |
+---------+------------------------+-------+------+
5. Jalankan aplikasi, dalam form Utama klik tombol Daftar Barang, kemudian
dalam form Daftar Barang klik tombol Ubah. Perhatikan jendela Output pada
bagian bawah IDE NetBeans.
Disini ditunjukkan hasil yang dijalankan, nilai variabel hasil, beserta nilai field-
field yang dicari. Variabel hasil bernilai 1 berarti bahwa fungsi cari() dijalankan
dengan benar. Demikian juga nilai field yang ditampilkan sama dengan yang ada
di tabel.
6. Kita akan menguji fungsi ubah(). Tambahkan kode berikut kedalam metode
btnUbahActionPerformed() seperti berikut. Ini digunakan untuk mengubah
record dengan kodebrg=”02005”.
private void btnUbahActionPerformed(java.awt.event.ActionEvent evt) {
// menguji fungsi cari(), nanti akan dihapus lagi
Barang barang = new Barang();
boolean hasil = barang.cari("02005");
System.out.println("Hasil = "+hasil);
System.out.println("kode: "+barang.getKodeBrg());
System.out.println("nama: "+barang.getNama());
System.out.println("harga: "+barang.getHarga());
System.out.println("stok: "+barang.getStok());
hasil = barang.cari("02005");
System.out.println("Hasil = "+hasil);
System.out.println("kode: "+barang.getKodeBrg());
System.out.println("nama: "+barang.getNama());
System.out.println("harga: "+barang.getHarga());
System.out.println("stok: "+barang.getStok());
}
7. Jalankan aplikasi, dalam form Utama klik tombol Daftar Barang, kemudian
dalam form Daftar Barang klik tombol Ubah. Perhatikan jendela Output pada
bagian bawah IDE NetBeans.
Dari hasil output di sini, menunjukkan bahwa fungsi ubah() berhasil dijalankan
dengan benar.
13. Dalam kelas DialogBarang, tambahkan variabel private, tepat dibawah deklarasi
kelas:
public class DialogBarang extends javax.swing.JDialog {
private java.awt.Frame parent;
...
hasil = barang.cari("02005");
System.out.println("Hasil = "+hasil);
System.out.println("kode: "+barang.getKodeBrg());
System.out.println("nama: "+barang.getNama());
System.out.println("harga: "+barang.getHarga());
System.out.println("stok: "+barang.getStok());
// mengambil baris yang dipilih user dalam tbBarang
int b = tbBarang.getSelectedRow();
// jika user belum memilih, akan menampilkan pesan agar memilih
if(b == -1){
JOptionPane.showMessageDialog(this, "Pilih dulu dengan klik sebuah
baris");
return;
}
// ambil nilai sel pada kolom pertama (kodeBrg)
String kodeBrg = (String)tbBarang.getValueAt(b, 0);
System.out.println(kodeBrg);
Barang barang = new Barang();
boolean ketemu = barang.cari(kodeBrg);
if(ketemu){
DialogUbah dialogUbah = new DialogUbah(parent, true, barang);
dialogUbah.setVisible(true);
}
}
16. Jalankan aplikasi, dalam form Utama klik tombol Daftar Barang, kemudian pilih
salah satu baris dalam tabel.
17. Klik tombol Ubah, maka akan muncul data barang yang dipilih dalam form
berikut.
Sampai tahap ini program sudah bisa menampilkan barang yang dipilih dan siap
diedit.
19. Jalankan aplikasi, dalam form Utama klik tombol Daftar Barang, kemudian pilih
salah satu baris dalam tabel.
20. Klik tombol Ubah, maka akan muncul data barang yang dipilih dalam form
berikut.
21. Ganti isian nama barang, harga, ataupun stok sesuai yang diinginkan. Klik
tombol Ubah, maka akan muncul pesan.