SISTEM INFORMASI SIMPAN PINJAM PADA KOPERASI PEGAWAI REPUBLIK INDONESIA (KPRI) “GOTONG ROYONG” JL. ARGOTUNGGGAL I TINGKIR SALATIGA
TUGAS AKHIR Diajukan dalam rangka menyelesaikan studi diploma D3 untuk mencapai gelar ahli madya
Disusun Oleh: Nama
: Eli Wikarti
NIM
: 4151302639
Prog. Studi : Statistika Terapan dan Komputasi Jurusan
: Matematika
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS NEGERI SEMARANG 2005
ABSTRAK Eli Wikarti, “Sistem Informasi Simpan Pinjam Pada Koperasi Pegawai Republik Indonesia (KPRI) ‘Gotong Royong’ Jln. Argotunggal I Tingkir Salatiga”. Koperasi sebagai salah satu bentuk organisasi merupakan unit pelaksana bidang kesejahteraan anggota dalam hal ini khususnya pegawai serta guru-guru yang berada di SLTP N 8 Salatiga. Permasalahan dalam kegiatan ini mencakup dua permasalahan, pertama bagaimanakah sistem informasi simpan pinjam pada Koperasi Pegawai Republik Indonesia (KPRI) “Gotong Royong” Jln. Argotunggal I Tingkir Salatiga, kedua bagaimanakah pembuatan Microsoft Visual Basic 6.0 untuk mengatasi masalah simpan pinjam pada Koperasi Pegawai Republik Indonesia (KPRI) “Gotong Royong” Jln. Argotunggal I Tingkir Salatiga. Tujuan dari kegiatan ini yaitu (1) untuk membuat sistem database simpan pinjam sesuai dengan prosedur yang benar secara cepat dan up to date, (2) Agar proses pembuatan dapat berjalan lebih efektif dan efisien. Metode penelitian yang dilakukan meliputi studi lapangan yaitu dengan mengadakan wawancara langsung kepada petugas koperasi yang menangani masalah simpan pinjam serta melakukan pengamatan langsung terhadap sistem yang berlaku. Selain studi lapangan, penulis juga menggunakan studi kepustakaan yaitu penulis melakukan penelitian kepustakaan yang relevan dengan masalah yang dihadapinya. Dalam pembuatan sistem perlu adanya perancangan sistem, perancangan sistem yang digunakan adalah perancangan berorientasi objek dengan membuat diagram objek, model fungsional, dan ERD serta teknik normalisasi untuk pemodelan datanya. Setelah rancangan sistem selesai dibuat, maka dapat diketahui bahwa pembuatan visual basic 6.0 dalam sistem simpan pinjam dan mengetahui sistem simpan pinjam itu sendiri sehingga simpan pinjam manual yang ada dapat ditiadakan dan digantikan dengan sistem terkomputerisasi. Hasil dari penelitian ini adalah (1) Mengetahui sistem informasi yang ada pada koperasi “Gotong Royong” Jln. Argotunggal I Tingkir Salatiga yaitu masih menggunakan sistem secara manual, yang hanya berdasarkan catatan tertulis pada kertas, (2) Sebuah program basis data dalam bentuk program Microsoft Visual Basic 6.0 yang dapat membantu pihak koperasi dalam melakukan pengelolaan data. Basis data yang dibuat adalah basis data pendataan anggota, simpanan, penarikan simpanan, pinjaman, angsuran, dan laporan. Berdasarkan hasil kegiatan di atas disarankan kepada pihak koperasi supaya menggunakan teknologi komputer dalam melakukan kegiatan koperasi untuk keefektifan dan kecepatan dalam kegiatan.
ii
PENGESAHAN
Telah dipertahankan di hadapan sidang panitia ujian Tugas Akhir Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Semarang Pada: Hari
: Senin
Tanggal : 8 Agustus 2005
Panitia Ujian Ketua
Sekretaris
Drs. Kasmadi Imam S., M.S
Drs. Supriyono, M.S
NIP. 130781011
NIP. 130815345
Dosen Penguji I
Dosen Penguji II
Drs. Kristina W.M.Si NIP. 131568307
Prof. Drs.YL.Sukestiyarno, M.S,Ph.D NIP. 131404322
Dosen Pembimbing I
Dosen Pembimbing II
Prof. Drs.YL.Sukestiyarno, M.S,Ph.D. NIP. 131404322
Drs. Kristina W.M.Si NIP. 131568307
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 hanya kepada Robb-mu lah kamu berharap”.(Qs.Alam Nasyrah:7-8)
Persembahan Karya ini kupersembahkan untuk kedua orang tuaku yang senantiasa mendo’akan dan mencurahkan kasih sayangnya dengan tulus. Keluarga besar program studi statistika terapan dan komputasi Kakak dan adik dan semua keluarga yang telah memberiku semangat Andri, Ida, Dhede, dan some one special for me serta semua teman-teman seperjunganku Teman-teman wisma “Anita 3” 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’ Jln. Argotunggal I Tingkir Salatiga. Tugas Akhir (TA) ini disusun sebagai salah satu syarat dalam mengikuti ujian akhir guna memperoleh gelar Ahli Madya program studi statistika terapan dan komputasi di FMIPA UNNES Semarang. 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: 1. Dr. H. A. T. Soegito, SH.MM., Rektor Universitas Negeri Semarang. 2. Drs. Kasmadi Imam S,M.S., Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Semarang. 3. Drs. Supriyono, MPd. Selaku Ketua Jurusan Matematika Universitas Negeri Semarang. 4. Prof. Drs. YL.Sukestiyarno,M.S,Ph.D Selaku Dosen Pembimbing utama yang telah banyak memberikan bimbingan, saran, petunjuk dan dorongan sehingga penulis dapat menyelesaikan tugas akhir ini.
v
5. Dra.Kristina W.M.S Selaku Dosen Pembimbing dua yang telah memberikan bimbingan, saran, dorongan sehingga penulis dapat menyelesaikan tugas akhir ini. 6. Kepala Sekolah SLTP N 8 Salatiga yang telah memberikan kesempatan dan kemudahan kepada penulis melakukan penelitian. 7. Farid Susanto Selaku ketua koperasi “Gotong Royong” SLTP N 8 Salatiga 8. Semua pihak yang tidak dapat penulis sebutkan satu persatu yang telah memberikan bantuan dan dorongan baik material maupun spiritual sehingga tugas akhir ini dapat terselesaikan. Semoga amal baik yang telah diberikan kepada penulis mendapat imbalan dari Allah SWT. Akhirnya penulis berharap tugas akhir ini dapat bermanfaat bagi penulis khususnya dan bagi semua pihak pada umumnya.
Semarang,
Penulis
vi
2005
DAFTAR ISI Halaman HALAMAN JUDUL ……………………………………………………………
i
ABSTRAK ………………….…………………………………………………..
ii
PENGESAHAN ….…………………………………………………………….
iii
MOTTO DAN PERSEMBAHAN………………………………………………
iv
KATA PENGANTAR ………………………………………………………….
v
DAFTAR ISI……………………………………………………………………
vii
DAFTAR GAMBAR ………………………………………………………….
x
DAFTAR TABEL …………….……………………………………………….
xi
DAFTAR LAMPIRAN…………………………………………………………
xii
BAB I
PENDAHULUAN ……………………………………………………. 1 A. Latar Belakang…………………………………………………….. 1 B. Rumusan Masalah dan Pembatasannya………………………….... 3 C. Tujuan dan Manfaat……………………………………………….. 4 D. Sistematika Penulisan……………………………………………... 6
BAB II
LANDASAN TEORI………………………………………………….. 8 A. Sistem Informasi dan Sistem Informasi Manajemen……………..... 8 1. Pengertian Sistem…………………………………………….... 8 2. Pengertian Informasi…………………………………………… 10 3. Pengertian Sistem Informasi…………………………………… 10 4. Pengertian Sistem Informasi Manajemen……………………… 11 B. Database Management System (DBMS)…………………………... 12
vii
1. Pengertian DBMS……………………………………………… 12 2. Istilah-Istilah dalam DBMS…………………………………..... 12 3. Analisa dan Perancangan Sistem……………………………..... 14 4. Kebijaksanaan Sistem………………………………………….. 20 C. Definisi Koperasi…………………………………………………... 21 D. Microsoft Visual Basic 6.0………………………………………… 23 BAB III METODE PENELITIAN ……………………………………………… 25 A. Ruang Lingkup……………………………………………………
25
B. Variabel dan Cara Pengumpulan Data…………………………….. 25 C. Analisis Data………………………………………………………. 26 BAB IV HASIL KEGIATAN DAN PEMBAHASAN…………………………. 28 B. Hasil Kegiatan …………………………………………………….. 28 1. Pengembangan Sistem………………………………………..... 28 a. Tahap Studi Kelayakan …………………………………..... 28 1) Kondisi Objektif KPRI “Gotong Royong” Pada SLTP N 8 Salatiga………………………………………………..... 28 2) Struktur Organisasi…………………………………….. 29 3) Job Description pada KPRI “Gotong Royong” Salatiga.. 30 4) Jenis Usaha KPRI “Gotong Royong”………………….. 32 5) Modal Usaha…………………………………………… 33 6) Pinjaman atau Kredit…………………………………... 33 7) Gambaran Sistem Informasi Simpan Pinjam KPRI “Gotong Royong” ………………………………………………... 33
viii
b. Tahap Rencana Pendahuluan……………………………..... 39 c. Tahap Analisis Sistem Perorientasi Objek/Object Oriented
40
d. Tahap Perancangan Sistem………………………………… 47 1) Normalisasi Basis Data………………………………… 47 2) Implementasi Entity Relation Diagram (ERD)………… 51 3) Bagan Struktur Sistem ………………………………… 52 e. Tahap Implementasi Sistem Simpan Pinjam……………..... 54 1) Tahap Pengkodean…………………………………….. 54 2) Tahap Pengujian Program……………………………… 57 3) Tahap Pengetesan Program…………………………….. 58 4) Teknologi……………………………………………...... 58 f. Langkah-Langkah Pembuatan Sistem……………………… 59 1) Pembuatan Folder Program…………………………….. 59 2) Pembuatan Project……………………………………… 59 2. Cara Kerja Program…………………………………………..... 62 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 Gambar 1.1
Struktur Organisasi………………………………………………
29
Gambar 2.1
Bagan Struktur Menu Utama……………………………………
53
Gambar 2.2
Bagan Struktur Data Anggota……………………………………
53
Gambar 2.3
Bagan Struktur Menu Transaksi…………………………………
53
Gambar 2.4
Bagan Struktur Menu Laporan…………………………………... 54
Gambar 2.5
Bagan Struktur Menu Bantuan…………………………………... 54
Gambar 3.1
Form Login………………………………………………………
63
Gambar 3.2
Form Menu Utama………………………………………………
64
Gambar 3.3
Form Pendataan Anggota………………………………………...
65
Gambar 3.4
Form Simpanan Anggota………………………………………...
66
Gambar 3.5
Form Pinjaman Anggota…………………………………………
66
Gambar 3.6
Form Angsuran…………………………………………………
67
Gambar 3.7
Form Laporan Potongan Gaji……………………………………
67
Gambar 4.1
Tampilan Output Slip Simpan…………………………………...
68
Gambar 4.2
Tampilan Output Slip Pinjam……………………………………
68
Gambar 4.3
Tampilan Output Laporan Data Anggota………………………
69
Gambar 4.4
Tampilan Output Kartu Tanda Anggota…………………………
69
Gambar 4.5
Tampilan Output Laporan Simpan………………………………
69
Gambar 4.6
Tampilan Output Laporan Data Pinjam…………………………
69
Gambar 4.7
Tampilan Output Laporan Data Angsuran………………………
70
Gambar 4.8
Tampilan Output Laporan Rekap Gaji…………………………...
70
x
DAFTAR TABEL Halaman Tabel 1.1 Tabel Anggota………………………………………………………
46
Tabel 1.2 Tabel Angsur…………………………………………………………
46
Tabel 1.3 Tabel Gaji……………………………………………………………. 46 Tabel 1.4 Tabel Login…………………………………………………………
46
Tabel 1.5 Tabel Pinjam…………………………………………………………
47
Tabel 1.6 Tabel Simpan………………………………………………………...
47
Tabel 2.1 Normalisasi bentuk pertama…………………………………………
48
Tabel 2.2 Normalisasi bentuk kedua……………………………………………
49
Tabel 2.3 Normalisasi bentuk ketiga……………………………………………
50
Tabel 3.1 Pengaturan Menu Utama……………………………………………
61
xi
DAFTAR LAMPIRAN Halaman Lampiran 1 Struktur Hirarki……………………………………………………..
77
Lampiran 2 Use case…………………………………………………..………… 78 Lampiran 3 Sequen Diagram…………………………………………………….
79
Lampiran 4 Class Diagram………………………………………………………. 80 Lampiran 5 Flow Diagram Simpanan Anggota …………….…………………… 81 Lampiran 6 Flow Diagram Pinjaman Anggota …………………………………… 82 Lampiran 7 Flow Diagram Angsuran …………………………………………….. 83 Lampiran 8 Flow Diagram Pengambilan Simpanan ……………………………… 84 Lampiran 8 Listing Program…………………………………………………….. 85 Lampiran 9 Lembar Bimbingan Konsultasi Tugas Akhir………………………..
xii
120
BAB I PENDAHULUAN
A. Latar Belakang Pada era globalisasi ini, perkembangan ilmu pengetahuan dan teknologi 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 menyelesaikan permasalahan yang ada dengan memanfaatkan kecanggihan teknologi serta kecepatan, ketepatan dan keakuratan dalam memberi informasi sehingga dalam melaksanakan pekerjaan kita akan mendapat hasil yang optimal. Salah satunya adalah pemanfaatan teknologi komputer. Data yang berukuran besar jika dikerjakan secara manual membutuhkan tenaga lebih dari satu orang, maka dengan perlengkapan komputer data tersebut dapat ditangani oleh satu orang saja, dan juga dengan penggunaan komputer akan lebih cepat dalam penyelesaiannya. Dengan kemudahan fasilitas yang diberikan komputer akan mempermudah dalam pembuatan dan penyampaian informasi kepada orang yang membutuhkan. Pentingnya informasi dalam hidup ini, mengharuskan kita untuk dapat menyampaikan informasi dengan jelas dan menarik kepada semua orang, 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. Dalam sebuah koperasi informasi sangat dibutuhkan untuk membantu mengambil kebijakan manajerial dan dengan menggunakan komputer sebagai pengolah data manajerial dalam suatu koperasi sering dikenal dengan sistem informasi manajemen koperasi yang meningkatkan para anggota dalam tiap fungsi manajerial melaksanakan tugas kepemimpinan secara tepat. Koperasi
Pegawai Republik Indonesia (KPRI) “Gotong Royong”
merupakan suatu wadah usaha yang dijalankan oleh kumpulan pegawai negeri di SLTP N 8 Kecamatan Tingkir Salatiga dan bergerak pada koperasi simpan pinjam. Selain itu juga ada usaha penyediaan kebutuhan para anggotanya juga bantuan dana untuk pendidikan, kesehatan dan terdapat pula tunjangan yang dibutuhkan oleh para anggota. Dalam perkembangannya sering dijumpai adanya kesalahan yang disebabkan oleh kurang telitinya dalam perhitungan serta kemungkinan terjadinya kecurangan sangat mempengaruhi kinerja dari kegiatan koperasi 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 kebenarannya karena tidak menutup kemungkinan adanya kecurangan yang disengaja maupun tidak disengaja. Sistem yang selama ini diterapkan koperasi “Gotong Royong” yaitu dengan menggunakan sistem simpan pinjam secara manual, yang hanya
xiv
berdasarkan pada catatan manual tertulis pada kertas. Maka untuk mempermudah sistem simpan pinjam koperasi sekarang ini dapat dilakukan dengan sistem komputerisasi. Adapun beberapa program yang dapat digunakan dalam pengelolaan 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 sistem simpan pinjam koperasi. 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. Berdasarkan uraian di atas maka penulis mengambil judul yang sesuai dengan kebutuhan akan pengolahan data informasi dalam koperasi tersebut. Untuk itu penulis memilih judul “Sistem Informasi Simpan Pinjam Pada Koperasi Pegawai Republik Indonesia (KPRI) ‘Gotong Royong’ Jln. Argotunggal I Tingkir Salatiga”.
B. Rumusan Masalah dan Pembatasannya 1. Rumusan Masalah Dari latar belakang masalah yang telah diuraikan di atas maka dirumuskan beberapa permasalahan sebagai berikut:
xv
a.
Bagaimanakah sistem informasi simpan pinjam pada Koperasi Pegawai Republik Indonesia (KPRI) “Gotong Royong” Jln. Argotunggal I Tingkir Salatiga?
b.
Bagaimanakah pembuatan Microsoft Visual Basic 6.0 dalam sistem informasi simpan pinjam pada Koperasi Pegawai Republik Indonesia (KPRI) “Gotong Royong” Jln. Argotunggal I Tingkir Salatiga?
2. Pembatasan Masalah Untuk menjaga agar tidak saling berkembangnya masalah dan keterbatasan waktu yang ada maka penulis membatasi permasalahan pada masalah sebagai berikut: a. Sistem informasi simpan pinjam yang berupa pendataan anggota, penyetoran simpanan, penarikan simpanan, transaksi pinjam, angsuran pinjam dan pembuatan laporan. b. Perancangan sistem digunakan perancangan berorientasi objek yang diaplikasikan pada software Visual Basic 6.0.
C. Tujuan dan Manfaat 1. Tujuan Berdasarkan rumusan masalah di atas, tujuan penelitian ini adalah sebagai berikut: a. Mengetahui sistem informasi simpan pinjam pada Koperasi Pegawai Republik Indonesia (KPRI) “Gotong Royong” Jln. Argotunggal I Tingkir Salatiga.
xvi
b. Membuat format dan rumusan sistem yang efektif untuk menangani masalah simpan pinjam pada koperasi “Gotong Royong” pada SLTPN 8 Salatiga agar lebih mudah dalam pengelolaannya. c. Menerapkan aplikasi program Microsoft Visual Basic 6.0 dalam sistem informasi simpan pinjam pada Koperasi Pegawai Republik Indonesia (KPRI) “Gotong Royong” Jln. Argotunggal I Tingkir Salatiga. 2. Manfaat Penelitian ini diharapkan dapat memberikan manfaat teoritis dan manfaat praktis diantaranya yaitu: a. Secara teoritis Penelitian ini dapat memberikan manfaat secara teoritis diantaranya adalah sebagai berikut : 1)
Bagi SLTP N 8 Salatiga dapat menjadi alat untuk mempermudah penanganan simpan pinjam koperasi sekolah yang berkaitan dengan data anggota koperasi.
2)
Memberikan sumbangan bagi perkembangan sistem informasi terutama simpan pinjam
3)
Bagi Universitas dan mahasiswa, dapat dijadikan literatur dalam pengelolaan data base anggota koperasi dengan menggunakan Microsoft Visual Basic 6.0 b. Secara Praktis Penelitian ini diharapkan dapat memberikan sumbangan bagi pembinaan dan pengembangan program Microsoft Visual Basic 6.0.
xvii
D. Sistematika Penulisan Untuk memperjelas ruang lingkup pembahasan, penulisan tugas akhir dibuat dengan sistematika yang baik. Adapun sistematika penulisan tugas akhir adalah bagian awal, bagian inti, dan bagian akhir. Ketiga bagian tersebut dapat diuraikan sebagai berikut : 1.
Bagian Awal Pada bagian ini terdiri dari halaman judul, halaman pengesahan, abstrak, kata pengantar, daftar isi, daftar gambar, dan daftar tabel.
2.
Bagian Inti Bagian inti laporan terdiri dari : BAB I. PENDAHULUAN Berisi latar belakang, rumusan masalah dan pembatasannya, tujuan dan manfaat, pengumpulan data dan sistematika penulisan. BAB II. LANDASAN TEORI Berisi penjelasan mengenai sistem informasi, data dan basis data, Microsoft Visual Basic 6.0 BAB III. METODE PENELITIAN Berisi ruang lingkup pembuatan sistem, variabel dan cara pengumpulan data, metode kegiatan, dan Analisis pembuatan basis data.
xviii
BAB IV. HASIL KEGIATAN DAN PEMBUATAN SISTEM Berisi Pengembangan sistem, hasil pengujian, analisa dan perancangan sistem, perancangan output dan berisi use case, class diagram, sequen diagram, ERD, implementasi sistem simpan pinjam serta proses pembuatan program. BAB V PENUTUP Berisi kesimpulan dan saran dari penyusunan tugas akhir ini. 3.
Bagian Akhir Bagian akhir dari penulisan tugas akhir ini terdiri dari daftar pustaka dan lampiran-lampiran.
xix
BAB II LANDASAN TEORI
A. Sistem Informasi dan Sistem Informasi Manajemen 1. Pengertian Sistem Terdapat dua kelompok dalam mendefinisikan sistem, yaitu yang menekankan pada prosedurnya dan menekankan pada komponen atau elemennya. Pendekatan sistem yang lebih menekankan pada prosedur mendefinisikan bahwa sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Sedangkan
sistem
yang
lebih
menekankan
pada
elemen
atau
komponennya mendefinisikan bahwa sistem adalah kumpulan dari elemenelemen yang saling berinteraksi untuk mencapai suatu tujuan tertentu. Sistem dapat berarti sebagai sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan (Raymond McLeod,Jr. Jilid 1 Edisi Tujuh,1996). Suatu sistem mempunyai karakteristik sebagai berikut: a. Komponen atau elemen (Components) Suatu sistem terdiri dari komponen-komponen yang saling berinteraksi yang artinya saling bekerja sama membentuk satu kesatuan.
xx
b. Batas Sistem (Boundary) Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. c. Lingkungan Luar Sistem (Environment) Adalah apapun di luar batas dari sistem yang mempengaruhi operasi dari suatu sistem kadang dapat merugikan sistem yang ada. d. Penghubung Sistem (Interface) Merupakan media penghubung antara subsistem dengan subsistem yang lainnya. Dengan penghubung satu subsistem dapat beritegrasi dengan subsistem yang lainnya membentuk satu kesatuan. e. Masukan (Input) Adalah energi yang dimasukkan ke dalam sistem f. Keluaran (Output) Merupakan hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Juga merupakan keluaran atau tujuan akhir dari sistem. Output dapat berupa keluaran. g. Pengolah (Process) Suatu sistem mempunyai bagian pengolah yang akan mengubah input menjadi output. h. Sasaran (Objective) Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.
xxi
2. Pengertian Informasi Sumber dari informasi adalah data. Data adalah fakta atau kenyataan yang menggambarkan suatu kejadian-kejadian yang mempunyai arti sendiri. Informasi adalah data yang telah diproses, atau data yang memiliki arti (Raymond McLeod,Jr. Jilid 1, Edisi Bahasa Indonesia,1995). Sedangkan kualitas dari suatu informasi tergantung dari tiga hal, yaitu: a. Akurat Berarti informasi harus bebas dari kesalahan-kesalahan, akurat juga berarti harus mencerminkan maksudnya, harus akurat dari sumber sampai 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 merupakan landasan diadakannya pengambilan keputusan, bila keputusan terlambat maka akan berakibat fatal bagi organisasi/perusahaan. c. Relevan Informasi tersebut mempunyai manfaat bagi pemakainya. Relevansi informasi untuk tiap-tiap orang berbeda. 3. Pengertian Sistem Informasi Sistem informasi merupakan hal yang sangat penting bagi manajemen dalam pengambilan keputusan. Jika ada pertanyaan dari mana informasi bisa didapatkan maka jawabannya adalah sistem informasi.
xxii
Gordon, menyatakan: “Sistem
informasi
adalah
suatu
kegiatan
dari
prosedur
yang
diorganisasikan bilamana dari eksekusi akan menyediakan informasi untuk mendukung pengambilan keputusan dan pengendalian dari dalam organisasi”. Raymond, menyatakan: “Sistem
informasi
mengumpulkan,
adalah
memasukkan,
cara-cara
yang
mengolah
dan
diorganisasikan menyimpan
data
untuk dan
mengendalikan serta melaporkan informasi sedemikian rupa sehingga sebuah organisasi dapat mencapai tujuan yang telah ditetapkan”. Berdasarkan beberapa uraian di atas maka dapat disimpulkan bahwa informasi merupakan suatu rangkaian kegiatan yang terorganisir untuk melakukan proses yang diinginkan untuk mencapai tujuan yang telah disepakati. Seiring dengan peningkatan kebutuhan akan pengolahan informasi dalam hal kecepatan dan keamanan diperlukan jalan alternatif yang kemudian ditemukan sistem informasi. 4. Pengertian Sistem Informasi Manajemen Sistem
informasi adalah
suatu
sistem
berbasis komputer yang
menyediakan informasi bagi beberapa pemakai dengan kebutuhan yang serupa. (Raymond McLeod, Jr. Jilid 2 Edisi Tujuh, 1996). Sistem informasi manajemen adalah manajemen dapat didefinisikan sebagai kumpulan dari interaksi sistem-sistem yang bertanggung jawab mengumpulkan dan mengolah data untuk menyediakan informasi yang
xxiii
berguna untuk tingkatan manajemen di dalam kegiatan perencanaan dan pengendalian. B. Database Management System (DBMS) 1. Pengertian Database Management System (DBMS) Database Management System (DBMS) adalah satu koleksi data yang saling berelasi dan satu set program untuk mengakses data tersebut. Jadi DBMS terdiri dari database dan set program pengelola untuk menambah, menghapus data, mengambil data dan membaca data. Database adalah suatu koleksi data komputer yang terintegrasi, diorganisasikan dan disimpan dalam suatu cara yang memudahkan pengambilan kembali (Raymond McLeod, Jr. Jilid 1 Edisi Bahasa Indonesia, 1995). Sedangkan set program adalah paket program yang diolah dan dibuat untuk memudahkan dalam pemasukkan atau pembuatan data. Menurut Date, basis data dapat dianggap sebagai tempat untuk sekumpulan berkas data terkomputerisasi (Kadir, 1999:9). 2. Istilah-istilah dalam DBMS Ada beberapa istilah penting dalam database management system, yaitu: a. Entity (Wujud) Adalah orang, tempat, kejadian, atau konsep yang informasinya direkam. Misal pada database kesehatan, entitynya adalah pasien, dokter, obat, 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. c. Nilai dan Isi Data Adalah data aktual atau informasi yang disimpan pada tiap data element atau atribute. d. Record Yaitu kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap. e. Field Field menggambarkan suatu atribute dari record yang menunjukkan suatu item data, seperti nama, alamat dan sebagainya. Field terdiri dari satu atau beberapa byte, sedangkan byte itu sendiri adalah bagian terkecil yang dapat dialamatkan dalam memori. f. File Yaitu kumpulan record-record sejenis yang mempunyai panjang elemen yang sama, atribute yang sama, namun berbeda-beda data valuenya. g. Database Yaitu merupakan kumpulan file-file yang mempunyai kaitan antara satu file
yang lain sehingga membentuk satu bangunan data untuk
menginformasikan satu perusahaan, instansi dalam batasan tertentu. h. Relatonship (Hubungan)
xxv
Merupakan penghubung antar entity dengan entity yang lainnya. Relationship digambarkan dengan belah ketupat. Ada tiga macam tipe relationship, yaitu : 1) One to One, satu entity hanya berelasi dengan satu entity lainnya. 2) One to Many, satu entity hanya berelasi dengan lebih dari satu entity. 3) Many to Many, banyak entity bisa berelasi dengan banyak entity yang lainnya. 3. Analisa dan Perancangan Sistem a. Analisa Sistem Menurut De Marco, Analisis sistem adalah mempelajari suatu masalah dan mempunyai tujuan utamauntuk melakukan tindakan (De Marco, 1978). Analisis sistem adalah proses menentukan kebutuhan apa-apa yang harus dilakukan sistem untuk memenuhi kebutuhan klien, bukanlah bagaimana sistem tersebut diimplementasikan. Analisis pertama kali dilakukan dengan menentukan permasalahan yang ada dan kemungkinan melibatkan pengembangan. Analisis berorientasi objek mempunyai lima aktiva utama dalam pendekatannya, antara lain : 1) Analisis abbot/abstraksi 2) Analisis berorientasi objek (ODA) Memiliki langkah-langkah sebagai berikut: a) Menentukan kelas dan objek
xxvi
b) Menentukan kelas atribut c) Menentukan kelas relasi d) Menentukan Struktur hirarki e) Menentukan kelas metode Alat untuk menganalisa sebagai alir/alur jalannya proses tersebut berupa (1)Use case (2)Class Diagram (3)Sequen Diagram 3) Desain berorientasi (OOD) Memilki beberapa bagian diantaranya yaitu: a) Problem Domain Componen (PDC) b) Task Manag Computer (TMC) c) Human Interact Computer (HIC) d) Data Managemen Computer (DMC) 4) Program berorientasi (OOP) b. Perancangan Sistem Perancangan sistem adalah strategi untuk memecahkan masalah dan mengembangkan solusi terbaik bagi permasalahan itu. Perancangan sistem juga termasuk bagaimana mengorganisasikan sistem ke dalam subsistemsubsistem, serta alokasi subsistem ke komponen-komponen perangkat keras, perangkat lunak, serta prosedur-prosedur. (Aristo Hadi, 2002). Dalam merancang suatu sistem perlu adanya diagram berorientasi objek yang membantu perancangan sistem yang akan dibuat, antara lain:
xxvii
1) Pemodelan Objek Merupakan langkah awal dalam pendefisian kebutuhan untuk melakukan konstruksi model objek. Sedangkan urutan kegiatan yang dilakukan adalah: menentukan kelas-kelas yang terlibat serta hubungan yang terjadi, menambahkan atribut yang mendeskripsikan lebih lanjut model dasar, kemudian mengkombinasikan kelas-kelas dengan menggunakan prinsip-prinsip pewarisan. Pada tahap ini juga dibuat kamus data yang menjelaskan kelas yang ada. 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 adalah merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur karena dapat menggambarkan arus data di dalam sistem dengan terstruktur dan jelas, juga merupakan dokumentasi yang baik. Adapun lingkup yang ditangani untuk dijabarkan dalam bentuk Use case, Class diagram, Sequen diagram atau sering dipakai untuk mendokumentasikan proses dalam sistem. Menekankan pada fungsifungsi didalam sistem, cara menggunakan informasi yang tersimpan dan pemindahan informasi antar fungsi didalam sistem. Use case,
xxviii
Class
diagram,
Sequen
diagram
adalah
diagram
alir
yang
memperlihatkan sistem sebagai proses. Tujuannya adalah memberikan pandangan umum sistem, memperlihatkan sebuah proses yang berinteraksi dengan lingkungannya. Ketiga diagram alir tersebut hampir sama dengan DFD/DAD (diagram alir data/data flow diagram). Simbol-simbol yang digunakan dalam diagram alir tersebut, antara lain : a) Simbol Use case (1)
= Aktor
(2)
= Sistem proses
(3)
= Alur
b) Simbol Class diagram (1)
= Induk
(2)
= Pewaris
(3)
= Simbol objek
c) Simbol Sequen diagram (1)
= Entitas
(2)
= Alur
(3)
= Time
3) Perancangan Basis Data a) ERD (Entity Relationship Diagram)
xxix
ERD
pada
dasarnya
merupakan
diagram
yang
menggambarkan entitas-entitas yang terlibat dalam suatu sistem serta hubungan (relasi) antar entitas tersebut. Tapi pada model berorientasi objek tekanan utama pada ERD adalah tabel-tabel yang mempresentasikan relasi antar entitas itu sendiri. Adapun simbol-simbol yang digunakan antara lain : Entity Atribut Hubungan (Relationship)
b) Teknik Normalisasi Normalisasi merupakan suatu proses untuk mendapatkan bentuk optimal dari data relasional (Jogianto, 1998). Proses ini berupa pengelompokan data elemen menjadi tabel-tabel yang menunjukan entity dan relasinya. Relasi tersebut kemudian dievaluasikan apakah sudah ada bentuk normal sehingga menjadi bentuk yang optimal. Jenis-jenis kunci relasi atau atribut yang biasa digunakan dalam pembuatan tabel normalisasi adalah sebagai berikut: (1) Candidat key (Kunci kandidat) Adalah salah satu atau lebih atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari suatu entity. Kunci
xxx
kandidat merupakan suatu calon kunci utama. Atribut adalah sebutan untuk mewakili entity. (2) Primary Key (Kunci Utama) Adalah suatu atribut kunci yang dapat digunakan untuk mengidentifikasikan suatu kejadian spesifik dari suatu entity sekaligus dapat digunakan untuk mewakili entiy tersebut. (3) Foreign Key (Kunci Tamu) Adalah atribut kunci yang diambil dari kunci utama entity yang lainnya. (4) Composite Key (Kunci Gabungan) Adalah apabila lebih dari satu atribut yang digunakan sebagai kunci kandidat. Composite key dipakai pada saat tidak ada file yang bisa dipilih sebagai kunci utama serta bila tidak ditemukan Candidat key. (5) Alternate Key (Kunci Alternatif) Adalah kunci kandidat yang tidak dipakai sebagai kunci utama. Sering kali kunci alternatif ini digunakan dalam pembuatan laporan. Tahapan-tahapan teknik normalisasi adalah: (a) Bentuk Tidak Normal (Unnormalized Form) ♦ Merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu. ♦ Diperbolehkan adanya atribut yang terduplikasi
xxxi
♦ Data dikumpulkan apa adanya sesuai dengan kedatangannya. (b) Bentuk Normal Kesatu (First Normal Form/I NF) ♦ Seluruh data dimasukkan kedalam tabel yang berbentuk flat file (rata dasar) ♦ Data dibentuk dalam satu record demi record ♦ Setiap data harus bernilai tunggal atau disebut sebagai Atomic Value. (c) Bentuk Normal Kedua (Second Normal Form/2 NF) ♦ Seluruh data harus sudah memenuhi kriteria bentuk normal kesatu ♦ Setiap tabel harus sudah mempunyai kunci utama ♦ Seluruh atribut bukan kunci harus bergantung fungsi terhadap kunci utamanya masing-masing. (d) Bentuk Normal Ketiga (Third Normal Form/3 NF) ♦ Seluruh data harus sudah memenuhi kriteria bentuk normal kedua ♦ Seluruh atribut kunci harus benar-benar bergantung penuh terhadap kunci utamanya. 4. Kebijaksanaan Sistem Kebijaksanaan sistem digunakan untuk landasan dan dukungan dalam pembuatan
perancangan
sistem
pengembangan sistem. Adapun kebijaksanaan itu antara lain :
xxxii
serta
pedoman
untuk
melakukan
a. Melakukan proyek sistem informasi b. Melakukan studi kelayakan proyek sistem informasi Yaitu menentukan apakah pengembangan proyek sistem akan diteruskan atau tidak. c. Mengajukan Usulan Proyek
C. Definisi Koperasi Pada hakekatnya koperasi merupakan suatu lembaga ekonomi yang diperlukan dan penting. Koperasi merupakan usaha bersama yang berlandaskan asas kekeluargaan untuk meningkatkan kesejahteraan anggotanya. Koperasi Jerman (1988) adalah perkumpulan yang keanggotaannya tidak tertutup yang mempunyai tujuan untuk meningkatkan aktivatas ekonomi anggotanya, dengan jalan
menyelenggarakan
usaha
bersama.
Untuk
menyelaraskan
dengan
perkembangan keadaan ketentuan tentang perkoperasian di Indonesia telah diperbaharui, yaitu dengan UU perkoperasian No. 25/1992, yang dimaksud dengan koperasi adalah “Badan usaha yang beranggotakan orang seorang atau badan hukum koperasi dengan melaksanakan kegiatannya berdasar prinsip koperasi, sekaligus sebagai gerakan ekonomi rakyat yang berdasar atas asas kekeluargaan” (Ign. Sukamdiyo, 1996). Koperasi simpan pinjam atau koperasi kredit adalah yang bergerak dalam lapangan usaha pembentukan modal melalui tabungan-tabungan para anggotanya dengan cara yang mudah, murah, cepat, dan tepat untuk tujuan produktivitas dan kesejahteraan (Ninik Widiyanti dan Sumindhi, 1998).
xxxiii
Koperasi simpan pinjam mendapat modal dari berbagai simpanan, pinjaman, penyisaan dari hasil usaha termasuk cadangan serta sumber-sumber lainnya, simpanan-simpanan tersebut diantaranya adalah sebagai berikut : 1. Simpanan Pokok yaitu simpanan yang diberikan anggota pada awal setoran dan menjadi simpanan yang berbentuk permanen. 2. Simpanan Wajib yaitu simpanan yang dapat diambil sewaktu-waktu dalam jangka waktu tertentu. 3. Simpanan Sukarela adalah simpanan yang diterima bukan dari anggota koperasi itu sendiri. Koperasi menurut Ninik Widiyanti dapat digolongkan menjadi 5 (lima) golongan yaitu koperasi konsumsi, koperasi kredit (simpan pinjam), koperasi produksi, koperasi jasa, koperasi serba usaha. Tujuan koperasi simpan pinjam menurut Ninik Widiyanti diantaranya adalah (1) Membantu keperluan kredit para anggotanya yang sangat membutuhkan dengan syarat-syarat tertentu, (2) Mendidik kepada para anggota supaya giat menyimpan secara teratur sehingga membentuk modal sendiri, (3) Mendidik anggota untuk hidup hemat, (4) Menambah pengetahuan tentang koperasi. Manfaat koperasi simpan pinjam diantaranya adalah (1) Anggota dapat memperoleh modal bagi pengembangan usaha atau berwiraswasta, (2) Dapat mencukupi kebutuhan sehari-hari antara lain membayar biaya sekolah anak dan lain-lain.
xxxiv
D. Microsoft Visual Basic 6.0 Visual Basic adalah salah satu development tools untuk membangun aplikasi dalam lingkungan windows (Drs. Daryanto, 2003). Visual basic 6.0 merupakan pengembangan versi sebelumnya yaitu VB 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 software. Kesederhanaan visual basic terletak pada kemudahan membuat bahasa pemrograman dan bentuk tampilan yang dikehendaki. Visual Basic ini merupakan pengembangan bahasa basic yang diterapkan pada program berbasis windows. 1. Toolbar (Tombol Piranti) Toolbar adalah tombol-tombol yang memiliki suatu perintah tertentu dari visual basic. 2. Form Windows (Tampilan Jendela) Form Window atau jendela form adalah daerah kerja utama, dimana dapat digunakan untuk membuat program-program aplikasi visual basic. 3. Toolbox (Kotak Piranti) Toolbox adalah sebuah kotak piranti yang mengandung semua objek atau kontrol yang dibutuhkan untuk membuat suatu program aplikasi. 4. Project Explorer
xxxv
Jendela project explorer adalah jendela yang mengandung semua file didalam aplikasi Visual Basic.
5. Jendela Properties Jendela properties adalah jendela yang mengandung semua informasi mengenai objek yang terdapat dalam aplikasi Visual Basic. 6. Jendela Code Jendela Code adalah salah satu jendela yang paling penting didalam Visual Basic, dimana ini berisi kode-kode program yang merupakan instruksiinstruksi untuk aplikasi Visual Basic.
xxxvi
BAB III METODE PENELITIAN
A. Ruang Lingkup Pada pembuatan sistem informasi ini berlangsung di Koperasi “Gotong Royong” SLTP N 8 Jl. Argotunggal I Kecamatan Tingkir Kabupaten Salatiga, akan tetapi tidak menutup kemungkinan dapat diaplikasikan pada koperasi 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.
B. Variabel dan Cara Pengumpulan Data 1.
Variabel Penelitian Penelitian ini memusatkan pada pembuatan program basis pendataan anggota, penyetoran simpanan, penarikan simpanan, transaksi, pinjam, angsuran pinjam dan pembuatan laporan.
2.
Cara Pengumpulan Data Metode pengumpulan data yang digunakan dalam penelitian ini adalah metode literatur, wawancara, dan observasi. a.
Metode Literatur Metode atau cara ini digunakan untuk mendapatkan data-data serta teori-teori yang mendukung dalam pembuatan basis pendataan
xxxvii
anggota, penyetoran simpanan, penarikan simpanan, transaksi, pinjam, angsuran pinjam dan pembuatan laporan. b. Metode Wawancara Metode wawancara adalah metode yang sangat efektif dalam pengumpulan data. Wawancara digunakan untuk memperoleh data-data yang berkaitan dengan pendataan anggota, penyetoran simpanan, penarikan simpanan, transaksi, pinjam, angsuran pinjam dan pembuatan laporan. c.
Metode Observasi Metode ini diperlukan untuk mengetahui atau mendapatkan data yang tidak mungkin didapat dengan metode wawancara. Metode observasi ini dilakukan dengan cara melakukan pengamatan secara langsung ke lapangan mengenai pengelolaan data-data koperasi yang berkaitan dengan simpan pinjam yang ada.
C. Analisis Data Metode yang dilakukan dalam penelitian ini adalah merancang dan pembuatan basis data. Perancangan yang digunakan menggunakan sistem perancangan berorientasi objek. Langkah-langkah pembuatan basis data tersebut antara lain sebagai berikut : 1.
Mempersiapkan alat dan bahan yang diperlukan
2.
Membuat rancangan diagram alir program
3.
Normalisasi data
xxxviii
4.
Membuat Diagram Antar Entitas
5.
Mengubah atau menterjemahkan diagram alir program kedalam tata bahasa pemrograman Microsoft Visual Basic 6.0
6.
Membuat program pada Microsoft Visual Basic 6.0
7.
Menguji program
8.
Merevisi program bila diperlukan. Hasil perancangan dan pembuatan program diuraikan dan dijelaskan
secara deskriptif naratif. Penafsiran dan penarikan kesimpulan dilakukan berdasarkan tiap langkah pembuatan program. Simpulan akhir ditentukan berhasil atau tidaknya program yang dibuat. Indikator keberhasilan didasarkan pada kesesuaian program dengan penanganan basis data secara manual.
xxxix
BAB IV HASIL KEGIATAN DAN PEMBAHASAN
A. HASIL KEGIATAN 1.
Pengembangan Sistem
a. Tahap Studi Kelayakan 1) Kondisi objektif KPRI “Gotong Royong” Pada SLTPN 8 Salatiga Kantor KPRI “Gotong Royong” beralamatkan di Jl. Argotunggal I Salatiga. Wilayah kerjanya adalah Cabang Dinas Pendidikan dan Kebudayaan Kecamatan Tingkir Kabupaten Salatiga. Anggotanya terdiri dari Kepala sekolah SLTPN 8, guru, dan penjaga sekolah serta karyawan. Sebelum KPRI “Gotong Royong” berdiri telah ada semacam lembaga keuangan yang diberi nama Usaha Kesejahteraan Guru (UKG) dan tidak dikelola secara profesional sehingga akhirnya bubar. Pembubaran lembaga ini mengakibatkan tidak adanya wadah yang mampu mengatasi masalah kesulitan keuangan tenaga kependidikan di wilayah Cabang Dinas P dan K Kecamatan Salatiga. KPRI “Gotong Royong” didirikan pada tahun 1995 dengan harapan dapat meningkatkan kesejahteraan anggotanya yang terdiri dari para Kepala sekolah, guru, dan penjaga sekolah, serta karyawan. Pada saat didirikan koperasi ini memiliki jumlah 52 (lima puluh dua) anggota. Koperasi ini belum memperoleh status badan hukum.
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 Adapun struktur organisasi dari Koperasi Pegawai Republik Indonesia (KPRI) “Gotong Royong” adalah sebagai berikut : Rapat Anggota
Pengawas
Pengurus
Penasehat
Ketua
Wakil Ketua
Bendahara
Sekretaris
Unit Pengelola Usaha
Unit Simpan Pinjam Anggota
Ket :
Garis Koordinator Garis Pengawasan Gambar 1.1. Struktur Organisasi Sumber : Data struktur organisasi koperasi
3) Job Description Pada KPRI “Gotong Royong” Salatiga
xli
Pada Koperasi Pegawai Negeri Republik Indonesia (KPRI) “Gotong Royong” Salatiga mempunyai job description atau tugas masing-masing sesuai dengan kedudukannya dalam kepengurusan antara lain : a) Rapat Anggota (1) Merupakan kekuasaan tertinggi dalam koperasi. (2) Membuat rencana Anggaran Dasar. (3) Memilih anggota, pengurus, dan anggota pengawas jika masa jabatannya telah habis. (4) Mengesahkan rencana kerja dan rencana anggaran belanja dan anggaran pendapatan koperasi. (5) Menetapkan pembagian Sisa Hasil Usaha (SHU). (6) Mengesahkan neraca dan perhitungan keuangan tahunan. b) Penasehat (1) Menolak hal-hal yang merugikan koperasi dari pihak luar. (2) Memberikan saran atau anjuran pada pengurus untuk kemajuan koperasi. (3) Memberi prioritas usaha pada koperasi apabila memenuhi syarat yang ditetapkan. c) Pengawas (1) Melaksanakan pemeriksaan terhadap tata kehidupan koperasi termasuk organisasi, usaha dan pelaksanaan kebijaksanaan pengurus.
xlii
(2) Memberi laporan tertulis tentang pemeriksanaan. (3) Sebagai perangkat organisasi, tim manajemen dan sebagai pelindung koperasi. d) Ketua (1) Bertindak sebagai pimpinan koperasi, atas nama koperasi serta mewakili koperasi di dalam maupun di luar persidangan. (2) Menyiapkan
kebijaksanaan
pimpinan/penasehat
dalam
pengembangan koperasi. (3) Menetapkan kebijaksanaan dalam keputusan pada forum rapat pengurus. (4) Mengkoordinator perumusan dan perencanaan program kerja. (5) Menandatangani surat-surat keluar dan surat-surat berharga bersama sekretaris. e) Sekretaris (1) Memelihara buku-buku administrasi organisasi. (2) Bertanggungjawab dalam bidang administrasi/tata usaha koperasi. (3) Menyelenggarakan notulen rapat. (4) Menyusun laporan organisasi. (5) Mengatur dan mengurus soal pengelolaan koperasi. f) Bendahara/Keuangan (1) Mengurus persoalan keuangan koperasi. (2) Membimbing dan mengawasi pemegang kas koperasi.
xliii
(3) Mengawasi dan menganalisa RAPB koperasi dengan cermat agar tidak melampaui. (4) Menandatangani surat-surat berharga bersama ketua. (5) Menyimpan dan mengamankan uang, bukti-bukti surat berharga dan dokumen keuangan koperasi. (6) Menyusun dan menyiapkan neraca dan perhitungan hasil usaha koperasi. g) Unit Simpan Pinjam (1) Mengatur, mengkoordinir dan manangani semua aktivitas yang berhubungan dengan simpan pinjam. (2) Mengamati posisi setiap pembiayaan, mamantau dan memberikan pembinaan serta mengusahakan agar pelunasan dapat sesuai dengan perjanjian. (3) Mengikuti perkembangan proses pembiayaan. (4) Menganalisa dan memberikan solusi pada keluhan anggota dalam kasus pembiayaan. h) Unit Pengelola Usaha (1) Mengelola usaha yang dijalankan oleh koperasi. (2) Bertanggungjawab sepenuhnya pada ketua koperasi. (3) Membuat laporan keuangan hasil usaha per tahun. (4) Mengembangkan usaha yang ditangani. 4) Jenis Usaha KPRI “Gotong Royong” Usaha yang dilakukan oleh KPRI “Gotong Royong” bertujuan untuk kesejahteraan anggotanya. Usaha itu antara lain :
xliv
(a)
KPRI “Gotong Royong” merupakan mitra kerja dengan dinas terkait guna mendorong perluasan atau pengembangan modal dalam upaya meningkatkan kesejahteraan anggotanya.
(b)
Memberi pinjaman/kredit yang berjangka dan berbunga rendah.
(c)
Menerima simpanan berupa tabungan.
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.
6) Pinjaman atau Kredit Dalam mengajukan pinjaman atau kredit, anggota harus memenuhi syarat-syarat tertentu. Pemohon kredit harus membayar bunga kredit sebesar 1% perbulan. Bagi pemohon yang mengajukan kredit lebih dari Rp 5.000.000,00 maka harus menyerahkan jaminan atau agunan berupa kartu taspen dan kartu pegawai.
7) Gambaran Sistem Informasi Simpan Pinjam Pada KPRI “Gotong 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 simpanan pokok anggota.
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 dalam bentuk Buku Simpanan (BS)
xlv
(2)
Simpanan anggota yang telah dicatat dalam BS diberi ke bagian penggajian yang berisi Daftar Potongan Simpanan (DPS) yang akan dipotong dari gaji anggota.
(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 simpan pinjam sedangkan potongan simpanan diarsip bagian penggajian.
(5)
Dari BS dan PGS tersebut digunakan oleh unit simpan pinjam untuk membuat Laporan Simpanan (LS) rangkap dua.
(6)
LS tersebut dimintakan tanda tangan Ketua, LS lembar pertama diarsip oleh ketua sedang lembar kedua diberikan pada bagian keuangan.
(7)
Dari PGS rangkap dua, lembar pertama diberikan pada anggota sedang lembar kedua diarsip oleh bagian bagian simpan pinjam.
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 dikembalikan pada anggota yang bersangkutan.
(3)
Kemudian surat permohonan tersebut akan diberikan pada ketua untuk ditandatangani. Setelah itu SPP Acc rangkap dua diserahkan kembali ke bagian simpan pinjam.
(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 terakhir diarsip oleh ketua.
d)
Angsuran Pinjaman Prosedur dari angsuran kredit adalah sebagai berikut: (1)
Setiap tanggal 20, anggota menyerahkan Buku Pinjaman (BP) pada bagian simpan pinjam yang akan digunakan untuk melakukan perhitungan potongan gaji anggota.
xlvi
(2)
Dari BP tersebut, bagian simpan pinjam akan membuat Daftar Potongan Angsuran (DPA) yang kemudian akan diberikan pada bagian penggajian Dinas P dan K.
(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 bagian simpan pinjam.
(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 Angsuran Pinjaman (LAP) rangkap 3.
(5)
LAP rangkap 3 tersebut kemudian diserahkan pada bagian keuangan untuk di Acc oleh bagian keuangan kemudian diajukan pada ketua untuk di Acc.
(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 pada bagian simpan pinjam,
e)
Pengambilan Simpanan (1)
Anggota yang akan mengambil simpanan harus mengisi slip pengambilan simpanan rangkap dua yang diberikan oleh bagian simpan pinjam.
(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 anggota yang mengambil simpanan tersebut.
(3)
Dari buku ambil akan dicatat menjadi bentuk laporan ambil rangkap tiga kemudian akan dimintakan Acc pada bagian keuangan dan ketua.
(4)
Laporan ambil lembar pertama akan diarsip oleh bagian simpan pinjam, lembar kedua diarsip oleh bagian keuangan dan yang terakhir diarsip oleh ketua.
b. Tahap Rencana Pendahuluan Tahap rencana pendahuluan dilakukan untuk menentukan lingkup kegiatan atau sistem yang ditangani dan selanjutnya dijabarkan ke dalam bentuk diagram alir data. Diagram alir data merupakan suatu proses yang membentuk siklus yang dapat mempermudah dalam merancang sistem basis data, karena di dalamnya menyangkut juga alur data yang
xlvii
diterangkan melalui gambar dimana semua bagian yang terkait dengan proses akan jelas hubungannya. Pada pembuatan basis data di Koperasi “Gotong Royong”, tahap rencana pendahuluan dilakukan dengan membuat diagram alir data pada analisis sistem berorientasi objek/object oriented. c. Tahap Analisis Sistem Berorientasi Objek/Object Oriented Menurut De Marco, analisis sistem adalah mempelajari suatu masalah dan mempunyai tujuan utama untuk melakukan tindakan (De Marco, 1978). Analisis sistem adalah proses menentukan kebutuhan sistem yang harus dilakukan
sistem
untuk
memenuhi
kebutuhan
pemakai.
Metode
pengembangan sistem ini memiliki langkah-langkah kerja sebagai berikut: 1) Analisa Abbot/Abstraksi Pada tahap analisis sistem berorientasi objek yang pertama kali dilakukan adalah dengan menentukan permasalahan yang dihadapi dan melibatkan
adanya
pengembangan.
Dengan
adanya
analisa
abbot/abstraksi membuatnya menjadi lebih jelas dan abstraksi tersebut telah dijelaskan pada gambaran sistem informasi simpan pinjam pada KPRI “Gotong Royong”. 2) Analisis Berorientasi Objek (ODA) Analisis Berorientasi Objek (ODA) memiliki langkah-langkah sebagai berikut: a) Menentukan kelas objek Objek dan kelas Anggota
xlviii
Simpan Pinjam Angsur Gaji
b) Menentukan kelas atribut 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. c) Menentukan kelas relasi Gambar tabel relasi simpan pinjam sebagai berikut: Menyimpan/ mengambil
Anggota NIP Namalgkp Jns kelamin Tglmasuk Tmptlahir Tgllahir Status Alamat Telepon Namasklh Gol OK Tambah Simpan Ubah Hapus Keluar
meminjam
Simpan Notrans Kodetrans Tgltrans NIP Jmlsimpan Jmlambil Saldo OK Simpan Keluar
mengangsur
Pinjam No.pjm NIP Tglpjm Jmlpjm Kaliangsur Jmlang Bunga Totang OK Tambah Simpan Hapus Keluar
xlix
Anggota Memiliki
Angsur NIP Nama Namasklh tanggal nopjm angske sisaangs sisapjm OK Keluar
Gaji NIP Gol Nama Namasklh jmlanak Gajipokok Tunjangan Gaji kotor Totpot Gajibersih OK Preview Keluar
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 terakhir menjelaskan tentang operasi yang digunakan. d) Menentukan struktur hirarki Pada struktur hirarki tentang simpan pinjam diawali dengan sistem simpan pinjam tersebut yang memiliki tabel induk yang didalamnya terdapat beberapa objek diantaranya yaitu anggota, simpan, pinjam, angsur, dan petugas. Didalam objek simpan memiliki tabel pewaris diantaranya yaitu simpanan pokok, simpanan wajib, serta simpanan manasuka dimana simpanan ini dilakukan sembarang nilainya. Dan didalam objek petugas terdapat tabel pewaris diantaranya simpan pinjam, keuangan, penggajian, ketua. Untuk lebih jelasnya dapat dilihat pada gambar struktur hirarki pada lampiran 1. e) Menentukan metode Alat yang digunakan untuk menganalisa metode tersebut yaitu: (1) Use case Pada alat analisa berupa use case merupakan diagram alir data yang menggambarkan secara jelas tentang proses. Pada use case dijelaskan tentang proses bagaimana anggota dalam melakukan transaksi simpan pinjam dan petugas sebagai pembantu pelaksanaan transaksi tersebut.
l
Pada diagram alir use case diawali dengan anggota melakukan sistem simpan pinjam tersebut, kemudian petugas ikut membantu pelaksanaan simpan pinjam tersebut. Langkah pertama yaitu petugas memberikan formulir kemudian anggota mengisi formulir tersebut. Apabila anggota akan melakukan simpanan, anggota harus menyerahkan KTA (Kartu Tanda Anggota) dan melakukan simpanan pokok sebesar Rp 50.000,00 dan selanjutnya melakukan simpanan wajib dan simpanan manasuka kemudian
apabila
sudah
melakukan
simpanan
maka
anggota
diperbolehkan melakukan pinjaman dan petugas memberikan anggota pinjaman tersebut. Tetapi dengan syarat anggota berkewajiban mengembalikan pinjaman tersebut dengan cara mengangsur. Untuk lebih jelasnya dapat dilihat pada gambar use case pada lampiran 2. (2) Class diagram 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 diagram pada lampiran 3 (3) Sequen diagram Pada sequen diagram dijelaskan lebih rinci tentang proses dalam melakukan transaksi simpan pinjam tersebut dibandingkan dengan use case dan class diagram. Sequen diagram menjelaskan tentang jalanya proses yang diawali dengan anggota melakukan pendaftaran terlebih dahulu kepada petugas, yang kemudian petugas akan memberikan KTA
li
(Kartu Tanda Anggota). Setelah mendapat KTA , anggota dapat melakukan simpanan pokok sebesar
Rp 50.000,00 kemudian
anggota menerima buku simpan dari petugas. Dalam gambar pada lampiran 4 terlihat garis prosesnya adalah garis putus-putus, hal ini berarti proses tersebut terjadi hanya satu kali/ tidak berulang-ulang. Setelah itu apabila anggota ingin melakukan proses selanjutnya maka anggota diharapkan melakukan simpanan wajib sebesar Rp 20.000,00 dan simpanan manasuka yang diserahkan anggota dengan nilai yang tidak ditentukan. Kemudian sebagai bukti maka anggota mendapatkan buku simpan. Apabila anggota akan melakukan pengambilan simpanan, anggota minimal sudah mempunyai simpanan sebesar Rp 50.000,00 dan petugas akan membantu memproses pengambilan simpanan tersebut. Untuk melakukan proses pinjaman, anggota diharuskan menyerahkan KTA dan menyerahkan surat permohonan pinjam terlebih dahulu, kemudian dilakukan persetujuan oleh petugas apabila surat persetujuan tersebut telah disetujui maka anggota boleh melakukan pinjaman dan petugas membantu proses peminjaman tersebut, kemudian setelah proses selesai, anggota akan menerima pinjaman tersebut. Bersamaan dengan itu anggota akan menerima buku pinjam sebagai bukti. Kemudian apabila anggota telah melakukan pinjaman maka anggota harus melakukan pembayaran dengan cara mengangsur. Untuk lebih jelasnya dapat dilihat pada gambar sequen diagram pada lampiran 4.
lii
Ketiga alat analisa tersebut berperan sebagai alur program atau bisa dikatakan sebagai alir prosesnya. Ketiga alat analisis tersebut mempunyai sistem kerja yang hampir sama dengan DAD/DFD. 3) Desain Berorientasi Objek (OOD) Desain berorientasi objek yang digunakan yaitu: (a) PDC (Problem Domain Componen/merupakan masalah utama) 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. (b) TMC (Task Manag Computer) Objek Anggota Simpan Pinjam Angsur Gaji
Task/Metode OK, Tambah, simpan, ubah, hapus, keluar, OK, Tambah, simpan, keluar OK, Tambah, simpan, hapus, keluar OK, Keluar OK, Preview, keluar
(c) HIC (Human Interact Computer/orang yang memakai program/ brainware) Dalam program ini yang menjadi brainware yaitu petugas yang terdiri atas bagian simpan pinjam, keuangan, sekretaris, ketua. (d) DMC (Data Managemen Computer/database yang dibuat) Tabel 1.1 Tabel Anggota
liii
Tabel 1. 2 tabel
Field Name
Type
NIP
Text
TglMasuk
Date/Time
NmLengkap
Text
JnsKel
Text
TmptLhr
Text
TglLhr
Date/Time
Status
Text
Alamat
Text
Telepon
Text
NmSekolah
Text
Gaji
Text
GaPok
Currency
Field Name
Type
Tanggal
Date/Time
NoPinjam
Text
AngsurKe
Single
SisaAngsur
Single
SisaPinjaman
Currency
Tabel 1.3 tabel Gaji Field Name
Type
NIP
Text
GajiPokok
Currency
liv
Angsur
Tunjangan
Currency
GajiKotor
Currency
TotPotongan
Currency
GajiBersih
Currency Tabel 1.4 tabel Login
Field Name
Type
UserId
Text
Pasword
Text
Bagian
Text
Tabel 1.5 tabel Pinjam Field Name
Type
NoPinjam
Text
TglPinjam
Date/Time
NIP
Text
JmlPinjam
Currency
KaliAngsur
Single
JmlAngsur
Currency
Bunga
Single
TotAngsur
Currency
lv
Tabel 1.6 tabel Simpan Field Name
Type
NoTransaksi
Text
KodeTrans
Date/Time
TglTrans
Text
NIP
Currency
Simpan
Currency
Ambil
Currency
Saldo
Currency
(e) Program Berorientasi (OOP) Program yang digunakan adalah program Microsoft Visual Basic 6.0
d. Tahap Perancangan Sistem 1) Normalisasi Basis Data Normalisasi merupakan pengelompokan data elemen-elemen menjadi tabel-tabel yang menunjukan entity dan relasinya. Dari item-item data yang ada digunakan sebagai dasar dalam merancang basis data yang lebih efisien.
a)Bentuk Normal Pertama
lvi
Syarat : Tabel dikatakan memenuhi normal satu jika sebuah tabel tidak memiliki atribut yang bernilai banyak atau lebih dari satu atribut dengan domain nilai yang sama. Tabel 2.1 Normalisasi bentuk pertama Tabel Anggota NIP TglMsk NmLengkap JnsKel TTL Status Alamat Telp NmSekolah Gol Tabel Simpanan NoTrans KdTrans TglTrans
NIP
Simpan
Ambil
Saldo
Tabel Pinjaman NoPjm TglPjm NIP JmlPjm KaliAngsur JmlAngsur Bunga TotAngsur Tabel Angsuran NoAng NoPjm TglAng
NIP
AngsurKe
SisaAng
SisaPjm
TotPot
GajiBrsh
Tabel Gaji NIP
Gol
GajiPokok
Tunj
GajiKotor
b) Bentuk Normal Kedua Syarat : (1) Memenuhi normal pertama, (2) Pada tabel normal kedua ini setiap atribut yang bukan kunci utama (primary key) tergantung secara fungsional terhadap semua atribut kunci utama dan bukan tergantung secara fungsional hanya pada sebagian atribut kunci utama.
lvii
Tabel 2.2 Normalisasi Bentuk Kedua Tabel Anggota *NIP TglMsk NmLengkap JnsKel TTL Status Alamat Telp NmSekolah Gol *NIP
TglMsk, NmLengkap, JnsKel, TTL, Status, Alamat, Telp, NmSekolah, Gol
Tabel Simpanan NoTrans KdTrans TglTrans NIP Jml_Simpan Jml_Ambil Saldo *NoTrans
KdTrans, TglTrans, NIP, Jml_Simpan, Jml_Ambil, Saldo
Tabel Pinjaman NoPjm TglPjm NIP JmlPjm KaliAngsur JmlAngsur Bunga TotAngsur *NoPjm
TglPjm, NIP, JmlPjm, KaliAngsur, JmlAngsur, Bunga,
TotAngsur Tabel Angsuran NoAng NoPjm TglAng *NoAng
NIP
AngsurKe
SisaAng
SisaPjm
NoPjm, NIP, AngsurKe, SisaAng, SisaPjm
Tabel Gaji NIP *Gol
Gol
GajiPokok
Tunj
GajiKotor
TotPot
GajiBrsh
NIP, Gaji Pokok, Tunj, Gajikotor, TotPot, GajiBrsh Tabel Anggota, Simpanan, Pinjaman, Angsuran, Gaji ini memenuhi syarat normal kedua karena atribut yang bukan kunci utama bergantung pada field kunci yaitu NIP, NoTrans, NoPjm, NoAng, Gol.
lviii
c) Bentuk Normal Ketiga (Third Normal Form/3NF) Syarat : (1) Memenuhi normal kedua, (2) Tabel normal ketiga terpenuhi jika tidak ada atribut bukan kunci utama tergantung secara transitif pada kunci utama. Tabel 2.3 Normalisasi Bentuk Ketiga Anggota.mdb
Simpanan.mdb
NIP * TglMsk NmLengkap JnsKel TTL Status Alamat Telp NmSekolah Gol **
Pinjam.mdb NoPjm * TglPjm NIP ** Jml_Pjm Kali_Ang Jml_Ang Bunga TotAng
NoTans * TglTrans KdTrans NIP ** Jml_Simpan Jml_ambil Saldo
Gaji.mdb Gol * NIP ** Gaji pokok Tunjangan Gajikotor ToPot GajiBersih
Angsur.mdb NoAng * TglAngsur NoPjm ** AngsurKe Sisa_Angsur SisaPjm
Keterangan :
* : Primary key (kunci utama) ** : Secondary key (kunci tamu)
lix
2) Implementasi Entity Relationship Diagram (ERD) Implementasi ini merupakan transformasi model data dari ERD menjadi basis data fisik. Tiap entitas yang ada akan menjadi sebuah tabel yang kemudian akan terjadi peleburan ataupun penambahan atribut relasi kesalah satu dari kedua entitas tersebut. Relasi tabel yang telah memenuhi syarat normal bentuk ketiga, maka dapat dibuat relasi antar tabel. Berikut ini adalah gambar gambar implementasi dalam bentuk diagram entity relationship pada basis data anggota, simpan, pinjam, angsur, gaji. a) Implementasi Tabel Anggota dan Pinjam 1 Anggota
1 Pinjam
Meminjam
Tabel anggota berisi : NIP, tglmsk, nmlengkap, jnskel, TTL, status, alamat, telp, nmsekolah, gol. Tabel pinjam : nopjm, tglpjm, NIP, jmlpjm, kaliangsur, jmlangsur, bunga, totang. b) Implementasi Tabel Anggota dan Simpanan 1 Anggota
M Menyimpan/ Mengambil
Simpanan
Tabel Anggota berisi : NIP, tglmsk, nmlengkap, jnskel, TTL, status, alamat, telp, nmsekolah, gol. Tabel simpanan : notrans, kdtrans, tgltrans, NIP, simpan, ambil, saldo.
lx
c) Implementasi Tabel Angsur
1
Pinjam
Mengangsur
M Meminjam
Angsur Anggota Tabel Anggota berisi : NIP, tglmsk, nmlengkap, jnskel, TTL, status, alamat, telp, nmsekolah, gol. Tabel angsuran : noang, nopjm, tglang, NIP, angsurke, sisaangsur, sisapjm. d) Implementasi Tabel Gaji Anggota
1
Memiliki
1
Gaji
Tabel Anggota berisi : NIP, tglmsk, nmlengkap, jnskel, TTL, status, alamat, telp, nmsekolah, gol. Tabel gaji : gol, NIP, gaji pokok, tunj, gaji kotor. 3) Bagan Struktur Sistem Hasil dari perancangan proses adalah dokumentasi perancangan dalam bentuk struktur sistem yang memperlihatkan seluruh program dalam sistem serta hirarki kontrol terhadap program-program tersebut yang kemudian sering disebut sebagai bagan struktur sistem.
lxi
Pada perancangan basis data anggota, transaksi (simpan, ambil, pinjam, angsur) pada koperasi “Gotong Royong” bagan struktur sistem terbagi menjadi beberapa bagian sebagai berikut: a) Bagan Struktur Menu Utama
Menu Utama
Data Anggota
Transaksi
Laporan
Bantuan
Gambar 2.1 Bagan Struktur Menu Utama b) Bagan Struktur Data Anggota Data Anggota
Keluar
Pendaftaran
Gambar 2.2 Bagan Struktur Data Anggota c) Bagan Struktur Menu Transaksi Transaksi
Pinjaman
Simpanan
Pinjam Gambar 2.3 Bagan Struktur Menu Transaksi
lxii
Angsur
d) Bagan Struktur Menu Laporan Laporan
Rekap Gaji
Lap Anggota
Lap Simpanan
Lap Pinjaman
Lap Angsur
Gambar 2.4 Bagan Struktur Menu Laporan e) Bagan Struktur Menu Bantuan Bantuan
Cara Penggunaan
Back Up
Biodata
Gambar 2.5 Bagan Struktur Menu Bantuan
e. Tahap Implementasi Sistem Simpan Pinjam Implementasi sistem ini merupakan tahap untuk mempresentasikan hasil desain atau perancangan ke dalam bahasa pemrograman agar dapat digunakan sebagai kebutuhan untuk membantu dalam mengolah informasi.
1) Tahap Pengkodean Pemrograman merupakan kegiatan menulis kode program yang akan dieksekusi ke komputer. Kode program yang ditulis oleh programer
lxiii
harus berdasarkan dokumen yang telah dibuat oleh analisis sistem yang diambil dari hasil desain sistem secara terperinci. Kegiatan yang terbesar dalam tahap implementasi sistem adalah penulisan kode program. Apabila ada kesalahan dalam penulisan kode program maka akan berakibat pada perubahan sistem tersebut. Di bawah 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 kemudian di dalamnya dilakukan pendeklarasian peubah-peubah (property). Kode-kode di bawah ini akan memerintahkan Visual Basic 6.0 untuk mengalokasikan memori untuk menampunga nilainilai dalam peubah. Option Explisit Dim DobSaldo As DobSaldo As Double Dim StrNot As String Dim StrAlamat, StrNama As String b) Pendefisian Metoda Selain memiliki property suatu objek harus menyediakan metodametoda untuk memasukan data dari basis data ke dalam property tersebut. Adapun penggalan yang menunjukan metoda pada kelas objek simpanan adalah sebagai berikut:
lxiv
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" txtJumlah.Text = Jumlah End If Jumlah = Val(txtJumlah.Text) End Sub c) Pendefisian Kelas Turunan Pendefisian kelas turunan ini akan ada pengaitan objek tersebut dengan basis data. Dan penggalan program yang menunjukan kodekode tersebut adalah sebagai berikut : Private Sub txtKodeTrans_Click() txtJumlah.Text = "" txtJumlah_Change Select Case txtKodeTrans.Text Case "01"
lxv
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 2) Tahap Pengujian Program Tahap pengujian program ini adalah dengan menguji mengenai adanya kesalahan-kesalahan dalam pembuatan program. Adapun kesalahankesalahan yang terjadi dapat dikelompokkan menjadi tiga yaitu: a) Kesalahan Bahasa (Language Error ) Kesalahan bahasa adalah kesalahan dalam penulisan source program yang tidak sesuai dengan apa yang telah ditetapkan. b) Kesalahan Proses Kesalahan proses adalah kesalahan yang muncul ketika proses executable program dilakukan. Kesalahan ini menimbulkan program berhenti sebelum selesai pada saatnya karena komputer menemui kondisi yang belum terpenuhi yang tidak bisa dikerjakan.
lxvi
c) Kesalahan Logika Kesalahan logika merupakan kesalahan dalam logika program yang sulit untuk ditemukan. Keadaan ini karena program akan tetap memproses kode tersebut dan didapatkan hasilnya, namun hasilnya tidak sesuai dengan harapan. Pengujian ini didesain untuk memeriksa bagaimana program bertindak dalam keadaan realistis. Pengujian ini dilakukan dengan menjalankan program kemudian mengaktifkan setiap bagian sesuai dengan urutan yang diberikan pada menu-menu dan perintah-perintah yang ada pada saat program yang dijalankan. Secara operasional program yang telah dibuat dapat beroperasi dengan baik dan sudah sesuai dengan yang telah dirancang pada bagian bagan alir data. 3) Tahap Pengetesan Program Tahap pengetesan program dilakukan untuk mengetahui kekompakan antara komponen sistem yang diimplementasikan. Dimana ini dilakukan secara menyeluruh. Tujuan dari pengetesan sistem adalah untuk memastikan bahwa sistem tersebut telah berfungsi sesuai dengan yang diharapkan. 4) Teknologi Untuk mengimplementasikan sistem yang telah dibuat dibutuhkan fasilitas dan peralatan yang mendukung beroperasinya sistem tersebut, karena sistem baru ini hanya berjalan jika didukung fasilitas dan peralatan seperangkat komputer.
lxvii
a) Perangkat Keras(Hardware) (1) Personal computer Pentium 233 MMX (2) Monitor SVGA/Card VGA 1 MB (3) Printers Cannon S200SPX b) Perangkat Lunak (1) Sistem operasi windows 95/98 (2) Bahasa pemrograman Microsoft Visual Basic 6.0 (3) Program aplikasi sistem aplikasi program database simpan pinjam koperasi. f. Langkah-langkah Pembuatan Sistem 1) Pembuatan Folder Program a) Klik kanan Start kemudian pilih Explorer b) Sorot Drive C c) Klik Menu File, pilih New, lalu klik Folder d) Pada tulisan New Folder ketikan nama folder “Eli Wikarti” 2) Pembuatan Project a) Buka program Visual Basic Klik Start, pilih All Program Pilih Microsoft Visual Studio 6.0, lalu pilih Microsoft Visual Basic 6.0. Pada kotak dialog New Project pilih VB Enterprice dengan mengklik dua kali. 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. (3) Tentukan lokasi penyimpanan, letakkan tabel pada folder “Eli Wikarti” lalu beri nama database “SiPin”. (4) Pada Database Windows klik kanan Properties, lalu pilih New Table. (5) Ketikan nama tabel pada kotak Tabel Name “Anggota”. (6) Kemudian ketikkan nama-nama field yang dibutuhkan, lalu tekan tombol Add Field untuk setiap menambahkan Field. (7) Setelah semua field dimasukkan klik Close, lalu klik Build theTable. (8) Lakukan langkah membuat tabel 1 sampai 7 untuk membuat tabel yang lain, dengan nama “Angsur”,”Ambil”, “Gaji”, “Login”, “Pinjam”, “Simpan”. c) Membuat tampilan Menu Utama (1) Lakukan klik kanan pada jendela Project. (2) Pilih Add lalu MDIForm. (3) Aktifkan menu editor untuk mengatur desain dan tampilan MDIForm. (4) Klik OK (5) Simpan dengan nama Futama
lxix
(6) Pengaturan properti menu utama
Tabel 3.1 Pengaturan Menu Utama Caption Level 1
Name
Level 2
Level 3
&Data Anggota
MnDtAng
&Pendaftaran
MnDaftar
&Keluar
MnKeluar
&Transaksi
MnTran &Simpanan &Simpan &Pinjaman
MnSimpanan MnSimpan MnPinjaman
&Pinjam
MnPinjam
&Angsur
MnAngsur
&Laporan
MnLap &Rekap Gaji
MnRekapGaji
&Lap Anggota
MnLapAng
&Lap Simpanan
MnLapSimpanan
&Lap Pinjaman
MnLapPinjam
&LapAngsur
MnLapAngsur
&Bantuan
MnBantu &Cara Penggunaan
lxx
MnCaraGuna
&Back Up
MnBack
&Pembuat
MnPembuat
d) Membuat form Setelah selesai membuat database, maka dilanjutkan dengan membuat Form Anggota. (1) Pada layar akan muncul form, lalu lakukan proses penyimpanan. Pilih menu File Save. (2) Simpan Project dengan nama “SiPin” dan Form dengan nama “FInAnggota”. (3) Pada “FinAnggota” kemudian letakkan label, textbox, DBGird, Command, dan Frame, sesuai dengan yang dibutuhkan. (4) Lakukan penambahan Form dengan melakukan klik kanan pada nama “FInAnggota”. (5) Ulangi langkah-langkah c dan d membuat form sebanyak 5 (lima) kali untuk membuat “FAngsur”, “FLogin”, “FPinjam”, “FSimpan”, “FBiodata”. 2. Cara Kerja Program 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 pinjam “gotong royong”. Saat program dieksekusi, maka akan lebih dahulu tampil login yang dilanjutkan dengan munculnya menu utama.
lxxi
Apabila pemakai adalah bagian simpan pinjam, maka pada user name dan pasword berisi “simpanpinjam” dan kemudian dilakukan proses selanjutnya yaitu tampilan menu utama. Pada menu utama, menu yang dapat dibuka sebelum kalender diatur adalah menu bantuan yang berisi cara penggunaan, backup, dan biodata. Kemudian apabila kalender tersebut telah 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 pendaftaran yaitu untuk melakukan pendaftaran anggota dan apabila dibuka menu transaksi maka akan muncul form simpanan dan form pinjam serta angsur. Sedangkan pada menu laporan bila dibuka akan muncul rekap gaji, laporan simpanan, laporan pinjam, laporan angsur. Apabila membuka menu bantuan maka akan muncul form-form yang telah dijelaskan sebelumnya. 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 dan laporan anggota, laporan simpan, laporan pinjam, laporan angsur. 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 Pada program ini terdapat beberapa menu yang didalamnya terdapat sub-sub menu, diantaranya yaitu: a. Form Login
Gambar 3.1. Form Login Form login ini berfungsi sebagai proteksi terhadap penggunaan 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 masingmasing, sedangkan pasword digunakan sebagai kunci yang hanya diketahui oleh yang bersangkutan. Dengan adanya user name dan pasword ini maka hanya
orang-orang
yang
mempunyai
wewenang
saja
yang
dapat
mengoperasikan sistem. Jika user atau pasword salah maka akan muncul tampilan gambar sebagai berikut:
Jika pasword sesuai maka akan dilanjutkan dengan membuka menu utama dan seluruh menu yang ada dalam menu utama dapat dibuka oleh pengguna.
lxxiii
Pada menu utama, pengguna ditawarkan untuk memilih apa yang diinginkan untuk penanganan basis data pada koperasi tersebut. Tampilan form menu utama adalah sebagai berikut. b. Form Menu Utama
Gambar 3.2. Form Menu Utama Menu utama ini berisi beberapa file yang mempunyai sub-sub menu yaitu: Submenu data anggota berisi Pendaftaran dan Keluar. Submenu Transaksi berisi Simpanan dan Pinjaman (terbagi atas Pinjam dan Angsur). Submenu Laporan berisi Rekap Gaji, Laporan Anggota, Laporan Simpanan, Laporan Pinjaman, Laporan Angsur. Dan yang terakhir berisi submenu Bantuan yang berisi Cara Penggunaan, Back Up, Pembuat. Menu data digunakan untuk menginput, mengedit, dan menghapus data. Jika memilih menu data, maka akan tampil beberapa tampilan sebagai berikut: c. Form Pendataan Anggota Menu ini digunakan untuk mendata atau mendaftar anggota baru. Di sini juga dapat dilakukan pencarian data anggota yang sudah terdaftar sesuai
lxxiv
dengan nama yang diinputkan. Bagi anggota baru maka akan dilakukan proses pencetakan KTA (Kartu Tanda Anggota).
Gambar 3.3. Form Pendataan Anggota d. Form Simpanan Anggota Pada form simpanan ini, anggota yang baru mendaftar maka secara otomatis melakukan simpanan pokok yang besarnya ditentukan yaitu sebesar Rp 50.000,00. Pada form ini kode transaksi apa yang digunakan sebagai penentu transaksi apa yang dilakukan. Transaksi itu adalah penyimpanan (Simpanan Manasuka) dan pengambilan simpanan dan anggota akan mendapat slip tanda penyimpanan maupun pengambilan.
Gambar 3.4. Form Simpanan Anggota e. Tampilan Form Pinjaman
lxxv
Pada form pinjaman digunakan untuk menginput transaksi pinjam yang dilakukan oleh anggota. Anggota juga dapat meminta slip pinjaman sebagai bukti.
Gambar 3.5. Form Pinjaman f. Form Angsuran Form angsur merupakan submenu dari transaksi pinjaman yang digunakan untuk mengetahui sudah berapa kali angsuran anggota serta mengetahui sisa angsuran dan sisa pinjaman yang masih harus dibayar.
Gambar 3.6. Form Angsuran g. Form Laporan Potongan Gaji Form di bawah ini berguna untuk pembuatan laporan potongan gaji anggota tiap bulan yang akan diserahkan pada bagian penggajian Dinas P dan
lxxvi
K Kecamatan. Laporan ini berisi potongan untuk simpanan wajib tiap bulan sebesar Rp 20.000,00 ditambah angsuran pinjaman apabila anggota tersebut mempunyai tanggungan pinjaman.
Gambar 3.7. Form Laporan Potongan Gaji
Dari beberapa form di atas terdapat tampilan output berupa laporan, slip serta kartu tanda anggota yang dapat ditampilkan sebagai berikut:
Tampilan Output Slip Simpan
Gambar 4.1 Tampilan Output Slip Simpan Tampilan Output Slip Pinjam
lxxvii
Gambar 4.2 Tampilan Output Slip Pinjam Tampilan Output Laporan Data Anggota
Gambar 4.3 Tampilan Output Laporan Data Anggota
Tampilan Output Kartu Tanda Anggota
lxxviii
Gambar 4.4 Tampilan Output Kartu Tanda Anggota Tampilan Output Laporan Data Simpan
Gambar 4.5 Tampilan Output Laporan Simpan Tampilan Output Laporan Data Pinjam
Gambar 4.6 Tampilan Output Data Pinjam
Tampilan Output Data Angsuran
lxxix
Gambar 4.7 Tampilan Output Data Angsuran Tampilan Output Laporan Rekap Gaji
Gambar 4.8 Tampilan Output Laporan Rekap Gaji
B. Pembahasan Suatu program yang dapat berjalan belum tentu memberikan hasil yang benar, karena sifat dari bahasa pemrograman adalah melakukan apa yang diinginkan operator dan komputer hanya memproses. Bila suatu program memenuhi ketentuan dalam bahasa pemrograman software Visual Basic 6.0 maka Visual Basic 6.0 akan menjalankannya dan mengeluarkan hasil. Program basis data tentang simpan pinjam pada Koperasi “Gotong Royong” dibuat dengan menggunakan program Microsoft Visual Basic 6.0. Metode pengembangan sistem yang ada didukung dengan penentuan kelas objek, kelas relasi, struktur hirarki, serta metode yang merupakan langkah-langkah pada
lxxx
Analisis Berorientasi Objek (ODA) dapat memperjelas dan mengarahkan jalannya pembuatan program tersebut, Yang menjadi masalah utama, sekaligus yang akan digunakan dalam pembuatan program dirancang dalam desain berorientasi objek yang dilengkapi dengan metode dari setiap objek serta brainware/pengguna dari program tersebut. Sebagai pendukung jalannya program dibuat database. Normalisasi pada tahap perancangan sistem diperoleh sampai tahap normal 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 gambar-gambar implementasi dalam bentuk diagram entity relationship pada basis data. Dalam keadaan realistis, apabila program tersebut dilakukan pengetesan tanpa diawali dengan pengujian terlebih dahulu dari setiap bagian program maka program tersebut akan mengalami suatu kendala besar yang meyebabkan kesalahan proses yang ditandai dengan program berhenti sebelum saatnya 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 mengetahui kekompakan antar komponen sistem yang diimplementasikan. Berdasarkan beberapa tahap-tahap yang ada pada pengembangan sistem 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 simpulan sebagai berikut: 1. Sistem informasi simpan pinjam pada Koperasi Pegawai Republik Indonesia (KPRI) “Gotong Royong” Jln. Argotunggal I Tingkir Salatiga selama ini masih menggunakan sistem secara manual, yang hanya berdasarkan catatan tertulis pada kertas. Sistem informasi simpan pinjam yang ada berupa pendataan anggota, penyetoran simpanan, penarikan simpanan, transaksi pinjam, angsuran pinjaman dan pembuatan laporaan. 2. Dalam membuat sistem aplikasi program database sistem simpan pinjam pada koperasi “Gotong Royong” Jln. Argotunggal I Tingkir salatiga
dengan
Microsoft Visual Basic 6.0 untuk pengolahan data anggota, simpan, pinjam, angsur, serta gaji terdiri dari: Perancangan database Periapan awal sistem program meliputi pembuatan folder, project, dan database. Pembuatan sistem aplikasi dengan form. Pembuatan laporan, perancangan sistem menu program dan pembuatan program menu utama. Kompilasi dan implementasi program. 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. Argotunggal I Tingkir salatiga yang sudah mengenal teknologi komputer untuk mengolah data sistem simpan pinjam yang selama ini belum bisa berjalan dengan efektif karena kurang adanya pengorganisasian database. 4. Dengan adanya sistem yang berbasis komputerisasi proses manajemen data dan informasi lebih efektif sehingga menghasilkan output yang lebih cepat dan menarik.
B. Saran Melihat kenyataan yang dihadapi oleh KPRI “Gotong Royong”, serta pertimbangan kualitas sistem sistem informasi simpan pinjam, maka diperoleh saran adanya pengembangan selanjutnya antara lain sebagai berikut: 1. Perlu lebih dikembangkan software basis data sistem simpan pinjam dengan program Visual Basic 6.0 pada koperasi simpan pinjam terutama KPRI “Gotong Royong” Salatiga tersebut. 2. KPRI “Gotong Royong” jln. Argotunggal I tingkir Salatiga hendaknya menggunakan sistem pengolahan data dengan berbasis komputer yang terorganisasi dengan baik agar manajemen simpan pinjam dapat berjalan dengan efektif dan efisien. 3. Untuk meningkatkan kinerja simpan pinjam koperasi, sistem yang akan diaplikasikan sebaiknya dikembangkan dengan teknologi koputer yang mendukung beroperasinya sistem tersebut.
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
Alam M. Agus J., “Belajar Sendiri: Manajemen Database dengan Microsoft Visual Basic Versi 6.0”, PT. Elex Media Komputindo, Jakarta, 2000 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. De Marco, “Analisa Sistem Informasi”, Pustaka Binaman Presindo, Jakarta, 1978. Gordon B Davis, “Sistem Manajemen dan Informasi, “ Pustaka Binaman, Jakarta, 1995. Jogiyanto, H.M, “Analisa dan Desain Sistem Informasi,” Andi Offset, Yogyakarta, 1998. Kasmoni, “Visual Basic 6.0 Untuk Orang Awam”, CV. Maxikom, Palembang, 2003. McLeod Jr Raymond, ”Sistem Informasi Manajemen”, Jilid 1 Edisi Bahasa Indonesia, PT. Prenhallindo, Jakarta, 1995. McLeod Jr Raymond, ”Sistem Informasi Manajemen”, Jilid 1 Edisi Tujuh, PT. Prenhallindo, Jakarta, 1996. McLeod Jr Raymond, ”Sistem Informasi Manajemen”, jilid 2 Edisi Tujuh, PT. Prenhallindo, Jakarta, 1996. Sukamdiyo Ign, “Manajemen Koperasi”, Erlangga, PT. Gelora Aksara Pratama, 1996. W. Imam A., “SQL Server 2000: Implementasinya Dalam Pemrograman Visual Basic dan Crystal Report”, Edisi Pertama, Graha Ilmu, Yogyakarta 2005. Widiyanti, Ninik dan Sumindhia YW, “Koperasi dan Perekonomian Indonesia”, Reika Cipta, Jakarta, 1998.
lxxxvi
Simpan Pinjam
Anggota
SPokok
Simpan
SWajib
Pinjam
SManasuka
Petugas
Angsur
SimPin
Keuangan
Penggajian
Ketua
Anggota
Petugas Sistem Simpan pinjam Mendapat formulir
Memberikan formulir
Input Data anggota Menyerahkan KTA&melakukan Penyimpanan/ambil
Input data simpan/ambil Mendapatkan
memberi pinjaman
Input data Pinjam
Berkewajiban
mengangsur
Input data Angsur
ii
Anggota
KTA
Surat permohonan pinjam
Petugas
Mendaftar Menerima KTA Melakukan simpanan pokok Menerima buku simpan Menunjukkan KTA
Di cek petugas
Melakukan simpanan wajib&manasuka Menerima buku simpan Pengambilan simpanan Diterima pengembalian Menyerahkan SPP
Memproses Disetujui petugas
Meminjam Pinjaman diterima
Memproses
Menerima buku pinjam Mengangsur iii
Simpan
Pinjam
Menyimpan /ambil
Diserahkan
Anggota mengangsur
Memberikan Pinjam
Simpan Anggota
Angsur
Petugas
S Pokok
S Wajib
S Manasuka
SimPin
Keuangan
Diterima
Mengangsur
iv
Penggajian
Ketua
Anggota
Bag.SimPin Start
Menyera hkan BP
BP
Penggajian
1
BP
Membua t DPA
DPA
Keuangan
Ketua
2
5
6
DPA
LAP
LAP Acc
Buat DPGA &Slip Gaji
Diperi ksa&d i Acc
Diperi ksa&d i Acc
1 LAP Acc 4
DPGA Slip Gaji
2
DPA
6
3 Slip Gaji&BA 3
7
SlipGaji& DPGA LAP Acc Dicatat di BA Selesai SlipGaji &DPGA
Buat LAP LAP
5
4
7
nggota
Bag.SimPin
Penggajian
ii
Keuangan
1
Start
Mengisi Slip Ambil
3
Slip Ambil
5
Laporan Ambil
Lap Ambil Acc
Slip Ambil
DiAcc& dicatat Bk Ambil
Diperi ksa&d i Acc
Diperi ksa&d i Acc
1
Slip Ambil &Bk Ambil
4
Lap Ambil Acc
Uang
2 Uang
2
5
Slip Ambil &KTA
Lap ambil Acc
Selesai
iii
5
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"
txtStatus.AddItem "Belum Menikah" txtStatus.AddItem "Menikah" End Sub Private Sub txtNIP_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 BuatKTA()
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 Dim rscari As ADODB.Recordset Private Sub CmdPrev_Click() If Op2.Value And txtNip.Text = "" Then MsgBox "Silahkan Pilih NIP", vbOKOnly, "Laporan" txtNip.SetFocus Exit Sub End If
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
Private Sub txtNip_Change()
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 Dim RsRekap As ADODB.Recordset Dim Gajiber As Currency Private Sub CmdKeluar_Click() Unload Me End Sub Private Sub CmdOk_Click() BuatRekap BukaAng "select * from anggota where nip='" & txtNip.Text & "'" If RsAnggota.RecordCount > 0 Then txtNmLengkap.Text = RsAnggota!nmlengkap txtNmSekolah.Text = RsAnggota!nmsekolah txtGol.Text = RsAnggota!gol Else txtNmLengkap.Text = "" txtNmSekolah.Text = "" txtGol.Text = "" End If
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 Private Sub CmdBackup_Click() Set CnSimp = Nothing On Error GoTo Salah FileCopy App.Path & "\SimPin.mdb", TxtPat.Text & "\SimPin.mdb" MsgBox "Backup Selesai", vbOKOnly, "Backup" Unload Me Exit Sub Salah: MsgBox "Path direktori tidak valid", vbOKOnly, "Backup" Exit Sub End Sub Private Sub Direktori_Change() TxtPat.Text = Direktori.Path End Sub Private Sub Drive_Change() On Error GoTo Salah Direktori.Path = Drive.Drive Exit Sub Salah: MsgBox "Path direktori tidak valid", vbOKOnly, "Backup" Exit Sub End Sub
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
Public Sub BukaAngsur(pilih As String) Set RsAngsur = Nothing Set RsAngsur = New ADODB.Recordset RsAngsur.Open pilih, CnSimp, adOpenStatic, adLockOptimistic, adCmdText End Sub RptAnggota Dim RsLapAng As ADODB.Recordset Private Sub DataReport_Initialize() BukaData BuatLapAng Set RptAnggota.DataSource = RsLapAng RptAnggota.Sections("section4").Controls("lbtanggal").Caption = "Periode " & Format(Date, "dd MMMM yyyy") RptAnggota.Refresh End Sub Private Sub BuatLapAng() Set RsLapAng = Nothing Set RsLapAng = New ADODB.Recordset RsLapAng.Fields.Append "NIP", adChar, 9, adFldLong RsLapAng.Fields.Append "nmlengkap", adChar, 50, adFldLong RsLapAng.Fields.Append "tglmasuk", adChar, 50, adFldLong RsLapAng.Fields.Append "jnskel", adChar, 50, adFldLong RsLapAng.Fields.Append "TTL", adChar, 50, adFldLong RsLapAng.Fields.Append "status", adChar, 50, adFldLong RsLapAng.Fields.Append "alamat", adChar, 50, adFldLong RsLapAng.Fields.Append "telepon", adChar, 50, adFldLong
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 Private Sub DataReport_Initialize() BukaData BukaAngsur "SELECT Anggota.NIP, Anggota.NmLengkap, Pinjam.NoPinjam, Pinjam.Nip, Angsur.NoPinjam, Angsur.Tanggal, Angsur.AngsurKe, Angsur.SisaAngsur, Angsur.SisaPinjaman " & _
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 Private Sub DataReport_Initialize() BukaData BukaPinjam "Select * from pinjam" Set RptPinjam.DataSource = RsPinjam RptPinjam.Sections("section4").Controls("lbtanggal").Caption = "Periode " & Format(Date, "dd MMMM yyyy") End Sub.
li
lii