BAB III PEMBAHASAN - repository.bsi.ac.id file20 BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan Dalam...
Transcript of BAB III PEMBAHASAN - repository.bsi.ac.id file20 BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan Dalam...
20
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Dalam suatu perusahaan tentunya memiliki bagan struktur organisasi
yang jelas. Tujuannya adalah skema atau program kerja di bidang-bidangnya
dalam perusahaan tersebut harus dengan jelas diketahui dan di terapkan agar
proses kegiatan bekerja akan lebih mudah. Seperti halnya pada CV. Edo Maju
Lestari yang ingin memajukan kinerja pada usahanya.
3.1.1. Sejarah Singkat Perusahaan
Pada awal tahun 2014 Bapak Hermanto merilis usaha jual beli motor
dengan nama Edo Motor yang beralamat sama-sama di jalan KH. Wahid Hasyim,
akan tetapi tempat usaha tersebut masih terdapat di depan rumah yang begitu
sempit. Jual beli motor berjalan dengan lancar sampai akhirnya Bapak Hermanto
berkeinginan mempunyai tempat usaha yang luas dan ingin mengubah usaha jual
beli motor menjadi jual beli mobil. Dengan keinginan tersebut Bapak Hermanto
mengubah nama usahanya menjadi CV. Edo Maju Lestari pada awal tahun 2016
dan diresmikan pada tanggal 8 Oktober 2016 yang bertempatan di jalan KH.
Wahid Hasyim No.138-140 Kelurahan Sungai Jawi Kecamatan Pontianak Kota,
meskipun tempat dan usaha yang dijalankan sedikit berubah akan tetapi nama
tempat usaha Bapak Hermanto tetap menggunakan Edo Motor. Maka dari itu
berdirilah sebuah lembaga swasta milik Bapak Hermanto yang bergerak pada
bidang penjualan dan pembelian mobil yang berada di Jl. Kh. Wahid Hasyim No.
138 – 140 Kelurahan Sungai Jawi Kecamatan Pontianak Kota dengan luas = m2
(4x8).
21
3.1.1. Strukur Organisasi
Untuk mengolah perusahaan dengan baik dan optimal, CV. Edo Maju
Lestari menerapkan kepala perusahaan yang disebut Direktur yang dituangkan
dalam bentuk struktur organisasi yang merupakan sarana yang sangat penting
untuk menjalankan fungsinya.
1. Struktur Organisasi
Sumber : Data Olahan CV. Edo Maju Lestari Pontianak
Gambar III. 1 Struktur Organisasi CV. Edo Maju Lestari Pontianak
Tugas dan tanggung jawab dari setiap jabatan dalam struktur organisasi
antara lain:
a. Direktur
1. Memimpin dalam jual belinya mobil pada CV. Edo Maju Lestari.
2. Mengkoordinasikan kegiatan di CV. Edo Maju Lestari
3. Bertanggung jawab atas seluruh kegiatan usaha yang ada di CV. Edo maju
lestari.
b. Kasir
1. Menangani pemasukan dan pengeluaran keuangan CV. Edo Maju Lestari
atas persetujuan direktur.
22
2. Menyimpan arsip transaksi keuangan.
3. Menyusun laporan keuangan secara berkala.
c. Sales
1. Melayani konsumen pada saat melihat barang.
2. Berkomunikasi kepada konsumen dengan baik dan sopan agar
konsumenmerasa nyaman dan puas.
d. Mekanik
1. Melakukan identifikasi spesifikasi teknik engine dan mengidentifikasi
struktur dan fungsi sistem mekanis, sistem bahan bakar dan sistem
pelumas.
2. Melaksanakan perbaikan ringan seperti memeriksa kerusakan komponen
dan mengajukan suku cadang yang diperlukan.
3.2. Tinjauan Kasus
Teknologi informasi yang semakin canggih dalam dunia bisnis,
kecepatan dan keakuratan dalam pengolahan data sangat penting. Dalam bisnis
perdagangan, sistem dan administrasi masih banyak yang melakukan aktivitas
atau transaksi secara sederhana. Untuk mencari data memerlukan waktu yang
cukup lama dikarenakan banyaknya dokumen dan terkadang dokumen tersebut
tidak tersusun dengan rapi.
Berdasarkan pengamatan yang telah dilakukan bahwa sampai saat ini
sistem yang sedang berjalan pada CV. Edo Maju Lestari Pontianak tidak tersistem
dengan baik. Pengoalahan data biaya operasional masih menggunakan sistem
pencatatan yang masih sederhana dengan menggunakan tulis tangan dan
terkadang tidak membuat pembukuan transaksi yang telah dilakukan. Oleh karena
23
itu diperlukanlah sebuah sistem yang terkomputerisasi berbasis java desktop
sebagai pemecahan masalah dari sistem yang lama.
3.2.1. Proses Bisnis Sistem Berjalan
Pada bagian ini penulis akan menguraikan tentang prosedur sistem
berjalan bertujuan untuk mengetahui lebih jelas bagaimana kerja dari suatu sistem
dan mengetahui masalah yang dihadapi.
Kasir melakukan pencatatan hasil biaya operasional harian, bulanan, dan
tahunan. Setiap kali melakukan transaksi, kasir akan melakukan pencatatan dan
direkap didalam buku, setiap bulan kasir akan membuat laporan yang akan
diserahkan ke direktur. Direktur memeriksa laporan dan menyetujui jika sudah
tidak ada permasalahan dalam pencatatan tersebut.
3.2.2. Activity Diagram
Dari proses sistem berjalan yang telah dianalisa, penulis dapat
memberikan gambaran bentuk sistem pengeluaran Biaya Operasional pada CV.
Edo Maju Lestari Pontianak dalam bentuk activity diagram, sebagai berikut:
Sumber : Hasil Penelitian (2018)
Gambar III. 2 Activity Diagram Laporan Biaya Operasional
24
Gambar III.2 merupakan activity diagram sistem berjalan dalam proses laporan
biaya operasional pada CV. Edo Maju Lestari Pontianak, dimana kasir mencatat
setiap pembayaran pemasukan dan keluaran lalu kasir membuat laporan untuk
ditujukan kepada direktur untuk disahkan sebagai bukti dan di kembalikan lagi ke
kasir untuk diarsipkan.
3.2.3. Dokumen Masukan
Berikut akan diuraikan dokumen yang masuk ke dalam sistem:
Nama Dokumen : Nota Pembelian Barang
Rangkap : 1 (satu)
Deskripsi : Diterbitkan Direktur
Fungsi : Bukti ACC Pembayaran pengeluaran
Sumber : Direktur
Tujuan : Kasir
Media : Kertas
Bentuk : Lampiran A- 1
3.2.4. Dokumen Keluaran
Nama : Laporan
Rangkap : 1 (satu)
Deskripsi : Diterbitkan Kasir
Fungsi : Sebagai Bukti Pembayaran Pengeluaran
Sumber : Kasir
Tujuan : Direktur
Media : Kertas
Bentuk : Lampiran A-2
25
3.2.5. Permasalahan Pokok
Dari penjelasan sebelumnya dapat diketahui bahwa mekanisme dalam
pengeluaran biaya operasional pada CV. Edo Maju Lestari sudah berjalan dengan
baik namun masih terdapat kekurangan dalam pengolahan datanya dimana hanya
dengan menggunakan pengarsipan ke dalam buku serta penyimpanan data tidak
efektif sehingga mengakibatkan kerusakan data dan sulitnya dalam pencarian data
biaya operasional. Hal ini menjadi kurang baik untuk kinerja yang terjadi pada
CV. Edo Maju Lestari Pontianak tersebut. Sulitnya dalam pencarian data hasil
biaya operasional, karena pengolahan data yang belum menggunakan sistem yang
terkomputerisasi.
3.2.6. Pemecahan Masalah
Berdasarkan masalah yang ditemukan untuk mempermudah pekerjaan
dalam prosedur pengolahan data biaya operasional, penulis memberikan alternatif
agar badan usaha milik CV. Edo Maju Lestari Pontianak tersebut menggunakan
sistem yang terkomputerisasi berbais aplikasi Java. Dalam hal ini minimal
terdapat keluaran dalam bentuk kas keluar dan jurnal umum, sehingga
memudahkan karyawan dalam pencatatan data, penyimpanan data serta pencarian
data.
3.3. Analisa Kebutuhan Software
Kebutuhan software sangatlah diperlukan dalam sebuah badan usaha,
dimana software bisa membantu dalam pengolahan data seperti membantu
pengerjaan kasir dalam membuat sebuah laporan agar tidak menggunakan waktu
yang lama.
26
CV. Edo Maju Lestari sangat membutuhkan sebuah software atau
aplikasi yang bisa membantu dalam pengerjaan pengolahan data biaya
operasional. Oleh sebab itu, dalam penjelasan ini penulis ingin mengajukan
Rancangan Sistem Usulan yang dapat membantu kasir dalam mengolah data biaya
operasional.
3.3.1. Analisa Kebutuhan
Kebutuhan Kebutuhan user untuk sistem usulan biaya operasional pada
CV. Edo Maju Lestari Pontianak memerlukan beberapa form untuk interface user.
Keamanan juga yang diperlukan untuk penggunaan sistem usulan sehingga
nantinya keamanan data dapat terjaga.
Berdasarkan prosedur rancangan sistem tersebut, maka akan dibutuhkan
beberapa form untuk mengolah data sistem dan laporan pengeluaran biaya
operasional pada CV. Edo Maju Lestari Pontianak. Berikut form yang dibutuhkan:
A. Kasir
A1. Masuk
A2. Mengolah Data Input Biaya
A3. Mengolah Data Biaya Operasional
A4. Mencetak
B. Direktur
A1. Masuk
A2. Memeriksa Laporan
A3. Mencetak
27
3.3.2. Use Case Diagram
Dari proses sistem berjalan yang telah dianalisa, penulis dapat
memberikan Rancangan Bangun Sisem dalam bentuk gambaran. Bentuk
Rancangan Sistem untuk pengeluaran Biaya Operasional pada CV. Edo Maju
Lestari Pontianak dalam bentuk Use Case Diagram, sebagai berikut:
a. Use Case Diagram Kasir
Sumber : Hasil Rancangan (2018)
Gambar III. 3 Use Case Diagram Kasir Rancangan Sistem
28
b. Use Case Diagram Direktur
Sumber : Hasil Rancangan (2018)
Gambar III. 4 Use Case Diagram Direktur Rancangan Sistem
Tabel III. 2
Deskripsi Use Case Diagram Masuk
Use Case Narative Masuk
Tujuan Melakukan login dan masuk kedalam sistem biaya
Operasional
Deskripsi Sistem ini memungkinkan aktor mengakses sistem biaya
operasional
Skenario Utama
Aktor Pelaksanaan kegiatan
Kondisi Awal Membuka aplikasi biaya operasional
Aksi Aktor Reaksi Sistem
Aktor memilih
tombol masuk
Sistem akan menampilkan texbox untuk mengisi username
dan password
Kondisi Akhir Jika perintah sesuai maka sistem akan masuk kedalam
aplikasi biaya operasional dan dapat melakukan aktivitas
dalam sistem
Sumber : Hasil Rancangan (2018)
29
Tabel III. 3
Deskripsi Use Case Diagram Menu Utama
Use Case Narative Menu Utama
Tujuan Pelaksanaan kegiatan dapat melakukan pengolahan data
pada menu master, menu pencatatan, dan menampilakan
laporan
Deskripsi Sistem ini memungkinkan aktor untuk mengelola sistem
pencatatan keuangan mulai dari input sampai dengan
pembuatan laporan
Skenario Utama
Aktor Pelaksanaan kegiatan
Kondisi Awal Membuka aplikasi biaya operasional
Aksi Aktor Reaksi Sistem
1. Memilih menu
master
2. Memilih menu
pencatatan
3. Memilih menu
laporan
Sistem akan menampilakan submenu input biaya, data
karyawan dan data pengguna
Sistem akan menampilkan submenu biaya operasional
dan pendapatan
Sistem akan menampilkan submenu laporan kas keluar,
kas masuk, laba/rugi dan buku besar
Kondisi Akhir Sistem akan masuk kedalam aplikasi menu utama dan
dapat melakukan aktivitas dalam sistem
Sumber : Hasil Rancangan (2018)
Tabel III. 4
Deskripsi Use Case Diagram Menu Master
Use Case Narative Menu Master
Tujuan Pelaksanaan kegiatan dapat mengolah data pada form input
biaya, data karyawan dan data pengguna yang terdapat pada
menu master
Deskripsi Sistem ini memungkinkan aktor untuk mengelola data
biaya dan pendapatan mulai dari input sampai dengan
mengubah data
Skenario Utama
Aktor Pelaksanaan kegiatan
Kondisi Awal Membuka menu utama
Aksi Aktor Reaksi Sistem
Aktor memilih
menu Master
Sistem akan menampilkan form nput biaya, form data
karyawan dan form data pengguna
Kondisi Akhir Sistem akan masuk kedalam aplikasi menu master dan
dapat melakukan aktivitas dalam sistem
Sumber : Hasil Rancangan (2018)
30
Tabel III. 5
Deskripsi Use Case Diagram Menu Pencatatan
Use Case Narative Menu Pencatatan
Tujuan Pelaksanaan kegiatan dapat melakukan pengolahan data
pada form biaya operasional dan form pendapatan
Deskripsi Sistem ini memungkinkan aktor untuk mengelola data
biaya operasional dan pendapatan
Skenario Utama
Aktor Pelaksanaan kegiatan
Kondisi Awal Membuka aplikasi biaya operasional
Aksi Aktor Reaksi Sistem
Memilih menu
pencatatan
Sistem akan menampilkan form biaya operasional dan
form pendapatan
Kondisi Akhir Sistem akan masuk kedalam aplikasi menu pencatatan
dan dapat melakukan aktivitas dalam sistem
Sumber : Hasil Rancangan (2018)
Tabel III. 6
Deskripsi Use Case Diagram Menu Laporan
Use Case Narative Menu Laporan
Tujuan Pelaksanaan kegiatan dapat melakukan pengolahan data
pada menu master, menu laporan dan menampilkan
laporan
Deskripsi Sistem ini memungkinkan aktor untuk mengelola sistem
pencatatan keuangan mulai dari input sampai dengan
pembuatan laporan
Skenario Utama
Aktor Pelaksanaan kegiatan
Kondisi Awal Membuka aplikasi biaya operasional
Aksi Aktor Reaksi Sistem
1. Memilih menu
laporan
2. Mengisi
Periode
3. Memilih
tombol cetak
Sistem akan menampilkan laporan kas keluar, laporan
kas masuk, laporan laba/rugi dan buku besar
Sistem akan menampilkan periode laporan
Sistem akan mencetak laporan
Kondisi Akhir Sistem akan masuk kedalam aplikasi menu laporan dan
dapat melakukan aktivitas dalam sistem
Sumber : Hasil Rancangan (2018)
31
3.3.3. Activity Diagram
Dari proses sistem berjalan yang telah dianalisa, penulis memberikan
Rancangan Sistem dalam bentuk gambaran. Bentuk Rancangan Sistem
pengeluaran Biaya Operasional pada CV. Edo Maju Lestari Pontianak dalam
bentuk Activity Diagram, sebagai berikut:
1. Activity Diagram Masuk
Sumber : Hasil Rancangan (2018)
Gambar III. 5 Activity Diagram Rancangan Sistem Proses Masuk
Gambar III.5 merupakan Activity Diagram Rancangan Sistem dalam proses
masuk pada CV. Edo Maju Lestari Pontianak. Dimana untuk masuk kesistem
kasir harus memasukan nama dan sandi.
32
2. Activity Diagram Menu Utama
Sumber : Hasil Rancangan (2018)
Gambar III. 6 Activity Diagram Rancangan Sistem Proses Menampilkan
Menu Utama
Gambar III.5 merupakan Activity Diagram Rancangan Sistem dalam proses
menampilkan menu utama pada CV. Edo Maju Lestari Pontianak. Sebelumnya
kasir masuk kesistem dan selanjutnya sistem akan menampilkan data di menu
utama dan di menu utama terdapat menu master, menu pencatatan dan menu
laporan.
33
3. Activity Diagram Data Pengguna
Sumber : Hasil Rancangan (2018)
Gambar III. 7 Activity Diagram Rancangan Sistem Proses Mengelola Data
Pengguna
Gambar III.7 merupakan Activity Diagram Rancangan Sistem dalam Proses
mengelola Data Pengguna pada CV. Edo Maju Lestari Pontianak. Dimana kasir
masuk ke sistem, seterusnya jika kasir ingin melanjutkan ke menu utama dan
melakukan penambahan data pengguna maka kasir melanjutkan mengisi form dan
menyimpan data.
34
4. Activity Diagram Input Biaya
Sumber : Hasil Rancangan (2018)
Gambar III. 8 Activity Diagram Rancangan Sistem Proses Input Biaya
Gambar III.8 merupakan Activity Diagram Rancangan Sistem dalam Proses input
biaya pada CV. Edo Maju Lestari Pontianak. Dimana kasir masuk ke sistem,
seterusnya jika kasir ingin melanjutkan ke menu utama dan melakukan input
biaya maka kasir melanjutkan mengisi form dan menyimpan data.
.
35
5. Activity Diagram Biaya Operasional
Sumber : Hasil Rancangan (2018)
Gambar III. 9 Activity Diagram Rancangan Sistem Proses Mengelola
Biaya Operasional
Gambar III.9 merupakan Activity Diagram Rancangan Sistem dalam Proses
menelola biaya operasional pada CV. Edo Maju Lestari Pontianak. Dimana kasir
masuk ke sistem, seterusnya jika kasir ingin melanjutkan ke menu utama dan
melakukan input biaya maka kasir melanjutkan mengisi form dan menyimpan
data.
36
6. Activity Diagram Cetak Laporan Kas Keluar
Sumber : Hasil Rancangan (2018)
Gambar III. 10 Activity Diagram Rancangan Sistem Proses Cetak Laporan
Kas Keluar
Gambar III.10 merupakan Activity Diagram Rancangan Sistem dalam
Proses Cetak Laporan Kas Keluar pada CV. Edo Maju Lestari Pontianak. Dimana
kasir masuk ke sistem, seterusnya jika kasir ingin melanjutkan ke menu utama dan
ingin mencetak laporan kas keluar maka kasir mengisi tanggal dan mengklik cetak
dan akan menampilkan hasil keluaran.
.
37
7. Activity Diagram Cetak Laporan Jurnal
Sumber : Hasil Ranangan (2018)
Gambar III. 11 Activity Diagram Rancangan Sistem Proses Cetak Laporan
Jurnal
Gambar III.11 merupakan Activity Diagram Rancangan Sistem dalam
Proses Cetak Laporan Jurnal pada CV. Edo Maju Lestari Pontianak. Dimana kasir
masuk ke sistem, seterusnya jika kasir ingin melanjutkan ke menu utama dan
ingin mencetak laporan jurnal maka kasir mengisi tanggal dan mengklik cetak dan
akan menampilkan hasil keluaran.
38
3.4. Desain
Didalam rancangan sistem diperlukan suatu gambaran seperti ERD, LRS
dan Spesifikasi file.
3.4.1. Entity Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) akan menjelaskan hubungan antar
tabel dalam database yang digunakan dalam perancangan usulan penulisan Tugas
Akhir ini. Adapun Entity Relationship Diagram (ERD) Rancangan Sistem sebagai
berikut:
Sumber : Hasil Rancangan (2018)
Gambar III. 12 ERD Rancangan Sistem Usulan
Gambar III.12 merupakan Entity Relationship Diagram Rancangan
Sistem Informasi pada CV. Edo Maju Lestari Pontianak. ERD menjelaskan bahwa
39
pengguna meginput jenis biaya beserta mengelola data karyawan sehingga
tujuannya ke biaya operasional
3.4.2. Logical Record Structure (LRS)
Logical Record Structure (LRS) akan mentransformasikan rancangan
ERD kedalam pemetaan database yang digunakan. Adapun Logical Record
Structure (LRS) Rancangan Sistem sebagai berikut:
Sumber : Hasil Rancangan (2018)
Gambar III. 13 LRS Rancangan Sistem usulan
Pada gambar III.13 Logical Record Structure Rancangan Sistem
Informasi Biaya Operasional pada CV. Edo Maju Lestari Pontianak. Logical
Record Structure merupakan komponen yang penting dalam pembuatan aplikasi.
Berikut adalah Logical Record Structure rancangan sistem informasi biaya
operasional yang memiliki empat tabel yang saling berelasi. Adapun lima tabel
40
tersebut yaitu tabel pengguna, tabel karyawan, tabel jenis biaya, dan tabel biaya
operasional.
3.4.3. Spesifikasi File
Spesifikasi file akan menguraikan organisasi dokumen data yang
berbentuk file. Adapun Spesifikasi file rancangan sistem usulan pengeluaran
Biaya Operasional pada CV. Edo Maju Lestari Pontianak sebagai berikut:
1. Spesifikasi File Pengguna
Nama : Tabel Pengguna
Akronim : tb_pengguna.sql
Fungsi : Untuk masuk dan mengelola data
Tipe File : Masuk
Akses File : Random
Panjang Record : 140
Kunci File : id
Software : MySQL Versi 5.5.16
Tabel III. 7
Tabel Prngguna
No Elemen Data Akronim Tipe Panjang Keterangan
1 Id Id Int 20 Primary key
2 Nama Nama Varchar 30
3
Nama
pengguna
nama_penggun
a Varchar 30
4 Jabatan Jabatan Varchar 30
5 Kata sandi kata_sandi Varchar 30
Sumber : Hasil Rancangan (2018)
41
2. Spesifikasi File Biaya Operasional
Nama : Tabel Biaya Operasional
Akronim : tb_biaya_operasional.sql
Fungsi : Untuk mengolah biaya operasional
Tipe File : File Pencatatan
Akses File : Random
Panjang Record : 113
Kunci File : id
Software : MySQL Versi 5.5.16
Tabel III. 8
Tabel Biaya Operasional
No Elemen Data Akronim Tipe Panjang Keterangan
1 Id Id Int 11 Primary key
2 Biaya id biaya_id Int 11
3 Keterangan keterangan Varchar 50
4 Jumlah Jumlah Int 11
5 Tanggal Tanggal Date
6 No Transaksi No_Transaksi Varchar 30
Sumber : Hasil Rancangan (2018)
3. Spesifikasi File Jenis Biaya
Nama : Tabel Jenis Biaya
Akronim : tb_jenis_biaya.sql
Fungsi : Untuk menginput jenis biaya
Tipe File : File Master
Akses File : Random
Panjang Record : 71
Kunci File : id
Software : MySQL Versi 5.5.16
42
Tabel III. 9
Tabel jenis Biaya
No Elemen Data Akronim Tipe Panjang Keterangan
1 Id Id Int 11 Primary Key
2 Kode barang kode_barang Varchar 30
3 Jenis barang jenis_barang Varchar 30
Sumber : Hasil Rancangan (2018)
4. Spesifikasi File Data Karyawan
Nama : Tabel Data Karyawan
Akronim : tb_karyawan.sql
Fungsi : Untuk mengolah data karyawan
Tipe File : File Master
Akses File : Random
Panjang Record : 131
Kunci File : id
Software : MySQL Versi 5.5.16
Tabel III. 10
Tabel Data Karyawan
No Elemen Data Akronim Tipe Panjang Keterangan
1 Id Id Int 11 Primary Key
2 Nik Nik Varchar 30
3 Nama lengkap nama_lengkap Varchar 30
4 Jabatan Jabatan Varchar 30
5 Tempat lahir tempat_lahir varchar 30
6 Tanggal Lahir tanggal_lahir Date
Sumber : Hasil Rancangan (2018)
43
3.4.4. Squence Diagram
Berikut Squance Diagram rancangan sistem informasi biaya
operasional pada CV. Edo Maju Lestari Pontianak.
Sumber : Hasil Rancangan (2018)
Gambar III. 14 Squence Diagram
Gambar III.14 menjelaskan bahwa pengguna dapat melakukan masuk,
setelah masuk form menu utama akan tampil, pengguna juga dapat melakukan
menginput data, mengolah data serta pengguna juga dapat mencetak laporan kas
keluar, laporan kas masuk, laporan laba/rugi dan laporan buku besar.
44
3.4.5. Deployment Diagram
Deployment Diagram adalah diagram yang digunakan untuk memetakan
software ke processing node.
Sumber : Hasil Rancangan (2018)
Gambar III. 15 Deployment Diagram
Gambar III.15 menjelaskan bahwa pada rancangan sistem informasi biaya
operasional dirancang menggunakan NetBeans 8.1 MySQL sebagai databasenya,
adapun nama databasenya yang ada adalah dev_biaya_operasional.
3.4.6. User Interface
User Interface akan menampilkan bentuktampilan layar Rancangan
Sistem. Adapun Interface yang dirancang adalah :
45
1. Form Masuk
Sumber : Hasil Rancangan (2018)
Gambar III. 16 User Interface Form Masuk
Gambar III.16 berikut adalah User Interface Form Masuk Rancangan
Sistem pada CV. Edo Maju Lestari Pontianak dimana Form Masuk disini terdapat
textbox yang harus di isi, setelah diisi dan masuk berhasil maka sistem akan
menampilkan menu utama. Dan tombol keluar jika ingin keluar dari sistem.
46
2. Form Menu Utama
Sumber : Hasil Rancangan (2018)
Gambar III. 17 User Interface Form Menu Utama
Gambar III.17 berikut adalah User Interface Form Menu Utama Rancangan
Sistem pada CV. Edo Maju Lestari Pontianak, pada form Menu Utama terdapat
Menu Master, Menu Pencatatan dan Menu Laporan. Dimana dimenu master
terdapat input biaya, data karyawan dan data pengguna, selanjutnya di menu
pencatatan terdapat biaya operasional dan pendapatan dan di menu laporan
terdapat laporan kas keluar, dan buku besar.
47
3. Form Input Biaya
Sumber : Hasil Rancangan (2018)
Gambar III. 18 User Interface Form Input Biaya
Gambar III. 18 berikut adalah User Interface Form Input Biaya
Rancangan Sistem pada CV. Edo Maju Lestari Pontianak,dimana form Input
Biaya disini terdapat kode biaya dan jenis biaya yang akan diisi untuk
penginputan data biaya.
48
4. Form Karyawan
Sumber : Hasil Rancangan (2018)
Gambar III. 19 User Interface Form Karyawan
Gambar III.19 berikut adalah User Interface Form Karyawan Rancangan
Sistem pada CV. Edo Maju Lestari Pontianak, dimana form karyawan disini
terdapat nik, nama lengkap, tempat dan tanggal lahir yang akan diisi untuk
pengolahan data karyawan.
49
5. Form Pengguna
Sumber : Hasil Rancangan (2018)
Gambar III. 18 User Interface Form Pengguna
Gambar III.20 berikut adalah User Interface Form Pengguna Rancangan
Sistem pada CV. Edo Maju Lestari Pontianak, dimana form user disini terdapat id,
nama, password dan hak akses yang akan diisi untuk pengelolaan data pengguna.
50
6. Form Biaya Operasional
Sumber : Hasil Rancangan (2018)
Gambar III. 19 User Interface Form Biaya Operasional
Gambar III.21 berikut adalah User Interface Form Biaya Operasional
Rancangan Sistem pada CV. Edo Maju Lestari Pontianak, dimana form biaya
operasional disini terdapat kode, tanggal, jumlah dan keterangan yang akan diisi
untuk pengolahan biaya operasional.
51
7. Form Laporan Kas Keluar
Sumber : Hasil Rancangan (2018)
Gambar III. 22 User Interface Form Laporan Kas Keluar
Gambar III.22 berikut adalah User Interface Form Laporan Kas Keluar
Rancangan Sistem pada CV. Edo Maju Lestari Pontianak, dimana form laporan
kas keluar terdapat tanggal yang akan diisi untuk mencetak laporan kas keluar.
8. Form Laporan Jurnal
Sumber : Hasil Rancangan (2018)
Gambar III. 20 User Interface Form Laporan Jurnal
52
Gambar III.23 berikut adalah User Interface Form Laporan Jurnal
Rancangan Sistem pada CV. Edo Maju Lestari Pontianak, dimana form laporan
Jurnal terdapat tanggal yang akan diisi untuk mencetak laporan Jurnal.
3.5. Implementasi
Didalam implementasi terdapat penjelasan tentang code generation yang
menampilkan listing program pada form yang terkait dengan proses bisnis
utamanya, testing menggunakan blackbox testing dan spesifikasi hardware dan
software.
3.5.1. Code Genarition
1. Form Login
private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {
if(txtUsername.getText().isEmpty()) {
JOptionPane.showMessageDialog(null,"Nama pengguna tidak boleh
kosong!");
return;
}
if(String.valueOf(txtKata_sandi.getPassword()).isEmpty()) {
JOptionPane.showMessageDialog(null,"Kata sandi tidak boleh
kosong!");
return;
}
try {
LoginController loginController = new LoginController();
loginController.setNama_pengguna(txtUsername.getText());
loginController.setKata_sandi(String.valueOf(txtKata_sandi.getPassword()));
if (loginController.login()) {
JOptionPane.showMessageDialog(null," Berhasil! Silahkan Masuk");
home_index form = new home_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
this.dispose();
} else {
JOptionPane.showMessageDialog(rootPane, " Gagal! username atau
password yang anda masukan salah");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane,
e.getLocalizedMessage().toString());
53
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int selectedOption = JOptionPane.showConfirmDialog(null,"Apakah anda ingin
keluar?", "Tutup Aplikasi",
JOptionPane. YES_NO_OPTION);
if (selectedOption == JOptionPane.YES_OPTION) {
System.exit(0);}
}
private void txtKata_sandiActionPerformed(java.awt.event.ActionEvent evt) {
}
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
} }
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(login_index.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(login_index.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(login_index.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(login_index.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex); }
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
login_index form = new login_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
}); }
private javax.swing.JButton btnLogin;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
54
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPasswordField txtKata_sandi;
private javax.swing.JTextField txtUsername;
}
2. Form Menu Utama
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
jenis_biaya_index form = new jenis_biaya_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
biaya_operasional_index form = new biaya_operasional_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
karyawan_index form = new karyawan_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
kas_keluar_index form = new kas_keluar_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {
pendapatan_index form = new pendapatan_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
kas_masuk_index form = new kas_masuk_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {
laba_rugi_index form = new laba_rugi_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
private void jMenu4ActionPerformed(java.awt.event.ActionEvent evt) {
}
private void jMenu4HierarchyChanged(java.awt.event.HierarchyEvent evt) {
}
private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {
55
System.exit(0);
}
private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {
user_index form = new user_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
private void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt)
{
buku_besar form = new buku_besar();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
private void formWindowActivated(java.awt.event.WindowEvent evt) {
if(Auth.pengguna.getJabatan().equals("direktur")) { //JIKA YANG
LOGIN = DIREKTUR
mMaster.setVisible(false);
mPencatatan.setVisible(false);
}
}
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(home_index.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(home_index.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(home_index.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(home_index.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
home_index form = new home_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
});
56
}
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JMenu jMenu4;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem10;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JMenuItem jMenuItem3;
private javax.swing.JMenuItem jMenuItem4;
private javax.swing.JMenuItem jMenuItem5;
private javax.swing.JMenuItem jMenuItem6;
private javax.swing.JMenuItem jMenuItem7;
private javax.swing.JMenuItem jMenuItem8;
private javax.swing.JMenuItem jMenuItem9;
private javax.swing.JPanel jPanel1;
private javax.swing.JMenu mLaporan;
private javax.swing.JMenu mMaster;
private javax.swing.JMenu mPencatatan;
}
3. Form Biaya
private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {
if (btnTambah.getText().toLowerCase().equals("tambah")) {
System.out.println("btn::add('clicked')");
btnTambah.setText("Batal");
txtKodeBiaya.setEditable(true);
txtJenisBiaya.setEditable(true);
txtKodeBiaya.setText("");
txtJenisBiaya.setText("");
} else {
System.out.println("btn::cancel('clicked')");
btnTambah.setText("Tambah");
txtKodeBiaya.setEditable(false);
txtJenisBiaya.setEditable(false);
txtKodeBiaya.setText("");
txtJenisBiaya.setText("");
}
}
private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {
if(txtKodeBiaya.getText().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Kode biaya tidak boleh
kosong!");
btnTambah.setText("Tambah");
57
btnUbah.setText("Ubah");
return;
}
if(txtJenisBiaya.getText().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Jenis biaya tidak boleh
kosong!");
btnTambah.setText("Tambah");
btnUbah.setText("Ubah");
return;
}
JenisBiayaController biayaController = new JenisBiayaController();
if (btnTambah.getText().toLowerCase().equals("tambah")) {
biayaController.setKodeBiaya(txtKodeBiaya.getText());
biayaController.setJenisBiaya(txtJenisBiaya.getText());
biayaController.update(Integer.parseInt(txtIdBiaya.getText()));
btnTambah.setText("Ubah");
JOptionPane.showMessageDialog(rootPane, "Data berhasil di ubah ");
} else {
biayaController.setKodeBiaya(txtKodeBiaya.getText());
biayaController.setJenisBiaya(txtJenisBiaya.getText());
biayaController.create();
btnTambah.setText("Tambah");
JOptionPane.showMessageDialog(rootPane, "Data berhasil di simpan
");
}
showTable(biayaController.all());
txtIdBiaya.setText("");
txtKodeBiaya.setText("");
txtJenisBiaya.setText("");
txtKodeBiaya.setEditable(false);
txtJenisBiaya.setEditable(false);
}
private void formWindowActivated(java.awt.event.WindowEvent evt) {
JenisBiayaController biayaController = new JenisBiayaController();
showTable(biayaController.all());
txtIdBiaya.setVisible(false);
txtKodeBiaya.setEditable(false);
txtJenisBiaya.setEditable(false);
}
private void tblBiayaMouseClicked(java.awt.event.MouseEvent evt) {
int x = tblBiaya.getSelectedRow();
if (x != -1) {
txtIdBiaya.setText(tblBiaya.getValueAt(x, 0).toString());
txtKodeBiaya.setText(tblBiaya.getValueAt(x, 1).toString());
txtJenisBiaya.setText(tblBiaya.getValueAt(x, 2).toString());
}
}
58
private void btnUbahActionPerformed(java.awt.event.ActionEvent evt) {
if (btnUbah.getText().toLowerCase().equals("ubah")) {
btnUbah.setText("Batal");
if (txtIdBiaya.getText().equals("") &&
(txtKodeBiaya.getText().equals("") || txtJenisBiaya.getText().equals(""))) {
JOptionPane.showMessageDialog(rootPane, "Edit gagal! silahkan
pilih salah satu data yang ada di tabel");
} else {
txtKodeBiaya.setEditable(true);
txtJenisBiaya.setEditable(true);
}
} else {
btnUbah.setText("Ubah");
txtKodeBiaya.setEditable(false);
txtJenisBiaya.setEditable(false);
}
}
private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {
int dialogButton = JOptionPane.YES_NO_OPTION;
int dialogResult = JOptionPane.showConfirmDialog(this, "Apakah anda
yakin ingin menghapus data ?", "Hapus data", dialogButton);
if (dialogResult == 0) {
JenisBiayaController biayaController = new JenisBiayaController();
Hashtable data = new Hashtable();
biayaController.delete(Integer.parseInt(txtIdBiaya.getText()));
showTable(biayaController.all());
txtIdBiaya.setText("");
txtJenisBiaya.setText("");
txtJenisBiaya.setEnabled(false);
txtKodeBiaya.setText("");
txtKodeBiaya.setEnabled(false);
}
}
private void txtCariKeyReleased(java.awt.event.KeyEvent evt) {
System.out.println("pencarian biaya : " + txtCari.getText());
JenisBiayaController biayaController = new JenisBiayaController();
showTable(biayaController.search(txtCari.getText()));
}
private void txtCariActionPerformed(java.awt.event.ActionEvent evt) {
}
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
59
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(jenis_biaya_index.class.getName()).log(jav
a.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(jenis_biaya_index.class.getName()).log(jav
a.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(jenis_biaya_index.class.getName()).log(jav
a.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(jenis_biaya_index.class.getName()).log(jav
a.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
jenis_biaya_index form = new jenis_biaya_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
}); }
public void showTable(ResultSet data) {
DefaultTableModel dfTblBiaya = new DefaultTableModel();
dfTblBiaya.addColumn("#ID.");
dfTblBiaya.addColumn("KODE BIAYA");
dfTblBiaya.addColumn("JENIS BIAYA");
try {
while (data.next()) {
dfTblBiaya.addRow(new Object[]{
data.getInt("id"),
data.getString("kode_biaya"),
data.getString("jenis_biaya")
});
tblBiaya.setModel(dfTblBiaya); }
} catch (Exception e) {
System.out.println(e.getLocalizedMessage().toString());
}
}
private javax.swing.JButton btnHapus;
private javax.swing.JButton btnSimpan;
private javax.swing.JButton btnTambah;
private javax.swing.JButton btnUbah;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
60
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable tblBiaya;
private javax.swing.JTextField txtCari;
private javax.swing.JLabel txtIdBiaya;
private javax.swing.JTextField txtJenisBiaya;
private javax.swing.JTextField txtKodeBiaya;
4. Form Karyawan
private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {
if (btnTambah.getText().toLowerCase().equals("tambah")) {
System.out.println("btn::add('clicked')");
btnTambah.setText("Batal");
txtNik.setEditable(true);
txtNamaLengkap.setEditable(true);
txtTempatLahir.setEditable(true);
cbJabatan.setEditable(true);
txtNik.setText("");
txtNamaLengkap.setText("");
txtTempatLahir.setText("");
cbJabatan.setSelectedIndex(0);
} else {
System.out.println("btn::cancel('clicked')");
btnTambah.setText("Tambah");
txtNik.setEditable(false);
txtNamaLengkap.setEditable(false);
txtTempatLahir.setEditable(false);
cbJabatan.setEditable(false);
txtNik.setText("");
txtNamaLengkap.setText("");
txtTempatLahir.setText("");
cbJabatan.setSelectedIndex(0);
}
}
public void showTable(ResultSet data) {
DefaultTableModel dfTbl = new DefaultTableModel();
dfTbl.addColumn("#ID.");
dfTbl.addColumn("NIK");
dfTbl.addColumn("NAMA LENGKAP");
dfTbl.addColumn("JABATAN");
dfTbl.addColumn("TEMPAT LAHIR");
dfTbl.addColumn("TANGGAL LAHIR");
try {
while (data.next()) {
dfTbl.addRow(new Object[]{
data.getInt("id"),
data.getString("nik"),
data.getString("nama_lengkap"),
data.getString("jabatan"),
61
data.getString("tempat_lahir"),
data.getDate("tanggal_lahir")
});
tblKaryawan.setModel(dfTbl);
}
} catch (Exception e) {
System.out.println(e.getLocalizedMessage().toString());
}
}
private void btnSimpanActionPerformed(java.awt.event.ActionEvent
evt) {
if(txtNik.getText().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Silahkan isi semua
data!");
btnTambah.setText("Tambah");
btnUbah.setText("Ubah");
return;
}
KaryawanController karyawanController = new
KaryawanController();
if (btnTambah.getText().toLowerCase().equals("tambah")) {
karyawanController.setNik(txtNik.getText());
karyawanController.setNamaLengkap(txtNamaLengkap.getText());
karyawanController.setJabatan(cbJabatan.getSelectedItem().toString());
karyawanController.setTempatLahir(txtTempatLahir.getText());
karyawanController.setTanggalLahir(txtTanggalLahir.getDate());
karyawanController.update(Integer.parseInt(txtId.getText()));
btnUbah.setText("Ubah");
JOptionPane.showMessageDialog(rootPane, "Data berhasil di
ubah ");
} else {
karyawanController.setNik(txtNik.getText());
karyawanController.setNamaLengkap(txtNamaLengkap.getText());
karyawanController.setJabatan(cbJabatan.getSelectedItem().toString());
karyawanController.setTempatLahir(txtTempatLahir.getText());
karyawanController.setTanggalLahir(txtTanggalLahir.getDate());
karyawanController.create();
btnTambah.setText("Tambah");
JOptionPane.showMessageDialog(rootPane, "Data berhasil di
simpan ");
}
showTable(karyawanController.all());
txtId.setText("");
txtNik.setEditable(false);
62
txtNamaLengkap.setEditable(false);
txtTempatLahir.setEditable(false);
cbJabatan.setEditable(false);
txtNik.setText("");
txtNamaLengkap.setText("");
txtTempatLahir.setText("");
cbJabatan.setSelectedIndex(0);
}
private void formWindowActivated(java.awt.event.WindowEvent evt)
{
KaryawanController karyawanController = new
KaryawanController();
showTable(karyawanController.all());
txtNik.setEditable(false);
txtNamaLengkap.setEditable(false);
txtTempatLahir.setEditable(false);
cbJabatan.setEditable(false);
txtId.setVisible(false);
}
private void tblKaryawanMouseClicked(java.awt.event.MouseEvent
evt) {
int x = tblKaryawan.getSelectedRow();
if (x != -1) {
try {
txtId.setText(tblKaryawan.getValueAt(x, 0).toString());
txtNik.setText(tblKaryawan.getValueAt(x, 1).toString());
txtNamaLengkap.setText(tblKaryawan.getValueAt(x, String());
cbJabatan.setSelectedItem(tblKaryawan.getValueAt(x,
String());
txtTempatLahir.setText(tblKaryawan.getValueAt(x, toString());
String dateValue = tblKaryawan.getValueAt(x, 5).toString();
java.util.Date date = new SimpleDateFormat("yyyy-MM-
dd").parse(dateValue);
txtTanggalLahir.setDate(date);
} catch (ParseException ex) {
Logger.getLogger(karyawan_index.class.getName()).log(Level.SEVERE,
null, ex);
}
}
}
private void btnUbahActionPerformed(java.awt.event.ActionEvent evt)
{
if (btnUbah.getText().toLowerCase().equals("ubah")) {
btnUbah.setText("Batal");
if (txtId.getText().equals("") && (txtNik.getText().equals("") ||
txtNamaLengkap.getText().equals(""))) {
JOptionPane.showMessageDialog(rootPane, "Edit gagal!
silahkan pilih salah satu data yang ada di tabel");
63
} else {
txtNik.setEditable(true);
txtNamaLengkap.setEditable(true);
txtTempatLahir.setEditable(true);
cbJabatan.setEditable(true);
}
} else {
btnUbah.setText("Ubah");
txtNik.setEditable(false);
txtNamaLengkap.setEditable(false);
txtTempatLahir.setEditable(false);
cbJabatan.setEditable(false);
}
}
private void btnHapusActionPerformed(java.awt.event.ActionEvent
evt) {
int dialogButton = JOptionPane.YES_NO_OPTION;
int dialogResult = JOptionPane.showConfirmDialog(this, "Apakah
anda yakin ingin menghapus data ?", "Hapus data", dialogButton);
if (dialogResult == 0) {
KaryawanController karyawanController = new
KaryawanController();
karyawanController.delete(Integer.parseInt(txtId.getText()));
showTable(karyawanController.all());
}
}
private void txtPencarianActionPerformed(java.awt.event.ActionEvent
evt) {
}
private void txtPencarianKeyReleased(java.awt.event.KeyEvent evt) {
KaryawanController controller = new KaryawanController();
showTable(controller.search(txtPencarian.getText()));
}
private void txtNikActionPerformed(java.awt.event.ActionEvent evt) {
}
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(karyawan_index.class.getName()).log
(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
64
java.util.logging.Logger.getLogger(karyawan_index.class.getName()).log
(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(karyawan_index.class.getName()).log
(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(karyawan_index.class.getName()).log
(java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
karyawan_index form = new karyawan_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
});
}
private javax.swing.JButton btnHapus;
private javax.swing.JButton btnSimpan;
private javax.swing.JButton btnTambah;
private javax.swing.JButton btnUbah;
private javax.swing.JComboBox<String> cbJabatan;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lblPencarian;
private javax.swing.JTable tblKaryawan;
private javax.swing.JLabel txtId;
private javax.swing.JTextField txtNamaLengkap;
private javax.swing.JTextField txtNik;
private javax.swing.JTextField txtPencarian;
private com.toedter.calendar.JDateChooser txtTanggalLahir;
private javax.swing.JTextField txtTempatLahir;
}
65
5. Form Biaya Operasional
private void btnTambahActionPerformed(java.awt.event.ActionEvent
evt) {
if (btnTambah.getText().toLowerCase().equals("tambah")) {
System.out.println("btn::add('clicked')");
btnTambah.setText("Batal");
jDateChooser.setEnabled(true);
txtJumlah.setEditable(true);
txtKeterangan.setEditable(true);
jDateChooser.setDate(null);
txtJumlah.setText("");
txtKeterangan.setText("");
} else {
System.out.println("btn::cancel('clicked')");
btnTambah.setText("Tambah");
jDateChooser.setEnabled(false);
txtJumlah.setEditable(false);
txtKeterangan.setEditable(false);
jDateChooser.setDate(null);
txtJumlah.setText("");
txtKeterangan.setText("");
}
}
public void initShowTable() {
Builder query = new Builder();
ResultSet data = query.exec("select biaya_operasional.id,
jenis_biaya.kode_biaya, biaya_operasional.keterangan,
biaya_operasional.jumlah, biaya_operasional.tanggal FROM
biaya_operasional left join jenis_biaya on biaya_operasional.biaya_id =
jenis_biaya.id");
showTable(data);
}
private void formWindowActivated(java.awt.event.WindowEvent evt) {
try {
txtId.setVisible(false);
cbJenisBiaya.setEditable(false);
txtJumlah.setEditable(false);
txtKeterangan.setEditable(false);
cbJenisBiaya.removeAllItems();
txtJumlah.setText("");
txtKeterangan.setText("");
this.initShowTable();
cbJenisBiaya.addItem("--Pilih--");
Builder query = new Builder();
query.setTable("jenis_biaya");
ResultSet data = query.all();
while (data.next()) {
66
cbJenisBiaya.addItem(data.getString("kode_biaya"));
}
} catch (SQLException ex) {
Logger.getLogger(biaya_operasional_index.class.getName()).log(Level.S
EVERE, null, ex);
}
}
public void showTable(ResultSet data) {
DefaultTableModel dfTbl = new DefaultTableModel();
dfTbl.addColumn("ID");
dfTbl.addColumn(" KODE BIAYA");
dfTbl.addColumn("KETERANGAN");
dfTbl.addColumn("JUMLAH");
dfTbl.addColumn("TANGGAL");
try {
while (data.next()) {
dfTbl.addRow(new Object[]{
data.getInt("id"),
data.getString("kode_biaya"),
data.getString("keterangan"),
data.getInt("jumlah"),
data.getDate("tanggal")
});
table.setModel(dfTbl);
}
} catch (Exception e) {
System.out.println(e.getLocalizedMessage().toString());
}
}
public void resetField(Boolean state, Boolean fieldReset) {
cbJenisBiaya.setEditable(state);
txtJumlah.setEditable(state);
txtKeterangan.setEditable(state);
if (fieldReset) {
cbJenisBiaya.setSelectedIndex(0);
lbIdBiaya.setText("...");
lbJenisBiaya.setText("...");
txtJumlah.setText("");
txtKeterangan.setText("");
}
}
private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {
if(cbJenisBiaya.getSelectedIndex() == 0){
JOptionPane.showMessageDialog(rootPane, "Silahkan pilih kode
biaya!");
btnTambah.setText("Tambah");
btnUbah.setText("Ubah");
return;
67
}
if(jDateChooser.getDate() == null){
JOptionPane.showMessageDialog(rootPane, "Silahkan pilih tanggal!");
btnTambah.setText("Tambah");
btnUbah.setText("Ubah");
return;
}
if(txtJumlah.getText().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Jumlah tidak boleh
kosong!");
btnTambah.setText("Tambah");
btnUbah.setText("Ubah");
return;
}
try {
Integer.parseInt(txtJumlah.getText());
}
catch (NumberFormatException e) {
JOptionPane.showMessageDialog(rootPane, "Jumlah harus berupa
angka!");
btnTambah.setText("Tambah");
btnUbah.setText("Ubah");
return;
}
if(txtKeterangan.getText().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Keterangan tidak boleh
kosong!");
btnTambah.setText("Tambah");
btnUbah.setText("Ubah");
return;
}
BiayaOperasionalController biayaOperasionalController = new
BiayaOperasionalController();
if (btnTambah.getText().toLowerCase().equals("tambah")) {
biayaOperasionalController.setBiayaId(Integer.parseInt(lbIdBiaya.getText()));
biayaOperasionalController.setTanggal(jDateChooser.getDate());
biayaOperasionalController.setJumlah(Integer.parseInt(txtJumlah.getText()));
biayaOperasionalController.setKeterangan(txtKeterangan.getText());
biayaOperasionalController.update(Integer.parseInt(txtId.getText()));
btnUbah.setText("Ubah");
JOptionPane.showMessageDialog(rootPane, "Data berhasil di ubah ");
} else {
biayaOperasionalController.setBiayaId(Integer.parseInt(lbIdBiaya.getText()));
biayaOperasionalController.setTanggal(jDateChooser.getDate());
biayaOperasionalController.setJumlah(Integer.parseInt(txtJumlah.getText()));
biayaOperasionalController.setKeterangan(txtKeterangan.getText());
biayaOperasionalController.create();
btnTambah.setText("Tambah");
68
JOptionPane.showMessageDialog(rootPane, "Data berhasil di simpan
");
}
this.initShowTable();
this.resetField(false, true);
}
6. Form Pendapatan
private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {
if(txtJumlah.getText().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Silahkan isi semua data");
btnTambah.setText("Tambah");
btnUbah.setText("Ubah");
return;
}
if(txtNamaBarang.getText().isEmpty()){
JOptionPane.showMessageDialog(rootPane, "Silahkan isi semua
data!");
btnTambah.setText("Tambah");
btnUbah.setText("Ubah");
return;
}
try {
Integer.parseInt(txtJumlah.getText());
}
catch (NumberFormatException e) {
JOptionPane.showMessageDialog(rootPane, "Jumlah harus berupa
angka!");
btnTambah.setText("Tambah");
btnUbah.setText("Ubah");
return;
}
PendapatanController pendapatanController = new
PendapatanController();
if (btnTambah.getText().toLowerCase().equals("tambah")) {
pendapatanController.setNamaBarang(txtNamaBarang.getText());
pendapatanController.setJumlah(Integer.parseInt(txtJumlah.getText()));
pendapatanController.setKeterangan(txtKeterangan.getText());
pendapatanController.setTanggal(jDateChooser.getDate());
pendapatanController.update(Integer.parseInt(txtId.getText()));
btnUbah.setText("Ubah");
JOptionPane.showMessageDialog(rootPane, "Data berhasil di ubah ");
} else {
pendapatanController.setNamaBarang(txtNamaBarang.getText());
pendapatanController.setJumlah(Integer.parseInt(txtJumlah.getText()));
pendapatanController.setKeterangan(txtKeterangan.getText());
pendapatanController.setTanggal(jDateChooser.getDate());
69
pendapatanController.create();
btnTambah.setText("Tambah");
JOptionPane.showMessageDialog(rootPane, "Data berhasil di simpan");
}
showTable(pendapatanController.all());
txtId.setText("");
txtNamaBarang.setText("");
txtKeterangan.setText("");
txtJumlah.setText("");
jDateChooser.setDate(null);
txtNamaBarang.setEnabled(false);
txtKeterangan.setEnabled(false);
txtJumlah.setEnabled(false);
jDateChooser.setEnabled(false);
}
private void formWindowActivated(java.awt.event.WindowEvent evt) {
PendapatanController pendapatanController = new
PendapatanController();
showTable(pendapatanController.all());
txtId.setVisible(false);
txtNamaBarang.setEnabled(false);
txtKeterangan.setEnabled(false);
txtJumlah.setEnabled(false);
jDateChooser.setEnabled(false);
txtId.setText("");
txtNamaBarang.setText("");
txtKeterangan.setText("");
txtJumlah.setText("");
jDateChooser.setDate(null);
}
private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {
if (btnTambah.getText().toLowerCase().equals("tambah")) {
System.out.println("btn::add('clicked')");
btnTambah.setText("Batal");
txtNamaBarang.setEnabled(true);
txtKeterangan.setEnabled(true);
txtJumlah.setEnabled(true);
jDateChooser.setEnabled(true);
txtId.setText("");
txtNamaBarang.setText("");
txtKeterangan.setText("");
txtJumlah.setText("");
jDateChooser.setDate(null);
} else {
System.out.println("btn::cancel('clicked')");
btnTambah.setText("Tambah");
txtNamaBarang.setEnabled(false);
txtKeterangan.setEnabled(false);
70
txtJumlah.setEnabled(false);
jDateChooser.setEnabled(false);
txtId.setText("");
txtNamaBarang.setText("");
txtKeterangan.setText("");
txtJumlah.setText("");
jDateChooser.setDate(null);
}
}
private void tableMouseClicked(java.awt.event.MouseEvent evt) {
int row = table.getSelectedRow();
if (row != -1) {
try {
txtId.setText(table.getValueAt(row, 0).toString());
txtNamaBarang.setText(table.getValueAt(row, 1).toString());
txtJumlah.setText(table.getValueAt(row, 2).toString());
txtKeterangan.setText(table.getValueAt(row, 3).toString()
String dateValue = table.getValueAt(row, 4).toString();
java.util.Date date = new SimpleDateFormat("yyyy-MM-
dd").parse(dateValue);
jDateChooser.setDate(date);
} catch (ParseException ex) {
Logger.getLogger(karyawan_index.class.getName()).log(Level.SEVERE, null,
ex);
}
}
}
private void btnUbahActionPerformed(java.awt.event.ActionEvent evt) {
if (btnUbah.getText().toLowerCase().equals("ubah")) {
btnUbah.setText("Batal");
if (txtId.getText().equals("")) {
JOptionPane.showMessageDialog(rootPane, "Edit gagal! silahkan
pilih salah satu data yang ada di tabel");
} else {
txtNamaBarang.setEnabled(true);
txtKeterangan.setEnabled(true);
txtJumlah.setEnabled(true);
jDateChooser.setEnabled(true);
}
} else {
btnUbah.setText("Ubah");
txtNamaBarang.setEnabled(false);
txtKeterangan.setEnabled(false);
txtJumlah.setEnabled(false);
jDateChooser.setEnabled(false);
}
}
private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {
71
int dialogButton = JOptionPane.YES_NO_OPTION;
int dialogResult = JOptionPane.showConfirmDialog(this, "Apakah anda
yakin ingin menghapus data ?", "Hapus data", dialogButton);
if (dialogResult == 0) {
PendapatanController pendapatanController = new
PendapatanController();
pendapatanController.delete(Integer.parseInt(txtId.getText()));
showTable(pendapatanController.all());
txtId.setText("");
txtNamaBarang.setEnabled(false);
txtKeterangan.setEnabled(false);
txtJumlah.setEnabled(false);
jDateChooser.setEnabled(false);
txtId.setText("");
txtNamaBarang.setText("");
txtKeterangan.setText("");
txtJumlah.setText("");
jDateChooser.setDate(null);
}
}
private void txtCariKeyReleased(java.awt.event.KeyEvent evt) {
PendapatanController controller = new PendapatanController();
showTable(controller.search(txtCari.getText()));
}
private void txtJumlahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the
default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
72
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(pendapatan_index.class.getName()).log(jav
a.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(pendapatan_index.class.getName()).log(jav
a.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(pendapatan_index.class.getName()).log(jav
a.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(pendapatan_index.class.getName()).log(jav
a.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
pendapatan_index form = new pendapatan_index();
form.setVisible(true);
form.setLocationRelativeTo(null); }
});
}
public void showTable(ResultSet data) {
DefaultTableModel dfTbl = new DefaultTableModel();
dfTbl.addColumn("#ID.");
dfTbl.addColumn("NAMA BARANG");
dfTbl.addColumn("JUMLAH");
dfTbl.addColumn("KETERANGAN");
dfTbl.addColumn("TANGGAL");
try {
while (data.next()) {
dfTbl.addRow(new Object[]{
data.getInt("id"),
data.getString("nama_barang"),
data.getInt("jumlah"),
data.getString("keterangan"),
data.getDate("tanggal"),});
table.setModel(dfTbl);
}
} catch (Exception e) {
System.out.println(e.getLocalizedMessage().toString());
} }
private javax.swing.JButton btnHapus;
private javax.swing.JButton btnSimpan;
private javax.swing.JButton btnTambah;
private javax.swing.JButton btnUbah;
73
private com.toedter.calendar.JDateChooser jDateChooser;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable table;
private javax.swing.JTextField txtCari;
private javax.swing.JLabel txtId;
private javax.swing.JTextField txtJumlah;
private javax.swing.JTextArea txtKeterangan;
private javax.swing.JTextField txtNamaBarang;
7. Form Laporan Kas Keluar
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if (!(txtTanggalAwal.getDate() == null || txtTanggalAkhir.getDate() ==
null)) {
try {
Report report = new Report();
HashMap param = new HashMap();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-
dd");
param.put("tanggalAwal",
format.format(txtTanggalAwal.getDate()));
param.put("tanggalAkhir",
format.format(txtTanggalAkhir.getDate()));
report.setName("rpt_laporan_kas_keluar");
report.setPath("report");
report.setParams(param);
report.make();
} catch (Exception ex) {
System.out.println(ex);
}
} else {
JOptionPane.showMessageDialog(rootPane, "Lihat laporan gagal!
silahkan atur terlebih dahulu rentang tanggal laporan yang akan di cetak");
}
}
74
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
int selectedOption = JOptionPane.showConfirmDialog(null,"Apakah anda
ingin keluar?", "Tutup Aplikasi",
JOptionPane. YES_NO_OPTION);
if (selectedOption == JOptionPane.YES_OPTION) {
System.exit(0);}
}
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(kas_keluar_index.class.getName()).log(java
.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(kas_keluar_index.class.getName()).log(java
.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(kas_keluar_index.class.getName()).log(java
.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(kas_keluar_index.class.getName()).log(java
.util.logging.Level.SEVERE, null, ex); }
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
kas_keluar_index form = new kas_keluar_index();
form.setVisible(true);
form.setLocationRelativeTo(null);
}
}); }
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private com.toedter.calendar.JDateChooser txtTanggalAkhir;
private com.toedter.calendar.JDateChooser txtTanggalAwal;
}
75
8. Form Jurnal
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if (!(txtTanggalAwal.getDate() == null || txtTanggalAkhir.getDate()
== null)) {
try {
Report report = new Report();
HashMap param = new HashMap();
SimpleDateFormat format = new SimpleDateFormat("yyyy-
MM-dd");
param.put("tanggalAwal",
format.format(txtTanggalAwal.getDate()));
param.put("tanggalAkhir",
format.format(txtTanggalAkhir.getDate()));
report.setName("rpt_laporan_buku_besar");
report.setPath("report");
report.setParams(param);
report.make();
} catch (Exception ex) {
System.out.println(ex);
}
} else {
JOptionPane.showMessageDialog(rootPane, "Lihat laporan gagal!
silahkan atur terlebih dahulu rentang tanggal laporan yang akan di
cetak");
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
int selectedOption = JOptionPane.showConfirmDialog(null,"Apakah
anda ingin keluar?", "Tutup Aplikasi",
JOptionPane. YES_NO_OPTION);
if (selectedOption == JOptionPane.YES_OPTION) {
System.exit(0);}
}
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private com.toedter.calendar.JDateChooser txtTanggalAkhir;
private com.toedter.calendar.JDateChooser txtTanggalAwal;
}
76
3.5.2. Blackbox Testing
Tabel III. 1
Hasil Pengujian Blackbox Testing Form Masuk
No Scenario
Pengujian Tect Case
Hasil yang
diharapkan
Hasil
pengujian Keterangan
1 Nama atau
kata sandi
salah
kemudian
klik tombol
masuk
nama
benar kata
sandi salah
Menampilkan
pesan “Gagal !
Nama atau
kata sandi
yang anda
masukan
salah”
Sesuai
harapan
Valid
2 Nama atau
kata sandi
benar
kemudian
klik tombol
masuk
nama
benar kata
sandi
benar
Menampilkan
pesan ”
Berhasil !!!
silahkan
masuk”
Sesuai
harapan
Valid
3
Nama tidak
diisi
kemudian
klik tombol
masuk
Nama
tidak diisi
Menampilkan
pesan “ Nama
tidak boleh
kosong”
Sesuai
harapan
Valid
4
kata sandi
tidak diisi
kemudian
klik tombol
masuk
Kata sandi
tidak diisi
Menampilkan
pesan “Kata
sandi tidak
boleh kosong”
Sesuai
harapan
Valid
Sumber : Hasil Rancangan (2018)
Tabel III. 2
Hasil Pengujian Blackbox Testing Form Input Biaya
No Scenario
Pengujian Tect Case
Hasil yang
diharapkan
Hasil
pengujian Keterangan
1 Menyimpan
data biaya
dengan klik
tombol
tambah dan
simpan
kode biaya
dan jenis
biaya
sudah diisi
Menampilkan
pesan “ Data
berhasil
disimpan”
Sesuai
harapan
Valid
2 Mengubah
data biaya
dengan klik
tombol ubah
dan simpan
kode biaya
dan jenis
biaya
sudah
diedit
Menampilkan
pesan “Data
berhasil
diubah”
Sesuai
harapan
Valid
77
3 Menghapus
data biaya
dengan klik
tombol
hapus
Klik pada
tabel
Menampilkan
pesan “Apakah
anda yakin
ingin
menghapus
data ?”
Dan data
berhasil
dihapus
Sesuai
harapan
Valid
Sumber : Hasil Rancangan (2018)
Tabel III. 3
Hasil Pengujian Blackbox Testing Form Data Karyawan
No Scenario
Pengujian Tect Case
Hasil yang
diharapkan
Hasil
pengujian Keterangan
1 Menyimpan
data
karyawan
dengan klik
tambah dan
simpan
Nik, nama,
jabatan,
tempat
tanggal
lahir
semua
(benar)
Menampilkan
pesan “Data
berhasil
disimpan”
Sesuai
harapan
Valid
2 Mengubah
data
karyawan
dengan klik
tombol ubah
dan simpan
Nik
(benar)
dan data
sudah
diubah
Menampilkan
pesan “Data
berhasil
diubah”
Sesuai
harapan
Valid
3 Menghapus
data
karyawan
dengan klik
tombol
hapus
Klik pada
tabel
Menampilkan
pesan “Apakah
anda yakin
ingin
menghapus
data ?” dan
data berhasil
dihapus
Sesuai
harapan
Valid
Sumber : Hasil Rancangan (2018)
Tabel III. 4
Hasil Pengujian Blackbox Testing Form Data Pengguna
No Scenario
Pengujian
Tect
Case
Hasil yang
diharapkan
Hasil
pengujian Keterangan
78
1 Menyimpan
data
pengguna
dengan klik
tambah dan
simpan
Nama,
kata
sandi
sudah
(diisi)
Menampilkan
pesan “Data
berhasil
disimpan”
Sesuai
harapan
Valid
2 Mengubah
data
pengguna
dengan klik
tombol ubah
dan simpan
Nama,
kata
sandi
sudah
diubah
Menampilkan
pesan “Data
berhasil diubah”
Sesuai
harapan
Valid
3 Menghapus
data
karyawan
dengan klik
tombol
hapus
Klik
pada
tabel
Menampilkan
pesan “Apakah
anda yakin ingin
menghapus data
?” dan data
berhasil dihapus
Sesuai
harapan
Valid
Sumber : Hasil Rancangan (2018)
Tabel III. 5
Hasil Pengujian Blackbox Testing Form Biaya Operasional
No Scenario
Pengujian Tect Case
Hasil yang
diharapkan
Hasil
pengujian Keterangan
1 Menyimpan
data biaya
dengan klik
tombol tambah
dan simpan
Kode,
jenis,
tanggal,
jumlah,
keterangan
semua
Menampilkan
pesan “Data
berhasil
disimpan”
Sesuai
harapan
Valid
2 Mengubah
data biaya
operasional
dengan klik
tombol ubah
dan simpan
Kode
(benar) dan
data telah
diubah
Menampilkan
pesan”Data
berhasil diubah”
Sesuai
harapan
Valid
3 Menghapus
data biaya
dengan klik
tombol hapus
Klik pada
tabel
Menampilkan
pesan “Apakah
anda yakin ingin
menghapus data
?” dan data
berhasil dihapus
Sesuai
harapan
Valid
Sumber : Hasil Rancangan (2018
79
Tabel III. 16
Hasil Pengujian Blackbox Testing Form Laporan Kas Keluar
No Scenario
Pengujian
Tect
Case
Hasil yang
diharapkan
Hasil
pengujian Keterangan
1 Menampilkan
pengeluaran
dengan klik
tombol cetak
Tanggal
sudah
diisi
Menampilkan
hasil cetak kas
keluar
Sesuai
harapan
Valid
2
Tanggal tidak
diisi kemudian
klik tombol cetak
Tanggal
tidak
diisi
Menampilkan
pesan “Lihat
laporan gagal!
Silahkan atur
terlebih dahulu
rentang tanggal
laporan yang
akan dicetak”
Sesuai
harapan
Valid
3 Menampilkan
pesan “Apakah
anda yakin ingin
keluar”
Sumber : Hasil Rancangan (2018)
Tabel III. 17
Hasil Pengujian Blackbox Testing Form Laporan Jurnal
No Scenario
Pengujian
Tect
Case
Hasil yang
diharapkan
Hasil
pengujian Keterangan
1 Mengetahui
laporan dengan
kliktombol cetak
Tanggal
sudah
diisi
Menampilkan
hasil cetak
Jurnal
Sesuai
harapan
Valid
2 Tanggal tidak
diisi kemudian
klik tombol cetak
Tanggal
tidak
diisi
Menampilkan
pesan “Lihat
laporan gagal!
Silahkan atur
terlebih dahulu
rentang tanggal
laporan yang
akan dicetak”
Sesuai
harapan
Valid
Sumber : Hasil Rancangan (2018)
80
3.5.3. Spesifikasi Hardware dan Sofware
1. Spesifikasi Hardware (Perangkat Keras)
Perangkat keras yang digunakan dalam rancangan sistem ini adalah
terdiri dari unsur-unsur yang tediri dari perangkat keras komputer yang
digunakan unruk membantu proses kerja manusia (brainware) dan
bersifat fisik.
Spesifikasi perangkat keras minimum yang dibutuhkan adalah sebagai
berikut:
a. Processor : Intel(R) Acer Celeron(R) Processor N2840,
Intel(R) HD Graphics, 2GB DDR3 L
Memory, 500 GB HDD
b. Memory (RAM) : 2 GB
c. Monitor : 11 inc
d. Harddisk : 500 GB
e. Mouse : M-TECH
f. Keyboard : 83 Keys
g. Printer : Cannon IP 2770
2. Spesifikasi Software
Software yang digunakan dalam rancangan sistem ini adalah sebagai
berikut:
a. Sistem Operasi Microsoft Windows 10
b. Sistem Aplikasi Database menggunakan MySQL
c. Program Pendukung menggunakan NetBeans 8.1