0% menganggap dokumen ini bermanfaat (0 suara)
9 tayangan15 halaman

Modul

Dokumen tersebut memberikan panduan konfigurasi library dan koneksi database untuk project aplikasi Java dalam 3 langkah: (1) menambahkan library database ke project, (2) menambahkan plugin reporting ke Netbeans, (3) membuat kelas koneksi database untuk menghubungkan dan mengakses database.

Diunggah oleh

Riadhus
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
9 tayangan15 halaman

Modul

Dokumen tersebut memberikan panduan konfigurasi library dan koneksi database untuk project aplikasi Java dalam 3 langkah: (1) menambahkan library database ke project, (2) menambahkan plugin reporting ke Netbeans, (3) membuat kelas koneksi database untuk menghubungkan dan mengakses database.

Diunggah oleh

Riadhus
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 15

PERSIAPAN LIBRARY CLASS CONFIGURASI DATABASE

• Silahkan download library lib untuk kongiruasi laporan dan koneksi database, setelah itu
load library tersebut kedalam project aplikasi seperti cara dibawah ini :
1. Klik kanan pada Libraries project aplikasi seperti contoh

2. Kemudian load semua library pad folder lib,seperti contoh dibawah ini :

• Klik Menu Tools – Plugins – pilih bagian downloaded, Setelah itu klik tombol Add
Plugins.. Kemudian load semua library Ireport yang akan diinstal dinetbeans seperti contoh
dibawah ini :
• Silahkan buat kelas pada package yang sama (Klik Kanan – New – Java Class) Beri nama
dbCrud
• Tambahkan Library dibawah package project , seperti dibawah ini :

1. import java.sql.Connection;
2. import java.sql.DriverManager;
3. import java.sql.Driver;
4. import java.sql.SQLException;
5. import java.sql.Statement;
6. import java.sql.PreparedStatement;
7. import java.sql.ResultSet;
8. import javax.swing.JOptionPane;
9. import javax.swing.JTable;
10. import javax.swing.table.DefaultTableModel;
11. import javax.swing.table.TableColumn;
12. import java.io.File;
13. import net.sf.jasperreports.engine.JasperCompileManager;
14. import net.sf.jasperreports.engine.JasperFillManager;
15. import net.sf.jasperreports.engine.JasperPrint;
16. import net.sf.jasperreports.engine.JasperReport;
17. import net.sf.jasperreports.engine.design.JRDesignQuery;
18. import net.sf.jasperreports.engine.design.JasperDesign;
19. import net.sf.jasperreports.engine.xml.JRXmlLoader;
20. import net.sf.jasperreports.view.JasperViewer;

• Buat konstruktor pada bagian kelas dbCrud seperti dibawah ini :


1. public dbCrud (){}

• Buat Variabel dan Field pada area global kelas dbCrud seperti dibawah ini

1. private String jdbcUrl="jdbc:mysql://localhost:3306/dbfilm";


2. private String username="root";
3. private String password="";

• Buat konstruktor kedua yang sifatnya overload, untuk cara pemanggilan kedua.Tambahkan
kode pada class dbCrdu seperti dibawah ini

1. public dbCrud(String url,String username,String password){


2.
3. try {
4. Driver mysqldriver = new com.mysql.jdbc.Driver();
5. DriverManager.registerDriver(mysqldriver);
6. Connection koneksi =DriverManager.getConnection(url, username, password);
7. System.out.println("Berhasil dikoneksikan");
8.
9.
10. } catch (Exception e) {
11. }
12.
13. }

• Buat method dengan nama getKoneksi untuk menghubungkan ke database, seperti


dibawah ini :

1. public Connection getKoneksi() throws SQLException{


2. try {
3. Driver mysqldriver = new com.mysql.jdbc.Driver();
4. DriverManager.registerDriver(mysqldriver);
5. System.out.println("Berhasil dikoneksikan");
6. } catch (Exception e) {
7. System.err.println(e.toString());
8. }
9.
10. return DriverManager.getConnection(this.jdbcUrl,this.username,this.password);
11. }

• Buat method dengan nama duplikasiKey untuk mengetahui primary key yang sama saat
diinputkan, seperti dibawah ini :

1. public boolean duplikasiKey(String tabel, String primarykey, String isi){


2. boolean hasil=false;
3. try {
4. Statement sts = getKoneksi().createStatement();
5. ResultSet rs = sts.executeQuery("SELECT * FROM "+tabel+" WHERE "+primarykey+"
= '"+isi+"'");
6. hasil=rs.next(); // posisi perubahan isi FALSE atau TRUE
7. } catch (Exception e) {
8. System.err.println(e.toString());
9. }
10.
11. return hasil;
12. }
13.

• Buat method getFieldTabel, getIsiTabel dan getEditFieldValue untuk pengaturan field dan
isi field saat simpan dan ubah data ,seperti dibawah ini :

1. public String getFieldTabel(String[] Fieldnya){


2. String hasil ="";
3. int deteksi=Fieldnya.length-1;
4. try {
5. for (int i = 0; i < Fieldnya.length; i++) {
6. if (i==deteksi){
7. hasil=hasil+Fieldnya[i];
8. }else{
9. hasil=hasil+Fieldnya[i]+",";
10. }
11. }
12. } catch (Exception e) {
13. System.out.println(e.toString());
14. }
15.
16. return "("+ hasil+")";
17. }
18.
19. public String getIsiTabel(String[] Isinya){
20. String hasil="";
21. int deteksi=Isinya.length-1;
22. try {
23. for (int i = 0; i < Isinya.length; i++) {
24. if (i==deteksi){
25. hasil=hasil+"'"+Isinya[i]+"'";
26. }else{
27. hasil=hasil+"'"+Isinya[i]+"',";
28. }
29. }
30. } catch (Exception e) {
31. System.out.println(e.toString());
32. }
33.
34. return "("+hasil+")";
35. }
36.
37.
38. public String getEditFieldValue(String[] Field, String[] ValueField){
39. String hasil = "";
40. int deteksi =Field.length-1;
41. try {
42. for (int i = 0; i < Field.length; i++) {
43. if (i==deteksi){
44. hasil = hasil +Field[i]+"='"+ValueField[i]+"'";
45. }else{
46. hasil = hasil +Field[i]+"='"+ValueField[i]+"', ";
47. }
48. }
49. } catch (Exception e) {
50. System.out.println(e.toString());
51. }
52.
53. return hasil;
54.
55. }
56.

• Buat method dengan nama UbahDBAuto yang digunakan untuk mengubah data yang dapat
digunakan untuk semua jenis table

1. public void UbahDBAuto(String NamaTabel, String NamaPrimary, String IsiPrimary,


String[]Field, String[] ValueField){
2. try {
3. String SQLEdit = "UPDATE "+NamaTabel+" SET "+getEditFieldValue(Field,
ValueField)+" WHERE "+NamaPrimary+"='"+IsiPrimary+"'";
4. Statement perintah = getKoneksi().createStatement();
5. perintah.executeUpdate(SQLEdit);
6. perintah.close();
7. getKoneksi().close();
8. System.out.println("Data Berhasil diubah");
9. } catch (Exception e) {
10. System.out.println(e.toString());
11. }
12. }
13.

• Buat method dengan nama SimpanDBAuto yang digunakan untuk menyimpan data yang
dapat digunakan untuk semua jenis table
1. public void SimpanDBAuto(String NamaTabel, String[] FieldTablenya, String[]
Isitabelnya){
2.
3. try {
4. String SQL ="INSERT INTO "+NamaTabel+"
"+getFieldTabel(FieldTablenya)+" VALUES "+getIsiTabel(Isitabelnya);
5. Statement save =getKoneksi().createStatement();
6. save.executeUpdate(SQL);
7. save.close();
8.
9. System.out.println("Data Berhasil disimpan");
10. } catch (Exception e) {
11. System.err.println(e.toString());
12. }
13. }

• Buat method dengan nama HapusDBAuto yang digunakan untuk menghapus data yang
dapat digunakan untuk semua jenis table

1. public void HapusDBAuto(String NamaTabel, String Primarynya, String IsiPrimary){


2. try {
3. String SQLHapus ="DELETE FROM "+NamaTabel+" WHERE
"+Primarynya+"='"+IsiPrimary+"'";
4. Statement perintah = getKoneksi().createStatement();
5. perintah.executeUpdate(SQLHapus);
6. perintah.close();
7. getKoneksi().close();
8. System.out.println("Data Berhasil dihapus");
9. } catch (Exception e) {
10. System.out.println(e.toString());
11. }

• Buat method dengan nama JudulJTable yang digunakan untuk menambahkn judul pada
jTable yang digunakan seperti dibawah ini :

1. public void JudulJtable(JTable JTabelnya, String[] Judulnya){


2. DefaultTableModel modelnya = new DefaultTableModel();
3. try {
4. JTabelnya.setModel(modelnya);
5. for (int i = 0; i < Judulnya.length; i++) {
6. modelnya.addColumn(Judulnya[i]);
7. }
8. } catch (Exception e) {
9. System.out.println(e.toString());
10. }
11. }

• Buat method dengan nama lebarJTabel yang digunakan untuk mengatur lebar posisi kolom

1. public void LebarJtable(JTable JTabelnya, int[] Lebarnya){


2.
3. TableColumn kolom = new TableColumn();
4. try {
5. JTabelnya.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
6. for (int i = 0; i < Lebarnya.length; i++) {
7. kolom = JTabelnya.getColumnModel().getColumn(i);
8. kolom.setPreferredWidth(Lebarnya[i]);
9. }
10.
11. } catch (Exception e) {
12. System.out.println(e.toString());
13. }
14. }
15.

• Buat method function dengan nama isiTabel yang digunakan untuk menangkap data dari
tabel untuk dikonversi ke tipe array object

1. public Object[][] isiTabel(String SQL, int jumlah){


2.
3. Object[][] data=null;
4. try {
5.
6. Statement st = getKoneksi().createStatement();
7. ResultSet rs = st.executeQuery(SQL);
8. rs.last();
9. int baris=rs.getRow();
10. rs.beforeFirst();
11. int j=0;
12. data = new Object[baris][jumlah];
13. while (rs.next()) {
14. for (int i = 0; i < jumlah; i++)
15. {
16. data[j][i]=rs.getString(i+1);
17. }
18. j++;
19. }
20. } catch (Exception e) {
21. JOptionPane.showMessageDialog(null,e.toString());
22. }
23. return data;
24. }
25.
• Buat method tampilTabel Method ini diguakan untuk menampilkan Judul Tabel pada
kolom dikomponen JTable dan juga sekaligus memanggil function isiTabel yag sudah
dibuat, guna untuk menampilkan data table pada setiap baris diJTable.

1. public void tampilTabel(String Judul[],String SQL, JTable Tabel){


2. try {
3. String title[]=Judul;
4. int jum =title.length;
5. Tabel.setModel(new DefaultTableModel(isiTabel(SQL,jum), title));
6. } catch (Exception e) {
7. JOptionPane.showMessageDialog(null, e.toString());
8. }
9.
10. }
11.

• Buatlah kode function jumlahRecord yang akan digunakan untuk mengetahui jumlah
record dari proses pencarian yang akan dilakukan dari masing-masing table yang
akan dicari, dibawah ini merupakan potongan kode mencari jumlah record.

1. public int jumlahRecord(String SQL){


2. int hasil=0;
3. int i=0;
4. try {
5. Statement st=getKoneksi().createStatement();
6. ResultSet rs = st.executeQuery(SQL);
7. while (rs.next())
8. {
9. i++;
10. }
11. hasil=i;
12. } catch (Exception e) {
13. JOptionPane.showMessageDialog(null,e.toString());
14.
15. }
16. return hasil;
17. }
18.
• Method ini digunakan untuk proses menapilkan beberapa laporan yang akan digunakan
dengan perintah query yang sudah disediakan. Method ini bisa dipanggil berkali-kali sesuai
kebutuhan dengan masing-masing laporan.

1. public void tampilLaporan(String laporanFile, String SQL){


2. try {
3. File file = new File(laporanFile);
4. JasperDesign jasDes = JRXmlLoader.load(file);
5.
6. JRDesignQuery sqlQuery = new JRDesignQuery();
7. sqlQuery.setText(SQL);
8. jasDes.setQuery(sqlQuery);
9.
10. JasperReport JR = JasperCompileManager.compileReport(jasDes);
11. JasperPrint JP = JasperFillManager.fillReport(JR,null,getKoneksi());
12. JasperViewer.viewReport(JP);
13. } catch (Exception e) {
14. JOptionPane.showMessageDialog(null,e.toString());
15.
16. }
17. }
18.

• Berikut ini tampilan seluruh source code class dbCrud

1. /*
2. * To change this license header, choose License Headers in Project Properties.
3. * To change this template file, choose Tools | Templates
4. * and open the template in the editor.
5. */
6. package java2a;
7.
8. import java.sql.Connection;
9. import java.sql.DriverManager;
10. import java.sql.Driver;
11. import java.sql.SQLException;
12. import java.sql.Statement;
13. import java.sql.PreparedStatement;
14. import java.sql.ResultSet;
15. import javax.swing.JOptionPane;
16.
17. import javax.swing.JTable;
18. import javax.swing.table.DefaultTableModel;
19. import javax.swing.table.TableColumn;
20.
21. import java.io.File;
22. //Berfungsi mengambil file laporan yang dibuat dari IReport
23.
24. import net.sf.jasperreports.engine.JasperCompileManager;
25. import net.sf.jasperreports.engine.JasperFillManager;
26. import net.sf.jasperreports.engine.JasperPrint;
27. import net.sf.jasperreports.engine.JasperReport;
28. import net.sf.jasperreports.engine.design.JRDesignQuery;
29. import net.sf.jasperreports.engine.design.JasperDesign;
30. import net.sf.jasperreports.engine.xml.JRXmlLoader;
31. import net.sf.jasperreports.view.JasperViewer;
32. /*Semua library bagia jasperreport berfungsi untuk penampilan laporan file
33. .jrxml baik berupa compile, query pada laporan, preview laporan, dll*/
34.
35.
36.
37. /**
38. *
39. * @author 007ra
40. */
41. public class backend_java2A {
42.
43. private String jdbcUrl="jdbc:mysql://localhost:3306/dbfilm";
44. private String username="root";
45. private String password="";
46.
47. public backend_java2A(){}
48. // overload Constructor
49. public backend_java2A(String url,String username,String password){
50.
51. try {
52. Driver mysqldriver = new com.mysql.jdbc.Driver();
53. DriverManager.registerDriver(mysqldriver);
54. Connection koneksi =DriverManager.getConnection(url, username, password);
55. System.out.println("Berhasil dikoneksikan");
56.
57.
58. } catch (Exception e) {
59. }
60.
61. }
62.
63. public Connection getKoneksi() throws SQLException{
64. try {
65. Driver mysqldriver = new com.mysql.jdbc.Driver();
66. DriverManager.registerDriver(mysqldriver);
67. System.out.println("Berhasil dikoneksikan");
68. } catch (Exception e) {
69. System.err.println(e.toString());
70. }
71.
72. return DriverManager.getConnection(this.jdbcUrl,this.username,this.password);
73. }
74.
75. public boolean duplikasiKey(String tabel, String primarykey, String isi){
76. boolean hasil=false;
77. try {
78. Statement sts = getKoneksi().createStatement();
79. ResultSet rs = sts.executeQuery("SELECT * FROM "+tabel+" WHERE
"+primarykey+" = '"+isi+"'");
80. hasil=rs.next(); // posisi perubahan isi FALSE atau TRUE
81. } catch (Exception e) {
82. System.err.println(e.toString());
83. }
84.
85. return hasil;
86. }
87.
88. public String getFieldTabel(String[] Fieldnya){
89. String hasil ="";
90. int deteksi=Fieldnya.length-1;
91. try {
92.
93. for (int i = 0; i < Fieldnya.length; i++) {
94. if (i==deteksi){
95.
96. hasil=hasil+Fieldnya[i];
97. }else{
98. hasil=hasil+Fieldnya[i]+",";
99. }
100. }
101. } catch (Exception e) {
102. System.out.println(e.toString());
103. }
104.
105. return "("+ hasil+")";
106. }
107.
108. public String getIsiTabel(String[] Isinya){
109. String hasil="";
110. int deteksi=Isinya.length-1;
111. try {
112. for (int i = 0; i < Isinya.length; i++) {
113. if (i==deteksi){
114. hasil=hasil+"'"+Isinya[i]+"'";
115. }else{
116. hasil=hasil+"'"+Isinya[i]+"',";
117. }
118. }
119. } catch (Exception e) {
120. System.out.println(e.toString());
121. }
122.
123. return "("+hasil+")";
124. }
125.
126.
127. public String getEditFieldValue(String[] Field, String[] ValueField){
128. String hasil = "";
129. int deteksi =Field.length-1;
130. try {
131. for (int i = 0; i < Field.length; i++) {
132. if (i==deteksi){
133. hasil = hasil +Field[i]+"='"+ValueField[i]+"'";
134. }else{
135. hasil = hasil +Field[i]+"='"+ValueField[i]+"', ";
136. }
137. }
138. } catch (Exception e) {
139. System.out.println(e.toString());
140. }
141.
142. return hasil;
143.
144. }
145.
146. public void UbahDBAuto(String NamaTabel, String NamaPrimary, String
IsiPrimary, String[]Field, String[] ValueField){
147. try {
148. String SQLEdit = "UPDATE "+NamaTabel+" SET
"+getEditFieldValue(Field, ValueField)+" WHERE "+NamaPrimary+"='"+IsiPrimary+"'";
149. Statement perintah = getKoneksi().createStatement();
150. perintah.executeUpdate(SQLEdit);
151. perintah.close();
152. getKoneksi().close();
153. System.out.println("Data Berhasil diubah");
154. } catch (Exception e) {
155. System.out.println(e.toString());
156. }
157. }
158.
159.
160.
161. public void SimpanDBAuto(String NamaTabel, String[] FieldTablenya, String[]
Isitabelnya){
162.
163. try {
164. String SQL ="INSERT INTO "+NamaTabel+"
"+getFieldTabel(FieldTablenya)+" VALUES "+getIsiTabel(Isitabelnya);
165. Statement save =getKoneksi().createStatement();
166. save.executeUpdate(SQL);
167. save.close();
168.
169. System.out.println("Data Berhasil disimpan");
170. } catch (Exception e) {
171. System.err.println(e.toString());
172. }
173. }
174.
175. public void HapusDBAuto(String NamaTabel, String Primarynya, String
IsiPrimary){
176. try {
177. String SQLHapus ="DELETE FROM "+NamaTabel+" WHERE
"+Primarynya+"='"+IsiPrimary+"'";
178. Statement perintah = getKoneksi().createStatement();
179. perintah.executeUpdate(SQLHapus);
180. perintah.close();
181. getKoneksi().close();
182. System.out.println("Data Berhasil dihapus");
183. } catch (Exception e) {
184. System.out.println(e.toString());
185. }
186.
187. }
188.
189.
190. public void JudulJtable(JTable JTabelnya, String[] Judulnya){
191. DefaultTableModel modelnya = new DefaultTableModel();
192. try {
193. JTabelnya.setModel(modelnya);
194. for (int i = 0; i < Judulnya.length; i++) {
195. modelnya.addColumn(Judulnya[i]);
196. }
197. } catch (Exception e) {
198. System.out.println(e.toString());
199. }
200. }
201.
202. public void LebarJtable(JTable JTabelnya, int[] Lebarnya){
203.
204. TableColumn kolom = new TableColumn();
205. try {
206. JTabelnya.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
207. for (int i = 0; i < Lebarnya.length; i++) {
208. kolom = JTabelnya.getColumnModel().getColumn(i);
209. kolom.setPreferredWidth(Lebarnya[i]);
210. }
211.
212. } catch (Exception e) {
213. System.out.println(e.toString());
214. }
215. }
216.
217.
218. public Object[][] isiTabel(String SQL, int jumlah){
219.
220. Object[][] data=null;
221. try {
222.
223. Statement st = getKoneksi().createStatement();
224. ResultSet rs = st.executeQuery(SQL);
225. rs.last();
226. int baris=rs.getRow();
227. rs.beforeFirst();
228. int j=0;
229. data = new Object[baris][jumlah];
230. while (rs.next()) {
231. for (int i = 0; i < jumlah; i++)
232. {
233. data[j][i]=rs.getString(i+1);
234. }
235. j++;
236. }
237. } catch (Exception e) {
238. JOptionPane.showMessageDialog(null,e.toString());
239. }
240. return data;
241. }
242.
243. public void tampilTabel(String Judul[],String SQL, JTable Tabel){
244. try {
245. String title[]=Judul;
246. int jum =title.length;
247. Tabel.setModel(new DefaultTableModel(isiTabel(SQL,jum), title));
248. } catch (Exception e) {
249. JOptionPane.showMessageDialog(null,e.toString());
250. }
251.
252. }
253.
254. public int jumlahRecord(String SQL){
255. int hasil=0;
256. int i=0;
257. try {
258. Statement st=getKoneksi().createStatement();
259. ResultSet rs = st.executeQuery(SQL);
260. while (rs.next())
261. {
262. i++;
263. }
264. hasil=i;
265. } catch (Exception e) {
266. JOptionPane.showMessageDialog(null,e.toString());
267.
268. }
269. return hasil;
270. }
271.
272.
273. public void tampilLaporan(String laporanFile, String SQL){
274. try {
275. File file = new File(laporanFile);
276. JasperDesign jasDes = JRXmlLoader.load(file);
277.
278. JRDesignQuery sqlQuery = new JRDesignQuery();
279. sqlQuery.setText(SQL);
280. jasDes.setQuery(sqlQuery);
281.
282. JasperReport JR = JasperCompileManager.compileReport(jasDes);
283. JasperPrint JP = JasperFillManager.fillReport(JR,null,getKoneksi());
284. JasperViewer.viewReport(JP);
285. } catch (Exception e) {
286. JOptionPane.showMessageDialog(null,e.toString());
287.
288. }
289. }
290.
291.
292.
293. }
294.

Anda mungkin juga menyukai