Friday 8 November 2013

Tahap Perkuliahan ke-30 : DTKJ313 Pemrograman Aplikasi J2SE II - Membuat Aplikasi sederhana Form Entri Data Karyawan

Laporan Aktivitas Belajar
Nama Lengkap
:
WAWAN SARWANI
No. Registrasi
:
1108261344
Alamat email
:
wa1gokill@gmail.com
Opsi
:
Aplikasi Perangkat Lunak
Tahap Perkuliahan ke-
:
30 – DTKJ313
USBJJ
:
SMK Negeri 1 Tanjung Selor

Aktivitas Belajar Mandiri
Kolom di bawah ini berisi uraian singkat aktivitas belajar rutin saya selama Tahap Perkuliahan ini.

Tahap Perkuliahan Ke – 30 (4 s/d 16 Nopember 2013), Mahasiswa diberi tugas untuk membuat aplikasi sederhana dengan pemrograman java yang menerapkan basis data, dimana disini saya menggunakan MySQl sebagai databasenya.

·     Hari – 1 : membuka http://www.elearning.lskk.ee.itb.ac.id untuk melihat tugas yang diberikan.

·      Hari – 2 : Mengerjakan Project Tugas Akhir dan mencari referensi lain dari internet untuk mengerjakan tugas tahap perkuliahan.

·       Hari – 3 : Mencoba membuat aplikasi sederhana, dengan java programing

·   Hari – 4 : Membuat Video dokumentasi untuk tugas tahap perkuliahan ke – 30 serta mengupload video.

·     Hari – 5 : Membuat Laporan Aktifitas Belajar dan Mengupload pada blog USBJJ.

·     Hari Ke - 6 s/d Hari Ke – 13 : Mengerjakan Project Tugas Akhir.

Kolom di bawah ini berisi uraian singkat aktivitas saya di USBJJ selama Tahap Perkuliahan ini.
Perkuliahan diadakan pada Tanggal 2 Nopember 2013, membahas mengenai pemprograman java pada netbeans, diadakan juga perkuliahan tambahan pda tanggal 7 Nopember untuk membahas tugas akhir serta tugas tahap perkuliahan yang belum selesai.

Kolom di bawah ini berisi kendala-kendala yang saya hadapi selama Tahap Perkuliahan ini.
·         Sulitnya membagi waktu antara kerja, kuliah dan waktu untuk keluarga
·         Karena masih dalam tahap pembelajaran, sehingga untuk Tugas Akhir harus mencari referensi sebanyak - banyaknya

Rangkuman Materi Perkuliahan
Kolom di bawah ini berisi rangkuman materi perkuliahan yang telah saya pelajari dan pahami selama Tahap Perkuliahan ini.

Pemabahasan materi ini merupakan lanjutan dari pembahasan materi sebelumnya yang dapat dilihat pada lnk http://d1pvbitb-tkj-usbjj-tanjung-selor.blogspot.com/2013/10/tahap-perkuliahan-ke-29-dtkj313.html

Dalam Hal ini saya menjelaskan bagaimana membuat aplikasi sederhana Form Entri Data Karyawan dengan menggunkan java programing dan database mysql.

           1.  Membuat Database
          Untuk membuat database saya menggunakan XAMPP :

-    Membuat Tabel “data_karyawan” :

CREATE TABLE  `login`.`data_karyawan` (
`id` int(  5 )  NOT NULL AUTO_INCREMENT ,
`NIK` VARCHAR( 12 ) NOT  NULL ,
`nama` VARCHAR( 25 ) NOT  NULL ,
`tmpt_lhr` VARCHAR( 25 ) NOT  NULL ,
`tgl_lhr` DATE NOT  NULL ,
`jns_klmn` VARCHAR( 12 ) NOT  NULL ,
`stat_kwn` VARCHAR( 12 ) NOT  NULL ,
` alamat` VARCHAR( 50 ) NOT  NULL ,
` foto` LONGBLOB NOT  NULL ,
  PRIMARY KEY  ( `id`  )
  ) ENGINE = MYISAM  ; 

2.  Pada Project – Klik kanan library – add JAR/Folder Tambahkan beberapa berikut ini :
   -    RS2XML yang bisa bidownload pada http://mediafire.com/download/tdohli0yr89zg7y/rs2xml.jar
   -    Jcalender yang bisa didonload pada http://www.mediafire.com/download/tdohli0yr89zg7y/rs2xml.jar

3.  Menambahkan IMPORT YANG DIBUTUHKAN
         import java.io.*;
         import java.sql.*;
         import java.text.SimpleDateFormat;
         import javax.swing.*;
         import net.proteanit.sql.DbUtils;
         import java.awt.event.*;
         import java.awt.*;

4.  MEMBUAT KONEKSI
         Connection conn = null;
         ResultSet rs = null;
         PreparedStatement pst = null;
   
        public EntriData() {
        initComponents();
        //Mengambil Koneksi Class
        conn= CoonnectMySQL.ConDB();

5.  MEMBUAT FUNGSI RADIO BUTTON JENIS KELAMIN

        private String Jenis_Kelamin;

        private void rb_lkActionPerformed(java.awt.event.ActionEvent evt)  {                                     
        Jenis_Kelamin = "Laki - Laki";
    }                                    

    private void rb_prActionPerformed(java.awt.event.ActionEvent evt) {                                     
        Jenis_Kelamin = "Perempuan";
    }   

6.  MEMBUAT FUNGSI RADIO BUTTON STATUS

private String Status_Perkawinan;
    private void rb_kwnActionPerformed(java.awt.event.ActionEvent evt) {                                       
        Status_Perkawinan = "Kawin";
    }                                     

    private void rb_blm_kwnActionPerformed(java.awt.event.ActionEvent evt) {                                          
        Status_Perkawinan = "Belum Kawin";
    }                                         

    private void rb_ceraiActionPerformed(java.awt.event.ActionEvent evt) {                                        
        Status_Perkawinan = "Cerai";
    }

7.  MEMBUAT FUNGSI FOTO

private ImageIcon format = null;
String namafile=null;
int s = 0;
byte [] byte_image=null;

    private void btn_pilih_fotoActionPerformed(java.awt.event.ActionEvent evt) {                                              
        JFileChooser pilih = new JFileChooser();
        pilih.showOpenDialog(null);
        File pilihfile= pilih.getSelectedFile();
        namafile = pilihfile.getAbsolutePath();
        txt_path.setText(namafile);
       
        try {
           
            File foto = new File (namafile);
            FileInputStream fis = new FileInputStream(foto);
            ByteArrayOutputStream bos = new ByteArrayOutputStream ();
            byte [] byt = new byte [1024];
            for (int readNum; (readNum= fis.read(byt))!=-1; ) {
               
             bos.write(byt,0,readNum);
               
            }
            byte_image = bos.toByteArray();
        }
        catch (Exception e){
            JOptionPane.showMessageDialog(null, e);
        }

8.  MEMBUAT FUNGSI SIMPAN

String tampilan ="yyyy-MM-dd" ;
        SimpleDateFormat fm = new SimpleDateFormat(tampilan);
        String tanggal = String.valueOf(fm.format(txt_tgl_lhr.getDate()));
       
        String sql ="insert into data_karyawan (id,NIK,nama,tmpt_lhr,tgl_lhr,jns_klmn,stat_kwn,alamat,foto) values (null,?,?,?,?,?,?,?,?)";
          
        try{
          
        pst=conn.prepareStatement(sql);
        pst.setString(1,txt_nik.getText());
        pst.setString(2,txt_nama.getText());
        pst.setString(3,txt_tmpt_lhr.getText());
        pst.setString(4,tanggal);
        pst.setString(5,Jenis_Kelamin );
        pst.setString(6,Status_Perkawinan );
        pst.setString(7,txt_alamat.getText());
        pst.setBytes(8, byte_image);
       
        pst.execute();
       
        JOptionPane.showMessageDialog(null, "Data Disimpan");
 
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
        //Menambahkan Fungsi Update Table
        Update_Table ();


9.  MEMBUAT FUNGSI MENAMPILKAN DATA JIKA TABEL DIKLIK

try{
            int row = table_dtkaryawan.getSelectedRow();
            String Table_Click= (table_dtkaryawan.getModel().getValueAt(row, 0).toString());
            String sql = "select * from data_karyawan where id='"+Table_Click+"'";
           
            pst=conn.prepareStatement(sql);
            rs=pst.executeQuery();
           
             if(rs.next()){
                 String hasil1 = rs.getString("nik");
                 txt_nik.setText(hasil1);
                 String hasil2 = rs.getString("nama");
                 txt_nama.setText(hasil2);
                 String hasil3 = rs.getString("tmpt_lhr");
                 txt_tmpt_lhr.setText(hasil3);
                 Date hasil4 = rs.getDate("tgl_lhr");
                 txt_tgl_lhr.setDate(hasil4);
                
                 if (rs.getString("jns_klmn").equals("Perempuan")) {
                       rb_pr.setSelected(true);
                   } else {
                   rb_lk.setSelected(true);
                   }
                
                 if (rs.getString("stat_kwn").equals("Kawin")) {
                       rb_kwn.setSelected(true);
                   } else if (rs.getString("stat_kwn").equals("Belum Kawin")) {
                   rb_blm_kwn.setSelected(true);
                   }
                 else {
                   rb_cerai.setSelected(true);
                   }
                
                 String hasil5 = rs.getString("alamat");
                 txt_alamat.setText(hasil5);
                
                 byte[]imagedata =rs.getBytes("foto");
                 format = new ImageIcon(imagedata);
                 foto.setIcon(format);
                
             }
           
        }
        catch (Exception e){
            JOptionPane.showMessageDialog(null, e);
        }

10. MEMBUAT FUNGSI MENAMPILKAN DATABASE PADA TABEL

-          Membuat fungsi update
private void Update_Table (){
        String sql = "Select * from data_karyawan";
        try{
           pst=conn.prepareStatement(sql);
           rs=pst.executeQuery(sql);
           table_dtkaryawan.setModel(DbUtils.resultSetToTableModel(rs));
        }
        catch (Exception e){
          JOptionPane.showMessageDialog(null, e);
        }     
    }
TAMBAHKAN DIBAWAH  CONN ; JUGA DIBAWAH SIMPAN DLL
Update_Table();

11. MEMBUAT FUNGSI UPDATE

private void btn_ubahActionPerformed(java.awt.event.ActionEvent evt) {                                        

         //Membuat Format Tanggal
        String tampilan ="yyyy-MM-dd" ;
        SimpleDateFormat fm = new SimpleDateFormat(tampilan);
        String tanggal = String.valueOf(fm.format(txt_tgl_lhr.getDate()));
       
        try{

        String nilai1=txt_nik.getText();
        String nilai2=txt_nama.getText();
        String nilai3=txt_tmpt_lhr.getText();
        String nilai4=tanggal;
        String nilai5=Jenis_Kelamin;
        String nilai6=Status_Perkawinan;
        String nilai7=txt_alamat.getText();
       
        String sql ="update data_karyawan set NIK='"+nilai1+"',nama='"+nilai2+"',tmpt_lhr='"+nilai3+"',tgl_lhr='"+nilai4+"',
jns_klmn='"+nilai5+"',stat_kwn='"+nilai6+"',alamat='"+nilai7+"' where NIK='"+nilai1+"'";
        pst=conn.prepareStatement(sql);
        pst.execute();
       
        JOptionPane.showMessageDialog(null, "Data Berhasil Di Update");
 
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
        //Menambahkan Fungsi Update Table
        Update_Table ();
    }                       

12. MEMUBAT FUNGSI DELETE
private void btn_hapusActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try{

        String nilai1=txt_nik.getText();
       
        String sql ="delete from data_karyawan where NIK='"+nilai1+"'";
        pst=conn.prepareStatement(sql);
        pst.execute();
       
        JOptionPane.showMessageDialog(null, "Data Berhasil Di Hapus");
 
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
        //Menambahkan Fungsi Update Table
        Update_Table ();
    }   

13. MEMBUAT FUNGSI KELUAR

public void keluar(){
        WindowEvent KeluarProgram = new WindowEvent (this,WindowEvent.WINDOW_CLOSING);
        Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(KeluarProgram);
    }

private void btn_keluarActionPerformed(java.awt.event.ActionEvent evt) {                                          
        keluar ();
    } 

Video Dokumentasi
Pada kolom ini berisi cuplikan gambar (screenshots) dari Video Dokumentasi yang telah saya buat pada Tahap Perkuliahan ini.



Kolom di bawah ini merupakan uraian yang menceritakan isi Video Dokumentasi yang telah saya buat.
Video ini menjelaskan bagaimana Aplikasi sederhana Entri Data Karyawan pada Java Programing dengan database (MySQL).
Kolom di bawah ini berisi link yang menampilan Video Dokumentasi yang telah saya upload di Youtube.

Part 1

Part 2

Part 3

Part 4

Part 5


No comments:

Post a Comment