Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, iReport installed, MySQL installed, and NetBeans IDE 1. Buka XAMPP control panel, start MySQL dan Apache server. 2. Import file electicalgoods.sql melalui PHP myAdmin. 3. Buka iReport, tambahkan data source dengan meng-klik tombol “Report Datasource” (lihat gambar). 4. Isi data sesuai gambar: Keterangan: a. Name : digunakan untuk nama datasources b. JDBC Driver : dipilih sesuai framework/platform database yang diinginkan c. Button Test : digunakan untuk testing koneksi database d. Button Save : digunakan untuk save setting datasources Pemrograman Berorientasi Objek Lanjut Sendy Ferdian Sujadi 5. Buatlah sebuah report Blank A4. Beri nama listdatabarang. 6. Isi query yang digunakan untuk report dengan mengklik tombol seperti digambar: 7. Ketik query seperti contoh: 8. Jika sudah selesai, iReport akan secara otomatis membuat fields yang ada sesuai dengan column hasil query yang ada didatabase. Pemrograman Berorientasi Objek Lanjut Sendy Ferdian Sujadi 9. Drag field yang diperlukan ke dalam report beserta static text dari pallete manager sesuai dengan kebutuhan. Ubah property masing-masing sehingga tampilan seperti contoh dibawah. a. Gunakan frame untuk membuat sebuah baris pada bagian page footer dengan warna ungu muda. b. Setiap kotak yang mengandung kata $ dan new merupakan text field yang didapat dari drag n drop Fields pada Report Inspector atau Pallete Tools. Sisanya adalah static text. 10. Buatlah sebuah report Blank A4. Beri nama viewpiechartbypabrik. 11. Gunakan data source yang sudah kita buat sebelumnya. 12. Pada bagian Inspector, klik kanan pada bagian Parameter, add parameter. 13. Klik kanan pada parameter yang baru saja kita buat, pilih rename. Ganti nama parameter menjadi idPabrik. Parameter ini akan menangkap value yang akan dilemparkan dari aplikasi java nanti. Pemrograman Berorientasi Objek Lanjut Sendy Ferdian Sujadi 14. Ketikkan query berikut ini seperti tahap no. 6 dan no. 7. 15. Setelah selesai, pastikan iReport secara otomatis sudah membuatkan fields database hasil dari query diatas di inspector. 16. Tambahkan sebuah pie chart ke dalam band Summary. Band yang lain dapat anda hapus. Pemrograman Berorientasi Objek Lanjut Sendy Ferdian Sujadi Inputan pertama : $F{namacategory} Inputan kedua : $F{jumlah} 17. Masih pada band summary, tambahkan sebuah bar chart. Sebelumnya resize dulu band summary agar bisa menampung 2 buah chart. Pemrograman Berorientasi Objek Lanjut Sendy Ferdian Sujadi 18. Buka netbeans, buat project dan sebuah file java. Beri nama MyFirstJasperReport. 19. Tambahkan MySql connector ke dalam class path. 20. Tambahkan library berikut kedalam class path: (library *.jar dapat ditemukan di “[Direktori JasperReport di install / ditempatkan]\Jaspersoft\iReport-5.6.0\ireport\modules\ext”) 21. Ketikkan kode sebagai berikut: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.view.JasperViewer; public class MyFirstJasperReport { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { System.out.println("My First Jasper Report"); System.out.println("1. Lihat Data Barang"); System.out.println("2. Lihat Data Barang per Category by Pabrik"); System.out.println("Pilihan :"); switch (sc.nextInt()) { case 1: { compileProcessReport(1, "d:\\listdatabarang.jrxml"); break; } case 2: { compileProcessReport(2, "d:\\ViewPieChartByPabrik.jrxml"); break; } } } Pemrograman Berorientasi Objek Lanjut Sendy Ferdian Sujadi private static void compileProcessReport(int no, String path) { Map<String, Object> param = new HashMap<String, Object>(); Date date = new Date(); SimpleDateFormat sf = new SimpleDateFormat("[email protected]"); String idPabrik = "", fileName = ""; if (no == 2) { System.out.print("ID Pabrik : "); idPabrik = sc.next(); param.put("idPabrik", idPabrik); } if (no == 1) { fileName = "ReportListDataBarang-"; } else { fileName = "ChartPabrik-" + idPabrik + "-"; } String file = "D:\\temp\\" + fileName + sf.format(date.getTime()) + ".pdf"; try { JasperReport jRpt = JasperCompileManager.compileReport(path); JasperPrint jPrint = JasperFillManager.fillReport(jRpt, param, getConnection()); System.out.print("View Report? (y/n)"); if (sc.next().equalsIgnoreCase("y")) { JasperViewer.viewReport(jPrint, false); } System.out.print("Save as PDF? (y/n)"); if (sc.next().equalsIgnoreCase("y")) { JasperExportManager.exportReportToPdfFile(jPrint, file); } } catch (JRException ex) { System.out.println(ex.toString()); } } private static Connection getConnection() { Connection con = null; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost/electricalgoods"; String user = "root"; String pw = ""; con = DriverManager.getConnection(url, user, pw); } catch (ClassNotFoundException e) { System.out.println(e.toString()); } catch (SQLException sql) { System.out.println(sql.toString()); } return con; } } 22. Kemudian copy-kan file listdatabarang.jrxml dan ViewPieChartByPabrik.jrxml ke folder D:\\. Buat juga sebuah folder D:\\temp 23. Run aplikasi, selesai. Pemrograman Berorientasi Objek Lanjut Sendy Ferdian Sujadi