Pada Bagian ke 6 ini, saya akan melanjutkan project java saya yang belum complete dan ini merupakan Tutorial Bagian terakhir.. jika pada tutorial sebelumnya saya telah menambahkan Beberapa Event Pada beberapa Button meliputi Event pada Button FIrst, Previous, Next, and Last,.. pada tutorial ke 6 ini saya akan menambahkan kembali beberapa fasilitas tambahan yaitu Pengupdatean, Penambahan, penyimpanan dan penghapusan Record. dilihat secara kasat mata aplikasi yang telah saya buat pada tutorial sebelumnya dapat dilihat pada penampakan gambar berikut :

Tutorial Java Desktop 6 Pengupdatean, Penambahan, Penyimpan , dan Penghapusan Record

Pada Bagian ke 6 ini, saya akan melanjutkan project java saya yang belum complete dan ini merupakan Tutorial Bagian terakhir.. jika pada tutorial sebelumnya saya telah menambahkan Beberapa Event Pada beberapa Button meliputi Event pada Button FIrst, Previous, Next, and Last,.. pada tutorial ke 6 ini saya akan menambahkan kembali beberapa fasilitas tambahan yaitu Pengupdatean, Penambahan, penyimpanan dan penghapusan Recorddilihat secara kasat mata aplikasi yang telah saya buat  pada tutorial sebelumnya dapat dilihat pada penampakan gambar berikut : 

proj_5

untuk menambahkan fasilitas-fasilitas yang telah disebutkan tadi.. kita membutuhkan beberapa buah Button.. Beberapa Button yang akan ditambahkan adalah sebagai berikut 

  • Button Variable Name : btnUpdateRecord, Button Text : Update Record
  • Button Variable Name : btnNewRecord , Button Text : New Record 
  • Button Variable Name : btnDeleteRecord , Button Text : Delete Record
  • Button Variable Name : btnSaveRecord , Button Text : Save Record
  • Button Variable Name : btnCancelNewRecord , Button Text : Cancel New Record   

Setelah ditambahkan beberapa button maka jika dilihat dalam bentuk Interface nya seperti berikut : 

intrfc

Sebelum kita membuat event pada setiap button..  terlebih dahulu kita setting pada button Save New Record dan Cancel New Record untuk tidak diaktifkan (di disable kan) pada setting default nya , jadi ketika di running maka kedua tombol tersebut dalam kondisi disable .. cara nya dengan pilih kedua button tersebut lalu klik kanan.. setelah itu pilih properties 

unc

setelah muncul dialog properties, lalu pada  pilihan enabled klik uncheck setelah itu Close. maka jika di running project nya akan menampilkan interface seperti berikut : 

asd

Membuat Event Pada Button Update Record 

Langkah awal , Double Klik pada Button Update,. Kemudian Ketiklah beberapa Potongan Code Berikut ,, 

        String first =txtFirstName.getText();
        String last = txtLastName.getText();
        String job = txtJobTitle.getText();
        String ID = txtID.getText();

jika ingin mengupdate Field ID, kita harus menkonversikan string kedalam Integer.... dengan menggunakan code berikut : 

 int newID = Integer.parseInt(ID);

letakan code diatas setelah Code Sebelumnya, setelah baris String ID = txtID.getText(); ,  objek Integer adalah sebuah method yang dipanggil dengan parseInt,  sederhananya code diatas adalah untuk mengkonversi nilai String ke dalam Nilai Integer... kemudian kita masukan code untuk melakukan peng-update-an,. untuk masing-masing field dengan memasukan instruksi berikut : 

            rs.updateInt("ID",newID);
            rs.updateString("First_Name",first);
            rs.updateString("Last_Name",last);
            rs.updateString("Job_Title",job);
            rs.updateRow();
            JOptionPane.showMessageDialog(FWorker.this,"Update");

kemudian tambahkan code try... catch()nya ... dan kemudian masukkan kode diatas di dalam fungsi berikut : 

       try { 
            // masukkan code pengupdatean disini
       }catch(SQLException err){
           System.out.println(err.getMessage());
       }

code diatas dinamakan dengan code exception handling fungsinya adalah untuk menghandle atau menangani sebuah kesalahan.. maka ketika terjadi kesalahan penginputan atau kesalahan lainnya.. program akan menghasilkan pesan error.. 

code lengkapnya adalah seperti berikut : 

       try { 
            rs.updateInt("ID",newID);
            rs.updateString("First_Name",first);
            rs.updateString("Last_Name",last);
            rs.updateString("Job_Title",job);
            rs.updateRow();
            JOptionPane.showMessageDialog(FWorker.this,"Update");
       }catch(SQLException err){
           System.out.println(err.getMessage());
       }

Coba Runing, Lalu Buatlah Suatu Perubahan pada Field apa saja.. misalnya pada Record 1 yaitu pada Kolom Last Name Ubah Nilai Jocong menjadi Pocong... Kolom tersebut akan berubah dengan menampilkan DialogMessage.. untuk pembuktiannya.. Klik Tombol Next Lalu Previous Kembali ... dan lihat hasilnya... atau bisa juga dengan meng-close terlebih dahulu dan running kembali.. 

Add A New Record (Penambahan Record)

double klik pada button New Record ... lalu tambahkan code berikut : 

        btnFirst.setEnabled(false);
        btnPrevious.setEnabled(false);
        btnNext.setEnabled(false);
        btnLast.setEnabled(false);
        btnUpdateRecord.setEnabled(false);
        btnDeleteRecord.setEnabled(false);
        btnNewRecord.setEnabled(false);
        
        btnSaveRecord.setEnabled(true);
        btnCancelNewRecord.setEnabled(true);

kode diatas adalah code untuk melakukan pengesetan pada sebuah tombol, apakan tombol itu aktif atau tidak aktif... contoh, btnFirst.setEnabled(false)... jika bernilai false maka button tidak aktif .. jika bernilai true maka akan menjadi aktif...Code diatas disimpan di dalam Event New Record.. Ketika Mengklik Button New Record .. maka posisi ketujuh button di set menjadi tidak aktif.. button Save Record  dan Cancel New Record di set menjadi Aktif... 

kemudian tambahkan code berikut pada Button Cancel New Record  : 

        btnFirst.setEnabled(true);
        btnPrevious.setEnabled(true);
        btnNext.setEnabled(true);
        btnLast.setEnabled(true);
        btnUpdateRecord.setEnabled(true);
        btnDeleteRecord.setEnabled(true);
        btnNewRecord.setEnabled(true);
        
        btnSaveRecord.setEnabled(false);
        btnCancelNewRecord.setEnabled(false);

Code Diatas merupakan Kontradiksi dari kondisi Button New Record.. coba running terlebih dahulu, untuk melihat perubahannya.. lalu Klik Pada Button New Record...

ss

Klik pada Button Cancel New Record .. dan Form akan terlihat seperti berikut : 

record

 selanjutnya kita tambahkan sebuah variable global berikut, dgn nilai inisialisai nya adalah 0:

int curRow = 0;

var_global

kemudian di dalam event Button new Record ,

tambahkan code berikut : 

curRow = rs.getRow();

kemudian masukkan code berikut juga yaitu sebuah perintah untuk mengosongkan Text Field.. 

        txtFirstName.setText("");
        txtLastName.setText("");
        txtJobTitle.setText("");
        txtID.setText("");

Ketika Button New Record di klik, maka Text Field akan Berada Pada Kondisi kosong atau bernilai null.. kita harus memasukan nya ke dalam code blok try... catch jadi Code Lengkap untuk Button New Record adalah seperti berikut : 

as

atau dalam bentuk source codenya 

    try {
            curRow = rs.getRow();
  
            txtFirstName.setText("");
            txtLastName.setText("");
            txtJobTitle.setText("");
            txtID.setText("");

            btnFirst.setEnabled(false);
            btnPrevious.setEnabled(false);
            btnNext.setEnabled(false);
            btnLast.setEnabled(false);
            btnUpdateRecord.setEnabled(false);
            btnDeleteRecord.setEnabled(false);
            btnNewRecord.setEnabled(false);

            btnSaveRecord.setEnabled(true);
            btnCancelNewRecord.setEnabled(true);
        }catch(SQLException err){
            System.out.println(err.getMessage());
        }

Setelah itu kita beralih ke Event Button Cancel New Record. kita akan meload atau mengisi kembali  Data Pada Text Field... dengan cara menggunakan kode absolute berikut : 

rs.absolute(curRow);

code tersebut adalah sebuah method absolute fungsinya, untuk memindahkan kursor pada posisi ResultSet. maksudnya memindahkan nya kedalam nilai yang tersimpan pada variable curRow. kemudian data akan di load ke dalam Text Field  dengan menggunakan Code Berikut : 

            txtFirstName.setText(rs.getString("First_Name"));
            txtLastName.setText(rs.getString("Last_Name"));
            txtJobTitle.setText(rs.getString("Job_Title"));
            txtID.setText(Integer.toString(rs.getInt("ID")));

Lalu masukan perintah-perintah tersebut ke dalam blok try ... catch.. , jadi code lengkap untuk Button Cancel New Record adalah seperti berikut :

absolute

atau dalam bentuk source codenya ...

        try {
            rs.absolute(curRow);
            txtFirstName.setText(rs.getString("First_Name"));
            txtLastName.setText(rs.getString("Last_Name"));
            txtJobTitle.setText(rs.getString("Job_Title"));
            txtID.setText(Integer.toString(rs.getInt("ID")));
            
            btnFirst.setEnabled(true);
            btnPrevious.setEnabled(true);
            btnNext.setEnabled(true);
            btnLast.setEnabled(true);
            btnUpdateRecord.setEnabled(true);
            btnDeleteRecord.setEnabled(true);
            btnNewRecord.setEnabled(true);

            btnSaveRecord.setEnabled(false);
            btnCancelNewRecord.setEnabled(false);
        }catch(SQLException err){
            System.out.println(err.getMessage());
        }

Coba Running Program nya... Lalu Klik Pada Button New Record .. maka Akan Menampilkan sepeti gambar berikut : 

new

Tampilan TextField nya akan menjadi Kosong.... Kemudian Jika diKlik Button Cancel New Record ... Maka Data Akan di Reload kembali...

reload

Save A New Record (Penyimpanan Record)

selanjutnya kita akan membuat event pada Button Save a New Record, sebelum menyimpan sebuah record.. kita harus memindahkan kursor ke fungsi penambahan yaitu (Insert Row). lalu tambahkan data ke ResultSet, dengan menggunakan kode berikut : 

pertama tambahkan code berikut : 

        String first =txtFirstName.getText();
        String last = txtLastName.getText();
        String job = txtJobTitle.getText();
        String ID = txtID.getText();
        int newID = Integer.parseInt(ID);

lalu tambahkan kode berikut ke dalam try..... catch.. jadi buat lah terlebih dahulu try.....catch nya , 

            rs.moveToInsertRow();
            rs.updateInt("ID",newID);
            rs.updateString("First_Name",first);
            rs.updateString("Last_Name",last);
            rs.updateString("Job_Title",job);
            rs.insertRow();

setelah menambahkan data ke ResultSet.. langkah terakhir adalah memasukan nya ke dalam sebuah row Baru... untuk menutup sebuah statement atau sebuah ResultSet .. gunakan perintah berikut : 

stmt.close();
rs.close();

code berikut adalah untuk me-reload sebagai code yang ditulis ketika form pertama diload..: 

            stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

            String sql = "SELECT * FROM Workers";
            rs = stmt.executeQuery(sql);

            rs.next( );
            int id_col = rs.getInt("ID");
            String id = Integer.toString(id_col);
            String first2 = rs.getString("First_Name");
            String last2 = rs.getString("Last_Name");
            String job2 = rs.getString("Job_Title");

            txtID.setText(id);
            txtFirstName.setText(first2);
            txtLastName.setText(last2);
            txtJobTitle.setText(job2);

lalu tambahkan juga code untuk pengkondisian button nya sebagai berikut : 

            btnFirst.setEnabled(true);
            btnPrevious.setEnabled(true);
            btnLast.setEnabled(true);
            btnNext.setEnabled(true);
            btnUpdateRecord.setEnabled(true);
            btnDeleteRecord.setEnabled(true);
            btnNewRecord.setEnabled(true);
            
            btnSaveRecord.setEnabled(false);
            btnCancelNewRecord.setEnabled(false);

Jadi Code Lengkap Untuk Event Button Save Record adalah sebagai berikut : 

        String first =txtFirstName.getText();
        String last = txtLastName.getText();
        String job = txtJobTitle.getText();
        String ID = txtID.getText();
        int newID = Integer.parseInt(ID);
        
        try {
            rs.moveToInsertRow();
            
            rs.updateInt("ID",newID);
            rs.updateString("First_Name",first);
            rs.updateString("Last_Name",last);
            rs.updateString("Job_Title",job);
            
            rs.insertRow();
            stmt.close();
            rs.close();
            
            stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

            String sql = "SELECT * FROM Workers";
            rs = stmt.executeQuery(sql);

            rs.next( );
            int id_col = rs.getInt("ID");
            String id = Integer.toString(id_col);
            String first2 = rs.getString("First_Name");
            String last2 = rs.getString("Last_Name");
            String job2 = rs.getString("Job_Title");

            txtID.setText(id);
            txtFirstName.setText(first2);
            txtLastName.setText(last2);
            txtJobTitle.setText(job2);
            
            btnFirst.setEnabled(true);
            btnPrevious.setEnabled(true);
            btnLast.setEnabled(true);
            btnNext.setEnabled(true);
            btnUpdateRecord.setEnabled(true);
            btnDeleteRecord.setEnabled(true);
            btnNewRecord.setEnabled(true);
            
            btnSaveRecord.setEnabled(false);
            btnCancelNewRecord.setEnabled(false);
           
        }catch(SQLException err){
         System.out.println(err.getMessage());
        }  

Delete a Record (Penghapusan Record)

Langkah ini merupakan terakhir dari tutorial saya ini,. yaitu pembuatan event pada button Delete Record... yaitu method untuk penghapusan sebuah record... untuk membuat Event pada Button Delete Record, tidak jauh berbeda dengan pembuatan event penyimpanan pada sebuah record, yaitu cukup dengan menggunakan code berikut 

rs.deleteRow();

Code diatas adalah code untuk mendelete record pada sebuah database,. Okeh gunakan  instruksi berikut untuk membuat event Delete Record  :

        try {
            rs.deleteRow();
   
            stmt.close();
            rs.close();
            
            stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

            String sql = "SELECT * FROM Workers";
            rs = stmt.executeQuery(sql);

            rs.next( );
            int id_col = rs.getInt("ID");
            String id = Integer.toString(id_col);
            String first = rs.getString("First_Name");
            String last = rs.getString("Last_Name");
            String job = rs.getString("Job_Title");

            txtID.setText(id);
            txtFirstName.setText(first);
            txtLastName.setText(last);
            txtJobTitle.setText(job);
           
        }catch(SQLException err){
         System.out.println(err.getMessage());
        }  

Langkah terakhir adalah Menguji Program apakah Program yang dibangun telah sesuai dengan harapan atau tidak... Coba Running Programnya... Uji Satu Persatu Fungsi-fungsi pada Buttonnya... 

Tutorial 6 ini saya rasa Sudah Cukup... Okeh segitu dulu ajah .. Mohon Maaf Jika Masih ada banyak kekurangan atau mungkin kurang jelas dari cara penyampaian yang saya berikan dan mungkin masih ada kesalahan-kesalahan dari materi yang saya berikan... karena saya pun masih dalam tahap pembelajaran,  nanti Insya Alloh saya akan membuat tutorial-tutorial lainnya..

#

About Author

Ardie Jocong

let's we learn coding together ,.. Learning by doing.. cause the best way of learning about anything is by doing. explore your brain ..


Comment & Discussions

  • TUR (Guest)
    MANTAP GAN.....HATURNUHUN GANN...

  • kak kalo coding untuk previous, next, last, sama first itu gmana? mksih :)

  • Sardi
    Mantaap... di blog ane kalo mau mampir ada juga nih tutorial bagus utk java http://celiksoftware.blogspot.com/2016/10/sistem-informasi-surat-masuk-keluar-bag1.html

  • Please LOGIN before if you want to give the comment.