Cara Mudah Membuat Dokumentasi Laporan dengan iReport Pada Pemrogaman Java

Cara Mudah Membuat Dokumentasi Laporan dengan iReport Pada Pemrogaman Java

Membuat laporan terkadang menjadi hal yang cukup melelahkan, apalagi dengan data yang begitu banyak dan berbeda. Kesalahan dalam melakukan Input ataupun kesalahan manusia terkadang…

Membuat laporan terkadang menjadi hal yang cukup melelahkan, apalagi dengan data yang begitu banyak dan berbeda. Kesalahan dalam melakukan Input ataupun kesalahan manusia terkadang mengurangi akurasi dalam pembuatan sebuah laporan. Namun seiring dengan berkembangnya zaman, beberapa solusi untuk mempermudah membuat laporan telah disediakan baik offline maupun online, dari sekian banyak salah satunya adalah iReport.

Beberapa fitur yang dimiliki iReport antara lain adalah:

  • 98% support pada segala Jasper Report
  • Banyak dukungan pada font dan template
  • Pengaturan tata letak yang mudah sehingga hasil yang didapat lebih maksimal

Pada tutorial sebelumnya Penulis sudah memberikan contoh untuk membuat laporan menggunakan iReport. Sehingga tutorial kali ini merupakan salah satu pengembangan yaitu melanjutkan untuk menampilkan laporan dari program Java. Untuk menuliskan program Java penulis menggunakan IDE (Integrated Developer Environment) Netbeans.
Anda bisa memulai dengan membuka aplikasi Netbeans yang sebelumnya telah terinstall pada perangkat komputer Anda. Buatlah project baru melalui menu File > New Project ataupun melalui taskbar Netbeans. Secara dasar akan ditampilkan beberapa pilihan bahasa untuk project yang akan Anda buat, pilih Java > Java Application.
Penjelasan :

  • Project Name : Nama Project yang akan di buat.
  • Project Location : Lokasi tempat penyimpanan file Project.
  • Use Dedicated Folder : Untuk membuat folder khusus bernama lib untuk menyimpan semua library yang digunakan.
  • Create Main Class : Untuk membuat sebuah main class baru yang namanya sama dengan nama Project, sebelum titik adalah nama package setelah titik adalah nama class.

 

Untuk menampilkan laporan, pembaca perlu menambahkan library pada iReport kedalam project yang tadi baru saja dibuat. Library tersebut berada didalam file tempat menginstal iReport, lokasi yang penulis gunakan pada

C:\Program Files\iReport-5.1.0\ireport\modules\ext

Terdapat beberapa library yang perlu di tambahkan di antaranya :

  • 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,

Dimungkinkan ada sedikit perbedaan tergantung dari versi iReport yang Anda gunakan.

Import Library

Lakukan expand pada project yang sebelumnya telah dibuat, Tambahkan library tersebut ke dalam project dengan cara klik kanan pada Libraries pilih Add JAR/Folder
ImportLibrary - BisaKomputer -1Window baru akan ditampilkan dan Anda tinggal memilih direktori dimana Anda menyimpan library iReport, lalu Pilih library yang akan di tambahkan kedalam project
ImportLibrary - BisaKomputer -2Ketika library sudah berhasil di tambahkan kedalam Project, akan muncul icon baru dalam susunan tree library dari project seperti tampak pada gambar.
ImportLibrary - BisaKomputer -3

Koneksi Database

Buat Class Koneksi.java Class ini berfungsi untuk menghubungkan project dengan database, disini Penulis menggunakan database MySQL. Jika Anda menggunakan DBMS lain mungkin akan membutuhkan Pengaturan berbeda. Sebelum menuliskan kode program Anda haruslah melakukan library dari MySQL. Klik kanan pada folder Libraries pilih Add Library, Pilih MySQL JDBC Driver. Tambahkan script untuk menjalankan Class Koneksi.java untuk mengetahui apakah koneksi sudah berhasil.
KoneksiDatabase - BisaKomputer - 4Jika koneksi berhasil, maka akan tampil “Berhasil Koneksi” pada Output. Setelah koneksi berhasil, buatlah form baru.

Form Cetak Laporan

Form ini nantinya akan digunakan untuk melakukan penampilan form sebagai preview pada komputer milik Anda, Penulis hanya menambahkan button pada Form Cetak_Laporan.java. Anda bisa mempercantik nya sesuai dengan keinginan dan kebutuhan Anda.

FormCetak - BisaKomputer -5

Buat Class baru Fungsi_Cetak.java, Class ini berisi fungsi untuk memanggil laporan berekstensi .jasper yang nantinya akan dijalankan saat tombol “Cetak Laporan” di klik.
FormCetak - BisaKomputer -6Setelah itu buat package atau folder baru di dalam project yang berisi file laporan .jasper yang akan kita tampilkan.
FormCetak - BisaKomputer -7Tambahkan aksi pada Class Cetak_Laporan.java saat Button di klik. Sehingga saat project dijalankan dan tombol “Cetak Laporan” di klik laporannya akan tampil, Berikut kode yang dimaksudkan
FormCetak - BisaKomputer -8

Menggunakan Parameter

Anda pun dapat menampilkan laporan menggunakan parameter, tentu saja dengan menggunakan Textfield sebagai pembantu input parameter. Sebagai contoh kita bisa edit Form Cetak_Laporan.java, tambahkan sebuah Textfield bernama txtKd_Barang.
MenggunakanParameter- BisaKomputer -9Setelah itu kita edit Fungsi_Cetak.java untuk dapat menerima 2 parameter, yang pertama parameter untuk lokasi file laporannya yang kedua parameter yang dibutuhkan laporan tersebut.
MenggunakanParameter- BisaKomputer -10Kita menambahkan fungsi dengan nama yang sama tetapi parameter yang berbeda, maka saat kita hanya mengirim satu parameter yang dijalankan Fungsi_Cetak yang memiliki satu parameter dan saat kita mengirim dua parameter maka yang akan dijalankan Fungsi_Cetak yang memiliki dua parameter. Walaupun memiliki nama yang sama tetapi fungsi ini memiliki parameter yang berbeda fungsi ini disebut overloading pada Java.

Kita tambahkan kondisi saat button cetak di klik pada Class Cetak_Laporan.java. Saat txtKd_Barang diisi dengan B0001 dan button Cetak di klik, maka akan tampil laporan yang kode barangnya B0001 saja.
MenggunakanParameter- BisaKomputer -11

Penutup

Terima kasih, semoga apa yang saya tuliskan dapat bermanfaat untuk pembaca sekalian dan dapat dikembangkan lagi dengan kasus yang berbeda. Dan semoga dapat menginspirasi pembaca sekalian untuk dapat ikut juga menulis, supaya ilmu yang telah diamanahkan dapat bermanfaat untuk orang banyak.

Tag: , , , , ,

32 Comments

Leave Comment
  1. Gan Boleh Minta Programnya yg Udah Bisa kagak ???

  2. a says:

    ga niat kali ngasih tutorial..

  3. hardi farmbodem says:

    mas agung saya mau tanya kalo pake jasper reportnya yang 4,0.2. jar
    ada pengaruh ga ya ?
    soal nya setelah saya praktekin muncul message the dokumen not has not page gitu
    selain
    itu di fungsi if pada bag
    new Fungsi_Cetak(“./src/laporan/laporan.jasper”);
    (muncul lampu kuning diiringi tandaseru merah untuk hint,lalu setelah dipilih hint yang pertama muncul sourcode baru di bagian kelas Fungsi_Cetak, itu pengaruh g kira” mas
    terimakasih :)

    • Agung Sulistyanto Agung Sulistyanto says:

      Terima kasih untuk pertanyaannya.. Untuk iReport versi 4.0.2 sama saja dengan versi yang saya gunakan..
      Untuk error pada new Fungsi_Cetak(“./src/laporan/laporan.jasper”); coba perhatikan class Fungsi_Cetak.java apakah sudah dibuat ? jika sudah sesuai seharusnya tidak muncul error dan membentuk source code baru, karena itu hanya memanggil fungsi cetaknya saja. Terima kasih..

  4. revi says:

    gimana ya coding kalau kita memangil data perbulan ?

    • Agung Sulistyanto Agung Sulistyanto says:

      mas revi perlu menyesuaikan parameter yang dikirim dengan parameter yang diterima pada iReport untuk dilakukan query sesuai dengan kebutuhannya..
      Mungkin saran saya coba dulu buat pada iReportnya saja dengan memodifikasi tutorial saya sebelumnya “Membuat Laporan dengan Mudah Menggunakan iReport”.. setelah itu baru dihubungkan dengan form.. Semoga bermanfaat yaa.. :-)

  5. Ahmad Arief says:

    Thx mas,… asli sulit banget.. untung nemu blog sampeyan… :-)
    Trims sekali lagi ya mas… :-)

  6. Ahmad Arief says:

    Oya, saya menggunakan Netbeans 8.0.2, plugin iReport 5.5, dan standalone iReport 5.6.0 untuk mengambil librarynya di atas Ubuntu 14.04.

    Ada sedikit perubahan yang saya lakukan dibagian Fungsi_Cetak yaitu:

    JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile(report_file.getPath());

    Selain itu untuk JDK netbeansnya saya menggunakan JDK 8, dan untuk iReportnya JDK 7.

    Thx.

  7. ahmad says:

    mas agung minta tutorialnya dong, untuk netbean 8.0.2

  8. Alif Narendro Jati says:

    Maaf mas saya mau tanya, kalo file reportnya formatnya jrxml apakah sama seperti yg diatas???? Terima kasih sebelumnya…

  9. Alif Narendro Jati says:

    Oke sipp mas…..
    oh iya mas agung kalo di tambahin parameter untuk cetaknya misalkan parameter Date yg ada di database itu gimana ya???

  10. dicky says:

    mas saya mau buat ireport dengan netbeans pada aplikasi saya, tapi saya kurang ngerti boleh bantu? kirim lewat email aja ya mas

  11. afrima hengki says:

    mas kalau terjadi kesalahan java.io.not foundException:report1.jrxml
    solusinya gimana mas, Mohon bntuannya ya mas

  12. Temy Ramdhan says:

    gan gua error disini new Cetak_SPP(“src/temy/main/kartu_pem_spp.jasper”,txtKdSPP.getText());

    tapi yg errornya disini txtKdSPP.getText()

    gmana solusinya

  13. Andri Rynaldi says:

    selamat pagi mas, saya sudah mencoba langkah2 diatas tapi masih juga muncul error seperti ini,

    Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: net/sf/jasperreports/compilers/GroovyEvaluator
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClass(JRClassLoader.java:338)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClassFromBytes(JRClassLoader.java:261)
    at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.loadEvaluator(JRAbstractJavaCompiler.java:102)
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.loadEvaluator(JRAbstractCompiler.java:333)
    at net.sf.jasperreports.engine.JasperCompileManager.getEvaluator(JasperCompileManager.java:265)
    at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:457)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:379)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:88)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:103)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:61)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:153)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:55)

  14. raka says:

    Ini mas
    saya sudah melakukan coding yang sama persis dengan punya mas
    tapi kok enggak bisa muncul ya. Terakhir saya coba kealsahannya disini(JasperPrint jaPri =JasperFillManager.fillReport(jasperReport,null, c);)
    ini codingan saya
    try{
    HashMap param = new HashMap();
    koneksidb conn = new koneksidb();
    Connection c = conn.getConnection();
    param.clear();
    File report_file = new File(“./src/reports/report1.jasper”);
    JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile(report_file.getPath());
    JasperPrint jaPri = JasperFillManager.fillReport(jasperReport,null, c);
    JasperViewer.viewReport(jaPri,false);

    } catch (Exception ex) {
    Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
    }

  15. aprida says:

    Kak… Kalau hasilx seperti ini :
    Java.io.FileNotFoundEXception: .\src\report

    Kslhnx kira2 di mana?
    Ket: report itu nama packagesnya.

    Trims…

  16. oskar says:

    mas cara send laporan otomatis via email pada saat buka ireport gmn yaa, jadi misal saya preview mau ada tombol tambahan send email gtu
    saya pakai ireport 2.0.0
    terima kasih :)

  17. Dwi Idho Handoyo says:

    saya udh ngikutin semuanya mas. tapi ko ga keluar apa apa ya?
    mohon pencerahan nya

  18. Indra Prathama (UBL) says:

    Mas Agung, Thanks tutorialnya tentang Ireport ini saya berhasil,.
    saya mau tanya langkah-langkah untuk menghosting Project .JSP gimana ya?
    tempat Hosting recomended buat .JSP dimana ya?
    Terima Kasih mas agung
    Salam Budi Luhur

  19. erlan says:

    mas agus saya mau tanya…saya lagi coba oprek program yang sdh jadi,terus untuk projeknya saya ganti.setelah projek dan form ganti apa laporan harus diganti atau hanya dicopy paste saja….minta petunjuk ya mas agus

    • Agung sulistyanto says:

      Selama parameter yg dikirim dari program dan parameter yg diterima report sama, database juga sama.. menurut saya tidak perlu di edit lagi reportnya..

  20. Nur Qomariah says:

    Gan mau tanya dong kan saya buat innputan di database 3 kolom yaitu nama, klausul, isi

    Ceritanya program ini bisa nyari dari kata kunci, baik dari nama, klausul maupun isinya

    Nah misal datanya gini
    Nama : iso 9001
    Klausul : 4
    Isi : kalibrasi

    Pas saya input kata kalibrasi lalu klik cari muncul semua dan bisa dicetak, tapi giliran saya input 4 muncul datanya tapi pas dicetak keluar coment the document has no pages

    Gimana ya caranya biar bisa cetak inputan pencarian dari semua kolom ? Ga cuma kolom isi aja kaya gitu, makasih.

  21. Zaen says:

    kalo paramameternya dua bisa gk mas?

  22. Adi Nugroho says:

    misi om, numpang tanya kalau misal cetaknya dari 01/02/2016 sampai 09/08/2016 itu bagaimana om ?
    thnks before

  23. Aprillia Tesalonika says:

    Gambar codingannya kurang jelas, tolong lebih diperjelas.
    Soalnya saya mau belajar program, saya baru pemula

Write Comment

Your email will not be published. The marked label is required.