Page 1
18
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Pada sub bab tinjauan perusahaan ini, penulis akan mencoba menguraikan
lebih jelas mengenai sejarah koperasi di Indonesia dan karyawan PT. Chiyoda
Integre Indonesia dan mengenai struktur organisasi yang ada didalamnya beserta
fungsi masing-masing dari tiap bagian yang ada.
3.1.1. Sejarah Perusahaan
Koperasi Karyawan PT. Chiyoda Integre Indonesia berdiri berdasarkan
pengajuan surat permintaan pengesahan akta pendirian dengan nomor
518/26/BK/BKKUM/IV/2007 yang masih berjalan sampai sekarang.
Koperasi Karyawan PT. Chiyoda Integre Indonesia merupakan suatu usaha
bersama yang beranggotakan seluruh karyawan PT. Chiyoda Integre Indonesia
yang bekerja sama demi kepentingan bersama. Koperasi ini berdiri dalam naungan
manajemen PT. Chiyoda Integre Indonesia yang terletak di Kawasan Industri
Suryacipta, Jl. Surya Nusa I Block B29-32 Desa Kutamekar, Ciampel, Karawang.
Koperasi ini beranggotakan 388 orang yang keseluruhan merupakan karyawan
PT. Chiyoda Integre Indonesia ini memiliki perkembangan yang cukup pesat
hingga saat ini memiliki jenis usaha simpan pinjam dan perdagangan.
Page 2
19
3.1.2 Struktur Organisasi Dan Fungsi
Sumber: AD/ART Koperasi PT Chiyoda Integre Indonesia
Gambar III.1. Struktur Organisasi
Dari struktur organisasi Koperasi Karyawan PT. Chiyoda Integre Indonesia
tersebut dapat kita jabarkan fungsi dari masing-masing bagian sebagai berikut:
1. Penasehat, bertugas menjadi orang yang banyak dimintai pertimbangan untuk
mengambil keputusan yang berkaitan dengan kebijakan Ketua Koperasi.
2. Ketua Koperasi
a. Memimpin dan bertanggung jawab atas segala kegiatan pengolahan
organisasi serta tugas yang telah disahkan pada rapat anggota tahunan.
b. Mengawasi pengolahan keuangan, material dan objek-objek lainnya yang
menjadi usaha koperasi.
c. Menandatangani segala bentuk surat keluar bersama-sama sekertaris dan
bendahara.
Page 3
20
d. Memberikan persetujuan penerimaan dan pengeluaran, pemberian kredit
yang bersifat khusus serta menandatangani cek/surat untuk kepentingan
organisasi.
e. Melakukan hubungan kerja dengan badan, lembaga tertentu dalam usaha
mencari atau penambahan modal.
3. Wakil Ketua, bertugas membantu tugas-tugas dari ketua koperasi.
4. Sekertaris
a. Pembuatan surat dan mengarsipkan surat surat-surat diterima koperasi.
b. Membantu ketua koperasi dalam hal yang berkaitan dengan koperasi.
5. Bendahara
a. Membantu dan mendampingi ketua dalam upaya penataan
penyelenggaraan administrasi keuangan.
b. Melakukan pembayaran kepada pihak ketiga.
c. Menginformasikan laporan keuangan koperasi secara rutin.
d. Menyusun rencana anggaran dan laporan keuangan yang akan
disampaikan pada rapat anggota tahunan.
6. Wirausaha
a. Mengusahakan inovasi-inovasi baru.
b. Membuka pasaran baru.
c. Memasuki usaha-usaha baru.
d. Memulai produksi jenis barang dan jasa baru.
7. Simpan Pinjam, bertugas memberikan kesempatan kepada anggotanya
memperoleh pinjaman dengan mudah dan bunga ringan.
Page 4
21
3.2. Tinjauan Kasus
3.2.1 Proses Bisnis Sistem Berjalan
1. Anggota koperasi yang akan melakukan peminjaman uang akan mengisi
formulir pengajuan pinjaman yang disertakan dengan persyaratan foto copy
KTP kemudian diserahkan ke Bendahara Koperasi, setelah diisi, maka
bendahara akan menerima form pengajuan lalu mengecek pinjaman,
bendahara akan memberikan form pinjaman tersebut lalu akan dimintakan
pertimbangan keputusan kepada Ketua Koperasi.
Bila Ketua memutuskan untuk ACC peminjaman maka formulir akan
diserahkan kembali ke bendahara untuk diinput data peminjamannya.
Setelah diinput, maka anggota tinggal menunggu 1 atau 2 hari untuk
dilakukan proses pencairan.
Uang yang sudah cair akan diserahkan kepada anggota dengan melakukan
tanda tangan sebagai tanda terima dengan jumlah pembayaran ditambahkan
bunga sebesar 10% untuk semua nominal peminjaman, dan berlaku sama bagi
semua anggota dan lama angsuran yang berlaku adalah 1 bulan, 6 bulan dan
12 bulan.
Setelah selesai maka pengurus akan membuat laporan data untuk kemudian
diserahkan kepada Ketua.
2. Pada proses pengembalian pinjaman anggota mengisi formulir pengembalian
pinjaman kemudian diserahkan ke bendahara untuk di input data
pengembalian pinjaman. Bendahara menginformasikan sisa pinjaman kepada
anggota kemudian bendahara membuat laporan pembayaran untuk diserahkan
ke ketua koperasi.
Page 5
22
3. Pada proses pembuatan laporan yang dibuat adalah laporan sisa angsuran
anggota koperasi dan laporan data pembayaran angsuran oleh anggota
koperasi, dimana nantinya akan diberikan kepada ketua Koperasi.
3.2.2. Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem
yang sedang dirancang, bagaimana masing-masing menggambarkan tingkat
proses yang terdapat dalam sistem koperasi simpan pinjam berjalan di PT.
Chiyoda Integre Indonesia.
Page 6
23
1. Activity Diagram Proses Peminjaman Anggota
Anggota KetuaBendahara
Menerima Form
Pengjuan
Menyerahkan Form
Pengajuan
Mengisi Form
pengajuan
Input Data Pinjaman
Menerima Laporan
Pinjaman
Mengembalikan Form
Pinjaman
Menyerahkan Form
Pengajuan Pinjaman
Membuat Keputusan
Pinjaman Anggota
Pencairan
Laporan Peminjaman
Tanda terima pencairan
uang ( tanda tangan)
Menyerahkan Laporan
Pinjaman
ACC
(YA)
Act Activity Proses Peminjaman Anggota
END
(TIDAK)
STAR
Gambar III.2
Activity Diagram Proses Peminjaman Anggota
Page 7
24
2. Activity Diagram Proses Pengembalian Pinjaman
Anggota KetuaBendahara
Input Data
Pengembalian
Menbuat Laporan
Pembayaran
Mengisi Form
Pengembalian Pinjaman
Menyerahkan Laporan
Pembayaran
Menerima Laporan
Pinjaman
Menyerahkan Form
Pengembalian Pinjaman
Informasi sisa
Pinjaman
Act Activity Diagram Proses Pengembalian Pinjaman
END
Gambar III.3
Activity Diagram Proses Pengembalian Pinjaman
Page 8
25
3. Activity Diagram Pembuatan Laporan
Membuat Laporan
Laporan Diterima
Pembayaran AngsuranSisa Angsuran
Menyerahkan Laporan
Bendahara Ketua
Star
Gambar III.4
Activity Diagram Pembuatan Laporan
3.2.3. Dokumen Masukan
Dokumen masukan adalah dokumen yang akan diolah atau diproses agar
dapat menghasilkan keluaran yang diinginkan. Adapun bentuk dokumen dokumen
masukan sebagai berikut:
1. Nama Dokumen : Formulir Pinjaman
Fungsi : Sebagai alat pengajuan pinjaman koperasi
Sumber : Bendahara
Tujuan : Anggota
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap pada pengajuan pinjaman anggota
Format : Lampiran A.1
Page 9
26
2. Nama Dokumen : Kartu Tanda Penduduk
Fungsi : Sebagai Persyaratan Pengajuan Pinjaman Koperasi
Sumber : Anggota
Tujuan : Bendahara
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap Pada Pengajuan Pinjaman Koperasi
Format : Lampiran A.2
3.2.4. Dokumen Keluaran
Dokumen keluaran adalah suatu dokumen hasil dari suatu proses
pengolahan dari dokumen didalam suatu sistem. Adapun contoh dokumen-
dokumen keluaran sebagai berikut:
1. Nama Dokumen : Formulir tanda terima peminjaman
Fungsi : Sebagai alat bukti peminjaman
Sumber : Bendahara
Tujuan : Anggota
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap ada pengajuan pinjaman
Format : Lampiran B.1
2. Nama Dokumen : Slip Potongan Koperasi
Fungsi : Sebagai alat bukti transaksi angsuran
Page 10
27
Sumber : Bendahara
Tujuan : Anggota
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap terjadi proses pembayaran angsuran
Format : Lampiran B.2
3. Nama Dokumen : Laporan
Fungsi : Sebagai Laporan
Sumber : Bendahara
Tujuan : Ketua Koperasi
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap Pembuatan Laporan
Format : Lampiran B.3
3.2.5. Permasalahan Pokok
Suatu sistem yang baik pada proses bisnis dengan skala besar, menengah
maupun kecil merupakan suatu proses dimana proses itu membentuk satu
kesatuan dan saling berkaitan untuk mencapai suatu tujuan yang diinginkan.
Dalam proses simpan pinjam koperasi anggota pada PT. Chiyoda Integre
Indonesia terdapat permasalahan-permasalahan yang timbul diantaranya:
Page 11
28
1. Terjadi pemborosan kertas untuk setiap proses peminjaman harus
mengeluarkan Formulir pinjaman.
2. Sulitnya dalam hal pencatatan proses-proses pengelolaan pinjaman karyawan
pada koperasi baik data anggota, simpanan anggota serta pembayaran
angsuran pada Koperasi PT. Chiyoda Integre Indonesia.
3. Sulit dan membutuhkan waktu lama ketika akan melakukan rekap laporan
seluruh data-data Koperasi PT. Chiyoda Integre Indonesia.
4. Sulitnya mencari informasi akurat data sisa pinjaman dan pengembalian
pinjaman anggota Koperasi PT. Chiyoda Integre Indonesia.
3.2.6. Pemecahan masalah
Untuk mengatasi masalah diatas penulis memberikan beberapa alternatif
pemecahan masalah pada sistem berjalan, guna mengatasi dan melakukan
pembaharuan sistem. Maka penulis mengajukan sistem pemecahan masalah
berupa pembangunan komputerisasi sistem penyimpanan arsip simpanan dan
pinjaman anggota serta pendataan pembayaran yang tersimpan dalam database.
Adapun alternatif untuk masalah-masalah diatas yaitu:
1. Merubah sistem input data peminjaman dan pembayaran yang masih manual
menjadi terkomputerisasi menggunakan program aplikasi berbasis VB NET
2012.
2. Membuat sistem yang dapat menyimpan data anggota, simpanan, pinjaman
dan pembayaran pinjaman koperasi dan menyimpannya dalam database
system.
3. Proses pembuatan laporan yang lebih mudah dan dapat dicetak berdasarkan
periode waktu tertentu dalam aplikasi.
Page 12
29
3.3. Analisis Kebutuhan Software
3.3.1. Analisis Kebutuhan
Berdasarkan proses bisnis yang ada pada koperasi simpan pinjam PT.
Chiyoda Integre Indonesia ini, maka tahapan berikutnya adalah analisa kebutuhan.
Berikut ini spesifikasi kebutuhan (system requirement) usulan penulis:
A. Halaman Administrator
A1. Administrator login
A2. Administrator mengakses Menu Utama
A2.1. Administrator mengelola Menu Master Data
A2.2. Administrator mengelola Menu Transaksi
A2.3. Administrator mengelola Menu Laporan
A3. Administrator dapat mengelola Menu Master Data
A3.1. Administrator mengelola Menu Data Anggota Koperasi
A3.2. Administrator mengelola Menu Data Akun
A3.3. Administrator mengelola Menu Data User Akses
A4. Administrator dapat mengelola Menu Transaksi
A4.1. Administrator mengelola Transaksi Simpanan
A4.2. Administrator mengelola Transaksi Peminjaman
A4.3. Administrator mengelola Transaksi Jurnal Peminjaman
A4.4. Administrator mengelola Transaksi Pembayaran
A4.5. Administrator mengelola Transaksi Jurnal Pembayaran
A5. Administrator dapat mengelola Menu laporan
A5.1. Administrator dapat mengelola Laporan Sisa Angsuran
A5.2. Administrator dapat mengelola Laporan Pembayaran
Page 13
30
B. Halaman Bendahara
B1. Bendahara login
B2. Bendahara mengelola Menu Utama
B2.2. Bendahara mengelola Menu Transaksi
B2.3. Bendahara mengelola Menu Laporan
B3. Bendahara dapat mengelola Menu Transaksi
B3.1. Bendahara mengelola Transaksi Simpanan
B3.2. Bendahara mengelola Transaksi Peminjaman
B3.3. Bendahara mengelola Transaksi Jurnal Peminjaman
B3.4. Bendahara mengelola Transaksi Pembayaran
B3.5. Bendahara mengelola Transaksi Jurnal Pembayaran
B4. Bendahara dapat mengelola Menu laporan
B4.1. Bendahara dapat mengelola Laporan Sisa Angsuran
B4.2. Bendahara dapat mengelola Laporan Pembayaran
Page 14
31
3.3.2. Use Case Diagram
1. Halaman Administrator Login
Administrator
Melakukan Login
Akses Menu Utama
Masukan Username
Masukan Password
<<extend>>
<<include>>
<<include>>
uc UC Administrator Login
Gambar III.5
Use Case Diagram Halaman Administrator Login
Tabel III.1. Deskripsi Use case Halaman Administrator Login
Use Case Narative Halaman Administrator
Tujuan Melakukan Login dan Masuk kedalam Sistem
Administrator
Deskripsi Sistem ini memungkin aktor untuk mengakses
Sistem Administrator
Skenario Utama
Aktor Administrator
Kondisi Awal Aktor Membuka Aplikasi halaman Administrator
Page 15
32
Aksi Aktor Reaksi Sistem
1. Aktor Memilih
tombol login
Sistem akan menampilkan textbox untuk mengisi
nama user dan password
2. Aktor Memilih
tombol batal
Sistem akan membatalkan proses dan keluar dari
aktivitas
Kondisi Akhir Jika perintah sesuai maka sistem akan masuk
kedalam Menu Utama aplikasi dan aktor akan
dapat melakukan aktivitas didalam system
2. Use Case Menu Utama
Gambar III.6. Use Case Diagram Menu Utama
uc UC Menu Utama Administrator
Administrator
Mengakses Menu
Utama
Menu Master Data
Menu Transaksi
Menu Laporan
«extend»
«extend»
«extend»
Page 16
33
Tabel III.2. Deskripsi Use Case Diagram Menu Utama
Use Case Narative Menu Utama
Tujuan Admininstrator dapat melakukan pengolahan
data yang ada di menu master data, menu
transaksi dan menu laporan
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola sistem simpan pinjam koperasi
mulai dari input data sampai dengan
pembuatan laporan
Skenario Utama
Aktor Admininstrator
Kondisi Awal Aktor Membuka Aplikasi Simpan Pinjam
Koperasi
Aksi Aktor Reaksi Sistem
1. Aktor Memilih tombol
Menu Master Data
Sistem akan menampilkan submenu Master
Data seperti Data Anggota, Data Akun dan
Data User
2. Aktor Memilih tombol
Menu Transaksi
Sistem akan menampilkan submenu
Transaksi Simpanan, Transaksi Peminjaman
dan Transaksi Pembayaran serta Transaksi
Jurnal
3. Aktor Memilih tombol
Laporan
Sistem akan menampilkan submenu Laporan
Sisa Angsuran dan Laporan Pembayaran
Angsuran
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan oleh
actor
Page 17
34
3. Use Case Diagram Menu Master
Gambar III.7. Use Case Diagram Menu Master Data
Tabel III.3. Deskripsi Use Case Diagram Menu Master Data
Use Case Narative Master Data
Tujuan Administrator dapat melakukan pengolahan
data yang ada di submenu master data, seperti
menu data anggota, menu data akun dan
menu data user
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola sistem simpan pinjam koperasi
mulai dari input data sampai dengan
pembuatan laporan
Skenario Utama
Aktor Administrator
Kondisi Awal Aktor Membuka Aplikasi Simpan Pinjam
Koperasi
Aksi Aktor Reaksi Sistem
1. Aktor Memilih Submenu Sistem akan menampilkan form data anggota
uc UC Menu Master Administrator
Administrator
Mengakses Menu
Master
Mengakses Data
Anggota
Mengakses Data
Akun
Mengakses Data
User
«extend»
«extend»
«extend»
Page 18
35
Data Anggota
2. Aktor Memilih Submenu
Data Akun
Sistem akan menampilkan form data akun
3. Aktor Memilih Submenu
Data User
Sistem akan menampilkan form data user
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan oleh
Aktor
4. Use Case Diagram Menu Transaksi
Gambar III.8 Deskripsi Use Case Diagram Menu Transaksi
uc UC Menu Transaksi Administrator
Administrator
Mengakses Menu
TransaksiMenu Simpanan
Menu
Peminjaman
Menu Jurnal
Peminjaman
Menu
Pembayaran
Menu Jurnal
Pembayaran
«extend»
«extend»
«extend»
«extend»
«extend»
Page 19
36
Tabel III.4 Deskripsi Use Case Diagram Menu Transaksi
Use Case Narative Menu Transaksi
Tujuan Administrator dapat melakukan pengolahan
data yang ada di submenu transaksi seperti
menu transaksi simpanan, peminjaman, jurnal
peminjaman, pembayaran dan jurnal
pembayaran.
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola system simpan pinjam koperasi
pada Menu Transaksi pembayaran
Skenario Utama
Aktor Administrator
Kondisi Awal Aktor Membuka Aplikasi Simpan Pinjam
Koperasi
Aksi Aktor Reaksi Sistem
1. Aktor Memilih submenu
Simpanan
Sistem akan menampilkan form simpanan
2. Aktor Memilih Submenu
Peminjaman
3. Aktor Memilih Submenu
Jurnal Peminjaman
4. Aktor Memilih Submenu
Pembayaran
5. Aktor Memilih Submenu
Jurnal Pembayaran
Sistem akan menampilkan form peminjaman
Sistem akan menampilkan form jurnal
peminjaman
Sistem akan menampilkan form pembayaran
Sistem akan menampilkan form jurnal
pembayaran
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan Aktor.
Page 20
37
5. Use Case Diagram Menu Laporan
Gambar III.9. Use Case Menu Laporan
Tabel III.5. Deskripsi Use Case Diagram Menu Laporan
Use Case Narative Laporan
Tujuan Administrator dapat mengelola Laporan sisa
angsuran dan pembayaran anggota.
Deskripsi Sistem ini memungkinkan aktor untuk
mencetak laporan sisa angsuran dan
pembayaran angsuran anggota koperasi
berdasarkan periode tertentu.
Skenario Utama
Aktor Administrator
Kondisi Awal Aktor Membuka Aplikasi Simpan Pinjam
Koperasi.
Aksi Aktor Reaksi Sistem
1. Aktor Memilih tombol
Sisa Angsuran
Sistem akan menampilkan laporan sisa
angsuran anggota yang akan dilihat
2. Aktor Memilih tombol Sistem akan mencetak laporan pembayaran
uc UC Menu Laporan Administrator
Administrator
Mengakses Menu
Laporan
Laporan Sisa
Angsuran
Laporan Pembayaran
Angsuran
«extend»
«extend»
Page 21
38
Pembayaran yang dipilih pada periode tertentu
3. Aktor Memilih tombol
Pilih Periode Cetak
Sistem akan memasukkan tanggal awal dan
akhir untuk mencetak laporan
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan oleh
Aktor
6. Use Case Diagram Halaman Bendahara Login
Bendahara
Melakukan Login
Akses Menu Utama
Masukan
Username
Masukan
Password
<<extend>>
<<include>>
<<include>>
uc UC Administrator Login
Gambar III.10. Use Case Menu Halaman Bendahara Login
Tabel III.6. Deskripsi Use Case Diagram Halaman Bendahara Login
Use Case Narative Halaman Bendahara Login
Tujuan Melakukan Login dan Masuk kedalam
Sistem dengan user akses Bendahara
Deskripsi Sistem ini memungkinkan Aktor Untuk
mengakses Sistem dengan user akses
Bendahara
Skenario Utama
Aktor Bendahara
Page 22
39
Kondisi Awal Aktor Membuka Aplikasi Halaman Login
Aksi Aktor Reaksi Sistem
1. Aktor Memilih tombol
Login
Sistem akan menampilkan textbox untuk
mengisi nama user dan password
2. Aktor Memilih tombol
batal
Sistem akan membatalkan proses dan
keluar dari aktivitas
Kondisi Akhir Jika perintah sesuai maka sistem akan
masuk kedalam aplikasi sesuai dengan hak
akses sebagai Bendahara dan aktor akan
dapat melakukan aktivitas didalam Sistem
7. Use Case Diagram Bendahara Menu Utama
Gambar III.11. Use Case Bendahara Menu Utama
uc UC Menu Utama Bendahara
Bendahara
Mengakses Menu
Utama
Menu Master Data
Menu Transaksi
Menu Laporan
«extend»
«extend»
«extend»
Page 23
40
Tabel III.7. Deskripsi Bendahara Menu Utama
Use Case Narative Bendahara Menu Utama
Tujuan Bendahara dapat melakukan pengolahan data
yang ada di system yaiatu Transaksi dan
Laporan
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola system Transaksi dan Laporan
Skenario Utama
Aktor Bendahara
Kondisi Awal Aktor Membuka Aplikasi Simpan Pinjam
Koperasi
Aksi Aktor Reaksi Utama
1. Aktor memilih
tombol Transaksi
2. Aktor memilih
tombol Laporan
Sistem akan menampilkan submenu Transaksi
Sistem akan menampilkan submenu Laporan
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan oleh
actor
Page 24
41
8. Use Case Diagram Bendahara Menu Transaksi
Gambar III.12. Use Case Diagram Bendahara Menu Transaksi
Tabel III.8. Deskripsi Use Case Bendahara Menu Transaksi
Use Case Narative Bendahara Menu Transaksi
Tujuan Bendahara dapat mengelola data Transaksi
Simpan Pinjam
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola data Transaksi Simpan Pinjam
Skenario Utama
Aktor Bendahara
Kondisi Awal Aktor Membuka Aplikasi Simpan Pinjam
Koperasi
uc UC Menu Transaksi Bendahara
Bendahara
Mengakses Menu
TransaksiMenu Simpanan
Menu
Peminjaman
Menu Jurnal
Peminjaman
Menu
Pembayaran
Menu Jurnal
Pembayaran
«extend»
«extend»
«extend»
«extend»
«extend»
Page 25
42
Aksi Aktor Reaksi Utama
1. Aktor Memilih
submenu Simpanan
Sistem akan menampilkan form simpanan
2. Aktor Memilih
Submenu Peminjaman
3. Aktor Memilih
Submenu Jurnal
Peminjaman
4. Aktor Memilih
Submenu Pembayaran
5. Aktor Memilih
Submenu Jurnal
Pembayaran
Sistem akan menampilkan form peminjaman
Sistem akan menampilkan form jurnal
peminjaman
Sistem akan menampilkan form pembayaran
Sistem akan menampilkan form jurnal
pembayaran
6. Aktor Memilih tombol
Keluar
Sistem akan keluar dari aplikasi
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan oleh
Aktor
Page 26
43
3.3.3. Activity Diagram
1. Activity Diagram Halaman Login
Activity Diagram Login
Sistem Simpan Pinjam KoperasiUser
Login Verifikasi
User name PasswordUser name Password
Halaman
utama
N
Y
Gambar III.13. Activity Diagram Login
Page 27
44
2. Activity Diagram Anggota Koperasi
Activity Diagram Data Anggota Koperasi
Sistem Simpan Pinjam Koperasi User
Akun Junal
Edit Data Anggota
Anggota Koperasi
Keluar dari form data aanggota
Klik Submenu Anggota Koperasi
Menampilkan Data Aggota Koperasi
NamaAnggota
Klik Tombol Close
Mengelola Data Anggota Koperasi
Jabatan
Mengelola data anggotar yang telah disimpan
Menampilkan Form Input
Data Anggota Koperasi
Data sudah
diupdate
Pilih Data
Klik update
Klik Simpan
Menampilkan Data Anggota Koperasi yang telah disimpan
Menampilkan Menu Master Data
Data sudah
diupdate
Menghapus Data Anggota
Klik Tambah
Isi Data
Data sudah
disimpan
Data sudah
dihapus
User Akses
Klik Menu Master Data
Jabatan
Nama AnggotaID Anggota
Mencari kode
Anggota
Klik cari
Gambar III.14. Activity Diagram Anggota Koperasi
Page 28
45
3. Activity Diagram User Akun
Activity Diagram User Akun
Sistem Simpan Pinjam KoperasiUser
Data sudah
disimpanKlik Simpan
Klik Tambah
Data sudah
dihapus
Menampilkan Form Input
Akun Jurnal
User Akses
Klik Tombol Close
Pilih Data
Edit Akun Jurnal
Data Anggota Koperasi
Keluar dari form Akun Jurnal
Akun Jurnal
Klik update
Menghapus Akun Jurnal
Menampilkan Akun Jurnal yang telah disimpan
Isi Data
Data sudah
dihapus
Mengelola Akun Jurnal yang telah disimpan
Menampilkan Akun Jurnal
Klik Master Data Menampilkan Master Data
Data sudah
diupdate
Mengelola Akun Jurnal
Data sudah
diupdate
Klik Submenu Akun Jurnal
Nama Akun Jenis Akun
Kode Akun Nama Akun Jenis Akun
Mencari
kode Akun
Klik cari
Gambar III.15. Activity Diagram User Akun
Page 29
46
4. Activity Diagram Data User
Activity Diagram Data User
Sistem Simpan Pinjam KoperasiUser
Klik Simpan
Menghapus Data User
Klik Tombol Close
Data sudah
disimpan
Mengelola data user yang telah disimpan
Data sudah
diupdate
Anggota Koperasi
Klik Tambah
Klik Master Data
Menampilkan Data User
Pilih Data
Mengelola Data User
Isi Data
Keluar dari form data sudah
Klik Submenu Data User
Klik update
User Akun
Menampilkan Master Data
User Akses
Menampilkan Form Input
Data User
Edit Data User
Menampilkan Data User yang telah disimpan
Data sudah
diupdate
Username Password Hak AksesNama User
Username Password Hak AksesNama User
Data sudah
dihapus
Mencari id
user
Klik cari
Gambar III.16. Activity Diagram User Akses
Page 30
47
5. Activity Diagram Transaksi simpanan Activity Diagram transaksi simpanan
SistemUser
Klik Simpan
Klik Tombol Close
Data sudah
disimpan
Mengelola transaksi yang telah disimpan
Data sudah
diupdate
Data transaksi
simpanan Pembayaranr
Klik Tambah
Klik transaksi
Menampilkan transaksi pinjaman
Pilih Data
Mengelola transaksi pinjaman
Isi Data
Keluar dari form transaksi pinjaman
Klik Submenu transaksi
simpanan
Klik update
Data transaksi
Pinjaman
Menampilkan Menu transaksi
Jurnal Peminjaman
Menampilkan Form transaksi pinjaman
Edit transaksi simpanan
Menampilkan Data transaksi simpanan yang telah disimpan
Data sudah
diupdate
Jumlah Nama anggota
Jenis pinjaman Jumlah Nama anggota
Jurnal Pembyaranr
Jenis simpanan
Gambar III.17. Activity Diagram Transaksi Simpanan
Page 31
48
6. Activity Diagram Transaksi Pinjaman
Activity Diagram transaksi Pinjaman
SistemUser
Klik Simpan
Klik Tombol Close
Data sudah
disimpan
Mengelolatransaksi yang telah disimpan
Data sudah
diupdate
Data transaksi
simpanan Pembayaranr
Klik Tambah
Klik transaksi
Menampilkan transaksi pinjaman
Pilih Data
Mengelola transaksi pinjaman
Isi Data
Keluar dari form transaksi pinjaman
Klik Submenu transaksi pinjaman
Klik update
Data transaksi
Pinjaman
Menampilkan Menu transaksi
Jurnal Peminjaman
Menampilkan Form transaksi pinjaman
Edit transaksi pinjaman
Menampilkan Data transaksi pinjaman yang telah disimpan
Data sudah
diupdate
Lama
pengambilan Nama anggota
Jumlah pinjam Lama anggsuran Nama anggota
Jurnal Pembyaranr
Jumlah pinjam
Gambar III.18. Activity Diagram Transaksi Pinjaman
Page 32
49
7. Diagram Activity Laporan
Activity Diagram Laporan
SistemUser
Sisa Angsuran
Klik Menu Laporan Menampilkan Menu Laporan
Pembayaran angsuran
Klik Submenu Laporan angsuran
Menampilkan
pilihan periode
Klik Cetak
Mencetak
Laporan
Klik tombol close
Gambar III.19. Activity Diagram Laporan
Page 33
50
3.4. Desain
3.4.1. Entity Relationship Diaram (ERD)
Anggota
Id_anggota
Nama_Anggota
Jabatan
mengajukan1 Pinjaman1
No_Pinjaman Tanggal Id_anggota
Jumlah_total
Jumlah_Pinjam
Lama_angsur
Angsuran_per_bulan
melakukan
1
Pembayaran
M
No_Pinjaman
Jumlah_bayar
No_bayar
Tanggal
Melakukan
M
Simpanan
No_simpanan
Tanggal
id_anggota
M
Jenis_Simpanan
JJumlah_Simpan
Gambar III.20. Entity Relationship Diagram (ERD)
3.4.2. Logical Record Structure (LRS)
Id_anggota *Nama_AnggotaJabatan
ANGGOTA No_pinjaman *TanggalId_anggota **JumlahJumlah_totalLama_angsurAngsuran_per_bulan
PINJAMAN
SIMPANAN
No_bayar *TanggalNo_Pinjaman **Jumlah_bayar
No_simpanan *Tanggalid_anggotaJenis_SimpananJumlah_Simpan
PEMBAYARAN
Gambar III.21. Logical Record Structure (LRS)
Page 34
51
3.4.3. Spesifikasi File
1. Spesifikasi File Tabel Anggota
Nama Database : DdAnggota
Nama File : Tabel Anggota
Tipe File : Master
Akses File : Random
Panjang Record : 150 Karakter
Key field : id_anggota
Tabel III.14.
Tabel Anggota
No Elemen
data Akronim
Type
Data Panjang Keterangan
1 Kode
anggota id_anggota Varchar 50 Primary Key
2 Nama
anggota Nama_Anggota Varchar 50
3 Jabatan
anggota Jabatan Varchar 50
2. Spesifikasi File Tabel Simpanan
Nama Database : DdSimpanan
Nama File : Tabel Simpanan
Tipe File : Master
Akses File : Random
Panjang Record : 161 karakter
Key field : no_simpanan
Page 35
52
Tabel III.10. Tabel Simpanan
No Elemen
data Akronim
Type
Data Panjang Keterangan
1 Nomor
simpanan No_simpanan Varchar 50
Primary
Key
2 Tanggal
bayar
simpanan
Tanggal Date
3 Nama
anggota
koperasi
id_anggota Varchar 50 Foreign
Key
4 Jenis
simpanan Jenis_Simpanan Varchar 50
5 Jumlah
simpan Jumlah_Simpanan INT 11
3. Spesifikasi File Tabel Pinjaman
Nama Database : DdPinjaman
Nama File : Tabel Pinjaman
Tipe File : Master
Akses File : Random
Panjang Record : 99 Karakter
Key field : no_pinjaman
Tabel III.11.
Tabel Pinjaman
No Elemen
data Akronim
Type
Data Panjang Keterangan
1 Nomor
peminjaman No_pinjaman Varchar 5 Primary Key
Page 36
53
2 Tanggal
peminjaman Tanggal Date
3 Kode
anggota id_anggota Varchar 50 Foreign Key
4 Jumlah
pinjaman Jumlah INT 11
5 Jumlah total
pinjaman Jumlah_total INT 11
6 Lama
mengangsur Lama_angsur INT 11
7 Jumlah
angusran
perbulan
Angsuran_per_b
ulan INT 11
4. Spesifikasi File Tabel Pembayaran
Nama Database : DdPembayaran
Nama File : Tabel Pembayaran
Tipe File : Master
Akses File : Random
Panjang Record : 116 Karakter
Key field : no_bayar
Tabel III.13.
Tabel Pembayaran
No Elemen data Akronim Type
Data Panjang Keterangan
1 Nomor
pembayaran No_bayar Varchar 5
Primary
Key
2 Tanggal
transaksi Tanggal Date
Page 37
54
3 Nomor
pinjaman No_Pinjaman Varchar 50
4 Jumlah bayar Jumlah_bayar INT 11
3.4.4. Sequence Diagram
1. Sequence Diagram Login
Gambar III.22.
Squence Diagram login
sd SD Login
User Menu Login Cek User DB User
Menu Utama
alt Valid?
[YA]
[TIDAK]
Akses Menu Login()
Masukkan User dan Password()
Cek User()
Cek Database()
Data Valid()
Tampil Pesan()
Tampil Menu Utama()
Data Tidak Valid()
Tampil Form Login()
Page 38
55
2. Sequence Diagram Input Data Transaksi
User
Menu Utama Transaksi Simpan Pinjam Simpan Data Database
Akses Menu Utama ()
Pilih Transaksi Simpan Pinjam ()
Input Transaksi Simpan Pinjam ()
Simpanan Transaksi ()
Data Tersimpan ()
SD Input Transaksi
Gambar III.23. Squence Diagram Transaksi
3.4.5. Deployment Diagram
Deployment Diagram
Main
<<ActiveXContro>>
VB.Net
<<device>> database
<<DBMS>>
MY SQL
<<DATABASE>>
Simpan Pinjam
<<device>>
<<Aplication>>
Program Simpan
Pinjam
Gambar III.24. Deployment Diagram
Page 39
56
3.4.6. User Interface
1. User Interface Form Login
Gambar III.25
User Interface Form Login
2. User Interface Menu Utama
Gambar III.26
User Interface Menu Utama
Page 40
57
3. User Interface Input Anggota
Gambar III.27
User Interface Input Anggota
4. User Interface Input Akun
Gambar III.28
User Interface Input Akun
Page 41
58
5. User Interface Input User Akses
Gambar III.29
User Interface Input User Akses
6. User Interface Input Data Simpanan
Gambar III.30
User Interface Input Data Simpanan
Page 42
59
7. User Interface Input Data Peminjaman
Gambar III.31
User Interface Input Data Peminjaman
Page 43
60
8. User Interface Input Pembayaran Angsuran
Gambar III.32
User Interface Input Data Pembayaran Angsuran
9. User Interface Input Jurnal Peminjaman
Gambar III.33
User Interface Input Jurnal Peminjaman
Page 44
61
10. User Interface Jurnal Pembayaran
Gambar III.34
User Interface Jurnal Pembayaran
11. User Interface Sisa Angsuran
Gambar III.35
User Interface Sisa Angsuran
Page 45
62
12. User Interface Laporan Pembayaran Angsuran
Gambar III.36
User Interface Laporan Pembayaran Angsuran
Page 46
63
3.5. Implementasi
3.5.1. Code Generation
1. Coding Simpanan
Imports MySql.Data.MySqlClient
Public Class Simpanan
'membuat procedure me-LOAD data dari database ke ListView
Sub loadData()
Call koneksi()
Dim sqlQuery As String = "SELECT * FROM simpanan order by
no_simpanan Desc"
Dim sqlAdapter As New MySqlDataAdapter
Dim sqlCommand As New MySqlCommand
Dim TABLE As New DataTable
Dim i As Integer
With sqlCommand
.CommandText = sqlQuery
.Connection = conn
End With
With sqlAdapter
.SelectCommand = sqlCommand
.Fill(TABLE)
End With
ListView1.Items.Clear()
For i = 0 To TABLE.Rows.Count - 1
With ListView1
.Items.Add(TABLE.Rows(i)("no_simpanan"))
With .Items(.Items.Count - 1).SubItems
.Add(TABLE.Rows(i)("tanggal"))
.Add(TABLE.Rows(i)("nama_anggota"))
.Add(TABLE.Rows(i)("jenis_simpanan"))
.Add(TABLE.Rows(i)("jumlah"))
End With
End With
Next
End Sub
Page 47
64
Sub nomor_otomatis()
'memanggil module koneksi
Call koneksi()
'membuat variabel untuk menampung data pengurutan nomor faktur
di posisi belakang
Dim x As String
'membuat variabel untuk menampung data pengurutan nomor faktur
di posisi depan
'format = F-Bln-Tahun --> F0416
Dim depan, belakang As String
depan = "SIM/"
belakang = "/" + Microsoft.VisualBasic.Mid(tanggal.Text, 6, 2) +
Microsoft.VisualBasic.Mid(tanggal.Text, 3, 2)
Dim strSementara As String = ""
Dim strIsi As String = ""
'mencari nilai terbesar (MAX) dari nomor transaksi
Dim cmd As New MySqlCommand("select no_simpanan from
simpanan where no_simpanan in(select max(no_simpanan) from
simpanan) order by no_simpanan desc", conn)
Dim rd As MySqlDataReader
rd = cmd.ExecuteReader
If rd.Read Then
strSementara = Mid(rd.Item("no_simpanan"), 7, 4)
strIsi = Val(strSementara) + 1
x = "0" + Mid("000", 1, 4 - strIsi.Length) & strIsi
no_simpanan.Text = depan + x + belakang
Else
no_simpanan.Text = "SIM/00001/0718"
cmd.ExecuteReader.Close()
no_simpanan.Focus()
End If
conn.Close()
End Sub
Sub tampilAnggota()
'memanggil koneksi
Call koneksi()
'menggunakan teknik try and catch
Try
'membuat variable untuk menampung data dari table yang ditunjuk
Dim Data = New DataTable
'membuat variable untuk mengarahkan ke table yang dituju
Page 48
65
da = New MySqlDataAdapter("select nama_anggota from
anggota", conn)
'membuat variable untuk mengeksekusi perintah diatas
Dim cb = New MySqlCommandBuilder(da)
da.Fill(Data)
'menempatkan isi dari field yang ditunjuk kedalam combo box
nama_anggota.DataSource = Data
nama_anggota.ValueMember = "nama_anggota"
nama_anggota.DisplayMember = "nama_anggota"
Catch ex As Exception
End Try
End Sub
'prosedur untuk memberi efek saat form aktif
Sub aktif()
tanggal.Enabled = False
no_simpanan.Enabled = False
nama_anggota.Enabled = False
jenis_simpanan.Enabled = False
jumlah.Enabled = False
Button1.Enabled = True
Button2.Enabled = False
Button3.Enabled = True
Button4.Enabled = False
'Button5.Enabled = True
End Sub
'prosedur untuk memberi efek saat form nonaktif
Sub nonaktif()
no_simpanan.Enabled = False
tanggal.Enabled = False
nama_anggota.Enabled = True
jenis_simpanan.Enabled = True
jumlah.Enabled = True
Button2.Enabled = True
Button3.Enabled = False
Button4.Enabled = True
'Button5.Enabled = False
End Sub
Private Sub Simpanan_Load(sender As Object, e As EventArgs)
Handles Me.Load
Page 49
66
tanggal.Text = Format(CDate(Now.Date.ToString), "yyyy-MM-dd")
aktif()
loadData()
nomor_otomatis()
End Sub
'membuat prosedur mengosongkan textbox
Sub kosong()
nama_anggota.Text = ""
jenis_simpanan.Text = ""
jumlah.Text = ""
End Sub
'Event saat tombol tambah di klik
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
conn.Close()
kosong()
nonaktif()
no_simpanan.Focus()
Button4.Enabled = False
Button1.Enabled = False
tampilAnggota()
End Sub
'event saat button SIMPAN di klik
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles
Button2.Click
If jumlah.Text = "0" Or jenis_simpanan.Text = "" Then
MsgBox("Data harus lengkap dahulu..", MsgBoxStyle.Information,
Title:="SIMPAN DATA")
Else
Call koneksi()
Try
Dim str As String
str = "insert into simpanan values ('" & no_simpanan.Text & "','"
& tanggal.Text & "', '" & nama_anggota.Text & "', '" &
jenis_simpanan.Text & "', '" & jumlah.Text & "')"
cmd = New MySqlCommand(str, conn)
cmd.ExecuteNonQuery()
MsgBox("Data sudah disimpan..", MsgBoxStyle.Information,
Title:="SIMPAN DATA")
Page 50
67
Catch ex As Exception
MessageBox.Show("Data gagal disimpan...")
End Try
End If
aktif()
loadData()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles
Button3.Click
If no_simpanan.Text = "" Then
aktif()
Else
nonaktif()
Button1.Enabled = False
Button2.Enabled = False
no_simpanan.Enabled = False
nama_anggota.Focus()
End If
End Sub
Private Sub ListView1_MouseClick(sender As Object, e As
MouseEventArgs) Handles ListView1.MouseClick
With ListView1.SelectedItems(0)
no_simpanan.Text = .SubItems(0).Text
tanggal.Text = .SubItems(1).Text
nama_anggota.Text = .SubItems(2).Text
jenis_simpanan.Text = .SubItems(3).Text
jumlah.Text = .SubItems(4).Text
End With
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles
Button4.Click
If nama_anggota.Text = "" Or jenis_simpanan.Text = "" Or
jumlah.Text = "" Then
MsgBox("Data harus lengkap!", MsgBoxStyle.Information,
Title:="INFO")
Else
Try
Call koneksi()
'membuat variabel perintah simpan
Page 51
68
Dim perintah As String
perintah = "UPDATE simpanan SET nama_anggota = '" &
nama_anggota.Text & "',jenis_simpanan = '" & jenis_simpanan.Text &
"',jumlah = '" & jumlah.Text & "' WHERE no_simpanan = '" &
no_simpanan.Text & "'"
'mengeksekusi perintah simpan diatas
cmd = New MySqlCommand(perintah, conn)
cmd.ExecuteNonQuery()
MsgBox("Data sudah di UPDATE!", MsgBoxStyle.Information,
Title:="INFO")
Catch ex As Exception
MessageBox.Show("Data gagal disimpan!")
End Try
End If
aktif()
loadData()
End Sub
'Private Sub Button5_Click(sender As Object, e As EventArgs) Handles
Button5.Click
' If no_simpanan.Text = "" Then
' aktif()
' Else
' Try
' Call koneksi()
' Dim str As String
' str = "delete from anggota where id_anggota = '" &
no_simpanan.Text & "'"
' cmd = New MySqlCommand(str, conn)
' cmd.ExecuteNonQuery()
' MessageBox.Show("Data Berhasil Dihapus!")
' Catch ex As Exception
' MessageBox.Show("Data Gagal Dihapus.")
' End Try
' End If
' aktif()
' loadData()
'End Sub
Private Sub jumlah_KeyPress(sender As Object, e As
KeyPressEventArgs) Handles jumlah.KeyPress
Page 52
69
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar =
vbBack) Then e.Handled = True
End Sub
End Class
2. Coding Peminjaman
Imports MySql.Data.MySqlClient
Imports System.Math
Public Class Peminjaman
'membuat procedure me-LOAD data dari database ke ListView
Sub loadData()
Call koneksi()
Dim sqlQuery As String = "SELECT * FROM _query_pinjaman order
by no_pinjaman Desc"
Dim sqlAdapter As New MySqlDataAdapter
Dim sqlCommand As New MySqlCommand
Dim TABLE As New DataTable
Dim i As Integer
With sqlCommand
.CommandText = sqlQuery
.Connection = conn
End With
With sqlAdapter
.SelectCommand = sqlCommand
.Fill(TABLE)
End With
ListView1.Items.Clear()
For i = 0 To TABLE.Rows.Count - 1
With ListView1
.Items.Add(TABLE.Rows(i)("no_pinjaman"))
With .Items(.Items.Count - 1).SubItems
.Add(TABLE.Rows(i)("tanggal"))
.Add(TABLE.Rows(i)("nama_anggota"))
.Add(TABLE.Rows(i)("jumlah"))
.Add(TABLE.Rows(i)("jumlah_total"))
.Add(TABLE.Rows(i)("lama_angsur"))
.Add(TABLE.Rows(i)("angsuran_per_bulan"))
End With
Page 53
70
End With
Next
End Sub
Sub nomor_otomatis()
'memanggil module koneksi
Call koneksi()
'membuat variabel untuk menampung data pengurutan nomor faktur di
posisi belakang
Dim x As String
'membuat variabel untuk menampung data pengurutan nomor faktur di
posisi depan
'format = F-Bln-Tahun --> F0416
Dim depan, belakang As String
depan = "PIN/"
belakang = "/" + Microsoft.VisualBasic.Mid(tanggal.Text, 6, 2) +
Microsoft.VisualBasic.Mid(tanggal.Text, 3, 2)
Dim strSementara As String = ""
Dim strIsi As String = ""
'mencari nilai terbesar (MAX) dari nomor transaksi
Dim cmd As New MySqlCommand("select no_pinjaman from pinjaman
where no_pinjaman in(select max(no_pinjaman) from pinjaman) order by
no_pinjaman desc", conn)
Dim rd As MySqlDataReader
rd = cmd.ExecuteReader
If rd.Read Then
strSementara = Mid(rd.Item("no_pinjaman"), 7, 4)
strIsi = Val(strSementara) + 1
x = "0" + Mid("000", 1, 4 - strIsi.Length) & strIsi
no_pinjaman.Text = depan + x + belakang
Else
no_pinjaman.Text = "PIN/00001/0718"
cmd.ExecuteReader.Close()
no_pinjaman.Focus()
End If
conn.Close()
End Sub
Sub tampilAnggota()
'memanggil koneksi
Call koneksi()
'menggunakan teknik try and catch
Page 54
71
Try
'membuat variable untuk menampung data dari table yang ditunjuk
Dim Data = New DataTable
'membuat variable untuk mengarahkan ke table yang dituju
da = New MySqlDataAdapter("select nama_anggota from anggota",
conn)
'membuat variable untuk mengeksekusi perintah diatas
Dim cb = New MySqlCommandBuilder(da)
da.Fill(Data)
'menempatkan isi dari field yang ditunjuk kedalam combo box
nama_anggota.DataSource = Data
nama_anggota.ValueMember = "nama_anggota"
nama_anggota.DisplayMember = "nama_anggota"
Catch ex As Exception
End Try
End Sub
Sub TampilIDAnggota()
'memanggil koneksi
Call koneksi()
'membuat variable untuk menunjuk ke table
cmd = New MySql.Data.MySqlClient.MySqlCommand("select * from
anggota where nama_anggota='" & nama_anggota.Text & "'", conn)
'membuat variable untuk eksekusi perintah diatas
dr = cmd.ExecuteReader
dr.Read()
If dr.HasRows Then
id_anggota.Text = dr.Item("id_anggota")
End If
conn.Close()
End Sub
'prosedur untuk memberi efek saat form aktif
Sub aktif()
tanggal.Enabled = False
no_pinjaman.Enabled = False
nama_anggota.Enabled = False
lama_angsur.Enabled = False
jumlah.Enabled = False
jumlah_total.Enabled = False
angsuran_per_bulan.Enabled = False
Button1.Enabled = True
Page 55
72
Button2.Enabled = False
Button3.Enabled = True
Button4.Enabled = False
'Button5.Enabled = True
End Sub
'prosedur untuk memberi efek saat form nonaktif
Sub nonaktif()
no_pinjaman.Enabled = False
tanggal.Enabled = False
nama_anggota.Enabled = True
lama_angsur.Enabled = True
jumlah.Enabled = True
jumlah_total.Enabled = False
angsuran_per_bulan.Enabled = False
Button2.Enabled = True
Button3.Enabled = False
Button4.Enabled = True
'Button5.Enabled = False
End Sub
Private Sub Pinjaman_Load(sender As Object, e As EventArgs) Handles
Me.Load
tanggal.Text = Format(CDate(Now.Date.ToString), "yyyy-MM-dd")
aktif()
loadData()
nomor_otomatis()
End Sub
'membuat prosedur mengosongkan textbox
Sub kosong()
nama_anggota.Text = ""
lama_angsur.Text = ""
jumlah.Text = ""
jumlah_total.Text = ""
angsuran_per_bulan.Text = ""
End Sub
'Event saat tombol tambah di klik
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
conn.Close()
Page 56
73
kosong()
nonaktif()
no_pinjaman.Focus()
Button4.Enabled = False
Button1.Enabled = False
tampilAnggota()
End Sub
Sub pinjamanSum()
Try
Call koneksi()
Dim str As String
str = "insert into pinjaman_sum values ('" & no_pinjaman.Text & "','"
& tanggal.Text & "', '" & id_anggota.Text & "', '" & jumlah.Text & "', '" &
jumlah_total.Text & "', '" & lama_angsur.Text & "', '" &
angsuran_per_bulan.Text & "')"
cmd = New MySqlCommand(str, conn)
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("Data gagal disimpan...")
End Try
End Sub
'event saat button SIMPAN di klik
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles
Button2.Click
If jumlah.Text = "0" Or lama_angsur.Text = "" Then
MsgBox("Data harus lengkap dahulu..", MsgBoxStyle.Information,
Title:="SIMPAN DATA")
Else
Call koneksi()
Try
Dim str As String
str = "insert into pinjaman values ('" & no_pinjaman.Text & "','" &
tanggal.Text & "', '" & id_anggota.Text & "', '" & jumlah.Text & "', '" &
jumlah_total.Text & "', '" & lama_angsur.Text & "', '" &
angsuran_per_bulan.Text & "')"
cmd = New MySqlCommand(str, conn)
cmd.ExecuteNonQuery()
MsgBox("Data sudah disimpan..", MsgBoxStyle.Information,
Title:="SIMPAN DATA")
pinjamanSum()
Page 57
74
Catch ex As Exception
MessageBox.Show("Data gagal disimpan...")
End Try
End If
aktif()
loadData()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles
Button3.Click
If no_pinjaman.Text = "" Then
aktif()
Else
nonaktif()
Button1.Enabled = False
Button2.Enabled = False
no_pinjaman.Enabled = False
nama_anggota.Focus()
End If
End Sub
Private Sub ListView1_MouseClick(sender As Object, e As
MouseEventArgs) Handles ListView1.MouseClick
With ListView1.SelectedItems(0)
no_pinjaman.Text = .SubItems(0).Text
tanggal.Text = .SubItems(1).Text
nama_anggota.Text = .SubItems(2).Text
jumlah.Text = .SubItems(3).Text
jumlah_total.Text = .SubItems(4).Text
lama_angsur.Text = .SubItems(5).Text
angsuran_per_bulan.Text = .SubItems(6).Text
End With
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles
Button4.Click
If nama_anggota.Text = "" Or lama_angsur.Text = "" Or jumlah.Text =
"" Then
MsgBox("Data harus lengkap!", MsgBoxStyle.Information,
Title:="INFO")
Else
Try
Page 58
75
Call koneksi()
'membuat variabel perintah simpan
Dim perintah As String
perintah = "UPDATE pinjaman SET id_anggota = '" &
id_anggota.Text & "',jumlah = '" & jumlah.Text & "',jumlah_total = '" &
jumlah_total.Text & "',lama_angsur = '" & lama_angsur.Text &
"',angsuran_per_bulan = '" & angsuran_per_bulan.Text & "' WHERE
no_pinjaman = '" & no_pinjaman.Text & "'"
'mengeksekusi perintah simpan diatas
cmd = New MySqlCommand(perintah, conn)
cmd.ExecuteNonQuery()
MsgBox("Data sudah di UPDATE!", MsgBoxStyle.Information,
Title:="INFO")
Catch ex As Exception
MessageBox.Show("Data gagal disimpan!")
End Try
End If
aktif()
loadData()
End Sub
'Private Sub Button5_Click(sender As Object, e As EventArgs) Handles
Button5.Click
' If no_simpanan.Text = "" Then
' aktif()
' Else
' Try
' Call koneksi()
' Dim str As String
' str = "delete from anggota where id_anggota = '" &
no_simpanan.Text & "'"
' cmd = New MySqlCommand(str, conn)
' cmd.ExecuteNonQuery()
' MessageBox.Show("Data Berhasil Dihapus!")
' Catch ex As Exception
' MessageBox.Show("Data Gagal Dihapus.")
' End Try
' End If
' aktif()
' loadData()
'End Sub
Page 59
76
Private Sub jumlah_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles jumlah.KeyPress
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar =
vbBack) Then e.Handled = True
End Sub
Private Sub nama_anggota_TextChanged(sender As Object, e As
EventArgs) Handles nama_anggota.TextChanged
TampilIDAnggota()
End Sub
Private Sub jumlah_TextChanged(sender As Object, e As EventArgs)
Handles jumlah.TextChanged
Dim a, b As Integer
a = Val(jumlah.Text)
b = a + (a * 10 / 100)
jumlah_total.Text = b
End Sub
Private Sub lama_angsur_TextChanged(sender As Object, e As EventArgs)
Handles lama_angsur.TextChanged
Dim a, b, c As Decimal
a = Val(jumlah_total.Text)
b = Val(lama_angsur.Text)
c = Math.Floor(a / b / 1000) * 1000
angsuran_per_bulan.Text = c
End Sub
End Class
3.5.2. Blackbox Testing
1. Form Login Admin
Tabel III.18.
Pengujian Form Login
Kasus dan Hasil Uji (Data Normal)
Data
Masukan Data Diharapkan Pengamatan Kesimpulan
Data
Terdaftar
User akan masuk
ke tampilan MENU
User dapat masuk ke
MENU UTAMA sesuai
hak akses masing-
[x] Diterima
[ ] Ditolak
Page 60
77
masing
Kasus dan Hasil Uji (Data Salah)
Data
Masukan Data Diharapkan Pengamatan Kesimpulan
Data nama
tidak diisi
Muncul pesan
“Login gagal!”
Menampilkan pesan
“Login gagal!”
[x] Diterima
[ ] Ditolak
Input
username
dan
password
salah
Muncul pesan
“Login gagal!”
Menampilkan pesan
“Login gagal!”
[x] Diterima
[ ] Ditolak
2. Pengujian Input Data Master (Anggota, Akun dan User)
Tabel III.19.
Pengujian Input Data Master
Kasus dan Hasil Uji (Data Normal)
Data
Masukan
Data
Diharapkan Pengamatan Kesimpulan
Input tidak
lengkap
saat
simpan
Muncul pesan
“Data gagal
disimpan...” pada
Textbox saat klik
SIMPAN
Menampilkan pesan “Data
gagal disimpan...”
[x] Diterima
[ ] Ditolak
Input tidak
lengkap
saat
update
Muncul pesan
“Data gagal
disimpan...” pada
Textbox saat klik
UPDATE
Menampilkan pesan “Data
gagal disimpan...”
[x] Diterima
[ ] Ditolak
Data yang
terinput
akan
tersimpan
Data tampil di list
data master
Data tampil di list data
master
[x] Diterima
[ ] Ditolak
Page 61
78
dan di list
data
master
3. Pengujian Input Data Peminjaman
Tabel III.20.
Pengujian Input Data Peminjaman
Kasus dan Hasil Uji (Data Normal)
Data
Masukan Data Diharapkan Pengamatan Kesimpulan
Data yang
terinput akan
tersimpan
dan di list
data
peminjaman
Data tampil di list
data peminjaman
Data tampil di list
data peminjaman
[x] Diterima
[ ] Ditolak
Rumus
menghitung
bunga dan
jumlah
angsuran
berdasarkan
waktu
tertentu
dihitung
secara
otomatis
Rumus
menghitung bunga
dan jumlah
angsuran
berdasarkan waktu
tertentu dihitung
secara otomatis
Rumus menghitung
bunga dan jumlah
angsuran berdasarkan
waktu tertentu
dihitung secara
otomatis
[x] Diterima
[ ] Ditolak
Page 62
79
4. Pengujian Cetak Data Laporan
Tabel III.21.
Pengujian Cetak Data Laporan
Kasus dan Hasil Uji (Data Normal)
Data
Masukan Data Diharapkan Pengamatan Kesimpulan
Input periode
tanggal cetak
pembayaran
Tampil data laporan
pembayaran
angsuran
Tampil data laporan
pembayaran angsuran
[x] Diterima
[ ] Ditolak
Klik cetak
laporan sisa
angsuran
Tampil data laporan
sisa angsuran
Tampil data laporan
sisa angsuran
[x] Diterima
[ ] Ditolak
3.5.3. Spesifikasi Hardware dan Software
Tabel III.22.
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Windows 7 64-bit
Processor Core 2 Dou (3 GHz)
RAM 4GB
Harddisk 500GB
Monitor LED 15 inchi
keyboard Standar
Printer Hp DeskJest ink advantage 2135
Mouse Standar
Kebutuhan menjalankan aplikasi secara lokal:
Software Bahasa script programming : VB NET 2012
Web Server : Xampp 1.8.0
DBSM : MySQL