Anda di halaman 1dari 8

Operasi Ubah Record

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());

int cek = barang.ubah("02005", "Ballpen Standard Boldliner", 4000, 40);


System.out.println("cek = "+cek);

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.

8. Dalam project Penjualan, package com.penjualan, tambahkan JDialog Form


dengan nama kelas DialogUbah. Jangan lupa menghapus metode main(). Buat
desain dialog menjadi seperti berikut. Teks merah adalah variable name masing-
masing objek.

9. Dalam kelas DialogUbah, tambahkan variabel private berikut, tepat dibawah


deklarasi kelas:
public class DialogUbah extends javax.swing.JDialog {
private Barang barang;
...

10. Dalam kelas DialogUbah, tambahkan kode berikut dalam konstruktor.


public DialogUbah(java.awt.Frame parent, boolean modal, Barang barang) {
super(parent, modal);
initComponents();
this.barang = barang;
}

11. Tambahkan event ActionPerformed untuk btnTutup, dan tambahkan kode


berikut dalam metode btnTutupActionPerformed.
private void btnTutupActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}

12. Dalam desain form DialogUbah, tambahkan event WindowActivated, sehingga


muncul metode formWindowActivated(). Tambahkan kode berikut.
private void formWindowActivated(java.awt.event.WindowEvent evt) {
tfKodeBrg.setText(barang.getKodeBrg());
tfNama.setText(barang.getNama());
tfHarga.setText(""+barang.getHarga());
tfStok.setText(""+barang.getStok());
}

13. Dalam kelas DialogBarang, tambahkan variabel private, tepat dibawah deklarasi
kelas:
public class DialogBarang extends javax.swing.JDialog {
private java.awt.Frame parent;
...

14. Dalam kelas DialogBarang, tambahkan kode berikut dalam konstruktor.


public DialogBarang(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
setPosisiTengah();
this.parent = parent;
}

15. Hapus semua kode dalam metode btnUbahActionPerformed(), ganti dengan


kode berikut.
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());
int cek = barang.ubah("02005", "Ballpen Standard Boldliner", 4000, 40);
System.out.println("cek = "+cek);

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.

18. Tambahkan event ActionPerformed untuk btnUbah. Tambahkan kode berikut.


private void btnUbahActionPerformed(java.awt.event.ActionEvent evt) {
// ambil data dari masing-masing textfield
String kodeBrg = tfKodeBrg.getText();
String nama = tfNama.getText();
int harga = Integer.parseInt(tfHarga.getText());
int stok = Integer.parseInt(tfStok.getText());
// ubah record
int cek = barang.ubah(kodeBrg, nama, harga, stok);
if(cek == 1){
JOptionPane.showMessageDialog(this, "Berhasil mengubah record");
return;
}else{
JOptionPane.showMessageDialog(this, "gagal mengubah record");
return;
}
}

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.

Hal ini menunjukkan bahwa record ini telah berhasil diubah.

Anda mungkin juga menyukai