Reporting dengan NetBeans

Kemaren dulu ada pertanyaan di milis netbeans-indonesia@yahoogroups tentang masalah Report di Netbeans. Inti kasusnya adalah seperti berikut:

Aplikasi beserta report-nya jalan dengan sukses pada komputer si programmer, tapi ketika si programmer memindahkan aplikasi-nya ke komputer lain reportnya tidak mau jalan atau tidak mau tampil.

OK sekarang mari kita coba membuat sebuah latihan tentang reporting menggunakan iReport dan NetBeans IDE dan peralatan-peralatan yang perlu dipersiapkan adalah sebagai berikut :
- NetBeans 5.5
- iReport 1.3.1
- MySQL Server (atau bisa juga database server yang lain)
- JDK 1.6

Setelah peralatan telah siap, mari kita buat latihannya dan langkah-langkahnya adalah sebagai berikut:

  1. Bikinlah sebuah New Project dan berilah nama ReportingInNetBeans.
  2. Pada project inspector, klik kanan root project kemudian pilih New > JFrame Form kemudian pada jendela New JFrame isikan Frame Report pada Class Name, dan pada kolom isian Package pilihlah reportinginnetbeans. Setelah itu tambahkanlah beberapa komponen pada JFrame tersebut sehingga tampilannya menjadi seperti gambar dibawah ini:
    jframe_report
    Click to large
  3. Setelah mengatur tampilan JFrame seperti pada gambar diatas, sekarang tekanlah tombol SHIFT+F11 agar NetBeans membuatkan sebuah direktori distribusi untuk kita yaitu direktori dist. Setelah itu, masuklah pada files inspector kemudian buatlah sebuah direktori yaitu direktori Report dibawah direktori dist yang berfungsi untuk menampung seluruh file template yang kita desain pada iReport dan tampilan dari langkah ke 3 ini terlihat seperti gambar dibawah ini:
    direktori_dist_report
    Click to large
  4. Setelah membuat sebuah direktori Report sekarang waktunya untuk mengkonfigurasi file build-impl.xml agar ketika kita melakukan proses Clean direktori Report ini tidak ikut terhapus. Sekarang bukalah file build-impl.xml yang terdapat pada direktori nbproject seperti gambar dibawah ini:
    build-impl-xml
    Click to large

    Setelah file build-impl.xml terbuka, sekarang carilah CLEANUP SECTION seperti dibawah ini:

    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    
       <!--
        ===============
        CLEANUP SECTION
        ===============
        -->
        <target name="deps-clean" depends="init" unless="no.deps"/>
        <target name="-do-clean" depends="init">
            <delete dir="${build.dir}"/>
            <delete dir="${dist.dir}"/>
        </target>
        <target name="-post-clean">
            <!-- Empty placeholder for easier customization. -->
            <!-- You can override this target in the ../build.xml file. -->
        </target>
        <target name="clean" depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products."/>

    Setelah itu editlah baris 534 sehingga hasilnya menjadi seperti dibawah ini:

    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    
    	<!--
        ===============
        CLEANUP SECTION
        ===============
        -->
        <target name="deps-clean" depends="init" unless="no.deps"/>
        <target name="-do-clean" depends="init">
            <delete dir="${build.dir}"/>
            <delete file="${dist.jar}"/>
            <delete dir="${dist.javadoc.dir}"/>
        </target>
        <target name="-post-clean">
            <!-- Empty placeholder for easier customization. -->
            <!-- You can override this target in the ../build.xml file. -->
        </target>
        <target name="clean" depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products."/>

    Setelah melakukan proses pengeditan seperti diatas simpanlah file konfigurasinya dan tutuplah NetBeans-nya agar mengurangi resource CPU :D dan sekarang waktunya untuk membuat contoh report melalui iReport. :)

  5. Sebelum mulai menggunakan iReport, aturlah dahulu Data Source yang akan digunakan dengan cara pilih Data > Connections/Data Source dan aturlah koneksinya menjadi seperti gambar dibawah ini:
    SettingKoneksiIreport
    Click to large
  6. Setelah selesai mengkonfigurasi Data Source, sekarang buatlah report baru dengan cara menekan File > New Document. Setelah template report muncul, sekarang tentukanlah Report Query yang akan digunakan untuk report ini. Untuk menentukan Report Query yang akan digunakan tekanlah Data > Report Query dan masukkanlah statement SQL sehingga tampilannya menjadi seperti dibawah ini:
    Qry_iReport
    Click to large
  7. Setelah menentukan Report Query, sekarang design-lah report-nya hingga menjadi seperti gambar dibawah ini:
    report_template
    Click to large

    kemudian simpanlah dengan nama Mahasiswa_Report.jrxml pada direktori Report yang telah dibuat pada langkah ke 3 hingga struktur direktori project NetBeans kita menjadi seperti gambar dibawah ini:
    gambar_dir_prj_Nb
    Click to large

  8. Setelah melakukan proses penyimpanan, sekarang coba jalankan report-nya dengan menggunakan active connection dengan cara tekan menu Build > Execute (with active connection) dan jika tidak ada masalah maka report yang telah anda design akan tampak seperti gambar dibawah ini:
    Report_Jadi
    Click to large
  9. Report telah jadi, sekarang coba bukalah project ReportingInNetBeans kemudian pada tombol yang berfungsi untuk menampilkan reportnya berikanlah evet dengan cara klik kanan kemudian pilih Events > Action > actionPerformed kemudian pastekanlah kode dibawah ini:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    // TODO add your handling code here:
            jButton1.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
            Connection con = null;
            try {
                String jdbcDriver = "com.mysql.jdbc.Driver";
                Class.forName(jdbcDriver);
     
                String url = "jdbc:mysql://localhost/latihanibatis";
                String user = "root";
                String pass = "rahasia";
     
                con = DriverManager.getConnection(url, user, pass);
                Statement stm = con.createStatement();
     
                try {
                    Map<string, Object> prs = new HashMap<string, Object>();
                    JasperReport JRpt = JasperCompileManager.compileReport("./dist/Report/Mahasiswa_Report.jrxml");
                    JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);
                    JasperViewer.viewReport(JPrint, false);
                } catch (Exception rptexcpt) {
                    System.out.println("Report Can't view because : " + rptexcpt);
                }
            } catch (Exception e) {
                System.out.println(e);
            }
            jButton1.setCursor(Cursor.getDefaultCursor());

    Setelah itu, coba tekanlah tombol F6 untuk menjalankan projectnya dan jika tidak ada masalah maka report yang telah anda design di iReport akan tampil jika tombol yang berfungsi menampilkan reportnya ditekan :)

  10. Report sudah jalan dengan sangat sempurna di NetBeans, sekarang bagaimana jika kita ingin mencoba aplikasi ini pada komputer lain yang hanya mempunyai JRE saja ? Untuk menjawab pertanyaan ini, sekarang tekanlah tombol SHIFT+F11 agar netbeans membuatkan file *.jar untuk aplikasi kita. Setelah proses CLEAN and BUILD selesai, sekarang cobalah kopikan direktori dist/ ke komputer yang lain dan coba jalankan. Berhubung saya dirumah tidak mempunyai 2 komputer, maka saya kopikan ke user yang lain dan hasilnya seperti berikut :
    Ini tampilan di user anton ( Anggap saja di PC Lain :D )
    Report_di_PC_LAIN
    Click to large

    Ini tampilan di user javamaniac ( Anggap saja di PC Lokal )
    RptDiPCLokal
    Click to large

Silahkan dicoba dikomputer lain kalau tidak percaya, reportnya pasti akan jalan dengan sempurna seperti pada waktu kita jalankan dari NetBeans IDE :)

Resource :
- Sample Project ReportingInNetBeans.zip
- Mahasiswa.sql

63 Responses to “Reporting dengan NetBeans”

  1. ruli says:

    om, ko aplikasi yg sy buat ada report nya masih gak bisa sperti yg diatas.
    Dari file jar, program report nya gak mau tampil, error nya ” ./dist/report/xxxxx.jrxml” System can not find the path specified.
    Padahal klo dirunning sperti dari Netbeans lancar-lancar aja ko.
    Tolong ya om, gimana lagi caranya spy file .jasper/.jrxml bisa running dari .jar
    Thanks…

  2. joe says:

    nice tutorial….

  3. agus s / 07/31/2008, 8:52:

    pak cara nyambung ibatis dengan ireport piye

    Btw bukannya tinggal kirim saja result dari ibatis (yg berupa List) ke iReport-nya ? tapi datasource di ireport-nya diganti dulu jangan pakai JDBC. Nanti klo ada kesempatan saya coba tuliskan langkah-langkah-nya, klo misalkan ndak sabar, mungkin bisa coba oprek2x sendiri + baca2x tutorial jasper dan iReport.

  4. ace van bastard (adiknya marco van basten)06/15/2008, 8:34:

    om, saya baru belajaran java nih.. dan dapet tugas suruh bikin aplikasi sederhana. sebagian besar sudah berhasil sih… cuman kesulitan dalam mbuat searching database… biar hsil bisa ditampilkan pada jtextfield… gmn caranya om? hasilnya bukan dalam bentuk tabel. sebelum dan sesudahnya saya ucapkan terima kasih.

    Maksudnya mau ditampilin di text field gmn ? Maap agak kurang nangkep ama maksudnya :”>, tapi klo saya sih pakai template project dari netbeans yg Database Application itu. Dah jadi 1 dari Swing App Framework-nya + databinding-nya sekalian ;)

  5. agus s says:

    pak cara nyambung ibatis dengan ireport piye

  6. om, saya baru belajaran java nih.. dan dapet tugas suruh bikin aplikasi sederhana. sebagian besar sudah berhasil sih… cuman kesulitan dalam mbuat searching database… biar hsil bisa ditampilkan pada jtextfield… gmn caranya om? hasilnya bukan dalam bentuk tabel. sebelum dan sesudahnya saya ucapkan terima kasih.

Leave a Reply

[+] adsenseid emoticons by Martinus Ady H. Modified from nartzco source code.