[iReport] Membuat Checklist di Laporan

ireport logo

Dengan menggunakan iReport kita juga dapat membuat checklist di laporan.Memang iReport belum menyediakan komponen untuk checklist.Tapi dengan menggunakan tips dan trik berikut ini kita dapat membuat checklist di laporan.

Pertama buat dahulu tampilan seperti ini di laporannya

Selection_001

Untuk NIM dan Nama saya ambil dari database Mhs dan tabel Siswa yang saya buat sebelumnya.Untuk database,tabel dan recordnya dapat anda buat sendiri.

Setelah itu buat parameter baru dengan klik Node Parameters.Klik kanan Parameters dan pilih add parameter.Kemudian rename nama parameternya.
Pada tutorial ini saya membuat 4 parameter yaitu :

paramMemasak
paramSepakBola
paramMembaca
paramNIM

Selection_002

Setelah selesai dibuat, drag and drop parameter tersebut di kolom Memasak, Sepak Bola, dan Membaca. paramMemasak, paramSepakBola, paramMembaca digunakan untuk menampilkan checklist di iReportnya yang kita ambil dari combobox yang ada di program Java.Berikut ini parameter di Javanya

Selection_008

Berikut ini potongan code Javanya :

package programCheck;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import java.sql.*;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.HashMap;

public class frameCheck extends JFrame {

	private JPanel contentPane;
	private JTextField txtNIM;
	private JTextField txtNama;
	private JButton btnCetak;
	private JComboBox cbHoby;
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					frameCheck frame = new frameCheck();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public frameCheck() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		setLocationRelativeTo(null);
		
		JLabel lblNim = new JLabel("NIM : ");
		lblNim.setBounds(12, 12, 70, 15);
		contentPane.add(lblNim);
		
		txtNIM = new JTextField();
		txtNIM.addActionListener(new ActionListener() 
		{
			public void actionPerformed(ActionEvent act)
			{
				try
				{
					Connection konek = Koneksi.getKoneksi();
					Statement state = konek.createStatement();
					String query = "SELECT Nama,Hobi FROM Siswa WHERE NIM = '"+txtNIM.getText()+"'";
					ResultSet rs = state.executeQuery(query);
					while(rs.next())
					{
						txtNama.setText(rs.getString(1));
						cbHoby.setSelectedItem(rs.getString(2));
					}
					rs.close();
					state.close();
				}
				catch(Exception ex)
				{
					System.out.println(ex);
				}
			}
		});
		txtNIM.setBounds(86, 10, 114, 19);
		contentPane.add(txtNIM);
		txtNIM.setColumns(10);
		
		JLabel lblNama = new JLabel("Nama : ");
		lblNama.setBounds(12, 48, 70, 15);
		contentPane.add(lblNama);
		
		txtNama = new JTextField();
		txtNama.setBounds(86, 46, 201, 19);
		contentPane.add(txtNama);
		txtNama.setColumns(10);
		
		JLabel lblHobby = new JLabel("Hobby : ");
		lblHobby.setBounds(12, 87, 70, 15);
		contentPane.add(lblHobby);
		
		cbHoby = new JComboBox();
		cbHoby.setModel(new DefaultComboBoxModel(new String[] {"=Pilih=", "Memasak", "Sepak Bola", "Membaca"}));
		cbHoby.setBounds(86, 82, 209, 20);
		contentPane.add(cbHoby);
		
		btnCetak = new JButton("Cetak");
		btnCetak.addActionListener(new ActionListener() 
		{
			
			public void actionPerformed(ActionEvent act) 
			{
				String memasak = "";
				String sepakbola = "";
				String membaca = "";
					if(cbHoby.getSelectedIndex() == 1)
					{
						memasak = "X";
					}
					else if(cbHoby.getSelectedIndex() == 2)
					{
						sepakbola = "X";
					}
					else if(cbHoby.getSelectedIndex() == 3)
					{
						membaca = "X";
					}
				try
	               {
	                   String NamaFile = "src/Data.jasper"; //Lokasi File jasper
	                   Class.forName("com.mysql.jdbc.Driver").newInstance();
	                   Connection koneksi = DriverManager.getConnection("jdbc:mysql://localhost/Mhs","root","root");
	                   HashMap hash = new HashMap();
	                   //Mengambil parameter dari ireport
	                   hash.put("paramNIM",txtNIM.getText());
	                   hash.put("paramMemasak",memasak);
	                   hash.put("paramSepakBola",sepakbola);
	                   hash.put("paramMembaca",membaca);
	                   File file = new File(NamaFile);
	                   JasperReport jasperReport = (JasperReport) JRLoader.loadObject(file.getPath());
	                   JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hash,koneksi);
	                   JasperViewer.viewReport(jasperPrint,false);
	               }
	               catch(Exception ex)
	               {
	                   System.out.println(ex);
	               }
			}
		});
		btnCetak.setBounds(149, 148, 117, 25);
		contentPane.add(btnCetak);
	}
}

Download Program Lengkap

archive-manager

Program checkList iReport : Checklist iReport

Berikut ini tampilan iReportnya

Selection_004

Selection_005

Selamat mencoba dan Semoga bermanfaat🙂

2 thoughts on “[iReport] Membuat Checklist di Laporan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s