Pertama kita buat Project Baru dengan cara Klik File-New Project
Kemudian Pilih Java - Java Application, klik Next
Masukkan nama Project, kemudian hilangkan cek (uncheck) pada Create Main Class. Klik Finish
Jadilah Project Baru.
Pada Project Tree View sebelah kiri, klik kanan pilih Properties.
Pada Dialog Project Properties, pilih Libraries. Kemudian klik Tombol Add Library.
Pada Dialog Add Library pilih MySQL JDBC Driver, kemudian klik Add Library.
Kemudian setelah kembali ke Jendela Project Properties, klik Add JAR/Folder. Pilih Folder tempar Instalasi iReport, misal di C:\Program Files\JasperSoft\iReport-4.7.0\ireport\modules\ext.
Kemudian Pilih Library JAR berikut : commons-beanutils.jar, commons-collections.jar, commons-digester.jar, commons-logging.jar, groovy-all.jar, iText.jar, japerreports.jar, spring.jar. Klik Open
Maka akan kembali ke Window NetBeans dan tampak Library sudah masuk semua.
Kemudian kita buat Jendela Baru di Aplikasi ini dengan pada Project TreeView klik kanan Source Packages, pilih New - Folder.
Masukkan nama Class dan nama Package nya. Klik Finish
Kemudian pada Pallete, Swing Controls pilih JButton.
Kemudian tambahkan satu buah JButton ke Form, dan klik kanan pilih Events-Action-actionPerformed.
Setelah itu ketikkan kode program berikut di dalam Event-nya, tetapi jangan lupa tambahkan dahulu import di bagian atas class :
// http://cariprogram.blogspot.com
// nuramijaya@gmail.com
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JDialog;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.swing.JRViewer;
Kemudian barulah masukkan kode program ke dalam Events-nya :
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
try {
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" +
// System.getProperties().getProperty("java.class.path").split(";")[System.getProperties().getProperty("java.class.path").split(";").length - 1] +
// "\\world.mdb" + ";DriverID=22;READONLY=true}";
//JOptionPane.showMessageDialog(rootPane, url, "", JOptionPane.INFORMATION_MESSAGE);
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/rumahsakit";
Connection cn = DriverManager.getConnection (url, "root", "");
String SQL = "SELECT dokter.`nip` AS dokter_nip, dokter.`nama` AS dokter_nama, dokter.`alamat` AS dokter_alamat, dokter.`tgllahir` AS dokter_tgllahir, dokter.`tunjangan` AS dokter_tunjangan FROM `dokter` dokter";
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery(SQL);
JasperPrint jasperPrint;
JRResultSetDataSource jrRS = new JRResultSetDataSource (rs);
JasperReport jasperReport = JasperCompileManager.compileReport(System.getProperties().getProperty("java.class.path").split(";")[System.getProperties().getProperty("java.class.path").split(";").length - 1] + "\\reportdokter.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);
st.close();
cn.close();
} catch(Exception e)
{
System.out.println(e);
}
}//GEN-LAST:event_jButton1ActionPerformed
Pada Project TreeView sebelah kiri, pilih nama Projectnya, klik kanan pilih Build.
Kemudian kita masukkan dahulu file Report yang pernah kita buat, dalam ini adalah reportdokter.jasper dan reportdokter.jrxml. Copy kemudian masukkan ke Direktori Project di dalam folder dist
Copy kemudian masukkan juga file reportdokter.jasper dan reportdokter.jrxml ke Direktori Project di dalam folder build/classes
Untuk menjalankan Aplikasi bisa dilakukan pada Project TreeView, klik kanan nama Form, pilih Run File
Setelah muncul aplikasinya, coba klik tombol Cetak
Akan ditampilkan Jendela Preview Cetak dengan JasperReport
Project selengkapnya dapat didownload disini. Pada Google - Docs, klik File-Download
Semoga bermanfaat.
gima ya caranya untuk membuat laporan bulanan dan perperiode
BalasHapusSebenarnya ada beberapa cara yang bisa dilakukan, tetapi saya pribadi lebih suka memodifikasi saja perintah SQL yang ada di program di atas, jadi tidak perlu mengubah JasperReport nya, cukup kode program di Java.
HapusPada contoh di atas misalnya kita ingin menampilkan data dokter dengan TanggalLahir pada periode Januari 1980, maka edit pada baris perintah SQL menjadi seperti ini :
...
String SQL = "SELECT dokter.`nip` AS dokter_nip, dokter.`nama` AS dokter_nama, dokter.`alamat` AS dokter_alamat, dokter.`tgllahir` AS dokter_tgllahir, dokter.`tunjangan` AS dokter_tunjangan FROM `dokter` dokter WHERE MONTH(tgllahir) = 1 AND YEAR(tgllahir) = 1980";
...
Dimana angka bulan 1 (Januari) dan tahun 1980 bisa diambilkan dari sebuah ComboBox atau EditText, misal :
...WHERE MONTH(tgllahir) = " + edBln.getText() + " AND YEAR(tgllahir) = " + edThn.getText();
Semoga membantu.
kalau mengganti nama dokter itu dengan yang lain itu gimana gan ?
BalasHapusCoba membuat tabel dengan nama lain saja mbak, atau mengganti perintah SQL nya dengan nama kolom yang lain. Kemudian ikuti langkah dari awal sampai akhir. Semoga berhasil..
BalasHapusMas minta link download pluginnya donk punya saya gak cocok terus sama import diatas
BalasHapuspake group by
BalasHapusmas bagaimana cara agar fungsi cetak ini bisa jalan setelah dicompler menjadi file exe...
BalasHapussoalnya punyaku nggak mau jalan jika tombol cetaknya di klik..
kalau menjalankan projectnya di netbeans bisa jalan tombol cetaknya,,
mohon pencerahannya mas admin ?
gan, minta sqlnya gan,,,
BalasHapusTerimakasih Sangat membantu,,,
BalasHapus