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 netbeanKetikkan localhost/phpmyadmin atau bisa dengan mengetikkan 127.0.0.1/phpmyadmin
5. Buatlah database baru dengan nama “database_arsip” klik button ciptakan/create 6. 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
10.Ubah kolom “nomor_surat” dan “pengirim” menjadi “Primary Key”
11. Klik Simpan
12. Kemudian buka Aplikasi NetBeans, buat Project baru 13. Buat Project dengan Nama seperti berikut
14.Buat Package baru dengan Nama seperti berikut
15.Buat JFrameForm seperti berikut
16. Desain seperti berikut untuk tampilan Home.java
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.java
- 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.java
- 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.java
-
- 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.java
- 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.java
- 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”