-->

Membuat report di java dengan Ireport dengan parameter

Reporting merupakan salah satu aspek yang sangat penting apalagi untuk aplikasi desktop. Aplikasi database yang kita buat dapat disajikan dengan menarik menggunakan reporting. Nah kali ini ane ingin memperkenalkan salah satu reporting yang terkenal di Java yaitu I-report. IReport sendiri merupakan sebuah aplikasi bisa juga diinstall sebagai plug-in di netbean. IReport ini menggunakan JasperReport sebagai librarynya. Bagi yang belum mempunyai IReport silahkan kesini. Oke langsung saja ane anggap udah pada punya I-report semuanya.
  
Nah ada tiga step utama yang harus kita lakukan disini. Membuat koneksi database, Memilih template dan preview report deh. Langkah pertama dalah klik gambar 1 yaitu membuat koneksi database
  • Membuat koneksi database. Nah untuk koneksi MySQL, PostGreeSQL silahkan pilih Database JDBC Connection

  • Untuk koneksi mysql silahkan dikonfigurasikan sesuai dengan kebutuhan..
 
  • Setelah selesai klik save Pindah ke langkah gambar 2. Create Report

  •  
  • Pilih sesuai dengan Template Report Anda , Tentukan nama report, kemudian pilih koneksi yang telah kita buat tadi masukkan SQL query yang akan dibuat reportnya..
  •  Setelah selesai coba dibuka Test.jasper pada package yang anda buat.. Anda akan melihat report anda sudah bisa dilihat. Untuk mengeceknya silahkan dibuka di preview. 
  • Nah kali ini saya langsung ingin mempratekkan bagaimana membuat parameter yang akan dikasih ke jasperreport sehingga terdapat text yang dinamis sesuai yang diinginkan oleh pengguna. Oke langsung saja kila lihat bagaimana caranya..
  • Pertama kali jangan lupa masukkan library yang diperlukan oleh report ini dengan menambahkan library sebagai berikut :
  • Kalo belum ada librarynya masuk ke C:\program files\Netbeans.XX\Ireport\modules\ext
  •  Nah untuk membuat parameter silahkan dibuka tab report sebelahan dengan tab project pada netbean. Kemudian klik kanan bagian parameter terus pilih add parameter misalnya TAHUN_AJARAN
  •  Setelah selesai drag parameter tersebut ke bagian report, jika ingin memodifikasi tulisannya silahkan disesuaikan dengan selera anda hasilnya sebagai berikut

  •  Nah sampai langkah ini kita sudah bisa membuat sebuah parameter dalam Jasper Report nah langkah selanjutnya adalah mengimplementasikannya ke dalam koding langsung saja bagaimana cara mengirimkan parameter ini ke report 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tutorial;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;

/**
 *
 * @author mrhands
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            Connection connection = null;
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/ihbs?user=root&password=");
            String report = "src/tutorial/Test2.jrxml";
            HashMap hashMap = new HashMap();
            hashMap.put("TAHUN_AJARAN", "2010");
            JasperReport jasperReport = JasperCompileManager.compileReport(report);
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hashMap, connection);
            JasperViewer.viewReport(jasperPrint);
            connection.close();
        } catch (JRException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}


Nah jika ingin tampilan jasper viewer ini ditampilkan di dalam panel tinggal buat objectnya seperti di bawah ini :
JasperViewer j=new JasperViewer(jasperPrint,false);
panelTujuan.add(j.getContentPane());
//end

UPDATED
Nah jika ada keperluan misalny query dengan kriteria tertentu pada querynya tinggal buka file .jrxmlnya dalam bentuk xmlnya desain. nah di parameter ini misalnya :



<queryString language="SQL">
<![CDATA[SELECT
     guru.`kodeguru` AS guru_kodeguru,
     guru.`nama` AS guru_nama,
     guru.`nohp` AS guru_nohp,
     guru.`jabatan_id_FK` AS guru_jabatan_id_FK
FROM
     `guru` guru
WHERE
     guru.'kodeguru'=$P{kode_guru}
]]>

Ganti query dengan yang kita inginkan misalnya tambahkan query WHERE
     guru.'kodeguru'=$P{KODE_GURU}

jangan lupa tambahkan kode hashMap.put("KODE_GURU", Integer.parseInt(textKodeGuru.getText()));

---------------------------------------------------

Untuk membuat report dengan menggunakan parameter saja bisa  menggunakan kode sebagai berikut :


 JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hashMap, new JREmptyDataSource());

Selamat mencoba
Facebook Comments

11 komentar

thanks banget tutorialnya.....

Balas

I will say thank you for your tutorial :)

Balas

tnks banget ya mas tutor nya sangat membantu saya dlm pembelajaran pemograman 2

Balas

klo smuanya udh dilakuin... program yg saya buat ada pesan error "the document has no page" bgaimana solusinya??

Balas

Kemungkinan gak ada datanya

Balas

Sipp, Mantab Tutornya

Balas

gan punya q ga ada tab report (bersebelahan dengan tab project).gimana itu ngeluarinnya.............

Balas

gan, kalo manggil parameternya lebih dari satu dan ada subreportnya gimana?

Balas

I like your post & I will always be coming scr888 online frequently to read more of your post. Thank you very much for your post once more.

Balas


I wanted to thank you for 918kiss download apk hack this great blog! I really enjoying every little bit of it and I have you bookmarked to check out new stuff you post.

Balas

I have read many blogs in the net but have never come 168 8099 apk scr888 casino game 4 across such a well written blog. Good work keep it up

Balas