Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

MODUL PBO (Pemrograman Berorientasi Objek) – Teknik Informatika UMA

CRUD (Create Read Update Delete) dengan JAVA + Netbeans + SqLite Database

Instruktur : Rizki Muliono, M.Kom

Buat lah form dengan desain berikut :

file database connector : sqlite-jdbc-3.23.1.jar letakkan pada folder project atau install
plugin nya melalui netbeans.
Pastikan sudah terinstal SQLite Database pada sistem operasi yang di gunakan berikut
aplikasi Browser Data SQLite.

Nama file : FrameApp.java

1. package javadb;  //sesuai nama package projek kita


2.   
3. import java.sql.Connection;  
4. import java.sql.DriverManager;  
5. import java.sql.PreparedStatement;  
6. import java.sql.ResultSet;  
7. import java.sql.SQLException;  
8. import java.sql.Statement;  
9. import java.util.logging.Level;  
10. import java.util.logging.Logger;  
11. import javax.swing.table.DefaultTableModel;  
12. import javax.swing.JOptionPane;  
13.   
14. /** 
15.  * 
16.  * @author rizkimuliono 
17.  */  
18. public class FrameApp extends javax.swing.JFrame {  
19.   
20.     private DefaultTableModel model;  
21.     private Connection conn;  
22.     private Statement stat;  
23.     private PreparedStatement prep;  
24.     private ResultSet rs;  
25.       
26.       
27.     public FrameApp() throws SQLException {  
28.         initComponents();  
29.         koneksiDatabase();     
30.         // membuat tabel  
31.         model = new DefaultTableModel();      
32.         jTable1.setModel(model);     
33.         model.addColumn("ID");  
34.         model.addColumn("Nama");  
35.         model.addColumn("Usia");  
36.         model.addColumn("Gaji Rp.");  
37.           
38.         // memanggil fungsi load data  
39.         loadData();  
40.     }  
41.       
42.     public void koneksiDatabase() {  
43.         try {  
44.             Class.forName("org.sqlite.JDBC");  
45.             conn = DriverManager.getConnection("jdbc:sqlite:MyDBLite.db"); // nama 
file SQLite = mahasiswa  
46.             stat = conn.createStatement();  
47.             System.out.println("Koneksi OK !");  
48.             // stat.executeUpdate("drop table if exists MyDBLite;");   // Untuk men
ghapus database jika database sudah ada.  
49.             //stat.executeUpdate("create table IF NOT EXISTS pegawai(peg_id integer 
primary key autoincrement, nama text, usia integer, gaji
integer);"); // membuat data base  
50.         } catch (Exception ex1) {  
51.             System.out.println(ex1.toString());  
52.         }  
53.     }  
54.       
55.     public void loadData(){  
56.         // menghapus seluruh data  
57.         model.getDataVector().removeAllElements();  
58.         // memberi tahu bahwa data telah kosong  
59.         model.fireTableDataChanged();  
60.         try {  
61.             rs = stat.executeQuery("SELECT * FROM pegawai");  
62.           
63.             while(rs.next()){  
64.                 // lakukan penelusuran baris  
65.                 Object[] o = new Object[4];  
66.                 o[0] = rs.getString("peg_id");  
67.                 o[1] = rs.getString("peg_nama");  
68.                 o[2] = rs.getString("peg_usia");  
69.                 o[3] = rs.getString("peg_gaji");  
70.                 model.addRow(o);  
71.             }  
72.                     rs.close();  
73.             stat.close();             
74.         }catch(SQLException e){  
75.             System.out.println("Terjadi Error load data");  
76.         }  
77.     }  
78.      
79.     /** 
80.      * This method is called from within the constructor to initialize the form. 
81.      * WARNING: Do NOT modify this code. The content of this method is always 
82.      * regenerated by the Form Editor. 
83.      */  
84.     @SuppressWarnings("unchecked")  
85.                 
86.     //generate code  
87.       
88.     private void btnCekActionPerformed(java.awt.event.ActionEvent evt) {            
                             
89.         koneksiDatabase();  
90.     }                                        
91.   
92.     private void btnClearActionPerformed(java.awt.event.ActionEvent evt) {          
                                 
93.         txtID.setText(null);  
94.         txtNama.setText(null);  
95.         txtUsia.setText(null);  
96.         txtGaji.setText(null);  
97.         txtNama.requestFocus();  
98.     }                                          
99.   
100.     private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {         
                                   
101.         String nama = txtNama.getText();  
102.         String usia = txtUsia.getText();  
103.         Double gaji = Double.parseDouble(txtGaji.getText());  
104.   
105.         try{  
106.             prep = conn.prepareStatement("INSERT INTO pegawai values (?, ?, ?, ?);"
);  
107.   
108.             prep.setString (1, null);  
109.             prep.setString (2, nama);  
110.             prep.setString (3, usia);  
111.             prep.setDouble (4, gaji);  
112.   
113.             prep.executeUpdate();  
114.             prep.close();  
115.         } catch (SQLException e) {  
116.             System.err.println("Terjadi Error button tambah");  
117.         } finally {  
118.             loadData();  
119.             JOptionPane.showMessageDialog(null,"Insert Berhasil");   
120.         }  
121.     }                                           
122.   
123.     private void btnEditActionPerformed(java.awt.event.ActionEvent evt) {           
                               
124.         // TODO add your handling code here:  
125.         int i = jTable1.getSelectedRow();  
126.         if(i == -1){  
127.             // tidak ada baris terseleksi  
128.             return;  
129.         }  
130.         // ambil nim yang terseleksi  
131.         String id = (String) model.getValueAt(i, 0);  
132.         String nama = txtNama.getText();  
133.         String usia = txtUsia.getText();  
134.         Double gaji = Double.parseDouble(txtGaji.getText());  
135.   
136.         try{  
137.             String sql = "UPDATE pegawai SET peg_nama = ?, peg_usia = ?, peg_gaji = 
? WHERE peg_id = ?";  
138.             prep = conn.prepareStatement(sql);  
139.             prep.setString(1, nama);  
140.             prep.setString(2, usia);  
141.             prep.setDouble(3, gaji);  
142.             prep.setString(4, id);  
143.   
144.             prep.executeUpdate();  
145.             prep.close();  
146.         }catch(SQLException e){  
147.             System.err.println("Terjadi Error button ubah");  
148.         }finally{  
149.             loadData();  
150.             JOptionPane.showMessageDialog(null,"Update Berhasil");  
151.         }  
152.     }                                         
153.   
154.     private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {         
                                   
155.   
156.         int i = jTable1.getSelectedRow();  
157.         if(i == -2){  
158.             // tidak ada baris terseleksi  
159.             return;  
160.         }  
161.   
162.         String idRow = (String) model.getValueAt(i, 0);  
163.   
164.         try {  
165.             String sql = "DELETE FROM pegawai WHERE peg_id = ?";  
166.   
167.             prep = conn.prepareStatement(sql);  
168.             prep.setString(1, idRow);  
169.   
170.             prep.executeUpdate();  
171.             prep.close();  
172.         }catch(SQLException e){  
173.             System.err.println("Terjadi Error button hapus");  
174.         }finally{  
175.             loadData();  
176.             JOptionPane.showMessageDialog(null,"Data Telah Dihapus !");  
177.         }  
178.     }                                           
179.   
180.     private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {               
                        
181.         int i = jTable1.getSelectedRow();  
182.         if (i == -1){  
183.             // tak ada baris terseleksi  
184.             return;  
185.         }  
186.   
187.         String id = (String) model.getValueAt(i, 0);  
188.         txtID.setText(id);  
189.   
190.         String nama = (String) model.getValueAt(i, 1);  
191.         txtNama.setText(nama);  
192.   
193.         String usia = (String) model.getValueAt(i, 2);  
194.         txtUsia.setText(usia);  
195.           
196.         String gaji = (String) model.getValueAt(i, 3);  
197.         txtGaji.setText(gaji);  
198.     
199.     }                                      
200.   
201.     /** 
202.      * @param args the command line arguments 
203.      */  
204.     public static void main(String args[]) {  
205.   
206.     /* Create and display the form */  
207.     java.awt.EventQueue.invokeLater(new Runnable() {  
208.        public void run() {  
209.        try {  
210.                new FrameApp().setVisible(true);  
211.             } catch (SQLException ex) {  
212.             Logger.getLogger(FrameApp.class.getName()).log(Level.SEVERE, null, ex);
213.               }  
214.             }  
215.         });  
216.     }  
217.   
218.     // Variables declaration - do not modify                       
219.     private javax.swing.JButton btnCek;  
220.     private javax.swing.JButton btnClear;  
221.     private javax.swing.JButton btnDelete;  
222.     private javax.swing.JButton btnEdit;  
223.     private javax.swing.JButton btnSimpan;  
224.     private javax.swing.JLabel jLabel1;  
225.     private javax.swing.JLabel jLabel2;  
226.     private javax.swing.JLabel jLabel3;  
227.     private javax.swing.JLabel jLabel4;  
228.     private javax.swing.JLabel jLabel5;  
229.     private javax.swing.JScrollPane jScrollPane1;  
230.     private javax.swing.JTable jTable1;  
231.     private javax.swing.JTextField txtGaji;  
232.     private javax.swing.JTextField txtID;  
233.     private javax.swing.JTextField txtNama;  
234.     private javax.swing.JTextField txtUsia;  
235.     // End of variables declaration                     
236. }  

You might also like