Pertemuan XV
MEMBUAT LAPORAN
Aplikasi yang telah kita buat tidak lengkap kalau tidak ditambahkan menu laporan
(reports), karena laporan merupakan fasilitas yang kita berikan kepada user untuk melihat
(menampilkan ) atau mencetak data yang telah disimpan. Java telah didukung oleh
reporting library yang terkenal, yaitu Jasper Report, beserta file pendukung reporting
lainnnya.
Jarper Report merupakan file library, jadi untuk menggunakannya diperlukan
software pendukung yaitu iReport.
15.1. iReport
iReport adalah software yang digunakan untuk membuat dan mendesain template
laporan (report) dengan tampilan GUI, sehingga kita tidak perlu membuat file XML secara
manual untuk template laporan (report). iReport dapat melakukan koneksi secara dinamis
dengan banyak software database, seperti MySQL, SQL Server, Oracle dan lain-lain.
Software iReport dapat didownload di http://sourceforge.net/projects/ireport/,
versi terbaru dari iReport adalah versi 4.0.2.
Kemudian akan tampil tampilan utama iReport seperti gambar 15.2. dibawah ini :
Pilih menu File >> New, maka akan tampil pilihan template seperti berikut ini :
Pilih Blank A4 dan klik tombol Launch Report Wizard, sehingga tampil form :
Isi Report name sesuai nama laporan yang akan kita buat, yaitu DataBarang.
Location kita isi dengan folder tempat untuk menyimpan file template laporan yang kan
kita buat. File adalah nama file XML sebagai template laporan yang akan kita buat.
Klik tombol Next, sehingga tampil kotak dialog setting koneksi seperti gamabr 15.5
berikut ini :
Klik tombol New untuk membuat koneksi baru ke database, maka akan tampil
pilihan datasource :
Name diisi dengan nama koneksi yang akan kita buat, yaitu TokoABCConnection.
Pada JDBC Driver pilih MySQL (com.mysql.jdbc.Driver). JDBC URL dapat langsung diketik
jdbc:mysql://localhost/DbTokoABC atau dengan mengisi Server Address dengan localhost
dan Database dengan DbTokoABC, kemudian mengklik tombol Wizard. Isi User name dan
Password sesuai dengan user name dan password MySQL dan beri tanda check pada save
password.
Klik tombol Test untuk melakukan tes koneksi, jika koneksi berhasil, maka dapat
dilanjutkan ke tahap berikutnya dengan mengklik tombol Save.
Klik tombol >> untuk memilih semua field dari tabel barang dan klik tombol Next.
Untuk pengelompokan (Group), tidak diisi karena laporan data barang tidak
dikelompokan.
Copy file iText yang dapat di download dari link http://itextpdf.com atau
http://sourceforge.net/projects/itext/files/ ke dalam D:\Program Files\Java\jre7\lib\ext.
dibawah :
MenuBar.add(MenuTransaksi);
Tambahkan :
MenuLaporan.add(MenuLaporanDataBarang);
MenuBar.add(MenuLaporan);
MenuPenjualan.addActionListener(new MenuHandler());
Tambahkan :
MenuLaporanDataBarang.addActionListener(new MenuHandler());
} else if (M.getText().equals("Penjualan")) {
TblPenjualanSave.setEnabled(HakAksesUserAktif.substring(3,4).equals("1"))
;
frmPenjualan.setVisible(true);
} else if (M==MenuLaporanDataBarang) {
Connection cn = null;
try {
cn = DriverManager.getConnection(StringConnection);
JasperDesign desain = JRXmlLoader.load("DataBarang.jrxml");
JasperReport laporanDataBarang =
JasperCompileManager.compileReport(desain);
JasperPrint cetak =
JasperFillManager.fillReport(laporanDataBarang,new HashMap(),cn);
//JasperPrint cetak =
JasperFillManager.fillReport("DataBarang.jasper",new HashMap(),cn);
JasperViewer.viewReport(cetak);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null,"Koneksi ke database DbTokoABC
gagal\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
} else if (M==MenuLogin) {
if (M.getText().equals("Login")){
frmLogin.setBounds((frmMDI.getWidth()/2)-(frmLogin.getWidth()/2),
(frmMDI.getHeight()/2)-(frmLogin.getHeight()/2), frmLogin.getWidth(),
frmLogin.getHeight());
frmLogin.setVisible(true);
} else {
MenuLogin.setText("Login");
/*Disable semua menu*/
MenuBarang.setEnabled(false);
MenuCustomer.setEnabled(false);
MenuUserAccount.setEnabled(false);
MenuPenjualan.setEnabled(false);
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.design.JasperDesign;
Referensi:
1. Hariyanto, Bambang, (2007), Esensi-esensi Bahasa Pemrograman Java, Edisi 2,
Informatika Bandung, November 2007.
2. Utomo, Eko Priyo, (2009), Panduan Mudah Mengenal Bahasa Java, Yrama Widya,
Juni 2009.
3. Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007