- Siapkan 2 buah table beserta isinya di database, dalam hal ini kami menggunakan database PostgreSQLdalam pembuatan table disini kami menggunkan PgAdmin sebagai aplikasi visual yang digunakan untuk mengolah data dalam database Postgreesql. berikut query untuk pembuatan tabelnya.
- Buka iReport ->Pilih File -> New

- Klik Blank A4(Optional, tergantung kebutuhan)
-> Klik button Open this Template

- Beri nama untuk report yg akan kita buat, dan
pilih lokasi untuk tempat menyimpan report, setelah itu klik button Next

- Klik button Finish

- Buat template untuk beckground Sub-report,
setelah itu Klik button untuk menuliskan query, dapat dilihat pada gambar
dibawah

- Masukkan query yg dibutuhkan, disini kami ingin mengambil
seluruh isi dari table, maka kami memakai query sebagai berikut :
SELECT PERUSAHAAN_ID, NAME FROM PERUSAHAAN PER WHERE EXISTS( SELECT 1 FROM PEGAWAI PEG WHERE PEG.PERUSAHAAN_ID = PER.PERUSAHAAN_ID )ORDER BY NAME
Karena kita akan membuat Sub-report, maka jangan lupa untuk menambahkan kondisi ketika table kita dan pasangan saling berhubungan. Seperti pada query diatas, antara table pegawai dan table perusahaan terdapat relasi yg dihubungkan oleh field perusahaan_id.
- Setelah selesai Drag and Drop fitur Subreport yg
terdapat pada Pallete seperti yg ditunjukan pada gambar dibawah

- Pilih Create a new Report, karena kita akan
membuat Sub-report dari report yg baru, kemudian klik button Next

- Selanjutnya pilih Layout yg dibutuhkan,
pemilihan layout ini tergantung kebutuhan, disini kami menggunakan Blank A4. Setelah itu klik button next

- Ketik Query yg dibutuhkan Sub-Report nanti
pada text box untuk query(SQL), disini karena kami akan mengambil seluruh field
yg ada maka kami memasukkan query berikut :
SELECT * FROM PEGAWAI;
Setelah dirasa cukup, klik Button next
- Setelah
memasukkan query, maka akan tamppil field-field yg tadi kita select, lalu klik
button
atauuntuk mengambil field – filed tersebut. Setelah itu klik Button next.
- Lalu pilih akan dikelompokkan berdasarkan apa data yg akan kita tampilkan, disini kami akan mengelompokkan berdasarkan perusahaan_id. Setelah selesai klik Button Next.

- Lalu isi nama dari Sub-report yang kita buat,
usahakan nama nya berkaitan agar tidak bingung, lalu pilih “Store the directory
name in a parameter” agar kita tidak usah susah-susah untuk memikirkan path
dari subreport tersebut. Setelah selesai klok Button Next.

- Selanjutnya pilih “Use the same connection used
to fill the master report”. Setelah semua dirasa lengkap klik Button Finish.

- Akan tampil layout yang sama dengan ketika kita
membuat main reportnya, dan sini kita hapus semua layer, kecuali Detail. Cara menghapusnya
yaitu, klik kanan pada setiap band -> pilih Delete Band.

- Tambahkan parameter. Klik kanan Parameter -> Add Parameter

- Setelah itu beri nama sesuai dengan parameter yg
dibutuhkan agar tidak bingung, disini karena kita butuh untuk memasukkan id
perusahaan, maka kita beri nama “perusahaan_id”

- Klik Button untuk query, kita tinggal menambahkan query yang kita butuhkan karena, didalamnya sudah tercantum query yg sebelumnya kita buat pada step 13, disini kami menambahkan kondisi, yaitu:
SELECT * FROM PEGAWAI PEG WHERE PERUSAHAAN_ID =(case when $P{perusahaan_id}= '' or $P{perusahaan_id}= null then PERUSAHAAN_ID else $P{perusahaan_id}end)
Case when then else” digunakan ketika terjadi dua kondisi yaitu, apabila sebuah parameter diisi dia akan menampilkan data2 sesuai parameter tersebut, sedangkan apabila tidak, dia akan menampilkan seluruh data didatabase.
Tapi, untuk memilih antara dua kondisi tidak selalu harus menggunakan case, when, kita juga bisa menggunakan fungsi “coalesce” atau “nvl”. Sesuai jenis database, serta versi iReportnya yang digunakan. - Selanjutnya, Drag and Drop field-filed yg dibutuhkan.

- Setelah selesai klik Button Preview untuk
melihat hasil dari report tersebut.

- Setelah Sub-Report dirasa telah selesai, kita
kembali ke main reportnyaLihat ke Detail -> Lalu ke Properties->cari parameters klik button
disebelah kiri -> Setelah itu klik Add -> Klik button - Pilih Field yg digunakan sebagai parameter di
Sub-report -> lalu klik Apply ->
OK ->OK.

- Sub-Report sudah selesai, untuk melihat hasilnya
klik Priview.

- Inilah hasil dari Sub-Report yg telah dibuat
Table Perusahaan
CREATE TABLE perusahaan(
- name character varying(32),
- CONSTRAINT perusahaan_key PRIMARY KEY (perusahaan_id)
- )
- WITH (
- OIDS=FALSE
- );
- ALTER TABLE perusahaan
- OWNER TO tad;
- perusahaan_id character varying(32) NOT NULL,
- Table Pegawai
- CREATE TABLE pegawai
- (
- pegawai_id character varying(32) NOT NULL,
- name character varying(32),
- perusahaan_id character varying(32),
- status_kepegawaian character varying(32),
- jenis_kelamin character varying(32),
- email character varying(32),
- CONSTRAINT pegawai_key PRIMARY KEY (pegawai_id),
- CONSTRAINT pegawai_perusahaan FOREIGN KEY (perusahaan_id)
- REFERENCES perusahaan (perusahaan_id) MATCH SIMPLE
- ON UPDATE NO ACTION ON DELETE NO ACTION
- )
- WITH (
- OIDS=FALSE
- );
- ALTER TABLE pegawai
- OWNER TO tad;
/*Mohon maaf apabila ada kesalah dan kekurangan*/
/*karena kesempurnaan hanya milik Allah*/
/*dan manusia adalah tempatnya salah dan khilaf*/
/*jika ada kritik atau saran silahkan disampaikan ke crmspy@gmail.com*/
Salam Hormat Kami






0 comments:
Post a Comment