bab iii pembahasan - bina sarana informatika · gambar iii.3 berikut ini merupakan use case diagram...
TRANSCRIPT
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Suatu perusahaan yang bergerak di bidang konveksi tentunya tidak terlepas
dari persedian bahan baku. CV. Yuri yang terletak di jalan. Tanjung Raya 2
Pontianak yang setiap melakukan pekejaannya selalu di bawah pengawasan
seorang direktur. Untuk itulah penulis akan membahas mengenai sejarah
perusahaan serta struktur organisasi.
3.1.1. Sejarah Perusahaan
CV. Yuri adalah suatu perusahaan yang bergerak pada bidang konveksi
yang kegiatan utamanya adalah membuat pakaian khususnya pada sekolah dan
universitas. CV. Yuri pertama kali berdiri pada tahun 2000 yaitu dengn nama Yuri
Collection, pada tahun 2003 perusahaan membuat badan hukum CV, sejak saat
itu nama Yuri collection berubah nama menjadi CV. Yuri yang beralamatkan di
jalan. Tanjung Raya 2 No. 108 Pontianak.
3.1.2. Struktur Organisasi dan Fungsinya
Umumnya untuk dapat mengelola dan mengontrol suatu pekerjaan dengan
baik dan optimal terutama dalam pengendalian sumber daya manusia, perusahaan
menerapkan manajeman yang dituangkan kedalam bentuk struktur organisasi.
Struktur organisasi merupakan sarana penting untuk dapat menjalankan
pekerjaannya dan memiliki fungsi masing-masing dengan adanya struktur
organisasi maka akan semakin memperudah dalam mengelola segala urusan dan
permasalahan yang ada.
1
2
Bentuk struktur organisasi yang terdapat dalam CV. Yuri sebagai berikut :
Sumber : CV. Yuri (2018)
Gambar III.1. Struktur Organisasi CV. Yuri
1. Direktur
secara garis besar adalah pemegang posisi tertinggi di perusahaan. Adapun
tugas serta wewenang Direktur adalah memimpin seluruh Dewan atau Komite
Eksekutif, menawarkan visi dan imajinasi di tingkat tertinggi, mengendalikan
perusahaan sehingga tercapainya keselarasan dan efektivitas mengambil
keputusan pada situasi tertentu yang dianggap perlu, yang diputuskan dalam
rapat. Menjalankan tanggung jawab perusahaan sesuai dengan standar etika
dan hukum.
2. Wakil Direktur
Dalam kesahariannya Wakil Direktur membantu Direktur dalam menjalankan
amanah tertinggi roda organisasi dan peningkatan anggota dan kader
ikhwan/akhwat. Tugas mengkoordinasi manajer-manajer bidang dalam
Drs. Izhar
Direktur
Drs. H. Ahmad Nurdin
Wakil Direktur
Helda, S.Ag
Bendahara
3
menjalankan fungsinya. Mengkoordinasi Manajer pengkaderan dalam
peningkatan kualitas dan kuantitas anggota. Membantu Direktur dalam
menjalankan tugas-tugasnya. Menjadi teladan yang baik bagi pengurus, dan
memotivasi pengurus yang lain.
3. Bendahara
Bendahara adalah orang yang bertugas untuk membuat pembukuan dan
mengatur keuangan dalam sebuah perusahaan. Adapun tugas dari bendahara
bisa kita lihat yaitu mengurus keuangan kas, melaporkan hasil pengeluaran
kas dan pemasukan uang, mencatat pengeluaran uang di kas.
3.2. Tinjauan Kasus
Pada bab ini, penulis akan menjelaskan dan membahas mengenai
persediaanbahan baku pada perusahaan konveksi mulai dari penerimaan bahan
baku sampai proses pencatatan laporan persediaan, proses penerimaan yang
dilakukan direktur dan bendahara mencatatnya sebagai barang masuk ke gudang,
dan jika direktur mengeluarkan barang yang ada di dalam gudang untuk sebagai
bahan produksi maka bendahara akan mencatatnya sebagai barang keluar,
kemudian bendahara membuat laporan persediaan berdasarkan stok yang ada di
dalam gudang. Dalam kasus ini penulis memperoleh langsung informasi dari
pemilik perusahaan konveksi tersebut.
3.2.1. Proses Bisnis Sistem Berjalan
Bagian bendahara menerima nota barang yang diberi oleh direktur setiap
terjadi pemesanan kepada supplier. Kemudian bendahara mencatatnya sebagai
barang masuk. Jika direktur ingin mengeluarkan barang dari gudang untuk di
4
produksi maka bagian bendahara membuat kartu pengeluaran barang dan akan di
catat sebagai barang keluar. Setelah itu, bagian bendahara membuat laporan
persediaan yang di ambil dari pencatatan barang masuk dan barang keluar.
Kemudian bendahara menyerahkan laporan tersebut kepada direktur, jika direktur
menyetujui laporan tersebut maka bendahara akan mengarsipkannya.
3.2.2. Activity Diagram
Diagram ini menggambarkan tentang aktifitas yang terjadi pada sistem, dari
proses awal pertama hingga proses akhir diagram ini juga menunjukan langkah-
langkah dalam proses kerja sistem yang kita buat.
Sumber : hasil penelitian (2018)
Gambar III.2. Activity Diargam
5
3.2.3. Dokumen Masukan
1. Nota Barang
Nama : Nota barang
Fungsi : sebagai bukti penerimaan barang dari supplier
Sumber : Supplier
Tujuan : CV. Yuri
Media : Kertas
Jumlah : Satu lembar
Frekuensi : Setiap terjadinya pembelian bahan baku
Format : Lampiran A.1
3.2.4. Dokumen Keluaran
1. Kartu Pengeluaran Barang
Nama : Kartu pengeluaran barang
Fungsi : Sebagai bukti pengeluaran barang dari gudang
Sumber : Bendahara
Tujuan : Direktur
Media : Kertas
Jumlah : Satu lembar
Frekuensi : Setiap terjadi pesanan
Format : Lampiran B.1
2. Buku Catatan Barang Masuk
Nama : Buku catatan barang masuk
Fungsi : Sebagai bukti pencatatan barang masuk
Sumber : Bendahara
6
Tujuan : Direktur
Media : Buku
Jumlah : Satu Buku
Frekuensi : Setiap terjadi pemasukan barang ke gudang
Format : Lampiran B.2
3. Buku Catatan Barang Keluar
Nama : Buku catatan barang keluar
Fungsi : Sebagai bukti pencatatan barang keluar
Sumber : Bendahara
Tujuan : Direktur
Media : Buku
Jumlah : Satu Buku
Frekuensi : Setiap terjadi pengeluaran barang dari gudang
Format : Lampiran B.3
3.2.5. Permasalahan Pokok
Menurut hasil riset yang telah dilakukan kepada CV. Yuri dapat diketahui
masalah yang sedang dihadapi oleh CV. Yuri yaitu :
1. Pencatatan persediaan bahan baku di perusahaan tersebut masih sangat
sederhanan dengan menggunakan pembukuan biasa.
2. Keamanan laporan pada pencatatan tersebut tidak terjamin bahkan besar
peluang untuk menipulasi data barang dan kebersihan serta kerapian pada
pencatatan sangat kurang.
7
3. Sering kali terjadi kesalahan jika ingin melihat pencatatan yang telah disimpan
beberapa bulan lalu, dikarenakan Pencatatan persediaan seperti itu mudah
rusak bahkan hilang.
3.2.6. Pemecahan Masalah
Dengan melihat berbagai masalah yang ada pada sistem berjalan di atas,
maka untuk mengatasi permasalahan tersebut kami mengajukan alternatif
pemecahan masalah yaitu dengan menggunakan sistem terkomputerisasi pada
pencatatan persediaan bahan baku, ada pun aplikasi yang digunakan adalah
NetBeans ID 8.1 dan database nya menggunakan MySQL.
Beberapa keuntungan yang dapat di peroleh dari penggunaan aplikasi tersebut
adalah:
1. Penyelesaian pekerjaan dapat dilakukan dengan cepat dan akurat, sehingga
menghasilkan suatu informasi yang benar tentang data-data yang ada.
2. Penanganan data dan penyimpanan data akan lebih baik sehingga
terciptanya suatu ketertiban dalam hal pencatatan data.
3. Faktor kesalahan lebih kecil atau jarang terjadi dibandingkan dengan
menggunakan sistem yang belum terkomputerisasi.
3.3. Analisis Kebutuhan Software
Adalah proses pengumpulan kebutuhan dilakukan secara intensif untuk
menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat
lunak seperti apa yang dibutuhkan oleh user.
3.3.1. Analisis Kebutuhan Fungsional
Analisa kebutuhan fungsional merupakan sebuah penghubung antara
rancangan dan rekasaya sistem, jadi analisa kebutuhan ini merupakan tahapan
8
sebelum membuat desain sistem. Berikut ini analisa kebutuhan fungsional atas
aplikasi persediaan CV. Yuri :
A. Halaman Bendahara
A.1. Melakukan login
A.2. Mengelola data karyawan
A.3. Mengelola data barang
A.4. Mengelola data barang masuk
A.5. Mengelola data barang keluar
A.6. Mengelola laporan persediaan
A.7. Mengelola jurnal persediaan
B. Halaman Administrator
B.1. Mengelola Data Pegawai
9
3.3.2. Use Case Diagram
1.Halaman Bendahara
Gambar III.3 berikut ini merupakan use case diagram halaman bendahara
pada Sistem Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.3. Use case Diargram Bedahara
2. Halaman Administrator
Gambar III.4 berikut ini merupakan use case diagram halaman bendahara
pada Sistem Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.4. Use case Diargram Administrator
10
Tabel III.1
Deskripsi Use case Halaman Bendahara
Usecase Narative Halaman BendaraKebutuhan Fungsional A1-A7Tujuan Bendahara dapat melihat dan mengolah
data yang ada dalam halaman
bendahara.Deskripsi Sistem ini memungkinkan aktor untuk
masuk ke halaman bendahara yang
didalamnya terdapat data persediaan
bahan baku.Skenario Utama
Aktor Bendahara
Kondisi awal Bendahara melakukan login
Aksi Aktor Reaksi Sistem
1. Aktor memilih data barang
2. Aktor memilih data barang masuk
3. Aktor memilih data barang keluar
4. Aktor memilih laporan persediaan
5. Aktor memilih jurnak persediaan
Sistem ini akan menampilkan informasi
data karyawan
Sistem ini akan menampilkan informasi
data barang
Sistem ini akan menampilkan informasi
data barang masuk
Sistem ini akan menampilkan informasi
data barang keluar
Sistem ini akan menampilkan informasi
laporan persediaan
Sistem ini akan menampilkan informasi
laporan persediaanKondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan apa yang diinginkanTabel III.2
Deskripsi Use case Halaman Administrator
11
Usecase Narative Halaman Administrator
Kebutuhan Fungsional B1
Tujuan Administrator dapat melihat dan
mengolah data yang ada dalam
halaman administratorDeskripsi Sistem ini memungkinkan aktor untuk
masuk ke halaman administrator yang
didalamnya terdapat data pegawai.
Skenario Utama
Aktor Administrator
Kondisi awal Administrator melakukan login
Aksi Aktor Reaksi Sistem
1. Aktor memilih data pegawai Sistem ini akan menampilkan
informasi data pegawai.Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan apa yang diinginkan
12
3.3.3. Activity Diagram
Activity Diagram Bendahara
1. Halaman bendahara melakukan login
Gambar III.5 berikut ini merupakan Activity Diagram login pada Sistem
Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.5. Activity Diargram login
13
2. Bendahara mengelola data barang
Gambar III.6 berikut ini merupakan Activity Diagram data barang pada
Sistem Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.6. Activity Diargram Data Barang
14
3. Bendahara mengelola barang masuk
Gambar III.7 berikut ini merupakan Activity Diagram barang masuk pada
Sistem Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.7. Activity Diargram Data Barang Masuk
15
4. Bendahara mengelola barang keluar
Gambar III.8 berikut ini merupakan Activity Diagram data barang keluar pada
Sistem Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.8. Activity Diargram Data Barang Keluar
16
5. Bendahara mencetak laporan persediaan
Gambar III.9 berikut ini merupakan Activity Diagram laporan persediaan
pada Sistem Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
17
Sumber : Hasil Penelitian (2018)
Gambar III.9. Activity Diargram Laporan Persediaan
10. Bendahara mencetak jurnal
Gambar III.10 berikut ini merupakan Activity Diagram jurnal pada Sistem
Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
18
Sumber : Hasil Penelitian (2018)
Gambar III.10. Activity Diargram Jurnal Persediaan
11. Bendahara mengakses menu utama
Gambar III.11 berikut ini merupakan Activity Diagram menu utama pada
Sistem Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
19
Sumber : Hasil Penelitian (2018)
Gambar III.11. Activity Diargram Menu Utama
Activity Diargram Administrator
Gambar III.12 berikut ini merupakan Activity Diagram data pegawai pada
Sistem Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
20
Sumber : Hasil Penelitian (2018)
Gambar III.12. Activity Diargram Data Pegawai
3.4. Desain
Desain adalah suatu sistem yang berlaku untuk segala jenis perancangan
yang mana beratnya dilakukan dengan melihat segala sesuatu persoalan tidak
secara terpisah atau tersendiri, namun sebagai suatu kesatuan dimana satu
masalhnya dengan lainnya saling terkait. Di sisi lain juga diartikan sebagai
perencanaan dalam pembuatan sebuah objek, sistem, komponen atau struktur.
3.4.1. Entity Relationship Diagram (ERD)
21
Sumber : Hasil Penelitian (2018)
Gambar III.13. Entity Relationship Diagram (ERD)
3.4.2. Logical Record Structure (LRS)
22
Sumber : Hasil Penelitian (2018)
Gambar III.14. Logical Record Structure (LRS)
3.4.3. Spesifikasi File
1. Spesifikasi file data pegawai
a. Nama pegawai :Pegawai
b. Akronim : Pegawai.sql
c. Fungsi File : Mengelola data pegawai
d. Tipe File : Master data
e. Organisasi File : Index Sequential
f. Akses File : Random
g. Media :hardisk
h. Primary key :Id_pegawai
i. Foregin key : -
j. Software : MySQL 3.2.2
k. Panjang record :88
Tabel III.2.
Spesifikasi file PegawaiNo Elemen Data Akronim Tipe Panjang Keterangan
23
Record1 Id pegawai id_peg Varchar 10 Primary Key
2 Nama pegawai nama Varchar 20
3 Alamat Alamat Varchar 20
4 Username User Varchar 10
5 Password Pass Varchar 8
6 Jabatan Jabatan Varchar 20
Sumber :Hasil Rancangan (2018)
2. Spesifikasi file data barang masuk
a. Nama file : data barang masuk
b. Akronim : barang_masuk.sql
c. Fungsi File : Mengelola data barang masuk
d. Tipe File : Master data
e. Organisasi File : Index Sequential
f. Akses File : Random
g. Media :hardisk
h. Primary key :no_BM
i. Foregin key :id_pegawai
j. Panjang record : 40
Tabel III.3.
Spesifikasi File Barang Masuk
No Elemen Data Akronim Tipe PanjangRecord
Keterangan
1 No BM no_bm Varchar 10 Primary Key
2 Id pegawai id_peg Varchar 10 Foregin Key
24
3 Tanggal BM Tanggal Date
4 Nama barang Nama Varchar 20
5 Harga satuan Hargasatuan Double
6 Total harga BM Total Double
Sumber :Hasil Rancangan (2018)
25
3. Spesifikasi file data barang keluar
a. Nama File : data barang keluar
b. Akronim : barang_keluar.sql
c. Fungsi File : Mengelola data barang keluar
d. Tipe File : Master data
e. Organisasi File : Index Sequential
f. Akses File : Random
g. Media :Hardisk
h. Primary key :no_BK
i. Foregin key :id_pegawai
j. Panjang record : 40
Tabel III.4.
Spesifikasi File Barang Keluar
No Elemen Data Akronim Tipe PanjangRecord
Keterangan
1 No BK no_bk Varchar 10 Primary Key
2 Id pegawai id_peg Varchar 10 Foregin Key
3 Tanggal BM Tanggal Date
4 Nama barang Nama Varchar 20
5 Harga satuan Hargasatuan Double
6 Total harga BK Total Double
Sumber :Hasil Rancangan (2018)
26
4. Spesifikasi file data jurnal
a. Nama File : data jurnal
b. Akronim : jurnal.sql
c. Fungsi File : Mengelola data jurnal
d. Tipe File : Master data
e. Organisasi File : Index Sequential
f. Akses File : Random
g. Media : hardisk
h. Primary key : no_jurnal
i. Foregin key : no_bm, no_bk
j. Panjang record : 50
Tabel III.5.
No Elemen Data Akronim Tipe PanjangRecord
Keterangan
1 No Jurnal no_jurnal Varchar 10 Primary Key
2 No BM no_bm Varchar 10 Foregin Key
3 No BK No_bk Varchar 10 Foregin Key
4 Tanggal Tanggal Date
5 Perkiraan D/K P_debet Varchar 20
6 Nominal debet N_debet Double
7 Nomilnal kredit N_kredit Double
Spesifikasi file jurnal
Sumber : Hasil Rancangan (2018)
27
5. Spesifikasi file data Bahan Baku
a. Nama File : Bahan Baku
b. Akronim : bahan_baku.sql
c. Fungsi File : Mengelola data barang
d. Tipe File : Master data
e. Organisasi File : Index Sequential
f. Akses File : Random
g. Media : hardisk
h. Primary key : kode_barang
i. Foregin key :-
j. Panjang record : 60
Tabel III.6.
Spesifikasi File Bahan Baku
No Elemen Data Akronim Tipe PanjangRecord
Keterangan
1 Kode Bahan Baku kode_bb Varchar 10 Primary Key
2 Nama Bahan Baku nama_bb Varchar 20
3 Satuan Satuan Varchar 10
4 Harga Bahan Baku harga_bb Double
5 Warna Bahan Baku Warna Varchar 10
6 Stok Bahan Baku stok_bb Varchar 10
Sumber : Hasil Rancangan (2018)
28
6. Spesifikasi file detail Barang Masuk
a. Nama File : Detail Barang Masuk
b. Akronim : detail_barang_masuk.sql
c. Fungsi File : Mengelola data barang masuk
d. Tipe File : Master data
e. Organisasi File : Index Sequential\
f. Akses File : Random
g. Media : hardisk
h. Primary key : -
i. Foregin key : no_BM, kode_BM
j. Panjang record : 20
Tabel III.7.
Spesifikasi File detail Barang Masuk
No Elemen Data Akronim Tipe PanjangRecord
Keterangan
1 Nomor Barang Masuk no_BM Varchar 10 ForeginKey
2 Kode Barang Masuk kode_BM Varchar 10 ForeginKey
3 Jumlah Barang Jumlah Double
4 Subtotal Subtotal Double
Sumber : Hasil Rancangan (2018)
29
7. Spesifikasi file detail Barang Keluar
k. Nama File : Detail Barang Keluar
l. Akronim : detail_barang_keluar.sql
m. Fungsi File : Mengelola data barang keluar
n. Tipe File : Master data
o. Organisasi File : Index Sequential
p. Akses File : Random
q. Media : hardisk
r. Primary key : -
s. Foregin key : no_BM, kode_BM
t. Panjang record : 20
Tabel III.8.
Spesifikasi File detail Barang Keluar
No Elemen Data Akronim Tipe PanjangRecord
Keterangan
1 NomorBarang Keluar no_BK Varchar 10 Foregin Key
2 Kode Barang Keluar kode_BK Varchar 10 Foregin Key
3 Jumlah Barang Jumlah Double
4 Subtotal Subtotal Double
Sumber : Hasil Rancangan (2018)
30
3.4.3. Sequence Diagram
1. Bendahara Login
Sumber : Hasil Penelitian (2018)
Gambar III.15. Sequence Diagram Login
31
2. Barang masuk
Sumber : Hasil Penelitian (2018)
Gambar III.16. Sequence Diagram Barang Masuk
32
3. Barang Keluar
Sumber : Hasil Penelitian (2018)
Gambar III.17. Sequence Diagram Barang Keluar
33
3.4.4. Deployment Diagram
Gambar III.18 berikut ini merupakan Deployment Diagram pada Sistem
Informasi Akuntansi Persediaan bahan baku di CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.18. Deployment Diagram
3.4.5. User Interface
Berikut ini merupakan tampilan user interface yang ada pada rancangan
sistem informasi pencatatan persediaan pada CV. Yuri Pontianak.
34
1. Form login
Gambar III.19 berikut ini merupakan tampilan form login pada rancangan
sistem informasi persediaan bahan baku pada CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.19. Form login
2. Form menu utama
Gambar III.20 berikut ini merupakan tampilan form menu utama pada
rancangan sistem informasi persediaan bahan baku pada CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)Gambar III.20. Form menu utama
35
3. Form data pegawai
Gambar III.21 berikut ini merupakan tampilan form pegawai pada rancangan
sistem informasi persediaan bahan baku pada CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)Gambar III.21. Form data pegawai
4. Form data barang
Gambar III.22 berikut ini merupakan tampilan form data barang pada
rancangan sistem informasi persediaan bahan baku pada CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)Gambar III.22. Form data barang
36
5. Form barang masuk
Gambar III.23 berikut ini merupakan tampilan form barang masuk
pada rancangan sistem informasi persediaan bahan baku pada CV. Yuri
Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.23. Form barang masuk
6. Form barang keluar
Gambar III.24 berikut ini merupakan tampilan form barang keluar
pada rancangan sistem informasi persediaan bahan baku pada CV. Yuri
Pontianak.
37
Sumber : Hasil Penelitian (2018)
Gambar III.24. Form barang keluar
7. Jurnal
Gambar III.25 berikut ini merupakan tampilan form jurnal pada
rancangan sistem informasi persediaan bahan baku pada CV. Yuri
Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.25. Form jurnal
38
8. Laporan
Gambar III.26 berikut ini merupakan tampilan laporan persediaan
pada rancangan sistem informasi persediaan bahan baku pada CV. Yuri
Pontianak
Sumber : Hasil Penelitian (2018)
Gambar III.26. Laporan Persediaan
9. Jurnal Transaksi
Gambar III.27 berikut ini merupakan tampilan form jurnal pada rancangan
sistem informasi persediaan bahan baku pada CV. Yuri Pontianak.
39
Sumber : Hasil Penelitian (2018)
Gambar III.27. Jurnal Transaksi
10. Buku Besar
Gambar III.28 berikut ini merupakan tampilan form buku besar pada
rancangan sistem informasi persediaan bahan baku pada CV. Yuri Pontianak.
Sumber : Hasil Penelitian (2018)
Gambar III.28. Buku Besar
3.5. Implementasi
3.5.1. Code Generation
1. Form Masuk
package crud;
import java.sql.SQLException;
40
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import kelas.DBConnection;
public class frm_login extends javax.swing.JFrame {
String nama,akses;
public frm_login() {
initComponents();
this.setLocationRelativeTo(null);
}
private void masukActionPerformed(java.awt.event.ActionEvent evt) {
try {
// TODO add your handling code here:
masuk();
} catch (SQLException ex) {
Logger.getLogger(frm_login.class.getName()).log(Level.SEVERE,
null, ex);
}
} private void
buttonImageGlassMerah2ActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
System.exit(0);
}
41
public void masuk() throws SQLException{
java.sql.Connection conn = new DBConnection ().connect();
try {
String sql="SELECT * FROM pegawai where
user='"+jTextnama.getText()+"'"
+"AND pass='"+jPasswordField1.getText()+"'";
java.sql.Statement stmt=conn.createStatement();
java.sql.ResultSet rslt=stmt.executeQuery(sql);
while(rslt.next()){
nama=rslt.getString("user");
akses=rslt.getString("jabatan");
} if ("1".equals(akses)){ JOptionPane.showMessageDialog(this,"Selamat datang sdr/I = "+nama); new menu_utama().setVisible(true); } if ("2".equals(akses)){ JOptionPane.showMessageDialog(this,"Selamat datang sdr/I="+nama); new menu_utama().setVisible(true); } if ("3".equals(akses)){
JOptionPane.showMessageDialog(this,"Selamat datang
sdr/I="+nama);
new barang_masuk().setVisible(true);
}
if (akses == null){
JOptionPane.showMessageDialog(null,"Anda gagal
42
login!!!","Peringatan",JOptionPane.WARNING_MESSAGE);
jTextnama.requestFocusInWindow();
jTextnama.setText("");
jPasswordField1.setText("");
}
}
catch(Exception ex){
}
}
public static void main(String args[]) {
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(frm_login.class.getName()).log(java.util
.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(frm_login.class.getName()).log(java.util
.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
43
java.util.logging.Logger.getLogger(frm_login.class.getName()).log(java.util
.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex)
{ java.util.logging.Logger.getLogger(frm_login.class.getName()).log
(java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new frm_login().setVisible(true);
}
});}
2. Form Barang Masuk
package crud;import java.awt.event.KeyEvent;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;import javax.swing.JOptionPane;import javax.swing.table.DefaultTableModel;import kelas.DBConnection;import net.sf.jasperreports.engine.JasperCompileManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperReport;
44
import net.sf.jasperreports.view.JasperViewer;/**public class barang_masuk extends javax.swing.JFrame {private DefaultTableModel DftTabMode1; public barang_masuk() { initComponents(); tampil_auto(); Tampilkan(); no(); combo1(); Tampil(); satuan(); subtotal.setText(Integer.toString(getSum())); buttonImageGlassMerah2.setEnabled(false); buttonImageGlassMerah6.setEnabled(false); } private void Tabel(javax.swing.JTable tb, int lebar[] ) {tb.setAutoResizeMode(table.AUTO_RESIZE_OFF);int kolom=tb.getColumnCount();for(int i=0;i < kolom;i++) { javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i); tbc.setPreferredWidth(lebar[i]); tb.setRowHeight(17);}} public void tampil_auto(){ java.sql.Connection conn = new DBConnection().connect(); try { String sql="Select * from bahan_baku order by kode_barang"; java.sql.Statement stmt=conn.createStatement(); java.sql.ResultSet rslt=stmt.executeQuery(sql); while (rslt.next()) { Object[] ob = new Object[1]; ob[0] = rslt.getString(1); jComboBox1.addItem((String) ob[0]); } rslt.close(); stmt.close(); } catch (SQLException e) { } } public void Tampil(){ java.sql.Connection conn = new DBConnection().connect();
45
try { String sql = "select nama from bahan_baku where kode_barang='"+jComboBox1.getSelectedItem()+"'"; java.sql.Statement stmt=conn.createStatement(); java.sql.ResultSet rslt=stmt.executeQuery(sql); while (rslt.next()) { Object[] ob = new Object[1]; ob[0]= rslt.getString(1); jTextnama.setText((String) ob[0]); } rslt.close(); stmt.close(); } catch (SQLException e) { } } public void satuan(){ java.sql.Connection conn = new DBConnection().connect(); try { String sql = "select harga from bahan_baku where kode_barang='"+jComboBox1.getSelectedItem()+"'"; java.sql.Statement stmt=conn.createStatement(); java.sql.ResultSet rslt=stmt.executeQuery(sql); while (rslt.next()) { Object[] ob = new Object[1]; ob[0]= rslt.getString(1); jTexthargasatuan.setText((String) ob[0]); } rslt.close(); stmt.close(); } catch (SQLException e) { } } public void Tampilkan(){ Object[] Baris={"No BM","Id Pegawai","Tanggal","Kode Barang","Nama Barang","Harga Satuan","Total Harga"}; DftTabMode1 = new DefaultTableModel(null, Baris); table.setModel(DftTabMode1); Tabel(table, new int[]{80,90,100,90,100,100,100}); for (int i = 0; i < table.getColumnCount(); i++) { table.getColumnModel().getColumn(i); } try{ String sql="Select * from barang_masuk order by no desc"; java.sql.Statement stmt=conn.createStatement();
46
java.sql.ResultSet rslt=stmt.executeQuery(sql); while(rslt.next()){ String no=rslt.getString("no"); String id=rslt.getString("id"); String tanggal=rslt.getString("tanggal"); String kode=rslt.getString("kode"); String nama=rslt.getString("nama"); String hargasatuan=rslt.getString("hargasatuan"); String total=rslt.getString("total"); String[] dataField={no,id,tanggal,kode,nama,hargasatuan,total}; DftTabMode1.addRow(dataField); } }catch(Exception ex){} } public void cari(){ DefaultTableModel tabel = new DefaultTableModel(); tabel.addColumn("No BM"); tabel.addColumn("Id Pegawai"); tabel.addColumn("Tanggal"); tabel.addColumn("Kode Barang"); tabel.addColumn("Nama Barang"); tabel.addColumn("Harga satuan"); tabel.addColumn("Total Harga"); try { java.sql.Connection conn = new DBConnection().connect(); java.sql.Statement stmt=conn.createStatement(); String sql = "Select * from barang_masuk where no like '%" + isicari.getText() + "%'" + "or tanggal like '%" + isicari.getText() + "%'"; java.sql.ResultSet rslt=stmt.executeQuery(sql); while (rslt.next()) { tabel.addRow(new Object[]{ rslt.getString("no"), rslt.getString("id"), rslt.getString("tanggal"), rslt.getString("kode"), rslt.getString("nama"), rslt.getString("hargasatuan"), rslt.getString("total") }); } table.setModel(tabel);
47
} catch (Exception e) { }} public void no(){ SimpleDateFormat d3 = new SimpleDateFormat("ddMMss"); jTextno.setText("BM-"+d3.format( new Date()));} public void combo1(){ java.sql.Connection conn = new DBConnection().connect(); try { String sql="Select * from pegawai order by id_peg"; java.sql.Statement stmt=conn.createStatement(); java.sql.ResultSet rslt=stmt.executeQuery(sql); while(rslt.next()){ Object[] ob = new Object[1]; ob[0] = rslt.getString(1); jComboBox2.addItem((String) ob[0]); } rslt.close(); stmt.close(); } catch (SQLException ex) { } } public int getSum(){ int rowsCount = table.getRowCount(); int sum = 0; for(int i = 0; i < rowsCount; i++){ sum = sum+Integer.parseInt( table.getValueAt(i, 6).toString()); } return sum; }private void buttonImageGlassMerah3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: no(); buttonImageGlassMerah2.setEnabled(true); buttonImageGlassMerah6.setEnabled(true); } private void buttonImageGlassMerah2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: java.sql.Connection conn = new DBConnection().connect(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
48
String calender = sdf.format(calender1.getDate()); try{ String sql="insert into barang_masuk (no,id,tanggal,kode,nama,hargasatuan,total)" + "values(?,?,?,?,?,?,?)"; java.sql.PreparedStatement stmt=conn.prepareStatement(sql); try{ stmt.setString(1,jTextno.getText()); stmt.setString(2,jComboBox2.getSelectedItem().toString()); stmt.setString(3,calender); stmt.setString(4,jComboBox1.getSelectedItem().toString()); stmt.setString(5,jTextnama.getText()); stmt.setString(6,jTexthargasatuan.getText()); stmt.setString(7,jTextharga.getText()); stmt.executeUpdate(); stmt.isClosed(); stmt.close(); JOptionPane.showMessageDialog(null,"Data berhasil di simpan"); Tampilkan(); bersihkan(); }catch(SQLException se){ JOptionPane.showMessageDialog(null, "ERROR" + se.getMessage()); } stmt.close(); }catch(Exception e){} } private void buttonImageGlassMerah6ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: java.sql.Connection conn = new DBConnection().connect(); int ok=JOptionPane.showConfirmDialog(null,"Apakah Anda yakin?","Konfirmasi",JOptionPane.YES_NO_OPTION); if(ok==0){ try{ String sql="delete from barang_masuk where no ='"+jTextno.getText()+"'"; java.sql.PreparedStatement stmt=conn.prepareStatement(sql); stmt.executeUpdate(); Tampilkan();
49
bersihkan(); JOptionPane.showMessageDialog(null,"Data Berhasil di batal"); }catch(Exception e){ JOptionPane.showMessageDialog(null,"Data Gagal di batal"); }} } private void tableMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: if (evt.getClickCount()==1) { Mouse(); } } private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Tampil(); satuan(); } private void jTexthargaKeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here: if (evt.getKeyCode() == KeyEvent.VK_ENTER) {jTextharga.setText(String.valueOf(Integer.parseInt(jTexthargasatuan.getText())*Integer.parseInt(jTextjumlah.getText()))); } } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: cari(); } private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: int a; int b; int c; a = Integer.parseInt(jTextjumlah.getText()); b =Integer.parseInt(jTexthargasatuan.getText()); ; c = a*b; jTextharga.setText(""+c); } private void jToggleButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: new jurnal().setVisible(true);
50
} public void Mouse() { int baris = table.getSelectedRow(); String no= DftTabMode1.getValueAt(baris, 0).toString(); Date date1 = null; try { date1 = new SimpleDateFormat("yyyy-MM-dd").parse(DftTabMode1.getValueAt(baris, 2).toString()); } catch (ParseException ex) { } String b = DftTabMode1.getValueAt(baris, 3).toString(); String id = DftTabMode1.getValueAt(baris, 1).toString(); String hargasatuan = DftTabMode1.getValueAt(baris,5).toString(); String nama = DftTabMode1.getValueAt(baris, 4).toString(); String harga= DftTabMode1.getValueAt(baris, 6).toString(); jTextno.setText(no); jComboBox1.setSelectedItem(b); jComboBox2.setSelectedItem(id); jTextnama.setText(nama); calender1.setDate(date1); jTexthargasatuan.setText(hargasatuan); jTextharga.setText(harga); } public void bersihkan(){ jTextno.setText(""); jComboBox2.setSelectedItem(""); calender1.getDate(); jComboBox1.setSelectedItem(""); jTextnama.setText(""); jTextjumlah.setText(""); jTexthargasatuan.setText(""); jTextharga.setText(""); }
3. Form Barang Keluar
package crud;import java.awt.event.KeyEvent;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;
51
import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;import javax.swing.JOptionPane;import javax.swing.table.DefaultTableModel;import kelas.DBConnection;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;/**public class barang_masuk extends javax.swing.JFrame {private DefaultTableModel DftTabMode1; public barang_keluar() { initComponents(); tampil_auto(); Tampilkan(); no(); combo1(); Tampil(); satuan(); subtotal.setText(Integer.toString(getSum())); buttonImageGlassMerah2.setEnabled(false); buttonImageGlassMerah6.setEnabled(false); } private void Tabel(javax.swing.JTable tb, int lebar[] ) {tb.setAutoResizeMode(table.AUTO_RESIZE_OFF);int kolom=tb.getColumnCount();for(int i=0;i < kolom;i++) { javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i); tbc.setPreferredWidth(lebar[i]); tb.setRowHeight(17);}} public void tampil_auto(){ java.sql.Connection conn = new DBConnection().connect();
52
try { String sql="Select * from bahan_baku order by kode_barang"; java.sql.Statement stmt=conn.createStatement(); java.sql.ResultSet rslt=stmt.executeQuery(sql); while (rslt.next()) { Object[] ob = new Object[1]; ob[0] = rslt.getString(1); jComboBox1.addItem((String) ob[0]); } rslt.close(); stmt.close(); } catch (SQLException e) { } } public void Tampil(){ java.sql.Connection conn = new DBConnection().connect(); try { String sql = "select nama from bahan_baku where kode_barang='"+jComboBox1.getSelectedItem()+"'"; java.sql.Statement stmt=conn.createStatement(); java.sql.ResultSet rslt=stmt.executeQuery(sql); while (rslt.next()) { Object[] ob = new Object[1]; ob[0]= rslt.getString(1); jTextnama.setText((String) ob[0]); } rslt.close(); stmt.close(); } catch (SQLException e) { } } public void satuan(){ java.sql.Connection conn = new DBConnection().connect(); try { String sql = "select harga from bahan_baku where kode_barang='"+jComboBox1.getSelectedItem()+"'"; java.sql.Statement stmt=conn.createStatement(); java.sql.ResultSet rslt=stmt.executeQuery(sql); while (rslt.next()) { Object[] ob = new Object[1]; ob[0]= rslt.getString(1); jTexthargasatuan.setText((String) ob[0]); } rslt.close(); stmt.close();
53
} catch (SQLException e) { } } public void Tampilkan(){ Object[] Baris={"No BM","Id Pegawai","Tanggal","Kode Barang","Nama Barang","Harga Satuan","Total Harga"}; DftTabMode1 = new DefaultTableModel(null, Baris); table.setModel(DftTabMode1); Tabel(table, new int[]{80,90,100,90,100,100,100}); for (int i = 0; i < table.getColumnCount(); i++) { table.getColumnModel().getColumn(i); } try{ String sql="Select * from barang_keluar order by no desc"; java.sql.Statement stmt=conn.createStatement(); java.sql.ResultSet rslt=stmt.executeQuery(sql); while(rslt.next()){ String no=rslt.getString("no"); String id=rslt.getString("id"); String tanggal=rslt.getString("tanggal"); String kode=rslt.getString("kode"); String nama=rslt.getString("nama"); String hargasatuan=rslt.getString("hargasatuan"); String total=rslt.getString("total"); String[] dataField={no,id,tanggal,kode,nama,hargasatuan,total}; DftTabMode1.addRow(dataField); } }catch(Exception ex){} } public void cari(){ DefaultTableModel tabel = new DefaultTableModel(); tabel.addColumn("No BM"); tabel.addColumn("Id Pegawai"); tabel.addColumn("Tanggal"); tabel.addColumn("Kode Barang"); tabel.addColumn("Nama Barang"); tabel.addColumn("Harga satuan"); tabel.addColumn("Total Harga"); try { java.sql.Connection conn = new DBConnection().connect(); java.sql.Statement stmt=conn.createStatement();
54
String sql = "Select * from barang_masuk where no like '%" + isicari.getText() + "%'" + "or tanggal like '%" + isicari.getText() + "%'"; java.sql.ResultSet rslt=stmt.executeQuery(sql); while (rslt.next()) { tabel.addRow(new Object[]{ rslt.getString("no"), rslt.getString("id"), rslt.getString("tanggal"), rslt.getString("kode"), rslt.getString("nama"), rslt.getString("hargasatuan"), rslt.getString("total") }); } table.setModel(tabel); } catch (Exception e) { }} public void no(){ SimpleDateFormat d3 = new SimpleDateFormat("ddMMss"); jTextno.setText("BM-"+d3.format( new Date()));} public void combo1(){ java.sql.Connection conn = new DBConnection().connect(); try { String sql="Select * from pegawai order by id_peg"; java.sql.Statement stmt=conn.createStatement(); java.sql.ResultSet rslt=stmt.executeQuery(sql); while(rslt.next()){ Object[] ob = new Object[1]; ob[0] = rslt.getString(1); jComboBox2.addItem((String) ob[0]); } rslt.close(); stmt.close(); } catch (SQLException ex) { } } public int getSum(){ int rowsCount = table.getRowCount(); int sum = 0; for(int i = 0; i < rowsCount; i++){
55
sum = sum+Integer.parseInt( table.getValueAt(i, 6).toString()); } return sum; }private void buttonImageGlassMerah3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: no(); buttonImageGlassMerah2.setEnabled(true); buttonImageGlassMerah6.setEnabled(true); } private void buttonImageGlassMerah2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: java.sql.Connection conn = new DBConnection().connect(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String calender = sdf.format(calender1.getDate()); try{String sql="insert into barang_keluar (no,id,tanggal,kode,nama,hargasatuan,total)" + "values(?,?,?,?,?,?,?)"; java.sql.PreparedStatement stmt=conn.prepareStatement(sql); try{ stmt.setString(1,jTextno.getText()); stmt.setString(2,jComboBox2.getSelectedItem().toString()); stmt.setString(3,calender); stmt.setString(4,jComboBox1.getSelectedItem().toString()); stmt.setString(5,jTextnama.getText()); stmt.setString(6,jTexthargasatuan.getText()); stmt.setString(7,jTextharga.getText()); stmt.executeUpdate(); stmt.isClosed(); stmt.close(); JOptionPane.showMessageDialog(null,"Data berhasil di simpan"); Tampilkan(); bersihkan(); }catch(SQLException se){ JOptionPane.showMessageDialog(null, "ERROR" + se.getMessage()); } stmt.close();
56
}catch(Exception e){} } private void buttonImageGlassMerah6ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: java.sql.Connection conn = new DBConnection().connect(); int ok=JOptionPane.showConfirmDialog(null,"Apakah Anda yakin?","Konfirmasi",JOptionPane.YES_NO_OPTION); if(ok==0){ try{ String sql="delete from barang_keluar where no ='"+jTextno.getText()+"'"; java.sql.PreparedStatement stmt=conn.prepareStatement(sql); stmt.executeUpdate(); Tampilkan(); bersihkan(); JOptionPane.showMessageDialog(null,"Data Berhasil di batal"); }catch(Exception e){ JOptionPane.showMessageDialog(null,"Data Gagal di batal"); }} } private void tableMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: if (evt.getClickCount()==1) { Mouse(); } } private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Tampil(); satuan(); } private void jTexthargaKeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here: if (evt.getKeyCode() == KeyEvent.VK_ENTER) {jTextharga.setText(String.valueOf(Integer.parseInt(jTexthargasatuan.getText())*Integer.parseInt(jTextjumlah.getText()))); } } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: cari();
57
} private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: int a; int b; int c; a = Integer.parseInt(jTextjumlah.getText()); b =Integer.parseInt(jTexthargasatuan.getText()); ; c = a*b; jTextharga.setText(""+c); } private void jToggleButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: new jurnal().setVisible(true); } public void Mouse() { int baris = table.getSelectedRow(); String no= DftTabMode1.getValueAt(baris, 0).toString(); Date date1 = null; try { date1 = new SimpleDateFormat("yyyy-MM-dd").parse(DftTabMode1.getValueAt(baris, 2).toString()); } catch (ParseException ex) { } String b = DftTabMode1.getValueAt(baris, 3).toString(); String id = DftTabMode1.getValueAt(baris, 1).toString(); String hargasatuan = DftTabMode1.getValueAt(baris,5).toString(); String nama = DftTabMode1.getValueAt(baris, 4).toString(); String harga= DftTabMode1.getValueAt(baris, 6).toString(); jTextno.setText(no); jComboBox1.setSelectedItem(b); jComboBox2.setSelectedItem(id); jTextnama.setText(nama); calender1.setDate(date1); jTexthargasatuan.setText(hargasatuan); jTextharga.setText(harga); } public void bersihkan(){ jTextno.setText(""); jComboBox2.setSelectedItem(""); calender1.getDate();
58
jComboBox1.setSelectedItem(""); jTextnama.setText(""); jTextjumlah.setText(""); jTexthargasatuan.setText("");
jTextharga.setText(""); } 3.5.2. Blackbox Testing
Berikut merupakan hasil pengujian dengan menggunakan blackbox testing
pada rancang bangun sistem informasi dana komite.
Tabel III.10
Hasil Pengujian BlackBox Testing Form Login
NoScenarioPengujian
TectCase
Hasil yangdiharapkan
Hasilpengujian
Keterangan
1 NamaPenggunadan KataSanditidak diisikemudiankliktombolmasuk
NamaPengguna(kosong),KataSandi(kosong)
Menampilkanpesan “Logingagal namapengguna dankata sandi yanganda masukkansalah”
SesuaiHarapan
Valid
2 NamaPenggunatidak diisikemudaiankliktombokmasuk
NamaPengguna(kosong),KataSandi(benar)
Menampilkanpesan “Logingagal namapengguna dankata sandi yanganda masukkansalah”
SesuaiHarapan
Valid
3 Semuadatamasukdiisidenganbenarkemudiankliktombolmasuk
NamaPengguna(benar),KataSandi(benar)
Langsungmasuk ke MenuUtama
SesuaiHarapan
Valid
Sumber : hasil Rancangan (2018)
59
Tabel III.11
Hasil Pengujian BlackBox Testing Form Barang Masuk
NoScenarioPengujian
Tect CaseHasil yangdiharapkan
Hasilpengujia
n
Keterangan
1 Tombolbaru diklik
Tombol baru dipilih Form aktifdan fokuspada textboxNo BM
SesuaiHarapan
Valid
2 Semuadata BMtidak diisikemudiankliktombolsimpan
No BM (kosong),Kode barang(kosong), Namabarang (kosong),harga (kosong)
Menampilkanpesan“Databelumlengkappastikansemua formterisi”
SesuaiHarapan
Valid
3 Semuadata BMdiisikemudianpilihtombolsimpan
No BM (benar),Kode barang(benar), Namabarang (benar),jumlah barang(benar) Id pegawai(kosong), Sub total(benar),
Menampilkanpesan “Databerhasildiinput”
SesuaiHarapan
Valid
Sumber : hasil Rancangan (2018)
60
Tabel III.12
Hasil Pengujian BlackBox Testing Form Barang Keluar
NoScenario
PengujianTect Case
Hasil yang
diharapkan
Hasil
pengujian
Keteranga
n1 Tombol
baru di klik
Tombol baru
dipilih
Form aktif
dan fokus
pada textbox
No BK
Sesuai
Harapan
Valid
2 Semua data
BK
tidakdiisi
kemudian
klik tombol
simpan
No BK
(kosong), Kode
barang (kosong),
Nama barang
(kosong), harga
(kosong)
Menampilkan
pesan “Data
belum
lengkap
pastikan
semua form
terisi”
Sesuai
Harapan
Valid
3 Semua data
BK diisi
kemudian
pilih tombol
simpan
No BK(benar),
kode barang
(benar), nama
barang (benar),
Tanggal (benar)
Menampilkan
pesan “Data
berhasil
diinput”
Sesuai
Harapan
Valid
Sumber : hasil Rancangan (2018)
61
3.5.3 Spesifikasi Hardware Dan Software
1. Spesifikasi hardware (perangkat keras)
Komponene perangkat lunak terdiri dari unsur-unsur yang terjadi di dalam
perangkat keras komputer yang digunakan untuk membantu proses kerja user/
manusia (brainware) dan bersifat fisik. Berikut adalah spesifikasi hardware
minimum yang dibutuhkan :
a. Sistem : windows 7 32-bit
b. Processor : N3350 GHz
c. RAM : 2 GB
d. Harddisk : 500 GB
e. Monitor : 15”LED
f. Keyboard : 86 key
g. Printer : Inkjet
h. Mouse : Standar
2. Spesifikasi software (perangkat lunak)
Komponen perangkat lunak adalah serangkian unsur-unsur yang terdiri
dari beberapa perangkat lunak program komputer yang digunakan untuk
membantu proses kerja user atau manusia (brainware) dan sifatnya non fisik.
Adapun spesifikasi software yang dibutuhkan adalah sebagai berikut :
a. Bahasa Script Programming : Java 8.1
b. Web Server : Xampp
c. DBMS : MySQL