Tutorial Membuat Program Pengarsipan Surat Dengan Java Netbeans

Tutorial membuat program system informasi pengarsipan

Hai Teman teman Kelompok Kami ingin membagikan Tutorial Java nih. Judul Programnya Sistem Pengarsipan Surat
Inilah Nama nama kelompok kami
1. Handy Nur
2. Hendri
3. Ihda Setiaji .N
4. M. Rizki Eka .S
5. Nanang Suhaemi
6. Siti Fatimah

Tapi Sebelum Lanjut Ketutorial ini baca tutorial ini dulu, Agar tidak bingung
Cara Membuat Action pada Java

1.Memulai projek database, install aplikasi xampp terlebih dahulu, selanjutnya buka control panel xampp, dan start apache dan mysql
Bagi yang belum punya silahkan download disini

2. Buka browser, lalu masukkan alamat sebagai berikut : localhost/phpmyadmin

3. Buat database beserta tablenya

4. Buat projek aplikasi menggunakan netbeanXAMPKetikkan localhost/phpmyadmin atau bisa dengan mengetikkan 127.0.0.1/phpmyadminGBR

5. Buatlah database baru dengan nama “database_arsip” klik button ciptakan/create GBR 36. Klik struktur, selanjutnya isi textfield nama pada new table dengan “data_arsip”

7. Dan isi textfield number of fields: “6”

8. Klik button go

9. Kemudian buat isi table seperti berikut
data_arsip

data_memo
GBR 510.Ubah kolom “nomor_surat” dan “pengirim”  menjadi “Primary Key”

11. Klik Simpan

12. Kemudian buka Aplikasi NetBeans, buat Project baru GBR 613. Buat Project dengan Nama seperti berikutGBR 7

14.Buat Package baru dengan Nama seperti berikutGBR 8

15.Buat JFrameForm seperti berikutGBR 9

16. Desain seperti berikut untuk tampilan Home.javaGBR 10
Masukan kode pindah Menu berikut


private void BuatArsipSuratMasukActionPerformed(java.awt.event.ActionEvent evt) {                                                    
        // TODO add your handling code here:
        new InputSurat().setVisible(true);
        dispose();
    }                                                   

    private void KeluarActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        System.exit(0);
    }                                      

    private void LihatDaftarSuratActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        // TODO add your handling code here:
       new ArsipSurat().setVisible(true);
        dispose();
    }                                                

    private void BuatArsipSuratKeluar1ActionPerformed(java.awt.event.ActionEvent evt) {                                                      
        // TODO add your handling code here:
        new Memo().setVisible(true);
        dispose();
    }                                                     

    private void ArsipMemoActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        new ArsipMemo().setVisible(true);
        dispose();
    }

17. Buatlah desain seperti ini untuk tampilan InputSurat.javaGBR 11

  • Masukan import Didalam Form Input Surat yang kita buat,  teman teman bisa letakan dibawah package yang dibuat, disini kami beri nama package Latihan1

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;
import javax.swing.JOptionPane;
import java.awt.Toolkit;
  • Masukan kode didalam class input surat, teman-teman bisa letakkan dibawahnya

private Connection con;
private Statement stat;
private ResultSet res;
private String t;
  • Masukan kode ini dibawah private String

Public Input Surat(){
initComponents();
JenisSurat1();
KodeSurat();
koneksi();
kosongkan();
}
private void KodeSurat(){
KodeSurat.addItem("1 (Surat Masuk)");
KodeSurat.addItem("2 (Surat Keluar)");
KodeSurat.setSelectedIndex(-1);
}private void JenisSurat1(){
JenisSurat1.addItem("Resmi");
JenisSurat1.addItem("Umum");
JenisSurat1.addItem("Pribadi");
JenisSurat1.setSelectedIndex(-1);
}private void koneksi(){
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/database_arsip", "root", "");
stat=con.createStatement();
} catch (Exception e){
JOptionPane.showMessageDialog(null, e);
}
}

private void kosongkan()
{
NomorSuratTF.setText("");
PengirimTF.setText("");
PenerimaTF.setText("");
TanggalMasukTF.setText("");
TanggalSuratTF.setText("");
PerihalSuratTF.setText("");
NomorSuratTF.requestFocus();
KodeSurat.setSelectedIndex(-1);
JenisSurat1.setSelectedIndex(-1);
}
  • Button Home

private void HomeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new Home().setVisible(true);
dispose();
}
  • Button Bersihkan

private void BersihkanActionPerformed(java.awt.event.ActionEvent evt) {
NomorSuratTF.setText("");
PengirimTF.setText("");
PenerimaTF.setText("");
TanggalMasukTF.setText("");
TanggalSuratTF.setText("");
PerihalSuratTF.setText("");
}
  • Button Simpan

try{
            String tanggal=" ";
          stat.executeUpdate("insert into data_arsip values ("
          +"'"+NomorSuratTF.getText()+"',"
          +"'"+PengirimTF.getText()+"',"
          +"'"+PenerimaTF.getText()+"',"
          +"'"+TanggalMasukTF.getText()+"',"
          +"'"+tanggal+"',"
          +"'"+TanggalSuratTF.getText()+"',"
          +"'"+PerihalSuratTF.getText()+"',"
          +"'"+KodeSurat.getSelectedItem()+"',"
          +"'"+JenisSurat1.getSelectedItem()+"')");
          kosongkan();
          JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");
        } catch (Exception e){
          JOptionPane.showMessageDialog(null, "Maaf, Perintah Salah : "+e);
        }

18. Buatlah desain seperti ini untuk tampilan Memo.javaGBR 12

  • Masukan import Didalam Form Memo yang kita buat,  teman teman bisa letakan dibawah package yang dibuat, disini kami beri nama package Latihan1

import java.awt.Dimension;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;
import javax.swing.JOptionPane;
import java.awt.Toolkit; 
  • Masukan kode ini lagi didalam class memo, teman-teman bisa letakkan dibawahnya

private Connection con;
private Statement stat;
private ResultSet res;
private String t;
  • Masukan Kode ini

public Memo() {
        initComponents();
        JenisMemo();
        kosongkan();
        koneksi();
        
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width)/2,
        (screenSize.height - frameSize.height)/3);
    }
    
    private void koneksi(){
       try{
           Class.forName("com.mysql.jdbc.Driver");
           con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/database_arsip", "root", "");
           stat=con.createStatement();
       } catch (Exception e){
           JOptionPane.showMessageDialog(null, e);
       }
    }
    
     private void kosongkan()
    {
        PengirimTF.setText("");
        PenerimaTF.setText("");
        TanggalInputTF.setText("");
        TanggalMemoTF.setText("");
        IsiMemoTF.setText("");
        PengirimTF.requestFocus();
        JenisMemo.setSelectedIndex(-1);
    }
   
    private void JenisMemo(){
        JenisMemo.addItem("Resmi");
        JenisMemo.addItem("Umum");
        JenisMemo.addItem("Pribadi");
        JenisMemo.setSelectedIndex(-1);
    }
  • Button Bersihkan

private void BersihkanTBActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
        
        PengirimTF.setText("");
        PenerimaTF.setText("");
        TanggalInputTF.setText("");
        TanggalMemoTF.setText("");
        IsiMemoTF.setText("");
        
    }
    • Button Simpan

private void SimpanTBActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        try{
          stat.executeUpdate("insert into data_memo values ("
          +"'"+PengirimTF.getText()+"',"
          +"'"+PenerimaTF.getText()+"',"
          +"'"+TanggalInputTF.getText()+"',"
          +"'"+TanggalMemoTF.getText()+"',"        
          +"'"+IsiMemoTF.getText()+"',"
          +"'"+JenisMemo.getSelectedItem()+"')");
          kosongkan();
          JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");
        } catch (Exception e){
          JOptionPane.showMessageDialog(null, "Maaf, Perintah Salah : "+e);
        }
    }

Untuk Button Home Kode sama seperti diatas

19. Buatlah desain seperti ini untuk tampilan ArsipMemo.javaGBR 13

    • Masukan import Didalam Form ArsipMemo yang kita buat,  teman teman bisa letakan dibawah package yang dibuat, disini kami beri nama package Latihan1

import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
    • Masukan kode ini lagi didalam class ArsipMemo, teman-teman bisa letakkan dibawahnya

private Connection con;
private Statement stat;
private ResultSet res;
  • Masukan Kode ini

public ArsipMemo() {
        initComponents();
        koneksi();
        JenisMemo();
        tabel();
        kosongkan();
        
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width)/2,
        (screenSize.height - frameSize.height)/3);
        
    }
    
    private void JenisMemo(){
        JenisMemo.addItem("Resmi");
        JenisMemo.addItem("Umum");
        JenisMemo.addItem("Pribadi");
        JenisMemo.setSelectedIndex(-1);
    }
    
    private void kosongkan()
    {
        
        PengirimTF.setText("");
        PenerimaTF.setText("");
        TanggalInputTF.setText("");
        TanggalMemoTF.setText("");
        IsiMemoTF.setText("");
        PengirimTF.requestFocus();
        JenisMemo.setSelectedIndex(-1);
    }

    private DefaultTableModel dtm;
    private void koneksi() { 
        try { Class.forName("com.mysql.jdbc.Driver"); 
    con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/database_arsip", "root", ""); 
    stat=con.createStatement(); 
    } catch (Exception e){ 
        JOptionPane.showMessageDialog(null, e); 
    }
    }
    
    private void tabel(){ 
        DefaultTableModel t= new DefaultTableModel(); 
        t.addColumn("Pengirim"); 
        t.addColumn("Penerima"); 
        t.addColumn("Tanggal Input"); 
        t.addColumn("Tanggal Memo"); 
        t.addColumn("Isi Memo"); 
        t.addColumn("Jenis Memo"); 
        TableMemo.setModel(t); 
        try{ res=stat.executeQuery("select * from data_memo"); 
        while (res.next()) { 
            t.addRow(new Object[]{ 
            res.getString("pengirim"), 
            res.getString("penerima"), 
            res.getString("tanggal_input"),
            res.getString("tanggal_memo"),
            res.getString("isi_memo"),
            res.getString("jenis_memo") 
        }); 
        } 
        }catch (Exception e) 
        { JOptionPane.showMessageDialog(rootPane, e); }
    }
    • Membuat MouseClicked view table

private void TableMemoMouseClicked(java.awt.event.MouseEvent evt) {                                       
        // TODO add your handling code here:
        int i = TableMemo.getSelectedRow();
        if(i==-1){
            return;
        }
        String code = (String)TableMemo.getValueAt(i,0);
        String code1 = (String)TableMemo.getValueAt(i,1);
        String code2 = (String)TableMemo.getValueAt(i,2);
        String code3 = (String)TableMemo.getValueAt(i,3);
        String code4 = (String)TableMemo.getValueAt(i,4);
        String code5 = (String)TableMemo.getValueAt(i,5);
        PengirimTF.setText(code);
        PenerimaTF.setText(code1);
        TanggalInputTF.setText(code2);
        TanggalMemoTF.setText(code3);
        IsiMemoTF.setText(code4);
        JenisMemo.setSelectedItem(code5);
    }
    • Button Cari

private void CariActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        try {
            res=stat.executeQuery ("select * from data_memo where "+ "pengirim='" +PengirimTF.getText()+"'" );
            while (res.next()) {
                PengirimTF.setText(res.getString("pengirim"));
                PenerimaTF.setText(res.getString("penerima"));
                TanggalInputTF.setText(res.getString("tanggal_input"));
                TanggalMemoTF.setText(res.getString("tanggal_memo"));
                IsiMemoTF.setText(res.getString("isi_memo"));
                JenisMemo.setSelectedItem(res.getString("jenis_memo"));
            }
        }catch (Exception e) {
            JOptionPane.showMessageDialog(rootPane, e); }
    }
  • Button Edit

private void EditActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        String kosong="-";
        int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Untuk Update Record ini???","Confirmation",JOptionPane.YES_NO_OPTION);
        try
        {
            String sql="update data_arsip set pengirim=?,penerima=?,tanggal_input=?,tanggal_memo=?,isi_memo=?,jenis_memo=? where pengirim='"+PengirimTF.getText()+"'";
            PreparedStatement st=con.prepareStatement(sql);
            if(ok==0)
            {
                try
                {
                    st.setString(1,PengirimTF.getText());
                    st.setString(2,PenerimaTF.getText());
                    st.setString(3,TanggalInputTF.getText());
                    st.setString(4,TanggalMemoTF.getText());
                    st.setString(5,IsiMemoTF.getText());
                    st.setString(6, (String) JenisMemo.getSelectedItem());
                    st.executeUpdate();
                    JOptionPane.showMessageDialog(null,"Update Data Sukses");
                }catch (Exception e)
                {
                    JOptionPane.showMessageDialog(null, "Update Data Gagal");
                }
            }
        }catch (Exception e){}
    }
  • Button Hapus

private void HapusActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Menghapus record ini???", "Confirmation",JOptionPane.YES_NO_CANCEL_OPTION);
        if (ok==0)
        {
            try
            {
                String sql="delete from data_memo WHERE pengirim='"+PengirimTF.getText()+"'";
                PreparedStatement st=con.prepareStatement(sql);
                st.executeUpdate();
                JOptionPane.showMessageDialog(null, "Data Berhasil D/ihapus");
            }catch (Exception e)
            {
                JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
            }
        }
    }
  • Button Refresh

private void RefreshActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:

        try{
            Object [] rows={"Pengirim", "Penerima","Tanggal Memo","Tanggal Input","Isi Memo","Jenis Memo"};
            dtm=new DefaultTableModel(null,rows);
            TableMemo.setModel(dtm);
            TableMemo.setBorder(null);
            jScrollPane1.setVisible(true);
            jScrollPane1.setViewportView(TableMemo);
            int no = 1;
            String pengirim="",penerima="",tanggal_memo="",tanggal_input="",isi_memo="",jenis_memo="";
            try{
                String sql="select * from data_memo";
                Statement st=con.createStatement();
                ResultSet rs=st.executeQuery(sql);
                while(rs.next()){
                  
                    pengirim=rs.getString("pengirim");
                    tanggal_input=rs.getString("tanggal_input");
                    tanggal_memo=rs.getString("tanggal_memo");
                    isi_memo=rs.getString("isi_memo");
                    jenis_memo=rs.getString("jenis_memo");
                    String [] tampil={""+penerima,pengirim,tanggal_input,tanggal_memo,isi_memo,jenis_memo};
                    dtm.addRow(tampil);
                }
            }catch(SQLException e){
                e.printStackTrace();
                JOptionPane.showMessageDialog(null,"Query Salah "+e);
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }

20. Buatlah desain seperti ini untuk tampilan ArsipSurat.java

  • Masukan import Didalam Form ArsipSurat yang kita buat, disini kami beri nama Latihan1

import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
  • Masukan kode didalam class ArsipSurat, teman-teman bisa letakkan dibawahnya

private Connection con;
private Statement stat;
private ResultSet res;
  • Masukan Kode ini

public ArsipSurat() {
        initComponents();
        koneksi();
        KodeSurat();
        JenisSurat();
        tabel();
        kosongkan();
        
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width)/2,
        (screenSize.height - frameSize.height)/3);
    }
    
    private void KodeSurat(){
        KodeSurat.addItem("1 (Surat Masuk)");
        KodeSurat.addItem("2 (Surat Keluar)");
        KodeSurat.setSelectedIndex(-1);
    }
    
    private void JenisSurat(){
        JenisSurat.addItem("Resmi");
        JenisSurat.addItem("Umum");
        JenisSurat.addItem("Pribadi");
        JenisSurat.setSelectedIndex(-1);
    }
    
    private void kosongkan()
    {
        No_Surat.setText("");
        Pengirim.setText("");
        Penerima.setText("");
        TglMasuk.setText("");
        TglSurat.setText("");
        Perihal.setText("");
        No_Surat.requestFocus();
        KodeSurat.setSelectedIndex(-1);
        JenisSurat.setSelectedIndex(-1);
    }
    private DefaultTableModel dtm;
    private void koneksi() { 
        try { Class.forName("com.mysql.jdbc.Driver"); 
    con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/database_arsip", "root", ""); 
    stat=con.createStatement(); 
    } catch (Exception e){ 
        JOptionPane.showMessageDialog(null, e); 
    }
    }
    
    private void tabel(){ 
        DefaultTableModel t= new DefaultTableModel(); 
        t.addColumn("Nomor Surat"); 
        t.addColumn("Pengirim"); 
        t.addColumn("Penerima"); 
        t.addColumn("Tanggal Masuk"); 
        t.addColumn("Tanggal Keluar"); 
        t.addColumn("Tanggal Surat"); 
        t.addColumn("Perihal Surat"); 
        t.addColumn("Kode Surat");
        t.addColumn("Jenis Surat"); 
        TableSurat.setModel(t); 
        try{ res=stat.executeQuery("select * from data_arsip"); 
        while (res.next()) { 
            t.addRow(new Object[]{ 
            res.getString("nomor_surat"), 
            res.getString("pengirim"), 
            res.getString("penerima"), 
            res.getString("tanggal_masuk"),
            res.getString("tanggal_keluar"),
            res.getString("tanggal_surat"),
            res.getString("perihal_surat"),
            res.getString("kode_surat"),
            res.getString("jenis_surat") 
        }); 
        } 
        }catch (Exception e) 
        { JOptionPane.showMessageDialog(rootPane, e); }
    }
  • Edit Button

private void EditActionPerformed(java.awt.event.ActionEvent evt) {                                     
        int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Untuk Update Record ini???","Confirmation",JOptionPane.YES_NO_OPTION);
        try
        {
            String sql="update data_arsip set nomor_surat=?,pengirim=?,penerima=?,tanggal_masuk=?,tanggal_keluar=?,tanggal_surat=?,perihal_surat=?,kode_surat=?,jenis_surat=? where nomor_surat='"+No_Surat.getText()+"'";
            PreparedStatement st=con.prepareStatement(sql);
            if(ok==0)
            {
            try
            {
            st.setString(1,No_Surat.getText());
            st.setString(2,Pengirim.getText());
            st.setString(3,Penerima.getText());
            st.setString(4,TglMasuk.getText());
            st.setString(5,TglKeluar.getText());
            st.setString(6,TglSurat.getText());
            st.setString(7,Perihal.getText());
            st.setString(8, (String) KodeSurat.getSelectedItem());
            st.setString(9, (String) JenisSurat.getSelectedItem());
            st.executeUpdate();
            JOptionPane.showMessageDialog(null,"Update Data Sukses");
            }catch (Exception e)
            {
            JOptionPane.showMessageDialog(null, "Update Data Gagal");
            }
            }
            }catch (Exception e){}
    }                                    

 

  • Button Hapus

 


    private void HapusActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Mendelete record ini???", "Confirmation",JOptionPane.YES_NO_CANCEL_OPTION);
        if (ok==0)
        {
            try
            {
            String sql="delete from data_arsip WHERE nomor_surat='"+No_Surat.getText()+"'";
            PreparedStatement st=con.prepareStatement(sql);
            st.executeUpdate();
            JOptionPane.showMessageDialog(null, "Delete Data Sukses");
            }catch (Exception e)
            {
                JOptionPane.showMessageDialog(null, "Delete Data Gagal");
            }
        }
    }                                     

 

  • Button Refresh

 


    private void RefreshActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        try{
            Object [] rows={"Nomor Surat","Pengirim","Penerima","Tanggal Masuk","Tanggal Keluar","Tanggal Surat","Perihal Surat","Kode Surat","Jenis Surat"};
            dtm=new DefaultTableModel(null,rows);
            TableSurat.setModel(dtm);
            TableSurat.setBorder(null);
            jScrollPane1.setVisible(true);
            jScrollPane1.setViewportView(TableSurat);
            int no = 1;
            String nomor_surat="",pengirim="",penerima="",tanggal_masuk="",tanggal_keluar="",tanggal_surat="",perihal_surat="",kode_surat="",jenis_surat="";
            try{
            String sql="select * from data_arsip";
            Statement st=con.createStatement();
            ResultSet rs=st.executeQuery(sql);
                while(rs.next()){
                nomor_surat=rs.getString("nomor_surat");
                pengirim=rs.getString("pengirim");
                penerima=rs.getString("penerima");
                tanggal_masuk=rs.getString("tanggal_masuk");
                tanggal_keluar=rs.getString("tanggal_keluar");
                tanggal_surat=rs.getString("tanggal_surat");
                perihal_surat=rs.getString("perihal_surat");
                kode_surat=rs.getString("kode_surat");
                jenis_surat=rs.getString("jenis_surat");
                String [] tampil={""+nomor_surat,pengirim,penerima,tanggal_masuk,tanggal_keluar,tanggal_surat,perihal_surat,kode_surat,jenis_surat};
                dtm.addRow(tampil);
                }
            }catch(SQLException e){
                e.printStackTrace();
            JOptionPane.showMessageDialog(null,"Query Salah "+e);
                }
            }catch(Exception e){
                e.printStackTrace();
                }
    }                                       

 

  • Membuat MouseClicked view TableSurat

 


    private void TableSuratMouseClicked(java.awt.event.MouseEvent evt) {                                        
        // TODO add your handling code here:
        int i = TableSurat.getSelectedRow();
            if(i==-1){
            return;
            }
            String code = (String)TableSurat.getValueAt(i,0);
            String code1 = (String)TableSurat.getValueAt(i,1);
            String code2 = (String)TableSurat.getValueAt(i,2);
            String code3 = (String)TableSurat.getValueAt(i,3);
            String code4 = (String)TableSurat.getValueAt(i,4);
            String code5 = (String)TableSurat.getValueAt(i,5);
            String code6 = (String)TableSurat.getValueAt(i,6);
            String code7 = (String)TableSurat.getValueAt(i,7);
            String code8 = (String)TableSurat.getValueAt(i,8);
            No_Surat.setText(code);
            Pengirim.setText(code1);
            Penerima.setText(code2);
            TglMasuk.setText(code3);
            TglKeluar.setText(code4);
            TglSurat.setText(code5);
            Perihal.setText(code6);
            KodeSurat.setSelectedItem(code7);
            JenisSurat.setSelectedItem(code8);
    }                                       

 

  • Cari Button

 


    private void CariActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        try {
            res=stat.executeQuery ("select * from data_arsip where "+ "nomor_surat='" +No_Surat.getText()+"'" );
            while (res.next()) {
                Pengirim.setText(res.getString("pengirim"));
                Penerima.setText(res.getString("penerima"));
                TglMasuk.setText(res.getString("tanggal_masuk"));
                TglKeluar.setText(res.getString("tanggal_keluar"));
                TglSurat.setText(res.getString("tanggal_surat"));
                Perihal.setText(res.getString("perihal_surat"));
                KodeSurat.setSelectedItem(res.getString("kode_surat"));
                JenisSurat.setSelectedItem(res.getString("jenis_surat"));
            }
        }catch (Exception e) {
        JOptionPane.showMessageDialog(rootPane, e); }
    }

21. Buatlah desain seperti ini untuk tampilan ArsipSuratMasuk.javaGBR 15

 

  • Masukan import Didalam Form ArsipSuratMasuk yang kita buat, teman teman bisa letakan dibawah package yang dibuat, disini kami beri nama package Latihan1

 


import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

 

  • Jangan Lupa Masukan kode ini lagi didalam class ArsipSuratMasuk, teman-teman bisa letakkan dibawahnya

 


private Connection con;
private Statement stat;
private ResultSet res;

 

  • Masukan Kode ini

 


public ArsipSuratMasuk() {
        initComponents();
        koneksi();
        KodeSurat();
        JenisSurat();
        tabel();
        kosongkan();
        
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width)/2,
        (screenSize.height - frameSize.height)/3);
    }
    
    private void KodeSurat(){
        KodeSurat.addItem("1 (Surat Masuk)");
        KodeSurat.addItem("2 (Surat Keluar)");
        KodeSurat.setSelectedIndex(-1);
    }
    
    private void JenisSurat(){
        JenisSurat.addItem("Resmi");
        JenisSurat.addItem("Umum");
        JenisSurat.addItem("Pribadi");
        JenisSurat.setSelectedIndex(-1);
    }
    
    private void kosongkan()
    {
        No_Surat.setText("");
        Pengirim.setText("");
        TglMasuk.setText("");
        TglSurat.setText("");
        Perihal.setText("");
        No_Surat.requestFocus();
        KodeSurat.setSelectedIndex(-1);
        JenisSurat.setSelectedIndex(-1);
    }
    private DefaultTableModel dtm;

    private void koneksi() { 
        try { Class.forName("com.mysql.jdbc.Driver"); 
    con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/database_arsip", "root", ""); 
    stat=con.createStatement(); 
    } catch (Exception e){ 
        JOptionPane.showMessageDialog(null, e); 
    } }
    
        private void tabel(){ 
        DefaultTableModel t= new DefaultTableModel(); 
        t.addColumn("Nomor Surat"); 
        t.addColumn("Pengirim");
        t.addColumn("Tanggal Masuk"); 
        t.addColumn("Tanggal Surat"); 
        t.addColumn("Perihal Surat"); 
        t.addColumn("Kode Surat");
        t.addColumn("Jenis Surat"); 
        Table.setModel(t); 
        try{ res=stat.executeQuery("select * from data_arsip WHERE kode_surat = '1 (Surat Masuk)'"); 
        while (res.next()) { 
            t.addRow(new Object[]{ 
            res.getString("nomor_surat"), 
            res.getString("pengirim"),
            res.getString("tanggal_masuk"), 
            res.getString("tanggal_surat"),
            res.getString("perihal_surat"),
            res.getString("kode_surat"),
            res.getString("jenis_surat") 
        }); 
        } 
        }catch (Exception e) 
        { JOptionPane.showMessageDialog(rootPane, e); } }

 

  • Button Edit

 


private void EditActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        String kosong="-";
        int onPane.showConfirmDialog(null,"Apakah Yakin Untuk Update Record ini???","Confirmation",JOptionPane.YES_NO_OPTION);
        try
        {
            String sql="update data_arsip set nomor_surat=?,pengirim=?,penerima=?,tanggal_masuk=?,tanggal_keluar=?,tanggal_surat=?,perihal_surat=?,kode_surat=?,jenis_surat=? where nomor_surat='"+No_Surat.getText()+"'";
            PreparedStatement st=con.prepareStatement(sql);
            if(ok==0)
            {
            try 
            {
            st.setString(1,No_Surat.getText());
            st.setString(2,Pengirim.getText());
            st.setString(3,kosong);
            st.setString(4,TglMasuk.getText());
            st.setString(5,kosong);
            st.setString(6,TglSurat.getText());
            st.setString(7,Perihal.getText());
            st.setString(8, (String) KodeSurat.getSelectedItem());
            st.setString(9, (String) JenisSurat.getSelectedItem());
            st.executeUpdate();
            JOptionPane.showMessageDialog(null,"Update Data Sukses");
            }catch (Exception e)
            {
            JOptionPane.showMessageDialog(null, "Update Data Gagal");
            }
            }
            }catch (Exception e){}
    }

 

  • Button Hapus

 


private void HapusActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Menghapus record ini???", "Confirmation",JOptionPane.YES_NO_CANCEL_OPTION);
        if (ok==0)
        {
            try
            {
            String sql="delete from data_arsip WHERE nomor_surat='"+No_Surat.getText()+"'";
            PreparedStatement st=con.prepareStatement(sql);
            st.executeUpdate();
            JOptionPane.showMessageDialog(null, "Data Berhasil Dihapus");
            }catch (Exception e)
            {
                JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
            }
        }
    }

 

  • Button Refresh

 


private void RefreshActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        
        try{
            Object [] rows={"Nomor Surat","Pengirim","Tanggal Masuk","Tanggal Surat","Perihal Surat","Kode Surat","Jenis Surat"};
            dtm=new DefaultTableModel(null,rows);
            Table.setModel(dtm);
            Table.setBorder(null);
            jScrollPane1.setVisible(true);
            jScrollPane1.setViewportView(Table);
            int no = 1;
            String nomor_surat="",pengirim="",tanggal_masuk="",tanggal_surat="",perihal_surat="",kode_surat="",jenis_surat="";
            try{
            String sql="select * from data_arsip WHERE kode_surat = '1 (Surat Masuk)'";
            Statement st=con.createStatement();
            ResultSet rs=st.executeQuery(sql);
                while(rs.next()){
                nomor_surat=rs.getString("nomor_surat");
                pengirim=rs.getString("pengirim");
                tanggal_masuk=rs.getString("tanggal_masuk");
                tanggal_surat=rs.getString("tanggal_surat");
                perihal_surat=rs.getString("perihal_surat");
                kode_surat=rs.getString("kode_surat");
                jenis_surat=rs.getString("jenis_surat");
                String [] tampil={""+nomor_surat,pengirim,tanggal_masuk,tanggal_surat,perihal_surat,kode_surat,jenis_surat};
                dtm.addRow(tampil);
                }
            }catch(SQLException e){
                e.printStackTrace();
            JOptionPane.showMessageDialog(null,"Query Salah "+e);
                }
            }catch(Exception e){
                e.printStackTrace();
                }
    }

 

  • Membuat MouseClicked view table

 


private void TableMouseClicked(java.awt.event.MouseEvent evt) {                                   
        // TODO add your handling code here:
        int i = Table.getSelectedRow();
            if(i==-1){
            return;
            }
            String code = (String)Table.getValueAt(i,0);
            String code1 = (String)Table.getValueAt(i,1);
            String code2 = (String)Table.getValueAt(i,2);
            String code3 = (String)Table.getValueAt(i,3);
            String code4 = (String)Table.getValueAt(i,4);
            String code5 = (String)Table.getValueAt(i,5);
            String code6 = (String)Table.getValueAt(i,6);
            No_Surat.setText(code);
            Pengirim.setText(code1);
            TglMasuk.setText(code2);
            TglSurat.setText(code3);
            Perihal.setText(code4);
            KodeSurat.setSelectedItem(code5);
            JenisSurat.setSelectedItem(code6);
    }

 

  • Button Cari

 


private void CariActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        try {
            res=stat.executeQuery ("select * from data_arsip where "+ "nomor_surat='" +No_Surat.getText()+"'" );
            while (res.next()) {
                Pengirim.setText(res.getString("pengirim"));
                TglMasuk.setText(res.getString("tanggal_masuk"));
                TglSurat.setText(res.getString("tanggal_surat"));
                Perihal.setText(res.getString("perihal_surat"));
                KodeSurat.setSelectedItem(res.getString("kode_surat"));
                JenisSurat.setSelectedItem(res.getString("jenis_surat"));
            }
        }catch (Exception e) {
        JOptionPane.showMessageDialog(rootPane, e); }
    }

 

  • Buat Menu Untuk Pindah Form

 


private void SemuaActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        new ArsipSurat().setVisible(true);
        dispose();
    }                                     

    private void ArsipSuratKeluarActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        // TODO add your handling code here:
        new ArsipSuratKeluar().setVisible(true);
        dispose();
    }                                                

    private void HomeActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        new Home().setVisible(true);
        dispose();
    }
 22. Buatlah desain seperti ini untuk tampilan ArsipSuratKeluar.javaGBR 16
  • Masukan import Didalam Form ArsipSuratKeluar yang kita buat, teman teman bisa letakan dibawah package yang dibuat, disini kami beri nama package Latihan1

 


import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
  • Masukan kode didalam class ArsipSuratKeluar teman-teman bisa letakkan dibawahnya

private Connection con;
private Statement stat;
private ResultSet res;
  • Masukan kode ini

public ArsipSuratKeluar() {
        initComponents();
        koneksi();
        KodeSurat();
        JenisSurat();
        tabel();
        kosongkan();
        
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width)/2,
        (screenSize.height - frameSize.height)/3);
    }
    
    private void KodeSurat(){
        KodeSurat.addItem("1 (Surat Masuk)");
        KodeSurat.addItem("2 (Surat Keluar)");
        KodeSurat.setSelectedIndex(-1);
    }
    
    private void JenisSurat(){
        JenisSurat.addItem("Resmi");
        JenisSurat.addItem("Umum");
        JenisSurat.addItem("Pribadi");
        JenisSurat.setSelectedIndex(-1);
    }
    
    private void kosongkan()
    {
        No_Surat.setText("");
        Pengirim.setText("");
        TglMasuk.setText("");
        TglSurat.setText("");
        Perihal.setText("");
        No_Surat.requestFocus();
        KodeSurat.setSelectedIndex(-1);
        JenisSurat.setSelectedIndex(-1);
    }
    private DefaultTableModel dtm;

    private void koneksi() { 
        try { Class.forName("com.mysql.jdbc.Driver"); 
    con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/database_arsip", "root", ""); 
    stat=con.createStatement(); 
    } catch (Exception e){ 
        JOptionPane.showMessageDialog(null, e); 
    } }
    
    private void tabel(){ 
        DefaultTableModel t= new DefaultTableModel(); 
        t.addColumn("Nomor Surat"); 
        t.addColumn("Pengirim");
        t.addColumn("Tanggal Masuk"); 
        t.addColumn("Tanggal Surat"); 
        t.addColumn("Perihal Surat"); 
        t.addColumn("Kode Surat");
        t.addColumn("Jenis Surat"); 
        Table.setModel(t); 
        try{ res=stat.executeQuery("select * from data_arsip WHERE kode_surat = '2 (Surat Keluar)'"); 
        while (res.next()) { 
            t.addRow(new Object[]{ 
            res.getString("nomor_surat"), 
            res.getString("pengirim"),
            res.getString("tanggal_masuk"), 
            res.getString("tanggal_surat"),
            res.getString("perihal_surat"),
            res.getString("kode_surat"),
            res.getString("jenis_surat") 
        }); 
        } 
        }catch (Exception e) 
        { JOptionPane.showMessageDialog(rootPane, e); } }
  • Button Cari

 private void CariActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        try {
            res=stat.executeQuery ("select * from data_arsip where "+ "nomor_surat='" +No_Surat.getText()+"'" );
            while (res.next()) {
                Pengirim.setText(res.getString("pengirim"));
                TglMasuk.setText(res.getString("tanggal_masuk"));
                TglSurat.setText(res.getString("tanggal_surat"));
                Perihal.setText(res.getString("perihal_surat"));
                KodeSurat.setSelectedItem(res.getString("kode_surat"));
                JenisSurat.setSelectedItem(res.getString("jenis_surat"));
            }
        }catch (Exception e) {
            JOptionPane.showMessageDialog(rootPane, e); }
    }
  • Button Edit

private void EditActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        String kosong="-";
        int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Untuk Update Record ini???","Confirmation",JOptionPane.YES_NO_OPTION);
        try
        {
            String sql="update data_arsip set nomor_surat=?,pengirim=?,penerima=?,tanggal_masuk=?,tanggal_keluar=?,tanggal_surat=?,perihal_surat=?,kode_surat=?,jenis_surat=? where nomor_surat='"+No_Surat.getText()+"'";
            PreparedStatement st=con.prepareStatement(sql);
            if(ok==0)
            {
                try
                {
                    st.setString(1,No_Surat.getText());
                    st.setString(2,Pengirim.getText());
                    st.setString(3,kosong);
                    st.setString(4,TglMasuk.getText());
                    st.setString(5,kosong);
                    st.setString(6,TglSurat.getText());
                    st.setString(7,Perihal.getText());
                    st.setString(8, (String) KodeSurat.getSelectedItem());
                    st.setString(9, (String) JenisSurat.getSelectedItem());
                    st.executeUpdate();
                    JOptionPane.showMessageDialog(null,"Update Data Sukses");
                }catch (Exception e)
                {
                    JOptionPane.showMessageDialog(null, "Update Data Gagal");
                }
            }
        }catch (Exception e){}
    }
  • Button Hapus

private void HapusActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Menghapus record ini???", "Confirmation",JOptionPane.YES_NO_CANCEL_OPTION);
        if (ok==0)
        {
            try
            {
                String sql="delete from data_arsip WHERE nomor_surat='"+No_Surat.getText()+"'";
                PreparedStatement st=con.prepareStatement(sql);
                st.executeUpdate();
                JOptionPane.showMessageDialog(null, "Data Berhasil Dihapus");
            }catch (Exception e)
            {
                JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
            }
        }
    }
  • Button Refresh

private void RefreshActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:

        try{
            Object [] rows={"Nomor Surat","Pengirim","Tanggal Masuk","Tanggal Surat","Perihal Surat","Kode Surat","Jenis Surat"};
            dtm=new DefaultTableModel(null,rows);
            Table.setModel(dtm);
            Table.setBorder(null);
            jScrollPane1.setVisible(true);
            jScrollPane1.setViewportView(Table);
            int no = 1;
            String nomor_surat="",pengirim="",tanggal_masuk="",tanggal_surat="",perihal_surat="",kode_surat="",jenis_surat="";
            try{
                String sql="select * from data_arsip WHERE kode_surat = '2 (Surat Keluar)'";
                Statement st=con.createStatement();
                ResultSet rs=st.executeQuery(sql);
                while(rs.next()){
                    nomor_surat=rs.getString("nomor_surat");
                    pengirim=rs.getString("pengirim");
                    tanggal_masuk=rs.getString("tanggal_masuk");
                    tanggal_surat=rs.getString("tanggal_surat");
                    perihal_surat=rs.getString("perihal_surat");
                    kode_surat=rs.getString("kode_surat");
                    jenis_surat=rs.getString("jenis_surat");
                    String [] tampil={""+nomor_surat,pengirim,tanggal_masuk,tanggal_surat,perihal_surat,kode_surat,jenis_surat};
                    dtm.addRow(tampil);
                }
            }catch(SQLException e){
                e.printStackTrace();
                JOptionPane.showMessageDialog(null,"Query Salah "+e);
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }
  • Membuat MouseClicked view table

private void TableMouseClicked(java.awt.event.MouseEvent evt) {                                   
        // TODO add your handling code here:
        int i = Table.getSelectedRow();
        if(i==-1){
            return;
        }
        String code = (String)Table.getValueAt(i,0);
        String code1 = (String)Table.getValueAt(i,1);
        String code2 = (String)Table.getValueAt(i,2);
        String code3 = (String)Table.getValueAt(i,3);
        String code4 = (String)Table.getValueAt(i,4);
        String code5 = (String)Table.getValueAt(i,5);
        String code6 = (String)Table.getValueAt(i,6);
        No_Surat.setText(code);
        Pengirim.setText(code1);
        TglMasuk.setText(code2);
        TglSurat.setText(code3);
        Perihal.setText(code4);
        KodeSurat.setSelectedItem(code5);
        JenisSurat.setSelectedItem(code6);
    }
  • Button untuk Pindah ke form lain

private void HomeActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        new Home().setVisible(true);
        dispose();
    }                                    

    private void ArsipSuratMasukActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
        new ArsipSuratMasuk().setVisible(true);
        dispose();
    }                                               

    private void SemuaActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        new ArsipSurat().setVisible(true);
        dispose();
    }    

Penjelasan
Package adalah : suatu cara untuk memanage atau mengelompokkan class-class yang kita buat berdasarkan kesamaan atau kemiripan fungsi, disini contoh package Latihan1

Import Merupakan Suatu Perintah Untuk Memasukan suatu Method atau perintah dalam Bahasa Pemrograman Java sehingga perintah tersebut dapat Aktif dan digunakan atau berfungsi.
import Ini merupakan kata kunci untuk melibatkan class-class lain yang terhimpun di dalam package yang akan kita import. Pelibatan kelas dari package dapat hanya sebagian class (sub class) atau semuanya.

kita memiliki beberapa button yaitu.
Home, Memo, ArsipMemo, ArsipSurat dll. yang apabila kita tekan button maka akan berpindah ke form lain ibarat sebuah link.
Biasanya Isi Koding yang dimasukan


new NamaForm().setVisible(true);
        dispose();

Button Simpan untuk menyimpan data yang kita input kedalam database

Button Edit untuk Mengedit data yang kita buat.

Button Hapus untuk menghapus data yang berada dalam database, data yang dihapus berdasarkan primary key, seperti nomor_surat

Button Bersihkan untuk membersihkan form Text Field yang kita isi

Button Refresh untuk Merefresh table yang telah kita ubah atau hapus. dengan mengambil dari database berdasarkan nilai query.

Table (Mouse Clicked) ini digunakan untuk menampilkan data yang tersimpan didalam database berdasarkan nilai query. dengan cara mengklik data pada table otomatis akan masuk kedalam form TextField yang tersedia

Button Keluar untuk keluar dari program

Kodenya adalah


System.exit(0);

Diatas Bisa kita lihat ada perintah
private void koneksi()

Perintah ini digunakan sebagai jembatan antar program dengan database yang kita buat, tapi sebelum itu kita harus mendeklarasikan didalam initComponents agar private kode tersebut bisa berjalan

initComponents();

Lalu ada kode

private void kosongkan()

kode ini digunakan untuk mengosongkan textfield setelah melakukan input

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width)/2,
        (screenSize.height - frameSize.height)/3);

Kode Dimension ini digunakan untuk mereset tampilan program agar berada ditengah ketika form dipanggil

Sekian Tutorial dari kami, Semoga Bermanfaat 😀

Nah, untuk teman-teman pembaca yang ingin melihat review dari program kami, silahkan klik disini 

Jika ingin mendownload projectnya silahkan klik disini

Satu tanggapan untuk “Tutorial Membuat Program Pengarsipan Surat Dengan Java Netbeans

Tinggalkan komentar