Kamis, 13 Oktober 2011

Membuat Report Sederhana Menggunakan IRepot

Tutorial kali ini kita akan membuat report  menggunakan JasperRaport, kalau yang belum tau apa itu jasper report bisa liat link berikut http://jasperforge.org/.  nah IDE untuk membuat reportnya kita menggunakan Ireport, jadi istilah kalo di Java jasper report tuh java-nya sedangkan iReport tuh IDE-nya. Kalau mau donlot iReport bisa disini : http://jasperforge.org/website/ireportwebsite/IR%20Website/ir_download.html?header=project&target=ireport, bisa dipilih mana yang akan digunakan, Karena gw menggunakan windows maka gw menggunakan iReport untuk windows.

Oke kita akan membuat report untuk buku tamu mahasiswa menggunakan IDE-Netbeans untuk mebuat class java dan iReport untuk report-nya. Pertama-tama kita buat new project di netBeans

Kita beri nama TutorialReport


Setelah terbentuk project TutorialReport kita buat package untuk menampung POJO dari buku tamu, kita beri nama package tersebut dto.

Selanjutnya kita buat sebuah class MahasiswaDTO isi dari class tersebut adalah nama, umur, alamat dan nomor telepon

berikut isi dari class MahasiswaDTO

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dto;

/**
 *
 * @author Ridwan Fansuri
 */
public class MahasiswaDTO {
    private String nama;
    private Integer umur;
    private String alamat;
    private String noTelp;

    public String getAlamat() {
        return alamat;
    }

    public void setAlamat(String alamat) {
        this.alamat = alamat;
    }

    public String getNama() {
        return nama;
    }

    public void setNama(String nama) {
        this.nama = nama;
    }

    public String getNoTelp() {
        return noTelp;
    }

    public void setNoTelp(String noTelp) {
        this.noTelp = noTelp;
    }

    public Integer getUmur() {
        return umur;
    }

    public void setUmur(Integer umur) {
        this.umur = umur;
    }
    
    
}

Setelah class MahasiswaDTO dibuat kita buat report untuk menampilkan data dari class MahasiswaDTO tersebut.
Kita Buat Project baru pada iReport, pilih blank A4.

Beri nama report dengan MahasiswaReport


Setelah project baru terbentuk maka akan terdapat sebuah report kosong. Seperti ini

Band adalah element-element pembentuk report, pada report ada 7 jenis band, untuk lebih jelasnya baca iReport ultimate guide.

Untuk menampilkan data kita buat fields yang akan menampilkan data dari class mahasiswa yang kita buat, nama field harus sama persis dengan variable dari class MahasiswaDTO, kalau tidak maka akan terjadi error.



Setelah field terebut terbentuk kita drag and drop fields tersebut ke report seperti ini,

Report yang kita buat bisa kita percantik tampilanya dengan menambahkan border atau padding



Kitapun bisa menambahkan elemen-elemen seperti garis, tabel atau page number pada menu pallete 



Setelah report selesai kita compile dengan memnekan tombol compile(palu), apabila berhasil maka akan terdapat file MahasiswaReport.Jasper pada direktori yang sama dengan report yang kita buat. 

Untuk memasukan data dan menjalankan program, kita buat Main class pada project. dan kite beri nama Main.java
berikut isi dari class java

import dto.MahasiswaDTO;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author Ridwan Fansuri
 */
public class Main {

    public static void main(String[] args) throws JRException {
        //membuat objek mahasiswa
        MahasiswaDTO mahasiswa = new MahasiswaDTO();
        
        //membuat List mahasiswa untuk dimasukan ke report
        List list = new ArrayList();
        
        //memasukan data kedalam objek mahasiswa sebanyak 10X
        for (int i = 0; i < 10; i++) {
            mahasiswa.setNama("Ridwan");
            mahasiswa.setAlamat("Bogor");
            mahasiswa.setNoTelp("0809xxxxxx");
            mahasiswa.setUmur(20);
            list.add(mahasiswa);//memasukan kedalam list
        }
        
        Map prs = new HashMap();
        //memasukan data kedalam report
        //direktori yang disini adalah direktori dari file jesper yang kita buat
        JasperPrint jPrint = JasperFillManager.fillReport("C:/Users/Ridwan Fansuri/Documents/NetBeansProjects/TutorialReport/src/MahasiswaReport.jasper", prs, new JRBeanCollectionDataSource(list));
        //menampilakn file jasper
        JasperViewer.viewReport(jPrint, false);
    }
}

Kemudian kita run project kita

dan EUREKA  report yang kita buat muncul.



Semoga bermanfaat...