Desain laporan pada java dengan ireport & jcreator

25
Desain Laporan Pada Java Dengan iReport & Jcreator Ruang Assisten LABKOM UBL, 10 January 2014 [email protected] agungsulistyan.blogspot.com

Transcript of Desain laporan pada java dengan ireport & jcreator

Page 1: Desain laporan pada java dengan ireport & jcreator

Desain Laporan Pada Java Dengan iReport & Jcreator

Ruang Assisten LABKOM UBL, 10 January 2014

[email protected] agungsulistyan.blogspot.com

Page 2: Desain laporan pada java dengan ireport & jcreator

Untuk membuat laporan pada java, disini saya mengguna software iReport 5.1.0, dan editor jcreator3 untuk menulis program Java. Untuk mengikuti tutorial ini disarankan menggunakan iReport 5.1.0 karena pada versi selanjutnya akan terdapat beberapa perbedaan. Untuk membuat laporan dapat kita kelompokkan menjadi 2 tahap. Pertama.. kita akan mendesain laporan pada iReport Kedua.. memanggil file laporan yang sudah kita desain pada program Java Langsung saja kita mulai tahap yang Pertama.. Desain Laporan Pada iReport Sebelum mendesain laporan, kita harus membuat koneksi antara iReport dan database, karena data laporan yang kita tampilkan akan diambil dari database yang kita gunakan..

Page 3: Desain laporan pada java dengan ireport & jcreator

Untuk membuat koneksi dapat kita lakukan dengan klik wizard pada Step 1..

Pilih Database JDBC connection dan pilih Next > Setelah itu kita akan mendapatkan tampilan sperti ini..

Penjelasan : Name : tidak harus sama dengan nama database. JDBC Driver : driver yang kita gunakan, pilih sebagai berikut. JDBC URL : lokasi database, default kita hanya perlu mengganti dengan nama database yang kita gunakan. Username dan Password : sesuaikan dengan User dan Password mysql masing2..

Page 4: Desain laporan pada java dengan ireport & jcreator

Setelah konfigurasi di atas, kita dapat pilih button Test untuk mengetahui apakah koneksi kita berhasil.. Sampai sini kita sudah berhasil menyelesaikan Step yang pertama yaitu membuat Koneksi.. Jika terjadi error biasanya terjadi karena temen – temen belum mengganti pilihan koneksi JDBC Driver atau mungkin service Mysql belum di start..

Page 5: Desain laporan pada java dengan ireport & jcreator

Setelah itu kita pilih wizard Step 2.. Create a new report.. Kita dapat memilih template yang sudah disediakan iReport.. Tetapi saya tidak menggunakan template, jadi saya memilih Launch Report Wizard..

Page 6: Desain laporan pada java dengan ireport & jcreator

Name and location.. Sesuaikan nama dan lokasi dimana kita akan menyimpan report yang kita buat.. Disini saya menyimpannya di dalam folder laporan yang berada didalam folder projek Tugas PBOL Skripsi..

Query.. Pada bagian ini kita akan mendeklarasikan data apa yang akan kita gunakan dalam bentuk query.. Disini kita bisa menuliskan query secara langsung, tetapi untuk memudahkan kita bias memilih Design Query..

Page 7: Desain laporan pada java dengan ireport & jcreator

Kita dapat memilih Table dan Field yang datanya akan kita tampilkan pada laporan yang kita buat.. Karena saya akan membuat laporan Data Barang, maka saya pilih Table Barang..

Setelah kita menentukan Table, kita juga dapat memilih field apa saja yang

datanya akan kita tampilkan.. dengan memilih check pada checkbox di table

barang..

Page 8: Desain laporan pada java dengan ireport & jcreator

Kita akan kembali pada tampilan ini dengan Query yang sudah otomatis terbentuk..

Karena saya tadi memilih untuk menampilkan semua field pada table barang,

maka akan sama saja jika diawal td saya langsung menulis Querynya seperti ini..

Page 9: Desain laporan pada java dengan ireport & jcreator

Disini kita akan memilih field mana yang akan kita masukan dalam laporan.. Karena saya ingin menampilkan semua maka pilih >> ..

Maka nantinya semua Field akan pindah ke sebelah kanan..

Lalu pilih Next > .. untuk melewati Group, karena kita belum menggunakan

Group..

Page 10: Desain laporan pada java dengan ireport & jcreator

Kita akan mendapat tampilan seperti ini..

Pada Palette di bagian kanan atas kita dapat memilih Static Text untuk membuat judul laporan.. Properties untuk mengatur objek yang kita gunakan.. Hasilnya seperti ini..

Page 11: Desain laporan pada java dengan ireport & jcreator

Untuk memasukkan data ke dalam laporan.. pada Report Inspector kita pilih Fields..

Setelah kita pilih Fieldnya dan lakukan drag ke bagian Detail 1.. Seperti berikut..

Page 12: Desain laporan pada java dengan ireport & jcreator

Kita lakukan hal yang sama pada semua Field.. kita dapat sesuaikan tampilannya seperti ini..

Untuk melihat hasil dari Report, kita dapat memilih Preview..

Page 13: Desain laporan pada java dengan ireport & jcreator

Jika berhasil dan tidak error maka tampilan Report saya akan seperti ini..

Saat kita melakukan preview, iReport akan membuat file baru yang berekstensi .jasper dengan nama yang sama dengan file iReport .jrxml, nantinya file .jasper ini yang akan kita panggil pada program Java. Sampai disini kita sudah menyelesaikan tahap pertama.. Desain laporan pada iReport..

Page 14: Desain laporan pada java dengan ireport & jcreator

Pada tahap ke Dua.. kita akan memanggil Report yang telah kita design pada program java.. Untuk menggunakan fungsi pada library iReport, kita perlu menambahkan library iReport pada editor yang kita gunakan. Pada contoh ini saya menggunakan editor Jcreator versi 3.. Buka Jcreator -> pilih menu Configure -> Option -> JDK Profile -> Tampilannya akan seperti ini..

Add -> Add Archive..

Lalu untuk memilih library iReport yang akan kita gunakan arahkan pada direktori instalan iReport.. Ini direktori saya.. C:\Program Files\iReport-5.1.0\ireport\modules\ext Disana akan banyak terdapat banyak library iReport, temen – temen hanya perlu megimport beberapa library saja..

Page 15: Desain laporan pada java dengan ireport & jcreator

library yang harus temen – temen import pada JDK Profile.. commons-beanutils-1.8.2 commons-collections-3.2.1 commons-digester-2.1 commons-javaflow-20060411 commons-logging-1.1 groovy-all-2.0.1 jasperreports-5.1.0

Page 16: Desain laporan pada java dengan ireport & jcreator

Contoh program untuk membuat form sederhana.. contohLaporan.java

import javax.swing.*; import java.awt.event.*; public class contohLaporan extends JFrame implements ActionListener{ private JButton btncetak = new JButton("Cetek Laporan Barang"); public contohLaporan(){ super("Laporan Barang"); setSize(280,180); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().setLayout(null); btncetak.setBounds(40,60,180,25); getContentPane().add(btncetak); btncetak.addActionListener(this); show(); } public void actionPerformed(ActionEvent e){ } public static void main(String[] args){ new contohLaporan(); } }

Ini tampilan form cetaknya.. saat button Cetak Laporan Barang di klik file .jasper belum muncul karena ini baru tampilannya saja. Kita perlu membuat fungsiCetak yang terpisah untuk memanggil file .jasper tersebut.

Page 17: Desain laporan pada java dengan ireport & jcreator

Kenapa kita harus memisahkan Desain form dengan fungsiCetak untuk memanggil file .jasper, karena sangat mungkin untuk kita membuatnya di dalam file contohLaporan.java ? Karena untuk memudahkan kita dalam penulisan program, kita tidak perlu menuliskan fungsi untuk mencetak laporan berulang – ulang di form yang berbeda. Dengan fungsi cetak yang terpisah kita hanya perlu melempar lokasi dan nama file untuk memakainya di semua form. Contoh program untuk memanggil file .jasper fungsiCetak.java import java.sql.*; import java.util.*; import javax.swing.*; import java.io.*; import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.util.*; import net.sf.jasperreports.view.*; public class fungsiCetak extends JFrame{ public fungsiCetak(String reportname){ try{ Koneksi objKoneksi = new Koneksi(); Connection con = objKoneksi.bukaKoneksi(); File report_file = new File(reportname); JasperReport jasperReport = (JasperReport)JRLoader.loadObject(report_file.getPath()); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null,con); JasperViewer.viewReport(jasperPrint,false); }catch(Exception e){ System.out.println (e.getMessage()); } } }

Page 18: Desain laporan pada java dengan ireport & jcreator

Untuk menampilkan file .jasper saat button Cetak Laporan Barang di klik, temen – temen hanya perlu mengedit file contohLaporan.java Pada bagian ini.. public void actionPerformed(ActionEvent e){ if(e.getSource()==btncetak){

new fungsiCetak(“./laporan/laporanDataBarang.jasper”); } } Penjelasan new fungsiCetak(“./laporan/laporanDataBarang.jasper”); Karena file .jasper berada didalam folder laporan, kita perlu menambahkan ./laporan

Dan jika Button di klik Reportnya akan muncul seperti ini..

Semua data barang yang ada di database akan di tampilkan semua oleh iReport.

Lalu bagaiman jika kita ingin menampilkan hanya barang yang kode barangnya

B0001 saja ?

Untuk itu kita perlu memberi parameter pada desain laporan.

Page 19: Desain laporan pada java dengan ireport & jcreator

Parameter pada iReport.. Kita buka lagi file laporanDataBarang.jrxml pada iReport Pilih Report Query..

Ini tampilan Report Query untuk membuat parameter, pilih New Parameter..

Page 20: Desain laporan pada java dengan ireport & jcreator

Saya membuat parameter dengan nama kodeBarang karena saya akan membuat parameter berdasarkan kd_brg pada database.. Valuenya Text..

Lalu pilih Ekspression Editor..

Page 21: Desain laporan pada java dengan ireport & jcreator

Setelah kita berhasil membuat parameter tambahkan Query pada SQL seperti berikut.

Saat kita coba preview maka iReport menampilkan Popup untuk memasukan parameter kodeBarang yang td saya buat.

Page 22: Desain laporan pada java dengan ireport & jcreator

Saat saya memasukan nilai B0001 pada Pupup tersebut, maka iReport hanya akan menampilkan data B0001 saja..

Tetapi saat kita panggil file .jasper dari program contohLaporan.java Kita akan mendapatkan tampilan iReport yang kosong karena program contohLaporan.java yang tadi kita buat belum mengirimkan parameter untuk diolah oleh file .jasper tersebut. Contoh Form untuk menginput parameter dengan JtextField. contohLaporan1.java import javax.swing.*; import java.awt.event.*; public class contohLaporan1 extends JFrame implements ActionListener{ private JButton btncetak = new JButton("Cetek Laporan Barang"); private JTextField txtParam1 = new JTextField(); public contohLaporan1(){ super("Laporan Barang"); setSize(280,180); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().setLayout(null); btncetak.setBounds(40,60,180,25);

Page 23: Desain laporan pada java dengan ireport & jcreator

txtParam1.setBounds(40,35,180,25); getContentPane().add(btncetak); getContentPane().add(txtParam1); btncetak.addActionListener(this); show(); } public void actionPerformed(ActionEvent e){ if(e.getSource()==btncetak){ new fungsiCetak1("./laporan/laporanBarang.jasper",txtParam1.getText()); } } public static void main(String[] args){ new contohLaporan1(); } }

Tampilannya akan seperti ini,

fungsiCetak1 untuk memanggil File .jasper dengan Parameter.

fungsiCetak1.java import java.sql.*; import java.util.*; import javax.swing.*; import java.io.*;

Page 24: Desain laporan pada java dengan ireport & jcreator

import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.util.*; import net.sf.jasperreports.view.*; public class fungsiCetak1 extends JFrame{ public fungsiCetak1(String reportname, String param1){ try{ HashMap parameter = new HashMap(); parameter.put("kodeBarang", param1); Koneksi objKoneksi = new Koneksi(); Connection con = objKoneksi.bukaKoneksi(); File report_file = new File(reportname); JasperReport jasperReport = (JasperReport)JRLoader.loadObject(report_file.getPath()); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameter,con); JasperViewer.viewReport(jasperPrint,false); }catch(Exception e){ System.out.println (e.getMessage()); } } }

Hasilnya seperti ini..

Page 25: Desain laporan pada java dengan ireport & jcreator

Terima kasih.. Semoga bermanfaat..

Referensi saya :

1. Tutorial PBOL – iReport Bpk. M Anif, M.Kom

2. Vidio Tutorial - Desain Laporan dan Memanggil Laporan iReport

pada Netbeans Mas Pujianto S.Kom

3. Contoh project Bang Zulfikar Rahman

4. Google.com

Wassalam..