Global Var

PERTEMUAN V

PENGKONEKSIAN TOMBOL PERINTAH SIMPAN, EDIT, HAPUS

· Setelah class konesi dibuat, kita kembali ke form pembelian yg kita sudah buat sebelumya…


package jualmotor;

import com.mysql.jdbc.ResultSetMetaData;

import java.awt.Button;

import jualmotor.hub;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import javax.swing.ButtonGroup;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.TableModel;

Source yg diketik diatas digunakan untuk mengimpor kode sorce pada class koneksi yg kita buat.

MEMBUAT SOURCE TOMBOL PERINTAH SIMPAN

Buatlah class untuk mengetik source ini pada pada bagian paling bawah pada file kerja sebelum symbol }. Contonya…


public void save(){

PreparedStatement statement = null;

try {

statement = hub.getconnection().prepareStatement(

"insert into tbl_motor(id,nama,alamat,merek,type,harga) value (?,?,?,?,?,?)");

statement.setString(1, Id);

statement.setString(2, nama.getText());

statement.setString(3, alamat.getText());

statement.setString(4, jComboBox1.getSelectedItem().toString());

if (revo.isSelected()==true)

statement.setString(5,"REVO");

else if (beat.isSelected()==true)

statement.setString(5,"BEAT");

else if (blade.isSelected() == true)

statement.setString(5,"BLADE");

else if (vxion.isSelected()==true)

statement.setString(5,"VXION");

else if (mio.isSelected()==true)

statement.setString(5,"MIO");

else if (vgzr.isSelected()==true)

statement.setString(5,"VEGA ZR");

else

javax.swing.JOptionPane.showMessageDialog(null,"PILIH DULU..");

statement.setInt(6, harga);

statement.executeUpdate();

javax.swing.JOptionPane.showMessageDialog(null,"DATANAY UDAH TERSIMPAN..");

} catch (Exception e) {

javax.swing.JOptionPane.showMessageDialog(null,"DATANYA ADA YANG SAMA BOS");

}

}

Setelah kita ketik source diatas maka klik 2x kali pada objek simpan, kemudaian ketik nama kelas dari koding save

private void simpanActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

save();

}

MEMBUAT SOURCE TOMBOL PERINTAH HAPUS

public void hapus(){

PreparedStatement statement=null;

try {

statement = hub.getconnection().prepareStatement(

"DELETE FROM tbl_motor WHERE id=?");

statement.setString(1, id.getText());

statement.executeUpdate();

JOptionPane.showMessageDialog(null, "DATANYA UDAH DIHAPUS.","Penghapusan data",

JOptionPane.INFORMATION_MESSAGE);

} catch (Exception e) {

JOptionPane.showMessageDialog(null, "DATANYA SALAH TUH!!! : "+e,"Penghapusan data",

JOptionPane.ERROR_MESSAGE);

}

}

Sama halnya dg sebelumnya buka file kerja sor pada objek hapus

private void hapusActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

hapus();

//source untuk mengkonfirmasi saat ingin dihapus:

int x = JOptionPane.showConfirmDialog(null,"Apakah ingin menghapus data ini ini ?","Pesan konfirmasi", JOptionPane.YES_NO_OPTION);

if (x == JOptionPane.YES_OPTION);

}

MEMBUAT SOURCE TOMBOL PERINTAH EDIT

public void edit(){

PreparedStatement statement=null;

try{

statement = hub.getconnection().prepareStatement(

"UPDATE tbl_motor SET nama=?,alamat=?,merek=?,type=?,harga=? WHERE id=?");

statement.setString(1, nama.getText());

statement.setString(2, alamat.getText());

statement.setString(3, jComboBox1.getSelectedItem().toString());

if (revo.isSelected())

statement.setString(4, "REVO");

else if (beat.isSelected())

statement.setString(4, "BEAT");

else if (blade.isSelected())

statement.setString(4, "BLADE");

else if (vgzr.isSelected())

statement.setString(4, "VEGA ZR");

else if (vxion.isSelected())

statement.setString(4, "VXION");

else if (mio.isSelected())

statement.setString(4, "MIO");

statement.setString(5, jLabel8.getText());

statement.setString(6, id.getText());

statement.executeUpdate();

JOptionPane.showMessageDialog(null, "DATANYA UDAH BERUBAH.","Konfirmasi",

JOptionPane.CLOSED_OPTION);

}catch(SQLException dc){

JOptionPane.showMessageDialog(null, "DATANYA BELUM BERUBAH.");

}

}

private void editActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

edit();

}

MEMBUAT SOURCE TOMBOL PERINTAH CARI

public void cari(String data){

boolean dapat=false;

PreparedStatement statement=null;

try{

statement = hub.getconnection().prepareStatement(

"SELECT * FROM tbl_motor WHERE id='"+data+"'");

ResultSet result = statement.executeQuery();

if(result.next()){

id.setText(result.getString("id"));

nama.setText(result.getString("nama"));

alamat.setText(result.getString("alamat"));

if ((revo.isSelected()) ||(beat.isSelected())||(blade.isSelected()));

jComboBox1.setSelectedItem("HONDA");

if ((vgzr.isSelected()) ||(vxion.isSelected())||(mio.isSelected()));

jComboBox1.setSelectedItem("YAMAHA");

if (result.getString("type").equals("REVO"))

revo.setSelected(true);

else if (result.getString("type").equals("BEAT"))

beat.setSelected(true);

else if (result.getString("type").equals("BLADE"))

blade.setSelected(true);

if (result.getString("type").equals("VEGA ZR"))

vgzr.setSelected(true);

else if (result.getString("type").equals("VXION"))

vxion.setSelected(true);

else if (result.getString("type").equals("MIO"))

mio.setSelected(true);

jLabel8.setText(result.getString("harga"));

dapat = true;

}

if(!dapat){

JOptionPane.showMessageDialog(null, "DATANYA NDA ADA!!!.","Pencarian data",

JOptionPane.INFORMATION_MESSAGE);

//kosong();

//txtIdp.requestFocus();

}

result.close();

}catch(SQLException cc){

}

}

private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

cari(id.getText());

}

MEMBUAT SOURCE MENAMPILAKAN DATA PADA TABEL

private Object[][] dataTable;

public void tampil(){

PreparedStatement statement=null;

try{

statement = hub.getconnection().prepareStatement(

"SELECT * FROM tbl_motor");

ResultSet result = statement.executeQuery();

ResultSetMetaData rsmd = (ResultSetMetaData) result.getMetaData();

int col = rsmd.getColumnCount();

int baris =0;

String [] kol = {"id","nama","alamat","merek","type","harga"};

DefaultTableModel model = new DefaultTableModel();

model.setColumnIdentifiers(kol);

while(result.next()) {

baris = result.getRow();

}

dataTable = new Object[baris][col];

int x = 0;

result.beforeFirst();

String tipe="";

while(result.next()) {

if(result.getString("merek").equals("HONDA")){

{ if (revo.isSelected()==true)

tipe="REVO";

else if (beat.isSelected()==true)

tipe="BEAT";

else if (blade.isSelected()==true)

tipe="BLADE";

}

}else if(result.getString("merek").equals("YAMAHA")){

{ if (vgzr.isSelected()==true)

tipe="VEGA ZR";

else if (vxion.isSelected()==true)

tipe="VXION";

else if (mio.isSelected()==true)

tipe="MIO";

}

}

dataTable[x][0] = result.getString("id");

dataTable[x][1] = result.getString("nama");

dataTable[x][2] = result.getString("alamat");

dataTable[x][3] = result.getString("merek");

dataTable[x][4] = result.getString("type");

dataTable[x][5] = result.getString("harga");

x++;

}

jTable1.setModel(new DefaultTableModel(dataTable, kol));

} catch (SQLException ex) {

}

}

Kemudian pasang nama class ini pada tombol simpan, hapus, edit, ulang dan pada saat form dijalankan

Sebelum menjalankan aplikasi, kita aktifkan driver database pada netbeans agar netbeans dapat terkoneksi pada database..

· Pastikan wamp server aktif dan pilih start all service

· Pilih pada panel service pada netbeans

· Klik kanan pada explorer Databases> register MySQL server

· Saat register MySQL server muncul>klik kanan Connect

MEMBUAT GRID

Grid digunakan untuk menampilkan data yang diklik pada table,sourcenya…

· Klik kanan objek table pada form>pilih Event>mouse> mouseclicked

· Maka akan muncul file kerja untuk objek table, laku ketuk sourcenya…..

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {

int row= jTable1.getSelectedRow();

if (row!=1){

TableModel data=jTable1.getModel();

String tmpid=" ";

tmpid=data.getValueAt(jTable1.getSelectedRow(),0).toString();

cari(tmpid);

}

}

MENAMPILKAN DATA PADA TABEL SESUAI DATA YG DICARI

· Salin source pada class tampil…

· Yang Tambahkan String nilai didalam kurung class tampil dan menambahkan ekspresi pada perintah MySQLnya

public void tampil(String nilai){

PreparedStatement statement=null;

try{

statement = hub.getconnection().prepareStatement(

"SELECT * FROM tbl_motor where id = ' "+nilai+" ' ");

ResultSet result = statement.executeQuery();

ResultSetMetaData rsmd = (ResultSetMetaData) result.getMetaData();

int col = rsmd.getColumnCount();

int baris =0;

String [] kol = {"id","nama","alamat","merek","type","harga"};

DefaultTableModel model = new DefaultTableModel();

model.setColumnIdentifiers(kol);

while(result.next()) {

baris = result.getRow();

}

dataTable = new Object[baris][col];

int x = 0;

result.beforeFirst();

String tipe="";

while(result.next()) {

if(result.getString("merek").equals("HONDA")){

{ if (revo.isSelected()==true)

tipe="REVO";

else if (beat.isSelected()==true)

tipe="BEAT";

else if (blade.isSelected()==true)

tipe="BLADE";

}

}else if(result.getString("merek").equals("YAMAHA")){

{ if (vgzr.isSelected()==true)

tipe="VEGA ZR";

else if (vxion.isSelected()==true)

tipe="VXION";

else if (mio.isSelected()==true)

tipe="MIO";

}

}

dataTable[x][0] = result.getString("id");

dataTable[x][1] = result.getString("nama");

dataTable[x][2] = result.getString("alamat");

dataTable[x][3] = result.getString("merek");

dataTable[x][4] = result.getString("type");

dataTable[x][5] = result.getString("harga");

x++;

}

jTable1.setModel(new DefaultTableModel(dataTable, kol));

} catch (SQLException ex) {

}

}

Tampilan

MEMBUAT REPORT

· Install plugin

Tool>Plugin

· Pada kotak dialog pilih Tab downloaded>AddPulgin

  • Pada window plugin pilih tab Downloaded dan klik tombol Add Plugins..
  • Pada window add plugins.. arahkan ke lokasi dimana anda telah mengekstrak iReport Plugin yang telah didownload sebelumnya.
  • Pastikan ketiga file .nbm sudah ditambahakan, selajutnya tekan tombol Install
  • Setelah Instalasi selesai, sebaiknya anda merestart Netbeans untuk memastikan iReport plugin sudah terinstal dengan sempurna.

· Sekarang kita akan membuat laporan dg Ireport yg datinya sudah terinstal

· Database yang akan kita hubungkan dengan laporan yang akan kita buat adalah database jual

· Klik pada panel service>Database>klik kanan pada MysqlServer>Connect>pilih database jual>connect

· Buatlah File Report baru dengan memilih menu File>New File. Pada Window New File pilihlah Categories Report dan Report Wizard

  • Kemudian klik Next dan beri nama datamotor.jrxml dan selanjutnya klik Next lagi
  • Pada Connections/Data Sources kita klik tombol New, maka akan ditampilkan window Datasource. Kita pilih Netbeans Database JDBC Connection kemudian tekan tombol Next.

  • Pada Database JDBC Connection beri nama jual dan isi kolomnya seperti pada gambar di bawah ini
  • Tekan tombol Save untuk menyimpan koneksi
  • Pada bagian Query ketik perintah sql SELECT * FROM jual kemudian tekan tombol Next.

· Selanjutnya akan ditampilkan daftar field yang dapat kita gunakan dalam report. Pilihlah field-field yang akan ditampilkan dalam report, misalnya Id,nama,alamat,merek,type,harga tekan tanda >> untuk mengimpor semua field

· Klik Next dan pada Group by kita abaikan saja. Klik Next sekali lagi dan pilih Tabular Layout seperti pada gambar di bawah ini

· Klik Next dan Finis untuk mengakhiri pembuatan Report, untuk melihat tampilan reportnya aktifkan file report jualmotor.jrxml>Preview

MEMBUAT FUNGSI CETAK

Sekarang kita akan membuat fungsi cetak untuk menkoneksikan antara aplikasi dg report, sebelumya kita import komponen untuk jasper

· Klik pada panel project dan klik kanan pada libraries>Add Jar/Folder

· Buka component Jasper yyg sudah kami sediakan>Open

Setelah itu import komponen dibawah

import com.mysql.jdbc.Statement;

import java.awt.Cursor;

import java.io.File;

import java.sql.DriverManager;

import com.mysql.jdbc.Connection;

import java.util.HashMap;

import java.util.Locale;

import java.util.Map;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.util.JRLoader;

import net.sf.jasperreports.view.JasperViewer;

· Bila semua komponen sudah terpenuhi sekarang buat fungsi cetaknya

public void cetak() {

try {

//Lokasi File Jasper//

String file="C:/Data One/Data lain/New Folder/jual.motor/src/jualmotor/report1.jasper";

String driver="com.mysql.jdbc.Driver";

String konek="jdbc:mysql://localhost:3306/jual";

String user="root";

String password="";

HashMap parameter=new HashMap();

Class.forName(driver);

Connection conn=(Connection) DriverManager.getConnection(konek,user,password);

File reportFile = new File(file);

JasperReport jReport= (JasperReport)JRLoader.loadObject(reportFile.getPath());

JasperPrint jPrint=JasperFillManager.fillReport(jReport,parameter,conn);

JasperViewer.viewReport(jPrint,true);

JasperViewer.setDefaultLookAndFeelDecorated(true);

}

catch (Exception e) {

JOptionPane.showMessageDialog(null, "Tidak Dapat Dicetak!" +e.getMessage(),"Cetak Laporan", JOptionPane.ERROR_MESSAGE);

}

}

· Buat tombol Cetak pada form aplikasi dan masukkan nama fung cetaknya

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

cetak();

}

Jalan kan programnya dan tekan tombol cetak, dan hasilnya seperti yang anda lihat :D