Tutorial Membuat Laporan dengan iReport pada Java Netbeans
Tutorial Membuat Laporan dengan iReport pada Java Netbeans - Hai.. kali ini Kelas Informatika akan membahas mengenai cara membuat report. Sebagai studi kasus, report akan mengacu pada tabel mahasiswa berdasarkan NIM (mah_nim). Terdapat dua aspek yang perlu diperhatikan dalam pembuatan report, pertama pada perancangan report wizard. Kedua yang tidak kalah pentingnya adalah source code untuk menampilkan report wizard yang telah kita rancang.
Konfigurasi Report Wizard
Membuat report tabel mahasiswa kita mulai dari perancangan report wizard. Namun sebelum itu, persiapkan terlebih dulu elemen pendukung proses pembuatan report, seperti plugin. Untuk itu langkah pertama yang harus dilakukan adalah menginstal beberapa plugin yang akan digunakan sebagai pendukung proses pembuatan report. Bagi anda yang belum mempunyai plugin, dapat download sekaligus dengan paket library yang nanti akan diimpor pada netbeans.
Selanjutnya untuk menginstal plugin pada java (netbeans), pertama kita masuk ke netbeans terlebih dahulu kemudian pilih menu tools >> pilih plugin.
Setelah itu pilihlah plugin yang dibutuhkan, terletak dalam direktori file (browse), lalu instal. Setelah proses instal selesai, kita restart netbeans terlebih dahulu dengan cara menutup dan membuka kembali netbeans. Kemudian buat project baru, lalu pada package tersebut klik kanan >> pilih report wizard.
Selanjutnya beri nama, sebagai contoh kami beri nama “laporan”. Ketika memberi nama jangan lupa sertakan .jrxml sebagai ekstensi report yang akan kita buat.
Pada step Fields, pada menu connections / Data Sources >> klik new.
Pada kotak dialog Datasource, pilih Database JDBC connection.
Pada kotak dialog Database JDBC connection, isi form dengan memperhatikan hal-hal berikut :
- Name, beri nama jenis Database JDBC connection. Sebagai contoh saya beri nama yang sama dengan plugin, yakni “laporan”.
- JDBC Driver, pilih PostgreSQL (org.postgresql.Driver).
- JDBC URL, yang awalnya menggunakan database dengan nama “MY DATABASE”, rubahlah sesuai dengan nama database masing-masing. Terlihat pada contoh gambar dibawah menggunakan database “postgres”.
- Username, isi sesuai dengan user masing-masing dengan menyesuaikan pada sql shell.
- Password, sesuaikan pula password yang anda isikan dengan user terkait.
Setelah semua sudah terisi, lakukan pengecekan dengan menekan tombol test, sehingga muncul kotak dialog seperti pada gambar dibawah. Lalu masukkan password sesuai dengan yang telah dibuat pada sql shell sebelumnya.
Apabila pengecekan berhasil, maka akan muncul seperti pada gambar berikut.
Sedangkan apabila password tidak cocok, maka akan memunculkan pesan error seperti gambar dibawah.
Selanjutnya pada kotak dialog query, kita isi terlebih dahulu query untuk menampilkan semua data mahasiswa, yaitu dengan menggunakan select * from mahasiswa; >> klik Next.
Lalu muncul kotak dialog seperti gambar berikut. Disana telah muncul semua kolom tabel mahasiswa. Selanjutnya kita masukkan kolom yang ingin kita sertakan dalam report, caranya dengan mengklik tombol > untuk memasukkan kolom tertentu. Sedangkan apabila ingin memasukkan semua kolom, klik >>. Setelah selesai, klik Next.
Pada kotak dialog group by, silahkan pilih pengelompokan data berdasarkan kolom tertentu. Dalam hal ini saya tidak menggunakan fungsi tersebut, jadi langsung saja klik Next.
Kemudian pada kotak dialog terakhir, pilih layout sesuai dengan yang diinginkan. Disana terdapat dua pilihan, yaitu columnar layout dan tabular layout. Berikut sedikit penjelasan mengenai kedua model report tersebut :
- Columnar Layout, apabila menggunakan model ini maka report akan tampil dengan model list kebawah.
- Tabular Layout, sedangkan apabila menggunakan layout berjenis tabular maka tampilan report akan membentuk kolom per kolom sesuai dengan tabel referensi.
Setelah itu proses pembuatan report wizard selesai, hal ini ditandai dengan munculnya kotak dialog seperti gambar berikut.
Setelah pembuatan report wizard selesai, kita masih perlu membuat parameter NIM agar nantinya data yang ditampilkan dapat menyesuaikan dengan NIM yang diinputkan. Untuk itu pada menu report inspector eksplore parameter kita tambah, lalu beri nama NIM.
Kemudian pada ikon database, disamping kiri tombol zoom in dan zoom out kita klik, sehingga muncul kotak dialog berikut.
Agar tampilan report sesuai dengan NIM mahasiswa, maka perlu dilakukan inisialisasi parameter NIM pada query dalam kotak dialog Report query. Berikut query yang digunakan
“select * from mahasiswa where mah_nim = $P{NIM};”
Kemudian ubah tipe data pada parameter NIM menjadi Integer agar input dapat sesuai dengan tipe data yang terdapat pada struktur tabel mahasiswa.
Setelah itu klik preview untuk melihat hasil sementara, nantinya akan memunculkan kotak dialog seperti gambar dibawah. Pada kotak dialog tersebut, kita coba masukkan NIM mahasiswa yang ingin kita tampilkan. Sebagai contoh, saya masukkan NIM 12.
Apabila berhasil akan muncul hasil seperti gambar berikut.
Sebagai penutup bagian ini, akan dipraktekkan cara menampilkan report wizard dengan data keseluruhan pada tabel mahasiswa.
Source Code Penggunaan iReport
Mengawali bagian ini, terlebih dahulu kita persiapkan elemen-elemen yang nantinya digunakan saat pengkodean, diantaranya library dan JDBC.
Selanjutnya pada project yang telah dibuat, klik kanan >> pilih new >> klik Jframe Form, karena perancangan aplikasi akan menggunakan GUI builder.
Jangan lupa untuk memberi nama kelas, sebagai contoh disini diberi nama “Laporan”.
Rancanglah sedemikian rupa, pasang beberapa button, label maupun text field yang akan digunakan dalam aplikasi. Berikut prototipe aplikasi untuk menampilkan report, cukup sederhana.
Berikut ini adalah tampilan aplikasi setelah dijalankan.
Selanjutnya masuk pada source code, pertama import terlebih dahulu beberapa elemen yang kita butuhkan.
import java.io.File; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import javax.swing.JOptionPane; 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.engine.design.JasperDesign; import net.sf.jasperreports.engine.xml.JRXmlLoader; import net.sf.jasperreports.engine.view.JasperViewer;
Selanjutnya masuk pada pengenalan awal beberapa variabel yang akan digunakan.
JasperReport JasRep; JasperPrint JasPri; Map param = new HashMap(); JasperDesign JasDes; private String username, password, url; public Connection conn;
Berikut ini adalah source code selanjutnya, yaitu source code untuk koneksi database.
public Laporan(){ initComponents(); // koneksi database try{ Class.forName("org.postgresql.Driver").newInstance(); url = "jdbc:postgresql://localhost/postgres"; username = "root"; password = ""; try{ conn = DriverManager.getConnection(url, username, password); JOptionPane.showMessageDialog(null, "Alhamdulillah.. \nBerhasil Terkoneksi.."); } catch (SQLException ex){ System.out.println("salah\n server belum start \n hubungi admin"+ex); System.exit(1); } } catch (Exception ex) { System.out.println("salah"+ex); } }
Selanjutnya adalah source code aksi tombol cetak (lihat pada desain aplikasi). Apabila field NIM telah diisi dan tombol cetak diklik, nanti akan menampilkan report data mahasiswa berdasarkan NIM.
private void BcetakActionPerformed(java.awt.event.ActionEvent evt){ try{ File report = new File ("laporan_mahasiswa.jrxml"); JasDes = JRXmlLoader.load(report); param.put("NIM", Integer.parseInt(Tnim.getText())); JasRep = JasperCompileManager.compileReport(JasDes); JasPri = JasperFillManager.fillReport(JasRep, param, conn); JasperViewer.viewReport(JasPri, false); } catch (Exception e){ JOptionPane.showMessageDialog(null, e); } }
Selanjutnya akan kita coba menjalankan aplikasi. Pertama akan muncul notifikasi bahwa database telah berhasil terkoneksi. Artinya source untuk koneksi database yang telah kita masukkan telah sesuai.
Kemudian akan muncul aplikasi yang telah kita rancang, lalu kita coba masukkan NIM salah satu mahasiswa. dalam hal ini saya coba menginput NIM 15, seperti tampak pada gambar berikut.
Setelah itu klik cetak, nantinya akan muncul hasil seperti gambar dibawah ini.
Terlihat pada gambar diatas, disana menampilkan JasperView. Data yang ditampilkan telah sesuai dengan input pada kotak dialog aplikasi yang sebelumnya dijalankan. Namun apabila dalam penulisan source code masih terdapat kesalahan maka akan memunculkan pesan error.
Pada umumnya kesalahan yang sering muncul disebabkan karena belum mengimport beberapa fitur pada source code, atau bisa juga karena belum terpasang plugin, library, maupun JDBC pada project yang kita buat. Kedua sebab ini kiranya perlu digaris bawahi dan diperhatikan untuk meminimalisir kesalahan saat mengetik source code.
Demikian artikel kali ini yang membahas tentang Tutorial iReport pada Java Netbeans. Semoga bermanfaat, Salam 😊
Posting Komentar untuk "Tutorial Membuat Laporan dengan iReport pada Java Netbeans"