Thursday 7 May 2015

Simple Report dengan JasperReports dan Mysql


Dalam kesempatan kali ini saya akan menulis cara membuat simple report menggunakan Jaspersoft ataupun iReport (keduanya memiliki fungsi yang sama). Dalam kasus kali ini saya sama sekali tidak akan melibatkan bahasa pemrograman java. Jadi hanya akan melibatkan Jasperreport dan database Mysql.


Hello Jasper Reports

Secara umum report template pada JasperReport terbagi menjadi beberapa bagian.


ElementDescription
titleTitle adalah judul dari report. Title hanya akan muncul sekali di awal / atas report
pageHeaderPageHeader berisi informasi tanggal atau waktu, page header akan muncul pada setiap halaman (jika hasil report lebih dari satu lembar).
columnHeaderColumnHeader atau Header kolom, akan muncul pada setiap lembar report.
detailDetail adalah bagian spesifik report bisa di bilang baris pada setiap data. bagian ini akan terus di looping sebanyak entry data.
columnFooterColumnFooter dapat berisi apapun , seperti fields, atau text lainnya.
pageFooterPageFooter biasanya berisi nomor halaman. Bagian ini akan muncul pada setiap halaman seperti contoh no 1 dari 5.
summarySummary biasanya berisi informasi lain seperti pie cart dll.


Software yang dibutuhkan

Sebelum memulai, terlebih dahalu kamu harus menyediakan :
  1. Jaspersoft Studio / iReport . Download
  2. Database Mysql

Lets Actions


  1. Yang pertama kali kamu lakukan adalah membuat sebuah database baru dengan nama "jasper" (atau apapun terserah kamu).
  2. Membuat tabel dan insert beberapa data, silahkan coy paste code berikut

  3. Table PERSONS
    create table PERSONS (    ID int primary key,    NAME varchar(30),    CITY varchar(30) ); insert into PERSONS values(1, 'ETHAN', 'NEW YORK'); insert into PERSONS values(2, 'CALEB', 'SAN FRANCISCO'); insert into PERSONS values(3, 'WILLIAM', 'LONDON');            
    
    Table EMAIL_ADDRESSES
    create table EMAIL_ADDRESSES (    ID int primary key,    ID_PERSON varchar(30),    EMAIL varchar(100) ); insert into EMAIL_ADDRESSES values(1, 1, 'ethan@yahoo.com'); insert into EMAIL_ADDRESSES values(2, 1, 'ethan@gmail.com'); insert into EMAIL_ADDRESSES values(3, 2, 'caleb@yahoo.com'); insert into EMAIL_ADDRESSES values(4, 2, 'caleb2@linux.com'); insert into EMAIL_ADDRESSES values(5, 2, 'cccleb@jaspersoft.com'); insert into EMAIL_ADDRESSES values(6, 3, 'wlm@somedomain.co.uk'); insert into EMAIL_ADDRESSES values(7, 3, 'william@someemail.eu'); insert into EMAIL_ADDRESSES values(8, 3, 'willy@myemail.org');     
    
    Table PHONE_NUMBERS
    create table PHONE_NUMBERS (    ID int primary key,    ID_PERSON varchar(30),    PHONE varchar(100) );     insert into PHONE_NUMBERS values(1, 1, '1(111) 111-1111'); insert into PHONE_NUMBERS values(2, 1, '1(222) 222-2222'); insert into PHONE_NUMBERS values(3, 1, '1(333) 333-3333'); insert into PHONE_NUMBERS values(4, 2, '1(444) 444-4444'); insert into PHONE_NUMBERS values(5, 3, '1(555) 555-5555'); insert into PHONE_NUMBERS values(6, 3, '1(666) 666-6666');
    
  4. Membuat JasperReports,
  5. a. Buat file baru dengan cara klik menu File - New - Jasper Report.

    b. Pilih template, di sini kita akan memilih Blank A4.
    c. Rename file dengan nama address_book. 
    d. Pilih Koneksi database yang akan di pakai, kamu bisa lihat pada artikel Koneksi JasperReport/iReport dengan Mysql.
    e. Menulis Query untuk menampilkan semua data table PERSONS.
    SELECT * FROM PERSONS;
    
    e. Pilih semua field yang muncul dari taruh di kanan dan kemudian klik FINISH.

Setelah kamu klik finish kamu akan melihat beberapa bagian seperti berikut :

4. Drag and drop fields ke bagian detail 1, nantinya pada bagian header column akan otomatis muncul mengikuti field yang ada. Apabila ingin mengganti textnya tinggal double klik. Kemudian kita dapat melihat hasilnya dengan mengklik preview.

Pada kesempatan berikutnya saya akan menulis tentang membuat sub report pada IReport / JasperReport.

0 comments:

Post a Comment

Powered by Blogger.