TUGAS AKHIR
Disusun Oleh:
NIM : 4151302639
Jurusan : Matematika
2005
ABSTRAK
ii
PENGESAHAN
Panitia Ujian
Ketua Sekretaris
iii
MOTTO DAN PERSEMBAHAN
Motto
“Belajar adalah biaya awal yang harus dibayar untuk mencapai kesuksesan”
“Kemarin adalah cerita, besok adalah misteri dan sekarang adalah kenyataan”
“Sesungguhnya sesudah kesulitan itu ada kemudahan, maka apabila kamu telah
selesai (dari urusan itu), kerjakanlah urusan yang lain dengan sungguh-sungguh dan
Persembahan
komputasi
memberiku semangat
Semua Pembaca.
iv
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan
rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan Tugas Akhir ini.
Penulisan tugas akhir ini berdasarkan hasil penelitian dengan judul “Sistem Informasi
Simpan Pinjam Pada Koperasi Pegawai Republik Indonesia (KPRI) ‘Gotong Royong’
Tugas Akhir (TA) ini disusun sebagai salah satu syarat dalam mengikuti ujian
akhir guna memperoleh gelar Ahli Madya program studi statistika terapan dan
Penulis menyadari bahwa Tugas Akhir ini tidak akan terselesaikan dalam
wujud seperti ini, tanpa adanya pengarahan, dorongan dan bantuan dari berbagai
pihak. Maka dengan kerendahan hati perkenankan penulis menyampaikan rasa terima
kasih kepada:
Semarang.
v
5. Dra.Kristina W.M.S Selaku Dosen Pembimbing dua yang telah memberikan
ini.
8. Semua pihak yang tidak dapat penulis sebutkan satu persatu yang telah
Semoga amal baik yang telah diberikan kepada penulis mendapat imbalan dari
Allah SWT. Akhirnya penulis berharap tugas akhir ini dapat bermanfaat bagi penulis
Semarang, 2005
Penulis
vi
DAFTAR ISI
Halaman
ABSTRAK ………………….………………………………………………….. ii
A. Latar Belakang…………………………………………………….. 1
D. Sistematika Penulisan……………………………………………... 6
1. Pengertian Sistem…………………………………………….... 8
2. Pengertian Informasi…………………………………………… 10
vii
1. Pengertian DBMS……………………………………………… 12
4. Kebijaksanaan Sistem………………………………………….. 20
C. Definisi Koperasi…………………………………………………... 21
A. Ruang Lingkup…………………………………………………… 25
C. Analisis Data………………………………………………………. 26
1. Pengembangan Sistem………………………………………..... 28
Salatiga………………………………………………..... 28
2) Struktur Organisasi…………………………………….. 29
5) Modal Usaha…………………………………………… 33
Royong” ………………………………………………... 33
viii
b. Tahap Rencana Pendahuluan……………………………..... 39
1) Tahap Pengkodean…………………………………….. 54
4) Teknologi……………………………………………...... 58
2) Pembuatan Project……………………………………… 59
3. Operasi Program………………………………………………... 63
C. Pembahasan………………………………………………………… 70
BAB V PENUTUP…………………………………………………………….. 73
A. Simpulan…………………………………………………………… 73
B. Saran……………………………………………………………….. 74
C. DAFTAR PUSTAKA……………………………………………… 76
LAMPIRAN-LAMPIRAN………………………………………………………... 77
ix
DAFTAR GAMBAR
Halaman
x
DAFTAR TABEL
Halaman
xi
DAFTAR LAMPIRAN
Halaman
xii
BAB I
PENDAHULUAN
A. Latar Belakang
sangat pesat, apalagi informasi sekarang sangat cepat menyebar ke penjuru dunia.
Sejalan dengan hal tersebut permasalahan yang kita hadapi juga semakin
kompleks yaitu pada bidang sehari-hari. Dengan kenyataan itu kita dituntut untuk
sehingga dalam melaksanakan pekerjaan kita akan mendapat hasil yang optimal.
tenaga lebih dari satu orang, maka dengan perlengkapan komputer data tersebut
dapat ditangani oleh satu orang saja, dan juga dengan penggunaan komputer akan
sehingga tidak terjadi salah tafsir dalam penerimaan informasi. Untuk dapat
memberikan informasi yang jelas dan menarik dapat dilakukan dengan berbagai
xiii
macam cara, diantaranya dalam mendiskripsikan data yang ada dengan kalimat
yang tepat dan jelas seta menampilkan data dalam bentuk tabel.
pengolah data manajerial dalam suatu koperasi sering dikenal dengan sistem
merupakan suatu wadah usaha yang dijalankan oleh kumpulan pegawai negeri di
pinjam. Selain itu juga ada usaha penyediaan kebutuhan para anggotanya juga
bantuan dana untuk pendidikan, kesehatan dan terdapat pula tunjangan yang
tersebut. Hal ini karena semua transaksi yang dilakukan menggunakan sistem
yang masih manual. Apalagi data yang diolah cukup banyak akan berpengaruh
pada efisiensi waktu dan tenaga. Keamanan dan pengolahan data pun diragukan
xiv
berdasarkan pada catatan manual tertulis pada kertas. Maka untuk mempermudah
sistem simpan pinjam koperasi sekarang ini dapat dilakukan dengan sistem
komputerisasi.
sistem simpan pinjam, salah satunya program Visual Basic 6.0. Adapun cara
yang dapat dilakukan dalam pembuatan sistem simpan pinjam koperasi adalah
dengan menuliskan list program dan variabel yang dibutuhkan dalam pembuatan
Pada saat ini Microsoft Visual Basic 6.0 merupakan salah satu program
yang cukup populer yang digunakan dalam pembuatan program. Banyak sudah
orang yang menggunakannya dan banyak pula orang yang sudah mengenalnya.
Untuk itu penulis memilih judul “Sistem Informasi Simpan Pinjam Pada
1. Rumusan Masalah
Dari latar belakang masalah yang telah diuraikan di atas maka dirumuskan
xv
a. Bagaimanakah sistem informasi simpan pinjam pada Koperasi Pegawai
Salatiga?
2. Pembatasan Masalah
1. Tujuan
berikut:
Salatiga.
xvi
b. Membuat format dan rumusan sistem yang efektif untuk menangani
2. Manfaat
a. Secara teoritis
anggota koperasi.
b. Secara Praktis
xvii
D. Sistematika Penulisan
dibuat dengan sistematika yang baik. Adapun sistematika penulisan tugas akhir
adalah bagian awal, bagian inti, dan bagian akhir. Ketiga bagian tersebut dapat
1. Bagian Awal
Pada bagian ini terdiri dari halaman judul, halaman pengesahan, abstrak, kata
2. Bagian Inti
BAB I. PENDAHULUAN
data.
xviii
BAB IV. HASIL KEGIATAN DAN PEMBUATAN SISTEM
BAB V PENUTUP
3. Bagian Akhir
Bagian akhir dari penulisan tugas akhir ini terdiri dari daftar pustaka dan
lampiran-lampiran.
xix
BAB II
LANDASAN TEORI
1. Pengertian Sistem
elemennya.
bahwa sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling
maksud yang sama untuk mencapai suatu tujuan (Raymond McLeod,Jr. Jilid 1
Edisi Tujuh,1996).
xx
b. Batas Sistem (Boundary)
Adalah apapun di luar batas dari sistem yang mempengaruhi operasi dari
e. Masukan (Input)
f. Keluaran (Output)
g. Pengolah (Process)
menjadi output.
h. Sasaran (Objective)
sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan
xxi
2. Pengertian Informasi
Sumber dari informasi adalah data. Data adalah fakta atau kenyataan yang
Informasi adalah data yang telah diproses, atau data yang memiliki arti
Sedangkan kualitas dari suatu informasi tergantung dari tiga hal, yaitu:
a. Akurat
penerima informasi.
b. Tepat Waktu
Informasi yang datang pada penerima tidak boleh terlambat, informasi yang
sudah tidak berlalu tidak akan mempunyai nilai lagi karena informasi
c. Relevan
dalam pengambilan keputusan. Jika ada pertanyaan dari mana informasi bisa
xxii
Gordon, menyatakan:
Raymond, menyatakan:
dalam hal kecepatan dan keamanan diperlukan jalan alternatif yang kemudian
xxiii
berguna untuk tingkatan manajemen di dalam kegiatan perencanaan dan
pengendalian.
saling berelasi dan satu set program untuk mengakses data tersebut. Jadi
DBMS terdiri dari database dan set program pengelola untuk menambah,
1995). Sedangkan set program adalah paket program yang diolah dan dibuat
basis data dapat dianggap sebagai tempat untuk sekumpulan berkas data
a. Entity (Wujud)
kamar, diet.
b. Atribute (Kelengkapan)
xxiv
Setiap entity mempunyai atribute atau sebutan untuk mewakili suatu entity.
Atribute juga disebut sebagai data elemen, data field dari data item.
Adalah data aktual atau informasi yang disimpan pada tiap data element
atau atribute.
d. Record
e. Field
item data, seperti nama, alamat dan sebagainya. Field terdiri dari satu atau
beberapa byte, sedangkan byte itu sendiri adalah bagian terkecil yang dapat
f. File
g. Database
h. Relatonship (Hubungan)
xxv
Merupakan penghubung antar entity dengan entity yang lainnya.
relationship, yaitu :
entity lainnya.
a. Analisa Sistem
1) Analisis abbot/abstraksi
xxvi
b) Menentukan kelas atribut
(1)Use case
(2)Class Diagram
(3)Sequen Diagram
b. Perancangan Sistem
objek yang membantu perancangan sistem yang akan dibuat, antara lain:
xxvii
1) Pemodelan Objek
Pada tahap ini dibuat struktur hirarki yang memilki simbol sebagai
berikut:
= Induk (whole-part)
= Pewaris (generasi)
2) Pemodelan Fungsional
Use case, Class diagram, Sequen diagram atau sering dipakai untuk
xxviii
Class diagram, Sequen diagram adalah diagram alir yang
(1) = Aktor
(3) = Alur
(1) = Induk
(2) = Pewaris
(1) = Entitas
(2) = Alur
(3) = Time
xxix
ERD pada dasarnya merupakan diagram yang
Entity
Atribut
Hubungan (Relationship)
b) Teknik Normalisasi
bentuk yang optimal. Jenis-jenis kunci relasi atau atribut yang biasa
berikut:
xxx
kandidat merupakan suatu calon kunci utama. Atribut adalah
Adalah atribut kunci yang diambil dari kunci utama entity yang
lainnya.
kunci kandidat. Composite key dipakai pada saat tidak ada file
laporan.
xxxi
♦ Data dikumpulkan apa adanya sesuai dengan kedatangannya.
Atomic Value.
kesatu
kedua
4. Kebijaksanaan Sistem
pengembangan sistem.
xxxii
a. Melakukan proyek sistem informasi
atau tidak.
C. Definisi Koperasi
dengan koperasi adalah “Badan usaha yang beranggotakan orang seorang atau
koperasi, sekaligus sebagai gerakan ekonomi rakyat yang berdasar atas asas
Koperasi simpan pinjam atau koperasi kredit adalah yang bergerak dalam
dengan cara yang mudah, murah, cepat, dan tepat untuk tujuan produktivitas dan
xxxiii
Koperasi simpan pinjam mendapat modal dari berbagai simpanan,
1. Simpanan Pokok yaitu simpanan yang diberikan anggota pada awal setoran
supaya giat menyimpan secara teratur sehingga membentuk modal sendiri, (3)
koperasi.
mencukupi kebutuhan sehari-hari antara lain membayar biaya sekolah anak dan
lain-lain.
xxxiv
D. Microsoft Visual Basic 6.0
3.0, 4.0, 5.0 yang mengalami kemajuan pesat di pasaran. Visual Basic adalah
salah satu software untuk membuat program yang cukup sederhana tetapi banyak
cakupan yang dapat dikerjakan, karena visual basic dapat mengakses banyak
windows.
visual basic.
Form Window atau jendela form adalah daerah kerja utama, dimana dapat
Toolbox adalah sebuah kotak piranti yang mengandung semua objek atau
4. Project Explorer
xxxv
Jendela project explorer adalah jendela yang mengandung semua file
5. Jendela Properties
6. Jendela Code
Jendela Code adalah salah satu jendela yang paling penting didalam Visual
xxxvi
BAB III
METODE PENELITIAN
A. Ruang Lingkup
sekolah yang lain. Hal ini mengingat adanya kesamaan adanya kesamaan dalam
masalah simpan pinjam pada koperasi. Tipe penelitian yang digunakan untuk
menyusun Tugas Akhir ini adalah tipe penelitian studi kasus yang menghasilkan
implementasi sistem.
1. Variabel Penelitian
a. Metode Literatur
xxxvii
anggota, penyetoran simpanan, penarikan simpanan, transaksi, pinjam,
b. Metode Wawancara
laporan.
c. Metode Observasi
C. Analisis Data
3. Normalisasi data
xxxviii
4. Membuat Diagram Antar Entitas
7. Menguji program
xxxix
BAB IV
A. HASIL KEGIATAN
1. Pengembangan Sistem
Sebelum KPRI “Gotong Royong” berdiri telah ada semacam lembaga keuangan
yang diberi nama Usaha Kesejahteraan Guru (UKG) dan tidak dikelola secara
tidak adanya wadah yang mampu mengatasi masalah kesulitan keuangan tenaga
KPRI “Gotong Royong” didirikan pada tahun 1995 dengan harapan dapat
guru, dan penjaga sekolah, serta karyawan. Pada saat didirikan koperasi ini
memiliki jumlah 52 (lima puluh dua) anggota. Koperasi ini belum memperoleh
xl
Kepengurusan dari KPRI “Gotong Royong” ini dibentuk
berdasarkan AD/ART yang dibuat 3 (tiga) tahun sekali. Pada
kepengurusan ini minimal terdapat 7 (tujuh) pengurus yang aktif.
2) Struktur Organisasi
Rapat Anggota
Ketua
Wakil Ketua
Sekretaris Bendahara
Anggota
Garis Pengawasan
xli
Pada Koperasi Pegawai Negeri Republik Indonesia (KPRI)
lain :
a) Rapat Anggota
b) Penasehat
koperasi.
yang ditetapkan.
c) Pengawas
pengurus.
xlii
(2) Memberi laporan tertulis tentang pemeriksanaan.
pelindung koperasi.
d) Ketua
pengembangan koperasi.
pengurus.
bersama sekretaris.
e) Sekretaris
f) Bendahara/Keuangan
xliii
(3) Mengawasi dan menganalisa RAPB koperasi dengan cermat agar
tidak melampaui.
koperasi.
dengan perjanjian.
kasus pembiayaan.
xliv
(a) KPRI “Gotong Royong” merupakan mitra kerja dengan dinas terkait guna mendorong perluasan atau
5) Modal Usaha
Modal usaha koperasi ini diperoleh tidak hanya dari simpanan pokok yang disetorkan oleh anggota
pada awal pendaftaran tapi juga dari pinjaman. Modal pinjaman dilakukan dengan persetujuan dari Rapat
Anggota yang didasari dengan perjanjian kerja sama yang saling mengunutngkan serta sesuai dengan
perundang-undangan yang berlaku. Modal pinjaman dapat berasal dari anggota itu sendiri maupun dari pihak
luar yaitu koperasi lain dan Bank.
Royong”
Data administrasi yang berkaitan dengan jalannya proses simpan pinjam pada koperasi simpan pinjam
KPRI “Gotong Royong” dan keseluruhan data disimpan dalam kartu-kartu dan buku arsip yang dikerjakan
secara manual.
Hal ini dirasa kurang efektif karena akan sangat menyita waktu dan tenaga. Disamping itu kurang
ketelitian dan terjadinya kecurangan akan sangat besar peluangnya, begitu juga dengan output dari laporan
keuangan karena akan membutuhkan waktu yang lama dalam pengerjaannya.
Proses pengolahan data/abstraksi simpan pinjam yang berjalan saat ini dapat dijelaskan sebagai
berikut :
a) Pendataan Anggota
(1) Pegawai yang berminat menjadi anggota koperasi harus mengisi formulir pendaftaran dengan
menyertakan foto copy KTP yang kemudian diberikan kepada bagian simpan pinjam.
(2) Bagian simpan pinjam akan mendata anggota tersebut dan membuat KTA yang akan disahkan oleh
ketua. Selain itu dibuat juga laporan simpanan pokok untuk diberikan pada bagian penggajian.
(3) Kemudian bagian penggajian akan memotong gaji dari anggota sebesar Rp 50.000,00 sebagai
b) Simpanan Anggota
Setiap anggota baru koperasi diwajibkan untuk membayar simpanan pokok sebesar Rp 50.000,00.
Selain itu anggota yang sudah sah, dikenakan simpanan wajib sebesar Rp 20.000,00. Simpanan pokok dan
wajib tidak boleh diambil selama masih menjadi anggota koperasi dan dibayar paling lambat tanggal 10
tiap bulan.
Seorang anggota juga diberi kesempatan untuk menyimpan uangnya dalam bentuk simpanan
manasuka. Simpanan yang ini dapat diambil sewaktu-waktu apabila membutuhkan karena sifatnya seperti
tabungan.
Sedangkan prosedur dari simpanan tersebut adalah sebagai berikut :
(1) Dari Data Anggota (DA) yang ada pada petugas unit simpan pinjam mencatat simpanan anggota
xlv
(2) Simpanan anggota yang telah dicatat dalam BS diberi ke bagian penggajian yang berisi Daftar
(3) Kemudian BS dan DPS dimintakan tanda tangan pada bagian keuangan sebagai tanda perestujuan
dan diserahkan kembali ke bagian penggajian dan dibuat daftar Potongan Gaji Simpanan (PGS)
rangkap dua berisi daftar simpanan anggota yang telah dipotong dari anggota.
(4) BS dan DPS yang telah dibuat beserta uang dan jumlah besar simpanan anggota diberikan ke unit
(5) Dari BS dan PGS tersebut digunakan oleh unit simpan pinjam untuk membuat Laporan Simpanan
(6) LS tersebut dimintakan tanda tangan Ketua, LS lembar pertama diarsip oleh ketua sedang lembar
(7) Dari PGS rangkap dua, lembar pertama diberikan pada anggota sedang lembar kedua diarsip oleh
c) Pinjaman
Dalam pengujian pinjaman anggota harus mendapat persetujuan dari kepala sekolah di tempat
mereka bekerja. Yang kemudian akan dilakukan pengecekan oleh bagian pinjaman dengan persetujuan
dari ketua. Kredit akan diberikan pada mereka yang tidak mempunyai masalah sebelumnya.
Prosedur dalam perolehan pinjaman atau kredit adalah sebagai berikut :
(1) Anggota mengisi Surat Permohonan Pinjaman (SPP) koperasi yang terdiri dari rangkap dua yang
disertai surat persetujuan dari Kepala Sekolah yang kemudian diserahkan pada bagian simpan
pinjam.
(2) Bagian simpan pinjam meneliti Surat Permohonan Pinjaman (SPP). Jika memenuhi syarat maka
bagian simpan pinjam akan merealisasikan pinjaman tersebut tetapi jika tidak maka akan
(3) Kemudian surat permohonan tersebut akan diberikan pada ketua untuk ditandatangani. Setelah itu
(4) Berdasarkan SPP yang telah di Acc ketua, bagian simpan pinjam membuat Surat Tanda Pengesahan
Pinjaman (STTP) yang berisi besar pinjam yang diberikan dan Buku Pinjaman.
(5) Buku pinjaman (BP) diberikan pada anggota beserta uang sebesar pinjaman yang diajukan.
(6) Dari STTP yang ada dibuat Laporan Pinjaman Anggota (LPA) rangkap 3. Lembar pertama
diberikan pada bagian simpan pinjam, lembar kedua pada bagian keuangan, sedang yang lembar
d) Angsuran Pinjaman
xlvi
(2) Dari BP tersebut, bagian simpan pinjam akan membuat Daftar Potongan Angsuran (DPA) yang
(3) Dari DPA yang diterima maka bagian penggajian dinas P dan K akan membuat Daftar Potongan
Gaji Angsuran (DPGA) serta slip gaji anggota, yang kemudian akan diserahkan kembali pada
(4) Dari DPGA dan slip gaji tersebut, bagian simpan pinjam akan dicatat dalam Buku Angsuran (BA),
kemudian BA dan slip gaji akan diberikan pada anggota. Sedangkan DPGA dibuat Laporan
(5) LAP rangkap 3 tersebut kemudian diserahkan pada bagian keuangan untuk di Acc oleh bagian
(6) Setelah LAP yang telah di Acc oleh keuangan dan ketua tersebut maka LAP Acc lembar satu diarsip
oleh ketua LAP Acc lembar dua diberikan pada bagian keuangan sedang yang terakhir diberikan
e) Pengambilan Simpanan
(1) Anggota yang akan mengambil simpanan harus mengisi slip pengambilan simpanan rangkap dua
(2) Setelah diisi kemudian diberikan ke bagian simpan pinjam disertai dengan KTA (Kartu Tanda
Anggota). Oleh bagian simpan pinjam akan dicatat dalam buku ambil dan memberikan uang pada
(3) Dari buku ambil akan dicatat menjadi bentuk laporan ambil rangkap tiga kemudian akan dimintakan
(4) Laporan ambil lembar pertama akan diarsip oleh bagian simpan pinjam, lembar kedua diarsip oleh
bentuk diagram alir data. Diagram alir data merupakan suatu proses yang
xlvii
diterangkan melalui gambar dimana semua bagian yang terkait dengan
1) Analisa Abbot/Abstraksi
berikut:
xlviii
Simpan
Pinjam
Angsur
Gaji
Objek Atribut
Anggota NIP, tanggal masuk, nama lengkap, jenis
kelamin, tempat lahir, tanggal, status, alamat,
telepon, nama sekolah, golongan, gaji pokok
Simpan no.transaksi, NIP, tanggal, kode transaksi,
jumlah, saldo
Pinjam no.pinjam,tanggal, NIP, nama lengkap, jumlah
pinjam, jumlah ambil, angsur, bunga, jumlah
angsur, total angsur
Angsur NIP, nama, nama sekolah, tanggal, nopinjam,
angsurke, sisaangsur, sisapinjaman
Gaji NIP, nama, nama sklh, gol, jmlh anak gaji pokok,
tunjangan, gaji kotor, total potongan, gaji bersih.
xlix
Pada tabel relasi di atas terbagi menjadi 3 bagian tabel., tabel pertama
posisi paling atas menjelaskan tentang objek, dan tabel yang kedua
posisi tengah menjelaskan tentang atribut yang dipakai, serta tabel yang
e) Menentukan metode
Pada alat analisa berupa use case merupakan diagram alir data yang
l
Pada diagram alir use case diawali dengan anggota melakukan sistem
lebih jelasnya dapat dilihat pada gambar use case pada lampiran 2.
Pada class diagram memiliki proses yang sama halnya dengan diagram
alir pada use case pada class diagram, hanya dalam bentuk gambar
yang berbeda. Untuk lebih jelasnya dapat dilihat pada gambar class
li
(Kartu Tanda Anggota). Setelah mendapat KTA , anggota dapat
buku simpan.
lii
Ketiga alat analisa tersebut berperan sebagai alur program atau bisa
Objek Atribut
Anggota NIP, tanggal masuk, nama lengkap, jenis kelamin,
tempat lahir, tanggal, status, alamat, telepon, nama
sekolah, golongan, gaji pokok
Simpan no.transaksi, NIP, tanggal, kode transaksi, jumlah,
saldo
Pinjam no.pinjam,tanggal, NIP, nama lengkap, jumlah
pinjam, jumlah ambil, angsur, bunga, jumlah
angsur, total angsur
Angsur NIP, nama, nama sekolah, tanggal, nopinjam,
angsurke, sisaangsur, sisapinjaman.
Gaji NIP, gaji pokok, tunjangan, gaji kotor, total
potongan, gaji bersih.
Objek Task/Metode
Anggota OK, Tambah, simpan, ubah, hapus, keluar,
Simpan OK, Tambah, simpan, keluar
Pinjam OK, Tambah, simpan, hapus, keluar
Angsur OK, Keluar
Gaji OK, Preview, keluar
brainware)
liii
Field Name Type
NIP Text
TglMasuk Date/Time
NmLengkap Text
JnsKel Text
TmptLhr Text
TglLhr Date/Time
Alamat Text
Telepon Text
NmSekolah Text
Gaji Text
GaPok Currency
Tanggal Date/Time
NoPinjam Text
AngsurKe Single
SisaAngsur Single
SisaPinjaman Currency
NIP Text
GajiPokok Currency
liv
Tunjangan Currency
GajiKotor Currency
TotPotongan Currency
GajiBersih Currency
UserId Text
Pasword Text
Bagian Text
NoPinjam Text
TglPinjam Date/Time
NIP Text
JmlPinjam Currency
KaliAngsur Single
JmlAngsur Currency
Bunga Single
TotAngsur Currency
lv
Tabel 1.6 tabel Simpan
NoTransaksi Text
KodeTrans Date/Time
TglTrans Text
NIP Currency
Simpan Currency
Ambil Currency
Saldo Currency
yang ada digunakan sebagai dasar dalam merancang basis data yang
lebih efisien.
lvi
Syarat : Tabel dikatakan memenuhi normal satu jika sebuah tabel
tidak memiliki atribut yang bernilai banyak atau lebih dari satu atribut
Tabel Anggota
NIP TglMsk NmLengkap JnsKel TTL Status Alamat Telp NmSekolah Gol
Tabel Simpanan
Tabel Pinjaman
Tabel Angsuran
Tabel Gaji
Syarat : (1) Memenuhi normal pertama, (2) Pada tabel normal kedua
ini setiap atribut yang bukan kunci utama (primary key) tergantung
utama.
lvii
Tabel 2.2 Normalisasi Bentuk Kedua
Tabel Anggota
*NIP TglMsk NmLengkap JnsKel TTL Status Alamat Telp NmSekolah Gol
NmSekolah, Gol
Tabel Simpanan
Tabel Pinjaman
TotAngsur
Tabel Angsuran
Tabel Gaji
syarat normal kedua karena atribut yang bukan kunci utama bergantung
lviii
c) Bentuk Normal Ketiga (Third Normal Form/3NF)
terpenuhi jika tidak ada atribut bukan kunci utama tergantung secara
Anggota.mdb Simpanan.mdb
NIP * NoTans *
TglMsk TglTrans
NmLengkap KdTrans
JnsKel NIP **
TTL Jml_Simpan
Status Jml_ambil
Alamat Saldo
Telp
NmSekolah
Gol ** Gaji.mdb
Gol *
Pinjam.mdb NIP **
Gaji pokok
NoPjm *
Tunjangan
TglPjm
Gajikotor
NIP **
ToPot
Jml_Pjm
GajiBersih
Kali_Ang
Jml_Ang
Bunga
TotAng
Angsur.mdb
NoAng *
TglAngsur
NoPjm **
AngsurKe
Sisa_Angsur
SisaPjm
lix
2) Implementasi Entity Relationship Diagram (ERD)
basis data fisik. Tiap entitas yang ada akan menjadi sebuah tabel yang
kesalah satu dari kedua entitas tersebut. Relasi tabel yang telah
memenuhi syarat normal bentuk ketiga, maka dapat dibuat relasi antar
angsur, gaji.
1 1
Anggota Meminjam Pinjam
1 M
Anggota Menyimpan/ Simpanan
Mengambil
lx
c) Implementasi Tabel Angsur
1 Pinjam
Mengangsur
M
Meminjam
Angsur
Anggota
1 1
Anggota Memiliki Gaji
alamat, telp, nmsekolah, gol. Tabel gaji : gol, NIP, gaji pokok, tunj, gaji
kotor.
lxi
Pada perancangan basis data anggota, transaksi (simpan, ambil, pinjam,
Menu Utama
Data Anggota
Pendaftaran Keluar
Transaksi
Simpanan Pinjaman
Pinjam Angsur
lxii
d) Bagan Struktur Menu Laporan
Laporan
Rekap
Lap Lap Lap Lap
Gaji
Anggota Simpanan Pinjaman Angsur
Bantuan
1) Tahap Pengkodean
lxiii
harus berdasarkan dokumen yang telah dibuat oleh analisis sistem yang
ini adalah contoh penggalan urutan penulisan kode program untuk class
object simpanan.
a) Pendefisian Property
Pada saat pertama kali membuka program Visual Basic 6.0 ini maka
akan ditemukan suatu form yang dijadikan sebagai class object yang
Option Explisit
b) Pendefisian Metoda
lxiv
Private Sub txtJumlah_Change()
Else
End If
txtJumlah.Text = Jumlah
End If
Jumlah = Val(txtJumlah.Text)
End Sub
txtJumlah.Text = ""
txtJumlah_Change
Case "01"
lxv
txtKodeTrans.Text = "03"
Case "02"
txtKodeTrans.Text = "03"
Case "03"
Case "04"
LbKode.Caption = "Pengambilan"
End Select
End Sub
b) Kesalahan Proses
lxvi
c) Kesalahan Logika
dibuat dapat beroperasi dengan baik dan sudah sesuai dengan yang telah
diharapkan.
4) Teknologi
karena sistem baru ini hanya berjalan jika didukung fasilitas dan
lxvii
a) Perangkat Keras(Hardware)
b) Perangkat Lunak
pinjam koperasi.
b) Sorot Drive C
2) Pembuatan Project
Pilih Microsoft Visual Studio 6.0, lalu pilih Microsoft Visual Basic
6.0.
b) Membuat database
lxviii
Langkah selanjutnya adalah membuat database
(1) Pada menu klik Add-Ins, lalu pilih Visual Data Manager.
(2) Pada jendela VisData pilih file New, Microsoft Acces, Verion
7.0 Mdb.
(4) Pada Database Windows klik kanan Properties, lalu pilih New
Table.
(7) Setelah semua field dimasukkan klik Close, lalu klik Build
theTable.
MDIForm.
(4) Klik OK
lxix
(6) Pengaturan properti menu utama
Caption Name
&Pendaftaran MnDaftar
&Keluar MnKeluar
&Transaksi MnTran
&Simpanan MnSimpanan
&Simpan MnSimpan
&Pinjaman MnPinjaman
&Pinjam MnPinjam
&Angsur MnAngsur
&Laporan MnLap
&LapAngsur MnLapAngsur
&Bantuan MnBantu
lxx
&Back Up MnBack
&Pembuat MnPembuat
d) Membuat form
(1) Pada layar akan muncul form, lalu lakukan proses penyimpanan.
(2) Simpan Project dengan nama “SiPin” dan Form dengan nama
“FInAnggota”.
“FSimpan”, “FBiodata”.
Cara kerja program didasarkan pada bagan alir sistem dari program
yang telah dibuat. Pada tahap analisis sistem yang telah digambarkan bagan
alir sistem basis data anggota, simpan, pinjam, angsur pada koperasi simpan
Saat program dieksekusi, maka akan lebih dahulu tampil login yang
lxxi
Apabila pemakai adalah bagian simpan pinjam, maka pada user name
selanjutnya yaitu tampilan menu utama. Pada menu utama, menu yang dapat
dibuka sebelum kalender diatur adalah menu bantuan yang berisi cara
diatur dan klik ok maka semua menu dapat dibuka oleh bagian simpan
pinjam. Menu yang dapat dibuka diantaranya yaitu data anggota, transaksi,
laporan, bantuan. Apabila menu data anggota dibuka maka akan muncul form
menu transaksi maka akan muncul form simpanan dan form pinjam serta
angsur. Sedangkan pada menu laporan bila dibuka akan muncul rekap gaji,
Jika pemakai adalah ketua, maka login tersebut berbeda dengan login
bagi bagian simpan pinjam karena pada user name dan pasword harus diisi
“ketua” dan akan muncul laporan anggota, laporan simpan, laporan pinjam,
laporan angsur. Apabila pengguna tersebut adalah bagian keuangan maka user
name dan pasword tersebut diisi “keuangan” dan akan muncul menu bantuan
Sedangkan apabila pengguna tersebut adalah sekretaris maka user name dan
pasword diisi “sekertaris” dan akan muncul menu bantuan dan back up serta
laporan anggota. Dan untuk mengakhiri program pada menu data anggota
tekan keluar atau tekan tanda cross pada menu utama tersebut.
lxxii
3. Operasi Program
a. Form Login
program. Jika pasword sesuai maka proses akan dilanjutkan dengan membuka
menu utama. Pada menu ini digunakan untuk melakukan login awal sebelum
masuk ke menu utama. User name diisi sesuai dengan job discription masing-
oleh yang bersangkutan. Dengan adanya user name dan pasword ini maka
mengoperasikan sistem. Jika user atau pasword salah maka akan muncul
utama dan seluruh menu yang ada dalam menu utama dapat dibuka oleh
pengguna.
lxxiii
Pada menu utama, pengguna ditawarkan untuk memilih apa yang
Menu utama ini berisi beberapa file yang mempunyai sub-sub menu
Transaksi berisi Simpanan dan Pinjaman (terbagi atas Pinjam dan Angsur).
Jika memilih menu data, maka akan tampil beberapa tampilan sebagai berikut:
sini juga dapat dilakukan pencarian data anggota yang sudah terdaftar sesuai
lxxiv
dengan nama yang diinputkan. Bagi anggota baru maka akan dilakukan proses
Pada form simpanan ini, anggota yang baru mendaftar maka secara
Rp 50.000,00. Pada form ini kode transaksi apa yang digunakan sebagai
lxxv
Pada form pinjaman digunakan untuk menginput transaksi pinjam
yang dilakukan oleh anggota. Anggota juga dapat meminta slip pinjaman
sebagai bukti.
f. Form Angsuran
mengetahui sisa angsuran dan sisa pinjaman yang masih harus dibayar.
anggota tiap bulan yang akan diserahkan pada bagian penggajian Dinas P dan
lxxvi
K Kecamatan. Laporan ini berisi potongan untuk simpanan wajib tiap bulan
Dari beberapa form di atas terdapat tampilan output berupa laporan, slip
lxxvii
Gambar 4.2 Tampilan Output Slip Pinjam
lxxviii
Gambar 4.4 Tampilan Output Kartu Tanda Anggota
lxxix
Gambar 4.7 Tampilan Output Data Angsuran
B. Pembahasan
Suatu program yang dapat berjalan belum tentu memberikan hasil yang
benar, karena sifat dari bahasa pemrograman adalah melakukan apa yang
memenuhi ketentuan dalam bahasa pemrograman software Visual Basic 6.0 maka
Program basis data tentang simpan pinjam pada Koperasi “Gotong Royong”
pengembangan sistem yang ada didukung dengan penentuan kelas objek, kelas
lxxx
Analisis Berorientasi Objek (ODA) dapat memperjelas dan mengarahkan jalannya
pembuatan program tersebut, Yang menjadi masalah utama, sekaligus yang akan
yang dilengkapi dengan metode dari setiap objek serta brainware/pengguna dari
bentuk ketiga artinya tidak ada atribut bukan kunci utama yang tergantung secara
transitif pada kunci utama. Hal ini telah sesuai dengan teori dari Jogianto, 1998.
Setelah data tersebut telah memenuhi syarat kenormalan maka dapat dibuat
basis data.
tanpa diawali dengan pengujian terlebih dahulu dari setiap bagian program maka
berakhir. Jadi akan lebih baik apabila akan melakukan pengetesan program harus
didahului dengan pengujian program dari setiap bagian terlebih dahulu. Hal ini
dilakukan untuk memperkecil taraf kesalahan yang ada. Setelah pengujian telah
selesai maka bisa dilakukan pengetesan program, hal ini bertujuan untuk
yang telah dilakukan di atas maka program yang telah dibuat tidak terdapat
kesalahan yang berarti baik dalam penulisan kode program maupun proses
lxxxi
jalannya program. Secara operasional program yang telah dibuat dapat beroperasi
dengan baik dan sudah sesuai dengan yang telah dirancang pada bagian bagan alir
data.
BAB V
PENUTUP
lxxxii
A. Simpulan
Dari hasil kegiatan dan uraian dalam pembahasan tugas akhir ini dapat ditarik
tertulis pada kertas. Sistem informasi simpan pinjam yang ada berupa
2. Dalam membuat sistem aplikasi program database sistem simpan pinjam pada
Microsoft Visual Basic 6.0 untuk pengolahan data anggota, simpan, pinjam,
Perancangan database
database.
3. Hasil dari pembuatan program ini berupa perangkat lunak (software) program
basis data anggota, simpan, pinjam, angsur, serta gaji yang akan diaplikasikan
lxxxiii
pada Koperasi Pegawai Republik Indonesia (KPRI) “Gotong Royong” Jln.
untuk mengolah data sistem simpan pinjam yang selama ini belum bisa
dan informasi lebih efektif sehingga menghasilkan output yang lebih cepat
dan menarik.
B. Saran
1. Perlu lebih dikembangkan software basis data sistem simpan pinjam dengan
program Visual Basic 6.0 pada koperasi simpan pinjam terutama KPRI
lxxxiv
4. Sebelumnya dipilih sumber daya manusia yang mengerti tentang komputer
dan dapat mengoperasikan sistem simpan pinjam koperasi yang baru tersebut.
5. Untuk pengembangan selanjutnya akan lebih baik jika dibuat sistem jaringan
sehingga aliran informasi akan dapat lebih cepat sampai pada sasaran.
DAFTAR PUSTAKA
Andi, “Aplikasi Database dan Crystal Report Pada Visual Basic 6.0”, ANDI
Offset, Yogyakarta, 2004
lxxxv
Daryanto Drs, “Belajar Komputer Visual Basic”, CV. Yrama Widya, 2003.
Kasmoni, “Visual Basic 6.0 Untuk Orang Awam”, CV. Maxikom, Palembang,
2003.
lxxxvi
Simpan Pinjam
Sistem
Simpan pinjam
Mendapat Memberikan
formulir formulir
Input
Data anggota
Menyerahkan
KTA&melakukan
Penyimpanan/ambil
Input data
simpan/ambil
memberi
Mendapatkan pinjaman
Input data
Pinjam
Berkewajiban mengangsur
Input data
Angsur
ii
Anggota KTA Surat permohonan Petugas Simpan Pinjam
pinjam
Mendaftar
Menerima KTA
Melakukan simpanan pokok
Menerima buku simpan
Pengambilan simpanan
Diterima pengembalian Memproses
Menyerahkan SPP
Disetujui petugas
Meminjam
Mengangsur
iii
Menyimpan Anggota
Diserahkan Memberikan mengangsur
/ambil
Simpan Pinjam
Anggota Petugas Angsur
Diterima
Mengangsur
iv
Anggota Bag.SimPin Penggajian Keuangan Ketua
Start 1
2 5 6
BP
Menyera DPA LAP LAP Acc
hkan BP
Membua
BP t DPA Buat Diperi Diperi
DPGA ksa&d ksa&d
&Slip i Acc i Acc
Gaji
DPA
1
LAP Acc 7
DPGA
2 Slip Gaji
4
DPA
6
3
Slip Gaji&BA
7
3
SlipGaji&
DPGA
LAP Acc
Dicatat
di BA
Selesai
SlipGaji 4
&DPGA
Buat
LAP
LAP
5
nggota Bag.SimPin Penggajian Keuangan
ii
Start 1
3 5
Slip Ambil
Mengisi Laporan Lap Ambil
Slip Ambil Acc
Ambil
DiAcc&
dicatat Diperi Diperi
Slip Ambil Bk ksa&d ksa&d
Ambil i Acc i Acc
1 Slip Ambil
4 Lap Ambil
&Bk Ambil
Acc
Uang
2
Uang 2 5
5
Slip Ambil
&KTA
Lap ambil
Acc
Selesai
iii
FUtama
Option Explicit
Dim TglTran As String
Dim StrBul As String
Dim I As Integer
Dim BulTgl, BulSis As Integer
Private Sub DtTgl_Change()
MnDtAng.Enabled = False
MnTran.Enabled = False
MnLap.Enabled = False
End Sub
Private Sub DtTgl_KeyPress (KeyAscii As Integer)
DtTgl_Change
End Sub
Private Sub DtTgl_Callback KeyDown (ByVal KeyCode As Integer, ByVal Shift
As Integer, ByVal CallbackField As String, CallbackDate As Date)
DtTgl_Change
End Sub
Private Sub CmdOk_Click()
BagiJob
BukaSimpan "select * from simpan
order by tgltrans asc"
If RsSimpan.RecordCount > 0 Then
RsSimpan.MoveLast
If DtTgl.Value < RsSimpan!tgltrans Then
MsgBox "Tanggal min " & RsSimpan!tgltrans, vbOKOnly, "Tanggal"
DtTgl.Value = RsSimpan!tgltrans
Exit Sub
End If
TglSis = RsSimpan!tgltrans
End If
iv
BulTgl = Val(Mid(DtTgl.Value, 4, 2))
BulSis = Val(Mid(Format(TglSis,
"dd/MM/yyyy"), 4, 2))
BuatDataSimpan
TambahAngsur
PG.Value = 0
LbPros.Caption = "-"
End Sub
Private Sub MDIForm_Unload
(Cancel As Integer)
frmLogin.Show
End Sub
Private Sub MDIForm_Load()
BukaData
BukaSimpan "select * from simpan order by tgltrans asc"
If RsSimpan.RecordCount > 0 Then
RsSimpan.MoveLast
TglSis = RsSimpan!tgltrans
DtTgl.Value = TglSis
End If
BulTgl = Val(Mid(DtTgl.Value, 4, 2))
BulSis = Val(Mid(Format(TglSis, "dd/MM/yyyy"), 4, 2))
End Sub
Private Sub MnBack_Click()
FBackup.Show vbModal
End Sub
Private Sub MnDaftar_Click()
FInAggota.Show vbModal
End Sub
Private Sub MnAngsur_Click()
FAngsur.Show vbModal
v
End Sub
Private Sub MnCaraGuna_Click()
FPenggunaan.Show vbModal
End Sub
Private Sub MnKeluar_Click()
frmLogin.Show
Unload Me
End Sub
Private Sub MnLapAng_Click()
RptAnggota.Show vbModal
End Sub
Private Sub MnLapPinjam_Click()
RptPinjam.Show vbModal
End Sub
Private Sub MnLapAngsur_Click()
RptAngsur.Show vbModal
End Sub
Private Sub MnLapSimpanan_Click()
FLapSimpan.Show vbModal
End Sub
Private Sub MnPinjam_Click()
FPinjam.Show vbModal
End Sub
Private Sub MnPembuat_Click()
FBioData.Show vbModal
End Sub
Private Sub MnRekGaji_Click()
FLapGaji.Show vbModal
End Sub
Private Sub MnSimpanan_Click()
FSimpan.Show vbModal
vi
End Sub
Private Sub BuatDataSimpan()
Dim StrNotran As String
Dim JmlUlang As Integer
Dim IntSaldo As Currency
JmlUlang = (((Val(Right(DtTgl.Value, 4))- Val(Right(Format(TglSis,
"dd/MM/yyyy"), 4))) * 12)+ (BulTgl - BulSis))
If JmlUlang > 0 Then
BukaAng "select * from anggota order by tglmasuk asc"
RsAnggota.Requery
If RsAnggota.RecordCount > 0 Then
PG.Min = 0
PG.Max = RsAnggota.RecordCount
LbPros.Caption = "Update data Simpan"
For I = 1 To JmlUlang
PG.Value = 0
RsAnggota.Requery
Do While Not RsAnggota.EOF
PG.Value = PG.Value + 1
BukaSimpan "select * from simpan where nip='" & RsAnggota!nip & "'
order by tgltrans asc"
RsSimpan.MoveLast
If Mid(RsSimpan!tgltrans, 4, 2) = "12" Then
TglTran = "01/" & Val(Val(Right(RsSimpan!tgltrans, 4)) + 1)
Else
TglTran = Val(Val(Mid(RsSimpan!tgltrans, 4, 2)) + 1) & "/" &
Val(Right(RsSimpan!tgltrans, 4))
End If
IntSaldo = RsSimpan!saldo
BuatNoTranSim StrNotran, Format(FUtama.DtTgl.Value, "MMyy")
RsSimpan.AddNew
vii
RsSimpan!notransaksi = StrNotran
RsSimpan!tgltrans = "01/" & TglTran
RsSimpan!nip = RsAnggota!nip
RsSimpan!kodetrans = "02"
RsSimpan!Simpan = 20000
RsSimpan!ambil = 0
RsSimpan!saldo = IntSaldo + 20000
RsSimpan.Update
RsAnggota.MoveNext
Loop
Next I
End If
End If
End Sub
Private Sub TambahAngsur()
Dim JmlUlang As Integer
Dim IntSaldo As Currency
JmlUlang = (((Val(Right(DtTgl.Value, 4)) - Val(Right(Format(TglSis,
"dd/MM/yyyy"), 4))) * 12) _
+ BulTgl) - BulSis
If JmlUlang > 0 Then
BukaPinjam "select * from pinjam order by tglpinjam,nopinjam asc"
RsPinjam.Requery
If RsPinjam.RecordCount > 0 Then
PG.Min = 0
PG.Max = RsPinjam.RecordCount
LbPros.Caption = "Update data Angsur"
For I = 1 To JmlUlang
PG.Value = 0
RsPinjam.Requery
Do While Not RsPinjam.EOF
viii
PG.Value = PG.Value + 1
BukaAngsur "select * from angsur where nopinjam ='" &
RsPinjam!nopinjam & "' order by tanggal asc"
If RsAngsur.RecordCount < 1 Then
With RsAngsur
.AddNew
If Mid(RsPinjam!tglpinjam, 4, 2) = "12" Then
TglTran = "01" & Val(Val(Right(RsPinjam!tanggal, 4)) + 1)
Else
TglTran = Val(Val(Mid(RsPinjam!tglpinjam, 4, 2)) + 1) & "/" &
Val(Right(RsPinjam!tglpinjam, 4))
End If
!tanggal = "01/" & TglTran
!nopinjam = RsPinjam!nopinjam
!angsurke = 1
!sisaangsur = RsPinjam!kaliangsur - 1
!sisapinjaman = (RsPinjam!totangsur * RsPinjam!kaliangsur) -
RsPinjam!totangsur
.Update
End With
Else
If RsAngsur.RecordCount < RsPinjam!kaliangsur Then
RsAngsur.MoveLast
If Mid(RsAngsur!tanggal, 4, 2) = "12" Then
TglTran = "01/" & Val(Val(Right(RsAngsur!tanggal, 4)) + 1)
Else
TglTran = Val(Val(Mid(RsAngsur!tanggal, 4, 2)) + 1) & "/" &
Val(Right(RsAngsur!tanggal, 4))
End If
With RsAngsur
.AddNew
ix
!tanggal = "01/" & TglTran
!nopinjam = RsPinjam!nopinjam
!angsurke = RsAngsur.RecordCount
!sisaangsur = RsPinjam!kaliangsur - (RsAngsur.RecordCount)
!sisapinjaman = (RsPinjam!totangsur * RsPinjam!kaliangsur) -
(RsPinjam!totangsur * (RsAngsur.RecordCount))
.Update
End With
End If
End If
RsPinjam.MoveNext
Loop
Next I
End If
End If
End Sub
Private Sub BagiJob()
MnDtAng.Enabled = True
MnTran.Enabled = True
MnLap.Enabled = True
If StrBagian = "SIMPANPINJAM"
Then
MnBack.Enabled = True
MnDaftar.Enabled = True
MnSimpanan.Enabled = True
MnPinjam.Enabled = True
MnAngsur.Enabled = True
MnRekGaji.Enabled = True
MnLapAng.Enabled = True
MnLapSimpanan.Enabled = True
MnLapAngsur.Enabled = True
x
MnLapPinjam.Enabled = True
MnPinjam.Enabled = False
ElseIf StrBagian = "KEUANGAN" Then
MnBack.Enabled = False
MnDaftar.Enabled = False
MnSimpanan.Enabled = False
MnRekGaji.Enabled = False
MnAngsur.Enabled = False
MnLapAng.Enabled = True
MnLapSimpanan.Enabled = True
MnLapAngsur.Enabled = True
MnLapPinjam.Enabled = True
MnRekGaji.Enabled = False
ElseIf StrBagian = "SEKERTARIS" Then
MnBack.Enabled = True
MnDaftar.Enabled = False
MnSimpanan.Enabled = False
MnPinjam.Enabled = False
MnAngsur.Enabled = False
MnLapAng.Enabled = True
MnLapSimpanan.Enabled = False
MnLapAngsur.Enabled = False
MnLapPinjam.Enabled = False
ElseIf StrBagian = "KETUA" Then
MnBack.Enabled = False
MnDaftar.Enabled = False
MnSimpanan.Enabled = False
MnPinjam.Enabled = False
MnAngsur.Enabled = False )
MnLapAng.Enabled = True
MnLapSimpanan.Enabled = True
xi
MnLapAngsur.Enabled = True
MnLapPinjam.Enabled = True )
End If
MnRekGaji.Enabled = False .
End Sub
Private Sub Timer1_Timer()
Label4.Caption = Mid(Label4.Caption, 2) + Mid(Label4.Caption, 1, 1
End Sub
Private Sub Timer2_Timer()
Label2.ForeColor = QBColor(Rnd * 15)
Label5.ForeColor = QBColor(Rnd * 15
Label8.ForeColor = QBColor(Rnd * 15)
End Sub
FInAnggota
Option Explicit
Private Sub CmdKeluar_Click()
Unload Me
End Sub
Private Sub CmdHapus_Click()
Dim pesan As String
If RsAnggota.RecordCount > 0 Then
pesan = MsgBox("Data akan dihapus??", vbOKCancel, "Hapus")
If pesan = vbOK Then
BukaSimpan "delete from simpan where nip='" & txtNip.Text & "'"
BukaPinjam "select * from pinjam where nip='" & txtNip.Text & "'"
Do While Not RsPinjam.EOF
BukaAngsur "delete from angsur where nopinjam='" & RsPinjam!nopinjam &
"'"
RsPinjam.MoveNext
Loop
BukaPinjam "delete from pinjam where nip='" & txtNip.Text & "'"
xii
RsAnggota.Delete
KosongTex
KdsNormal
BukatbAnggota "select * from Anggota"
End If
Else
MsgBox "Tidak ada data yang akan dihapus", vbOKOnly, "Hapus"
End If
End Sub
Private Sub CmdOk_Click()
BukatbAnggota "select * from anggota where left(nmlengkap," &
Len(txtCariNama.Text) & ")='" & txtCariNama.Text & "'"
If RsAnggota.RecordCount > 0 Then
TampilData
KdsUbah
MatiUrip Gelap, False
Else
KosongTex
KdsNormal
MatiUrip Gelap, False
End If
End Sub
Private Sub CmdSimpan_Click()
Dim pesan As String
If txtAlamat.Text = "" Or txtGol.Text = "" Or txtJnsKel.Text = "" Or txtNip.Text = ""
Or _
txtNmLengkap.Text = "" Or txtNmSekolah.Text = "" Or txtStatus.Text = "" Or
txtTelepon.Text = "" Or _
txtTptLhr.Text = "" Then
MsgBox "Data Kurang Lengkap", vbOKOnly, "Data anggota"
Exit Sub
xiii
End If
pesan = MsgBox("Cetak Kartu Anggota", vbOKCancel, "Cetak")
If pesan = vbOK Then
BuatNoTranSim "select * from Anggota", Format(FUtama.DtTgl.Value, "MMyy")
BuatKTA
End If
If CmdSimpan.Caption = "&Simpan" Then
BukaAng "select * from anggota where nip='" & txtNip.Text & "'"
If RsAnggota.RecordCount > 0 Then
MsgBox "Nip Sudah ada", vbOKOnly, "NIP"
txtNip.SetFocus
BukaAng "select * from anggota"
Exit Sub
End If
RsAnggota.AddNew
SimpanSimpan
Else
BukaSimpan "update simpan set nip='" & txtNip.Text & "' where nip='" &
RsAnggota!nip & "'"
BukaPinjam "update pinjam set nip='" & txtNip.Text & "' where nip='" &
RsAnggota!nip & "'"
End If
Simpan
KosongTex
MatiUrip Gelap, False
KdsNormal
BukatbAnggota "select * from anggota"
End Sub
Private Sub CmdUbah_Click()
MatiUrip Terang, True
KdsUpdate
xiv
End Sub
Private Sub KdsNormal()
CmdTambah.Enabled = True
CmdSimpan.Enabled = False
CmdHapus.Enabled = False
CmdUbah.Enabled = False
CmdTambah.Caption = "&Tambah”
CmdSimpan.Caption = "&Simpan"
MatiUrip Gelap, False
End Sub
Private Sub CmdTambah_Click()
If CmdTambah.Caption = "&Tambah"
Then KdsSimpan
txtNip.SetFocus
Else
KdsNormal
BukatbAnggota "select * from anggota"
End If
KosongTex
End Sub
Private Sub Form_Load()
BukaData
BukatbAnggota "select * from anggota"
KdsNormal
KosongTex
txtTglMasuk.Value = FUtama.DtTgl.Value
End Sub
Private Sub KdsSimpan()
CmdTambah.Enabled = True
CmdHapus.Enabled = False
CmdUbah.Enabled = False
xv
CmdTambah.Caption = "&Batal"
CmdSimpan.Caption = "&Simpan"
MatiUrip Terang, True
End Sub
Private Sub KdsUbah()
CmdTambah.Enabled = True
CmdSimpan.Enabled = False
CmdHapus.Enabled = True
CmdUbah.Enabled = True
CmdTambah.Caption = "&Batal"
CmdSimpan.Caption = "&Simpan"
End Sub
Private Sub KdsUpdate()
CmdTambah.Enabled = True
CmdSimpan.Enabled = True
CmdHapus.Enabled = False
CmdUbah.Enabled = False
CmdTambah.Caption = "&Batal"
CmdSimpan.Caption = "&Update"
End Sub
Private Sub txtCariNama_GotFocus()
cmdOK.Default = True
End Sub
Private Sub MatiUrip(Warna As String, Aktif As Boolean)
txtNip.Enabled = Aktif
txtAlamat.Enabled = Aktif
txtGaPok.Enabled = Aktif
txtGol.Enabled = Aktif
txtJnsKel.Enabled = Aktif
txtNmLengkap.Enabled = Aktif
txtNmSekolah.Enabled = Aktif
xvi
txtStatus.Enabled = Aktif
txtTelepon.Enabled = Aktif
txtTglLhr.Enabled = Aktif
txtTglMasuk.Enabled = Aktif
txtTptLhr.Enabled = Aktif
txtNip.BackColor = Warna
txtAlamat.BackColor = Warna
txtGaPok.BackColor = Warna
txtGol.BackColor = Warna
txtJnsKel.BackColor = Warna
txtNmLengkap.BackColor = Warna
txtNmSekolah.BackColor = Warna
txtStatus.BackColor = Warna
txtTelepon.BackColor = Warna
txtTptLhr.BackColor = Warna
End Sub
Private Sub KosongTex()
txtNip.Text = ""
txtAlamat.Text = ""
txtGaPok.Text = ""
txtNmLengkap.Text = ""
txtNmSekolah.Text = ""
txtTelepon.Text = ""
txtTptLhr.Text = ""
TambahCombo
End Sub
Private Sub Simpan()
With RsAnggota
!nip = txtNip.Text
!alamat = txtAlamat.Text
!gol = txtGol.Text
xvii
!jnskel = txtJnsKel.Text
!nmlengkap = txtNmLengkap.Text
!nmsekolah = txtNmSekolah.Text
!Status = txtStatus.Text
!telepon = txtTelepon.Text
!tgllhr = txtTglLhr.Value
!tglmasuk = txtTglMasuk.Value
!gapok = txtGaPok.Text
!tptlhr = txtTptLhr.Text
.Update
End With
End Sub
Private Sub TampilData()
With RsAnggota
txtNip.Text = !nip
txtAlamat.Text = !alamat
txtGol.Text = !gol
txtJnsKel.Text = !jnskel
txtNmLengkap.Text = !nmlengkap
txtNmSekolah.Text = !nmsekolah
txtStatus.Text = !Status
txtTelepon.Text = !telepon
txtTglLhr.Value = !tgllhr
txtTglMasuk.Value = !tglmasuk
txtTptLhr.Text = !tptlhr
End With
End Sub
Private Sub BukatbAnggota(pilih As String)
BukaAng pilih
Set GrAnggota.DataSource = RsAnggota
RsAnggota.Requery
xviii
End Sub
Private Sub SimpanSimpan()
Dim StrNotran As String
BuatNoTranSim StrNotran,Format(FUtama.DtTgl.Value, "MMyy")
RsNoSim.AddNew
RsNoSim!notransaksi = StrNotran
RsNoSim!tgltrans = txtTglMasuk.Value
RsNoSim!nip = txtNip.Text
RsNoSim!kodetrans = "01"
RsNoSim!Simpan = 50000
RsNoSim!ambil = 0
RsNoSim!saldo = 50000
RsNoSim.Update
End Sub
Private Sub txtTglMasuk_Change()
txtTglMasuk.Value = FUtama.DtTgl.Value
End Sub
Private Sub txtGol_Click()
Select Case txtGol.Text
Case "IA"
txtGaPok.Text = 575000
Case "IB"
txtGaPok.Text = 619700
Case "IC"
txtGaPok.Text = 645900
Case "ID"
txtGaPok.Text = 673200
Case "IIA"
txtGaPok.Text = 725600
Case "IIB"
txtGaPok.Text = 782000
xix
Case "IIC"
txtGaPok.Text = 815000
Case "IID"
txtGaPok.Text = 849500
Case "IIIA"
txtGaPok.Text = 905400
Case "IIIB"
txtGaPok.Text = 943700
Case "IIIC"
txtGaPok.Text = 983600
Case "IIID"
txtGaPok.Text = 1025200
Case "IVA"
txtGaPok.Text = 1068600
Case "IVB"
txtGaPok.Text = 1113800
Case "IVC"
txtGaPok.Text = 1160900
Case "IVD"
txtGaPok.Text = 1120100
Case "IVE"
txtGaPok.Text = 1261200
Case ""
txtGaPok.Text = 0
End Select
End Sub
Private Sub TambahCombo()
txtGol.Clear
txtJnsKel.Clear
txtStatus.Clear
xx
txtGol.AddItem "IA"
txtGol.AddItem "IB"
txtGol.AddItem "IC"
txtGol.AddItem "ID"
txtGol.AddItem "IIA"
txtGol.AddItem "IIB"
txtGol.AddItem "IIC"
txtGol.AddItem "IID"
txtGol.AddItem "IIIA"
txtGol.AddItem "IIIB"
txtGol.AddItem "IIIC"
txtGol.AddItem "IIID"
txtGol.AddItem "IVA"
txtGol.AddItem "IVB"
txtGol.AddItem "IVC"
txtGol.AddItem "IVD"
txtGol.AddItem "IVE"
txtJnsKel.AddItem "Laki-Laki"
txtJnsKel.AddItem "Perempuan"
xxi
Set RptKTA.DataSource = RsNoSim
With RptKTA.Sections("sec")
.Controls("lbnip").Caption = txtNip.Text
.Controls("lbtglmasuk").Caption = txtTglMasuk.Value
.Controls("lbnmlengkap").Caption = txtNmLengkap.Text
.Controls("lbjnskel").Caption = txtJnsKel.Text
.Controls("lbttl").Caption = txtTptLhr.Text & ", " & txtTglLhr.Value
.Controls("lbalamat").Caption = txtAlamat.Text
.Controls("lbtelepon").Caption = txtTelepon.Text
.Controls("lbnmsekolah").Caption = txtNmSekolah.Text
.Controls("lbtanggal").Caption = "Salatiga " & Format(Date, "dd MMMM yyyy")
.Controls("lbnm").Caption = "(" & txtNmLengkap.Text & ")"
End With
RptKTA.Refresh
RptKTA.Show vbModal
End Sub
FSimpan
Option Explicit
Dim DobSaldo As Double
Dim StrNot As String
Dim StrAlamat, StrNama As String
Private Sub CmdOk_Click()
BukaAng "select * from anggota where left(nmlengkap," & Len(txtCariNama.Text)
& ")='" & txtCariNama.Text & "'"
If RsAnggota.RecordCount > 0 Then
BukaTbSimpan "select * from simpan where nip='" & RsAnggota!nip & "'"
End If
End Sub
Private Sub CmdKeluar_Click()
Unload Me
End Sub
xxii
Private Sub CmdSimpan_Click()
Dim pesan As String
If txtJumlah.Text = "" Or txtKodeTrans.Text = "" Or _
txtNip.Text = "" Or txtNoTransaksi.Text = "" Or _
txtSaldo.Text = "" Then
MsgBox "Data Kurang Lengkap", vbOKOnly, "Data"
Exit Sub
End If
If Val(txtSaldo.Text) < 50000 Then
MsgBox "Data Kurang Lengkap", vbOKOnly, "Data"
Exit Sub
End If
pesan = MsgBox("Cetak Slip??", vbOKCancel, "Slip")
If pesan = vbOK Then
Set RptSlipSimpan.DataSource = RsAnggota
BuatSlip
RptSlipSimpan.Show vbModal
End If
If CmdSimpan.Caption = "&Simpan" Then
BuatNoTranSim StrNot, Format(FUtama.DtTgl.Value, "MMyy")
txtNoTransaksi.Text = StrNot
RsSimpan.AddNew
RsSimpan!notransaksi = txtNoTransaksi.Text
End If
SimpanSimpan
KosongTex
MatiUrip Gelap, False
BukaTbSimpan "select * from Simpan"
KdsNormal
End Sub
Private Sub Form_Load()
xxiii
BukaData
BukaAnggota "select * from
Simpan"
BukaTbSimpan "select * from Simpan"
txtTglTrans.Value =
FUtama.DtTgl.Value
TambahCombo
KdsNormal
BuatNoTranSim StrNot,
Format(FUtama.DtTgl.Value, "MMyy")
txtNoTransaksi.Text = StrNot
End Sub
Private Sub CmdTambah_Click()
If CmdTambah.Caption = "&Tambah"
Then
KdsSimpan
Else
KdsNormal
BukaTbSimpan "select * from simpan"
End If
KosongTex
BuatNoTranSim StrNot, Format(FUtama.DtTgl.Value, "MMyy")
txtNoTransaksi.Text = StrNot
End Sub
Private Sub BukaAnggota(pilih As String)
BukaAng pilih
Set txtNip.RowSource = RsAnggota
txtNip.ListField = "nip"
End Sub
Private Sub BukaTbSimpan(pilih As String)
BukaSimpan pilih
xxiv
Set GrSimpan.DataSource = RsSimpan
End Sub
Private Sub txtJumlah_KeyPress (KeyAscii As Integer)
If Not ((KeyAscii >= Asc("0") And
KeyAscii <= Asc("9")) Or KeyAscii =vbKeyBack) Then
KeyAscii = 0
End If
End Sub
Private Sub CmdUbah_Click()
MatiUrip Terang, True
KdsUpdate
End Sub
Private Sub TambahCombo()
txtKodeTrans.Clear
txtKodeTrans.AddItem "01"
txtKodeTrans.AddItem "02"
txtKodeTrans.AddItem "03"
txtKodeTrans.AddItem "04"
End Sub
Private Sub txtJumlah_Change()
Static Jumlah As Currency
If txtKodeTrans.Text = "" Then
txtKodeTrans.Text = "03"
If txtKodeTrans.Text = "04" Then
txtSaldo.Text = DobSaldo - Val(txtJumlah.Text)
Else
txtSaldo.Text = DobSaldo + Val(txtJumlah.Text)
End If
If Val(txtSaldo.Text) < 50000 Then
MsgBox "Saldo Minimal 50000", vbOKOnly, "Ambil"
xxv
txtJumlah.Text = Jumlah
End If
Jumlah = Val(txtJumlah.Text)
End Sub
Private Sub txtKodeTrans_Click()
txtJumlah.Text = ""
txtJumlah_Change
Select Case txtKodeTrans.Text
Case "01"
txtKodeTrans.Text = "03"
LbKode.Caption = "Simpanan Manasuka"
Case "02"
txtKodeTrans.Text = "03"
LbKode.Caption = "Simpanan Manasuka"
Case "03"
LbKode.Caption = "Simpanan Manasuka"
Case "04"
LbKode.Caption = "Pengambilan"
End Select
End Sub
Private Sub KdsNormal()
CmdTambah.Enabled = True
CmdSimpan.Enabled = False
CmdTambah.Caption = "&Tambah"
CmdSimpan.Caption = "&Simpan"
MatiUrip Gelap, False
End Sub
Private Sub KdsUpdate()
CmdTambah.Enabled = True
CmdSimpan.Enabled = True
CmdTambah.Caption = "&Batal"
xxvi
CmdSimpan.Caption = "&Update"
End Sub
Private Sub KdsSimpan()
CmdTambah.Enabled = True
CmdSimpan.Enabled = True
CmdTambah.Caption = "&Batal"
CmdSimpan.Caption = "&Simpan"
MatiUrip Terang, True
End Sub
Private Sub KdsUbah()
CmdTambah.Enabled = True
CmdSimpan.Enabled = False
CmdTambah.Caption = "&Batal"
CmdSimpan.Caption = "&Simpan"
End Sub
Private Sub MatiUrip(Warna As String, Aktif As Boolean)
txtJumlah.Enabled = Aktif
txtKodeTrans.Enabled = Aktif
txtNip.Enabled = Aktif
txtNoTransaksi.Enabled = Aktif
txtSaldo.Enabled = Aktif
txtTglTrans.Enabled = Aktif
txtJumlah.BackColor = Warna
txtKodeTrans.BackColor = Warna
txtNip.BackColor = Warna I
txtNoTransaksi.BackColor = Warna
txtSaldo.BackColor = Warna
End Sub
Private Sub SimpanSimpan()
Dim StrNotran As String
RsSimpan!tgltrans = txtTglTrans.Value
xxvii
RsSimpan!nip = txtNip.Text
RsSimpan!kodetrans = txtKodeTrans.Text
If txtKodeTrans.Text = "04" Then
RsSimpan!ambil = txtJumlah.Text
RsSimpan!Simpan = 0
Else
RsSimpan!Simpan = txtJumlah.Text
RsSimpan!ambil = 0
End If
RsSimpan!saldo = txtSaldo.Text
RsSimpan.Update
End Sub
Private Sub KosongTex()
txtJumlah.Text = ""
txtNip.Text = ""
txtNoTransaksi.Text = ""
txtSaldo.Text = ""
TambahCombo
End Sub
Private Sub TampilData()
If RsSimpan!notransaksi = "04" Then
txtJumlah.Text = RsSimpan!ambil
Else
txtjumlah.Text = RsSimpan!Simpan
End If
txtKodeTrans.Text = RsSimpan!kodetrans
txtNip.Text = RsSimpan!nip
txtNoTransaksi.Text = RsSimpan!notransaksi
txtSaldo.Text = RsSimpan!saldo
txtTglTrans.Value =
RsSimpan!tgltrans
xxviii
End Sub
Private Sub txtNip_GotFocus()
BukaAnggota "select * from anggota"
End Sub
Private Sub txtNip_Change()
BukaAng "select * from anggota where nip='" & txtNip.Text & "'"
If RsAnggota.RecordCount > 0 Then
StrNama = RsAnggota!nmlengkap
StrAlamat = RsAnggota!alamat
End If
BukaTbSimpan "select * from simpan where nip='" & txtNip.Text & "' order by
tgltrans, notransaksi asc"
If RsSimpan.RecordCount > 0 Then
RsSimpan.MoveLast
DobSaldo = RsSimpan!saldo
txtJumlah_Change
End If
End Sub
Private Sub txtTglTrans_Change()
txtTglTrans.Value = FUtama.DtTgl.Value
End Sub
Private Sub BuatSlip()
With RptSlipSimpan.Sections("section2")
.Controls("lbtanggal").Caption = txtTglTrans.Value
.Controls("lbnip").Caption = txtNip.Text
.Controls("lbnmlengkap").Caption = StrNama
.Controls("lbalamat").Caption = StrAlamat
.Controls("lbnotransaksi").Caption = txtNoTransaksi.Text
.Controls("lbJenis").Caption = LbKode.Caption
.Controls("lbJumlah").Caption = Val(txtJumlah.Text)
.Controls("lbSaldo").Caption = Val(txtSaldo.Text)
xxix
End With
RptSlipSimpan.Refresh
End Sub
FPinjam
Option Explicit
Dim StrAlamat, StrGol, StrNmSek As String
Private Sub CmdKeluar_Click()
Unload Me
End Sub
Private Sub CmdOk_Click()
BukaAng "select * from anggota where left(nmlengkap," & Len(txtCariNama.Text)
& ")='" & txtCariNama.Text & "'"
If RsAnggota.RecordCount > 0 Then
BukaTbPinjam "select * from pinjam where nip='" & RsAnggota!nip & "'"
End If
End Sub
Private Sub CmdSimpan_Click()
Dim pesan As String
If txtBunga.Text = "" Or txtJmlAngsur.Text = "" Or _
txtKaliAngsur.Text = "" Or txtNip.Text = "" Or _
txtNmLengkap.Text = "" Or txtNoPinjam.Text = "" Or _
txtTotAngsur.Text = "" Then
MsgBox "Data Kurang Lengkap", vbOKOnly, "Data"
Exit Sub
End If
pesan = MsgBox("Cetak Slip??", vbOKCancel, "Slip")
If pesan = vbOK Then
Set RptSlipPinjam.DataSource = RsPinjam
BuatSlip
RptSlipPinjam.Show vbModal
End If
xxx
If CmdSimpan.Caption = "&Simpan" Then
BuatNoTranPin StrNo
txtNoPinjam.Text = StrNo
RsPinjam.AddNew
RsPinjam!nopinjam = txtNoPinjam.Text
End If
Simpan
KosongTex
MatiUrip Gelap, False
BukaTbPinjam "select * from pinjam"
KdsNormal
End Sub
Private Sub CmdTambah_Click()
If CmdTambah.Caption = "&Tambah" Then
KdsSimpan
Else
KdsNormal
BukaTbPinjam "select * from pinjam"
End If
KosongTex
BuatNoTranPin StrNo
txtNoPinjam.Text = StrNo
End Sub
Private Sub Form_Load()
BukaData
BukaAnggota "Select * from Anggota"
BukaTbPinjam "select * from pinjam"
KdsNormal
txtTglPinjam.Value = FUtama.DtTgl.Value
BuatNoTranPin StrNo
txtNoPinjam.Text = StrNo
xxxi
End Sub
Private Sub txtBunga_Change()
HitungJml
End Sub
Private Sub txtBunga_KeyPress(KeyAscii As Integer)
If Not ((KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Or KeyAscii =
vbKeyBack Or KeyAscii = Asc(".")) Then
KeyAscii = 0
End If
End Sub
Private Sub txtJmlAngsur_KeyPress(KeyAscii As Integer)
If Not ((KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Or KeyAscii =
vbKeyBack) Then
KeyAscii = 0
End If
End Sub
Private Sub txtJmlPinjam_Change()
HitungJml
End Sub
Private Sub txtJmlPinjam_KeyPress(KeyAscii As Integer)
If Not ((KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Or KeyAscii =
vbKeyBack) Then
KeyAscii = 0
End If
End Sub
Private Sub txtKaliAngsur_Change()
HitungJml
End Sub
Private Sub txtKaliAngsur_KeyPress(KeyAscii As Integer)
If Not ((KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Or KeyAscii =
vbKeyBack) Then
xxxii
KeyAscii = 0
End If
End Sub
Private Sub KdsNormal()
CmdTambah.Enabled = True
CmdSimpan.Enabled = False
CmdTambah.Caption = "&Tambah"
CmdSimpan.Caption = "&Simpan"
MatiUrip Gelap, False
End Sub
Private Sub KdsSimpan()
CmdTambah.Enabled = True
CmdSimpan.Enabled = True
CmdTambah.Caption = "&Batal"
CmdSimpan.Caption = "&Simpan"
MatiUrip Terang, True
End Sub
Private Sub KdsUpdate()
CmdTambah.Enabled = True
CmdSimpan.Enabled = True
CmdTambah.Caption = "&Batal"
CmdSimpan.Caption = "&Update"
End Sub
Private Sub KdsUbah()
CmdTambah.Enabled = True
CmdSimpan.Enabled = False
CmdTambah.Caption = "&Batal"
CmdSimpan.Caption = "&Simpan"
End Sub
Private Sub MatiUrip(Warna As String, Aktif As Boolean)
txtBunga.Enabled = Aktif
xxxiii
txtJmlAngsur.Enabled = Aktif
txtJmlPinjam.Enabled = Aktif
txtKaliAngsur.Enabled = Aktif
txtNip.Enabled = Aktif
txtNmLengkap.Enabled = Aktif
txtNoPinjam.Enabled = Aktif
txtTglPinjam.Enabled = Aktif
txtTotAngsur.Enabled = Aktif
txtBunga.BackColor = Warna
txtJmlAngsur.BackColor = Warna
txtJmlPinjam.BackColor = Warna
txtKaliAngsur.BackColor = Warna
txtNip.BackColor = Warna
txtNmLengkap.BackColor = Warna
txtNoPinjam.BackColor = Warna
txtTotAngsur.BackColor = Warna
End Sub
Private Sub BukaTbPinjam(pilih As String)
BukaPinjam pilih
Set GrPinjam.DataSource = RsPinjam
End Sub
Private Sub txtNip_Change()
BukaAnggota "select * from anggota where nip='" & txtNip.Text & "'"
If RsAnggota.RecordCount > 0 Then
txtNmLengkap.Text = RsAnggota!nmlengkap
StrAlamat = RsAnggota!alamat
StrGol = RsAnggota!gol
StrNmSek = RsAnggota!nmsekolah
BukaPinjam "select * from pinjam where nip='" & txtNip.Text & "'"
If RsPinjam.RecordCount > 0 Then
xxxiv
RsPinjam.Requery
Do While Not RsPinjam.EOF
BukaAngsur "select * from angsur where nopinjam='" & RsPinjam!nopinjam
& "'"
If RsAngsur.RecordCount < 1 Then
MsgBox "Anggota Belum melunasi pinjaman", vbOKOnly, "Akse Ditola"
txtNip.Text = ""
Exit Sub
Else
If RsAngsur.RecordCount <> RsPinjam!kaliangsur Then
MsgBox "Anggotsa Belum melunasi pinjaman", vbOKOnly, "Akse Ditola"
txtNip.Text = ""
Exit Sub
End If
End If
RsPinjam.MoveNext
Loop
txtNmLengkap.Text = RsAnggota!nmlengkap
StrNmSek = RsAnggota!nmsekolah
StrGol = RsAnggota!gol
StrAlamat = RsAnggota!alamat
End If
End If
BukaAnggota "select * from anggota"
End Sub
Private Sub txtNip_GotFocus()
BukaAnggota "select * from anggota"
End Sub
Private Sub BukaAnggota(pilih As String)
BukaAng pilih
Set txtNip.RowSource = RsAnggota
xxxv
txtNip.ListField = "nip"
End Sub
Private Sub Simpan()
With RsPinjam
!bunga = txtBunga.Text
!jmlangsur = txtJmlAngsur.Text
!jmlpinjam = txtJmlPinjam.Text
!kaliangsur = txtKaliAngsur.Text
!nip = txtNip.Text
!tglpinjam = txtTglPinjam.Value
!totangsur = txtTotAngsur.Text
.Update
End With
End Sub
Private Sub KosongTex()
txtBunga.Text = ""
txtJmlAngsur.Text = ""
txtJmlPinjam.Text = ""
txtKaliAngsur.Text = ""
txtNip.Text = ""
txtNmLengkap.Text = ""
txtNoPinjam.Text = ""
txtTotAngsur.Text = ""
End Sub
Private Sub HitungJml()
If Val(txtJmlPinjam.Text) <> 0 And Val(txtKaliAngsur.Text) <> 0 Then
txtJmlAngsur.Text = Format(Val(txtJmlPinjam.Text) / Val(txtKaliAngsur.Text),
"######.##")
txtTotAngsur.Text = Format(Val(txtJmlAngsur.Text) + (Val(txtJmlPinjam.Text *
Val(txtBunga.Text))), "######.##")
End If
xxxvi
End Sub
Private Sub BuatSlip()
With RptSlipPinjam.Sections("section2")
.Controls("lbtanggal").Caption = txtTglPinjam.Value
.Controls("lbnip").Caption = txtNip.Text
.Controls("lbnmlengkap").Caption = txtNmLengkap.Text
.Controls("lbalamat").Caption = StrAlamat
.Controls("lbgolongan").Caption = StrGol
.Controls("lbnmsekolah").Caption = StrNmSek
.Controls("lbnopinjam").Caption = txtNoPinjam.Text
.Controls("lbjumpinjam").Caption = Val(txtJmlPinjam.Text)
.Controls("lbkaliangsur").Caption = Val(txtKaliAngsur.Text)
.Controls("lbjumangsur").Caption = Val(txtJmlAngsur.Text)
.Controls("lbbunga").Caption = Val(txtBunga.Text)
.Controls("lbtotangsur").Caption = Val(txtTotAngsur.Text)
End With
RptSlipPinjam.Refresh
End Sub
Private Sub txtTglPinjam_Change()
txtTglPinjam.Value = FUtama.DtTgl.Value
End Sub
FAngsur
Private Sub CmdKeluar_Click()
Unload Me
End Sub
Private Sub CmdOk_Click()
If txtNip.Text = "" Then
MsgBox "Pilih NIP", vbOKOnly, "Pilih"
txtNip.SetFocus
Exit Sub
End If
xxxvii
BukaAng "select * from anggota where nip='" & txtNip.Text & "'"
txtNama.Text = RsAnggota!nip
txtNmSekolah.Text = RsAnggota!nmsekolah
BukaTbAngsur "SELECT Anggota.NIP, Anggota.NmLengkap, Pinjam.NoPinjam,
Pinjam.Nip, Angsur.NoPinjam, Angsur.Tanggal, Angsur.AngsurKe,
Angsur.SisaAngsur, Angsur.SisaPinjaman " & _
"FROM (Anggota LEFT JOIN Pinjam ON Anggota.NIP = Pinjam.Nip) LEFT JOIN
Angsur ON Pinjam.NoPinjam = Angsur.NoPinjam " & _
"WHERE anggota.nip='" & txtNip.Text & "' order by anggota.nip, angsur.tanggal
asc"
End Sub
Private Sub Form_Load()
BukaData
BukaAng "select * from anggota"
Set txtNip.RowSource = RsAnggota
txtNip.ListField = "nip"
End Sub
Private Sub BukaTbAngsur(pilih As String)
BukaAngsur pilih
Set DgAngsur.DataSource = RsAngsur
DgAngsur.Refresh
End Sub
FLapSimpan
xxxviii
BukaAng "select * from simpan where left(nip," & Len(txtNip.Text) & ")='" &
txtNip.Text & "'"
Set RptSimpan.DataSource = RsAnggota
RptSimpan.Sections("section4").Controls("lbtanggal").Caption = "Periode " &
Format(Date, "dd MMMM yyyy")
RptSimpan.Refresh
RptSimpan.Show vbModal
End Sub
Private Sub Form_Load()
BukaData
BuatAnggota "select * from anggota"
End Sub
Private Sub BuatAnggota(pilih As String)
BukaAng pilih
Set txtNip.RowSource = RsAnggota
txtNip.ListField = "nip"
End Sub
Private Sub CariAnggota(pilih As String)
Set rscari = Nothing
Set rscari = New ADODB.Recordset
rscari.Open pilih, CnSimp, adOpenStatic, adLockOptimistic, adCmdText
End Sub
Private Sub OP1_Click()
PcPilih.Enabled = False
txtNip.Text = ""
End Sub
Private Sub Op2_Click()
PcPilih.Enabled = True
End Sub
xxxix
CariAnggota "select * from anggota where nip='" & txtNip.Text & "'"
BukaSimpan "select * from simpan where nip='" & txtNip.Text & "'"
Set GrSimpan.DataSource = RsSimpan
If rscari.RecordCount > 0 Then
txtNmLengkap.Text = rscari!nmlengkap
txtGol.Text = rscari!gol
txtNmSekolah.Text = rscari!nmsekolah
Else
txtNmLengkap.Text = ""
txtGol.Text = ""
txtNmSekolah.Text = ""
End If
End Sub
FLapGaji
xl
Set DataGrid1.DataSource = RsRekap
End Sub
Private Sub CmdPrev_Click()
If txtNip.Text <> "" Then
BuatRekap
Set RptRekapGaji.DataSource = RsRekap
RptRekapGaji.Sections("section4").Controls("lbtanggal").Caption = "Periode " &
Format(Date, "dd MMMM yyyy")
RptRekapGaji.Refresh
RptRekapGaji.Show vbModal
End If
End Sub
Private Sub Form_Load()
BukaData
BuatTbAnggota "select * from anggota"
End Sub
Private Sub BuatTbAnggota(pilih As String)
BukaAng pilih
Set txtNip.RowSource = RsAnggota
txtNip.ListField = "nip"
End Sub
Private Sub BuatRekap()
Set RsRekap = Nothing
Set RsRekap = New ADODB.Recordset
RsRekap.Fields.Append "Nip", adChar, 9, adFldLong
RsRekap.Fields.Append "NmLengkap", adChar, 50, adFldLong
RsRekap.Fields.Append "NmSekolah", adChar, 50, adFldLong
RsRekap.Fields.Append "Gol", adChar, 5, adFldLong
RsRekap.Fields.Append "Gapok", adCurrency
RsRekap.Fields.Append "Tunjangan", adCurrency
RsRekap.Fields.Append "Simpanan", adCurrency
xli
RsRekap.Fields.Append "GajiKotor", adCurrency
RsRekap.Fields.Append "PotSimpan", adCurrency
RsRekap.Fields.Append "TotPotongan", adCurrency
RsRekap.Fields.Append "GajiBersih", adCurrency
RsRekap.Open
If txtNip.Text = "" Then
MsgBox "Pilih NIP", vbOKOnly, "NIP"
txtNip.SetFocus
Exit Sub
Else
BuatTbAnggota "select * from Anggota where nip='" & txtNip.Text & "'"
End If
If RsAnggota.RecordCount > 0 Then
Do While Not RsAnggota.EOF
BukaSimpan "select * from simpan where nip='" & RsAnggota!nip & "' order by
tgltrans, notransaksi asc"
BukaPinjam "select * from pinjam where nip='" & RsAnggota!nip & "' order by
tglpinjam, nopinjam asc"
RsRekap.AddNew
RsRekap!nip = RsAnggota!nip
RsRekap!nmlengkap = RsAnggota!nmlengkap
RsRekap!nmsekolah = RsAnggota!nmsekolah
RsRekap!gol = RsAnggota!gol
RsRekap!gapok = RsAnggota!gapok
RsRekap!tunjangan = 0 * Val(txtJumAnak.Text)
RsRekap!Simpanan = RsSimpan!saldo
RsRekap!gajikotor = RsAnggota!gapok + (0 * Val(txtJumAnak.Text))
RsRekap!PotSimpan = 20000
If RsPinjam.RecordCount > 0 Then
RsPinjam.MoveLast
xlii
BukaAngsur "select * from angsur where nopinjam='" & RsPinjam!nopinjam
& "' order by tanggal, angsurke asc"
If RsAngsur.RecordCount > 0 Then
If RsAngsur.RecordCount <> RsPinjam!kaliangsur Then
RsAngsur.MoveLast
RsRekap!totpotongan = 20000 + RsPinjam!totangsur
Gajiber = RsAnggota!gapok + (0 * Val(txtJumAnak.Text)) - (20000 +
RsPinjam!totangsur)
Else
RsRekap!totpotongan = 20000
Gajiber = (RsAnggota!gapok + (0 * Val(txtJumAnak.Text)) - 20000)
End If
Else
RsRekap!totpotongan = 20000 + RsPinjam!totangsur
Gajiber = RsAnggota!gapok + (0 * Val(txtJumAnak.Text)) - (20000 +
RsPinjam!totangsur)
End If
Else
RsRekap!totpotongan = 20000
Gajiber = (RsAnggota!gapok + (0 * Val(txtJumAnak.Text)) - 20000)
End If
RsRekap!gajibersih = Gajiber
RsRekap.Update
RsAnggota.MoveNext
Loop
End If
End Sub
Private Sub txtJumAnak_Change()
If Val(txtJumAnak.Text) > 3 Then txtJumAnak.Text = 3
End Sub
Private Sub txtJumAnak_KeyPress(KeyAscii As Integer)
xliii
If Not ((KeyAscii >= Asc("0") And KeyAscii <= Asc("3")) Or KeyAscii =
vbKeyBack) Then
KeyAscii = 0
Else
SendKeys "{Home}+{End}"
End If
End Sub
Private Sub txtNip_GotFocus()
BuatTbAnggota "select * from anggota"
End Sub
Private Sub txtNIP_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyDelete Then txtNip.Text = ""
End Sub
FLogIn
Option Explicit
Private Sub cmdCancel_Click()
End
End Sub
Private Sub CmdOk_Click()
BukaAng "select * from login where userid='" & txtUserName & "' and password='"
&_
txtPassword.Text & "'"
If RsAnggota.RecordCount < 1 Then
MsgBox "Login Salah, Ulang lagi!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
Exit Sub
Else
StrBagian = RsAnggota!bagian
StrPass = RsAnggota!password
StrId = RsAnggota!userid
xliv
FUtama.Show
Unload Me
End If
End Sub
Private Sub Form_Load()
BukaData
BukaAng "select * from login"
End Sub
Fback Up
xlv
Private Sub Form_Load()
Set CnSimp = Nothing
Set RsAnggota = Nothing
Set RsSimpan = Nothing
Set RsNoSim = Nothing
Set RsPinjam = Nothing
Set RsAngsur = Nothing
Set RsNoPin = Nothing
End Sub
MoSimPin
Option Explicit
Public CnSimp As ADODB.Connection
Public RsAnggota As ADODB.Recordset
Public RsSimpan As ADODB.Recordset
Public RsNoSim As ADODB.Recordset
Public RsPinjam As ADODB.Recordset
Public RsAngsur As ADODB.Recordset
Public RsNoPin As ADODB.Recordset
Public Const Terang = &H80000005
Public Const Gelap = &H8000000F
Public StrId, StrPass, StrBagian As String
Public TglSis As Date
Public StrNo As String
Public Sub BukaData()
Set CnSimp = New ADODB.Connection
CnSimp.CursorLocation = adUseClient
CnSimp.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path &
"\SimPin.mdb;Persist Security Info=False"
End Sub
Public Sub BukaNoTran(NmRs As ADODB.Recordset, pilih As String)
Set NmRs = Nothing
xlvi
Set NmRs = New ADODB.Recordset
NmRs.Open pilih, CnSimp, adOpenStatic, adLockOptimistic, adCmdText
End Sub
Public Sub BuatNoTranSim(Text, Tgl As String)
Dim IntNoTran As String
Dim StrNotran As String
BukaNoTran RsNoSim, "select * from simpan where right(tgltrans,7)='" &
Right(FUtama.DtTgl.Value, 7) & "' order by tgltrans, notransaksi asc"
RsNoSim.Requery
If RsNoSim.RecordCount < 1 Then
StrNotran = Tgl & "0001"
ElseIf RsNoSim.RecordCount > 0 Then
RsNoSim.MoveLast
IntNoTran = Val(Right(RsNoSim!notransaksi, 4)) + 1
If Len(IntNoTran) = 1 Then
StrNotran = Tgl & "000" & IntNoTran
ElseIf Len(IntNoTran) = 2 Then
StrNotran = Tgl & "00" & IntNoTran
ElseIf Len(IntNoTran) = 3 Then
StrNotran = Tgl & "0" & IntNoTran
ElseIf Len(IntNoTran) = 4 Then
StrNotran = Tgl & IntNoTran
End If
End If
Text = StrNotran
End Sub
Public Sub BuatNoTranPin(Text As String)
Dim Tgl As String
Dim IntNoTran As String
Dim StrNotran As String
Tgl = Format(FUtama.DtTgl.Value, "MMyy")
xlvii
BukaNoTran RsNoPin, "select * from Pinjam where right(tglpinjam,7)='" &
Right(FUtama.DtTgl.Value, 7) & "' order by tglpinjam, nopinjam asc"
RsNoPin.Requery
If RsNoPin.RecordCount < 1 Then
StrNotran = "P" & Tgl & "0001"
ElseIf RsNoPin.RecordCount > 0 Then
RsNoPin.MoveLast
IntNoTran = Val(Right(RsNoPin!nopinjam, 4)) + 1
If Len(IntNoTran) = 1 Then
StrNotran = "P" & Tgl & "000" & IntNoTran
ElseIf Len(IntNoTran) = 2 Then
StrNotran = "P" & Tgl & "00" & IntNoTran
ElseIf Len(IntNoTran) = 3 Then
StrNotran = "P" & Tgl & "0" & IntNoTran
ElseIf Len(IntNoTran) = 4 Then
StrNotran = "P" & Tgl & IntNoTran
End If
End If
Text = StrNotran
End Sub
Public Sub BukaAng(pilih As String)
Set RsAnggota = Nothing
Set RsAnggota = New ADODB.Recordset
RsAnggota.Open pilih, CnSimp, adOpenStatic, adLockOptimistic, adCmdText
End Sub
Public Sub BukaSimpan(pilih As String)
Set RsSimpan = Nothing
Set RsSimpan = New ADODB.Recordset
RsSimpan.Open pilih, CnSimp, adOpenStatic, adLockOptimistic, adCmdText
End Sub
Public Sub BukaPinjam(pilih As String)
xlviii
Set RsPinjam = Nothing
Set RsPinjam = New ADODB.Recordset
RsPinjam.Open pilih, CnSimp, adOpenStatic, adLockOptimistic, adCmdText
End Sub
xlix
RsLapAng.Fields.Append "nmsekolah", adChar, 50, adFldLong
RsLapAng.Fields.Append "gol", adChar, 50, adFldLong
RsLapAng.Open
BukaAng "select * from anggota"
RsAnggota.Requery
If RsAnggota.RecordCount > 0 Then
Do While Not RsAnggota.EOF
RsLapAng.AddNew
RsLapAng!nip = RsAnggota!nip
RsLapAng!nmlengkap = RsAnggota!nmlengkap
RsLapAng!tglmasuk = RsAnggota!tglmasuk
RsLapAng!jnskel = RsAnggota!jnskel
RsLapAng!ttl = RsAnggota!tptlhr & ", " & RsAnggota!tgllhr
RsLapAng!Status = RsAnggota!Status
RsLapAng!alamat = RsAnggota!alamat
RsLapAng!telepon = RsAnggota!telepon
RsLapAng!nmsekolah = RsAnggota!nmsekolah
RsLapAng!gol = RsAnggota!gol
RsLapAng.Update
RsAnggota.MoveNext
Loop
End If
End Sub
RptAngsur
l
"FROM (Anggota LEFT JOIN Pinjam ON Anggota.NIP = Pinjam.Nip) LEFT JOIN
Angsur ON Pinjam.NoPinjam = Angsur.NoPinjam order by anggota.nip,
angsur.tanggal asc"
Set RptAngsur.DataSource = RsAngsur
RptAngsur.Sections("section4").Controls("lbtanggal").Caption = "Periode " &
Format(Date, "dd MMMM yyyy")
RptAngsur.Refresh
End Sub
RptPinjam
li
lii