UAS ALGORITMA DATABASE KERETA API
APLIKASI TIKET KERETA API MENGGUNAKAN REPORT WIZARD
Aplikasi Tiket Kereta Api, Aplikasi ini saya buat menggunakan netbeans dengan menggunakan bahasa pemrograman java dengan Report Wizard , Aplikasi ini digunakan untuk mempermudah jasa kereta api, Saya akan memberikan penjelasan tentang Aplikasi tiket kereta api menggunakan report wizarddalam rangka memenuhi tugas UAS Algoritma dan Pemrograman.
Source Frame Menu Tiket Kereta Api
package algo03;
import javax.swing.JOptionPane;
import java.awt.event.*;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
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.view.JasperViewer;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author NOVIDA
*/
public class FrameTiketkereta extends javax.swing.JFrame {
String jenispenumpang;
Connection koneksi;
/**
* Creates new form FrameTiketkereta
*/
public FrameTiketkereta() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
TxtPenumpang = new javax.swing.JTextField();
TxtNamaKereta = new javax.swing.JTextField();
CmbKode = new javax.swing.JComboBox<>();
jPanel3 = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
CmbJurusan = new javax.swing.JComboBox<>();
Rdbanak = new javax.swing.JRadioButton();
RdbDewasa = new javax.swing.JRadioButton();
TxtTarifTiket = new javax.swing.JTextField();
jPanel4 = new javax.swing.JPanel();
jLabel8 = new javax.swing.JLabel();
TxtJumlahBayar = new javax.swing.JTextField();
TxtJumlahBeli = new javax.swing.JTextField();
jLabel11 = new javax.swing.JLabel();
BtnMulai = new javax.swing.JButton();
BtnSelesai = new javax.swing.JButton();
BtnProses = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
BtnCetakLaporan = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});
jPanel1.setBackground(new java.awt.Color(255, 255, 153));
jLabel1.setFont(new java.awt.Font("Times New Roman", 0, 24)); // NOI18N
jLabel1.setText("Tiket Kereta Api");
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Pesan Tiket", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 0, 12))); // NOI18N
jLabel2.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel2.setText("Nama Penumpang ");
jLabel3.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel3.setText("Kode Kereta Api");
jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel4.setText("Nama Kereta Api");
CmbKode.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "-Pilih Kode-", "001", "002", "003", "004" }));
CmbKode.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CmbKodeActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(CmbKode, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtPenumpang, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtNamaKereta, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(89, 89, 89))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtPenumpang, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(CmbKode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtNamaKereta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
);
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Harga Tiket", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 0, 12))); // NOI18N
jPanel3.addContainerListener(new java.awt.event.ContainerAdapter() {
public void componentAdded(java.awt.event.ContainerEvent evt) {
jPanel3ComponentAdded(evt);
}
});
jLabel5.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel5.setText("Jurusan");
jLabel6.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel6.setText("Jenis Penumpang");
jLabel7.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel7.setText("Tarif Tiket");
CmbJurusan.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "-Pilih Jurusan-", "Stasiun Jakarta Kota", "Stasiun Jayakarta", "Stasiun Mangga Besar", " " }));
CmbJurusan.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
CmbJurusanItemStateChanged(evt);
}
});
CmbJurusan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CmbJurusanActionPerformed(evt);
}
});
Rdbanak.setText("Anak-anak");
Rdbanak.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
RdbanakActionPerformed(evt);
}
});
RdbDewasa.setText("Dewasa");
RdbDewasa.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
RdbDewasaActionPerformed(evt);
}
});
TxtTarifTiket.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
TxtTarifTiketActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel6)
.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
.addComponent(CmbJurusan, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(87, 87, 87))
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(Rdbanak)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(RdbDewasa))
.addComponent(TxtTarifTiket, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(CmbJurusan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Rdbanak)
.addComponent(RdbDewasa))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtTarifTiket, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Penjualan", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 0, 12))); // NOI18N
jLabel8.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel8.setText("Jumlah Beli");
jLabel11.setText("Jumlah Bayar");
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(TxtJumlahBeli, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 44, Short.MAX_VALUE)
.addComponent(jLabel11)
.addGap(35, 35, 35)
.addComponent(TxtJumlahBayar, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtJumlahBeli, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel11)
.addComponent(TxtJumlahBayar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
BtnMulai.setText("Mulai");
BtnMulai.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnMulaiActionPerformed(evt);
}
});
BtnSelesai.setText("Selesai");
BtnSelesai.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnSelesaiActionPerformed(evt);
}
});
BtnProses.setText("Proses");
BtnProses.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnProsesActionPerformed(evt);
}
});
jButton1.setText("Simpan");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
BtnCetakLaporan.setText("Cetak Laporan");
BtnCetakLaporan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnCetakLaporanActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(167, 167, 167)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(39, 39, 39)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(BtnMulai)
.addGap(18, 18, 18)
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(BtnProses)
.addGap(18, 18, 18)
.addComponent(BtnSelesai)
.addGap(18, 18, 18)
.addComponent(BtnCetakLaporan)
.addGap(45, 45, 45)))))
.addContainerGap(20, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(28, 28, 28)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(36, 36, 36)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(BtnMulai)
.addComponent(BtnSelesai)
.addComponent(BtnProses)
.addComponent(jButton1)
.addComponent(BtnCetakLaporan))
.addContainerGap(88, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
public void buka_db() {
try {
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/tugasuasalgoo", "root", "");
} catch (ClassNotFoundException e) {
System.out.println("Error #1 " + e.getMessage());
System.exit(0);
} catch (SQLException e) {
System.out.println("Error #2 : " + e.getMessage());
System.exit(0);
}
}
private void CmbKodeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void RdbanakActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
RdbDewasa.setSelected(false);
jenispenumpang="Anak-anak";
}
private void RdbDewasaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Rdbanak.setSelected(false);
jenispenumpang="Dewasa";
}
private void BtnSelesaiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null,"Yakin Selesai?","Konfirmasi Selesai",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){
dispose();
}
}
private void CmbJurusanActionPerformed(java.awt.event.ActionEvent evt) {
if (CmbJurusan.getSelectedItem().equals("Stasiun Jakarta Kota")){
TxtTarifTiket.setText("10000");
}else if(CmbJurusan.getSelectedItem().equals("Stasiun Jayakarta")){
TxtTarifTiket.setText("8000");
}else if (CmbJurusan.getSelectedItem().equals("Stasiun Mangga Besar")){
TxtTarifTiket.setText("6000");
}else {
TxtTarifTiket.setText("");
}
}
private void BtnProsesActionPerformed(java.awt.event.ActionEvent evt) {
int tarif=Integer.parseInt(TxtTarifTiket.getText());
int jmltiket=Integer.parseInt(TxtJumlahBeli.getText());
int jmlbyr=tarif*jmltiket;
TxtJumlahBayar.setText(""+jmlbyr);
}
private void TxtTarifTiketActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
buka_db();
}
private void CmbJurusanItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
}
private void BtnMulaiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
TxtPenumpang.setText("");
TxtNamaKereta.setText("");
TxtTarifTiket.setText("");
TxtJumlahBeli.setText("");
TxtJumlahBayar.setText("");
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
String host ="jdbc:mysql://localhost:3306/tugasuasalgoo",
user ="root",
pass ="";
Connection con =(Connection)DriverManager.getConnection(host,user,pass);
String NamaPenumpang=TxtPenumpang.getText();
String NamaKeretaApi=TxtNamaKereta.getText();
int TarifTiket=Integer.parseInt(TxtTarifTiket.getText());
int JumlahBeli=Integer.parseInt(TxtJumlahBeli.getText());
int JumlahBayar=Integer.parseInt(TxtJumlahBayar.getText());
Statement st=con.createStatement();
st.executeUpdate("INSERT INTO Tabelkereta(NamaPenumpang,NamaKeretaApi,TarifTiket,JumlahBeli,JumlahBayar)VALUES('"+NamaPenumpang+"','"+NamaKeretaApi+"','"+TarifTiket+"','"+JumlahBeli+"','"+JumlahBayar+"')");
st.close();
JOptionPane.showMessageDialog(null,"Berhasil");
} catch (SQLException err){
JOptionPane.showMessageDialog(null,err.getMessage());
}
}
private void BtnCetakLaporanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
buka_db();
try {
koneksi.createStatement();
Map<String,Object>maps= new
HashMap<String,Object>();
JasperReport JRP=
JasperCompileManager.compileReport("src/algo03/tiketkereta.jrxml");
JasperPrint JFILL =
JasperFillManager.fillReport(JRP,maps,koneksi);
JasperViewer.viewReport(JFILL,false);
}catch (Exception rptexcpt){
JOptionPane.showMessageDialog(null,"SalahReport");
System.out.println(rptexcpt);
}
}
private void jPanel3ComponentAdded(java.awt.event.ContainerEvent evt) {
// TODO add your handling code here:
}
/**
* @param args the command line arguments
}*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(FrameTiketkereta.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(FrameTiketkereta.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(FrameTiketkereta.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(FrameTiketkereta.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FrameTiketkereta().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton BtnCetakLaporan;
private javax.swing.JButton BtnMulai;
private javax.swing.JButton BtnProses;
private javax.swing.JButton BtnSelesai;
private javax.swing.JComboBox<String> CmbJurusan;
private javax.swing.JComboBox<String> CmbKode;
private javax.swing.JRadioButton RdbDewasa;
private javax.swing.JRadioButton Rdbanak;
private javax.swing.JTextField TxtJumlahBayar;
private javax.swing.JTextField TxtJumlahBeli;
private javax.swing.JTextField TxtNamaKereta;
private javax.swing.JTextField TxtPenumpang;
private javax.swing.JTextField TxtTarifTiket;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
// End of variables declaration
}
Sekian dan Penjelasan saya mudah- mudahan bermanfaat selamat malam :)
Aplikasi Tiket Kereta Api, Aplikasi ini saya buat menggunakan netbeans dengan menggunakan bahasa pemrograman java dengan Report Wizard , Aplikasi ini digunakan untuk mempermudah jasa kereta api, Saya akan memberikan penjelasan tentang Aplikasi tiket kereta api menggunakan report wizarddalam rangka memenuhi tugas UAS Algoritma dan Pemrograman.
Saya akan melampirkan Flowchart terlebih dahulu
Setelah itu saya akan melampirkan gambar Design Log In
sebelum masuk ke menu utama tiket kereta api terlebih dahulu kita log in terlebih dahulu :
Design Berhasil Log In
Gambar diatas adalah Design Form log in , langkah pertama sebelum masuk ke Menu Utama Tiket Kereta Api dan jika berhasil log in maka akan langsung masuk ke Menu utama Tiket Kereta Api.
Berikut ini Source yg saya gunakan untuk Form Log in
Design
Menu Tiket Kereta Api
Gambar diatas itu Menu Tiket Kereta Api ketika sudah
Berhasil LOGIN
Dan langkah selanjutnya
kita tinggal mengisi form yg tersedia di Menu Tiket Kereta Api sesuai dengan perintah nya.
Langkah pertama mengisi nama terlebih dahulu :
Langkah
Kedua memilih kode kereta api :
Langkah Ketiga Mengisi Nama Kereta Api
Langkah Ke empat Memilih Jurusan sesuai yang kita tuju dan tarif tiket sudah otomatis
Langkah ke lima memilih Jenis Penumpang :
Langkah Ke enam Mengisi Jumlah Beli tiket dan itu Otomatis sudah terhitung Jumlah Bayarnya :
Langkah selanjutnya tekan button selesai dan kembali ke Menu Utama :
Selanjutnya buton simpan, digunakan untuk proses penyimpan ke database, semua tiket yg terjual akan tersimpan di database , sebelum itu harus menkoneksikannya ke database terlebih dahulu,apabila sudah terkoneksi ke database, localhost sudah tersimpan seperti yang saya lampirkan :
selanjutnya adalah buton cetak, buton cetak untuk menampilkan report wizard seperti gambar dibawah ini :
Selanjutnya saya akan melampirkan Design Button Cetak Laporan :
Source Frame Menu Tiket Kereta Api
package algo03;
import javax.swing.JOptionPane;
import java.awt.event.*;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
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.view.JasperViewer;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author NOVIDA
*/
public class FrameTiketkereta extends javax.swing.JFrame {
String jenispenumpang;
Connection koneksi;
/**
* Creates new form FrameTiketkereta
*/
public FrameTiketkereta() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
TxtPenumpang = new javax.swing.JTextField();
TxtNamaKereta = new javax.swing.JTextField();
CmbKode = new javax.swing.JComboBox<>();
jPanel3 = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
CmbJurusan = new javax.swing.JComboBox<>();
Rdbanak = new javax.swing.JRadioButton();
RdbDewasa = new javax.swing.JRadioButton();
TxtTarifTiket = new javax.swing.JTextField();
jPanel4 = new javax.swing.JPanel();
jLabel8 = new javax.swing.JLabel();
TxtJumlahBayar = new javax.swing.JTextField();
TxtJumlahBeli = new javax.swing.JTextField();
jLabel11 = new javax.swing.JLabel();
BtnMulai = new javax.swing.JButton();
BtnSelesai = new javax.swing.JButton();
BtnProses = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
BtnCetakLaporan = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});
jPanel1.setBackground(new java.awt.Color(255, 255, 153));
jLabel1.setFont(new java.awt.Font("Times New Roman", 0, 24)); // NOI18N
jLabel1.setText("Tiket Kereta Api");
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Pesan Tiket", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 0, 12))); // NOI18N
jLabel2.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel2.setText("Nama Penumpang ");
jLabel3.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel3.setText("Kode Kereta Api");
jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel4.setText("Nama Kereta Api");
CmbKode.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "-Pilih Kode-", "001", "002", "003", "004" }));
CmbKode.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CmbKodeActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(CmbKode, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtPenumpang, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtNamaKereta, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(89, 89, 89))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtPenumpang, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(CmbKode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtNamaKereta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
);
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Harga Tiket", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 0, 12))); // NOI18N
jPanel3.addContainerListener(new java.awt.event.ContainerAdapter() {
public void componentAdded(java.awt.event.ContainerEvent evt) {
jPanel3ComponentAdded(evt);
}
});
jLabel5.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel5.setText("Jurusan");
jLabel6.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel6.setText("Jenis Penumpang");
jLabel7.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel7.setText("Tarif Tiket");
CmbJurusan.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "-Pilih Jurusan-", "Stasiun Jakarta Kota", "Stasiun Jayakarta", "Stasiun Mangga Besar", " " }));
CmbJurusan.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
CmbJurusanItemStateChanged(evt);
}
});
CmbJurusan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CmbJurusanActionPerformed(evt);
}
});
Rdbanak.setText("Anak-anak");
Rdbanak.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
RdbanakActionPerformed(evt);
}
});
RdbDewasa.setText("Dewasa");
RdbDewasa.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
RdbDewasaActionPerformed(evt);
}
});
TxtTarifTiket.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
TxtTarifTiketActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel6)
.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
.addComponent(CmbJurusan, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(87, 87, 87))
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(Rdbanak)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(RdbDewasa))
.addComponent(TxtTarifTiket, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(CmbJurusan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Rdbanak)
.addComponent(RdbDewasa))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtTarifTiket, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Penjualan", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 0, 12))); // NOI18N
jLabel8.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel8.setText("Jumlah Beli");
jLabel11.setText("Jumlah Bayar");
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(TxtJumlahBeli, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 44, Short.MAX_VALUE)
.addComponent(jLabel11)
.addGap(35, 35, 35)
.addComponent(TxtJumlahBayar, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtJumlahBeli, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel11)
.addComponent(TxtJumlahBayar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
BtnMulai.setText("Mulai");
BtnMulai.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnMulaiActionPerformed(evt);
}
});
BtnSelesai.setText("Selesai");
BtnSelesai.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnSelesaiActionPerformed(evt);
}
});
BtnProses.setText("Proses");
BtnProses.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnProsesActionPerformed(evt);
}
});
jButton1.setText("Simpan");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
BtnCetakLaporan.setText("Cetak Laporan");
BtnCetakLaporan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnCetakLaporanActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(167, 167, 167)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(39, 39, 39)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(BtnMulai)
.addGap(18, 18, 18)
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(BtnProses)
.addGap(18, 18, 18)
.addComponent(BtnSelesai)
.addGap(18, 18, 18)
.addComponent(BtnCetakLaporan)
.addGap(45, 45, 45)))))
.addContainerGap(20, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(28, 28, 28)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(36, 36, 36)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(BtnMulai)
.addComponent(BtnSelesai)
.addComponent(BtnProses)
.addComponent(jButton1)
.addComponent(BtnCetakLaporan))
.addContainerGap(88, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
public void buka_db() {
try {
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/tugasuasalgoo", "root", "");
} catch (ClassNotFoundException e) {
System.out.println("Error #1 " + e.getMessage());
System.exit(0);
} catch (SQLException e) {
System.out.println("Error #2 : " + e.getMessage());
System.exit(0);
}
}
private void CmbKodeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void RdbanakActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
RdbDewasa.setSelected(false);
jenispenumpang="Anak-anak";
}
private void RdbDewasaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Rdbanak.setSelected(false);
jenispenumpang="Dewasa";
}
private void BtnSelesaiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null,"Yakin Selesai?","Konfirmasi Selesai",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){
dispose();
}
}
private void CmbJurusanActionPerformed(java.awt.event.ActionEvent evt) {
if (CmbJurusan.getSelectedItem().equals("Stasiun Jakarta Kota")){
TxtTarifTiket.setText("10000");
}else if(CmbJurusan.getSelectedItem().equals("Stasiun Jayakarta")){
TxtTarifTiket.setText("8000");
}else if (CmbJurusan.getSelectedItem().equals("Stasiun Mangga Besar")){
TxtTarifTiket.setText("6000");
}else {
TxtTarifTiket.setText("");
}
}
private void BtnProsesActionPerformed(java.awt.event.ActionEvent evt) {
int tarif=Integer.parseInt(TxtTarifTiket.getText());
int jmltiket=Integer.parseInt(TxtJumlahBeli.getText());
int jmlbyr=tarif*jmltiket;
TxtJumlahBayar.setText(""+jmlbyr);
}
private void TxtTarifTiketActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
buka_db();
}
private void CmbJurusanItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
}
private void BtnMulaiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
TxtPenumpang.setText("");
TxtNamaKereta.setText("");
TxtTarifTiket.setText("");
TxtJumlahBeli.setText("");
TxtJumlahBayar.setText("");
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
String host ="jdbc:mysql://localhost:3306/tugasuasalgoo",
user ="root",
pass ="";
Connection con =(Connection)DriverManager.getConnection(host,user,pass);
String NamaPenumpang=TxtPenumpang.getText();
String NamaKeretaApi=TxtNamaKereta.getText();
int TarifTiket=Integer.parseInt(TxtTarifTiket.getText());
int JumlahBeli=Integer.parseInt(TxtJumlahBeli.getText());
int JumlahBayar=Integer.parseInt(TxtJumlahBayar.getText());
Statement st=con.createStatement();
st.executeUpdate("INSERT INTO Tabelkereta(NamaPenumpang,NamaKeretaApi,TarifTiket,JumlahBeli,JumlahBayar)VALUES('"+NamaPenumpang+"','"+NamaKeretaApi+"','"+TarifTiket+"','"+JumlahBeli+"','"+JumlahBayar+"')");
st.close();
JOptionPane.showMessageDialog(null,"Berhasil");
} catch (SQLException err){
JOptionPane.showMessageDialog(null,err.getMessage());
}
}
private void BtnCetakLaporanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
buka_db();
try {
koneksi.createStatement();
Map<String,Object>maps= new
HashMap<String,Object>();
JasperReport JRP=
JasperCompileManager.compileReport("src/algo03/tiketkereta.jrxml");
JasperPrint JFILL =
JasperFillManager.fillReport(JRP,maps,koneksi);
JasperViewer.viewReport(JFILL,false);
}catch (Exception rptexcpt){
JOptionPane.showMessageDialog(null,"SalahReport");
System.out.println(rptexcpt);
}
}
private void jPanel3ComponentAdded(java.awt.event.ContainerEvent evt) {
// TODO add your handling code here:
}
/**
* @param args the command line arguments
}*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(FrameTiketkereta.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(FrameTiketkereta.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(FrameTiketkereta.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(FrameTiketkereta.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FrameTiketkereta().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton BtnCetakLaporan;
private javax.swing.JButton BtnMulai;
private javax.swing.JButton BtnProses;
private javax.swing.JButton BtnSelesai;
private javax.swing.JComboBox<String> CmbJurusan;
private javax.swing.JComboBox<String> CmbKode;
private javax.swing.JRadioButton RdbDewasa;
private javax.swing.JRadioButton Rdbanak;
private javax.swing.JTextField TxtJumlahBayar;
private javax.swing.JTextField TxtJumlahBeli;
private javax.swing.JTextField TxtNamaKereta;
private javax.swing.JTextField TxtPenumpang;
private javax.swing.JTextField TxtTarifTiket;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
// End of variables declaration
}

















Komentar
Posting Komentar