SELAMAT pagi/siang/sore/malam/ pagi lagi…..🙂🙂

melanjutkan aplikasi database sederhana menggunakan Framework Hibernate – part I , maka dari itu sekarang Part II… ??????🙂 . untuk kelanjutannya kali ini kita akan membuat sebuah Aplikasi database dengan menggunakan sedikit tampilan GUI….sedikit aja kok…hehhehehe ..diharapkan pada bagian I kemarin/minggu lalu/tahun lalu/berabad-abad yang lalu, koding yang diciptakan tidak terjadi error…OK??🙂.

kita langsung aja ke langkah-langkahnya:

  • Buat Form GUI dengan nama FormAPP kemudian percantik tampilannya seperti gambar berikut : usahakan sama ya..heheh (becanda!) yang penting tombol-tombolnya lengkap dan sesuai….

  • Keterangan :
    • Table –> ganti Variable Name nya menjadi tableDATA.
    • Label –> terdapat 4 buah label yaitu untuk Nim, Nama,Alamat dan Kota.
    • Text Field –> pasang 2 buah text Field. kemudian ganti Variable Name nya menjadi txtNim dan txtNama.
    • Text Area –> terdapat 1 buah text area untuk alamat. kemudian ganti Variable Name nya menjadi txtAlamat.
    • Combo Box –> terdapat 1 buah Combo Box untuk kota. ganti Variable Name nya menjadi cmdKota. kemudian isi data-datanya terserah teman”.
    • Button –> ada 5 buah Button. ganti Variable Name nya menjadi btnBaru, btnSimpan, btnUbah, btnHapus dan btnTutup.
  • Setelah tampilan GUI nya dipercantik, langkah berikut yang dilakukan adalah : letakan semua sourcecode dibawah ini ke dalam aplikasi GUI nya.

//untuk mengaktifkan button Simpan dan Baru.....
    private void enableButton1(boolean x) {
        btnBaru.setEnabled(x);
        btnSimpan.setEnabled(!x);
    }

    //untuk mengaktifkan button ubah dan hapus....
    private void enableButton2(boolean x) {
        btnUbah.setEnabled(x);
        btnHapus.setEnabled(x);
    }

    //untuk membersihkan text....
    private void clearTEXT() {
        txtNIM.setText("");
        txtNama.setText("");
        txtAlamat.setText("");
        cmdKota.setSelectedIndex(0);
    }

    //untuk mengaktifkan Text..........
    private void enableTEXT(boolean x) {
        txtNIM.setEditable(x);
        txtNama.setEditable(x);
        txtAlamat.setEditable(x);
        cmdKota.setEditable(x);
    }

    //untuk meload data mahasiswa ke dalam TABLE...
    private void loadMahasiswa() {
        try {
            listMahasiswaAll = mhsInter.listMahasiswa();
        } catch (Exception ex) {
            JOptionPane.showConfirmDialog(this, "Ups! ada error tuhh !");
        }
        String[][] data = new String[listMahasiswaAll.size()][7];
        for (int x = 0; x < listMahasiswaAll.size(); x++) {
            Mahasiswa tm = (Mahasiswa) listMahasiswaAll.get(x);
            data[x][0] = tm.getNim() + "";
            data[x][1] = tm.getNama();
            data[x][2] = tm.getAlamat();
            data[x][3] = tm.getKota();
        }
        String[] judul = {"NIM", "Nama", "Alamat", "Kota"};
        DefaultTableModel model = new DefaultTableModel(data, judul);
        tableDATA.setModel(model);
        jScrollPane1.setViewportView(tableDATA);
    }
  • setelah itu tambahkan sisa coding berikut dibawahnya.
 public FormAPP() {
        initComponents();
        setLocationRelativeTo(null);
        enableButton1(false);
        enableButton2(false);
        loadMahasiswa();
    }
  • sekarang ubah koding untuk tombol BARU. sesuaikan dengan koding berikut :
 private void btnBaruActionPerformed(java.awt.event.ActionEvent evt) {
        enableButton1(false);
        enableButton2(false);
        clearTEXT();
        enableTEXT(true);
    }
  • Setelah itu ubah lagi coding untuk tombol SIMPAN.
private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {
        try {
            if (txtNIM.getText().equals("") || txtNama.getText().equals("")) {
                JOptionPane.showMessageDialog(null, "Nim atau Nama harus diisi!");
            } else {
                mhs = new Mahasiswa();
                mhs.setNim(Long.parseLong(txtNIM.getText()));
                mhs.setNama(txtNama.getText());
                mhs.setAlamat(txtAlamat.getText());
                if (cmdKota.getSelectedIndex() == 0) {
                    mhs.setKota("");
                } else {
                    mhs.setKota(cmdKota.getSelectedItem() + "");
                }
                mhsInter.insert(mhs);
                enableButton1(true);
                enableTEXT(false);
                loadMahasiswa();
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Koneksi Gagal !!" + e);
        }
    }
  • Langkah Selanjutnya adalah mengubah Tombol UBAH.

private void btnUbahActionPerformed(java.awt.event.ActionEvent evt) {
        try {
            if (txtNIM.getText().equals("") || txtNama.getText().equals("")) {
                JOptionPane.showMessageDialog(null, "Nim atau Nama harus diisi!");
            } else {
                mhs = new Mahasiswa();
                mhs.setId(Long.parseLong(IDMhs.getText()));
                mhs.setNim(Long.parseLong(txtNIM.getText()));
                mhs.setNama(txtNama.getText());
                mhs.setAlamat(txtAlamat.getText());
                if (cmdKota.getSelectedIndex() == 0) {
                    mhs.setKota("");
                } else {
                    mhs.setKota(cmdKota.getSelectedItem() + "");
                }
                mhsInter.update(mhs);
                loadMahasiswa();
            }
        }  catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Koneksi Gagal !!" + e);
        }
    }
  • Ubah lagi coding untuk tombol HAPUS.

private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {
        try {
            if (JOptionPane.showConfirmDialog(this, "Apakah Nim : " + txtNIM.getText() + "
 mau dihapus??", "Konfirmasi", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
                mhs = new Mahasiswa();
                mhs = mhsInter.getMahasiswaByID(Long.parseLong(IDMhs.getText()));
                mhsInter.delete(mhs);
                enableButton1(false);
                enableButton2(false);
                clearTEXT();
                loadMahasiswa();
            }
        } catch (Exception d) {
            JOptionPane.showMessageDialog(null, "Koneksi Gagal !");
        }
    }
  • Kemudian tambahkan satu coding lagi untuk TABLE nya. caranya klik kanan pada Table tersebut kemudian pilih Events –> Mouse –> MouseClicked.. setelah itu ubah codingnya seperti berikut :
 private void tableDATAMouseClicked(java.awt.event.MouseEvent evt) {
        mhs = new Mahasiswa();
        this.mhs = (Mahasiswa) listMahasiswaAll.get(tableDATA.getSelectedRow());
        IDMhs.setText(this.mhs.getId() + "");
        txtNIM.setText(this.mhs.getNim() + "");
        txtNama.setText(this.mhs.getNama());
        txtAlamat.setText(this.mhs.getAlamat());
        cmdKota.setSelectedItem(this.mhs.getKota());
        enableButton1(true);
        enableButton2(true);
        enableTEXT(true);
    }
  • Kemudian tambahkan beberapa koding berikut di bagian atas program :
    private MahasiswaInterface mhsInter = HibernateUtil.getMahasiswa();
    private Mahasiswa mhs;
    private List listMahasiswaAll = new ArrayList();</div>

setelah semua koding diatas dimasukan kedalam Aplikasi GUI, waktunya untuk menjalankan programnya. jika error, periksa kembali kesalahan dalam menginput beberapa koding program di atas….SELAMAT MENCOBA y TEMAN”….🙂🙂

DOWNLOAD DEMO APPLIKASI HIBERNATE.