BAB III
ANALISA SISTEM BERJALAN
3.1. Tinjauan Perusahaan
Dalam tinjauan perusahaan ini berisi sejarah perusahaan, struktur organisasi serta fungsi dari masing-masing bagian yang ada dalam perusuplasahaan tersebut.
3.1.1. Sejarah Perusahaan
Perusahaan ini berdri pada tanggal 3 april 2013, pendiri perusahaan ini yaitu Mrs. Sayektiningsih dan penanam saham nya Mr. Sudarmanto, Mr. Lukito, dan Mr. David Firmansyah meraih produksi untuk jasa surpai stritmen pada pada 6 oktober tahun 2013 dengan satu costumer yaitu PT. Piji Sprig Indonesia, dan pada november 2013 costumer CV.Mitsutomo bertambah costumer dari PT. Sinetsu indonesia.
Mulai Desember 2013 CV. Mitsutomo merambah tranding cosemebel, dan sekarang costumer CV. Mitsutomo semakin bertamabah sekarang sudah mempunyai 12 costumer diantara nya adalah:
1. PT. PUJI SPRING INDONESIA 2. PT. SINETSU INDONESIA 3. PT. ELASTOMIK INDONESIA 4. PT. JTEK INDONESIA
5. PT. VIOLAK INDONESIA
6. PT. ICHI INDUSTRI INDONESIA 7. PT. CHUHATSU INDONESIA
8. PT. PS QIOSIN INDONESIA
9. PT. TOKAHASI SPRING INDONESIA 10. PT. KIYO KUYO INDONESIA
11. PT. TRIJAYA SUKSES INDONESIA 12. PT. ULTRA PRIMA ABADI
Sekarang CV. Mitsutomo Jaya Abadi sudah membikin gedung baru yang beralamatkan Sektor 3 Griya Pesona Asri, Duren, Klari, Karawang.
3.1.2 . Struktur Organisasiya dan Funsi
Struktur organisasi adalah susunan atau kerangka dari system organisasi perusahaan dimana menunjukan hubungan antara pemimpin, staff dan para pekerja sesuai dengan bidangnya masing-masing sehingga wewenang dan tanggung jawab dari tiap-tiap karyawan menjadi jelas. CV.Mitsutomo Jaya Abadi dalam melaksanakan kegiatannya menggunakan bentuk organisasi garis atau lini.
Keuntungan bentuk organisasi ini yaitu segala perintah dari atasan kebawahan jelas arahnya dan tidak membingungkan, atasan menjadi tidak otoriter karena tugas dan tanggung jawab dipercayakan pada bagian masing-masing
Adapun struktur organisasi perusahaan merupakan hal yang penting dalam perusahaan. Bentuk struktur organisasi setiap perusahaan berbeda-beda tergantung dari jenis usaha, ukuran dan lainnya.
Commissioner
Director
Staff Admin Seles & Marketing
PPIC Quality
Production &Enginering
Gambar III.1. Struktur Organisasi CV. Mitsutomo Jaya Abadi CV. Mitsutomo Jaya Abadi
1. Commisione : mengawasi kegiatan suatu perusahaan sekaligus penanam saham
2. Dirctor : memimpin perusahaan dengan menerbitkan kebijakan-kebijakan perusahaan
3. Seles & marketing : berperan penting dalam menentukan kemajuan perusahaan
4. Staf admin : mengimput Faktur, PO, Surat Jalan
5. Production & engineering : membantu pelaksanaan produksi untuk mencapai target sesuai order produksi
6. Qualty : memantau perkembangan semua poduct yang di produksi oleh perusahaan untuk memperoleh kualitas barang yang baik
7. PPIC : menerima barang dari costumer 3.2. Tujuan Kasus
3.2,1. Prosedur Sistem Berjalan
Adapun prosedur CV. Mitsutomo adalah sebagai berikut a. Prosedur penerimaan barang
Penerimaan barang barang yang telah di kirim dari costumer b. Prosedur pendisplayan barang
setelah barang diterima lalu dimasukan kedalam gudang, barang di simpan di rakrak yang ada di gudang
c. Prosedur menyiapkan barang
barang yang telah ok disiapkan untuk di kirim d. Prosedur pengeluaran barang
barang yang telah di siapakan dari gudang lalu dimasukan kedalam mobil untuk segera di kirim kepda costumer
e. Prosedur pembuatan laporan
setelah barang di masukan ke dalam mobil lalu membuatkan laporan surat jalan lalu diberikan kepada pihak driver
3.2.2. Aktivity diagram
penerimaan barang memasukan barang ke dalam gudang
menyimpan kerak
menyiapkan barang menerima barang
pembuatan surat jalan memasukan kedalam mobil menerima laporan surat jalan logistik supir Admin gudang
Gambar III.2 Activity Diagram 3.2.3. Spesifikasi sistem berjalan
Dalam spesifikasi sistem berjalan ini sangat diperlukan suatu dokumen untuk pemrosesan data, adapun dokumen yang ada di dalam analaisa sistem persedian barang dan jasa CV. Mitsutomo.
Spesisifikasi dari dokumen-dokumen tersebut adalah: 3.2.4. Bentuk Dokumen Masukan
Dokumen Masukan adalah bentuk dokumen-dokumen yang masuk atau diterima saat proses. Dibawah ini adalah uraian bentuk dokumen yang ada dalam sistem persediaan barang dan jasa.
1. Nama Dokumen : surat jalan
Fungsi : Bukti penerimaan barang Sumber : Supplier
Tujuan : Cv. mitsutomo
Frekuensi : Setiap kali pemesanan barang Jumlah : 1 Lembar
3.2.5. Bentuk Dokumen Keluaran
1. Nama Dokumen : Surat jalan
Fungsi : Untuk Bukti Pengiriman Barang Sumber : Staff Admin
Tujuan : Customer Media : Kertas
Frekuensi : Setiap kali pembelian Jumlah : 1 Lembar
3.2.6. Permasalahan Pokok
Sistem informasi persediaan barang pada CV. Mitsutomo dikarawang umumnya sudah membaik, tetapi masih kurang efektif dalam proses informasi persediaan barang masih manual.
3.2.7. Pemecahan masalah
Dari permasalahan-permasalahan di atas maka penulis menyarankan agar sebaiknya pada CV. Mitsutomo harus tercomputerisasi agar tidak manual lagi, agas bisa lebih efektif lagi dalam proses informasi persedian barang. 3.3. Analisa Kebutuhan Software
3.3.1. Analisa Kebutuhan
Untuk mengetahui kebutuhan sistem yang dibangun admin sebagai administrator sistem dapat mengakses seluruh menu utama yang ada pada sistem dan admin juga dapat menambah, mengedit, membatalkan, atau mengapus data.
A.1 Admin dapat melakukan Login Dapat masuk ke menu Login Dapat input Username Dapat input password
Batal
A.2 Admin dapat mengelola Menu Utama
Mengakses Menu File
Mengakses Menu Data
Mengakses menu Laporan
Mengakses Menu Keluar
A.3 Admin mengakses Menu file
Barang Masuk
Barang Keluar
A.3.1 Barang Masuk
Admin dapat menginput
Admin dapat menghapus
Admin dapat membatalkan Admin dapat keluar
A.3.2 Barang Keluar
Admin dapat menginput
Admin dapat menghapus
Admin dapat membatalkan Admin dapat keluar
A.4 Admin Mengakses Menu Data
Data User
Data Barang
Data Suplier
A.4.1 Data User
Admin dapat menginput
Admin dapat menghapus
Admin dapat membatalkan Admin dapat keluar
A.4.2 Data Barang
Admin dapat menginput
Admin dapat menghapus
Admin dapat membatalkan Admin dapat keluar
A.4.3 Data Suplier
Admin dapat menginput
Admin dapat menghapus
Admin dapat membatalkan Admin dapat keluar
A.5 Admin mengakses Menu Laporan
Barang Masuk
Barang Keluar
A.5.1 Barang Masuk
Admin dapat menginput
Admin dapat menghapus
Admin dapat membatalkan Admin dapat keluar
A.5.2 Barang Keluar
Admin dapat menginput
Admin dapat menghapus
Admin dapat membatalkan Admin dapat keluar
A.5.3 Stok
Admin dapat menginput
Admin dapat menghapus
Admin dapat membatalkan Admin dapat keluar
A.5.4 Jurnal
Admin dapat menginput
Admin dapat menghapus
Admin dapat membatalkan Admin dapat keluar
A.6 Exit
3.3.2. Use Case Diagram A.1 Login Login Batal PAssword User Name Verivikasi Sistem Verivikasi Sistem <<include>> <<include>> <<include>> <<include>>
Tabel III. 1
Deskripsi Use Case Menu Login
Use Case Narative Login
Tujuan Melakukan login dan masuk kedalam
sistem persediaan
Deskripsi Sistem ini memungkinkan aktor untuk
mengakses ke sistem persedian
Skenario Utama
Aktor Admin
Kondisi Awal Aktor membuka aplikasi sistem persedian
Aksi Aktor Reaksi Sistem
Aktor memilih tombol masuk Sistem akan menampilkan textbox untuk mengisi nama pengguna dan password Kondisi akhir Jika perintah sesuai maka sistem akan
masuk kedalam aplikasi pencatatan persedian dan aktor dapat melakukan aktivitas didalam sistem
A.2 Menu Utama menu Utama Menu File Mene data Menu Laporan Keluar <<include>> <<include>> <<include>> <<include>>
Tabel III. 2
Deskripsi Use Case Menu Utama
Use Case Narative Menu Utama
Tujuan Masuk kedalam menu utama
Deskripsi Sistem ini memungkinkan aktor untuk
mengakses ke menu utama, menu data, menu laporan, menu keluar
Skenario Utama
Aktor Admin / operator gudang
Kondisi Awal Aktor masuk ketampilan menu utama
Aksi Aktor Reaksi Sistem
Aktor memilih tombol masuk Sistem akan menampilkan tampilan menu utama
Kondisi akhir Jika perintah sesuai maka sistem akan masuk kedalam aplikasi pencatatan persedian dan aktor dapat melakukan aktivitas didalam sistem
A.3 Menu File
menu file
barang masuk barang keluar
input delelte batal keluar <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> Gambar III.5 Use Case Menu File
Tabel III. 3
Deskripsi Use Case Menu File
Use Case Narative Menu File
Tujuan Masuk kedalam menu file
Deskripsi Sistem ini memungkinkan aktor untuk
mengimput,menghapus, membatalkan, dan keluar
Skenario Utama
Aktor Admin / operator gudang
Kondisi Awal Aktor masuk ketampilan menu file
Aksi Aktor Reaksi Sistem
Aktor memilih tombol masuk Sistem akan menampilkan tampilan menu file
Kondisi akhir Jika perintah sesuai maka sistem akan masuk kedalam aplikasi pencatatan persedian dan aktor dapat melakukan aktivitas didalam sistem
A.4 Menu Data
menu data
data user data barang
input delete batal keluar <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> data suplier <<include>> <<include>> <<include>> <<include>> <<include>> Gambar III.6 Use Case Menu Data
Tabel III. 4
Deskripsi Use Case Menu Data
Use Case Narative Menu Data
Tujuan Masuk kedalam menu Data
Deskripsi Sistem ini memungkinkan aktor untuk
mengimput,menghapus, membatalkan, dan keluar
Skenario Utama
Aktor Admin / operator gudang
Kondisi Awal Aktor masuk ketampilan menu data
Aksi Aktor Reaksi Sistem
Aktor memilih tombol masuk Sistem akan menampilkan tampilan menu data
Kondisi akhir Jika perintah sesuai maka sistem akan masuk kedalam aplikasi pencatatan persedian dan aktor dapat melakukan aktivitas didalam sistem
A.5 Menu Laporan
menu laporan
barang masuk barang keluar
input delete batal keluar <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> stok barang <<include>> <<include>> <<include>> <<include>> <<include>> jurnal <<include>> <<include>> <<include>> <<include>> <<include>>
Tabel III. 5
Deskripsi Use Case Menu Laporan
Use Case Narative Menu Lapuran
Tujuan Masuk kedalam menu Laporan
Deskripsi Sistem ini memungkinkan aktor untuk
mengimput,menghapus, membatalkan, dan keluar
Skenario Utama
Aktor Admin / operator gudang
Kondisi Awal Aktor masuk ketampilan menu laporan
Aksi Aktor Reaksi Sistem
Aktor memilih tombol masuk Sistem akan menampilkan tampilan menu laporan
Kondisi akhir Jika perintah sesuai maka sistem akan masuk kedalam aplikasi pencatatan persedian dan aktor dapat melakukan aktivitas didalam sistem
3.3.3 Activity Diagram A.1 Login
masuk menu login
masukan password masukan user name
masuk kemenu utama
tampilan pesan user name dan password
verivikasi user name dan password
Tidak valid valid
finis
admin sistem
A.2 Menu Utama
menu utama
pilih
keluar menu laporan
menu file menu data
admin sistem
A.3 Menu file
menu file
barang masuk barang keluar
batal hapus keluar pilih finis input c admin sistem
A.4 Menu Data
menu data
data user data suplier
batal hapus keluar pilih finis input c data password admin sistem
A.5 Menu Laporan
menu lapran
barang masuk jurnal
batal hapus keluar pilih finis input c stok barang barang keluar admin sistem
3.4 Desain
3.4.1 Entity Relationship Diaram (ERD)
Akun jurnal Jurnal detail teliti Nm_a kun Tp_ak un keter angan jumla h Tgl_ju rnal No_tr ansak si debit No_ju rnal Kd_p erkira an kredit Barang keluar Kd_p enggu na keter angan tangg al total Data barang keluar Nama _bara ng Tangg al_kel uar Id_ba rang jumla h terinci user Level Nm_p enggu na pass worrd Kd_p enggu na memuat Nm_l ogin Barang masuk Kd_p enggu na Kd_su plier tangg al total Data barang masuk Nm_b arang Tangg al_ma suk Id_ba rang jumla h terinci memuat detail detail Stok barang Kd_b arang keter angan tangg al total Data stok barang Nm_b arang Tgl_b arang _mas uk Tgl_b arang _kelu ar jumla h terinci memuat Id_ba rang detail Gambar III.13 Entity Relationship Diaram (ERD)
3.4.2 Logical Record Structure (LRS) Akun kd_akun PK nama_akun tipe_akun saldo_normal Jurnal no_jurnal PK tgl_jurnal no_transaksi keterangan Jurnal_detail PK no_jurnal kd_perkiraan debit kredit barang_masuk faktur_masuk PK tanggal kd_suplier kd_pengguna suplier kd_suplier PK nama_suplier alamat telephone barangkeluar_rinci PK faktur_keluar kd_barang nama_barang user kd_pengguna PK nama_pengguna nama_login passworrd Barang kd_barang PK nama_barang satuan_barang kelompok_barang stok_barang faktur_barang PK tanggal nama_pengguna total stokbarang_rinci PK faktur_barang tglbarang_masuk tglbarang_keluar total email atas_nama total level barang_keluar faktur_keluar PK tanggal kd_pengguna total barangmasuk_rinci PK faktur_masuk kd_barang nama_barang total stok nama_barang id_barang jumlah
3.4.3. Spesifikasi File
1. Spesifikasi File Barang Masuk
Nama File : File Barang Masuk
Fungsi : Digunakan untuk mengolah barang masuk
Akronim : Admin
Type File : Master
Media File : Hardisk
Organisasi File : Index Sequential
Akses File : Random
Panjang Record : byte
Field Key : kd_masuk
Software : My SQL
Tabel III. 6 Spesifikasi File Barang Masuk
No Elemen Data Akronim Type Panjang Keterangan
1 Faktur Masuk Faktur_Masuk Varchar 35 Primary Key
2 Tanggal Tanggal Nulltable
3 Kode Suplier Kd_Suplier Varchar 40
4 Pengguna Kd_Pengguna Varchar 40
2. Spesifikasi File Suplier
Nama File : File Suplier
Fungsi : Digunakan untuk mengidentifikasikan suplier
Akronim : suplier
Type File : Master
Media File : Hardisk
Organisasi File : Index Sequential
Akses File : Random
Panjang Record : byte Field Key : kd_suplier
Software : My SQL
Tabel III. 7 Spesifikasi File Suplier
No Elemen Data Akronim Type Panjang Keterangan
1 Suplier Kd_Suplier Varchar 15 Primary Key
2 Nama Suplier Nm_Suplier Varchar 15
3 Alamat Alamat Varchar 100
3. Spesifikasi File Barang Keluar
Nama File : File Barang Keluar
Fungsi : Digunakan untuk mengolah barang keluar
Akronim : Admin
Type File : Master
Media File : Hardisk
Organisasi File : Index Sequential
Akses File : Random
Panjang Record : byte Field Key : kd_keluar
Software : My SQL
Tabel III. 8 Spesifikasi File Barang Keluar
No Elemen Data Akronim Type Panjang Keterangan
1 Faktur Masuk Faktur_Masuk Varchar 15 Primary Key
2 Tanggal Tanggal Data Null
3 Pengguna Kd_Pengguna Varchar 15
4. Spesifikasi File Jurnal
Nama File : File Jurnal
Fungsi : Digunakan untuk mencatat Aktifitas
Akronim : transaksi
Type File : Master
Media File : Hardisk
Organisasi File : Index Sequential
Akses File : Random
Panjang Record : byte Field Key : kd_jurnal
Software : My SQL
Tabel III. 9 Spesifikasi File jurnal
No Elemen Data Akronim Type Panjang Keterangan
1 Nomor Jurnal No_Jurnal Varchar 10 Primeary key
2 Tanggal Jurnal Tgl_Jurnal Varchar 10 3 Nomor Transaksi No_Transaksi Varchar 110
3.4.4. Sequence Diagram
aktor
login
login
validasi datamasuk() data tida valid()
data benar login login login login gudang menu utama aktor
Sd Login dan Menu Utama
masuk() menu file Barang Masuk() Barang Keluar() aktor aktor Sd Menu File
masuk menu file() menu file masuk suplier() aktor aktor Sd Menu Data masuk user() masuk barang()
masuk menu laporan() menu laporan jurnal() aktor aktor Sd Menu Laporan barang masuk() barang keluar()
3.4.5. Deployment Diagram <<ActiveXConto>> java <<Aplication>> Program Persediaan <<database>> Pergudangan <<DBM S>> MYSQL Deployment Diagram
3.4.6. User Interface
Gambar III.20 User Interface Form Login
Gambar III.22 User Interface Form Data User
Gambar III.24 User Interface Form Barang Keluar
3.5. Implementasi 3.5.1. Code generation
A. Form Data Persediaan
/*
* To change this template, choose Tools | Templates * and open the template in the editor.
*/ package inventori.client.view; import asep.ws.entity.NumberField; import asep.ws.service.AutoNumber; import com.stripbandunk.jwidget.model.DynamicTableModel; import dao.BarangDao; import dao.GudangDao; import dao.KategoriDao; import entity.Barang; import entity.Gudang; import entity.Kategori; import inventori.client.dialog.Pencarian; import java.awt.event.KeyEvent; import java.rmi.RemoteException; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane;
public class BarangView extends javax.swing.JInternalFrame {
private AutoNumber autoNumber; private KategoriDao kategoriDao; private GudangDao gudangDao;
public BarangView(BarangDao barangDao, AutoNumber autoNumber, KategoriDao kategoriDao, GudangDao gudangDao) {
this.autoNumber=autoNumber; this.barangDao=barangDao; this.kategoriDao=kategoriDao; this.gudangDao=gudangDao; initComponents(); }
public void loadAwal(){ try {
List<Kategori> kategori = kategoriDao.getKategori(); for(Kategori k: kategori){
cboKategori.addItem(k); }
List<Gudang> gudang = gudangDao.getGudang(); for(Gudang g: gudang){
cboGudang.addItem(g); }
} catch (RemoteException ex) {
Logger.getLogger(BarangView.class.getName()).log(Level.SEVERE, null, ex);
} } /*
private boolean isValaidMaxPerHari(){ double mQtyHariMax;
double mQtyHari; boolean result=false; try{ mQtyHari=Double.valueOf(txt_qty_hari.getText()); mQtyHariMax=Double.valueOf(txt_qty_hari_max.getText()); if(mQtyHariMax<=mQtyHari){
JOptionPane.showMessageDialog(this, "kebutuhan maksimal per hari harus > "
+ " dari kebutuhan rata-ratpera per hari "); result=false; }else{ result=true; } }catch(Exception e){ e.getMessage(); } return result; }
private boolean isValidEoq(){ double mTotalSeTahun=0; double mBiySimpan; double mBiySatuan; double mBiyPesan;
boolean result = false;
NumberFormat formatter =
new DecimalFormat("##0.00"); try{
mBiyPesan=Double.valueOf(txt_biy_pesan.getText()); mBiySimpan=Double.valueOf(txt_biy_simpan.getText()); mBiySatuan=Double.valueOf(txtHarga_Beli.getText()); txt_qty_hari.setText(formatter.format(mTotalSeTahun/365)); txt_qty_eoq.setText(formatter.format(Math.sqrt(2*mTotalSeTahun*mBiyPesan / ((mBiySimpan*mBiySatuan)/100)))); result=true; }catch(Exception e){ System.out.println(e.getMessage()); } txt_qty_hari_max.requestFocus(); return result; }
private boolean isValidROP(){ double mLeadTime; double mQtyPerhari; double mQtyPerhariMax; double mSelisih; double mSafetyStok; double mROP; boolean result=false; try{ mLeadTime=Double.valueOf(txt_lead_time.getText()); mQtyPerhari=Double.valueOf(txt_qty_hari.getText()); mQtyPerhariMax=Double.valueOf(txt_qty_hari_max.getText()); mSelisih=mQtyPerhariMax-mQtyPerhari; mSafetyStok=mSelisih*mLeadTime; mROP=(mLeadTime*mQtyPerhari)+mSafetyStok;
txt_rop_safety.setText(String.valueOf(mROP)); result=true; }catch(Exception e){ System.out.println(e); } return result; } */
public boolean validInput(){ boolean valid=false;
if(txtKd_brg.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Kode Masih Kosong"); }else if(txtNm_brg.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Nama Masih Kosong"); }else if(cboKategori.getSelectedIndex()==0){
JOptionPane.showMessageDialog(rootPane, "Kategori Masih Kosong"); }else if(txtHarga_Beli.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Harga Beli Masih Kosong");
}else if(txtHarga_Jual.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Bagian Belum dipilih"); /*
}else if(txt_biy_pesan.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Biaya Tiap Pesan Masih Kosong");
}else if(txt_biy_simpan.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Rate Biaya Simpan Masih Kosong");
}else if(txt_qty_tahun.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Kebutuhan pertahun Masih Kosong");
}else if(txt_qty_hari.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Kebutuhan perhari Masih Kosong");
}else if(txt_qty_hari_max.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Kebutuhan Max per Hari Masih Kosong");
}else if(txt_lead_time.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Lead Time Masih Kosong");
*/
}else if(txtJumlah.getText().trim().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Jumlah Masih Kosong"); }else if(cboGudang.getSelectedIndex()==0){
JOptionPane.showMessageDialog(rootPane, "Gudang Belum dipilih"); }else{ valid=true; } return valid; }
public Barang getBarang(){ Barang b=new Barang();
b.setKd_brg(txtKd_brg.getText()); b.setNm_brg(txtNm_brg.getText());
Kategori k = (Kategori) cboKategori.getSelectedItem(); b.setKategori(k);
b.setHarga_beli(Double.valueOf(txtHarga_Beli.getText())); b.setHarga_jual(Double.valueOf(txtHarga_Jual.getText())); /*
b.setBiy_simpan(Double.valueOf(txt_biy_simpan.getText())); b.setQty_tahun(Double.valueOf(txt_qty_tahun.getText())); b.setQty_hari(Double.valueOf(txt_qty_hari.getText())); b.setQty_hari_max(Double.valueOf(txt_qty_hari_max.getText())); b.setLead_time(Double.valueOf(txt_lead_time.getText())); b.setQty_eoq(Double.valueOf(txt_qty_eoq.getText())); b.setRop_safety(Double.valueOf(txt_rop_safety.getText())); */ b.setJumlah(Integer.valueOf(txtJumlah.getText())); Gudang gudang=(Gudang) cboGudang.getSelectedItem(); b.setGudang(gudang);
return b; }
public void reset(){ txtKd_brg.setText(""); txtNm_brg.setText(""); cboKategori.setSelectedIndex(0); txtHarga_Beli.setText(""); txtHarga_Jual.setText(""); //txt_biy_pesan.setText(""); /* txt_biy_simpan.setText(""); txt_qty_tahun.setText(""); txt_qty_hari.setText(""); txt_qty_hari_max.setText(""); txt_lead_time.setText(""); txt_qty_eoq.setText(""); txt_rop_safety.setText(""); */
txtJumlah.setText(""); cboGudang.setSelectedIndex(0); txtNm_brg.setEnabled(false); cboKategori.setEnabled(false); txtHarga_Beli.setEnabled(false); txtHarga_Jual.setEnabled(false); //txt_biy_simpan.setEnabled(false); //txt_biy_pesan.setEnabled(false); /* txt_qty_tahun.setEnabled(false); txt_qty_hari.setEnabled(false); txt_qty_hari_max.setEnabled(false); txt_lead_time.setEnabled(false); txt_qty_eoq.setEnabled(false); txt_rop_safety.setEnabled(false); */ txtJumlah.setEnabled(false); cboGudang.setEnabled(false); bInsert.setEnabled(false); bNew.setEnabled(true); bUpdate.setEnabled(false); bDelete.setEnabled(false); } @SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); txtKd_brg = new javax.swing.JTextField(); txtNm_brg = new javax.swing.JTextField(); cboKategori = new javax.swing.JComboBox(); jLabel21 = new javax.swing.JLabel();
jLabel22 = new javax.swing.JLabel();
cboGudang = new javax.swing.JComboBox();
txtHarga_Beli = new asep.lib.pkg01.dokument.JTextEx(); txtHarga_Jual = new asep.lib.pkg01.dokument.JTextEx(); txtJumlah = new asep.lib.pkg01.dokument.JTextEx(); jPanel3 = new javax.swing.JPanel();
bNew = new javax.swing.JButton(); bInsert = new javax.swing.JButton(); bUpdate = new javax.swing.JButton(); bDelete = new javax.swing.JButton(); bCari = new javax.swing.JButton(); bRefresh = new javax.swing.JButton();
setClosable(true); setIconifiable(true); setTitle("Barang\n"); jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel1.setText("Kode Barang :"); jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel2.setText("Nama Barang :"); jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel3.setText("Kategori :"); jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel4.setText("Harga Beli :"); jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel5.setText("Harga Jual :"); txtKd_brg.setEnabled(false); txtNm_brg.setEnabled(false); txtNm_brg.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent evt) {
txtNm_brgKeyTyped(evt); }
});
cboKategori.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "- Pilih Salah Satu -" }));
cboKategori.setEnabled(false);
cboKategori.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent evt) {
cboKategoriKeyTyped(evt); }
});
jLabel21.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel21.setText("Jumlah :");
jLabel22.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel22.setText("Gudang :");
cboGudang.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "- Pilih Salah Satu -" }));
cboGudang.setEnabled(false);
cboGudang.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) {
cboGudangKeyPressed(evt); } }); txtHarga_Beli.setEnabled(false); txtHarga_Beli.setInputType(asep.lib.pkg01.dokument.JTextEx.TypeText.Number) ; txtHarga_Beli.setMaxlength(15); txtHarga_Beli.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) {
txtHarga_BeliKeyPressed(evt); } }); txtHarga_Jual.setEnabled(false); txtHarga_Jual.setInputType(asep.lib.pkg01.dokument.JTextEx.TypeText.Number ); txtHarga_Jual.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent evt) {
txtHarga_JualKeyTyped(evt); }
});
txtJumlah.setEnabled(false);
txtJumlah.setInputType(asep.lib.pkg01.dokument.JTextEx.TypeText.Number); txtJumlah.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) { txtJumlahKeyTyped(evt);
} });
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI NG) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.TRAILING, false) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.TRAILING, false) .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 107, Short.MAX_VALUE) .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(20, 20, 20) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.LEADING) .addComponent(txtKd_brg, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(txtNm_brg, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.TRAILING, false) .addComponent(txtHarga_Jual, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(cboKategori, javax.swing.GroupLayout.Alignment.LEADING, 0, 161, Short.MAX_VALUE) .addComponent(txtHarga_Beli, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.LEADING) .addComponent(jLabel21, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel22, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(20, 20, 20) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.LEADING, false) .addComponent(txtJumlah, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(cboGudang, 0, 161, Short.MAX_VALUE)) .addGap(43, 43, 43))) .addContainerGap(89, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI NG) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.BASELINE) .addComponent(jLabel1) .addComponent(txtKd_brg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.BASELINE) .addComponent(jLabel2) .addComponent(txtNm_brg, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.BASELINE) .addComponent(jLabel3) .addComponent(cboKategori, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.BASELINE) .addComponent(jLabel4) .addComponent(txtHarga_Beli, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(12, 12, 12) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.BASELINE) .addComponent(jLabel5) .addComponent(txtHarga_Jual, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.BASELINE) .addComponent(txtJumlah, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel21)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.BASELINE) .addComponent(jLabel22) .addComponent(cboGudang, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(48, Short.MAX_VALUE)) ); bNew.setText("New"); bNew.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bNewActionPerformed(evt); } }); jPanel3.add(bNew); bInsert.setText("Insert"); bInsert.setEnabled(false); bInsert.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bInsertActionPerformed(evt);
} });
bUpdate.setText("Update"); bUpdate.setEnabled(false);
bUpdate.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bUpdateActionPerformed(evt); } }); jPanel3.add(bUpdate); bDelete.setText("Delete"); bDelete.setEnabled(false); bDelete.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bDeleteActionPerformed(evt); } }); jPanel3.add(bDelete); bCari.setText("Cari"); bCari.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bCariActionPerformed(evt); } }); jPanel3.add(bCari); bRefresh.setText("Refresh"); bRefresh.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bRefreshActionPerformed(evt);
} });
jPanel3.add(bRefresh);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA DING) .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(15, 15, 15) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); pack(); }// </editor-fold>
private void bNewActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
try {
// TODO add your handling code here: NumberField field=new NumberField(); field.setAwalan("BRG"); field.setNamaField("kd_brg"); field.setNamaTabel("barang"); field.setPanjangField(8); txtKd_brg.setText(autoNumber.getAutoNumberInt(field)); txtNm_brg.setText(""); cboKategori.setSelectedIndex(0); txtHarga_Beli.setText(""); txtHarga_Jual.setText(""); //txt_biy_pesan.setText(""); /* txt_biy_simpan.setText(""); txt_qty_tahun.setText(""); txt_qty_hari.setText(""); txt_qty_hari_max.setText(""); txt_lead_time.setText("");
txt_qty_eoq.setText(""); txt_rop_safety.setText(""); */ txtJumlah.setText(""); cboGudang.setSelectedIndex(0); txtNm_brg.setEnabled(true); cboKategori.setEnabled(true); txtHarga_Beli.setEnabled(true); txtHarga_Jual.setEnabled(true); //txt_biy_pesan.setEnabled(true); /* txt_biy_simpan.setEnabled(true); txt_qty_tahun.setEnabled(true); //txt_qty_hari.setEnabled(true); txt_qty_hari_max.setEnabled(true); txt_lead_time.setEnabled(true); */ txtJumlah.setEnabled(true); cboGudang.setEnabled(true); bInsert.setEnabled(true); bNew.setEnabled(false); bUpdate.setEnabled(false); bDelete.setEnabled(false); } catch (RemoteException ex) {
Logger.getLogger(PelangganView.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void txtNm_brgKeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
if(evt.getKeyChar()==KeyEvent.VK_ENTER){ cboKategori.requestFocus();
}
}
private void cboKategoriKeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
if(evt.getKeyChar()==KeyEvent.VK_ENTER){ txtHarga_Beli.requestFocus();
}
}
private void bInsertActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
if(validInput()){
Barang barang = getBarang(); if(barang!=null){
try {
if(barangDao.insert(barang)){
JOptionPane.showMessageDialog(rootPane, "Data berhasil disimpan");
loadAwal(); reset(); }else{
JOptionPane.showMessageDialog(rootPane, "Data gagal disimpan");
}
} catch (RemoteException ex) {
Logger.getLogger(BarangView.class.getName()).log(Level.SEVERE, null, ex);
} } }
}
private void bUpdateActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
if(validInput()){
Barang barang = getBarang(); if(barang!=null){
try {
if(barangDao.update(barang)){
JOptionPane.showMessageDialog(rootPane, "Data berhasil diubah");
loadAwal(); reset(); }else{
JOptionPane.showMessageDialog(rootPane, "Data gagal diubah");
}
} catch (RemoteException ex) {
Logger.getLogger(BarangView.class.getName()).log(Level.SEVERE, null, ex); } } } }
private void bDeleteActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
if (validInput()) {
if (JOptionPane.showConfirmDialog(rootPane, "Apakah Anda Mau menghapus ?","Konfirmasi",
JOptionPane.OK_CANCEL_OPTION)==JOptionPane.OK_OPTION) { Barang barang = getBarang();
if (barang != null) { try {
barangDao.delete(barang); loadAwal();
reset();
} catch (RemoteException ex) {
Logger.getLogger(BarangView.class.getName()).log(Level.SEVERE, null, ex); } } } } }
private void bCariActionPerformed(java.awt.event.ActionEvent evt) { try {
// TODO add your handling code here:
List<Barang> barang = barangDao.getBarang(); if(!barang.isEmpty()){
DynamicTableModel tableModel=new DynamicTableModel(barang, Barang.class);
Pencarian pencarian=new Pencarian(); pencarian.setTitle("Pencarian Barang"); pencarian.setTableModel(tableModel); pencarian.loadPencarian();
if(ambilData!=null){ Barang b = barangDao.getById(ambilData); txtKd_brg.setText(b.getKd_brg()); txtNm_brg.setText(b.getNm_brg()); loadAwal(); cboKategori.setSelectedItem(b.getKategori()); txtHarga_Beli.setText(String.valueOf(b.getHarga_beli())); txtHarga_Jual.setText(String.valueOf(b.getHarga_jual())); /* txt_biy_pesan.setText(String.valueOf(b.getBiy_pesan())); txt_biy_simpan.setText(String.valueOf(b.getBiy_simpan())); txt_qty_tahun.setText(String.valueOf(b.getQty_tahun())); txt_qty_hari.setText(String.valueOf(b.getQty_hari())); txt_qty_hari_max.setText(String.valueOf(b.getQty_hari_max())); txt_lead_time.setText(String.valueOf(b.getLead_time())); txt_qty_eoq.setText(String.valueOf(b.getQty_eoq())); txt_rop_safety.setText(String.valueOf(b.getRop_safety())); */ txtJumlah.setText(String.valueOf(b.getJumlah())); cboGudang.setSelectedItem(b.getGudang()); txtNm_brg.setEnabled(true); cboKategori.setEnabled(true); txtHarga_Beli.setEnabled(true); txtHarga_Jual.setEnabled(true); //txt_biy_pesan.setEnabled(true); /* txt_biy_simpan.setEnabled(true); txt_qty_tahun.setEnabled(true);
txt_qty_hari_max.setEnabled(true); txt_lead_time.setEnabled(true); */ txtJumlah.setEnabled(true); cboGudang.setEnabled(true); bUpdate.setEnabled(true); bDelete.setEnabled(true); bInsert.setEnabled(false); bNew.setEnabled(true); } }
} catch (RemoteException ex) {
Logger.getLogger(BarangView.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void bRefreshActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
reset();
}
private void txtHarga_BeliKeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
if(evt.getKeyChar()==KeyEvent.VK_ENTER){ txtHarga_Jual.requestFocus();
}
}
private void cboGudangKeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
if(evt.getKeyChar()==KeyEvent.VK_ENTER){ //txt_biy_simpan.requestFocus();
}
}
private void txtHarga_JualKeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
if(evt.getKeyChar()==KeyEvent.VK_ENTER){ //txt_biy_pesan.requestFocus();
}
}
private void txtJumlahKeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
if(evt.getKeyChar()==KeyEvent.VK_ENTER){ cboGudang.requestFocus(); } }
// Variables declaration - do not modify private javax.swing.JButton bCari;
private javax.swing.JButton bDelete; private javax.swing.JButton bInsert; private javax.swing.JButton bNew; private javax.swing.JButton bRefresh; private javax.swing.JButton bUpdate;
private javax.swing.JComboBox cboGudang; private javax.swing.JComboBox cboKategori;
private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel21; private javax.swing.JLabel jLabel22; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel3;
private asep.lib.pkg01.dokument.JTextEx txtHarga_Beli; private asep.lib.pkg01.dokument.JTextEx txtHarga_Jual; private asep.lib.pkg01.dokument.JTextEx txtJumlah; private javax.swing.JTextField txtKd_brg;
private javax.swing.JTextField txtNm_brg; // End of variables declaration }
3.5.2. Blacbox Testing A. Form Login admin
Tabel III. 10 Hasil Pengujian Blacbox Testing Form Login Admin No Skenario
pengujian
Tase case Hasil yang
diharapkan Hasil pengujian kesimpulan 1 Nama user dan password tidak diisi dan kosong kemudian klik tombol login Nama user: (kosong) Password: (kosong) Sistem akan menolak dan akan menampilkan
“text box harus
diisi” Sesuai harapan valid 2 Mengetikan nama user dan password tidak diisi dan kosong kemudian klik tombol login Nama user: arief hari p Password: (ksong) Sistem akan menolak dan akan menampilkan “text box password harus diisi” Sesuai harapan Valid 3 Nama user tidak diisi (kosong) dan password diisi kemudian klik tombol login Nama user: (kosong) Password: admin Sistem akan menolak dan akan menampilkan
“text box email
harus diisi” Sesuai harapan valid 4 Mengetikan salah satu kondisi salah pada nama Nama user: (kosong) Password Sistem akan menolak akses akan kembali diarahkan Sesuai harapan valid
user atau password kemudian klik tombol login 1234567 (salah) kehalaman login dan menampilkan pesan “maaf email dan password anda salah!!”
3.5.3. Sfesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Windows 8.1 32-bit
ProCesSor Intel core i3-5010u. 2.1Ghz
RAM 2GB
Harddisk 500GB Monitor 10”LED Keyboard 108 Key Primer Dot Matrik Mouse Standar
Software Kebutuhan menjalan aplikasi secara lokal Bahasa scriptvprograming : Neatbeans 8.1 Web server : Java
DBSM : MySQL