Integrasi Hibernate dengan Jasper Report

java

Jasper Report merupakan tools untuk membuat laporan pada Java yang bersifat free dan open source. Hal ini menjadikan Jasper Report sangat populer dikalangan para pengembang Java.

Hibernate sudah diakui sebagai framework ORM handal untuk menangani persistency data pada platform pengembangan Java. Kepopulerannya menyebabkan Java EE merasa kecolongan karena tools persistence data milik mereka yakni Entity Bean (merupakan bagian dari EJB) dianggap “berat” dan membuat para pengembang beralih ke Hibernate. Di kemudian hari Java EE membuat standar yang diilhami oleh Hibernate untuk persistency data, maka lahirlah JPA dan sekarang Hibernate merupakan salah satu implementasi dari standar tersebut.

Pada tutorial jasper report ini saya akan berbagi tentang integrasi Hibernate sebagai sumber data dan Jasper Report sebagai engine untuk membuat suatu laporan. Studi kasusnya sederhana saja, dimana aplikasi akan membuat sebuah laporan (jasper report) data matakuliah yang diambil oleh seorang mahasiswa. Mahasiswa yang kita ambil untuk melihat laporannya bersifat dinamis, artinya kita bisa menginputkan mahasiswa siapa saja yang berada pada sistem untuk ditampilkan data matakuliah yang diambilnya. Bentuk tampilan aplikasinya adalah sebagai berikut:
jasper report

Sedangkan bentuk laporan jasper report yang dihasilkan adalah seperti gambar berikut ini
laporan

dan berikut adalah desain databasenya
database

Masih tertarik untuk membuatnya? 😀 … mari kita lanjutkan belajar jasper reportnya

Langkah#1 Membuat Projek dan Menyiapkan Pakcage
Buatlah projek dengan nama ReportSederhana serta buat package-package untuk mengelompokkan Class sesuai tipenya. Berikut gambar struktur projeknya:
stuktur projek

Langkah#2 Menyiapkan Sumber Data Laporan Jasper Report

Pada default package buatlah file xml dengan nama hibernate.cfg.xml. File ini digunakan untuk membuat koneksi dengan database, keperluan mapping Class dan lain sebagainya

Parameter username,password dan url silahkan sesuaikan dengan kebutuhan Anda.

Selanjutnya kita buat Class HibernateUtil pada package reportsederhana.util

Kalau sudah selesai, langkah selanjutnya adalah membuat Class Domain Model, yaitu Class yang merepresentasikan data pada tabel di database. Pada package reportsederhana.model buat 2 buah Class, Mahasiswa dan Matakuliah.

Langkah#3 Membuat Template Laporan Jasper Report

Untuk membuat template laporan paling enak adalah menggunakan iReport, tinggal drag n drop sudah jadi :D.
Buatlah template dengan nama reportsederhana yang kurang lebih bentuknya seperti ini
template laporan

Disitu saya menggunakan 2 buah field dan 1 buah parameter. Field digunakan untuk menampilkan data matakuliah yang diambil dari database dan lewat hibernate collection object. Sedangkan parameter digunakan untuk menampilkan nama mahasiswa. Untuk gambar silahkan sesuaikan dengan selera Anda.

Setelah selesai mendesain template laporan, simpan dengan nama reportsederhana.jrxml lalu beserta file gambar yang digunakan kopikan ke package reportsederhana
file jrxml

File jrmxl yang saya buat seperti ini

Langkah#4 Membuat Class Service

Langkah keempat adalah membuat Class yang menangani pengambilan data dari database serta menangani laporan. Class ini biasa dinamakan Service. Sebenarnya dibawah Class Service ada lagi Class Repository atau DAO tetapi karena aplikasi kita kali ini simpel maka kita tidak memerlukan Repository/DAO.
Pada package reportsederhana.service buat 1 buah interface dengan nama MahasiswaService dan 1 buah Class implementasi dengan nama MahasiswaServiceImpl. Interface digunakan supaya adanya loosely coupled dengan membuat layering.
Ketikkan kode berikut pada MahasiswaService

Jangan lupa buat implementasinya dalam Class MahasiswaServiceImpl

Perhatikan pada bagian ini

Pada kode diatas kita memasukkan item dengan nama “namaMahsiswa” yang mana merupakan parameter yang kita buat tadi pada template laporan jasper report, yang isi dari item tersebut adalah nama mahasiswa yang didapatkan dari mahasiswa.getNama()

Langkah#5 Membuat Tampilan Aplikasi Jasper Report

Langkah terakhir adalah membuat tampilan aplikasi. Tampilan yang saya rancang memiliki rupa seperti ini
desain tampilan

Selanjutnya pada constructor tambahkan kode berikut supaya Form pada saat pertama kali muncul berada pada posisi ditengah-tengah layar monitor

Jika sudah beres semua, saatnya menambahkan Action Listener ke pada button dengan cara klik kanan Events > Action > actionPerformed. Pada kode yang digenerate tambahkan kode untuk menampilkan laporan sehingga menjadi seperti berikut ini

Selesai!
Akhirnya selesai juga aplikasi laporan sederhana kita 😀
saatnya mengetes jalannya aplikasi
coba jalankan dan lihat hasilnya, masukkan nim mahasiswa dan laporan seharusnya muncul

Jika ada yang mengalami kesulitan saya persilahkan untuk diskusi bareng melalui fitur komentar pada artikel ini

Happy Coding 😀

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

Leave a Reply

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