• Tidak ada hasil yang ditemukan

4.3 Implementasi Antarmuka

4.3.2 Halaman Daftar Service

4.3.2 Halaman Daftar Service

Halaman daftar service adalah halaman yang diakses dari halaman menu utama, halaman ini berguna untuk memasukkan data pesanan servis sekaligus dapat menyimpan nama konsumen dan kendaraan konsumen baru yang akan mendaftar di bengkel ini. terdapat 4 tab, yaitu data konsumen gambar 4.2, data kendaraan konsumen gambar 4.3, data sukucadang yang digunakan gambar 4.4, dan data jasa ,keluhan kilometer, detil biaya gambar 4.5.

try {

HistoryForm c = new HistoryForm();

c.setVisible(true);

} catch (Exception ex) { }

this.dispose();

}

Gambar 4. 2 Form Data Konsumen

Pada halaman ini terdapat beberapa perintah yang dapat dijalankan diantaranya menyimpan data konsumen baru, mengupdate data konsumen dan pencarian nama konsumen. ketika tombol simpan ditekan maka akan menjalankan perintah untuk menyimpan konsumen yaitu simpan konsumen (idkonsu, nm, nohp, alamat) yang akan melakukan penyimpanan data konsumen yang berisi idkonsumen, nama, nohp, dan alamat dari konsumen berikut ini adalah perintah yang di jalankan untuk menyimpan data konsumen baru disajikan dalam listing 4.11.

Listing 4. 11 Simpan Konsumen Baru if (tomsimpan1.getText().equals("Simpan")) {

DaftarControl df = null;

try {

DaftarControl.koneksi().simpankonsumen(idkonsu, nm, nohp, alamat);

refreshkonsumen();

JtIdkonsumen.setText("");

JtNama.setText("");

JtNohp.setText("");

JtAlamat.setText("");

JOptionPane.showMessageDialog(PanelKomsumen, "Data Konsumen Berhasil Ditambahkan");

} catch (SQLException ex) {

Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, ex);

}

Ketika tombol update di tekan maka akan melakukan update terhadap data konsumen dengan perintah update konsumen(idkonsu, nm, nohp, alamat) maka akan mengupdate nama no hp dan alamat dari konsumen dengan id konsumen tertentu yang akan disajikan dalam listing 4.12

Listing 4. 12 Update Data Konsumen

Untuk melakukan pencarian administrator harus memasukkan nama dari konsumen pada kolom nama lalu menekan enter untuk melakukan pencarian lalu sistem akan mencari pencarian dengan memanggil perintah carinama(nm) yang berfungsi untuk mencari semua nama yang memiliki kesamaan dengan apa yang di isikan administrator di kolom nama lalu akan di masukkan dalam list tabel dengan perintah TabelKonsumen.setmodel(model); yang akan disajikan dalam listing 4.13.

Listing 4. 13 Cari Konsumen else if (tomsimpan1.getText().equals("Update")) {

DaftarControl df = null;

JOptionPane.showMessageDialog(PanelKomsumen, "Data Konsumen Berhasil DiUpdate");

} catch (SQLException ex) {

Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, ex); }

String nm = JtNama.getText();

try {

List<Daftar> konsum = (List<Daftar>) DaftarControl.koneksi().carinama(nm);

TabelModelKonsumen model = new TabelModelKonsumen(konsum);

TabelKonsumen.setModel(model);

} catch (Exception e) {

Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, e);

}

tombsimpan1();

Setelah selesai dengan data konsumen maka akan di lanjutkan ke halaman berikutnya yaitu halaman data kendaraan sesuai dengan pemilik kendaraan tersebut seperti pada gambar 4.3.

Gambar 4. 3 Form Data Kendaraan

Untuk halaman kedua akan menampilkan data kendaraan dari konsumen yang telah di pilih di form data konsumen, dalam tab ini ada 2 perintah yang dapat dilakukan yaitu untuk menyimpan data kendaraan baru dan mengupdate data kendaraan yang sudah ada. Ketika akan melakukan penyimpanan data kendaraan baru maka admin harus mengisikan secara lengkap data kendaraan lalu menekan tombol simpan yang akan melakukan penyimpanan data kendaraan baru kedalam database dengan perintah simpanmotor(nopol, jenis, norangka, nomesin, idkonsum) yang akan disajikan dalam listing 4.14.

Listing 4. 14 Simpan Data Kendaraan if (tomsimpan2.getText().equals("Simpan")) {

DaftarControl df = null;

try {

DaftarControl.koneksi().simpanmotor(nopol, jenis, norangka, nomesin, idkonsum);

JOptionPane.showMessageDialog(PanelKomsumen, "Data Motor Berhasil Ditambahkan");

} catch (SQLException ex) {

Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, ex);

}

Dan ketika ingin mengupdate data kendaraan maka administrator harus memilih data kendaraan yang sudah ada dari dalam tabel , secara otomatis data akan langsung mengisi form data kendaraan dan tombol simpan berubah menjadi tombol update setelah itu administrator mengubah data dari kendaraan dan setelah itu menekan tombol update yang akan menjalankan perintah update motor (nopol, jenis, norangka, nomesin, idkonsum) yang akan mengupdate data dari kendaraan sesuai dengan nopol dari kendaraan yang dipilih tadi yang akan disajikan dalam listing 4.15.

Listing 4. 15 Update Data Kendaraan

Ketika administrator selesai memasukkan data kendaraan lalu menekan lanjut maka akan menuju ke form berikutnya yaitu form suku cadang seperti pada gambar 4.4.

Gambar 4. 4 Form Suku Cadang

Pada form ini akan menampilkan kategori suku cadang dengan pencarian berdasarkan merek kendaraan yang telah dipilih pada form sebelumnya, pada form ini

else if (tomsimpan2.getText().equals("Update")) { DaftarControl df = null;

try {

DaftarControl.koneksi().updatemotor(nopol, jenis, norangka, nomesin, idkonsum);

JOptionPane.showMessageDialog(PanelKomsumen, "Data Motor Berhasil Diupdate");

} catch (SQLException ex) {

Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, ex);

}

perintah yang dapat dilakukan adalah perintah menambahkan suku cadang dengan cara menekan tombol tambah untuk membuka form pemesanan suku cadang yang di inginkan dengan memanggil perintah jdialog tambah sukucadang.setVisible(true);, tetapi ketika suku cadang sudah habis maka akan langsung diberikan pesan bahwa suku cadang sudah habis dengan perintah JOptionPane.showMessageDialog(this, "Maaf Stok barang sudah habis"); yang akan disajikan dalam listing 4.16.

Listing 4. 16 Menampilkana Jdialog Tambah Suku Cadang

Maka akan membuka form tambah pesanan seperti gambar 4.5 .

Gambar 4. 5 Form Pemesanan Barang

Ada 2 tombol dalam form ini yang memiliki fungsi untuk menambahkan suku cadang kedalam pesanan dan tombol batal untuk membatalkan pesanan suku cadang tersebut. ketika administrator akan menambahkan suku cadang kedalam pesanan maka administrator harus mengisikan jumlah pesanan dari suku cadang tersebut, setelah mengisikan jumlah pesanan lalu administrator menekan tombol pesan yang akan menjalankan perintah df.kurangstock(nonota, idbarang, diambil, totharga, stock, idsuku, pemesanan);, tetapi sebelum itu akan melakukan pengecekan stok suku cadang dengan perintah if (Integer.parseInt(stok) == 0 maka akan memunculkan pesan bahwa stok habis dengan perintah JOptionPane.showMessageDialog(this, "Maaf Stock Sudah Habis");, sedangkan jika jumlah pesanan melebihi stok yang ada else if (Integer.parseInt(stok) < ambil) maka akan memunculkan pesan pesanan melebihi stok

int row2 = TableSukucadang.getSelectedRow();

String idsukucadang = TableSukucadang.getValueAt(row2, 0).toString();

try {

if (DaftarControl.koneksi().cekstock(idsukucadang).equals("0")) {

JOptionPane.showMessageDialog(this, "Maaf Stok barang sudah habis");

} else {

jdialogtambahsukucadang.setLocationRelativeTo(this);

this.disable();

jdialogtambahsukucadang.setVisible(true);

yang ada dengan perintah JOptionPane.show MessageDialog(this, "Maaf Pesanan Anda Melebihi Stock Yang Ada"); dan jika pesanan sama dengan atau lebih kecil dari stok yang ada else if (Integer.parseInt(stok) >= ambil) maka akan menjalankan pengecekan apakah sudah ada barang dengan id yang dipilih if (d.getNonota() == null) maka akan melakukan simpan dengan perintah df.kurangstock(nonota, idbarang, diambil, totharga, stock, idsuku, pemesanan); ketika idbarang yang dicari sudah ada maka akan melakukan update dengan perintah statusupdate = df.kurangstock(nonota, idbarang, diambil, totharga, stock, idsuku, pemesanan); yang akan disajikan dalam listing 4.17.

try {

int row2 = TableSukucadang.getSelectedRow();

String idsukucadang = TableSukucadang.getValueAt(row2, 0).toString();

String stok = DaftarControl.koneksi().cekstock(idsukucadang);

} else if (Integer.parseInt(stok) >= ambil) { try {

String Status = "";

int totharga = hargasat * diambil;

Daftar d = new Daftar(); Berhasil Ditambahkan Kedalam Daftar Pesanan");

} else {

JOptionPane.showMessageDialog(PanelKomsumen, "Maaf terjadi kesalahan dalam pemesanan barang, mohon ulangi proses pemesanan");

Listing 4. 17 Tambah dan Update Pesanan

Ketika admin ingin membatalkan transaksi maka admin menekan tombol batal maka akan menjalankan perintah jdialogtambahsukucadang.dispose(); untuk menutup form pemesanan sukucadang yang akan disajikan dalam listing 4.18.

Listing 4. 18 Batal Pemesanan

Setelah selesai memasukkan suku cadang yang dipilih dan menekan tombol lanjut maka akan memunculkan form keluhan, jasa, kilometer, dan total biaya servis seperti pada gambar 4.6.

jdialogtambahsukucadang.dispose();

this.enable();

requestFocus();

} } else {

String pemesanan = "2";

statusupdate = df.kurangstock(nonota, idbarang, diambil, totharga, stock, idsuku, pemesanan);

if (statusupdate.equals("1")) {

JOptionPane.showMessageDialog(PanelKomsumen, "Sukucadang Berhasil Ditambahkan Kedalam Daftar Pesanan");

} else {

JOptionPane.showMessageDialog(PanelKomsumen, "Maaf terjadi kesalahan dalam pemesanan barang, mohon ulangi proses pemesanan");

} }

Gambar 4. 6 Form Keluhan, Jasa, Kilometer. Total Biaya

Pada halaman ini akan ada beberapa perintah yang bisa di jalankan yaitu untuk tombol tambah jasa akan memanggil perintah untuk memanggil form untuk memanggil form tambah jasa dengan menjalankan perintah jdialogtambahjasa.setVisible(true);, yang akan disajikan dalam listing 4.19.

Listing 4. 19 Menampilkan Form Tambah Jasa

Dan akan memanggil form tambah jasa seperti pada gambar 4.7 dibawah ini.

Gambar 4. 7 Form Tambah Jasa

Administrator bengkel diminta untuk memilih jasa sesuai jasa yang dibutuhkan untuk proses servis setelah itu mengisikan keterangan tambahan pada kolom keterangan

jdialogtambahjasa.setLocationRelativeTo(this);

this.disable();

jdialogtambahjasa.setVisible(true);

dan untuk kolom biaya jasa awal dan akhir akan secara otomatis terisi, ketika administrator memasukkan diskon dalam persen maka sistem akan mengecek apakah diskon melebihi 100% dengan perintah if (disc persen <= 100) ketika diskon tidak melebihi 100% maka secara otomatis kolom diskon rp akan terisi dengan otomatis dan biaya jasa akhir akan di hitung dengan perintah int hasil = (int) (biaya - diskonrp); maka kolom biaya akhir akan langsung terisi jika diskon melebihi 100% maka akan ada pesan kesalahan dengan perintah JOptionPane. show Message Dialog(this, "Discount tidak bisa lebih dari 100%"); yang akan disajikan dalam listing 4.20.

Listing 4. 20 Penghitungan Diskon

Ketika admin menekan tombol batal maka akan menjalankan perintah jdialogtambahjasa.dispose(); untuk menutup form tambah yang akan disajikan dalam listing 4.21.

Listing 4. 21 Menutup Form Tambah Jasa Integer discpersen = Integer.valueOf(jtinternaldiscountpersen.getText());

Integer biaya = Integer.valueOf(jtinternalbiayajasa.getText());

if (discpersen <= 100) {

Integer diskonrp = (biaya * discpersen / 100);

String diskonrupiah = Integer.toString(diskonrp);

int hasil = (int) (biaya - diskonrp);

jtinternaldiscountrp.setText(diskonrupiah);

jtinternaljasabiayaakhir.setText(Integer.toString(hasil));

jtinternaldiscountrp.setEditable(false);

} else {

JOptionPane.showMessageDialog(this, "Discount tidak bisa lebih dari 100%");

jtinternaldiscountpersen.setText("");

}

internaljasatomboltambah.setEnabled(true);

if (comboxjasa.getSelectedItem().equals("Pilih Jasa")) { jdialogtambahjasa.dispose();

Ketika admin selesai mengisikan data dari jasa yang digunakan dan menekan tombol simpan maka akan memanggil perintah DaftarControl.koneksi(). simpanjasa (nonota, jasa, keterangan, biaya, discrp); untuk menyimpan jasa yang dipilih tadi kedalam database jika jasa berhasil ditambahkan akan memunculkan pesan berhasil dengan perintah JOptionPane. showMessageDialog(PanelKomsumen, "Jasa Berhasil Ditambahkan"); dan jika jasa yang dimasukkan merupakan jasa yang sudah dimasukkan maka sistem akan memberikan pesan kesalahan dengan perintah JOptionPane.

showMessage Dialog(this, "Maaf Anda Sudah Memasukkan Jasa Ini"); yang akan disajikan dalam listing 4.22.

Listing 4. 22 Menyimpan Jasa Servis

Sedangkan untuk tombol pesan akan menjalankan perintah reportSource =

"./Reports/Faktur Penjualann.jasper"; yang digunakan memanggil jasper report sebagai nota penjualan dan untuk mengisi jasper JasperPrint jasperPrint = JasperFillManager.fill Report (reportSource, params, kon); dan perintah yang digunakan untuk menyimpan data pesanan kedalam database adalah DaftarControl.koneksi().simpanorder(nonota, kmmasuk, tanggal, keluhan); yang akan disajikan dalam listing 4.23

DaftarControl df;

df = DaftarControl.koneksi();

Daftar d = new Daftar();

d = df.cekjasa(nonota, jasa);

if (d.getNonota() == null) {

DaftarControl.koneksi().simpanjasa(nonota, jasa, keterangan, biaya, discrp);

refreshjasa();

jdialogtambahjasa.dispose();

this.enable();

this.requestFocus();

JOptionPane.showMessageDialog(PanelKomsumen, "Jasa Berhasil Ditambahkan");

} else {

JOptionPane.showMessageDialog(this, "Maaf Anda Sudah Memasukkan Jasa Ini");

}

Listing 4. 23 Memanggil Jasper Report

dan akan memanggil jasper laporan nota seperti gambar 4.8 dibawah ini Connection kon = null;

params.put("Biayatotalservice", Biayatotalservice);

try {

JasperPrint jasperPrint = JasperFillManager.fillReport(reportSource, params, kon);

JasperViewer.viewReport(jasperPrint, false);

} catch (JRException ex) { ex.printStackTrace();

}

Gambar 4. 8 Jasper Laporan Nota Transaksi

Dokumen terkait