51 PENGEMBANGAN SISTEM INFORMASI SIMPAN PINJAM KOPERASI BERKAH MANDIRI 24 Firmansyah PROGRAM STUDI SISTEM INFORMASI FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 52 2007 M / 1428 H PENGEMBANGAN SISTEM INFORMASI SIMPAN PINJAM KOPERASI BERKAH MANDIRI 24 Skripsi Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh : Firmansyah 102093026424 PROGRAM STUDI SISTEM INFORMASI FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI 53 SYARIF HIDAYATULLAH JAKARTA 2007 M / 1428 H PENGEMBANGAN SISTEM INFORMASI SIMPAN PINJAM KOPERASI BERKAH MANDIRI 24 Skripsi Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer Pada Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh : Firmansyah 102093026424 Menyetujui, Pembimbing I, Pembimbing II, Nur Aeni Hidayah, MMSI Zulfiandri, S.Kom Mengetahui, Ketua Program Studi Sistem Informasi 54 Ir. M. Qomarul Huda, M.Kom NIP.150 326 908 PENGESAHAN UJIAN Skripsi yang berjudul “ Pengembangan Sistem Informasi Simpan Pinjam Koperasi Berkah Mandiri 24 “ telah diuji dan dinyatakan lulus dalam sidang munaqosyah Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari Rabu, 29 Agustus 2007. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana Strata Satu (S1) Program Studi Sistem Informasi Jakarta, Agustus 2007 Tim Penguji Penguji I Penguji II A’ang Subiyakto, M.Kom Ir. Bakri La Katjong, MT, M.Kom NIP. 470 035 764 Mengetahui, Dekan Fakultas Sains dan Teknologi Ketua Program Studi Sistem Informasi DR. Syopiansyah Jaya Putra, M.Sis NIP.150 317 956 Ir. M. Qomarul Huda, M.Kom NIP.150 326 908 55 PROGRAM STUDI SISTEM INFORMASI FAKULTAS SAINS DAN TEKNOLOGI UIN SYARIF HIDAYATULLAH JAKARTA Dengan ini menyatakan bahwa skripsi yang ditulis oleh : Nama : Firmansyah NIM : 102093026424 Program Studi : Sistem Informasi Judul Skripsi : Pengembangan Sistem Informasi Simpan Pinjam Koperasi Berkah Mandiri 24. Dapat diterima sebagai syarat kelulusan untuk memperoleh gelar sarjana komputer pada jurusan Sistem Informasi, Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta. Jakarta, Maret 2007 Disahkan Oleh: Pembimbing I, Pembimbing II, Nur Aeni Hidayah, MMSI Zulfiandri, S.Kom Mengetahui, Dekan Fakultas Sains dan Teknologi Ketua Program Studi Sistem Informasi 56 DR. Syopiansyah Jaya Putra, M.Sis NIP.150 317 956 Ir. M. Qomarul Huda, M.Kom NIP.150 326 908 57 PERNYATAAN DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN. Jakarta, Agustus 2007 Firmansyah 102093026424 58 ABSTRAK FIRMANSYAH, Sistem Informasi Simpan Pinjam Pada Koperasi Berkah Mandiri 24 (Dibawah bimbingan Nur Aeni Hidayah, MMSI dan Zulfiandri, S.Kom) Koperasi Berkah Mandiri 24 merupakan sebuah koperasi yang memberikan pelayanan simpan pinjam masyarakat Cinere khususnya. Untuk meningkatkan pelayanan simpan pinjam yang lebih baik terhadap anggota diperlukan suatu penanganan dan pengolahan data yang baik dalam usaha yang sedang berkembang. Dari hasil analisis yang dilakukan, pada sistem berjalan yang selama ini digunakan oleh koperasi kurang memadai dan kurang menunjang akan kebutuhan sistem yang diinginkan. Didalam memberikan pelayanannya kepada anggota. Koperasi Berkah Mandiri 24 masih menggunakan sistem manual dalam pengadministrasiannya yang meliputi penginputan, penyimpanan data simpanan, data pinjaman dan data angsuran, serta laporan-laporan yang diinginkan seperti laporan data simpanan, laporan data pinjaman dan laporan data angsuran. Untuk mengatasi persoalan tersebut diatas, maka diperlukan suatu sistem informasi berbasis komputer, dimana dalam penelitian ini perancangan sistem yang digunakan yaitu menggunakan metodologi SDLC serta dibuat pemrograman dengan Visual Basic 6.0, Microsoft Access 2003 sebagai basis datanya. Kata Kunci : Sistem, Informasi, Simpan Pinjam, SDLC xvi + 105 Halaman + 75 Gambar + 5 Lampiran + 11 Daftar Pustaka (1978-2007) 59 KATA PENGANTAR Assalamu’alaikum Wr.Wb Dengan mengucapkan syukur alhamdulillah, penulis panjatkan ke hadirat Allah SWT atas rahmat dan hidayah-nya sehingga skripsi ini dapat selesai sebagaimana mestinya. Penulis menyadari bahwa tanpa bantuan dan bimbingan dari berbagai pihak, skripsi ini tidak akan selesai dengan baik. Pada kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar-besarnya atas bimbingan dan pengarahan yagn diberikan pada penulis selama menyusun skripsi ini. Oleh karena itu, izinkanlah penulis menyampaikan ucapan terima kasih kepada : 1. Bapak Dr. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN) Jakarta. 2. Bapak Ir. M. Qomarul Huda, M.Kom, selaku Ketua Program Studi Sistem Informasi Universitas Islam Negeri (UIN) Jakarta. 3. Ibu Nur Aeni Hidayah, MMSI selaku Dosen Pembimbing I dan Bapak Zulfiandri, S.Kom, selaku Dosen Pembimbing II. 4. Bapak dan ibu dosen Jurusan Sistem Informasi Universitas Islam Negeri (UIN) Jakarta, yang telah memberikan ilmunya kepada penulis sewaktu di bangku perkuliahan. 5. Ayahanda H. Rohmani dan Ibunda Hj. Munanih selaku orang tua serta saudara penulis, yang telah memberikan doa dan semangat sehingga skripsi ini dapat terselesaikan. 6. Bapak Sugiman selaku ketua Koperasi Berkah Mandiri 24. 7. Bapak Maryadi selaku manager, terima kasih sudah boleh riset di Koperasi Berkah Mandiri 24. dan untuk waktunya untuk konsultasi dan memberikan informasi tentang Koperasi Berkah Mandiri 24. 8. Seluruh karyawan Koperasi Berkah Mandiri 24 yang telah membantu dalam melaksanakan riset. 60 9. Seluruh sahabatku di Sistem Informasi UIN Jakarta angkatan 2002 yang belum selesai skripsinya, ”ayo jangan berhenti berjuang yakinlah bahwa kita bisa, dan juga yang sudah lulus, terima kasih nasehat dan wejangannya dan jangan lupa perjuangan baru dimulai”. 10. Dan semua pihak yang tidak dapat penulis sebutkan satu persatu. Penulis menyadari bahwa penyusunan skripsi ini masih jauh dari sempurna sehingga segala saran dan kritik yang membagun sangat penulis harapkan demi kesempurnaan skripsi ini. Penulis berharap, skripsi ini dapat berguna dan bermanfaat bagi yang membutuhkanya khususnya penulis sendiri, rekan-rekan mahasiswa dan masyarakat pada umumnya. Semoga segala bantuan yang diberikan kepada penulis akan mendapatkan balasan yang setimpal dari Allah SWT, Amin. Wassalamu’alaikum Wr.Wb Jakarta, Agustus 2007 Firmansyah Penulis 61 DAFTAR ISI Halaman Halaman Judul……………………………………………………… i Halaman Persetujuan Pembimbing…………………………………. ii Halaman Pengesahan Ujian.……………………………………….... iii Halaman Pengesahan Pembimbing…………………………………. iv Halaman Pernyataan………………………………………………… v Abstrak……………………………………………………………… vi Kata Pengantar ……………………………………………………… vii Daftar Isi…………………………………………………………….. ix DAFTAR GAMBAR………………………………………………… xiii DAFTAR LAMPIRAN………………………………………………. xvi BAB I. PENDAHULUAN 1.1 Latar Belakang………………………………………... 1 1.2 Perumusan Masalah…………………………………… 3 1.3 Batasan Masalah………………………………………. 3 1.4 Tujuan dan Manfaat Penulisan..………………………. 4 1.5 Metode Penelitian……………………………………… 5 1. Metode Pengumpulan Data………………………... 5 2. Metode Pengembangan.........……………………… 6 Sistematika Penulisan…………………………………. 7 1.6 BAB II. LANDASAN TEORI 2.1 Konsep Sistem………………………………………… 9 2.2 Konsep Dasar Informasi………………………………. 11 2.3 Konsep Dasar Sistem Informasi………………………. 13 2.4 Metodologi Pengembangan Sistem……………………. 15 2.5 Alat Perancangan Sistem………………………………. 18 1. Bagan Alir Dokumen (Dokument Flowchart)............ 18 62 2. Data Flow Diagram (DFD) ………………………... 20 3. ERD(Entity Relationship Diagram)…….………… 23 Basis Data……………………………………………… 26 1. Operasi - Operasi Basis Data……………………… 26 2. Tujuan Basis Data…………………………………. 27 3. Sistem Basis Data…………………………………. 27 2.7 Normalisasi……………………………………………… 28 2.8 Kamus Data………………………………………......... 30 2.9 Microsoft Visual Basic 6.0……………………………. 31 2.10 Microsoft Access 2003…………………………........... 35 2.11 Konsep Dasar Koperasi………………............................ 37 1. Prinsip Koperasi ………………............................... 38 2. Bentuk dan Kedudukan…………………………..... 39 3. Jenis Koperasi …….................................................. 39 2.6 2.12 Evaluasi terhadap penelitian Sistem Informasi yang Terdahulu………………………………………………... 42 1. Pendahuluan…………………………………………. 43 2. Sistem Informasi Simpan Pinjam………………......... 43 3. Kesimpulan………………………………………….. 44 BAB III. METODOLOGI PENELITIAN 3.1 3.2 Metode Pengumpulan data……………………………… 46 1. Metode Observasi…………………………………... 46 2. Metode Wawancara (Interview)……………………. 47 3. Metode Studi Kepustakaan…………………………. 47 Metode Perancangan Pengembangan Sistem…………… 47 1. Perencanaan Sistem (System Planning)…………….. 48 2. Analisis Sistem(System Analysis)………………….. 48 3. Perancangan (Design)............………………………. 49 4. Implementasi (Implementation)……………………... 50 63 5. Operasi dan Pendukung Sistem (System Operation and Support).…………………… 50 BAB IV. HASIL DAN PEMBAHASAN 4.1 4.2 Tinjauan Organisasi…………………………………….. 51 A. Sejarah Singkat Berdirinya Koperasi......... ………... 51 B. Landasan, Azas dan Tujuan………………………... 52 C. Struktur Organisasi ….…………………………….. 52 D. Tugas dan Tanggung Jawab……………………….. 53 Rincian kegiatan proses yang sedang berjalan pada Koperasi Berkah Mandiri 24…………………….. 58 4.3 Perencanaan…………………………………................. 60 4.4 Kelemahan Sistem yang sedang berjalan……………... 61 4.5 Kelebihan Sistem yang sedang berjalan……………...... 63 4.6 Pemecahan Masalah..........……………………………... 63 4.7 Hasil Analisis Sistem yang sedang berjalan…………… 65 4.8 Usulan Rancangan Sistem Informasi Simpan Pinjam...... 66 4.9 Bagan Alir Dokumen (Dokument Flowchart) Sistem Usulan………....................................................... 68 4.10 Perancangan Sistem...........................................………... 68 4.11 Rancangan Basis Data………………………………….. 73 1. Entity Relationship Diagram (ERD)…………..….... 74 2. Transformasi ERD ke Database Relational….…….. 75 3. Database Relational…………..…………………….. 75 4. Normalisasi……………………………………….… 76 5. Kamus Data……………………………………….... 81 6. Struktur Data……………………………………....... 82 4.12 Rancangan Menu Program……………………………... 85 4.13 Rancangan Masukan (Input Design)……………………. 87 4.14 Rancangan Keluaran (Output Design)………………… 94 64 4.15 Implementasi………………………………………….. 99 1. Spesifikasi Komputer……………………………… 99 2. Pengujian…………………………………………... 100 3. Pelatihan (Training)……………………………….. 101 4. Pemeliharaan Sistem………………………………. 102 BAB V. PENUTUP 5.1 Kesimpulan…………………………………………….. 103 5.2 Saran……………………………………………………. 104 DAFTAR PUSTAKA…………………………………………………... 105 65 DAFTAR GAMBAR Halaman Gambar 2.1 : Pilar – pilar Informasi yang berguna..................................... 12 Gambar 2.2 : Tahapan System Development Life Cycle (Waterfall)……... 16 Gambar 2.3 : Simbol Dokumen…………………………………….......... 19 Gambar 2.4 : Simbol Kegiatan Manual………………………………...... 19 Gambar 2.5 : Simbol Simpanan Offline………………………………...... 19 Gambar 2.6 : Simbol Proses……………………………………................ 19 Gambar 2.7 : Simbol Hardisk……………………………………............. 19 Gambar 2.8 : Simbol Garis Alir…………………………………............ 19 Gambar 2.9 : Simbol Terminator………………………………….......... 21 Gambar 2.10 : Simbol Proses……………………………………............. 21 Gambar 2.11 : Simbol Arus Data………………………………….......... 22 Gambar 2.12 : Simbol Penyimpanan Data……………………………… 22 Gambar 2.13 : Simbol Entitas…………………………………............... 23 Gambar 2.14 : Simbol Ralationship…………………………………...... 24 Gambar 2.15 : Simbol Atribut…………………………………............. 24 Gambar 2.16 : Simbol 1 to 1…………………………………............... 25 Gambar 2.17 : Simbol 1 to m…………………………………............. 25 Gambar 2.18 : Simbol m to n…………………………………............. 25 Gambar 2.19 : Simbol Kamus Data………………………………….... 30 Gambar 4.1 : Struktur Organisasi Koperasi Berkah Mandiri 24…….... 52 Gambar 4.2 : Bagan Alir Dokumen Sistem Berjalan....……………..... 62 Gambar 4.3 : Bagan Alir Dokumen Sistem Usulan.....……………...... 68 Gambar 4.4 : Diagram Konteks Sistem Informasi Simpan Pinjam........ 69 Gambar 4.5 : Dagram Zero Sistem Informasi Simpan Pinjam ......…... 70 Gambar 4.6 : Diagram Level 1 Proses 1.0 Pendaftaran Anggota…….. 70 Gambar 4.7 : Diagram Level 1 Proses 2.0 Pembayaran Simpanan…… 71 Gambar 4.8 : Diagram Level 1 Proses 3.0 Penarikan Simpanan…….... 71 Gambar 4.9 : Diagram Level 1 Proses 4.0 Pengajuan Pinjaman…….... 72 66 Gambar 4.10 : Diagram Level 1 Proses 5.0 Pembayaran Angsuran……. 72 Gambar 4.11 : Diagram Level 1 Proses 6.0 Kebijakan dan Laporan…... 73 Gambar 4.12 : Entity Relationship Diagram (ERD) …………………..... 74 Gambar 4.13 : Transformasi ERD Ke Database Relational…………….. 75 Gambar 4.14 : Database Relational…………………………………....... 75 Gambar 4.15 : Bentuk Tidak Normal………………………………….... 77 Gambar 4.16 : Bentuk Normal ke Satu ( 1 NF ) ………………….......... 78 Gambar 4.17 : Bentuk Normal ke Dua ( 2 NF ) ………………….......... 79 Gambar 4.18 : Bentuk Normal ke Tiga ( 3 NF)…………………............. 80 Gambar 4.19 : Notasi Kamus Data…………………………………....... 81 Gambar 4.20 : Struktur Tabel Anggota……………………………........ 82 Gambar 4.21 : Struktur Tabel Simpanan……………………………..... 82 Gambar 4.22 : Struktur Tabel Setoran……………………………........ 83 Gambar 4.23 : Struktur Tabel Detil Setoran…………………................ 83 Gambar 4.24 : Struktur Tabel Jenis Transaksi...……………………...... 84 Gambar 4.25 : Struktur Tabel Pinjaman……………………………...... 84 Gambar 4.26 : Struktur Tabel Angsuran……………………………...... 85 Gambar 4.27 : Rancangan Menu Program………………….................. 85 Gambar 4.28 : Rancangan Layar Login…………................................. 87 Gambar 4.29 : Rancangan Layar Menu Utama….................................. 87 Gambar 4.30 : Rancangan Layar Master Anggota………...................... 88 Gambar 4.31 : Rancangan Layar Master Cari Anggota…...................... 88 Gambar 4.32 : Rancangan Layar Master Jenis Transaksi....................... 89 Gambar 4.33 : Rancangan Layar Simpan Pinjam Kartu Simpanan........ 89 Gambar 4.34 : Rancangan Layar Simpan Pinjam Transaksi Simpanan.... 90 Gambar 4.35 : Layar Menu Simpan Pinjam Pinjaman…........................ 90 Gambar 4.36 : Rancangan Layar Menu Simpan Pinjam Pembayaran Angsuran………………….......................... 91 Gambar 4.37 : Rancangan Layar Menu Laporan Laporan Simpanan Periode…………………................................ 91 Gambar 4.38 : Rancangan Layar Menu Laporan Laporan Pinjaman....... 92 67 Gambar 4.39 : Rancangan Menu Laporan Laporan Angsuran Periode.... 92 Gambar 4.40 : Rancangan Layar Menu Utility Tambah User................. 93 Gambar 4.41 : Rancangan Layar Menu Utility Ganti Password............. 93 Gambar 4.42 : Rancangan Layar Menu Utility LogOff.......................... 93 Gambar 4.43 : Rancangan Layar Menu Keluar…….............................. 94 Gambar 4.44 : Rancangan Layar Kartu Anggota…................................ 94 Gambar 4.45 : Rancangan Layar Form Cetak Kartu Simpanan.............. 94 Gambar 4.46 : Rancangan Layar Form Cetak Transaksi Simpanan....... 95 Gambar 4.47 : Rancangan Layar Cetak Transaksi Simpanan................. 95 Gambar 4.48 : Rancangan Layar Form Cetak Pinjaman......................... 95 Gambar 4.49 : Rancangan Layar Cetak Pinjaman................................... 96 Gambar 4.50 : Rancangan Layar Cetak Bukti Pembayaran Angsuran.... 96 Gambar 4.51 : Rancangan Layar Form Cetak Laporan Setoran Periode.. 96 Gambar 4.52 : Rancangan Layar Cetak Laporan Simpanan Periode....... 97 Gambar 4.53 : Rancangan Layar Form Cetak Laporan Pinjaman. Periode............................................................................ 97 Gambar 4.54 : Rancangan Layar Cetak Laporan Pinjaman. Periode..... 97 Gambar 4.55 : Rancangan Layar Form Cetak Laporan Angsuran Periode........................................................................... 98 Gambar 4.56 : Rancangan Layar Cetak Laporan Angsuran Periode..... 98 68 DAFTAR LAMPIRAN Halaman Lampiran I Wawancara....................................................................... 106 Lampiran II Tampilan Form................................................................. 109 Lampiran III Tampilan Kartu dan Laporan............................................ 115 Lampiran IV Tampilan Kode Program.................................................. 119 Lampiran V 162 Dokumen – Dokumen...................................................... 69 BAB 1 PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi informasi semakin berkembang mengikuti zaman. Pemanfaatan teknologi informasi sebagai salah satu alat bantu dalam sistem informasi modern sangat luas penggunaannya dalam berbagai bidang usaha, termasuk bidang usaha yang berskala kecil, menengah maupun besar. Koperasi adalah salah satu usaha yang dapat memanfaatkan sumber informasi secara maksimal agar dapat memberikan masukan bagi usahanya guna menjaga agar proses bisnis yang dilakukan berjalan mudah, cepat, akurat, efisien dan produktif. Dengan semakin meningkatnya peran serta teknologi informasi dalam kegiatan bisnis dewasa ini, mendorong perusahaan untuk menyusun strategi sistem informasi yang tepat agar sistem tersebut mendukung tercapainya maksud dan tujuan dari bisnis perusahaan tersebut. Untuk mencapainya maka harus ada fasilitas penunjang yang dapat digunakan untuk mencapai maksud dan tujuan tersebut. Komputer merupakan salah satu penerapan nyata dari kemajuan ilmu pengetahuan dan teknologi. Kalangan bisnis dan perkantoran semakin menyadari pentingnya kehadiran komputer ditengah-tengah aktifitas mereka. Demikian pula halnya dengan badan usaha koperasi simpan pinjam kehadiran komputer sangat membantu dalam setiap kegiatannya. 70 Sejalan dengan perkembangan ilmu dan teknologi, segala sesuatu yang berhubungan dengan informasi berjalan dengan cepat. Begitu juga di Koperasi – koperasi simpan pinjam yang merupakan suatu tempat pelayanan simpan pinjam masyarakat. Adapun Koperasi Berkah Mandiri 24, merupakan salah satu koperasi yang memberikan pelayanan simpan pinjam kepada masyarakat, tidak terlepas dari kebutuhan akan teknologi ini. Selanjutnya Koperasi Berkah Mandiri 24 tersebut mengalami kendala dalam memberikan pelayanan simpan pinjam kepada masyarakat, karena sistem yang ada tidak dapat mendata anggota secara sistematis, terkadang membuat kesulitan kepada petugas koperasi dalam melacak data simpanan, data pinjaman dan data angsuran anggota Dalam hal sistem yang terdapat pada Koperasi Berkah Mandiri 24, walaupun sudah menggunakan komputer akan tetapi masih berjalan secara manual. Sistem yang ada tidak dapat mendata anggota secara sistematis dan didalam proses simpan pinjam berjalan masih secara global dan sistem yang ada pun tidak dapat mencetak laporan simpanan, laporan pinjaman dan laporan angsuran baik itu harian maupun bulanan. Dari permasalahan-permasalahan yang ada, penulis ingin memberikan suatu solusi untuk mengatasi kekurangan yang ada dengan membuat sistem yang dapat mengatasi kendala-kendala diatas, dalam skripsi yang berjudul :“PENGEMBANGAN SISTEM INFORMASI SIMPAN PINJAM KOPERASI BERKAH MANDIRI 24”. 71 1.2 Perumusan Masalah Berdasarkan latar belakang permasalahan yang telah dikemukakan di atas, maka pokok-pokok masalah yang akan diteliti dalam penulisan ini dapat dirumuskan sebagai berikut: 1. Bagaimana mengembangkan sistem informasi untuk mengelola data simpanan, data pinjaman dan data angsuran anggota yang update setiap harinya ? 2. Bagaimana mengembangkan sistem informasi untuk dapat mencetak laporan yang diperlukan seperti laporan simpanan, laporan pinjaman dan laporan angsuran baik harian maupun bulanan ? 1.3 Batasan Masalah Sesuai rumusan permasalahan diatas penulis membatasi ruang lingkup pembahasan pada pengelolaan data simpanan, data pinjaman dan data angsuran anggota serta pengolahan laporan simpanan, laporan pinjaman dan laporan angsuran yang diperlukan. Selanjutnya, penulis menggunakan Microsoft Visual Basic 6.0 sebagai bahasa pemrograman aplikasinya dan Microsoft Acces 2003 sebagai bahasa pemrograman databasenya serta Data Report untuk penyajian laporannya. 72 1.4 Tujuan dan Manfaat Penelitian 1. Tujuan dari penelitian ini adalah membantu memecahkan masalah yang dihadapi oleh Koperasi Berkah Mandiri 24 dengan cara : a. Mengembangkan sistem informasi untuk mengelola data simpanan dan pinjaman anggota yang update setiap harinya, sehingga sistem pengolahan data akan lebih efektif dan efisien. b. Mengembangkan sistem informasi untuk mencetak laporan yang diperlukan seperti laporan simpanan, pinjaman dan angsuran baik harian maupun bulanan, sehingga pimpinan akan mudah dan cepat dalam mengambil suatu keputusan. 2. Sedangkan manfaat penelitian, yaitu: a. Bagi Penulis 1). Menerapkan dan mengembangkan ilmu serta kemampuan yamg penulis miliki. 2). Untuk memenuhi salah satu syarat kelulusan strata satu (S1) Program Studi Sistem Informasi Fakultas Sains dan Teknologi UIN Syahid Jakarta. b. Bagi Koperasi Berkah Mandiri 24: 1). Berbagi ilmu yang penulis dapatkan selama melakukan perkuliahan dengan pihak Koperasi Berkah Mandiri 24. 2). Mempermudah karyawan koperasi dalam pelayanan simpan pinjam. 73 3). Mempermudah karyawan koperasi dalam pembuatan laporan simpanan, pinjaman dan angsuran. 1.5 Metode Penelitian Dalam rangka penulisan skripsi ini tahapan metode penelitian yang dilakukan oleh penulis adalah : 1. Metode Pengumpulan Data. Didalam metode pengumpulan data yang penulis gunakan dalam pembahasan masalah skripsi ini adalah : a. Observasi Metode ini dilakukan dengan menggunakan pengamatan secara langsung terhadap proses kerja yang ada dalam kasus yang sedang diamati. b. Wawancara Metode ini dilakukan dengan mengajukan tanya jawab secara langsung dengan pihak yang bersangkutan didalam penulisan skripsi ini. c. Studi Pustaka Metode ini dilakukan melalui pendekatan-pendekatan yang mempelajari buku yang berisi teori-teori sebagai bahan pertimbangan atau referensi yang berhubungan dengan permasalahan yang akan dibahas dalam skripsi. 74 2 Metode Pengembangan Metode pemgembangan yang dilakukan dalam penelitian ini, penulis melakuakan perancangan sistem menggunakan metode siklus hidup pengembangan sistem (SDLC). Tahapan yang dilakukan adalah: a. Perencanaan Sistem Tahap perencanaan merupakan kegiatan merencanakan sebuah sistem baru/pembaharuan yang lebih baik dari sistem yang ada saat ini. b. Analisis Sistem Menghubungkan laporan hasil metode studi lapangan dan kebijakan pemakai menjadi spesifiksi yang terstruktur dengan menggunakan pemodelan. Alat yang digunakan System Procedure Diagram dan Data Flow Diagram c. Perancangan Sistem Mengimplementasikan model yang diinginkan pemakai. Alat yang digunakan adalah : 1). Data Flow Diagram dan Kamus Data sebagai alat perancangan sistem. 2). ERD, Normalisasi dan Spesifikasi Database sebagai alat perancangan database. 3). Perancangan layar tampilan input output. 4). Rancangan Menu Program sebagai alat perancangan struktur tampilan. 75 d. Implementasi Sistem Dalam implementasi terdiri dari 4 tahap yaitu : 1) Membangun sistem yang sesuai dengan perencanaan. 2) Melakukan testing pada sistem yang telah dibangun sesuai dengan perencanaan. 3) Penginstalan sistem aplikasi yang dibangun. 4) Mengoperasikan sistem yang dibangun dan memberikan training kepada operator / unit simpan pinjam. e. Operasi dan Pendukung Sistem Tahap ini bertujuan untuk memelihara dan meningkatkan kerja sistem. 1.6 Sistematika Penulisan Sistematika penulisan tugas akhir ini disusun dengan tujuan agar semua kegiatan dalam perancangan sistem informasi pelayanan simpan pinjam dengan studi kasus Koperasi Berkah Mandiri 24 dapat disusun dengan jelas dan sistematis. Dalam rangka penyusunan tugas akhir ini, penulis membagi sistematika penulisan ke dalam lima bab, yaitu: BAB I : PENDAHULUAN Dalam bab ini diuraikan tentang Latar Belakang, Perumusan masalah, Batasan Masalah, Tujuan dan Manfaat Penelitian, Metode Penelitian serta Sistematika Penulisan. 76 BAB II : LANDASAN TEORI Bab ini menjelaskan teori-teori tentang analisa dan perancangan sistem, serta teori yang relevan dengan permasalahan dan pustaka dari penelitian yang dilakukan. BAB III : METODOLOGI PENELITIAN Bab ini membahas metode yang digunakan penulis dalam melakukan pencarian data maupun pengembangan sistem yang dilakukan pada penelitian ini. BAB IV : HASIL DAN PEMBAHASAN Bab ini membahas tentang sejarah, landasan, azas, tujuan, struktur organisasi Koperasi Berkah Mandiri 24, perancangan, kontruksi, implementasi dan pengujian sistem yang dibangun dengan menggunakan Microsoft Visual Basic 6.0 dengan mengacu pada siklus hidup pengembangan sistem (SDLC). BAB V : KESIMPULAN DAN SARAN Penulis memberikan kesimpulan dan saran dari apa yang telah dibahas dalam bab-bab sebelumnya dan memberikan saransaran untuk pengembangan sistem yang lebih baik lagi. BAB II LANDASAN TEORI 77 Pada bab ini secara garis besar akan dijelaskan pengertian-pengertian dan konsep-konsep dasar yang akan digunakan dalam perancangan sistem yang dibuat dalam tugas akhir ini. 2.1 Konsep Sistem Suatu sistem dapat didefinisikan sebagai suatu kesatuan yang terdiri dari dua atau lebih komponen atau subsistem yang berinteraksi untuk mencapai tujuan. Adapun penulis juga memberikan teori lain mengenai pengertian sistem yang dituturkan oleh penulis lain yang mendefinisikan sistem adalah sekelompok elemen-elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan (Jeffrey L. Whitten, 2006 : 45). Sistem adalah kumpulan dari komponen atau elemen yang saling berhubungan satu dengan yang lainnya membentuk satu kesatuan untuk mencapai tujuan tertentu (Jogianto, 2005 : 34). Elemen tersebut bisa berupa organisasi, orang atau benda yang melakukan suatu pekerjaan. Masingmasing elemen melakukan pekerjaan yang lain, dimana pekerjaan tersebut merupakan tujuan bersama dari masing-masing elemen. Selain itu suatu sistem memiliki karakteristik-karakteristik yang patut diketahui yaitu : 1. Komponen-komponen sistem ( Components ) 78 Komponen-komponen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem yang mempunyai sifat-sifat dari sistem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. 2. Batas sistem ( Boundary ) Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luar. Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut. 3. Lingkungan luar sistem ( Environments ) Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sistem. 4. Penghubung sistem ( Interface ) Penghubung sistem merupakan media penghubung antara satu subsistem dengan subsistem yang lain untuk dapat berinteraksi membentuk satu kesatuan. 5. Masukan sistem ( Input ) Masukan sistem adalah energi yang dimasukkan ke dalam sistem yang berupa masukan perawatan (maintenance input) dan sinyal masukan (signal input). Maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat beroperasi. Signal input adalah energi yang diproses untuk didapatkan keluaran. 6. Keluaran sistem ( Output ) 79 Keluaran sistem adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. 7. Pengolah sistem ( Process ) Suatu sistem dapat mempunyai bagian pengolah atau sistem itu sendiri sebagai pengolahnya. Pengolah yang akan merubah masukan menjadi keluaran. 8. Sasaran sistem ( Objectives ) atau tujuan sistem ( Goal ) Suatu sistem harus mempunyai sasaran, karena sasaran sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya. 2.2 Konsep Dasar Informasi Informasi memiliki peranan yang sangat penting pada suatu organisasi ibarat udara yang kita hirup. Informasi adalah data yang telah diklarifikasi atau diolah atau diinterprestasi untuk digunakan dalam proses pengambilan keputusan. Sedangkan sumber dari informasi adalah data, data sendiri terdiri dari fakta-fakta dan angka-angka yang relatif tidak berarti bagi pemakai (Sutabri, 2004 : 23). Menurut Jogiyanto (2005 : 36) informasi yang baik memiliki kualitas-kualitas tertentu. Adapun kualitas-kualitas itu antara lain : 1. Akurat 80 Yang dimaksud berarti informasi harus bebas dari kesalahankesalahan dan tidak bias atau menyesatkan, akurat juga berarti informasi harus jelas mencerminkan maksudnya. 2. Tepat pada waktunya Berarti informasi yang datang pada penerima tidak boleh terlambat karena informasi yang sudah usang tidak mempnyai nilai lagi. 3. Relevan Berarti informasi tersebut mempunyai manfaat untuk pemakaiannya karena relevansi informasi untuk tiap-tiap orang antara satu dengan yang lainnya berbeda-beda. Selain itu informasi bisa bernilai jika manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. Kegunaan dari informasi adalah untuk mengurangi ketidakpastian didalam proses pengambilan keputusan tentang suatu keadaan. Akurat Tepat Waktu Relevan Informasi Berguna Gambar 2.1 Pilar – pilar Informasi yang berguna (Jogianto, 2005 : 38) 2.3 Konsep Dasar Sistem Informasi Seorang ahli memberikan definisi dari sistem informasi yaitu Sistem Informasi adalah sekelompok elemen-elemen yang terintegrasi dengan 81 maksud yang sama untuk mencapai suatu tujuan (Raymond Mcleod, Jr., 1995 : 13). Robert A. Leitch et al. (1983 : 6) mendefinisikan sistem informasi sebagai berikut : ”Sistem Informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan” Secara umum definisi dari Sistem Informasi adalah sekelompok elemen-elemen dalam suatu organisasi yang saling berintegrasi dengan menggunakan masukan, proses dan keluaran dengan maksud yang sama untuk mencapai suatu tujuan dan dapat digunakan untuk membantu pengambilan keputusan yang tepat (Jeffrey L. Whitten , 2006 : 45). Sistem informasi terdiri dari komponen-komponen yang saling berinteraksi satu dengan yang lainnya membentuk satu kesatuan untuk mencapai sasarannya. Adapun komponen-komponen sistem informasi menurut Jogianto (2005 : 42) meliputi : 1. Blok masukan (input block) 82 Merupakan input yang mewakili data yang masuk ke dalam sistem informasi. Input disini termasuk metode-metode dan media untuk menangkap data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar. 2. Blok model (model block) Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi data input dan data yang tersimpan di dasar data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang diinginkan. 3. Blok keluaran (output block) Produk dari sistem informasi keluaran yang merupakan informasi berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. 4. Blok teknologi (technology block) Teknologi merupakan “kotak alat” (tool-box) dari pekerjaan sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirim keluaran dan membantu pengendalian dari sistem keseluruhan. 5. Blok dasar data (database block) Dasar data merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di perangkat keras komputer 83 (hardware) dan digunakan perangkat lunak (software) untuk memanipulasinya. 6. Block kendali (controls block) Untuk upaya sistem informasi dapat berjalan sesuai dengan yang diinginkan, maka perlu diterapkan pengendalian-pengendalian didalamnya. 2.4 Metodologi Pengembangan Sistem Siklus Hidup Pengembangan Sistem atau yang biasa disebut System Development Life Cycle (SDLC) menurut Jogianto (2005 : 433) sebagai salah satu peneliti yang selanjutnya mengembangkan metode ini menerangkan bahwa SDLC merupakan suatu proses yang direkayasa secara logik untuk mengembangkan sistem dari tahap perencanaan sampai penerapan. Disebut siklus hidup karena sistem dapat diperbaharui sesuai dengan kebutuhan. Aktivitas dari siklus hidup ini disebut tahapan (fase). Metode SDLC merupakan metode pengembangan secara konvensional, istilah konvensional disini bukan berarti kuno, tetapi ke metode yang sudah ada sebelumnya. Metode yang baru merupakan metode alternatif dari metode SDLC, sehingga disebut juga metode – metode alternatif (Alternative Methods) (Jogianto, 2005 : 433). Adapun tahapan-tahapan dari SDLC adalah sebagai berikut: 84 Gambar 2.2 Tahapan System Development Life Cycle (Waterfall) (Shelly Cashman, 2001) 1. Perencanaan Sistem (System Planning) Tujuan dari tahap ini adalah membuat sistem permintaan (request), menjelaskan masalah-masalah atau keinginan perubahan dalam sebuah sistem informasi atau proses bisnis. Membuat persiapan penelitian (preliminary investigation) atau yang disebut studi kelayakan (Feasibility Study). 2. Analisis Sistem (System Analysis) Tahap ini bertujuan untuk memahami kebutuhan dari sistem/bisnis, dengan menggunakan teknik-teknik pengumpulan data. Membuat dokumen kebutuhan sistem (System Requirements Documents), model fisik (Physical Model) dan model logika (Logical Model) dari sistem yang baru. Pada tahap ini akan diuraikan mengenai: a. Profil Perusahaan 85 Profil perusahaan ini akan menguraikan tentang latar belakang, visi, misi, tujuan, struktur organisasi, tugas dan tanggung jawab masing-masing pegawai. b. Analisis Sistem Berjalan Analisis sistem berjalan akan menguraikan tentang analisa penyimpanan, dokumen, dan prosedur. c. Analisis Pemecahan Masalah Analisis pemecahan masalah akan menguraikan tentang beberapa usulan alternatif yang dapat membantu menyelesaikan permasalahan yang ada dalam sistem simpan pinjam. 3. Perancangan Sistem (System Design) Tahap ini bertujuan untuk membuat rincian rancangan sistem (System Design Specification), yaitu blue print dari sistem yang baru terdiri dari: a. Perancangan proses yang meliputi Diagram Konteks, DFD Zero, DFD Level 1 b. Perancangan basis data yang meliputi ERD, Normalisasi, dan Kamus Data. c. Perancangan Input dan Output yang meliputi form menu program. 4. Implementasi Sistem (System Implementation) 86 Tahap ini bertujuan untuk menulis kode program, menguji, mendokumentasikan, dan menginstall program. Membuat evaluasi sistem untuk menentukan apakah sistem beroperasi secara tepat. 5. Operasi dan Pendukung Sistem (System Operation and Support) Tahap ini bertujuan untuk memelihara dan meningkatkan kerja sistem, dengan memperbaiki kesalahan dan mengadaptasikan sistem dengan lingkungan. 2.5 Alat Perancangan Sistem Perancangan sistem adalah tahap dalam pengembangan sistem yang dilakukan setelah tahap analisis, dimana dalam tahap ini seorang analis akan merancang atau membentuk sistem tersebut. Berbagai alat yang digunakan oleh penulis dalam perancangan sistem diantaranya adalah : 1. Bagan Alir Dokumen (Document Flowchart) Bagan Alir dokumen (Document Flowchart) merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya (Jogiyanto: 2005). Bagan Alir dokumen (Document Flowchart) menggunakan simbol-simbol antara lain: a. Simbol dokumen yang menunjukkan dokumen input dan output baik untuk proses manual, mekanik atau komputer. 87 Gambar 2.3 : Simbol Dokumen b. Simbol kegiatan manual yang menunjukkan pekerjaan manual. Gambar 2.4 : Simbol Kegiatan Manual c. Simbol Simpanan Offline yang menunjukkan pengarsipan file. Gambar 2.5 : Simbol Simpanan Offline d. Simbol Proses yang menunjukkan kegiatan proses dari operasi program komputer. Gambar 2.6 : Simbol Proses e. Simbol Hardisk menunjukan input / output menggunakan hardisk. Gambar 2.7 : Simbol Hardisk f. Simbol Garis Alir yang menunjukkan arus dari proses. Gambar 2.8 : Simbol Garis Alir Lebih lanjut Bagan Alir dokumen digunakan terutama untuk alat bantu komunikasi dan dokumentasi. Untuk menggambarkan 88 suatu Bagan Alir dokumen yang baik, pedoman yang dapat diikuti adalah: 1). Digambar dari atas ke bawah dan mulai dari bagian kiri dari suatu halaman. 2). Kegiatan dalam Bagan Alir dokumen harus ditunjukkan dengan jelas. 3). Harus ditunjukkan dari mana kegiatan akan dimulai dan dimana akan berakhirnya. 4). Masing-masing kegiatan dalam Bagan Alir dokumen sebaiknya digunakan suatu kata yang mewakili suatu pekerjaan. 5). Masing-masing kegiatan dalam Bagan Alir dokumen harus dalam urutan yang semestinya. 6). Kegiatan yang terpotong akan disambung ke tempat lain harus ditunjukkan dengan jelas menggunakan simbol penghubung. 7). 2. Gunakan simbol-simbol Bagan Alir dokumen yang standar. DFD (Data Flow Diagram) Menurut Tata Sutabri (2004) Data Flow Diagram (DFD) adalah suatu network yang menggambarkan suatu sistem komputerisasi, manualisasi atau gabungan dari keduanya yang penggambarannya disusun dalam bentuk kumpulan komponen sistem yang saling berhubungan sesuai dengan aturan mainnya. 89 Menurut Tata Sutabri (2004) DFD mempunyai empat komponen yaitu: a. Terminator Terminator digunakan untuk menggambarkan elemen-elemen lingkungan yang menandai titik-titik berakhirnya sistem. Suatu terminator dapat berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan input atau menerima output dari sistem. Gambar 2.9 : Simbol Terminator b. Proses Proses adalah sesuatu yang mengubah input menjadi output. Proses dapat digambarkan dengan lingkaran, segi empat horizontal, atau segi empat tegak dengan sudut-sudut yang membulat. Tiap simbol proses diidentifikasikan dengan label. Simbol proses Atau Gambar 2.10 : Simbol Proses c. Arus Data 90 Arus data mengalir diantara proses, penyimpanan data dan elemen-elemen lingkungan. Tanda panah digunakan untuk menggambarkan arus itu. Arus data dapat menyebar (bercabang), memusat, ataupun dua arah. Gambar 2.11 : Simbol Arus Data d. Penyimpanan Data Dalam istilah DAD, penyimpanan data (data store) adalah suatu penampungan data. Penyimpanan data disimbolkan dengan sepasang garis horizontal paralel yang tertutup disalah satu ujungnya. Gambar 2.12 : Simbol Penyimpanan Data Lebih lanjut untuk memudahkan membaca DFD, maka diperlukan proses penggambaran yang disusun secara bertingkat dari atas ke bawah. Tingkatan tersebut adalah: 1). Diagram Konteks Diagram konteks merupakan level tertinggi dari DFD yang mewakili proses dari seluruh sistem hanya mengandung suatu proses kerja. Diagram konteks menggambarkan hubungan input/output antara sistem dengan lingkungan luarnya. 2). Diagram Zero 91 Diagram Zero Menggambarkan tahapan proses yang ada didalam diagram konteks, yang penjabarannya secara lebih terperinci. Kemudian diagram Zero juga menggambarkan kegiatan pokok atau proses utama dari sistem yang dihubungkan dengan entity, proses, arus data dan penyimpanan data. 3). Diagram Level 1 Diagram Level 1 akan menggambarkan rincian dari tiaptiap proses dari Diagram Zero. 3. ERD (Entity Relationship Diagram) Menurut Jeffrey L. Whitten (2006 : 45) ERD (Entity Relationship Diagram) digunakan untuk menggambarkan hubungan antara data store yang ada didalam diagram aliran data. Komponen – komponen yang ada digunakan didalam diagram hubungan data antara lain : a. Entitas Digambarkan dengan kotak segi empat dan digunakan untuk menunjukkan sekumpulan orang, tempat, objek, atau konsep dan sebagainya yang menunjukkan dimana data dicatat atau disimpan. b. Gambar 2.13: Simbol Entitas Hubungan atau 92 Digambarkan dengan kotak berbentuk diamon dengan garis yang menghubungkan ke entity yang terkait. Hubungan atau relasi menunjukkan abstraksi dari sekumpulan hubungan yang mengakibatkan antara entity yang berbeda. Gambar 2.14: Simbol Ralationship c. Atribut Menunjukkan karakteristik dari entitas atau sesuatu yang menjelaskan entitas atau hubungan. Dari setiap atribut – atribut entitas terdapat satu atribut yang dijadikan sebagai kunci ( key). Gambar 2.15: Simbol Atribut d. Cardinality Ada 3 dasar cardinality / hubungan yang terjadi yaitu : 1). Satu ke satu (one to one atau 1 : 1 ) Tingkat hubungan dinyatakan satu ke satu jika suatu kejadian pada entitas pertama hanya mempunyai satu hubungan dengan satu kejadian pada entitas kedua. Demikian juga sebaliknya, satu kejadian pada entitas yang kedua hanya bisa mempunyai satu hubungan dengan satu. kejadian pada entitas yang pertama. 1 1 93 Gambar 2.16: Simbol 1 to 1 2). Satu ke banyak (one to many atau 1 : M) Tingkat hubungan satu ke banyak (1: M) adalah sama dengan banyak ke satu (M : 1), tergantung dari arah mana hubungan tersebut dilihat. Untuk satu kejadian pada entitas yang pertama dapat mempunyai banyak hubungan dengan kejadian pada entitas yang kedua. Sebaliknya satu kejadian pada entitas yang kedua hanya bias mempunyai satu hubungan dengan satu kejadian pada entitas yang pertama. 1 m Gambar 2.17: Simbol 1 to m 3). Banyak ke banyak (Many to many atau M : N ) Tingkat hubungan banyak ke banyak terjadi jika tiap kejadian pada sebuah entitas akan mempunyai banyak hubungan dengan kejadian pada entitas lainnya. m n Gambar 2.18: Simbol m to n 2.6 Basis Data Basis data terdiri atas dua kata yaitu basis dan data. Basis dapat diartikan sebagai tempat atau gudang. Sedangkan data adalah fakta dunia 94 nyata yang mewakili suatu objek seperti manusia, barang, hewan, peristiwa, konsep, keadaan dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Menurut Fathansyah (2002 : 2) data base dapat didefinisikan dari beberapa sudut pandang : 1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan atau redudansi yang tidak perlu, untuk memenuhi berbagai kebutuhan. 3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik. Yang sangat penting dalam basis data adalah pengaturan dan pengelompokan data berdasarkan fungsi atau jenisnya. a. Operasi-operasi Basis Data Setiap basis data pada umumnya dibuat untuk mewakili sebuah data yang spesifik. Oleh karena itu, operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data, meliputi : 1). Menambah file baru ke sistem basis data. 2). Mengosongkan berkas. 3). Menyisipkan data ke suatu berkas. 95 4). Mengambil data yang ada pada suatu berkas. 5). Mengubah data pada suatu berkas. 6). Menyajikan suatu informasi yang diambil dari sejumlah berkas. b. Tujuan Basis Data Pemanfaatan basis data dapat dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti berikut: kecepatan dan kemudahan, efisiensi ruang penyimpanan (space), keakuratan, ketersediaan, kelengkapan, keamanan dan kebersamaan. c. Sistem Basis Data Menurut Fathansyah (2002 : 9) sistem basis data merupakan sistem yang terdiri atas kumpulan file (tabel) yang saling berhubungan (dalam sebuah basis data di sebuah sistem komputer) dan sekumpulan program (DBMS) yang memungkinkan beberapa pemakai dan/atau program lain untuk mengakses dan memanipulasi file-file tabel tersebut. 2.7 Normalisasi Menurut Fathansyah (2002 : 65), beberapa level yang biasa digunakan pada normalisasi adalah sebagai berikut: 96 1. Bentuk Normal Pertama (1NF) Bentuk normal pertama biasa dikenakan pada tabel yang belum ternormalisasi. Tabel yang belum ternormalisasi adalah tabel yang memiliki atribut yang berulang, atau definisi bentuk normal pertama adalah sebagai berikut: “Suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris”. 2. Bentuk Normal Kedua (2NF) Bentuk nomal kedua didefinisikan berdasarkan dependensi fungsional. Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika: a. Berada pada bentuk normal pertama. b. Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci primer. 3. Bentuk Normal Ketiga (3NF) Suatu relasi dikatakan dalam bentuk normal ketiga jika: a. Berada dalam bentuk normal kedua. b. Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer. 4. Bentuk Normal Boyce-Codd (BCNF) Suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika dan hanya jika semua penentu (determinan) adalah kunci kandidat 97 (atribut yang bersifat unik). BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF. 5. Dependensi Nilai Banyak dan Bentuk Normal Keempat (4NF) Dependensi nilai banyak merupakan terjemahan dari multivalued dependency (MVD). Dependensi ini dipakai pada bentuk normal keempat (4NF) untuk menyatakan hubungan satu ke banyak (One to many). 6. Dependensi Gabungan dan Bentuk Normal Kelima (5NF) Bentuk normal kelima (5NF), yang terkadang disebut PJ/NF (Projection Join/Normal Form), menggunakan acuan dependensi gabungan. Suatu relasi berada dalam 5NF jika dan hanya jika setiap dependensi gabungan dalam R tersirat oleh kunci kandidat relasi R. Secara praktis dapat dikatakan bahwa suatu relasi R barada dalam 5NF jika data yang ada padanya tak dapat lagi didekomposisi manjadi relasi-relasi yang lebih kecil dengan kunci kandidat relasirelasi yang lebih kecil ini tidak sama dengan kunci kandidat relasi. 2.8 Kamus Data Kamus data menurut Sutabri Tata (2004 : 170) adalah katalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem 98 informasi. Fungsi kamus data adalah untuk membantu pelaku sistem mengerti aplikasi secara detail, dan mengorganisasikan semua elemen data dalam sistem secara akurat, sehingga pemakai dan penganalisa sistem mempunyai dasar pengertian yang sama tentang masukan, keluaran, dan penyimpanan. Dengan menggunakan kamus data seorang analis sistem dapat mendefinisikan data yang mengalir didalamnya dengan lengkap. Notasi Arti = Terdiri dari, terbentuk dari, sama dengan + Dan (Concatenation) {} Interasi/pengulangan [] Pilih satu dari beberapa alternatif (pilihan), misal: [A|B|C|D] () Optional ** Komentar @ Identifier suatu data store | Pemisah dalam bentuk [] Alias ““ Nama lain untuk suatu data Harga diskrit Gambar 2.19: Simbol Kamus Data 2.9 Microsoft Visual Basic 6.0 1. Sekilas tentang Microsoft Visual Basic6.0 (Uus Rusmawan, 2005) Peranan pemrograman diperkenalkan lebih dari 45 tahun lalu 99 bersamaan dengan perangkat keras komputer. Saat ini bahasa pemrograman, seperti Visual Basic sangat berbeda dengan bahasa pemrograman beberapa tahun yang lalu. Sebelum ada Sistem Operasi Windows, bahasa pemrograman hanya berbasis teks dimana segala sesuatu harus diprogram. Saat ini dibutuhkan lebih dari kemampuan pemrograman tetapi juga kemampuan dalam desain grafis untuk aplikasi multimedia. Visual Basic hanyalah alat bantu, sebagai bahasa pemrograman Visual Basic dapat menghasilkan aplikasi yang dapat berinteraksi dengan sistem operasi Windows. Pada tahun 1950 era designer merancang bahasa Basic untuk para pemrograman pemula. Pada saat itu bahasa Basic lebih mudah dibandingkan bahasa Cobol (Common Business Oriented Language). Komputer tidak dapat memahami bahasa manusia seperti bahasa Indonesia atau bahasa Inggris karena terlalu umum dan memiliki maksud ganda. Manusia harus beradaptasi dengan mesin dan mempelajari bahasa yang dapat dimengerti komputer. Pemrograman dengan Visual Basic menggunakan umum dan phrase bahasa Inggris. Dalam bahasa pemrograman setiap statement yang dibuat tidak boleh memiliki arti ganda dalam konteks yang sama. Walaupun Visual Basic merupakan bahasa pemrograman yang cukup baik, tetapi Microsoft dalam pengembangan Visual Basic tetap berorientasi pada akar Visual Basic yaitu bahasa Basic. 100 Visual Basic merupakan aplikasi pengembangan yang lengkap. Visual Basic memiliki sarana lengkap untuk menulis, mengedit dan menguji, juga dapat untuk menulis dan mengcompile fasilitas help, control Active X dan aplikasi Internet. Visual Basic 6.0 dirilis dalam tiga edisi, yaitu edisi Standard, Profesional dan Enterprise. Edisi Standard biasa disebut edisi Learning. Edisi Standard adalah sebuah aplikasi yang lengkap untuk pemrograman, dilengkapi dengan tool seperti edisi yang lebih tinggi. Edisi Profesional memiliki lebih banyak tool pengembangan termasuk control Active X, dukungan untuk pengembangan aplikasi Internet, compiler untuk file Help, dan tool untuk mengakses database yang lebih baik. Edisi Enterprise menyediakan untuk pemrograman aplikasi Client Server yaitu tool untuk pengembangan apliksi komputasi jarak jauh dan distribusi aplikasi. 2. Keistimewaan Visual Basic 6.0 Beberapa keistimewaan utama dari Visual Basic, diantaranya yaitu: a. Memiliki compiler handal yang dapat menghasilkan file executable yang lebih cepat dan lebih efisien dari sebelumnya. b. Kemampuan membuat fasilitas internet yang lebih banyak. c. Visual Basic 6.0 memiliki beberapa versi atau edisi yang disesuaikan dengan kebutuhan pemakainya 3. Komponen Visual Basic 101 Adapun yang termasuk ke dalam komponen Visual Basic adalah sebagai berikut: a. Project Project adalah sekumpulan modul atau program aplikasi itu sendiri, dimana jika kita akan membuat program aplikasi baru, akan terdapat jendela proyek secara otomatis (form 1) yang berisi semua file yang dibutuhkan untuk menjalankan program aplikasi MS-Visual Basic 6.0 yang dibuat. b. Form Form adalah suatu obyek yang dipakai sebagai tempat bekerja program aplikasi. c. Toolbox Toolbox adalah kotak alat yang berisi icon-icon untuk memasukkan obyek tertentu ke dalam jendela Form. d. Properties Properties digunakan untuk menentukan pengaturan (setting) suatu obyek. Suatu obyek biasanya mempunyai beberapa properties yang dapat diatur langsung dari jendela properties atau lewat kode program. e. Kode Program 102 Kode Program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu objek dijalankan. Kode program ini akan mengontrol dan menentukan jalannya suatu obyek. f. Method Method adalah suatu set perintah seperti halnya fungsi dan prosedur, tetapi sudah tersedia di dalam suatu obyek. Suatu method dapat dipanggil dengan menyebut nama obyek diikuti tanda titik dan nama metodenya. g. Module Module dapat disejajarkan dengan form, tetapi tidak mengandung obyek dan bentuk standard. Module dapat berisi beberapa kode program atau prosedur yang dapat digunakan dalam program aplikasi. 4. Active X Data Objects Active X Data Objects (ADO) adalah model akses data yang digunakan untuk berinteraksi dengan database. ADO sama dengan pendahulunya, Data Access Objects (DAO) namun dengan perbedaan bahwa ADO telah dioptimasi untuk penggunaan database malalui internet dan intranet. 2.10 Microsoft Access 2003 103 A. Mengenal Database Access 2003 Microsoft Access 2003 yang disingkat menjadi Access 2003 merupakan salah satu program database (Database) yang memberikan fasilitas lengkap. Dengan menggunakan Microsoft Access 2003 kita dapat merancang , membuat dan mengolah Database dengan mudah. Pada Microsoft Access 2003 kita dapat mengelola seluruh data yang kita miliki kedalam sebuah file database . Database pada Access 2003 dapat terdiri atas beberapa tables, query, form, report, page, macro, module, field, dan record yang semuanya saling berhubungan atau terkait. a. Tables Merupakan kumpulan data yang merupakan komponen utama dari sebuah Database yang terdiri dari baris dan kolom. b. Queries Queries digunakan untuk mencari dan menampilkan data yang memenuhi syarat tertentu dari suatu tabel atau lebih. c. Form Form digunakan untuk menampilkan data, mengisi / menginput data dan mengubah data yang ada dalam tabel. d. Report 104 Report digunakan untuk menampilkan laporan hasil analisis data. e. Pages Pages digunakan untuk membuat halaman web berupa data Access. f. Macros Macros digunakan untuk mengotomisasi perintah-perintah yang sering kita gunakan dalam mengolah data modules. Modules digunakan untuk perancangan berbagai modul aplikasi pengolahan database untuk tingkat lanjut sesuai dengan kebutuhan kita. g. Field Merupakan tempat dimana data atau informasi dalam kelompok yang sama atau sejenis dimasukan. Field pada umumnya tersimpan dalam bentuk kolom secara vertical pada table. h. Records Merupakan kumpulan isi data dari beberapa field yang dikelompokan menjadi satu dalam tabel yang dinyatakan dalam baris. 2.11 Konsep Dasar Koperasi 105 Menurut Arifinal Chaniago (http://id.wikipedia.org/wiki/Koperasi /1706/2007) , dari segi etimologi koperasi berasal dari bahasa Inggris yaitu kata co dan operation atau cooperation, yaitu mengandung arti kerja sama untuk mencapai tujuan. Sedangkan dari segi terminologi, koperasi ialah suatu perkumpulan atau organisasi yang beranggotakan orang-orang atau badan hukum yang bekerja sama dengan penuh kesadaran untuk meningkatkan kesejahteraan anggota atas dasar sukarela secara kekeluargaan. Koperasi juga diartikan sebagai suatu perkumpulan orangorang atau badan-badan (persekutuan sosial) yang memberikan kebebasan masuk dan keluar sebagai anggota (sukarela), dengan bekerja sama secara kekeluargaan menjalankan usaha, untuk mempertinggi kesejahteraan jasmaniah para anggotanya. Dalam kamus bahasa Indonesia koperasi diartikan dengan perserikatan yang bertujuan memenuhi keperluan para anggotanya dengan cara menjual barang keperluan sehari-hari dengan harga murah (tidak bermaksud mencari untung). Koperasi merupakan inspirasi yang dibangun untuk menolong dan memperbaiki taraf kehidupan masyarakat. Oleh karena itu, selain menekankan unsur bekerja sama dan demokrasi (tidak mementingkan kepentingan diri sendiri), koperasi merupakan wadah bagi golongan lemah. 106 Masalah unsur demokrasi, kekeluargaan dan sebagai media bantu untuk golongan ekonomi lemah ini dinyatakan dengan tegas dalam Undang-Undang Republik Indonesia nomor 25 tahun 1992 pasal 1. Disebutkan bahwa koperasi adalah badan usaha yang beranggotakan orang seorang atau badan hukum koperasi dengan melandaskan kegiatannya berdasarkan prinsip koperasi sekaligus sebagai gerakan ekonomi rakyat (media bantu dan perbaikan ekonomi) yang berdasarkan atas asas kekeluargaan.1 Undang-Undang ini merupakan hasil persemaian dari Bab III pasal 3 Undang-Undang Koperasi No.14 Tahun 1965, yang berbunyi: “Koperasi adalah organisasi ekonomi dan alat revolusi yang berfungsi sebagai tempat persemaian insan masyarakat serta sebagai wahana menuju sosialisme Indonesia berdasarkan Pancasila”,2 yakni mewujudkan kemakmuran bagi seluruh rakyat Indonesia. 1. Prinsip Koperasi Seluruh Koperasi di Indonesia wajib menerapkan dan melaksanakan prinsip prinsip koperasi, sebagai berikut: a. keanggotaan bersifat sukarela dan terbuka b. pengelolaan dilakukan secara demokratis c. pembagian sisa hasil usaha dilakukan secara adil sebanding dengan besarnya jasa usaha masing-masing anggota d. pemberian balas jasa yang terbatas terhadap modal e. kemandirian f. pendidikan perkoperasian 107 g. 2. kerja sama antar koperasi. Bentuk dan Kedudukan Koperasi terdiri dari dua bentuk, yaitu Koperasi Primer dan Koperasi Sekunder. a. Koperasi Primer adalah koperasi yang beranggotakan orang seorang, yang dibentuk oleh sekurang-kurangnya 20 (duapuluh) orang. b. Koperasi Sekunder adalah koperasi yang beranggotakan BadanBadan c. Hukum Koperasi, yang dibentuk oleh sekurang-kurangnya 3 (tiga) Koperasi yang telah berbadan hukum. d. Pembentukan Koperasi (Primer dan Sekunder) dilakukan dengan Akta pendirian yang memuat Anggaran Dasar. e. Koperasi mempunyai tempat kedudukan dalam wilayah negara Republik Indonesia. f. Koperasi memperoleh status badan hukum setelah akta pendiriannya disahkan oleh pemerintah. g. Di Indonesia hanya ada 2 (dua) badan usaha yang diakui kedudukannya sebagai badan hukum, yaitu Koperasi dan Perseroan Terbatas (PT). Oleh karena itu kedudukan/status hukum Koperasi sama dengan Perseroan Terbatas. 3. Jenis Koperasi 108 Peraturan Pemerintah No.60 Tahun 1959 tentang Perkembangan Gerakan Koperasi (pasal 2) menyatakan tentang penjenisan koperasi. Dalam (pasal 4) disebutkan bahwa jenis-jenis koperasi dapat didirikan asalkan sesuai dengan Undang-Undang Koperasi dan Peraturan Pemerintah. Secara garis besar jenis-jenis koperasi dapat dibagi menjadi lima golongan, yaitu: a. Koperasi Konsumsi Koperasi Konsumsi adalah koperasi yang anggota-anggotanya terdiri dari tiap-tiap orang yang mempunyai kepentingan langsung dalam lapangan konsumsi. b. Koperasi Produksi Koperasi Produksi adalah koperasi yang bergerak dalam bidang kegiatan ekonomi pembuatan dan penjualan barang-barang, baik yang dilakukan oleh koperasi sebagai organisasi maupun orang-orang anggota koperasi. Koperasi Produksi anggotanya terdiri dari orang-orang yang mampu menghasilkan suatu barang atau jasa. c. Koperasi Jasa Koperasi Jasa adalah koperasi yang bergerak di bidang penyediaan jasa tertentu bagi para anggota maupun masyarakat umum. d. Koperasi Serba Guna (Koperasi Unit Desa) 109 Koperasi Serba Guna atau KUD dimaksudkan untuk meningkatkan produktifitas dan kehidupan rakyat di daerah pedesaan. Satu koperasi biasanya terdiri dari beberapa desa atau mungkin satu kecamatan jika potensi wilayah kecamatan itu terlalu kecil. Fungsi KUD yaitu melayani perkreditan, penyediaan dan penyaluran barang kebutuhan hidup sehari-hari, pengolahan dan pemasaran hasil karya anggota, pelayanan jasa, dan melakukan kegiatan ekonomi lainnya. e. Koperasi Kredit (Simpan Pinjam) Koperasi simpan pinjam adalah “koperasi yang didirikan untuk memberikan kesempatan pada para anggotanya untuk memperoleh pinjaman dengan persyaratan yang mudah dan bunga uang yang ringan”. Usaha Koperasi Simpan Pinjam pada dasarnya adalah untuk memenuhi kebutuhan akan uang dari para anggotanya. Karena Koperasi itu pada dasarnya adalah usaha yang harus dapat memenuhi kebutuhannya dari kemampuannya sendiri, maka untuk dapat memperoleh uang, harus melakukan penyimpanan-penyimpanan terlebih dahulu. Adapun jenis-jenis simpanan di koperasi adalah : 110 1). Simpanan Pokok Simpanan yang harus disetor pada saat pegawai atau anggota menjadi anggota koperasi. Simpanan ini tidak dapat diambil selama masih menjadi anggota koperasi tersebut. 2). Simpanan Wajib Adalah simpanan yang jumlahnya sudah ditentukan dan harus disetor oleh semua anggota koperasi. Simpanan ini dapat diambil dengan cara yang di atur dalam anggaran dasar dan anggaran rumah tangga koperasi. 3). Simpanan Sukarela Simpanan sukarela adalah simpanan uang yang sifatnya sukerala bagi tiap anggota besarnya tidak ditentukan dan simpanan ini dapat diterima dari orang yang bukan anggota koperasi, simpanan ini dapat diambil sewaktu-waktu. 2.12 Evaluasi Terhadap Penelitian Sistem Informasi Yang terdahulu 1. Pendahuluan Penulis akan melakukan evaluasi terhadap pengembangan sistem informasi simpan pinjam yang pernah dibuat sebelumnya. Evaluasi dilakukan pengembangan sebagai sistem acuan informasi atau simpan pembanding pinjam yang dalam akan dikembangkan. Batasan yang penulis lakukan dalam mengevaluasi penelitian – penelitian terdahulu terfokus pada penelitian sistem 111 informasi simpan pinjam. Penulis akan menjelaskan mengenai tujuan sistem yang dibuat, metodologi yang digunakan, hasil dari sistem yang dibuat, dan kelemahan sistem yang dihasilkan. 2. Sistem Informasi Simpan Pinjam Achmad Taufiq (2006) dengan judul ”Sistem informasi Simpan Pinjam pada Koperasi Bahtera Arung Persada” Mahasiswa STIMIK KUWERA. Tujuan dari penelitian ini adalah merancang sistem informasi suatu proses simpan pinjam guna memenuhi kebutuhan dan kepuasan bagi anggotanya. Metodologi yang digunakan adalah metode pengumpulan data dan metode pemrograman terstruktur. Hasil dari penelitian ini yaitu menghasilkan sistem informasi simpan pinjam untuk suatu transaksi dan pembuatan laporan. Adapun kelemahan dari penelitian yang dibuat adalah : • Tidak dijelaskan konsep basis data secara jelas • Tidak adanya konsep normalisasi • Kurang lengkapnya kualifikasi data form yang dihasilkan Adapun kelebihan dari penelitian ini adalah • Kemudahan penulis untuk mendapatkan informasi mengenai perusahaan tersebut tanpa adanya keterbatasan waktu dan informasi secara terperinci. 112 Ina Husniatisarie Lubis (2005) dengan judul “Perancangan Komputer Sistem Simpan Pinjam Pada Koperasi Pegawai Negeri Kecamatan Sawangan” Mahasiswi AMIK BSI. Tujuan dari penelitian ini adalah merancang sistem informasi suatu proses simpan pinjam guna meningkatkan pelayanan kepada para anggotanya. Metodologi yang digunakan adalah metode pengumpulan data dan metode pemrograman terstruktur. Hasil dari penelitian ini yaitu menghasilkan sistem informasi simpan pinjam untuk koperasi pegawai negeri dalam melakukan transaksi dan pembuatan laporan. Adapun kelemahan dari penelitian yang dibuat adalah : • Belum terintegrasinya bagian yang terkait menyebabkan proses simpan pinjam terhambat. • Tidak adanya aplikasi keamanan yang dibuat seperti user name dan password security untuk memasuki sistem tersebut. Adapun kelebihan dari penelitian yang dibuat adalah • Efisiensi tempat, waktu dan biaya didalam melakukan penelitian karena perusahaan tersebut berlokasi tidak jauh dari tempat tinggal penulis 3. Kesimpulan 113 Setelah penulis melakukan evalusai dari sistem informasi simpan pinjam yang pernah dibuat. Penulis mengambil kesimpulan bahwa terdapat kelemahan dari sistem – sistem tersebut seperti tidak adanya login user untuk keamanan data, dan belum terintegrasinya bagian – bagian yang terkait dengan sistem informasi simpan pinjam. Untuk itu penulis melakukan beberapa penyempurnaan pada pengembangan sistem yang dilakukan mengacu pada hasil evaluasi diatas yaitu dengan membuatkan login user untuk keamanan data, dan mengintegrasikan bagian – bagian yang terkait dengan sistem informasi simpan pinjam. Penulis tetap mempertahankan metode pengembangan sistem dengan metode siklus hidup pengembangan sistem (System Dvelopment Life Cycle / SDLC). 114 BAB III METODOLOGI PENELITIAN 3.1 Metode pengumpulan Data Dalam penyelesaian skripsi ini penulis memperoleh data yang diinginkan melalui metode pengumpulan data yang terdiri dari : 1. Metode Observasi Observasi adalah sebuah metode pengumpulan informasi dengan cara pengamatan atau peninjauan langsung terhadap objek penelitian. Sementara beberapa pakar ada yang menyebutnya sebagai research. Penelitian Lapangan (field research), yaitu mengumpulkan dan menelaah data yang diperoleh dengan cara meninjau langsung penggunaan sistem. Pelaksanaan penelitian sebagai berikut : a. Waktu Waktu pelaksanaan adalah hari kerja, yaitu : senin s.d Jumat, Pukul 08.00-16.00 selama bulan Nopember sampai bulan Desember 2006. b. Tempat Tempat yang menjadi obyek penelitian adalah : Nama Koperasi : Koperasi Berkah Mandiri 24 Alamat Koperasi : Jl. Persatuan No.04 RT 04/04 Cinere Limo Depok 16514. 2. Metode Wawancara (Interview) 115 Wawancara merupakan sebuah tindakan pengumpulan informasi dengan cara mengajukan sejumlah pertanyaan secara lisan dan dijawab secara lisan pula. Dalam hal ini penulis mengadakan tanya jawab dengan nara sumber yang mengerti dengan sistem informasi. Salahsatu nara sumber yaitu Bapak. Maryadi selaku manager Koperasi Berkah Mandiri 24 3. Metode Studi Kepustakaan. Merupakan pengumpulan data yang diperoleh dari perpustakaan baik berupa artikel, buku-buku, surat kabar, majalah, jurnal, bulletin, maupun sumber informasi lain yang ada kaitannya dengan permasalahan yang akan dibahas. 3.2 Metode Pengembangan Sistem. Siklus Hidup Pengembangan Sistem atau yang biasa disebut System Development Life Cycle (SDLC) menurut Jogianto (2005 : 433) sebagai salah satu peneliti yang selanjutnya mengembangkan metode ini menerangkan bahwa System Development Life Cycle (SDLC) merupakan suatu proses yang direkayasa secara logik untuk mengembangkan sistem dari tahap perencanaan sampai penerapan. Disebut siklus hidup karena sistem dapat diperbaharui sesuai dengan kebutuhan. Aktivitas dari siklus hidup ini disebut tahapan (fase). Alasan penulis memilih metode ini karena kemudahan dalam proses penelitian. Setiap tahap dari penelitian dapat terkontrol secara sistematis. 116 1. Perencanaan Sistem (System Planning) Tujuan dari tahap ini adalah membuat sistem permintaan (request), menjelaskan masalah-masalah atau keinginan perubahan dalam sebuah sistem informasi atau proses bisnis. Membuat persiapan penelitian (preliminary investigation) atau yang disebut studi kelayakan (Feasibility Study). 2. Analisis Sistem (System Analysis) Analisis sistem dapat diartikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan- hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikan. Pada tahap ini akan diuraikan mengenai : a. Profil Koperasi Berkah Mandiri 24 Profil perusahaan ini akan menguraikan tentang latar belakang, landasan, azas, tujuan, struktur organisasi koperasi, tugas dan tanggung jawab masing-masing pegawai. b. Analisis sistem berjalan akan menguraikan tentang analisa penyimpanan, dokumen, dan prosedur. c. Analisa pemecahan masalah. 117 Analisis pemecahan masalah akan menguraikan tentang beberapa usulan alternatif yang dapat membantu menyelesaikan permasalahan yang ada dalam sistem informasi simpan pinjam. 3. Perancangan (Design) Tahap perancangan sistem merupakan tahap setelah analisis dari siklus pengembangan sistem dan juga merupakan suatu pendefinisian dari kebutuhan – kebutuhan fungsional dan persiapan untuk rancang bangun implementasi serta menggambarkan bagaimana suatu sistem dibentuk yang dapat berupa penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesalahan yang utuh dan berfungsi termasuk menyangkut mengkonfigurasikan dari komponenkomponen perangkat lunak dan perangkat keras dari suatu sistem. Pada Tahap ini penulis merancang sistem dengan menggunakan beberapa tahapan : a. Perancangan Sistem Menggambarkan aliran data yang ada pada sistem informasi simpan pinjam pada Koperasi Berkah Mandiri 24 menggunakan tools DFD. b. Perancangan Basis Data 118 Merancang kebutuhan basis data dengan menggunakan tools ERD dan membentuk ke dalam tabel – tabel normal agar tercipta basis data yang tidak redudancy. c. Perancangan Masukan (Input). Merancang form masukan berdasarkan dokumen masukan yang berjalan pada sistem informasi simpan pinjam pada Koperasi Berkah Mandiri 24. d. Perancangan Keluaran (Output) Merancang form keluaran berdasarkan dokumen keluaran yang berjalan pada sistem informasi simpan pinjam pada Koperasi Berkah Mandiri 24. 4. Implementasi (Implementation) Tahap ini bertujuan untuk menulis kode program, menguji, mendokumentasikan, dan menginstall program. Membuat evaluasi sistem untuk menentukan apakah sistem beroperasi secara tepat. 5. Operasi dan Pendukung Sistem (System Operation and Support) Tahap ini bertujuan untuk memelihara dan meningkatkan kerja sistem, dengan memperbaiki kesalahan dan mengadaptasikan sistem dengan lingkungan. 119 BAB IV HASIL DAN PEMBAHASAN 4.1 Tinjauan Organisasi A. Sejarah Singkat Berdirinya Koperasi 120 Dari pengalaman mengadakan arisan bulanan di wilayah RT 02 RW 04 Cinere yang dimulai sejak tahun 1996, tercermin adanya halhal yang patut digaris bawahi yaitu terdapatnya rasa solidaritas dan kegotong royongan yang tinggi diantara anggota arisan. Atas dasar itulah Ketua arisan Bpk. H. Muhrim pada tahun 1998 menghimbau untuk mendirikan koperasi dengan nama Koperasi Berkah yang anggotanya berasal dari anggota arisan. Kemudian pada tahun 2001 nama koperasi tersebut diubah menjadi Koperasi Berkah Mandiri 24 yang menandakan bahwa anggota koperasi pertama kali beranggotakan dari anggota arisan RT 02 RW 04 dengan Ketua Koperasi yang baru yaitu Bpk. Sugiman dengan badan hukum Nomor. 158/30/BH/PAD/2001 sekaligus disahkan Anggaran Dasar (AD) dan Anggaran Rumah Tangga (ART) yang sekaligus menandai operasionalisasi Koperasi. B. Landasan, Azas dan Tujuan Koperasi Berkah Mandiri 24 didirikan berlandaskan Pancasila dan UUD 1945, dengan azas kekeluargaan dan kegotong royongan. Koperasi Berkah Mandiri 24 bertujuan memajukan kesejahteraan anggota pada khususnya dan masyarakat pada umumnya dengan memberikan pelayanan simpan pinjam yang lebih cepat dan efisien serta ikut membangun tatanan perekonomian nasional dalam rangka mewujudkan masyarakat yang maju, adil dan makmur. Adapun 121 sasaran yang ingin dicapai dari Koperasi Berkah Mandiri 24 adalah mengembangkan diri menjadi koperasi yang lebih besar, maju dan mandiri. C. Struktur Organisasi Koperasi Berkah Mandiri 24 memiliki struktur organisasi atau suatu bagan struktur yang menjelaskan jabatan yang terdapat didalamnya, tugas dan fungsi dari masing-masing bagian yang saling terkait satu dengan yang lainnya itu adalah sebagai berikut : Gambar 4.1: Struktur Organisasi Koperasi Berkah Mandiri 24 D. Tugas dan Tanggung Jawab 1. Rapat Anggota Tahunan Rapat ini diadakan sedikitnya satu kali dalam setahun yang disebut dengan Rapat Anggota Tahunan (RAT). Didalam rapat anggota ini menetapkan : 122 a. Anggaran dasar dan anggaran rumah tangga (AD/ART). b. Pemilihan, pengangkatan, pemberhentian pengurus dan pengawas. c. Rencana kerja, rencana anggaran pendapatan dan belanja koperasi serta pengesahan laporan keuangan. d. Pengesahan atas pertanggungjawaban pengurus dalam pelaksanaan tugasnya. 2. Pengawas a. Melakukan pengawasan terhadap pelaksanaan kebijakan dan pengelolaan. b. Membuat laporan tentang hasil pengawasan dan hasilnya disampaikan kepada pengurus. c. Melakukan pemeriksaan atau audit sekurang-kurangnya 3 (tiga) bulan sekali mengenai hal keuangan, surat-surat berharga, persediaan barang, serta kebijaksanaan pembukuan mengenai kebenaran pengurus dalam menyelenggarakan organisasi dan koperasi. 3. Ketua Koperasi a. Bertanggung jawab sepenuhnya terhadap jalannya roda usaha koperasi. b. Memimpin rapat-rapat (rapat rutin, rapat pleno, rapat khusus). 123 c. Memberikan laporan pertanggungjawaban dalam RAT. d. Mengesahkan surat-surat yang meliputi kegiatan organisasi baik kedalam ataupun keluar lingkungan koperasi. e. Memberikan keputusan terakhir dalam kepengurusan setelah memperhatikan usul, saran dan lainnya. f. Menghadiri undangan atau pertemuan dengan instansi lainnya yang masih ada hubungannya dengan koperasi. g. Memimpin, mengkoordinasi dan mengawasi pelaksanaan tugas-tugas pengurus dan karyawan lainnya. 4. Sekretaris. a. Menyelenggarakan dan memelihara buku-buku organisasi. b. Menyelanggarakan dan memelihara semua arsip atau dokumen (surat keluar/masuk, rapat khusus, keputusan rapat, dan lainnya). c. Memelihara tata kerja, merencanakan peraturan-peraturan khusus serta ketentuan lainnya. d. Menyusun laporan organisasi untuk kepentingan rapat anggota maupun pengurus sesuai dengan ketentuan yang berlaku. e. Bersama ketua koperasi mengadakan penyuluhan kepada para anggota. 124 f. Bertanggung jaawab kepada ketua dalam bidang administrasi atau tata usaha organisasi kepada dan dari ketua. g. Bersama ketua mensahkan surat atau keputusan rapat, notulen serta surat lain yang masih ada berhubungan dengan roda usaha koperasi. h. Bekerjasama dengan pengurus lainnya demi kelancaran dan peningkatan usaha koperasi. i. Membuat notulen rapat. 5. Bendahara a. Mengajukan pembukaan rekening ke Bank yang telah disepakati dan disetujui para pengurus b. Memeriksa dan memonitor keadaan keuangan Koperasi Berkah Mandiri 24 secara berkala. c. Bersama-sama Manager menyetujui dan mengesahkan segala permohonan pinjaman anggota berdasarkan persetujuan pengurus d. Mencatat dan memonitor arus kas (Cash Flow) e. Bersama pengurus yang lain menyiapkan laporan keuangan dalam rangka Rapat Anggota Tahunan (RAT) 6. Manager a. Bertanggung jawab mengenai operasional karyawan kepada pengurus secara rutin. 125 b. Memeriksa dan meneliti setiap pinjaman yang diajukan anggota. c. Bersama Bendahara menabung atau mengambil dana koperasi yang ada di Bank. d. Menghadiri atau mengikuti rapat yang dilaksanakan oleh pemerintah atau swasta apabila Pengurus berhalangan. e. Bersama Bendahara menyetujui setiap pinjaman oleh anggota. f. Membuka peluang kerjasama dengan mitra usaha lain. g. Memeriksa dan menyiapkan peralatan kantor yang sifatnya urgent(segera). 7. Bagian Kasir a. Bertugas dalam kegiatan administrasi dan menyampaikan persetujuan pinjaman ke anggota. b. Menerima pembayaran simpanan dan pinjaman anggota dan pembayaran-pembayaran lain yang berkaitan dengan usahausaha koperasi. c. Membuat bukti pembayaran dan pengeluaran uang yang telah memdapat persetujuan dari pengurus. 8. Unit Simpan Pinjam a. Melayani pendaftaran Anggota dan pengajuan pinjaman. b. Melayani dan mengetahui anggota yang melakukan transaksi simpan pinjam. 126 c. Mengawasi pelaksanaan kegiatan unit simpan pinjam. d. Membuat laporan simpanan, pinjaman dan angsuran harian dan bulanan. 9. Anggota a. Berkewajiban membayar simpanan pokok, wajib dan dapat menambah saldo simpanan sukarelanya. b. Berkewajiban membayar angsuran pinjaman sebagaimana yang telah disepakati pada saat melakukan pinjaman c. Berhak mengikuti rapat anggota tahunan koperasi 4.2 Rincian kegiatan proses yang sedang berjalan Koperasi Berkah Mandiri 24 1. Proses Pendaftaran Anggota Baru Setiap calon anggota yang mendaftar menjadi anggota Koperasi Berkah Mandiri 24 diwajibkan mengisi formulir pendaftaran yang diberikan unit simpan pinjam serta membayar simpanan pokok 127 sebesar 25 ribu rupiah ke bagian kasir. Setelah proses administrasi selesai setiap anggota baru akan mendapatkan kartu anggota serta buku simpanan. 2. Proses Pembayaran Simpanan Anggota yang telah resmi menjadi anggota koperasi setiap bulan wajib membayar simpanan wajib sebesar 5 ribu rupiah seperti yang telah disepakati pada saat pendaftaran menjadi anggota dan anggota dapat menambahkan saldo simpanannya dengan mengisi simpanan sukarela yang besarnya simpanan tergantung oleh anggota itu sendiri dengan datang langsung ke bagian kasir Koperasi. 3. Proses Penarikan Simpanan Anggota dapat melakukan penarikan simpanan sukarela yang besarnya penarikan tergantung dari sisa saldo simpanan sukarela dengan datang langsung ke bagian kasir Koperasi. 4. Proses Pengajuan Pinjaman Semua anggota yang ingin mengajukan pinjaman terlebih dahulu mengisi formulir permohonan pinjaman secara tertulis yang kemudian diserahkan ke unit simpan pinjam untuk mendapatkan persetujuan dan pengesahan dari pengurus. Setelah permohonan disetujui maka anggota mengisi Surat Pengakuan Hutang rangkap dua dan anggota akan mendapatkan uang serta Kartu Pinjaman sesuai dengan jumlah pinjaman yang telah ditentukan. Didalam melakukan 128 pinjaman, anggota harus memenuhi kriteria-kriteria dan persyaratan yang telah ditentukan oleh pengurus koperasi yaitu : a. Telah menjadi anggota koperasi selama minimal 3 bulan. b. Mempunyai saldo simpanan sukarela sebesar 70 % dari jumlah yang akan dipinjam. c. Jangka waktu pembayaran 100 hari (4 bulan), jenis pembayaran nya yaitu harian d. Pinjaman akan dikenakan bunga 5% dari angsuran pokok. e. Jika terjadi penunggakkan maka anggota akan dikenakan denda sebesar 5% dari sisa angsuran yang belum dibayar. 5. Proses Pembayaran Angsuran Setiap Peminjam melakukan pembayaran dengan datang langsung ke koperasi berkah mandiri 24 dengan melakukan pembayaran langsung ke kasir atau melalui kolektor yang setiap harinya bertugas dilapangan untuk menerima pembayaran angsuran dimana kolektor akan mencatatkan transaksi di kartu pinjaman dan juga menyalinnya dalam buku rekap pinjaman. 6. Proses Pembuatan Laporan Dalam pembuatan laporan, bagian unit simpan pinjam membuat rekap simpanan, pinjaman dan angsuran yang diserahkan kepada manager dan ketua. 129 4.3 Perencanaan Suatu perencanaan merupakan suatu proses yang pertama kali dilakukan dalam proses pengembangan sistem. Pada proses pembuatan yang akan dilakukan adalah analisis sistem pengolahan data simpan pinjam. Tahap perencanaan mempunyai tujuan untuk memberikan suatu sasaran pada pembuatan seperti apa dan bagaimana rancangan tampilan yang akan dihasilkan serta keinginan-keinginan lain yang akan diterapkan pada analisis yang akan dibuat. Pertimbangan pembuatan rancangan sistem pengolahan data simpan pinjam muncul setelah melihat kondisi yang ada, dimana sistem pengolahan data simpan pinjam masih terdapat kekurangan di dalamnya. Hal tersebut dapat menghambat kinerja koperasi dan dengan direncanakannya pembuatan pengolahan data simpan pinjam diharapkan akan dapat membantu dan mendukung seluruh kegiatan koperasi. 4.4 Kelemahan Sistem yang Sedang Berjalan Dari hasil analisis yang penulis peroleh dari Koperasi Berkah Mandiri 24, penulis menguraikan beberapa kelemahan pada sistem yang sedang berjalan diantaranya: 130 1. Pada unit simpan pinjam pada saat pendaftaran anggota baru sudah terdapat komputer akan tetapi hanya sekedar untuk penginputan nama anggota secara global saja, tidak ada database yang bisa mengatur input data dengan baik dan terperinci. Sehingga dalam menginput data anggota yang baru dan mencari data anggota yang sudah terdaftar, masih dilakukan secara manual, dimana petugas harus memberikan formulir kepada pasien untuk diisi dan kemudian disimpan oleh petugas, kemudian data anggota tersebut disimpan di dalam lemari arsip sehingga ketika petugas melakukan pencarian data anggota, petugas harus mencari data dari sekian banyak data yang ada, yang telah disimpan didalam lemari arsip. 2. Pada bagian kasir, ketika anggota hendak melakukan pembayaran atau penarikan simpanan dan pembayaran angsuran, petugas harus menghitung dan menjumlahkan secara manual, dimana kasir harus menulis jumlah yang harus dibayar oleh anggota ketika akan melakukan pembayaran. 3. Dari segi laporan yag diperlukan oleh manager dan ketua koperasi harus menunggu terlebih dahulu untuk meminta laporan mengenai data anggota yang melakukan simpanan dan pinjaman, karena untuk mendapatkan informasi simpan pinjam yang ada dan yang dibutuhkan harus dicari pada tumpukan dokumen yang jumlahnya cukup banyak. 131 Dari beberapa kelemahan sistem yang ada, dapat menghambat kinerja para pegawai koperasi, seperti halnya pembuatan laporan simpanan, pinjaman dan angsuran setiap hari secara manual dan mungkin akan bertambah lagi hambatan-hambatan lain mengingat aktivitas koperasi semakin hari semakin meningkat. Berikut ini adalah Bagan Alir Dokumen (Dokument Flowchart) sistem berjalan : Gambar 4.2 : Bagan Alir Dokumen (Dokument Flowchart) Sistem Berjalan 4.5 Kelebihan Sistem yang Sedang Berjalan Disamping kelemahan sistem yang ada, sistem yang sedang berjalan terdapat beberapa kelebihan diantaranya adalah : 132 1. Tidak memerlukan biaya yang mahal untuk pembelian program aplikasi yang semestinya dipesan atau didesain. 2. Tidak memerlukan biaya tambahan untuk pemrograman, karena membutuhkan programmer yang terlatih. 4.6 Pemecahan Masalah Berdasarkan atas permasalahan yang ada dan hasil analisis, maka diperlukan solusi pemecahan masalah terhadap permasalahan tersebut. Solusi pemecahannya yaitu dengan memberikan sistem aplikasi simpan pinjam. Dengan adanya pengembangan sistem ini, diharapkan dapat membantu kelancaran kinerja koperasi serta dapat memberikan solusi atas kendala-kendala yang dihadapi selama ini. Adapun sistem aplikasi yang ingin penulis ajukan yaitu dengan menggunakan program Visual Basic 6.0 disertai penggunaan basis data Microsoft Access . Salah satu alasan penulis menggunakan Visual Basic 6.0 ini karena Microsoft Visual Basic 6.0 dapat memanfaatkan kemampuan Microsoft Windows secara optimal, kemampuannya dapat dipakai untuk merancang program aplikasi yang berpenampilan seperti program aplikasi lainnya berbasis Microsoft Windows, Microsoft Visual Basic 6.0 dapat memanfaatkan hampir semua kemudahan dan kecanggihan yang disediakan sistem operasi Microsoft Windows, dan program Visual Basic 133 dapat menghasilkan program akhir yang berekstensi .EXE, yang sifatnya program dapat langsung dijalankan. Penulis menggunakan Ms. Access sebagai basis datanya, pertimbangan penulis memakai Ms. Access, karena Ms. Access dapat berjalan pada kebutuhan hardware yang kecil sehingga dapat mempercepat akses ke basis datanya. Spesifikasi hardware yang dibutuhkan untuk menggunakan Ms. VB 6.0 sebagai berikut: 1. Komputer IBM PC / kompatibel dengan minimal Pentium I / prosesor yang lebih tinggi. 2. Monitor VGA / layar yang memiliki resolusi yang lebih tinggi. 3. Minimal RAM 16 MB 4. Windows 95 atau up to date / Windows NT 4.0. 5. CD Drive untuk penginstalan. 6. Hardisk dengan spesifikasi: a. Edisi Standart, instalasi pilihan 48 MB, instalasi penuh 80 MB. b. Edisi Profesional, instalasi pilihan 48 MB, instalasi penuh 80 MB. c. Edisi Enterprise, instalasi pilihan 128 MB, instalasi 147 MB. d. Optional Instalasi dengan MSDN (Help): 67 MB, internet explorer 4.X: 66 MB. 4.7 Hasil Analisis Sistem yang Sedang Berjalan 134 Berdasarkan hasil ananlisis terhadap sistem Informasi Simpan Pinjam yang sedang berjalan pada Koperasi Berkah Mandiri 24, ada beberapa masalah yang dihadapi diantaranya : ketika unit simpan pinjam melakukan pencarian data anggota, petugas harus mencari data dari sekian banyak data yang ada, yang telah disimpan didalam lemari arsip, kasir harus menghitung dan menjumlahkan secara manual, dimana kasir harus menulis jumlah yang harus dibayar oleh anggota ketika akan melakukan pembayaran atau penarikan simpanan dan pembayaran angsuran, manager dan ketua koperasi harus menunggu terlebih dahulu untuk meminta laporan mengenai data anggota yang melakukan simpanan dan pinjaman, karena untuk mendapatkan informasi simpan pinjam yang ada dan yang dibutuhkan harus dicari pada tumpukan dokumen yang jumlahnya cukup banyak 4.8 Usulan Rancangan Sistem Informasi Simpan Pinjam 135 Dalam membahas sistem yang berjalan, yang terdiri dari prosedur dalam melakukan berbagai kegiatan dan dalam penyusunan laporan pada sistem simpan pinjam pada Koperasi Berkah Mandiri 24, penulis mengelompokkan prosedur tersebut dalam enam proses yang akan dijelaskan sebagai berikut : 1. Proses Pendaftaran Anggota Baru Unit simpan pinjam menginput data anggota dan membuatkan kartu anggota lalu menyerahkannya ke kasir, kemudian kasir membuatkan kartu simpanan dan bukti pembayaran simpanan pokok sebesar 25 ribu. Setelah proses administrasi selesai anggota mendapatkan kartu anggota, kartu simpanan dan bukti pembayaran simpanan 2. Proses Pembayaran Simpanan Anggota melakukan pembayaran simpanan wajib atau sukarela ke bagian kasir dengan membawa kartu anggota atau kartu simpanan lalu kasir akan membuatkan bukti pembayaran simpanan dan menyerahkannya kepada anggota. 3. Proses Penarikan Simpanan Anggota melakukan penarikan simpanan ke bagian kasir dengan membawa kartu anggota atau kartu simpanan lalu kasir akan membuatkan bukti pembayaran simpanan dan menyerahkannya kepada anggota. 4. Proses Pengajuan Pinjaman 136 Anggota mengajukan pinjaman ke unit simpan pinjam dengan membawa kartu anggota lalu sistem secara otomatis akan mendeteksi apakah anggota tersebut telah memenuhi syarat untuk melakukan pinjaman sesui dengan ketentuan yang berlaku, jika telah memenuhi syarat maka anggota akan mendapatkan kartu pinjaman dan dana pinjaman. 5. Proses Pembayaran Angsuran Anggota melakukan pembayaran angsuran ke unit simpan pinjam dengan membawa kartu pinjaman lalu anggota akan mendapatkan bukti pembayaran angsuran. 6. Proses Penyesuaian Kebijakan dan Pembuatan Laporan Manager dan ketua melakukan kebijakan terhadap prosedur sistem simpan pinjam dan pembuatan laporan, baik itu harian maupun bulanan. 4.9 Bagan Alir Dokumen (Dokument Flowchart) Sistem Usulan 137 Berikut ini adalah hasil analisa sistem usulan dengan menggunakan diagram arus dokumen : Gambar 4.3 : Bagan Alir Dokumen (Dokument Flowchart) Usulan 4.10 Perancangan Sistem Beberapa tahapan yang dilakukan penulis dalam merancang proses sistem adalah: a. Diagram Konteks Sistem Informasi Simpan Pinjam b. Diagram Zero Sistem Informasi Simpan Pinjam c. Diagram Level l Proses 1.0 Pendaftaran Anggota 138 d. Diagram Level 1 Proses 2.0 Pembayaran Simpanan e. Diagram Level 1 Proses 3.0 Penarikan Simpanan f. Diagram Level 1 Proses 4.0 Pengajuan Pinjaman g. iagram Level 1 Proses 5.0 Pembayaran Angsuran h. Diagram Level 1 Proses 6.0 Kebijakan dan Laporan a. Diagram Konteks Sistem Informasi Simpan Pinjam. Gambar 4.4 : Diagram Konteks Sistem Informasi Simpan Pinjam b. Diagram Zero Sistem Informasi Simpan Pinjam 139 Gambar 4.5 : Dagram Zero Sistem Informasi Simpan Pinjam c. Diagram Level 1 Proses 1.0 Pendaftaran Anggota Gambar 4.6 : Diagram Level 1 Proses 1.0 Pendaftaran Anggota d. Diagram Level 1 Proses 2.0 Pembayaran Simpanan 140 Data Simpanan Simpanan 2. Pembayaran Simpanan Anggota 2.1* Entri Pembayaran Simpanan Data Anggota Anggota 3. Bukti Pembayaran Simpanan Kasir - Bukti Pembayaran Simpanan 2.2* Cetak & Serahkan Bukti Pembayaran Simpanan Data Anggota Data Simpanan - Bukti Pembayaran Simpanan Gambar 4.7 : Diagram Level 1 Proses 2.0 Pembayaran Simpanan e. Diagram Level 1 Proses 3.0 Penarikan Simpanan Data Simpanan Simpanan Anggota 4. Penarikan Simpanan Kasir 3.1* Entri Penarikan Simpanan Data Anggota Anggota 5. Bukti Penarikan Simpanan - Bukti Penarikan Simpanan 3.2* Cetak & Serahkan Bukti Penarikan Simpanan Data Anggota Data Simpanan - Bukti Penarikan Simpanan Gambar 4.8 : Diagram Level 1 Proses 3.0 Penarikan Simpanan f. Diagram Level 1 Proses 4.0 Pengajuan Pinjaman 141 Gambar 4.9 : Diagram Level 1 Proses 4.0 Pengajuan Pinjaman g. Diagram Detail Proses 5.0 Pembayaran Angsuran Gambar 4.10 : Diagram Level 1 Proses 5.0 Pembayaran Angsuran h. Diagram Level 1 Proses 6.0 Kebijakan dan Laporan 142 Gambar 4.11 : Diagram Level 1 Proses 6.0 Kebijakan dan Laporan 4.11 Rancangan Basis Data Berdasarkan hasil analisa sistem yang berjalan pada Koperasi Berkah Mandiri 24 yang dilakukan pada bab sebelumnya, maka pada tahapan ini adalah merancang sistem usulan agar dapat memenuhi kebutuhan pemakai sistem di masa yang akan datang. Rancangan basis data dilakukan setelah mendapatkan gambaran kebutuhan sistem dari sudut pandang user. Tahapan awal dalam perancangan basis data ini adalah membuat pemodelan data konseptual yang akan dijadikan landasan untuk basis data, setelah didapat model basis data, maka pemodelan data konseptual tersebut diwujudkan dalam 143 hubungan antar tabel menggunakan asosiasi sehingga didapatkannya model data relational. Berikut ini akan dijelaskan langkah-langkah yang dilakukan dalam rancangan basis data : 1. Entity Relationship Diagram(ERD) Digunakan untuk menyatakan jenis data dari hubungan yang ada diantara jenis data yang terdapat dalam sistem. Tujuan pemodelan ERD adalah menunjukan hubungan antara simpanan data dan menghilangkan kerangkapan data serta membuat model yang dapat dimengerti dengan baik oleh pemakai maupun personel komputer (PC). Gambar 4.12: Entity Relationship Diagram (ERD) 144 2. Transformasi ERD ke Database Relational Gambar 4.13 : Transformasi ERD Ke Database Relational 3. Database Relational Gambar 4.14: Data Base Relational 145 4. Normalisasi Normalisasi yaitu suatu file yang terdiri dari beberapa grup elemen yang berulang-ulang dan perlu diorganisasikan kembali. Proses untuk mengorganisasikan file dengan menghilangkan grup elemen yang berulang. Normalisasi dilakukan untuk mengindari kemungkinan terdapatnya anomali pada saat penggunaan basis data , sehingga relasi yang diperoleh dari analisa entitas sebaiknya dinormalkan terlebih dahulu. Berikut ini adalah tahapan normalisasi dari tabel yang terdapat pada file koperasi.mdb : 146 a. Bentuk Tidak Normal id_anggota nama alamat telepon pekerjaan id_simpanan tgl_buat id_anggota no_bukti_setor id_transaksi tgl_setor id_simpanan no_bukti_setor id_transaksi jumlah_setor keterangan saldo jumlah_tarik pokok wajib sukarela id_transaksi nama_transaksi jenis_transaksi id_pinjaman id_anggota tgl_pinjam besar_pinjam bunga jumlah_pinjam lama_pinjam tgl_realisasi tgl_jatuh jumlah_angsuran jumlah_bayar sisa_bayar id_angsuran id_pinjaman tgl_angsuran denda Gambar 4.15 : Bentuk Tidak Normal 147 b. Bentuk Normal ke Satu ( 1 NF ) Keterangan : * Candidate Key = Calon Kunci Gambar 4.16 : Bentuk Normal ke Satu ( 1 NF ) id_anggota* nama alamat telepon pekerjaan id_simpanan* tgl_buat id_anggota no_bukti_setor* id_transaksi tgl_setor id_simpanan no_bukti_setor id_transaksi jumlah_setor keterangan saldo jumlah_tarik pokok wajib sukarela id_transaksi* nama_transaksi jenis_transaksi id_pinjaman* id_anggota tgl_pinjam besar_pinjam bunga jumlah_pinjam lama_pinjam tgl_realisasi tgl_jatuh jumlah_angsuran jumlah_bayar sisa_bayar id_angsuran* id_pinjaman tgl_angsuran denda 148 c. Bentuk Normal ke Dua ( 2 NF ) . Tabel Anggota Tabel Setoran Tabel Simpanan id_anggota * nama id_simpanan* alamat tgl_buat telepon id_anggota** no_bukti_setor* id_simpanan** id_transaksi** tgl_setor pekerjaan jumlah_setor Tabel Jenis Transaksi keterangan saldo Tabel Pinjaman id_transaksi* id_anggota** nama_transaksi id_pinjaman* jenis_transaksi jumlah_tarik pokok wajib tgl_pinjam besar_pinjam bunga jumlah_pinjam lama_pinjam tgl_realisasi sukarela Tabel Angsuran id_angsuran* id_pinjaman** tgl_angsuran denda tgl_jatuh jumlah_angsuran jumlah_bayar sisa_bayar Keterangan : * : Primary Key = Kunci Utama ** : Foreign Key = Kunci Tamu Gambar 4.17 : Bentuk Normal ke Dua ( 2 NF ) 149 d. Bentuk Normal ke Tiga ( 3 NF ) Tabel Anggota Tabel Simpanan id_simpanan* id_anggota * nama tgl_buat id_anggota** alamat Tabel Setoran id_simpanan** no_bukti_setor* tgl_setor telepon pekerjaan Tabel Pinjaman id_anggota** Tabel Jenis Transaksi id_transaksi* no_bukti_setor* nama_transaksi id_transaksi* jenis_transaksi jumlah_setor keterangan id_pinjaman* tgl_pinjam Tabel Detil Setoran Tabel Angsuran saldo besar_pinjam id_angsuran* jumlah_tarik bunga id_pinjaman** pokok jumlah_pinjam tgl_angsuran wajib lama_pinjam denda sukarela tgl_realisasi tgl_jatuh jumlah_angsuran Keterangan : jumlah_bayar sisa bayar * : Primary Key = Kunci Utama ** : Foreign Key = Kunci Tamu Gambar 4.18 : Bentuk Normal ke Tiga ( 3 NF ) 150 5. Kamus Data Notasi kamus data yang dibuat berdasarkan rancangan program yang diusulkan. Anggota = *File anggota* {@id_anggota + nama + alamat + telepon + pekerjaan} Simpanan = *File simpanan* {@id_simpanan + tgl_buat + id_anggota} Setoran =*File setoran* {@no_bukti_setor + tgl_setor + id_simpanan} Detil Setoran =*File detil setoran* {@no_bukti_setor + @id_transaksi + jumlah_setor + keterangan + saldo + jumlah_tarik + pokok + wajib + sukarela} =*File jenis transaksi* {@id_transaksi + nama_transaksi + jenis_transaksi} Jenis Transaksi Pinjaman =*File pinjaman* {@id_pinjaman + id_anggota + tgl_pinjam + besar_pinjam + bunga + jumlah_pinjam + lama_pinjam + tgl_realisasi + tgl_jatuh + jumlah angsuran + jumlah_bayar + sisa_bayar} Angsuran =*File angsuran* {@id_angsuran + id_pinjaman + tgl_angsuran + denda} Gambar 4.19 : Notasi Kamus Data 151 6. Struktur Data Berdasarkan normalisasi yang telah dilakukan, maka dihasilkan basis data yang terstruktur. Adapun basis data yang dihasilkan adalah sebagai berikut: 1. File Anggota No 1 2 3 4 5 Nama File : anggota.dbf Primary Key : id_anggota Foreign Key :- Tipe File : Tabel Master Field Name id_anggota* nama alamat telepon pekerjaan Type Text Text Text Text Text Field Size 5 40 50 15 50 Keterangan Identitas Anggota Nama Anggota Alamat Anggota Telepon Anggota Pekerjaan Gambar 4.20 : Struktur Tabel Anggota 2. File Simpanan Nama File : simpanan.dbf Primary Key : id_simpanan Foreign Key :- Tipe File : Tabel Transaksi No Field Name 1 id_simpanan* 2 tgl_buat 3 id_anggota Type Text Date/Time Text Field Size 10 Short 5 Keterangan Identitas Simpanan Tanggal Buat Identitas Anggota Gambar 4.21 : Struktur Tabel Simpanan 152 3. File Setoran Nama File : setoran.dbf Primary Key : no_bukti_setor Foreign Key : id_simpanan Tipe File : Tabel Transaksi No Field Name 1 no_bukti_setor* 2 tgl_setor 3 id_simpanan* Type Text Date/Time Text Field Size 8 Short 10 Keterangan Nomor Bukti Setor Tanggal Setor Identitas Simpanan Gambar 4.22 : Struktur Tabel Setoran 4. File Detil Setoran No 1 2 3 4 5 6 7 8 9 Nama File : detilsetoran.dbf Primary Key : no_bukti_setor & id_transaksi Foreign Key :- Tipe File : Tabel Transaksi Field Name no_bukti_setor* id_transaksi* jumlah_setor keterangan saldo jumlah_tarik Pokok wajib sukarela Type Text Text Double Text Double Double Double Double Double Field Size 8 3 8 20 8 8 8 8 8 Keterangan Nomor Bukti Setor Identitas Transaksi Jumlah Setor Keterangan Jumlah Saldo Jumlah Tarik Simpanan Pokok Simpanan Wajib Simpanan Sukarela Gambar 4.23 : Struktur Tabel Detil Setoran 153 5. File Jenis Transaksi Nama File : jenistransaksi.dbf Primary Key : id_transaksi Foreign Key :- Tipe File : Tabel Master No Field Name 1 id_transaksi* 2 nama_transaksi 3 jenis_transaksi Type Text Text Text Field Size 3 30 10 Keterangan Identitas Transaksi Nama Transaksi Jenis Transaksi Gambar 4.24 : Struktur Tabel Jenis Transaksi 6. File Pinjaman Nama File : pinjaman.dbf Primary Key : id_pinjaman Foreign Key : id_anggota Tipe File : Tabel Transaksi No 1 2 3 4 5 6 7 8 9 Field Name id_pinjaman* id_anggota** tgl_pinjam besar_pinjam bunga jumlah_pinjam lama_pinjam tgl_realisasi tgl_jatuh 10 11 12 jumlah_angsuran jumlah_bayar sisa_bayar Type Text Text Date/Time Double Double Double Double Date/Time Date/Time Field Size 8 5 Short 8 8 8 8 Short Short Double Double Double 8 8 8 Keterangan Identitas Pinjaman Identitas Anggota Tanggal Pinjam Besar Pinjaman Bunga Pinjaman Jumlah Pinjaman Lama Pinjaman Tanggal Realisasi Tanggal Jatuh Tempo Jumlah Angsuran Jumlah Bayar Sisa Bayar Gambar 4.25 : Struktur Tabel Pinjaman 154 7. File Angsuran No 1 2 3 4 Nama File : angsuran.dbf Primary Key : id_angsuran Foreign Key : id_pinjaman Tipe File : Tabel Transaksi Field Name id_angsuran* id_pinjaman** tgl_angsuran denda Type Text Text Date/Time Double Field Size 8 8 Short 8 Keterangan Identitas Angsuran Identitas Pinjaman Tanggal Angsuran Denda Angsuran Gambar 4.26 : Struktur Tabel Angsuran 4.12 Rancangan Menu Program Gambar 4.27 : Rancangan Menu Program Sistem Informasi Simpan Pinjam 155 Keterangan Penulis melakukan hak akses untuk masing masing bagian, diantara dijelaskan sebagai berikut : 1. Bagian Unit Simpan Pinjam (Administrator) dapat mengakses semua menu, diantaranya : a. Menu Anggota dan Menu Jenis Transaksi b. Menu Kartu Simpanan, Menu Transaksi Simpanan, Menu Pinjaman dan Menu Pembayaran Angsuran c. Menu Laporan Simpanan, Pinjaman dan Laporan Angsuran d. Menu Tambah/ Hapus User, Ganti Password dan Menu Logg Off 2. Bagian Kasir dapat mengakses : a. Menu Kartu Simpanan dan Transaksi Simpanan b. Menu Pembayaran Simpanan c. Menu Ganti Password dan Logg Off 3. Bagian Manager dan Ketua dapat mengakses : a. Menu Laporan Simpanan, Pinjaman dan Laporan Angsuran b. Menu Ganti Password dan Logg Off 156 86 IV.12. Rancangan Menu Program Gambar 4.27 : Rancangan Menu Program Sistem Informasi Simpan Pinjam 119 4.13 Rancangan Masukan (Input Design) 1. Layar Menu Login 3. Layar Menu Anggota Master Gambar 4.28 : Gambar Rancangan Layar Login 2. Layar Menu Utama Gambar 4.30 : Rancangan Layar Master Anggota 4. Layar Menu Master Cari Anggota Gambar 4.29 : Gambar Rancangan Layar Menu Utama 120 6. Layar Menu Simpan Pinjam Kartu Simpanan Gambar 4.31 : Rancangan Layar Master Cari Anggota 5. Layar Menu Transaksi Master Gambar 4.33 : Rancangan Layar Simpan Pinjam Kartu Simpanan 7. Layar Menu Simpan Pinjam Transaksi Simpanan Gambar 4.32 : Rancangan Layar Master Transaksi 121 9. Layar Menu Simpan Pinjam Pembayaran Angsuran Gambar 4.34 : Rancangan Layar Simpan Pinjam Transaksi Simpanan 8. Layar Menu Simpan Pinjam Pinjaman Gambar 4.36 : Rancangan Layar Menu Simpan Pinjam Pembayaran Angsuran 10. Layar Menu Laporan Laporan Simpanan Periode Gambar 4.35 : Layar Menu Simpan Pinjam Pinjaman 122 Gambar 4.37 : Rancangan Layar Menu Laporan Laporan Simpanan Periode Gambar 4.38 : Rancangan Layar Menu Laporan Laporan Pinjaman Periode 12. Layar Menu Laporan Laporan Angsuran Periode 11. Layar Menu Laporan Laporan Pinjaman Periode Gambar 4.39 : Rancangan Menu Laporan Laporan Angsuran Periode 123 15. Layar Menu Utility LogOff 13. Layar Menu Tambah User Utility Gambar 4.42 : Rancangan Layar Menu Utility LogOff 16. Layar Menu Keluar Gambar 4.43 : Rancangan Layar Menu Keluar Gambar 4.40 : Rancangan Layar Menu Utility Tambah User 4.14 14. Layar Menu Utility Ganti Password Rancangan (Output Design) 1. Layar Anggota Gambar 4.41 : Rancangan Layar Menu Utility Ganti Password Keluaran Cetak Kartu 124 Gambar 4.44 : Rancangan Layar Cetak Kartu Anggota 4. Layar Cetak Transaksi Simpanan 2. Layar Form Cetak Kartu Simpanan Gambar 4.47 : Rancangan Layar Cetak Transaksi Simpanan Gambar 4.45 : Rancangan Layar 5. Layar Form Cetak Form Cetak Kartu Simpanan Pinjaman 3. Layar Form Cetak Transaksi Simpanan Gambar 4.48 : Rancangan Layar Form Cetak Pinjaman Gambar 4.46 : Rancangan Layar Form Cetak Transaksi Simpanan 6. Layar Cetak Pinjaman 125 Gambar 4.51 : Rancangan Gambar 4.49 : Rancangan Layar Simpanan Cetak Pinjaman 7. Layar Cetak Layar Form Cetak Laporan Bukti Pembayaran Angsuran 9. Layar Cetak Laporan Simpanan Periode Gambar 4.52 : Rancangan Gambar 4.50 : Rancangan Layar Cetak Bukti Pembayaran Angsuran 8. Layar Laporan Periode Form Cetak Simpanan Layar Cetak Laporan Simpanan Periode 10. Layar Laporan Periode Form Cetak Pinjaman 126 12. Layar Form Laporan Cetak Angsuran Periode Gambar 4.53 : Rancangan Layar Form Cetak Laporan Pinjaman Periode 11. Layar Laporan Form Cetak Pinjaman Periode Gambar 4.55 : Rancangan Layar Form Cetak Laporan Angsuran Periode 13. Layar Cetak Laporan Angsuran Periode Gambar 4.54 : Rancangan Layar Cetak Laporan Pinjaman Periode Gambar 4.56 : Rancangan Layar Cetak Laporan Angsuran Periode 127 sarana pendukung yang diperlukan agar sistem dapat berjalan sesuai yang diharapkan. Pada tahap ini penulis menentukan spesifikasi komputer yang dibutuhkan oleh sistem dan juga proses 4.15 pengujian Implementasi Setelah tahap analisa dan perancangan selesai, maka tahap ini dilakukan implementasi hasil rancangan kedalam baris-baris program (lihat kode lampiran) yang dapat dimengerti oleh komputer. gunakan adalah Visual basic Microsoft informasi Microsoft 6.0 Access dan 2003 sebagai databasenya. Selain itu juga membahas sarana- sistem pelayanan kesehatan pada klinik dokter keluarga suradita yang dirancang penulis agar dapat dilihat seluruh kemampuan dari sistem tersebut. 1. Spesifikasi Komputer Perangkat Bahasa pemrograman yang penulis program komputer digunakan sebagai alat pengolahan data yang perangkat meliputi keras dan pendukungnya yaitu perangkat yang 128 menjalankan aplikasinya. b. Perangkat Spesifikasi minimal dari (Software) perangkat keras dan perangkat lunak yang Lunak 1) MS Office 2003 2) MS Windows XP Profesional diusulkan adalah : a. Perangkat Keras (Hardware) 3) MS Visual Studio c. Brainware 1) Petugas Unit berkapasitas 1.50 GB Simpan Pinjam 2) Memory sebagai 1) Prosessor yang yang RAM Administrator berkapasitas sebesar 128 MB Koperasi 3) Hard Disk yang Mandiri 24. berkapasitas sebesar 2) Petugas Kasir di Bagian 40 GB 4) Monitor pada SVGA Berkah 15” 5) 1.44 MB Kasir Koperasi Mandiri 24. Disk Drive Berkah 2. Pengujian Sebelum program 6) Mouse, Keyboard 7) CD ROM 52 x diterapkan, maka program 8) Printer harus 9) Topologi Star kesalahan. Dan program bebas dari 129 harus ditest menemukan yang untuk kesalahan mungkin dapat informasi simpan pinjam ini meliputi pengujian terhadap seluruh menu terjadi seperti kesalahan program dalam bahasa, kesalahan sesuai dengan apa yang waktu diharapkan oleh user dan proses, kesalahan logika program. Dengan pengetesan program dan yang telah pihak manajemen. 3. Pelatihan (Training) untuk Pemilihan telah terhadap karyawan yang sudah dibuat. Pengujian sistem dilakukan apakah setelah ada merupakan prioritas utama. Personil yang akan menduduki pengetesan program. Dan posisi yang baru perlu dilakukan untuk dilatih untuk hal-hal yang kekompakan belum dipahami. Adapun memeriksa antar komponen sistem beberapa yang diimplementasi dan yang untuk mencari kesalahan untuk serta pelatihan sebagai berikut : kelemahan yang mungkin masih terjadi. Pengujian yang dilakukan pada program sistem pendekatan dapat dilakukan melakukan a. Pelatihan tutorial Pendekatan pelatihan ini ditujukan 130 untuk personil secara instruksi tentang apa- tatap apa muka. yang harus Pendekatan ini baik dikerjakannya dan untuk personil yang bagaimana membutuhkan mengerjakannya pada bimbingan langsung. situasi harus yang sebenarnya. b. Simulasi Pendekatan 4. Pemeliharaan Sistem pelatihan ini dilakukan dengan membuat suatu Lientz dan Swason (2003) simulasi yang pemeliharaan Menurut bukanlah mewakili lingkungan perbaikan sistem, namun kerja personil. aktivitas c. Latihan langsung di adalah menambah daya fungsi (peningkatan) ke pekerjaan program. Pendekatan pelatihan ini dilakukan dengan meletakkan pemeliharaan personil Pemeliharaan sistem ini sendiri biasanya dilakukan oleh langsung pada posisi seorang pekerjaannya memahami sistem simpan dan diberi penjelasan serta pinjam ini. admin yang 131 penulis mencoba membuat kesimpulan seperti berikut ini : 1. Dengan sistem informasi simpan pinjam yang dibuat dapat mengelola data simpanan, data pinjaman dan data angsuran sehingga membantu dalam peningkatan kinerja dalam memberikan pelayanan simpan pinjam yang baik kepada masyarakat atau anggota. 2. Laporan-laporan diperlukan yang Manager dan Ketua sudah dapat dicetak berdasarkan periode tertentu agar memudahkan BAB V dan PENUTUP mempercepat dalam mengambil keputusan. 3. Beban tenaga yang ada 5.1 Kesimpulan Dari pembahasan yang sudah diuraikan maka menjadi lebih ringan karena pengarsipan dan 132 pengolahan data masuk yang Berkah Mandiri 24 terutama telah sistem informasi simpan pinjam untuk pengolahan data terkomputerisasi antara lain adalah 1. Dalam memasukkan data perlu diperhatikan ketelitian guna mengurangi kesalahan-kesalahan mungkin terjadi yang dalam melakukan pekerjaan. 2. Sumber daya manusia atau tenaga 5.2 Saran Dari hasil kesimpulan kerja dalam pelaksana mengoperasikan yang penulis utarakan diatas sistem komputer ini lebih program sistem informasi ditingkatkan simpan pinjam memiliki dikembangkan kemampuan potensi yang sangat besar untuk dalam merawat sistem dan dikembangkan menjadi lebih pemeliharaan baik dan lebih lengkap lagi kerasnya secara berkala. oleh karena itu maka penulis 3. Diperlukan back-up data, di mencoba memberikan saran dalam dan sistem yang kiranya dapat berguna mencegah bagi tidak diinginkan. Koperasi perangkat hal-hal untuk yang 133 4. Koordinasi dan kerja sama turut menentukan agar sistem ini bisa berjalan dengan baik Technology-Thomson Learning, Singapore 2001 Jeffrey L. Whitten, Lonnie D. Bentley and Kevin C. Dittman, System Analysis and Design Methods 6 Edition, Mcgrow Hill, Singapore 2006 Jogiyanto, Sistem Teknologi Informasi Edisi Ke II, Andi Yogyakarta, 2005 DAFTAR PUSTAKA Madcoms, Adi Kurniadi, Yogyakarta Seri Panduan Pemrograman Pemrograman Microsoft Visual Microsoft Visual Basic, Elex Basic 6.0, Andi Yogyakarta, Media Yogyakarta 2001 Komputindo, Jakarta Madcoms, 1999 Budi Permana, 36 Jam Belajar Komputer Microsoft Access Program Terintegrasi Hutang Aplikasi Inventory Piutang & dengan 2000, Elex Media Komputindo, Microsoft Visual Basic 6.0 dan Jakarta 1999 Crystal Diane Zak, Programming With Microsoft Visual Basic 6.0 Enhanced Edition, Course Report, Andi Yogyakarta, Yogyakarta 2005 Ridwan Sanjaya, Pemrograman Database Visual Basic 6.0 dan 134 Access 2000/XP/2003 Tingkat Lanjut, Elex Pengantar Berkah Mandiri 24? Media Komputindo, Jakarta 2006 Suryadi, 1. Bagaimana Profil Koperasi Basis 2. Bagaimana Struktur Organisasi Koperasi Berkah Data, Mandiri 24? Penerbit Gunadarma, Jakarta Hasil Wawancara : 1996 Dari wawancara I ini dapat Soetojo Soeparlan, Sistem Informasi Akuntansi, Gunadarma, Penerbit Jakarta 1996 diketahui tentang sejarah dan perkembangan dari Koperasi Berkah Mandiri 24 serta struktur organisasi yang ada dalam WAWANCARA Koperasi Berkah Mandiri 24. Dengan diketahuinya sejarah Wawancara I dan struktur organisasi Responden : Maryadi tersebut dapat memudahkan penulis Penanya : Firmansyah dalam mempelajari alur dokumen Tanggal : 24 Nopember 2006 yang ada pada Koperasi Berkah Tema : Mandiri 24 Profil Koperasi Berkah Mandiri 24 Tujuan : Mengetahui tentang sejarah dan struktur organisasi perusahaan Poin Utama Wawancara : 135 4. Laporan apa sajakah yang Wawancara II Responden : Maryadi diperlukan Penanya : Firmansyah simpan pinjam? Tanggal : 08 Desember 2006 Tema : Prosedur Tujuan sistem Hasil Wawancara : Berdasarkan Sistem pertanyaan Berjalan pada yang pertanyaan diajukan – oleh : Mengetahui tentang penulis pada wawancara II, penulis prosedur sistem dapat berjalan dalam bagaimana prosedur sistem berjalan simpan pinjam pada Koperasi secara jelas dalam simpan pinjam. Dalam Berkah penjelasannya dijelaskan juga tentang kekurangan Mandiri 24 dari Poin Utama Wawancara : 1. Bagaimana mengetahui prosedur yang sistem yang sudah diantaranya ada belum simpan terkomputerisasinya sistem simpan pinjam di Koperasi Berkah pinjam yang sedang berjalan. Selain Mandiri 24? itu juga belum tersedianya suatu ada 2. Apa pada saja sistem kendala yang sistem yang dapat menyediakan dihadapi pada sistem simpan laporan – laporan pada transaksi pinjam yang ada? simpan pinjam secara sistematis. 3. Dokumen Apa saja yang Semua bentuk laporan yang tersedia digunakan dalam prosedur dalam proses simpan pinjam masih sistem simpan pinjam? dikerjakan secara manual. 136 Pada wawancara II ini juga dijelaskan tentang dokumen – dokumen yang dipakai dalam sistem simpan pinjam. Dengan dokumen ini membantu penulis dalam membuat DFD, ERD, Struktur Tabel hingga rancangan basis data yang akan dikembangkan. Dijelaskan pula laporan yang dibutuhkan sistem simpan pinjam tentang 1. Tampilan Form Menu Login dalam tersebut. Laporan – laporan tersebut adalah laporan Simpanan, laporan Pinjaman, dan laporan Angsuran. Laporan tersebut disajikan dalam periode harian dan bulanan. 2. Tampilan Form Menu Utama 137 3. Tampilan Form Master Anggota 5. Tampilan Form Menu Master Transaksi 4. Tampilan Form Cari Anggota 138 6. Tampilan Form Simpan Pinjam Simpanan Menu Kartu 9. Tampilan Form Menu Simpan Pinjam Pinjaman 7. Tampilan Form Menu Simpan Pinjam Transaksi Simpanan 10. Tampilan Form Menu Simpan Pinjam Pembayaran Angsuran 139 12. Tampilan Form Menu Ganti Password 11. Tampilan Form Menu Utility Tambah User 140 1. Tampilan Cetak Kartu Anggota 3. Tampilan Cetak Transaksi Simpanan Simpanan 2. Tampilan Cetak Kartu Simpanan 4. Tampilan Cetak Pinjaman 141 5. Tampilan Cetak Bukti Pembayaran Angsuran 7. Tampilan Cetak Pinjaman Periode 6. Tampilan Cetak Simpanan Periode Laporan Laporan 142 End Sub 8. Tampilan Cetak Laporan Angsuran Periode Private Sub cmdOK_Click() If Len(txtuser.Text) = 0 Then MsgBox "User ID Masih Kosong", vbCritical, "User ID" txtuser.SetFocus Exit Sub End If If Len(txtpas.Text) = 0 Then MsgBox "Password Masih Kosong", vbCritical, "Password" txtpas.SetFocus Exit Sub End If cekpassword End Sub Private Sub Form_Activate() txtuser.Text = "" txtpas.Text = "" txtuser.SetFocus End Sub Private Sub Form_Load() Set conn = New ADODB.Connection conn.Open "koperasi" End Sub Private Sub Form_Unload(Cancel As Integer) conn.Close Set conn = Nothing End Sub Form Password Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim i As Single Private Sub cmdcancel_Click() End Private Sub txtpas_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then cmdok.SetFocus End If 143 End Sub Sub cekpassword() Dim sql As String sql = " SELECT * FROM user " & _ " WHERE userid='" & txtuser.Text & "'" Set rs = conn.Execute(sql) If rs.EOF Then MsgBox "User Id Tidak Terdaftar", vbOKOnly + vbExclamation, "User ID" txtuser.Text = "" txtuser.SetFocus Else If rs.Fields("password") <> txtpas.Text Then MsgBox "Password Anda Salah", vbOKOnly + vbExclamation, "Password" i=i+1 If i = 3 Then MsgBox "Makanya ingetin password dong! Panggil administrator gih...!!!", vbCritical, "ERROR ON PASSWORD" End End If txtpas.Text = "" txtpas.SetFocus Else frmutama.mnuganti.Enabled = True frmutama.mnulogoff.Enabled = True If rs.Fields("mnanggota") = 1 Then frmutama.mnuanggota.Enabled = True Else frmutama.mnuanggota.Enabled = False End If If rs.Fields("mntransaksi") = 1 Then frmutama.mnutransaksi.Enabled = True Else frmutama.mnutransaksi.Enabled = False End If If rs.Fields("mnsukarela") = 1 Then frmutama.mnusetoran.Enabled = True Else frmutama.mnusetoran.Enabled = False End If If rs.Fields("mnsimpanan") = 1 Then frmutama.mnusimpanan.Enabled = True Else frmutama.mnusimpanan.Enabled = False End If If rs.Fields("mnpinjaman") = 1 Then frmutama.mnupinjaman.Enabled = True Else frmutama.mnupinjaman.Enabled = False End If If rs.Fields("mnangsuran") = 1 Then frmutama.mnuangsuran.Enabled = True Else frmutama.mnuangsuran.Enabled = False End If If rs.Fields("mnlapangsuran") = 1 Then 144 frmutama.mnulapangsuran.Enabled = True Else frmutama.mnulapangsuran.Enabled = False End If If rs.Fields("mnlappinjaman") = 1 Then frmutama.mnulappinjaman.Enabled = True Else frmutama.mnulappinjaman.Enabled = False End If If rs.Fields("mnlapsimpanan") = 1 Then frmutama.mnulapsimpanan.Enabled = True Else frmutama.mnulapsimpanan.Enabled = False End If If rs.Fields("mnlaprekap") = 1 Then frmutama.mnurekap.Enabled = True Else frmutama.mnurekap.Enabled = False End If If rs.Fields("mnlaprekap2") = 1 Then frmutama.mnurekapbulanan.Enabled = True Else frmutama.mnurekapbulanan.Enabled = False End If If rs.Fields("mntambah") = 1 Then frmutama.mnutambah.Enabled = True Else frmutama.mnutambah.Enabled = False End If If rs.Fields("mnlapangsuranperiode") = 1 Then frmutama.mnulapangsuranperiode.E nabled = True Else frmutama.mnulapangsuranperiode.E nabled = False End If If rs.Fields("mnlapsimpananperiode") = 1 Then frmutama.mnulapsimpananall2.Enab led = True Else frmutama.mnulapsimpananall2.Enab led = False End If pasword.Visible = False frmutama.Visible = True frmutama.Enabled = True frmutama.SetFocus End If End If rs.Close End Sub Private Sub txtuser_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then 145 txtpas.SetFocus End If End Sub Form Menu Utama Private Sub mnuanggota_Click() frmanggota.Show frmutama.Visible = False End Sub Private Sub mnuangsuran_Click() frmangsuran.Show frmutama.Visible = False End Sub Private Sub mnuganti_Click() frmganti.Show frmutama.Visible = False End Sub Private Sub mnukeluar_Click() jawab = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbOKCancel, "Keluar?") If jawab = vbOK Then End Else frmutama.SetFocus End If End Sub Private Sub mnupenarikan_Click() frmpenarikan.Show frmutama.Visible = False End Sub Private Sub mnulapangsuran_Click() frmlapangsuran.Show frmutama.Visible = False End Sub Private Sub mnulapangsuranperiode_Click() frmlapangsuranperiode.Show frmutama.Visible = False End Sub Private Sub mnulappinjaman_Click() frmlappinjaman.Show frmutama.Visible = False End Sub Private Sub mnulapsimpanan_Click() frmlapsimpanan.Show frmutama.Visible = False End Sub Private Sub mnulapsimpananall2_Click() frmlapsimpananall2.Show frmutama.Visible = False End Sub Private Sub mnulogoff_Click() X = MsgBox("Anda Yakin Ingin LogOff...???", vbOKCancel + vbQuestion, "LogOff") If X = vbOK Then frmutama.mnuanggota.Enabled = False frmutama.mnutransaksi.Enabled = False frmutama.mnusimpanan.Enabled = False frmutama.mnusetoran.Enabled = False frmutama.mnupinjaman.Enabled = False frmutama.mnuangsuran.Enabled = False 122 frmutama.mnulapangsuran.Enabled = False frmutama.mnulapsimpanan.Enabled = False frmutama.mnulappinjaman.Enabled = False frmutama.mnurekap.Enabled = False frmutama.mnurekapbulanan.Enabled = False frmutama.mnutambah.Enabled = False 'frmutama.Visible = False pasword.Visible = True pasword.Enabled = True pasword.SetFocus Else frmutama.SetFocus End If End Sub frmlapsetoran.Show frmutama.Visible = False End Sub Private Sub mnurekapbulanan_Click() frmlapsetoranbulanan.Show frmutama.Visible = False End Sub Private Sub mnusetoran_Click() frmsetoran.Show frmutama.Visible = False End Sub Private Sub mnusimpanan_Click() frmtabungan.Show frmutama.Visible = False End Sub Private Sub mnutambah_Click() frmuser.Show frmutama.Visible = False End Sub Private Sub mnupinjaman_Click() frmpinjaman.Show frmutama.Visible = False End Sub Private Sub mnutransaksi_Click() frmtransaksi.Show frmutama.Visible = False End Sub Private Sub mnupokok_Click() frmpokok.Show frmutama.Visible = False End Sub Private Sub mnuwajib_Click() frmwajib.Show frmutama.Visible = False End Sub Private Sub mnurekap_Click() Form Anggota Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim datasimpan, refreshwhat As Boolean Dim idtemp As String Private Sub cmdcari_Click() frmcarianggota.Visible = True End Sub Private Sub cmdcetak_Click() dtenv.cetak_kartu txtidanggota rptkartuanggota.Refresh rptkartuanggota.Show 124 dtenv.rscetak_kartu.Close End Sub Private Sub cmdkeluar_Click() frmutama.Visible = True Unload Me End Sub Private Sub cmdrefresh_Click() Dim sql As String refreshwhat = True 'Adodc1.Refresh sql = " SELECT * FROM tbanggota ORDER by id_anggota " Adodc1.RecordSource = sql Adodc1.Refresh End Sub Private Sub cmdbatal_Click() Dim sql As String datasimpan = True sql = " SELECT * FROM tbanggota ORDER BY id_anggota" Adodc1.RecordSource = sql Adodc1.Recordset.MoveFirst For i = 0 To Adodc1.Recordset.RecordCount If idtemp = DataGrid1.Columns(0).Text Then txtnama.Enabled = False txtalamat.Enabled = False txttelepon.Enabled = False txtpekerjaan.Enabled = False Exit Sub End If Adodc1.Recordset.MoveNext Next End Sub Private Sub cmdhapus_Click() Dim sql, idanggota As String idanggota = txtidanggota.Text X = MsgBox("Apakah Data Ingin Dihapus?", vbYesNo + vbExclamation, "Hapus Data") If X = vbYes Then 'sql = " SELECT * FROM detilnota " &_ " WHERE kd_brg='" & txtkdbrg & "'" 'Set rs = conn.Execute(sql) ' If Not rs.EOF Then ' MsgBox "Data Barang Ini Telah Masuk Nota" + Chr(13), vbCritical + vbOKOnly, "FATAL ERROR" ' Else sql = " SELECT * FROM tbanggota ORDER by id_anggota " Adodc1.RecordSource = sql Adodc1.Recordset.MovePrevious sql = " DELETE * FROM tbanggota " & _ " WHERE id_anggota='" & idanggota & "'" conn.Execute (sql) MsgBox "Data Sudah Dihapus", vbInformation, "Hapus Data" 'dataawal refreshwhat = True tidaksiap sql = " SELECT * FROM tbanggota ORDER by id_anggota " Adodc1.RecordSource = sql Adodc1.Refresh 'End If Else dataawal End If End Sub Private Sub cmdtambah_Click() Dim data, data2 As String Dim sql As String If datasimpan = True Then idtemp = txtidanggota.Text sql = " SELECT * FROM tbanggota order by id_anggota " Adodc3.RecordSource = sql Adodc3.Recordset.MoveLast data = DataGrid3.Columns(0).Text data = Right(data, 4) data = Val(data) + 1 125 If Len(data) = 1 Then txtidanggota.Text = "A" & "000" & data datasimpan = False End If If Len(data) = 2 Then txtidanggota.Text = "A" & "00" & data datasimpan = False End If If Len(data) = 3 Then txtidanggota.Text = "A" & "0" & data datasimpan = False End If If Len(data) = 4 Then txtidanggota.Text = "A" & data datasimpan = False End If siap txtnama.Text = "" txtalamat.Text = "" txttelepon.Text = "" txtpekerjaan.Text = "" cmdtambah.Caption = "Simpan" Else If Len(txtidanggota.Text) = 0 Then MsgBox "ID Anggota Belum Diisi", vbInformation, "ID Anggota" txtidanggota.SetFocus Exit Sub ElseIf Len(txtnama.Text) = 0 Then MsgBox "Nama Lengkap Belum Diisi", vbInformation, "Nama Lengkap" txtnama.SetFocus Exit Sub ElseIf Len(txtalamat.Text) = 0 Then MsgBox "Alamat Belum Diisi", vbInformation, "Alamat" txtalamat.SetFocus Exit Sub ElseIf Len(txttelepon.Text) = 0 Then MsgBox "Telepon Belum Diisi", vbInformation, "Telepon" txttelepon.SetFocus Exit Sub ElseIf Len(txtpekerjaan.Text) = 0 Then MsgBox "Pekerjaan Belum Diisi", vbInformation, "Pekerjaan" txtpekerjaan.SetFocus Exit Sub End If sql = "SELECT * FROM tbanggota " &_ "WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then MsgBox "ID Anggota Sudah Ada", vbCritical + vbOKOnly, "Duplikat" Else X = MsgBox("Data yang akan masuk sebagai berikut:" + Chr(13) + _ "ID Anggota : " + txtidanggota.Text + Chr(13) + _ "Nama Anggota : " + txtnama.Text + Chr(13) + _ "Alamat : " + txtalamat.Text + Chr(13) + _ "Telepon : " + txttelepon.Text + Chr(13) + _ "Pekerjaan : " + txtpekerjaan.Text + Chr(13), vbYesNo, "Konfirmasi") If X = vbYes Then sql = "INSERT INTO tbanggota(id_anggota,nama,alamat,te lepon,pekerjaan)" & _ "VALUES('" & txtidanggota & "','" & txtnama & "','" & txtalamat & "'," & _ "'" & txttelepon & "','" & txtpekerjaan & "')" conn.Execute (sql) cmdtambah.Caption = "Baru" datasimpan = True 126 MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk" dtenv.cetak_kartu txtidanggota rptkartuanggota.Refresh rptkartuanggota.Show dtenv.rscetak_kartu.Close cmdtambah.Enabled = False Else txtidanggota.SetFocus End If End If sql = " SELECT * FROM tbanggota ORDER by id_anggota " Adodc1.RecordSource = sql rs.Close End If End Sub Private Sub cmdubah_Click() If txtnama.Enabled = False Then idtemp = txtidanggota.Text siap Else If Len(txtidanggota.Text) = 0 Then MsgBox "ID Anggota Belum Diisi", vbInformation, "ID Anggota" txtidanggota.SetFocus Exit Sub ElseIf Len(txtnama.Text) = 0 Then MsgBox "Nama Lengkap Belum Diisi", vbInformation, "Nama Lengkap" txtnama.SetFocus Exit Sub ElseIf Len(txtalamat.Text) = 0 Then MsgBox "Alamat Belum Diisi", vbInformation, "Alamat" txtalamat.SetFocus Exit Sub ElseIf Len(txttelepon.Text) = 0 Then MsgBox "Telepon Belum Diisi", vbInformation, "Telepon" txttelepon.SetFocus Exit Sub ElseIf Len(txtpekerjaan.Text) = 0 Then MsgBox "Pekerjaan Belum Diisi", vbInformation, "Pekerjaan" txtpekerjaan.SetFocus Exit Sub End If X = MsgBox("Ubah Data?", vbYesNo + vbExclamation, "Ubah Data") If X = vbYes Then Dim sql As String sql = " UPDATE tbanggota SET " & _ " nama='" & txtnama.Text & "'," &_ " alamat='" & txtalamat.Text & "'," & _ " telepon='" & txttelepon.Text & "'," & _ " pekerjaan='" & txtpekerjaan.Text & "'" & _ " WHERE id_anggota='" & txtidanggota.Text & "'" conn.Execute (sql) MsgBox "Data Sudah Diubah", vbInformation, "Ubah Data" bersih tidaksiap sql = " SELECT * FROM tbanggota ORDER by id_anggota " Adodc1.RecordSource = sql Else txtnama.SetFocus End If End If End Sub Private Sub DataGrid1_Click() txtidanggota.Text = DataGrid1.Columns(0).Text txtnama.Text = DataGrid1.Columns(1).Text txtalamat.Text = DataGrid1.Columns(2).Text 127 txttelepon.Text = DataGrid1.Columns(3).Text txtpekerjaan.Text = DataGrid1.Columns(4).Text End Sub Private Sub DataGrid1_RowColChange(LastRo w As Variant, ByVal LastCol As Integer) Dim sql As String 'If refreshwhat = True Then 'Exit Sub 'End If sql = "select * from tbanggota order by id anggota" Adodc1.RecordSource = sql If Adodc1.Recordset.EOF = True Or Adodc1.Recordset.BOF = True Then MsgBox "End Of File atau Begin Of File", vbInformation, "EOF/BOF" Exit Sub End If txtidanggota.Text = DataGrid1.Columns(0).Text txtnama.Text = DataGrid1.Columns(1).Text txtalamat.Text = DataGrid1.Columns(2).Text txttelepon.Text = DataGrid1.Columns(3).Text txtpekerjaan.Text = DataGrid1.Columns(4).Text End Sub End Sub Private Sub Form_Unload(Cancel As Integer) conn.Close Set conn = Nothing End Sub Private Sub Label8_Click() End Sub Private Sub optid_Click() Dim sql As String If optid.Value = True Then X = InputBox("Masukkan ID Anggota Yang Dicari") sql = " SELECT * FROM tbanggota "&_ " WHERE id_anggota like '%" & X & "%'" Set rs = conn.Execute(sql) If Not rs.EOF Then Adodc2.RecordSource = sql Adodc2.Refresh DataGrid2.Visible = True Else MsgBox "Data Tidak Ditemukan", vbInformation, "ID Anggota" End If End If optid.Value = False End Sub Private Sub Form_Activate() 'bersih tidaksiap End Sub Private Sub Form_Load() Set conn = New ADODB.Connection conn.Open "koperasi" dataawal datasimpan = True Private Sub Option1_Click() End Sub Private Sub optnama_Click() Dim sql As String If optnama.Value = True Then X = InputBox("Masukkan Nama Yang Dicari") 128 sql = " SELECT * FROM tbanggota "&_ " WHERE nama like '%" & X & "%'" Set rs = conn.Execute(sql) If Not rs.EOF Then Adodc2.RecordSource = sql Adodc2.Refresh DataGrid2.Visible = True Else MsgBox "Data Tidak Ditemukan", vbInformation, "Nama Anggota" End If End If optnama.Value = False End Sub Sub bersih() txtidanggota.Text = "" txtnama.Text = "" txtalamat.Text = "" txttelepon.Text = "" txtpekerjaan.Text = "" txtidanggota.Enabled = True txtidanggota.SetFocus DataGrid2.Visible = False End Sub Sub tidaksiap() 'cmdhapus.Enabled = False txtidanggota.Enabled = False txtnama.Enabled = False txtalamat.Enabled = False txttelepon.Enabled = False txtpekerjaan.Enabled = False End Sub Sub siap() txtnama.Enabled = True txtalamat.Enabled = True txttelepon.Enabled = True txtpekerjaan.Enabled = True txtnama.SetFocus End Sub Private Sub Timer2_Timer() txttgl(1).Text = Date txtjam(1).Text = Time End Sub Private Sub txtalamat_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txtalamat.Text) = 0 Then MsgBox "Alamat Harus Diisi", vbCritical, "Alamat" Else txttelepon.SetFocus End If End If End Sub Private Sub txtidanggota_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) Dim i, a As Single If KeyAscii = 13 Then If Len(txtidanggota.Text) = 0 Then MsgBox "ID Anggota Belum Diisi", vbInformation, "ID Anggota" Else Dim sql As String sql = "SELECT * FROM tbanggota " & _ "WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then 129 txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") txttelepon = rs.Fields("telepon") txtpekerjaan = rs.Fields("pekerjaan") cmdtambah.Enabled = False cmdubah.Enabled = True cmdhapus.Enabled = True txtnama.Enabled = True txtalamat.Enabled = True txttelepon.Enabled = True txtpekerjaan.Enabled = True txtidanggota.Enabled = False txtnama.SetFocus Adodc1.RecordSource = sql Adodc1.Recordset.MoveFirst a= Adodc1.Recordset.RecordCount For i = 0 To a If DataGrid1.Columns(0) = txtidanggota Then Exit Sub End If Adodc1.Recordset.MoveNext Next Else cmdtambah.Enabled = True cmdubah.Enabled = False cmdhapus.Enabled = False txtnama.Enabled = True txtalamat.Enabled = True txttelepon.Enabled = True txtpekerjaan.Enabled = True siap End If End If End If End Sub Private Sub txtnama_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txtnama.Text) = 0 Then MsgBox "Nama Anggota Harus Diisi", vbCritical, "Nama Anggota" Else txtalamat.SetFocus End If End If End Sub Private Sub txtpekerjaan_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txtpekerjaan.Text) = 0 Then MsgBox "Pekerjaan Harus Diisi", vbCritical, "Pekerjaan" Else If cmdtambah.Enabled = True Then cmdtambah.SetFocus Else cmdubah.SetFocus End If End If End If End Sub Private Sub txttelepon_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txttelepon.Text) = 0 Then MsgBox "Telepon Harus Diisi", vbCritical, "Telepon" Else txtpekerjaan.SetFocus End If End If 130 If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Sub dataawal() Dim sql As String Dim data As String sql = " SELECT * FROM tbanggota order by id_anggota" Adodc1.RecordSource = sql Adodc1.Recordset.MoveFirst txtidanggota.Text = DataGrid1.Columns(0).Text txtnama.Text = DataGrid1.Columns(1).Text txtalamat.Text = DataGrid1.Columns(2).Text txttelepon.Text = DataGrid1.Columns(3).Text Form Transaksi Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Private Sub cmdkeluar_Click() frmutama.Visible = True Unload Me End Sub Private Sub cmdrefresh_Click() Adodc1.Refresh End Sub Private Sub cmdbatal_Click() bersih tidaksiap End Sub txtpekerjaan.Text = DataGrid1.Columns(4).Text End Sub Sub dataterakhir() Dim sql As String Dim data As String sql = " SELECT * FROM tbanggota order by id_anggota" Adodc1.RecordSource = sql Adodc1.Recordset.MoveLast txtidanggota.Text = DataGrid1.Columns(0).Text txtnama.Text = DataGrid1.Columns(1).Text txtalamat.Text = DataGrid1.Columns(2).Text txttelepon.Text = DataGrid1.Columns(3).Text txtpekerjaan.Text = DataGrid1.Columns(4).Text End Sub Private Sub cmdhapus_Click() Dim sql As String X = MsgBox("Apakah Data Ingin Dihapus?", vbYesNo + vbExclamation, "Hapus Data") If X = vbYes Then 'sql = " SELECT * FROM detilnota " &_ " WHERE kd_brg='" & txtkdbrg & "'" 'Set rs = conn.Execute(sql) ' If Not rs.EOF Then ' MsgBox "Data Barang Ini Telah Masuk Nota" + Chr(13), vbCritical + vbOKOnly, "FATAL ERROR" ' Else sql = " DELETE * FROM tbjenis "&_ 131 " WHERE id_transaksi='" & txtidtransaksi & "'" conn.Execute (sql) MsgBox "Data Sudah Dihapus", vbInformation, "Hapus Data" bersih tidaksiap Adodc1.Refresh 'End If Else txtnama.SetFocus End If End Sub Private Sub cmdtambah_Click() If Len(txtidtransaksi.Text) = 0 Then MsgBox "ID Transaksi Belum Diisi", vbInformation, "ID Transaksi" txtidtransaksi.SetFocus Exit Sub ElseIf Len(txtnama.Text) = 0 Then MsgBox "Nama Transaksi Belum Diisi", vbInformation, "Nama Transaksi" txtnama.SetFocus Exit Sub ElseIf Len(txtjenis.Text) = 0 Then MsgBox "Jenis Belum Diisi", vbInformation, "Jenis" txtjenis.SetFocus Exit Sub End If Dim sql As String sql = "SELECT * FROM tbjenis " & _ "WHERE id_transaksi='" & txtidtransaksi & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then MsgBox "ID Transaksi Sudah Ada", vbCritical + vbOKOnly, "Duplikat" Else X = MsgBox("Data yang akan masuk sebagai berikut:" + Chr(13) + _ "ID Transaksi : " + txtidtransaksi.Text + Chr(13) + _ "Nama Transaksi: " + txtnama.Text + Chr(13) + _ "Jenis : " + txtjenis.Text + Chr(13), vbYesNo, "Konfirmasi") If X = vbYes Then sql = "INSERT INTO tbjenis(id_transaksi,nama,jenis)" & _ "VALUES('" & txtidtransaksi & "','" & txtnama & "'," & _ "'" & txtjenis & "')" conn.Execute (sql) MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk" bersih tidaksiap Else txtidtransaksi.SetFocus End If End If Adodc1.Refresh rs.Close End Sub Private Sub cmdubah_Click() If Len(txtidtransaksi.Text) = 0 Then MsgBox "ID Transaksi Belum Diisi", vbInformation, "ID Transaksi" txtidtransaksi.SetFocus Exit Sub ElseIf Len(txtnama.Text) = 0 Then MsgBox "Nama Transaksi Belum Diisi", vbInformation, "Nama Transaksi" txtnama.SetFocus Exit Sub ElseIf Len(txtjenis.Text) = 0 Then MsgBox "Jenis Belum Diisi", vbInformation, "Jenis" txtjenis.SetFocus 132 Exit Sub End If X = MsgBox("Ubah Data?", vbYesNo + vbExclamation, "Ubah Data") If X = vbYes Then Dim sql As String sql = " UPDATE tbjenis SET " & _ " nama='" & txtnama.Text & "'," &_ " jenis='" & txtjenis.Text & "'" & _ " WHERE id_transaksi='" & txtidtransaksi.Text & "'" conn.Execute (sql) MsgBox "Data Sudah Diubah", vbInformation, "Ubah Data" bersih tidaksiap Adodc1.Refresh Else txtnama.SetFocus End If End Sub Private Sub Form_Activate() bersih tidaksiap End Sub Private Sub Form_Load() Set conn = New ADODB.Connection conn.Open "koperasi" Calendar1.Value = Now End Sub Private Sub Form_Unload(Cancel As Integer) conn.Close Set conn = Nothing End Sub Private Sub Timer1_Timer() txttgl.Text = Date txtjam.Text = Time End Sub Sub bersih() txtidtransaksi.Text = "" txtnama.Text = "" txtidtransaksi.Enabled = True txtidtransaksi.SetFocus End Sub Sub tidaksiap() cmdtambah.Enabled = False cmdubah.Enabled = False cmdhapus.Enabled = False txtnama.Enabled = False txtjenis.Enabled = False End Sub Sub siap() txtnama.Text = "" txtnama.SetFocus End Sub Private Sub txtidtransaksi_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txtidtransaksi.Text) = 0 Then MsgBox "ID Transaksi Belum Diisi", vbInformation, "ID Transaksi" Else Dim sql As String sql = "SELECT * FROM tbjenis " &_ "WHERE id_transaksi='" & txtidtransaksi & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") 133 txtjenis = rs.Fields("jenis") cmdtambah.Enabled = False cmdubah.Enabled = True cmdhapus.Enabled = True txtnama.Enabled = True txtjenis.Enabled = True txtidtransaksi.Enabled = False txtnama.SetFocus Adodc1.RecordSource = sql Adodc1.Recordset.MoveFirst a= Adodc1.Recordset.RecordCount For i = 0 To a If DataGrid1.Columns(0) = txtidtransaksi Then Exit Sub End If Adodc1.Recordset.MoveNext Next Else cmdtambah.Enabled = True cmdubah.Enabled = False cmdhapus.Enabled = False txtnama.Enabled = True txtjenis.Enabled = True siap End If End If End If End Sub Private Sub txtnama_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txtnama.Text) = 0 Then MsgBox "Nama Transaksi Harus Diisi", vbCritical, "Nama Transaksi" Else txtjenis.SetFocus End If End If End Sub Private Sub txtjenis_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txtjenis.Text) = 0 Then MsgBox "Jenis Harus Diisi", vbCritical, "Jenis" Else If cmdtambah.Enabled = True Then cmdtambah.SetFocus Else cmdubah.SetFocus End If End If End If End Sub Form Kartu Simpanan End Sub Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim simpandata As Boolean Private Sub cmdcari_Click() frmcarianggota.Show End Sub Private Sub cmdbatal_Click() bersih tidaksiap Private Sub cmdcetak_Click() dtenv.cetak_simpanan txtidsimpanan rptsimpanan.Refresh rptsimpanan.Show 134 dtenv.rscetak_simpanan.Close End Sub Private Sub cmdkeluar_Click() frmutama.Visible = True Unload Me End Sub Private Sub cmdtambah_Click() If simpandata = True Then autonumber txtidanggota.Text = "" txtnama.Text = "" txtalamat.Text = "" simpandata = False Else If Len(txtnama.Text) = 0 Then MsgBox "ID Anggota Belum Diisi", vbInformation, "ID Anggota" 'txtidanggota.SetFocus Exit Sub ElseIf Len(txtidsimpanan.Text) = 0 Then MsgBox "ID Simpanan Belum Diisi", vbInformation, "ID Simpanan" txtidsimpanan.SetFocus Exit Sub End If Dim sql As String sql = "INSERT INTO tbtabungan(id_simpanan,id_anggota, tgl_buat,saldo,saldo_sukarela)" & _ "VALUES('" & txtidsimpanan & "','" & txtidanggota & "','" & DTPicker1 & "','0','0')" conn.Execute (sql) MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk" jawab = MsgBox("Cetak Data Sekarang?", vbQuestion + vbYesNo, "Cetak Data") If jawab = vbYes Then dtenv.cetak_simpanan txtidsimpanan rptsimpanan.Refresh rptsimpanan.Show dtenv.rscetak_simpanan.Close cmdtambah.Enabled = False Else bersih tidaksiap End If autonumber Adodc1.Refresh rs.Close End If End Sub Private Sub DataGrid1_RowColChange(LastRo w As Variant, ByVal LastCol As Integer) Dim sql As String sql = " select * from tbtabungan order by id_simpanan " Adodc1.RecordSource = sql If Adodc1.Recordset.EOF = True Or Adodc1.Recordset.BOF = True Then MsgBox "End Of File or Begin Of File", vbInformation, "EOF/BOF" Exit Sub End If txtidsimpanan.Text = DataGrid1.Columns(0).Text txtidanggota.Text = DataGrid1.Columns(3).Text sql = " select * from tbanggota where id_anggota = '" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") End If End Sub Private Sub Form_Activate() 'bersih tidaksiap 'autonumber End Sub 135 Private Sub Timer1_Timer() txttgl.Text = Date txtjam.Text = Time End Sub Private Sub txtidanggota_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txtidanggota.Text) = 0 Then MsgBox "ID Anggota Belum Diisi", vbInformation, "ID Anggota" Else Dim sql As String sql = "SELECT * FROM tbtabungan WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then MsgBox "Anggota ini sudah mempunyai tabungan", vbInformation, "Tabungan" txtidanggota.Text = "" txtidanggota.SetFocus Exit Sub End If sql = "SELECT * FROM tbanggota " & _ "WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") txtidanggota.Enabled = False cmdtambah.Enabled = True cmdtambah.SetFocus Else MsgBox "ID Anggota Belum Terdaftar", vbCritical, "ID Anggota" txtidanggota.Enabled = True txtidanggota.SetFocus End If End If End If End Sub Private Sub txtidsimpanan_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txtidsimpanan.Text) = 0 Then MsgBox "ID Simpanan Masih Kosong", vbInformation, "ID Simpanan" txtidsimpanan.SetFocus Exit Sub End If sql = " SELECT * FROM tbtabungan " & _ " WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtidanggota = rs.Fields("id_anggota") txtsaldo = rs.Fields("saldo") sql = " SELECT * FROM tbanggota "&_ " WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") cmdcetak.Enabled = True End If Else 136 txtidanggota.Enabled = True txtidanggota.SetFocus txtsaldo.Text = "0" txtidsimpanan.Enabled = False End If End If End Sub Private Sub cmdrefresh_Click() Adodc1.Refresh Adodc2.Refresh autonumber End Sub Sub bersih() txtidanggota.Text = "" txtnama.Text = "" txtalamat.Text = "" txtsaldo.Text = "" dataawal End Sub Private Sub Form_Load() Set conn = New ADODB.Connection conn.Open "koperasi" DTPicker1 = Date 'autonumber dataawal End Sub Private Sub Form_Unload(Cancel As Integer) conn.Close Set conn = Nothing End Sub Sub autonumber() Dim sql As String Dim nilaisimpanan, nomoridsimpanan As Double sql = "SELECT * FROM tbtabungan ORDER BY id_simpanan" Set rs = conn.Execute(sql) Adodc3.RecordSource = sql Label12.Caption = Adodc3.Recordset.RecordCount If Adodc3.Recordset.RecordCount > 0 Then Adodc3.Refresh sql = "SELECT * FROM tbtabungan ORDER BY id_simpanan" Adodc3.RecordSource = sql Adodc3.Recordset.MoveLast txtidsimpanan.Text = DataGrid3.Columns(0).Text nomoridsimpanan = Right(txtidsimpanan, 4) nilaisimpanan = Val(nomoridsimpanan) + 1 'txtnilaibom.Text = nilaibom If Len(nilaisimpanan) < 2 Then txtidsimpanan.Text = "S" & "000" & nilaisimpanan Exit Sub End If If Len(nilaisimpanan) < 3 Then txtidsimpanan.Text = "S" & "00" & nilaisimpanan Exit Sub End If If Len(nilaisimpanan) < 4 Then txtidsimpanan.Text = "S" & "0" & nilaisimpanan Exit Sub End If Else txtidsimpanan.Text = "S0001" Exit Sub End If End Sub Private Sub tidaksiap() End Sub Sub dataawal() Dim sql As String Dim data As String sql = " SELECT * FROM tbtabungan order by id_simpanan" 137 Adodc1.RecordSource = sql Adodc1.Recordset.MoveFirst txtidsimpanan.Text = DataGrid1.Columns(0).Text txtidanggota.Text = DataGrid1.Columns(3).Text sql = " select * from tbanggota where id_anggota = '" & txtidanggota.Text & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") End If simpandata = True End Sub Form Transaksi Simpanan Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Private Sub cmdbatal_Click() bersih tidaksiap End Sub Private Sub cmdcari_Click() frmcarianggota.Show End Sub Private Sub cmdcetak_Click() idsimpanan = InputBox("Masukkan No Bukti Setor!", "No Bukti Setor") dtenv.cetak_transaksi idsimpanan rpttransaksi.Refresh rpttransaksi.Show dtenv.rscetak_transaksi.Close End Sub Private Sub cmdkeluar_Click() frmutama.Visible = True Unload Me End Sub Private Sub cmdOK_Click() Dim sql2 As String Dim i, a As Single Dim saldo, saldosukarela As Double If Len(txtidsimpanan.Text) = 0 Then MsgBox "ID Simpanan Masih Kosong", vbInformation, "ID Simpanan" txtidsimpanan.SetFocus Exit Sub End If sql2 = " SELECT * FROM tbtabungan" & _ " WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql2) If Not rs.EOF Then txtidanggota = rs.Fields("id_anggota") saldo = rs.Fields("saldo") saldosukarela = rs.Fields("saldo_sukarela") txtsaldo.Text = Val(saldo) + Val(saldosukarela) txtsaldosukarela.Text = saldosukarela sql = " SELECT * FROM tbanggota "&_ " WHERE id_anggota='" & txtidanggota & "'" 138 Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") End If sql = " SELECT * FROM vwsetoran "&_ " WHERE id_simpanan='" & txtidsimpanan & "'" Adodc1.RecordSource = sql Adodc1.Refresh Else MsgBox "Data Simpanan Tidak Ada!", vbInformation, "Data Simpanan" txtidsimpanan.Text = "" txtidsimpanan.SetFocus Exit Sub End If txtidsimpanan.Enabled = False txtidtransaksi.Enabled = True txtidtransaksi.SetFocus Adodc2.RecordSource = sql2 Adodc2.Recordset.MoveFirst a = Adodc2.Recordset.RecordCount For i = 0 To a If DataGrid2.Columns(0) = txtidsimpanan Then Exit Sub End If Adodc2.Recordset.MoveNext Next End Sub Private Sub cmdselesai_Click() jawab = MsgBox("Cetak Data Sekarang?", vbQuestion + vbYesNo, "Cetak Data") If jawab = vbYes Then txtidsimpanan.Enabled = True txtidsimpanan.SetFocus dtenv.cetak_transaksi txtnosetor rpttransaksi.Refresh rpttransaksi.Show dtenv.rscetak_transaksi.Close bersihcetak Else bersih tidaksiap End If cmdbatal.Enabled = True autonumber End Sub Private Sub cmdtambah_Click() Dim sql As String Dim saldosukarela As Double Dim saldo As Double sql = " INSERT INTO tbsetoran(no_bukti_setor,id_simpana n,tgl_setor) " & _ " VALUES('" & txtnosetor & "','" & txtidsimpanan & "','" & DTPicker1 & "')" conn.Execute (sql) If txtnamatransaksi.Text = "SIMPANAN POKOK" Then sql = " INSERT INTO tbdetil_setoran (no_bukti_setor,id_transaksi,pokok,j umlah_setor) " & _ " VALUES('" & txtnosetor & "','" & txtidtransaksi & "','" & txtjmlsetor & "','" & txtjmlsetor & "')" conn.Execute (sql) cmdtmbtr.Enabled = True cmdtambah.Enabled = False cmdselesai.Enabled = True cmdbatal.Enabled = False End If If txtnamatransaksi.Text = "SIMPANAN WAJIB" Then sql = " INSERT INTO tbdetil_setoran (no_bukti_setor,id_transaksi,wajib,ju mlah_setor) " & _ " VALUES('" & txtnosetor & "','" & txtidtransaksi & "','" & 139 txtjmlsetor & "','" & txtjmlsetor & "')" conn.Execute (sql) cmdtmbtr.Enabled = True cmdtambah.Enabled = False cmdselesai.Enabled = True cmdbatal.Enabled = False End If If txtnamatransaksi.Text = "SIMPANAN SUKARELA" Then sql = " INSERT INTO tbdetil_setoran (no_bukti_setor,id_transaksi,jumlah_ setor,sukarela) " & _ " VALUES('" & txtnosetor & "','" & txtidtransaksi & "','" & txtjmlsetor & "','" & txtjmlsetor & "')" conn.Execute (sql) sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then saldosukarela = rs.Fields("saldo_sukarela") End If saldosukarela = Val(saldosukarela) + Val(txtjmlsetor) sql = "UPDATE tbtabungan SET saldo_sukarela='" & saldosukarela & "' WHERE id_simpanan='" & txtidsimpanan & "'" conn.Execute (sql) sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then saldosukarela = rs.Fields("saldo_sukarela") saldo = rs.Fields("saldo") End If sql = " UPDATE tbdetil_setoran SET " & _ " keterangan = '" & txtket.Text & "'," & _ " saldo = '" & txtsaldo.Text & "'" & _ " WHERE no_bukti_setor='" & txtnosetor & "' and id_transaksi='" & txtidtransaksi & "'" conn.Execute (sql) cmdtmbtr.Enabled = True cmdtambah.Enabled = False cmdselesai.Enabled = True cmdbatal.Enabled = False End If If txtjenis.Text = "DEBET" And txtnamatransaksi.Text <> "SIMPANAN SUKARELA" Then sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then saldo = rs.Fields("saldo") End If txtsaldo.Text = Val(txtsaldo.Text) + Val(txtjmlsetor.Text) saldo = saldo + Val(txtjmlsetor.Text) sql = " UPDATE tbdetil_setoran SET " & _ " keterangan = '" & txtket.Text & "'," & _ " saldo = '" & txtsaldo.Text & "'" & _ " WHERE no_bukti_setor='" & txtnosetor & "' and id_transaksi='" & txtidtransaksi & "'" conn.Execute (sql) sql = " UPDATE tbtabungan SET " & _ " saldo='" & saldo & "'" & _ 140 " WHERE id_simpanan='" & txtidsimpanan.Text & "'" conn.Execute (sql) ElseIf txtjenis.Text = "KREDIT" Then sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then saldosukarela = rs.Fields("saldo_sukarela") saldo = rs.Fields("saldo") End If If Val(txtjmlsetor.Text) > saldosukarela Then MsgBox "Jumlah Tarik Lebih Besar Daripada Saldo Sukarela", vbInformation, "Saldo Sukarela" isilagi Exit Sub End If txtsaldo.Text = Val(saldo) + Val(saldosukarela) saldosukarela = saldosukarela Val(txtjmlsetor.Text) sql = "UPDATE tbtabungan SET saldo_sukarela='" & saldosukarela & "' WHERE id_simpanan='" & txtidsimpanan & "'" conn.Execute (sql) 'sql = " UPDATE tbdetil_setoran SET " & _ " jumlah_tarik = '" & txtjmlsetor.Text & "'," & _ " keterangan = '" & txtket.Text & "'," & _ " saldo = '" & txtsaldo.Text & "'" & _ " WHERE no_bukti_setor='" & txtnosetor & "' and id_transaksi='" & txtidtransaksi & "'" sql = " INSERT INTO tbdetil_setoran (no_bukti_setor,id_transaksi,jumlah_ tarik,keterangan,saldo) " & _ " VALUES('" & txtnosetor & "','" & txtidtransaksi & "','" & txtjmlsetor & "','" & txtket & "','" & txtsaldo & "')" conn.Execute (sql) End If sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then saldosukarela = rs.Fields("saldo_sukarela") saldo = rs.Fields("saldo") End If txtsaldo.Text = Val(saldo) + Val(saldosukarela) MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk" cmdtmbtr.Enabled = True cmdtambah.Enabled = False cmdselesai.Enabled = True cmdbatal.Enabled = False isilagi Adodc1.Refresh rs.Close End Sub Private Sub cmdtmbtr_Click() Dim sql As String If Len(txtidtransaksi.Text) = 0 Then MsgBox "ID Transaksi Masih Kosong", vbCritical, "ID Transaksi" txtidtransaksi.Enabled = True txtidtransaksi.SetFocus Exit Sub If Len(txtjmlsetor.Text) = 0 Then MsgBox "Jumlah Bayar Masih Kosong", vbCritical, "Jumlah Bayar" txtjmlsetor.SetFocus Exit Sub 141 End If If Val(txtjmlsetor.Text) = 0 Then MsgBox "Jumlah Bayar Masih Nol", vbCritical, "Jumlah Bayar" txtjmlsetor.Text = "" txtjmlsetor.SetFocus Exit Sub End If End If sql = " SELECT * FROM tbdetil_setoran " & _ " WHERE no_bukti_setor='" & txtnosetor.Text & "' AND id_transaksi='" & txtidtransaksi.Text & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then MsgBox "ID Transaksi Sudah Masuk Ke Nomor Setor Ini!", vbCritical, "ID Transaksi" isilagi Exit Sub End If If txtnamatransaksi.Text = "SIMPANAN POKOK" Then sql = " INSERT INTO tbdetil_setoran (no_bukti_setor,id_transaksi,pokok,j umlah_setor) " & _ " VALUES('" & txtnosetor & "','" & txtidtransaksi & "','" & txtjmlsetor & "','" & txtjmlsetor & "')" conn.Execute (sql) cmdtmbtr.Enabled = True cmdtambah.Enabled = False cmdselesai.Enabled = True cmdbatal.Enabled = False End If If txtnamatransaksi.Text = "SIMPANAN WAJIB" Then sql = " INSERT INTO tbdetil_setoran (no_bukti_setor,id_transaksi,wajib,ju mlah_setor) " & _ " VALUES('" & txtnosetor & "','" & txtidtransaksi & "','" & txtjmlsetor & "','" & txtjmlsetor & "')" conn.Execute (sql) cmdtmbtr.Enabled = True cmdtambah.Enabled = False cmdselesai.Enabled = True cmdbatal.Enabled = False End If If txtnamatransaksi.Text = "SIMPANAN SUKARELA" Then sql = " INSERT INTO tbdetil_setoran (no_bukti_setor,id_transaksi,jumlah_ setor,sukarela) " & _ " VALUES('" & txtnosetor & "','" & txtidtransaksi & "','" & txtjmlsetor & "','" & txtjmlsetor & "')" conn.Execute (sql) sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then saldosukarela = rs.Fields("saldo_sukarela") End If saldosukarela = Val(saldosukarela) + Val(txtjmlsetor) sql = "UPDATE tbtabungan SET saldo_sukarela='" & saldosukarela & "' WHERE id_simpanan='" & txtidsimpanan & "'" conn.Execute (sql) sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) 142 If Not rs.EOF Then saldosukarela = rs.Fields("saldo_sukarela") saldo = rs.Fields("saldo") End If txtsaldo.Text = Val(saldo) + Val(saldosukarela) sql = " UPDATE tbdetil_setoran SET " & _ " keterangan = '" & txtket.Text & "'," & _ " saldo = '" & txtsaldo.Text & "'" & _ " WHERE no_bukti_setor='" & txtnosetor & "' and id_transaksi='" & txtidtransaksi & "'" conn.Execute (sql) cmdtmbtr.Enabled = True cmdtambah.Enabled = False cmdselesai.Enabled = True cmdbatal.Enabled = False End If If txtjenis.Text = "DEBET" And txtnamatransaksi.Text <> "SIMPANAN SUKARELA" Then sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then saldo = rs.Fields("saldo") End If txtsaldo.Text = Val(txtsaldo.Text) + Val(txtjmlsetor.Text) saldo = saldo + Val(txtjmlsetor.Text) sql = " UPDATE tbdetil_setoran SET " & _ " keterangan = '" & txtket.Text & "'," & _ " saldo = '" & txtsaldo.Text & "'" & _ " WHERE no_bukti_setor='" & txtnosetor & "' and id_transaksi='" & txtidtransaksi & "'" conn.Execute (sql) sql = " UPDATE tbdetil_setoran SET " & _ " keterangan = '" & txtket.Text & "'," & _ " saldo = '" & saldo & "'" & _ " WHERE no_bukti_setor='" & txtnosetor & "' and id_transaksi='" & txtidtransaksi & "'" conn.Execute (sql) sql = " UPDATE tbtabungan SET "&_ " saldo='" & txtsaldo.Text & "'" & _ " WHERE id_simpanan='" & txtidsimpanan.Text & "'" conn.Execute (sql) ElseIf txtjenis.Text = "KREDIT" Then sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then saldosukarela = rs.Fields("saldo_sukarela") saldo = rs.Fields("saldo") End If If Val(txtjmlsetor.Text) > saldosukarela Then MsgBox "Jumlah Tarik Lebih Besar Daripada Saldo Sukarela", vbInformation, "Saldo Sukarela" isilagi Exit Sub End If txtsaldo.Text = Val(saldo) + Val(saldosukarela) saldosukarela = saldosukarela Val(txtjmlsetor.Text) sql = "UPDATE tbtabungan SET saldo_sukarela='" & saldosukarela & "' WHERE 143 id_simpanan='" & txtidsimpanan & "'" conn.Execute (sql) 'sql = " UPDATE tbdetil_setoran SET " & _ " jumlah_tarik = '" & txtjmlsetor.Text & "'," & _ " keterangan = '" & txtket.Text & "'," & _ " saldo = '" & txtsaldo.Text & "'" & _ " WHERE no_bukti_setor='" & txtnosetor & "' and id_transaksi='" & txtidtransaksi & "'" sql = " INSERT INTO tbdetil_setoran (no_bukti_setor,id_transaksi,jumlah_ tarik,keterangan,saldo) " & _ " VALUES('" & txtnosetor & "','" & txtidtransaksi & "','" & txtjmlsetor & "','" & txtket & "','" & txtsaldo & "')" conn.Execute (sql) End If sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then saldosukarela = rs.Fields("saldo_sukarela") saldo = rs.Fields("saldo") End If txtsaldo.Text = Val(saldo) + Val(saldosukarela) MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk" isilagi End Sub Private Sub Form_Activate() 'bersih tidaksiap autonumber End Sub Private Sub Timer1_Timer() txttgl.Text = Date txtjam.Text = Time End Sub Private Sub txtidtransaksi_Click() Dim sql, idtransaksi As String idtransaksi = txtidtransaksi.Text idtransaksi = Left(idtransaksi, 3) sql = " SELECT * FROM tbjenis " & _ " WHERE id_transaksi='" & idtransaksi & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnamatransaksi = rs.Fields("nama") txtjenis = rs.Fields("jenis") 'txtidtransaksi.Enabled = False txtjmlsetor.Enabled = True txtjmlsetor.SetFocus Else MsgBox "ID Transaksi Tidak Terdaftar", vbCritical, "ID Transaksi" 'txtidtransaksi.Text = "" txtidtransaksi.SetFocus Exit Sub End If If txtnamatransaksi.Text = "SIMPANAN POKOK" Then txtjmlsetor.Text = 25000 txtjmlsetor.Enabled = False If cmdtmbtr.Enabled = False Then cmdtambah.Enabled = True cmdtambah.SetFocus Else cmdtmbtr.SetFocus End If Exit Sub End If 144 If txtnamatransaksi.Text = "SIMPANAN WAJIB" Then txtjmlsetor.Text = 5000 txtjmlsetor.Enabled = False If cmdtmbtr.Enabled = False Then cmdtambah.Enabled = True cmdtambah.SetFocus Else cmdtmbtr.SetFocus End If Exit Sub End If End If End Sub If txtnamatransaksi.Text = "SIMPANAN POKOK" Then txtjmlsetor.Text = 25000 txtjmlsetor.Enabled = False If cmdtmbtr.Enabled = False Then cmdtambah.Enabled = True cmdtambah.SetFocus Else cmdtmbtr.SetFocus End If Exit Sub End If Private Sub txtidtransaksi_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Dim sql As String If Len(txtidtransaksi.Text) = 0 Then MsgBox "ID Transaksi Masih Kosong", vbCritical, "ID Transaksi" txtidtransaksi.Enabled = True txtidtransaksi.SetFocus Exit Sub End If If txtnamatransaksi.Text = "SIMPANAN WAJIB" Then txtjmlsetor.Text = 5000 txtjmlsetor.Enabled = False If cmdtmbtr.Enabled = False Then cmdtambah.Enabled = True cmdtambah.SetFocus Else cmdtmbtr.SetFocus End If Exit Sub End If sql = " SELECT * FROM tbjenis " & _ " WHERE id_transaksi='" & txtidtransaksi & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnamatransaksi = rs.Fields("nama") txtjenis = rs.Fields("jenis") txtidtransaksi.Enabled = False txtjmlsetor.Enabled = True txtjmlsetor.SetFocus Else MsgBox "ID Transaksi Tidak Terdaftar", vbCritical, "ID Transaksi" 'txtidtransaksi.Text = "" txtidtransaksi.SetFocus Exit Sub End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Private Sub txtjmlsetor_KeyPress(KeyAscii As Integer) Dim saldoskrl As Double If KeyAscii = 13 Then If Len(txtjmlsetor.Text) = 0 Then 145 MsgBox "Jumlah Bayar Masih Kosong", vbCritical, "Jumlah Bayar" txtjmlsetor.SetFocus Exit Sub End If If Val(txtjmlsetor.Text) = 0 Then MsgBox "Jumlah Bayar Masih Nol", vbCritical, "Jumlah Bayar" txtjmlsetor.Text = "" txtjmlsetor.SetFocus Exit Sub End If If txtjenis.Text = "KREDIT" Then Dim sql As String sql = " SELECT * FROM tbtabungan WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then saldoskrl = rs.Fields("saldo_sukarela") End If If Val(txtjmlsetor.Text) > Val(saldoskrl) Then MsgBox "Jumlah Ambil Lebih Besar Daripada Saldo Sukarela", vbCritical, "Jumlah Tarik" txtjmlsetor.Text = "" txtjmlsetor.SetFocus Exit Sub End If End If txtjmlsetor.Enabled = False txtket.Enabled = True txtket.SetFocus End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Private Sub txtket_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtket.Enabled = False If cmdtmbtr.Enabled = False Then cmdtambah.Enabled = True cmdtambah.SetFocus Else cmdtmbtr.SetFocus End If End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Private Sub txtidsimpanan_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) Dim sql2 As String Dim i, a As Single Dim saldo, saldosukarela As Double If KeyAscii = 13 Then If Len(txtidsimpanan.Text) = 0 Then MsgBox "ID Simpanan Masih Kosong", vbInformation, "ID Simpanan" txtidsimpanan.SetFocus Exit Sub End If sql2 = " SELECT * FROM tbtabungan" & _ " WHERE id_simpanan='" & txtidsimpanan & "'" Set rs = conn.Execute(sql2) If Not rs.EOF Then txtidanggota = rs.Fields("id_anggota") 146 saldo = rs.Fields("saldo") saldosukarela = rs.Fields("saldo_sukarela") txtsaldo.Text = Val(saldo) + Val(saldosukarela) txtsaldosukarela.Text = saldosukarela sql = " SELECT * FROM tbanggota "&_ " WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") End If sql = " SELECT * FROM vwsetoran "&_ " WHERE id_simpanan='" & txtidsimpanan & "'" Adodc1.RecordSource = sql Adodc1.Refresh Else MsgBox "Data Simpanan Tidak Ada!", vbInformation, "Data Simpanan" txtidsimpanan.Text = "" txtidsimpanan.SetFocus Exit Sub End If txtidsimpanan.Enabled = False txtidtransaksi.Enabled = True txtidtransaksi.SetFocus Adodc2.RecordSource = sql2 Adodc2.Recordset.MoveFirst a = Adodc2.Recordset.RecordCount For i = 0 To a If DataGrid2.Columns(0) = txtidsimpanan Then Exit Sub End If Adodc2.Recordset.MoveNext Next End If End Sub Private Sub cmdrefresh_Click() Dim sql As String Dim i, a As Single Adodc1.Refresh sql = " SELECT * FROM tbtabungan ORDER BY id_simpanan" Adodc2.RecordSource = sql End Sub Sub bersih() txtidsimpanan.Enabled = True txtidsimpanan.SetFocus txtidsimpanan.Text = "" txtidanggota.Text = "" txtidsimpanan.Text = "" txtnama.Text = "" txtalamat.Text = "" txtsaldo.Text = "" txtjmlsetor.Text = "" txtket.Text = "" txtnamatransaksi.Text = "" txtjenis.Text = "" 'txtidtransaksi.Text = "" txtsaldosukarela.Text = "" End Sub Sub tidaksiap() cmdtambah.Enabled = False 'txtidtransaksi.Enabled = False txtjmlsetor.Enabled = False txtket.Enabled = False cmdtmbtr.Enabled = False cmdselesai.Enabled = False End Sub Private Sub Form_Load() Set conn = New ADODB.Connection conn.Open "koperasi" DTPicker1 = Date autonumber loadidtransaksi 147 End Sub Private Sub Form_Unload(Cancel As Integer) conn.Close Set conn = Nothing End Sub Sub autonumber() Dim sql As String Dim nilaiangsuran, nomorsetor As Double sql = " SELECT * FROM tbsetoran ORDER BY no_bukti_setor" Set rs = conn.Execute(sql) Adodc3.RecordSource = sql Label12.Caption = Adodc3.Recordset.RecordCount If Adodc3.Recordset.RecordCount > 0 Then Adodc3.Refresh sql = "SELECT * FROM tbsetoran ORDER BY no_bukti_setor" Adodc3.RecordSource = sql Adodc3.Recordset.MoveLast txtnosetor.Text = DataGrid3.Columns(0).Text nomorsetor = txtnosetor nilaiangsuran = Val(nomorsetor) + 1 If Len(nilaiangsuran) < 2 Then txtnosetor.Text = "0000" & nilaiangsuran Exit Sub End If If Len(nilaiangsuran) < 3 Then txtnosetor.Text = "000" & nilaiangsuran Exit Sub End If If Len(nilaiangsuran) < 4 Then txtnosetor.Text = "00" & nilaiangsuran Exit Sub End If If Len(nilaiangsuran) < 5 Then txtnosetor.Text = "0" & nilaiangsuran Exit Sub End If Else txtnosetor.Text = "00001" End If End Sub Private Sub txtnosetor_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Len(txtnosetor.Text) = 0 Then MsgBox "Nomor Bukti Setor Masih Kosong", vbInformation, "No Bukti Setor" txtnosetor.SetFocus Exit Sub End If Dim sql As String sql = " SELECT * FROM tbsetoran " &_ " WHERE no_bukti_setor='" & txtnosetor & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then MsgBox "No Bukti Setor Sudah Ada", vbCritical, "No Bukti Setor" txtnosetor.Text = "" txtnosetor.SetFocus Else txtnosetor.Enabled = False txtidsimpanan.Enabled = True txtidsimpanan.SetFocus End If End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 148 End If End Sub Sub isilagi() 'txtidtransaksi.Text = "" txtnamatransaksi.Text = "" txtjenis.Text = "" txtket.Text = "" txtjmlsetor.Text = "" txtjmlsetor.Enabled = False txtket.Enabled = False txtidtransaksi.Enabled = True txtidtransaksi.SetFocus End Sub Sub bersihcetak() txtidsimpanan.Text = "" txtidanggota.Text = "" txtidsimpanan.Text = "" txtnama.Text = "" txtalamat.Text = "" txtsaldo.Text = "" txtjmlsetor.Text = "" Form Pinjaman Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim saldopinjaman, totalsaldo As Double Private Sub cmdbatal_Click() bersih tidaksiap End Sub Private Sub cmdcari_Click() frmcarianggota.Show End Sub Private Sub cmdcek_Click() If Len(txtidanggota.Text) = 0 Then txtket.Text = "" txtnamatransaksi.Text = "" txtjenis.Text = "" 'txtidtransaksi.Text = "" End Sub Sub loadidtransaksi() Dim sql, nama(10), namatrans(10) As String Dim i As Integer i=1 sql = " SELECT * FROM tbjenis ORDER BY id_transaksi " Set rs = conn.Execute(sql) Do While Not rs.EOF nama(i) = rs.Fields("id_transaksi") namatrans(i) = rs.Fields("nama") txtidtransaksi.AddItem nama(i) & " " & namatrans(i) i=i+1 rs.MoveNext Loop End Sub MsgBox "ID Anggota Belum Diisi", vbInformation, "ID Anggota" Else Dim sql As String sql = "SELECT * FROM tbtabungan WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txttglbuat = rs.Fields("tgl_buat") totalsaldo = rs.Fields("saldo_sukarela") End If tglbuat = DTPicker1.Value txttglbuat.Value If tglbuat < 90 Then MsgBox "Belum memenuhi syarat untuk mengambil pinjaman", vbCritical, "Syarat" Exit Sub 149 Else txtbesar.Enabled = True txtbesar.SetFocus End If End If End Sub Private Sub cmdcetak_Click() Dim sql As String nomorpinjaman = InputBox("Masukkan ID Pinjaman!", "ID Pinjaman") nomorpinjaman = UCase(nomorpinjaman) sql = "SELECT * FROM tbpinjaman WHERE id_pinjaman='" & nomorpinjaman & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then DTPicker2 = rs.Fields("tgl_pinjam") txtbesar = rs.Fields("jumlah") txtjasa = rs.Fields("jasa") txtidanggota = rs.Fields("id_anggota") txtsisa = rs.Fields("sisa_bayar") End If sql = "SELECT * FROM tbanggota WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") End If rptcetak_pinjaman.Sections("section 4").Controls.Item("idpinjaman").Cap tion = nomorpinjaman rptcetak_pinjaman.Sections("section 4").Controls.Item("tglrealisasi").Capt ion = DTPicker2.Value rptcetak_pinjaman.Sections("section 4").Controls.Item("besarpinjaman"). Caption = txtbesar.Text rptcetak_pinjaman.Sections("section 4").Controls.Item("jasa").Caption = txtjasa.Text rptcetak_pinjaman.Sections("section 4").Controls.Item("idanggota").Capti on = txtidanggota.Text rptcetak_pinjaman.Sections("section 4").Controls.Item("nama").Caption = txtnama.Text rptcetak_pinjaman.Sections("section 4").Controls.Item("alamat").Caption = txtalamat.Text rptcetak_pinjaman.Sections("section 4").Controls.Item("sisapinjaman").C aption = txtsisa.Text dtenv.cetak_pinjaman nomorpinjaman rptcetak_pinjaman.Refresh rptcetak_pinjaman.Show dtenv.rscetak_pinjaman.Close txtidanggota.Text = "" txtnama.Text = "" txtalamat.Text = "" txtbesar.Text = "" txtjasa.Text = "" txtjumlah.Text = "" txtjatuh.Text = "" txttotal.Text = "" txtsisa.Text = "" tidaksiap End Sub Private Sub cmdkeluar_Click() frmutama.Visible = True Unload Me End Sub Private Sub cmdtambah_Click() If Len(txtnama.Text) = 0 Then MsgBox "ID Anggota Belum Diisi", vbInformation, "ID Anggota" Exit Sub ElseIf Len(txtidpinjaman.Text) = 0 Then MsgBox "ID Pinjaman Belum Diisi", vbInformation, "ID Pinjaman" 150 txtidpinjaman.SetFocus Exit Sub ElseIf Len(txtbesar.Text) = 0 Then MsgBox "Besar Pinjaman Belum Diisi", vbInformation, "Besar Pinjaman" txtbesar.SetFocus Exit Sub ElseIf Len(txtjasa.Text) = 0 Then MsgBox "Jasa Belum Diisi", vbInformation, "Jasa" txtjasa.SetFocus Exit Sub ElseIf Len(txtlama.Text) = 0 Then MsgBox "Jangka Waktu Belum Diisi", vbInformation, "Jangka Waktu" txtlama.SetFocus Exit Sub End If Dim sql As String sql = "INSERT INTO tbpinjaman(id_pinjaman,id_anggota, tgl_pinjam,besar_pinjam,jasa,jumlah ,lama,tgl_realisasi,tgl_jatuh,jumlah_ bayar,sisa_bayar,jumlah_angsuran)" &_ "VALUES('" & txtidpinjaman & "','" & txtidanggota & "','" & DTPicker1 & "','" & txtbesar & "','" & txtjasa & "'," & _ "'" & txtjumlah & "','" & txtlama & "','" & DTPicker2.Value & "','" & txtjatuh & "','0','" & txtjumlah & "','" & txtbayarmin & "')" conn.Execute (sql) MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk" jawab = MsgBox("Cetak Data Sekarang?", vbQuestion + vbYesNo, "Cetak Data") If jawab = vbYes Then rptcetak_pinjaman.Sections("section 4").Controls.Item("idpinjaman").Cap tion = txtidpinjaman rptcetak_pinjaman.Sections("section 4").Controls.Item("tglrealisasi").Capt ion = DTPicker2.Value rptcetak_pinjaman.Sections("section 4").Controls.Item("besarpinjaman"). Caption = txtbesar.Text rptcetak_pinjaman.Sections("section 4").Controls.Item("jasa").Caption = txtjasa.Text rptcetak_pinjaman.Sections("section 4").Controls.Item("idanggota").Capti on = txtidanggota.Text rptcetak_pinjaman.Sections("section 4").Controls.Item("nama").Caption = txtnama.Text rptcetak_pinjaman.Sections("section 4").Controls.Item("alamat").Caption = txtalamat.Text rptcetak_pinjaman.Sections("section 4").Controls.Item("sisapinjaman").C aption = txtsisa.Text dtenv.cetak_pinjaman nomorpinjaman rptcetak_pinjaman.Refresh rptcetak_pinjaman.Show dtenv.rscetak_pinjaman.Close txtidanggota.Text = "" txtnama.Text = "" txtalamat.Text = "" txtbesar.Text = "" txtjasa.Text = "" txtjumlah.Text = "" txtjatuh.Text = "" txttotal.Text = "" txtsisa.Text = "" tidaksiap Else 151 bersih tidaksiap End If autonumber Adodc1.Refresh rs.Close End Sub Private Sub Command1_Click() End Sub Private Sub DTPicker2_Change() txtjatuh.Text = DTPicker2.Value + txtlama.Text End Sub Private Sub Form_Activate() 'bersih tidaksiap autonumber End Sub Private Sub Timer1_Timer() txttgl.Text = Date txtjam.Text = Time End Sub Private Sub txtbesar_KeyPress(KeyAscii As Integer) Dim sql As String If KeyAscii = 13 Then If Val(txtbesar.Text) <= 0 Then MsgBox "Besar Pinjaman Tidak Boleh Nol", vbCritical, "Besar Pinjaman" txtbesar.Text = "" txtbesar.Enabled = True txtbesar.SetFocus Exit Sub End If If Len(txtbesar.Text) = 0 Then MsgBox "Besar Pinjaman Harus Diisi", vbCritical, "Besar Pinjaman" txtbesar.Enabled = True txtbesar.SetFocus Else saldopinjaman = 0.7 * Val(txtbesar.Text) If totalsaldo < saldopinjaman Then MsgBox "Saldo anda tidak cukup untuk melakukan pinjaman", vbInformation, "Saldo" txtbesar.Text = "" txtbesar.SetFocus Exit Sub End If txtbesar.Enabled = False txtjasa.Text = "5" txtlama.Text = "100" cmdtambah.Enabled = True cmdtambah.SetFocus End If End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Private Sub txtidanggota_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txtidanggota.Text) = 0 Then MsgBox "ID Anggota Belum Diisi", vbInformation, "ID Anggota" Else Dim sql As String sql = "SELECT * FROM tbtabungan WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then 152 txttglbuat = rs.Fields("tgl_buat") totalsaldo = rs.Fields("saldo_sukarela") End If tglbuat = DTPicker1.Value txttglbuat.Value If tglbuat < 90 Then MsgBox "Belum memenuhi syarat untuk mengambil pinjaman", vbCritical, "Syarat" txtidanggota.Text = "" Exit Sub End If sql = "SELECT * FROM tbanggota " & _ "WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") txtbesar.Enabled = True txtbesar.SetFocus txtidanggota.Enabled = False Else MsgBox "ID Anggota Belum Terdaftar", vbCritical, "ID Anggota" txtidanggota.Enabled = True End If End If End If End Sub Private Sub txtidpinjaman_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Len(txtidpinjaman.Text) = 0 Then MsgBox "ID Pinjaman Masih Kosong", vbInformation, "ID Pinjaman" txtidpinjaman.SetFocus Exit Sub End If sql = " SELECT * FROM tbpinjaman " & _ " WHERE id_pinjaman='" & txtidpinjaman & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtidanggota = rs.Fields("id_anggota") DTPicker1 = rs.Fields("tgl_pinjam") txtbesar = rs.Fields("besar_pinjam") txtjasa = rs.Fields("jasa") txtjumlah = rs.Fields("jumlah") txtlama = rs.Fields("lama") DTPicker2 = rs.Fields("tgl_realisasi") txttotal = rs.Fields("jumlah_bayar") txtsisa = rs.Fields("sisa_bayar") sql = " SELECT * FROM tbanggota "&_ " WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") cmdcetak.Enabled = True End If Else txtidanggota.Enabled = True txttotal.Text = "0" txtsisa.Text = "0" txtidpinjaman.Enabled = False cmdtambah.Enabled = True End If End If End Sub Private Sub cmdrefresh_Click() Adodc1.Refresh Adodc2.Refresh End Sub 153 Sub bersih() txtidanggota.Enabled = True txtidanggota.Text = "" txtnama.Text = "" txtalamat.Text = "" txtbesar.Text = "" txtjasa.Text = "" txtjumlah.Text = "" txtlama.Text = "" txtjatuh.Text = "" txttotal.Text = "" txtsisa.Text = "" txtbayarmin.Text = "" txtjmlangsur.Text = "" End Sub Sub tidaksiap() cmdtambah.Enabled = False txtbesar.Enabled = False txtjasa.Enabled = False txtjmlangsur.Enabled = False End Sub Private Sub Form_Load() Set conn = New ADODB.Connection conn.Open "koperasi" DTPicker1 = Date DTPicker2 = Date autonumber End Sub Private Sub Form_Unload(Cancel As Integer) conn.Close Set conn = Nothing End Sub Private Sub txtjasa_Change() a = Val(txtjasa.Text) b = a / 100 c = Val(txtbesar.Text) * b txtjumlah.Text = Val(txtbesar.Text) +c End Sub Private Sub txtjasa_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Len(txtjasa.Text) = 0 Then MsgBox "Jasa Pinjaman Harus Diisi", vbCritical, "Jasa Pinjaman" txtjasa.Enabled = True txtjasa.SetFocus Else txtjasa.Enabled = False txtlama.Enabled = True txtlama.SetFocus End If End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Private Sub txtjmlangsur_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Len(txtjmlangsur.Text) = 0 Then MsgBox "Jumlah Angsuran Pinjaman Harus Diisi", vbCritical, "Jumlah Angsuran Pinjaman" txtjmlangsur.Enabled = True txtjmlangsur.SetFocus Else If Val(txtjmlangsur.Text) < Val(txtbayarmin.Text) Then MsgBox "Jumlah Angsuran Lebih Kecil Dari Angsuran Minimun", vbInformation, "Jumlah Angsuran" txtjmlangsur.Text = "" txtjmlangsur.SetFocus Exit Sub End If txtjmlangsur.Enabled = False 154 cmdtambah.Enabled = True cmdtambah.SetFocus 'cmdtambah.Enabled = True 'cmdtambah.SetFocus End If End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Private Sub txtlama_Change() Dim angsuran As Single If Len(txtlama.Text) = 0 Then txtlama.Enabled = True txtlama.SetFocus If txtidpinjaman.Enabled = True Then txtlama.Enabled = False txtidpinjaman.SetFocus End If Exit Sub End If txtjatuh.Text = DTPicker2.Value + txtlama.Text angsuran = Val(txtjumlah.Text) / Val(txtlama.Text) txtbayarmin.Text = angsuran End Sub Private Sub txtlama_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Len(txtlama.Text) = 0 Then MsgBox "Lama Pinjaman Harus Diisi", vbCritical, "Lama Pinjaman" txtlama.Enabled = True txtlama.SetFocus Else txtlama.Enabled = False 'txtjmlangsur.Enabled = True 'txtjmlangsur.SetFocus cmdtambah.Enabled = True cmdtambah.SetFocus 'cmdtambah.Enabled = True 'cmdtambah.SetFocus End If End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Sub autonumber() Dim sql As String Dim nilaisimpanan, nomoridsimpanan As Double sql = "SELECT * FROM tbpinjaman ORDER BY id_pinjaman" Set rs = conn.Execute(sql) Adodc3.RecordSource = sql Label17.Caption = Adodc3.Recordset.RecordCount If Adodc3.Recordset.RecordCount > 0 Then Adodc3.Refresh sql = "SELECT * FROM tbpinjaman ORDER BY id_pinjaman" Adodc3.RecordSource = sql Adodc3.Recordset.MoveLast txtidpinjaman.Text = DataGrid3.Columns(0).Text nomoridsimpanan = Right(txtidpinjaman, 4) nilaisimpanan = Val(nomoridsimpanan) + 1 'txtnilaibom.Text = nilaibom If Len(nilaisimpanan) < 2 Then txtidpinjaman.Text = "P" & "000" & nilaisimpanan Exit Sub End If If Len(nilaisimpanan) < 3 Then 155 txtidpinjaman.Text = "P" & "00" & nilaisimpanan Exit Sub End If If Len(nilaisimpanan) < 4 Then txtidpinjaman.Text = "P" & "0" & nilaisimpanan Exit Sub End If Else txtidpinjaman.Text = "P0001" Exit Sub End If End Sub Form Pembayaran Angsuran Set rs = conn.Execute(sql) If Not rs.EOF Then nama = rs.Fields("nama") alamat = rs.Fields("alamat") End If rptlapangsuran.Sections("section4"). Controls.Item("idanggota").Caption = idanggota rptlapangsuran.Sections("section4"). Controls.Item("nama").Caption = nama rptlapangsuran.Sections("section4"). Controls.Item("alamat").Caption = alamat dtenv.lap_angsuran idanggota rptlapangsuran.Refresh rptlapangsuran.Show dtenv.rslap_angsuran.Close End Sub Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim denda As String Dim bayar As Double Private Sub cmdbatal_Click() bersih tidaksiap End Sub Private Sub cmdcari_Click() frmcarianggota.Show End Sub Private Sub cmdcetak_Click() Dim sql As String If Len(txtidpinjaman.Text) = 0 Then Exit Sub End If Dim idanggota, nama, alamat As String sql = " SELECT * FROM tbpinjaman " & _ " WHERE id_pinjaman = '" & txtidpinjaman & "'" Set rs = conn.Execute(sql) idanggota = rs.Fields("id_anggota") sql = "SELECT * FROM tbanggota " & _ "WHERE id_anggota='" & idanggota & "'" Private Sub cmdkeluar_Click() frmutama.Visible = True Unload Me End Sub Private Sub cmdOK_Click() Dim besar, jumlah, bayar, bunga As Currency Dim lama As Single Dim sql2 As String Dim i, a As Single If Len(txtidpinjaman.Text) = 0 Then 156 MsgBox "ID Pinjaman Masih Kosong", vbInformation, "ID Pinjaman" txtidpinjaman.SetFocus Exit Sub End If sql2 = " SELECT * FROM tbpinjaman " & _ " WHERE id_pinjaman='" & txtidpinjaman & "'" Set rs = conn.Execute(sql2) If Not rs.EOF Then txtidanggota = rs.Fields("id_anggota") txtbesar = rs.Fields("besar_pinjam") txtjasa = rs.Fields("jasa") txtjumlah = rs.Fields("jumlah") txttotal = rs.Fields("jumlah_bayar") txtsisa = rs.Fields("sisa_bayar") bayar = rs.Fields("jumlah_angsuran") DTPicker2 = rs.Fields("tgl_jatuh") lama = rs.Fields("lama") sql = " SELECT * FROM tbanggota "&_ " WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") End If sql = " SELECT * FROM tbangsuran "&_ " WHERE id_pinjaman='" & txtidpinjaman & "'" Adodc1.RecordSource = sql Adodc1.Refresh Else MsgBox "Data Pinjaman Tidak Ada!", vbInformation, "Data Pinjaman" txtidpinjaman.Text = "" txtidpinjaman.SetFocus Exit Sub End If 'besar = Val(txtbesar.Text) 'lama = Val(lama) 'jumlah = besar / lama 'bunga = jumlah * 0.05 'bayar = jumlah + bunga 'txtbayar.Text = bayar If Val(txttotal.Text) = Val(txtjumlah.Text) Then MsgBox "Terima Kasih, Pinjaman Anda Telah Lunas", vbInformation, "Lunas" bersih tidaksiap Exit Sub End If txtidpinjaman.Enabled = False cmdtambah.Enabled = True cmdtambah.SetFocus If DTPicker1.Value > DTPicker2.Value Then MsgBox "Anda sudah melewati tanggal jatuh denda", vbCritical, "Jatuh Tempo" denda = "1" Else denda = "0" End If txtbayar.Text = bayar txttotal.Text = Val(txtbayar.Text) + Val(txttotal.Text) txtsisa.Text = Val(txtjumlah.Text) Val(txttotal.Text) Adodc2.RecordSource = sql2 Adodc2.Recordset.MoveFirst a = Adodc2.Recordset.RecordCount For i = 0 To a If DataGrid2.Columns(0) = txtidpinjaman Then Exit Sub End If Adodc2.Recordset.MoveNext Next 157 txttotal.Text = Val(txtbayar.Text) + Val(txttotal.Text) txtsisa.Text = Val(txtjumlah.Text) Val(txttotal.Text) 'bersih tidaksiap autonumber End Sub End Sub Private Sub Timer1_Timer() txttgl.Text = Date txtjam.Text = Time End Sub Private Sub cmdtambah_Click() Dim sql As String sql = " INSERT INTO tbangsuran(id_angsuran,id_pinjaman ,tgl_angsuran,denda,sisa)" & _ " VALUES('" & txtidangsuran & "','" & txtidpinjaman & "','" & DTPicker1.Value & "','" & Val(txtdenda.Text) & "','" & Val(txtsisa.Text) & "')" conn.Execute (sql) sql = " UPDATE tbpinjaman SET "&_ " jumlah_bayar='" & txttotal.Text & "'," & _ " sisa_bayar='" & txtsisa.Text & "'" & _ " WHERE id_pinjaman='" & txtidpinjaman.Text & "'" conn.Execute (sql) MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk" If Val(txttotal.Text) = Val(txtjumlah.Text) Then MsgBox "Terima Kasih, Pinjaman Anda Telah Lunas", vbInformation, "Lunas" End If bersih tidaksiap Adodc1.Refresh rs.Close autonumber End Sub Private Sub Form_Activate() Private Sub txtbayar_Change() If denda = "1" Then txtdenda.Text = 0.05 * Val(txtbayar.Text) End If If Val(txtbayar.Text) > Val(txtsisa.Text) Then MsgBox "Jumlah Bayar Lebih Besar Dari Jumlah Cicilan", vbInformation, "Jumlah Bayar" txtbayar.Text = "" 'txtbayar.SetFocus Exit Sub End If End Sub Private Sub txtbayar_KeyPress(KeyAscii As Integer) 'If KeyAscii = 13 Then ' If Len(txtbayar.Text) = 0 Then ' MsgBox "Jumlah Bayar Masih Kosong", vbCritical, "Jumlah Bayar" ' txtbayar.SetFocus ' Exit Sub ' End If ' ' If Val(txtbayar.Text) = 0 Then ' MsgBox "Jumlah Bayar Masih Nol", vbCritical, "Jumlah Bayar" ' txtbayar.Text = "" ' txtbayar.SetFocus ' Exit Sub 158 ' End If ' ' If Val(txttotal.Text) > Val(txtjumlah.Text) Then ' MsgBox "Total Bayar Lebih Besar Dari Jumlah Cicilan", vbCritical, "Total Bayar" ' txtbayar.Text = "" ' txtbayar.SetFocus ' Exit Sub ' End If 'txttotal.Text = Val(txtbayar.Text) + Val(txttotal.Text) 'txtsisa.Text = Val(txtjumlah.Text) Val(txttotal.Text) 'txtbayar.Enabled = False 'txtdenda.Enabled = False 'cmdtambah.Enabled = True 'cmdtambah.SetFocus 'End If 'If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then 'Beep 'KeyAscii = 0 'End If End Sub Private Sub txtdenda_KeyPress(KeyAscii As Integer) 'If KeyAscii = 13 Then 'txtdenda.Enabled = False 'cmdtambah.Enabled = True 'cmdtambah.SetFocus 'End If 'If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then 'Beep 'KeyAscii = 0 End If End Sub Private Sub txtidpinjaman_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) Dim besar, jumlah, bayar, bunga As Currency Dim lama As Single Dim sql2 As String Dim i, a As Single If KeyAscii = 13 Then If Len(txtidpinjaman.Text) = 0 Then MsgBox "ID Pinjaman Masih Kosong", vbInformation, "ID Pinjaman" txtidpinjaman.SetFocus Exit Sub End If sql2 = " SELECT * FROM tbpinjaman " & _ " WHERE id_pinjaman='" & txtidpinjaman & "'" Set rs = conn.Execute(sql2) If Not rs.EOF Then txtidanggota = rs.Fields("id_anggota") txtbesar = rs.Fields("besar_pinjam") txtjasa = rs.Fields("jasa") txtjumlah = rs.Fields("jumlah") txttotal = rs.Fields("jumlah_bayar") txtsisa = rs.Fields("sisa_bayar") bayar = rs.Fields("jumlah_angsuran") DTPicker2 = rs.Fields("tgl_jatuh") lama = rs.Fields("lama") sql = " SELECT * FROM tbanggota "&_ " WHERE id_anggota='" & txtidanggota & "'" Set rs = conn.Execute(sql) If Not rs.EOF Then txtnama = rs.Fields("nama") txtalamat = rs.Fields("alamat") End If 159 sql = " SELECT * FROM tbangsuran "&_ " WHERE id_pinjaman='" & txtidpinjaman & "'" Adodc1.RecordSource = sql Adodc1.Refresh Else MsgBox "Data Pinjaman Tidak Ada!", vbInformation, "Data Pinjaman" txtidpinjaman.Text = "" txtidpinjaman.SetFocus Exit Sub End If 'besar = Val(txtbesar.Text) 'lama = Val(lama) 'jumlah = besar / lama 'bunga = jumlah * 0.05 'bayar = jumlah + bunga 'txtbayar.Text = bayar If Val(txttotal.Text) = Val(txtjumlah.Text) Then MsgBox "Terima Kasih, Pinjaman Anda Telah Lunas", vbInformation, "Lunas" bersih tidaksiap Exit Sub End If txtidpinjaman.Enabled = False cmdtambah.Enabled = True cmdtambah.SetFocus If DTPicker1.Value > DTPicker2.Value Then MsgBox "Anda sudah melewati tanggal jatuh denda", vbCritical, "Jatuh Tempo" denda = "1" Else denda = "0" End If txtbayar.Text = bayar txttotal.Text = Val(txtbayar.Text) + Val(txttotal.Text) txtsisa.Text = Val(txtjumlah.Text) Val(txttotal.Text) Adodc2.RecordSource = sql2 Adodc2.Recordset.MoveFirst a = Adodc2.Recordset.RecordCount For i = 0 To a If DataGrid2.Columns(0) = txtidpinjaman Then Exit Sub End If Adodc2.Recordset.MoveNext Next txttotal.Text = Val(txtbayar.Text) + Val(txttotal.Text) txtsisa.Text = Val(txtjumlah.Text) Val(txttotal.Text) End If End Sub Private Sub cmdrefresh_Click() Dim sql As String Adodc1.Refresh sql = " SELECT * FROM tbpinjaman ORDER BY id_pinjaman " Adodc2.RecordSource = sql End Sub Sub bersih() txtidpinjaman.Enabled = True txtidpinjaman.Text = "" txtidpinjaman.SetFocus txtidanggota.Text = "" txtidpinjaman.Text = "" txtnama.Text = "" txtalamat.Text = "" txtbesar.Text = "" txtjasa.Text = "" txtjumlah.Text = "" txttotal.Text = "" txtsisa.Text = "" txtbayar.Text = "" txtdenda.Text = "" 160 End Sub Sub tidaksiap() cmdtambah.Enabled = False txtidangsuran.Enabled = False txtbesar.Enabled = False txtjasa.Enabled = False txtbayar.Enabled = False txtdenda.Enabled = False End Sub Private Sub Form_Load() Set conn = New ADODB.Connection conn.Open "koperasi" DTPicker1 = Date autonumber End Sub Private Sub Form_Unload(Cancel As Integer) conn.Close Set conn = Nothing End Sub Sub autonumber() Dim sql As String Dim nilaiangsuran As Double sql = " SELECT * FROM tbangsuran ORDER BY id_angsuran" Set rs = conn.Execute(sql) Adodc3.RecordSource = sql Label12.Caption = Adodc3.Recordset.RecordCount If Adodc3.Recordset.RecordCount > 0 Then Adodc3.Refresh Form Laporan Simpanan Periode Private Sub cmdcetak_Click() sql = "SELECT * FROM tbangsuran ORDER BY id_angsuran" Adodc3.RecordSource = sql Adodc3.Recordset.MoveLast txtidangsuran.Text = DataGrid3.Columns(0).Text txtnomorangsuran.Text = txtidangsuran nilaiangsuran = Val(txtnomorangsuran.Text) + 1 txtnilaiangsuran.Text = nilaiangsuran If Len(txtnilaiangsuran.Text) < 2 Then txtidangsuran.Text = "0000" & nilaiangsuran Exit Sub End If If Len(txtnilaiangsuran.Text) < 3 Then txtidangsuran.Text = "000" & nilaiangsuran Exit Sub End If If Len(txtnilaiangsuran.Text) < 4 Then txtidangsuran.Text = "00" & nilaiangsuran Exit Sub End If If Len(txtnilaiangsuran.Text) < 5 Then txtidangsuran.Text = "0" & nilaiangsuran Exit Sub End If Else txtidangsuran.Text = "00001" End If End Sub rptlapsimpananall2.Sections("section 4").Controls.Item("lblawal").Caption = dtawal.Value 161 rptlapsimpananall2.Sections("section 4").Controls.Item("lblakhir").Caption = dtakhir.Value dtenv.lap_simpananall2 dtawal.Value, dtakhir.Value rptlapsimpananall2.Refresh rptlapsimpananall2.Show dtenv.rslap_simpananall2.Close End Sub Private Sub Form_Load() Me.Top = 2000 Me.Left = 2000 Me.Width = 11000 Me.Height = 7500 dtawal.Value = Date dtakhir.Value = Date End Sub Private Sub cmdkeluar_Click() frmutama.Visible = True Unload Me End Sub Private Sub Timer1_Timer() txtjam.Text = Time txttgl.Text = Date End Sub Form Laporan Pinjaman Periode frmutama.Visible = True Unload Me End Sub Private Sub cmdcetak_Click() rptlappinjaman.Sections("section4"). Controls.Item("lblawal").Caption = dtawal.Value rptlappinjaman.Sections("section4"). Controls.Item("lblakhir").Caption = dtakhir.Value dtenv.lap_pinjaman dtawal.Value, dtakhir.Value rptlappinjaman.Refresh rptlappinjaman.Show dtenv.rslap_pinjaman.Close End Sub Private Sub cmdkeluar_Click() Private Sub Form_Load() Me.Top = 2000 Me.Left = 2000 Me.Width = 11000 Me.Height = 7500 dtawal.Value = Date dtakhir.Value = Date End Sub Private Sub Timer1_Timer() txtjam.Text = Time txttgl.Text = Date End Sub Form Laporan Angsuran Periode Private Sub cmdcetak_Click() rptlapangsuranperiode.Sections("sect ion4").Controls.Item("lblawal").Capt ion = dtawal.Value rptlapangsuranperiode.Sections("sect ion4").Controls.Item("lblakhir").Capt ion = dtakhir.Value dtenv.lap_angsuranperiode dtawal.Value, dtakhir.Value rptlapangsuranperiode.Refresh rptlapangsuranperiode.Show dtenv.rslap_angsuranperiode.Close End Sub Private Sub cmdkeluar_Click() cix frmutama.Visible = True Unload Me End Sub Private Sub Form_Load() Me.Top = 2000 Me.Left = 2000 Me.Width = 11000 Me.Height = 7500 dtawal.Value = Date dtakhir.Value = Date End Sub Private Sub Timer1_Timer() txtjam.Text = Time txttgl.Text = Date End Sub 110