Tutorial Jasper Report

advertisement
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
Download