Membuat Aplikasi Laporan (iReport) dengan Java Netbeans dan MySQL

Membuat Aplikasi Laporan (iReport) dengan Java Netbeans dan MySQL

Aplikasi laporan adalah sebuah aplikasi yang wajib ada dalam sebuah aplikasi perkantoran, kenapa wajib ? karena dengan adanya laporan maka akan memudahkan dalam hal print dokumen yang nantinya akan dilakukan oleh seorang pegawai memberikan hasil kerjanya kepada atasannya.

Aplikasi laporan yang mendukung java yang lebih bagus yaitu iReport atau jasperReport yang sangat banyak digunakan untuk menampilkan laporan. pada tutorial kali ini penulis cuma membahas cara membuat dan menampilkan laporan saja, namun bukan mendesain laporan, untuk membuat laporan anda hanya memilih new dengan klik kanan -> pilih other -> pilih report -> pilih report wizard dengan begitu anda akan sangat terbantu dalam mendesain laporan seperti gambar dibawah ini.

menubar-ireport-442016

pertama tama yang harus dilakukan adalah membuat koneksi antara laporan dengan mysql untuk databasenya sendiri akan penulis jelaskan dibawah, pada tabbar pilih ikon yang bulat tersusun itu atau ikon database kemudian pilih database jdbc connection klik next -> isikan field koneksinya -> klik save.

datasource-ireport-442016

ireport-connection-442016

Kemudian buatlah laporan dengan penjelasan seperti diatas yaitu klik kanan -> pilih new -> pilih report wizard atau other cari pada report -> klik report wizard.

ireport-format-dokumen-442016

ireport-nama-dokumen-442016

ireport-query-ambil-442016

Klik design query kalau muncul password isikan password mysql dan drag drop tabel yang ada pada gambar dibawah ini atau juga bisa pada gambar diatas diketik menual syntax sql mysqlnya untuk menampilkan data misalkan menggunakan select * from tabel.

ireport-query-select-442016

ireport-field-select-442016

ireport-group

ireport-finish-442016

Yang diatas anda pilih dan klik next saja. selanjutnya desainnya seperti dibawah ini. untuk desain anda lakukan sendiri terserah anda pada gambar dibawah ini adalah laporan yang telah saya desain.

ireport-desain-awal-442016

ireport-form-desain-442016

Setelah laporan berhasil didesain maka yang anda perlukan adalah database, sebenarnya database dari awal wajib dibuat kalau tidak dibuat maka yang telah dipraktekkan diatas tidak berjalan.

CREATE DATABASE IF NOT EXISTS `basisdata` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `basisdata`;

CREATE TABLE IF NOT EXISTS `biodata` (
  `kode` varchar(5) NOT NULL,
  `nama` varchar(45) NOT NULL,
  `kelamin` varchar(20) NOT NULL,
  `alamat` varchar(100) NOT NULL,
  `ortu` varchar(45) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `biodata` (`kode`, `nama`, `kelamin`, `alamat`, `ortu`) VALUES
('11111', 'Ghazali', 'Laki-laki', 'Sigli', 'Zulkifli'),
('11112', 'Julinda', 'Perempuan', 'Ulim', 'Yusuf'),
('11113', 'Monicha', 'Perempuan', 'Bambi', 'Rahman'),
('11113', 'Andrian', 'Laki-laki', 'Bambi', 'Ramli'),
('11115', 'Andrian', 'Laki-laki', 'Krung', 'Ramli'),
('12345', 'Reza', 'Laki-laki', 'Desa', 'Kure');

Setelah itu desainlah formnya seperti dibawah ini dan berikan nama sesuka hati anda disinilah nantinya waktu yang dijalankan tampil formnya dan klik cetak langsung tampil laporannya.

ireport-myform-java-442016

Setelah itu klik kanan pada jbutton yang telah dibuat dan pilih event -> pilih action -> klik actionperformed, ini berguna nantinya untuk menambah data dan menampilkan laporan, untuk sintaxnya seperti dibawah ini

class koneksi

    Connection konek;
    Statement stat;
    
    public void koneksi(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("Berhasil Koneksi");
        } catch (ClassNotFoundException ex) {
            System.out.println("Gagal Koneksi "+ex);
        }
        String url="jdbc:mysql://localhost:3306/basisdata";
        try {
            konek = DriverManager.getConnection(url, "root", "kodokijo");
            stat = konek.createStatement();
            System.out.println("Ada Database");
        } catch (SQLException se) {
            System.out.println("Tidak ada database "+se);
        }
    }

button simpan

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        String sql = "insert into biodata values('"+textkode.getText()+"','"+textnama.getText()+"','"+textkelamin.getText()+"','"+textalamat.getText()+"','"+textfamily.getText()+"')";
        try {
            stat.executeUpdate(sql);
            textkode.setText("");
            textnama.setText("");
            textkelamin.setText("");
            textalamat.setText("");
            textfamily.setText("");
            textkode.requestFocus();
            JOptionPane.showMessageDialog(null, "Berhasil tambah data");
        } catch (SQLException ez) {
            JOptionPane.showMessageDialog(null, "Gagal total "+ez);
        }
    }

button cetak

     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        String sql = "SELECT biodata.`kode` AS biodata_kode, biodata.`nama` AS biodata_nama, biodata.`kelamin` AS biodata_kelamin, biodata.`alamat` AS biodata_alamat, biodata.`ortu` AS biodata_ortu FROM `biodata` biodata";
        try {
            ResultSet rs = stat.executeQuery(sql);
            JasperPrint jasperPrint;       
            JRResultSetDataSource jrRS = new JRResultSetDataSource (rs);            
            JasperReport jasperReport = JasperCompileManager.compileReport("./src/laporan.jrxml");          
            jasperPrint = JasperFillManager.fillReport(jasperReport, null, jrRS);
            JRViewer aViewer = new JRViewer(jasperPrint);                  
            JDialog viewer = new JDialog();  
            viewer.setTitle(".: Jasper Report :.");             
            viewer.setAlwaysOnTop(true);
            viewer.getContentPane().add(aViewer);                  
            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();     
            viewer.setBounds(0,0,screenSize.width, screenSize.height);
            viewer.setVisible(true);              

            stat.close();
            konek.close();
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Laporan gak ada "+e);
        }
    }

Kira kira hasil dari program diatas seperti pada gambar yang ada dibawah ini, semoga dapat terbantu dengan adanya tutorial diatas.

ireport-hasil1-442016

ireport-hasil-myform-442016

ireport-hasil-laporan-442016

Download Source Code

Tags: , ,