Assalamualaikum
W.r W.b
Nama : Deal Rajudwi
Dermawan
NIM : 161011400142
Kelas : 02TPLP001
Untuk
Tugas Kali ini yang ingin saya bahas adalah bagaimana membuat Form Aplikasi
Penjualan Tiket Kereta Api menggunakan Bahasa Pemograman Java NetBeans. sudah jangan
berbelit belit sok monggo langsung kita praktekkan.
Untuk
awal design Form Aplikasi Jawa Swing Gui pada Netbeans sebagai berikut :
design Form aplikasi penjualan tiket
kereta api seperti yang diatas
Ubahlah
Properties Name dari setiap component atau atribut sebagai berikut :).
OBJECT
|
VARIABLE NAME
|
TEXT
|
jLabel1
|
jLabel1
|
AGEN PENJUALAN TIKET
|
jLabel2
|
jLabel2
|
Nama
|
jLabel3
|
jLabel3
|
Kode Kereta
|
jLabel4
|
jLabel4
|
Nama Kereta
|
jLabel5
|
jLabel5
|
Jurusan
|
jLabel6
|
jLabel6
|
Jenis Tiket
|
jLabel7
|
jLabel7
|
Harga
|
jLabel8
|
jLabel8
|
Jumlah Beli
|
jLabel9
|
jLabel9
|
Total Bayar
|
jTextField1
|
tnama
|
“kosongkan”
|
jTextField2
|
tkereta
|
“kosongkan”
|
jTextField3
|
tharga
|
“kosongkan”
|
jTextField4
|
tbeli
|
“kosongkan”
|
jTextField5
|
ttotalbayar
|
“kosongkan”
|
jRadioButton1
|
rekonomi
|
Ekonomi
|
jRadioButton2
|
rbisnis
|
Bisnis
|
jRadioButton3
|
reksekutif
|
Eksekutif
|
jRadioButton4
|
rexpress
|
Express
|
jButton1
|
bhapus
|
Hapus
|
jButton2
|
bbeli
|
Beli
|
jButton3
|
blagi
|
Beli Lagi
|
jButton4
|
bkeluar
|
Keluar
|
jTable1
|
hsl
|
-
|
jComboBox1
|
cmbkode
|
------Pilih
Kode------,KRL001, KRL002, KRL003
|
jComboBox2
|
cmbjurusan
|
“kosongkan”
|
Berikut
ini adalah alur programnya :
- untuk awal kita akan menuliskan nama pembeli pada textField nama.
- kemudian memilih kode kereta yang akan ditumpangi, dimana saat kode kereta dipilih akan berpengaruh pada jurusan kereta tersebut serta tujuannya.
- saat sudah dipilih maka nama kereta akan tampil pada textField nama kereta dan Cmb Jurusan akan ditambahkan item sesuai dengan jurusan kereta yang dipilih.
- kemudian kita akan memilih jurusan dari Kereta tersebut yang akan memperngaruhi nilai harga tiket untuk dewasa dan anak anak
- kemudian memilih apakah pembelian ekonomi atau bisnis, yang dimana harga akan tampil pada textField harga.
- masukkan jumlah beli, kemudian enter dimana nanti akan menghasilkan jumlah total bayar yang didapatkan dari jumlah tiket yang dibeli dikalikan dengan harga tiket yang berlaku untuk kereta dan jurusan yang dipilih
- kemudian klik button beli untuk menampilkan hasil dari pembelian di dalam table
Berikut
ini adalah listing Kodenya
: saya jabarkan satu persatu agar temen temen bisa memahami dan gak pusing
ngeliatnya.
Sebelum memulai pengkodeannya kita
harus mengimprort dahulu seperti dibawah ini ;
import
javax.swing.JOptionPane;
import
javax.swing.table.DefaultTableModel;
Buat variable terlebih dahulu untuk
proses perhitungan yang akan dilakukan. taruh pada public class JFrameKRL
extends javax.swing.jFrame, seperti yang dibawah ini;
public
class JFrameKRL extends javax.swing.JFrame {
int max=0;
int
hekonomi,hbisnis,heksekutif,hexpress,harga,beli,totalbayar,index;
Selanjutnya masukan code seperti
dibawah ini :
DefaultTableModel model;
public JFrameKRL() {
initComponents();
model=(DefaultTableModel)tab.getModel();
Selanjutnya sourcecode pada action perform cmbkode dimana
pada saat pemilihan kode akan menampilkan jurusan pada cmb jurusan yang sesuai
dengan kereta tersebut. dan nanti nama kereta akan tampil pada textField nama
kereta. Seperti yang dibawah ini :
private
void cmbkodeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(cmbkode.getSelectedItem().equals("KRL001")){
tkereta.setText("ARGOJATI");
cmbjurusan.removeAllItems();
cmbjurusan.addItem("---- JURUSAN
----");
cmbjurusan.addItem("JAKARTA -
CIREBON");
cmbjurusan.addItem("JAKARTA -
SOLO");
}
else
if(cmbkode.getSelectedItem().equals("KRL002")){
tkereta.setText("ARGO
PARAHYANGAN");
cmbjurusan.removeAllItems();
cmbjurusan.addItem("---- JURUSAN
----");
cmbjurusan.addItem("JAKARTA -
BANDUNG");
cmbjurusan.addItem("JAKARTA -
YOGYAKARTA");
}
else
if(cmbkode.getSelectedItem().equals("KRL003")){
tkereta.setText("ARGO BROMO
ANGGREK");
cmbjurusan.removeAllItems();
cmbjurusan.addItem("---- JURUSAN
----");
cmbjurusan.addItem("JAKARTA -
SURABAYA");
cmbjurusan.addItem("JAKARTA -
PEKALONGAN");
}else
if(cmbkode.getSelectedItem().equals("KRL004")){
tkereta.setText("ARGO WILIS");
cmbjurusan.removeAllItems();
cmbjurusan.addItem("---- JURUSAN
----");
cmbjurusan.addItem("BANDUNG -
SURABAYA");
cmbjurusan.addItem("BANDUNG -
LEMPUYANGAN");
}else if(cmbkode.getSelectedItem().equals("KRL005")){
tkereta.setText("GAYAMANA");
cmbjurusan.removeAllItems();
cmbjurusan.addItem("---- JURUSAN
----");
cmbjurusan.addItem("JAKARTA -
MALANG");
cmbjurusan.addItem("JAKARTA -
WONOSARI");
}else if(cmbkode.getSelectedItem().equals("----
Pilih Kode ----")){
tkereta.setText("");
cmbjurusan.removeAllItems();
}
}
ini code pemilihan jurusan dimana
akan menentukan nilai harga berdasakan Ekonomi atau Bisnis walaupun belum
ditampilkan untuk harga yang akan dipilih.
private void cmbjurusanActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
if(cmbjurusan.getSelectedItem().equals("----
JURUSAN ----")){
buttonGroup2.clearSelection();
tharga.setText("");
}else
if(cmbjurusan.getSelectedItem().equals("JAKARTA - CIREBON")){
hekonomi=75000;
hbisnis=150000;
heksekutif=100000;
hexpress=200000;
}else
if(cmbjurusan.getSelectedItem().equals("JAKARTA - SOLO")){
hekonomi=75000;
hbisnis=155000;
heksekutif=200000;
hexpress=250000;
}
else
if(cmbjurusan.getSelectedItem().equals("JAKARTA - BANDUNG")){
hekonomi=100000;
hbisnis=300000;
heksekutif=250000;
hexpress=350000;
}
else
if(cmbjurusan.getSelectedItem().equals("JAKARTA - YOGYAKARTA")){
hekonomi=75000;
hbisnis=275000;
heksekutif=300000;
hexpress=370000;
}
else if(cmbjurusan.getSelectedItem().equals("JAKARTA
- SURABAYA")){
hekonomi=50000;
hbisnis=100000;
heksekutif=150000;
hexpress=200000;
}
else
if(cmbjurusan.getSelectedItem().equals("JAKARTA - PEKALONGAN")){
hekonomi=95000;
hbisnis=170000;
heksekutif=200000;
hexpress=250000;
}else
if(cmbjurusan.getSelectedItem().equals("BANDUNG - SURABAYA")){
hekonomi=95000;
hbisnis=150000;
heksekutif=200000;
hexpress=250000;
}else
if(cmbjurusan.getSelectedItem().equals("BANDUNG - LEMPUYANGAN")){
hekonomi=45000;
hbisnis=90000;
heksekutif=100000;
hexpress=200000;
}else
if(cmbjurusan.getSelectedItem().equals("JAKARTA - MALANG")){
hekonomi=55000;
hbisnis=100000;
heksekutif=200000;
hexpress=350000;
}else
if(cmbjurusan.getSelectedItem().equals("JAKARTA - WONOSARI")){
hekonomi=75000;
hbisnis=170000;
heksekutif=200000;
hexpress=250000;
}
}
Menampilkan pada textField untuk Harga Jenis Tiket Ekonomi
berdasarkan jurusan yang berlaku.
if(rekonomi.isSelected()){
tharga.setText(String.valueOf(hekonomi));
}
rbisnis.setSelected(false);
reksekutif.setSelected(false);
rexpress.setSelected(false);
}
Menampilkan pada textField untuk Harga Jenis Tiket Bisnis
berdasarkan jurusan yang berlaku.
if(rbisnis.isSelected()){
tharga.setText(String.valueOf(hbisnis));
}
rekonomi.setSelected(false);
reksekutif.setSelected(false);
rexpress.setSelected(false);
}
Menampilkan pada textField untuk
Harga Jenis Tiket Ekonomi berdasarkan jurusan yang berlaku.
if(reksekutif.isSelected()){
tharga.setText(String.valueOf(heksekutif));
}
rekonomi.setSelected(false);
rbisnis.setSelected(false);
rexpress.setSelected(false);
}
Menampilkan pada textField untuk
Harga Jenis Tiket Ekonomi berdasarkan jurusan yang berlaku.
if(rexpress.isSelected()){
tharga.setText(String.valueOf(hexpress));
}
rekonomi.setSelected(false);
reksekutif.setSelected(false);
rbisnis.setSelected(false);
}
code action performe pada textField beli yang akan
mempengaruhi jumlah total bayar dimana didapat dari nilai harga tiket dan
jumlah beli tiket.
private
void tbeliActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
beli=Integer.parseInt(tbeli.getText());
harga=Integer.parseInt(tharga.getText());
totalbayar=beli*harga;
ttotalbayar.setText(String.valueOf(totalbayar));
}
Ini code action pada Button bbeli
dimana jika dklik akan menampilkan didalam table ;
String nama = tnama.getText();
String jenis = null;
if (rekonomi.isSelected()){
jenis="Ekonomi";
}else if (reksekutif.isSelected()){
jenis="Eksekutif";
}else if (rbisnis.isSelected()){
jenis="Bisnis";
}else if (rexpress.isSelected()){
jenis="Express";
}
String namakereta = tkereta.getText();
String kode = (String)
cmbkode.getSelectedItem();
String jr = (String)
cmbjurusan.getSelectedItem();
String hrga = tharga.getText();
String jumlah = tbeli.getText();
String total = ttotalbayar.getText();
if (tnama.getText().isEmpty()||tkereta.getText().isEmpty()||cmbkode.getSelectedItem().toString().isEmpty()||cmbjurusan.getSelectedItem().toString().isEmpty()||tharga.getText().isEmpty()||tbeli.getText().isEmpty()||ttotalbayar.getText().isEmpty()){
JOptionPane.showMessageDialog(null,
"error :setiap kolom harus diisi","pesan kesalahan",
JOptionPane.WARNING_MESSAGE);
}
else{
String kd = tbeli.getText();
boolean sudah=false;
for (int i = 0; i <
tab.getRowCount(); i++) {
if(kd.equals(tab.getValueAt(i,
1))){
model.setValueAt(tnama.getText(),tab.getSelectedRow(),1);
model.setValueAt(jenis,tab.getSelectedRow(),2);
model.setValueAt(tkereta.getText(),tab.getSelectedRow(),3);
model.setValueAt(cmbkode.getSelectedItem().toString(),tab.getSelectedRow(),4);
model.setValueAt(cmbjurusan.getSelectedItem().toString(),tab.getSelectedRow(),5);
model.setValueAt(tharga.getText(),tab.getSelectedRow(),6);
model.setValueAt(tbeli.getText(),tab.getSelectedRow(),7);
model.setValueAt(ttotalbayar.getText(),tab.getSelectedRow(),8);
sudah = true;
}
}
if(!sudah){
model.insertRow(model.getRowCount(),new
Object[]{max+1,nama,kode,namakereta,jenis,jr,harga,jumlah,total});
max++;
}
}
}
Ini code action pada Button blagi
dimana jika diklik semua akan kembali ke kondisi awal untuk pembelian tiket
lainnya
private
void blagiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
model.removeRow(tab.getSelectedRow());
tharga.setText("");
tnama.setText("");
cmbkode.setSelectedItem("----
Pilih Kode ----");
tkereta.setText("");
tbeli.setText("");
ttotalbayar.setText("");
cmbjurusan.removeAllItems();
rekonomi.setSelected(false);
rbisnis.setSelected(false);
reksekutif.setSelected(false);
rexpress.setSelected(false);
rekonomi.setEnabled(true);
rbisnis.setEnabled(true);
reksekutif.setEnabled(true);
rexpress.setEnabled(true);
max=0;
for (int i = 0; i <
tab.getRowCount(); i++) {
model.setValueAt(max+1, i, 0);
max++;}
}
Dan ini code action buat button
Hapus ;
model.removeRow(tab.getSelectedRow());
tnama.setText("");
tharga.setText("");
tkereta.setText("");
tbeli.setText("");
ttotalbayar.setText("");
cmbkode.setSelectedItem("----
Pilih Kode ----");
cmbjurusan.removeAllItems();
rekonomi.setSelected(false);
rbisnis.setSelected(false);
reksekutif.setSelected(false);
rexpress.setSelected(false);
rekonomi.setEnabled(true);
rbisnis.setEnabled(true);
reksekutif.setEnabled(true);
rexpress.setEnabled(true);
max=0;
for (int i = 0; i <
tab.getRowCount(); i++) {
model.setValueAt(max+1, i, 0);
max++;}
}
Dan terakhir code action pada Button
bkeluar.
private
void bkeluarActionPerformed(java.awt.event.ActionEvent evt) {
int answer
= JOptionPane.showConfirmDialog(null, "Thanks", "Selesai",
JOptionPane.OK_OPTION);
if (answer == JOptionPane.OK_OPTION){
dispose();
} int answer =
JOptionPane.showConfirmDialog(null, "Thanks", "Selesai",
JOptionPane.OK_OPTION);
if (answer == JOptionPane.OK_OPTION){
dispose();
)
}
Berikut
ini adalah hasil proram setelah dijalankan
Awalnya
akan muncul JOptionPane seperti dibawh
ini;
pada saat program dijalankan
pada saat button beli lagi di klik
kembali ke kondisi awal
Dan
apabila klik buuton keluar maka akan menutup program tersebut.,dan akan muncul
JOptionPanenya seperti yg dibawah ini ;
Nah
selesai sudah tugas saya kali ini, mohon maaf ada kesalahan dalam menjelaskan
program yang diatas in, semoga tidak mengecewakan Dosen saya, . Baiklah temen
Temen semua semoga menginspirasi dan berguna untuk temen temen yang sedang
belajar.
Wassalamualaikum w.r w.b