Menampilkan Laporan pada Java

Postingan ini saya buat karena beberapa temen yang saya tanya bagaimana tentang membuat laporan pada java, mereka belum pernah mencobanya. Akhirnya setelah belajar dari guru saya “Om Google”,akhirnya jadi aplikasi sederhana untuk menampilkan laporan.  Biasanya ada beberapa tools yang digunakan untuk pelaporan misalnya Crystal Report. Namun Crystal Report berlisensi, ya semacam tidak gratis gitu he…

Sebelum sampai pada postingan ini sebaiknya membaca postingan yang berjudul Menambah plugin iReport pada Netbeans. Pada postingan kali ini saya menggunakan ireport 3.7.4 dengan librarynya jasperreport 3.7.4 (dalam bentuk JAR). Ireport saya gunakan dengan jdk 1.6 dan Netbeans 6.8. Untuk menggunakan tools ini dilengkapi juga library tambahan seperti :

  • commons-collections-2.1.jar
  • commons-digester-1.7.jar
  • commons-logging-1.02.jar
  • mysql-connector-java-5.1.13-bin.jar

Library-library tersebut ditambahkan pada project yang kita buat pada netbeans. Tinggal klik kanan pada Library sesuai dengan project yang kita buat, selanjutnya pilih Add JAR/Folder.

Akan dibuat aplikasi sederhana dengan tampilan Frame seperti berikut :

Buat report dengan klik kanan pada project. Bisa menggunakan Report Wizard ataupun Empty Report untuk membuat laporan. Kemudian masukkan query yang ingin dibuat laporan. Artikel ini dibuat dengan asumsi telah mengethaui bagaimana mengkoneksikan Java dengan konektor JDBC untuk menghubungkan dengan DBMS My SQL 5.0

Selanjutnya pada button Tampilkan Report memanggil method TampilReport() dengan baris kode seperti berikut :

[code language=”java”]
public void tampilReport()
{
try {
konek.koneksi();
try {
String path="E:/KULIAHKU/SEMESTER VII/PKL/akademik/ghbakademik/src/reporting/laporan2.jasper";
Map parameter = new HashMap();
JasperPrint print = JasperFillManager.fillReport(path,parameter, konek.bisa_konek);
JasperViewer.viewReport(print, false);
} catch (Exception ex) {
JOptionPane.showMessageDialog(rootPane,"Dokumen Tidak Ada"+ex);
}
konek.closeConnection();
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
[/code]

Berikut tampilan Report ketika report sudah berhasil dipanggil :

Begitulah sekiranya ilmu yang bisa dibagi…semoga bermanfaat ^_^

See also:

http://arumsha.wordpress.com/2012/07/24/executable-file-jar-laporan-menggunakan-ireport-pada-netbeans/

21 thoughts on “Menampilkan Laporan pada Java

    • weww….mbak aq masih cupu….
      krupuk bawang….
      baik mbak….udah q taruh di blogroll ILKOMERSq…. 🙂
      makasih telah berkunjung mbak…. 🙂

  1. Pingback: Menambah Plugin iReport pada Netbeans « *(Shary’s Blog)*

  2. sar, bisa bisa.
    tapi kalo oracle, aku dah tak masukin lib-nya
    koq tetep gak bisa ya?

    tulisannya :
    net.sf.jasperreport.engine.JRException:Error executing SQL statement for:null

    hayo, kenapa tuh?

  3. Ass….Slam kenal semua…sya punya problem…laporan yang dibuat pake ireport hanya tampil dari netbeans….jika project di Clean and Build trus dijalankan aplikasi.jar (yang ada dalam folder dist dari project) muncul pesan kira2 begini…ClassNotFoundException…Laporan Tidak dapat dicetak….Mohon pencerahannya….Tolong ya…..Pleasee….

    ini kodenya….

    void cetak() {
    try {
    //Lokasi File Jasper//
    String nmFile=”src/report/reportbarang.jasper”;
    String driver=”com.mysql.jdbc.Driver”;
    String konek=”jdbc:mysql://localhost/penjualan”;
    String user=”root”;
    String password=””;

    HashMap parameter=new HashMap();
    Class.forName(driver);
    Connection conn=DriverManager.getConnection(konek,user,password);

    File reportFile=new File(nmFile);
    JasperReport jReport= (JasperReport)JRLoader.loadObject(reportFile.getPath());
    JasperPrint jPrint=JasperFillManager.fillReport(jReport, parameter,conn);
    JasperViewer.viewReport(jPrint,true);
    JasperViewer.setDefaultLookAndFeelDecorated(true);
    }
    catch (Exception e) {
    JOptionPane.showMessageDialog(null, “Laporan Tidak Dapat Dicetak!\n” +
    e.getMessage(),”Cetak Laporan”, JOptionPane.ERROR_MESSAGE);
    }
    }

    • Waalaikumsalam..
      mirip permasalahan yang dialami teman seperjuangan saya kemarin..
      coba dicek ulang mengenai library yang dibutuhkan…
      Atau beberapa library bisa jadi donlotnya kurang full seperti yang teman saya alami…
      ~salam java~ 🙂

  4. Sya sudah pernah coba memasukkan semua library ireport ke NetBeans…kalau dari NetBeans laporan bisa ditampilkan tapi setelah di Clean and Build pada project …trus coba dijalankan dari aplikas.jar..tidak bisa….Jika nanti temannya udah bisa…tlong share ya…kalau bisa tolong buat linknya untuk saya download..tpi jika kamu berkenan kirim saja ke email ini : housegreen19@yahoo.co.id

  5. sama permasalahannya dengan saya, kalau dari NetBeans laporan bisa ditampilkan tapi setelah di Clean and Build pada project tidak tampil, tolong pencerahannya

  6. mba mau tanya nihh.. ini kode ga da yang eror tp aku klik tombol button nya irepotnya ga mau tampil gmn yah…
    ini source code nya…

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.sql.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.util.Map;
    import java.util.HashMap;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.view.JasperViewer;

    public class FormCtk extends JInternalFrame implements ActionListener{
    static Connection lConnection ;
    private String ReportPath = “report/”;
    private JPanel jpFormCtk = new JPanel();
    private JButton btnAdd = new JButton();

    FormCtk(){
    super (“Form Report Pegawai”, false, true, false, true);
    setSize(560,360);
    jpFormCtk.setLayout(null);
    btnAdd.setBounds (400,175,85,25);
    btnAdd.setLabel(“Add”);
    btnAdd.setEnabled(true);
    btnAdd.addActionListener(this);
    jpFormCtk.add(btnAdd);
    getContentPane().add(jpFormCtk);
    setVisible(true);
    lConnection = InitConnection();
    }
    public void actionPerformed (ActionEvent ae){
    Object obj = ae.getSource();
    if(obj == btnAdd){
    }
    }
    void Add(){
    buildReport(“DaftarPegawai”);
    }
    private static Connection InitConnection(){
    String user =”root”;
    String pwd = “”;
    String host = “localhost”;
    String db = “dbpenggajian”;
    String urlValue = “”;
    Connection koneksi= null;
    try{
    urlValue = “jdbc:mysql://”+ host +”/”+ db + “?user=” + user +”&password=”+pwd;
    koneksi = DriverManager.getConnection(urlValue);
    }
    catch (Exception e){
    System.out.println(e);
    }
    return koneksi;
    }
    private void buildReport (String vName){
    String reportSource;
    String reportDest;
    reportSource = ReportPath + “tamplates/” + vName + “.jrxml”;
    reportDest = ReportPath + “result/” + vName + “.jrxml”;
    try{
    JasperReport jasperReport =JasperCompileManager.compileReport(reportSource);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, lConnection);
    JasperExportManager.exportReportToHtmlFile(jasperPrint,reportDest);
    JasperViewer.viewReport(jasperPrint,false);
    }
    catch(JRException ex){
    ex.printStackTrace();
    }
    }
    }

    gmna yah…tulung lah….

  7. assalamu’alaikum ..
    mbak arum mau tanya niih ,,
    kalau buat file jasper nya selain di netbeans harus pakai iReport.exe yaaa mbak ?
    atau ada solusi lain mungkin yang bisa dibagikan ..
    mohon pencerahannya ..
    thx mbak

Leave a Reply to Azmi Cancel reply

Your email address will not be published. Required fields are marked *