• Tidak ada hasil yang ditemukan

BAB III PEMBAHASAN. keanggotaanya sampai dengan struktur organisasinya seperti keterangan di bawah

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PEMBAHASAN. keanggotaanya sampai dengan struktur organisasinya seperti keterangan di bawah"

Copied!
91
0
0

Teks penuh

(1)

25

PEMBAHASAN

3.1. Tinjauan Perusahaan

Adapun tinjauan perusahaan Koperasi Guru dan Pegawai Sejahtera SMKN 1 Cikarang Barat, akan diuraikan dari Sejarah singkat berdirinya Koperasi tersebut, keanggotaanya sampai dengan struktur organisasinya seperti keterangan di bawah ini.

3.1.1. Sejarah Koperasi Sejahtera

Koperasi Guru dan Pegawai “SEJAHTERA” SMKN 1 Cikarang Barat, didirikan berawal dari ide dan masukan dari para Guru dan Pegawai yang melihat banyaknya guru ,pegawai dan siswa di jam istirahat keluar sekolah untuk berbelanja ke Toko hanya membeli makanan ringan minuman ringan,ATK, dll. ditambah lagi guru dan pegawai ingin mensejahterakan sekolah. Akhirnya setelah di musyawarahkan didirikanlah Koperasi Guru dan Pegawai “SEJAHTERA” SMKN 1 Cikarang Barat tepatnya bulan Juli 1999, dengan Nomor : 232 / BH / KDK.10.8/ VII / 1999. Tahap awal pendaftaran sebagai anggota Koperasi adalah membayar Simpanan pokok sebesar Rp 50.000 dan simpanan wajib Rp 5.000 (1999), namun dari tahun 2011 simpanan Wajib sudah Rp 100.000 per bulan yang di potong langsung dari gaji Guru dan Pegawai Honorer sesuai dengan persetujuan dua belah pihak. Secara aturan dan akta pendirian Koperasi bertujuan untuk menyelenggarakan usaha-usaha kepentingan anggota yaitu:

1. Warung Koperasi (menjual makanan, minuman, ATK, baju, buku, dll). 2. Pinjaman uang kepada anggota dengan jasa tidak di tentukan

(2)

3. Kredit barang dengan jasa 15% 4. Jasa pembayaran Online 5. Sewa kantin

6. Jasa Fotokopi dan ATK khusus

7. Mengelola iuran harian pedagang di lingkungan SMKN 1 Cikarang Barat Langkah awal Koperasi dalam pengadaan kebutuhan anggota adalah menyediakan warung koperasi, namun tidak secara keseluruhan seperti yang ada di lingkungan masyarakat luas, Koperasi melihat kebutuhan yang diperlukan oleh anggota sehari-hari seperti Air mineral / soft drink, snack ,ATK, mesin Fotokopi, Baju, Buku dan masih banyak lagi. Seiring dengan berjalannya waktu, usaha yang dijalankan dalam penyediaan kebutuhan anggota semakin berkembang, anggota yang dimanjakan dengan kebutuhannya semakin banyak melakukan transaksi terutama soft drink dan snack. Program Koperasi semakin dikembangkan sesuai dengan tujuan diatas, dimana modal yang semakin banyak untuk disalurkan ke anggotanya, Program selanjutnya dibuka pelayanan untuk simpan pinjam terutama bagi anggota yang ingin membeli barang dan meminjam uang,tentunya dengan syarat yang telah ditentukan.

Saat ini Modal yang dimiliki oleh Koperasi Guru dan Pegawai “SEJAHTERA” SMKN 1 Cikarang Barat sudah ratusan juta rupiah sebagai Koperasi Sekolah, sehingga Koperasi Guru dan Pegawai “SEJAHTERA” SMKN 1 Cikarang Barat juga setiap tahunnya juga melakukan rapat anggota, dimana pengurus akan memaparkan tentang pengusahaannya dalam tahun buku yang lampau, pembacaan rencana kerja, anggaran Pendapatan dan belanja Koperasi untuk tahun berikutnya, tanggapan anggota terhadap rencana kerja dan anggaran belanja, serta yang ditunggu-tunggu oleh anggota yaitu penetapan pembagian Sisa Hasil Usaha.

(3)

3.1.2. Kepengurusan Koperasi Sejahtera

Kepengurusan Koperasi Guru dan Pegawai “SEJAHTERA” SMKN 1 Cikarang Barat periode 2017-2019 per tanggal 1 januari 2017 adalah sebagai berikut :

1. Penasehat : Kepala Sekolah SMKN 1 Cikarang

Barat

2. Susunan Pengurus

Ketua : H.Irman Indria P., S.Pd, MM

Sekretaris : Asep Zulfikar I.S., ST

Bendahara : Heni Budianti, S.Pd

Divisi Simpan Pinjam : Didik Triwahyanto, S.Pd Divisi Foto Copy dan ATK : Drs. Eman Indra Gunawan Divisi Kantin dan Mini Market : Sulasmi, S.Pd

Divisi Pembayaran Online : Cucu Sudrajat, S.Pd, MM

Pengembangan : Haris Munbarzan, S.Pd

3. Susunan pengawas

Ketua : Kiswaya, S.Pd, SST

Anggota : 1. Ayi Saeful Hayat, S.Pd,SST

2. Drs. Jumanto

3.1.3. Keanggotaan Koperasi Sejahtera

Pada Tahun buku 2017 terjadi perubahan jumlah karena ada anggota yang keluar dan masuk sebagai berikut :

(4)

Jumlah anggota Koperasi sampai dengan 31 Desember 2017 adalah 180 orang

Tabel III.2

. Keanggotaan Koperasi Sejahtera

NO KELUAR MASUK NO ANGGOTA NAMA ANGGOTA NO ANGGOTA NAMA ANGGOTA

1 K.11.119 Siti Masithah, A.Md K.17.225 Suci Berliana M. A. R

2 K.14.201 Supendi, S.TH K.17.226 Nurhatia Asmawati

3 K.16.220 Windi Kurnia A., S.Pd K.17.227 Puspito W, S.Pd

4 K.17.228 Achmad Sutejo, S.Pd 5 K.17.229 Yuliana Sartika,S.Pd 6 K.17.230 Alfi dwi N., S.Pd 7 K.17.231 Gayah Andaryanti, S.Pd 8 K.17.232 Ahmad Khumaidi, S.Ag

Sumber : Laporan Pertanggung Jawaban (RAT) Koperasi Guru dan Pegawai “SEJAHTERA” SMKN 1 Cikarang Barat.

3.1.4. Ketercapaian Program Koperasi Sejahtera

Besarnya Sisa Hasil Usaha (SHU) Koperasi pada tahun 2017 adalah sebagai berikut :

Tabel III.3

(5)

NO SUMBER PEMASUKAN KOPERASI 2017 JUMLAH SHU

1

WARUNG (Penjualan Makanan, minuman, ATK, baju, buku, dll)

Rp 238.507.000

2 PENJUALAN KOMPUTER KE SEKOLAH

Rp 27.500.000

3 PENJUALAN BARANG

Rp 30.187.750

4 PENJUALAN MESIN FOTO COPY

Rp 12.500.000

5 ONLINE

Rp 5.422.880

6 IURAN HARIAN KANTIN ( Jan-Des 2017)

Rp 11.610.000

7 SEWA KANTIN

Rp 22.500.000

8 IURAN LISTRIK KANTIN

Rp 1.847.500 JUMLAH Rp 350.075.130 PENGELUARAN JUMLAH

1 RAT Tahun Buku 2017

Rp 40.000.000

2 PEMBELIAN MESIN KANGEN WATER

Rp 36.513.000

(6)

3 TABUNGAN UNTUK FAMILY GATHERING

Rp 88.900.000

4 BELANJA LISTRIK SELAMA 1 TAHUN

Rp 6.609.200

5 TRANSPORT RAPAT PENGEMBANGAN KOPERASI

Rp 128.550.000

JUMLAH PENGELUARAN

Rp 300.572.200

SHU YANG AKAN DI BAGIKAN

Rp 49.502.930 1 DANA CADANGAN (20%) Rp 9.900.586 2 UNTUK ANGGOTA (50%) Rp 24.751.465 3 DANA PENDIDIKAN (2,5%) Rp 1.237.573 4 PENGURUS (15%) Rp 7.425.440 5 KESEJAHTERAAN KARYAWAN (5%) Rp 2.475.147

6 PEMBANGUNAN DAERAH KERJA (2.5%)

Rp 1.237.573

7 DANA SOSIAL (5%)

Rp 2.475.147

(7)

Pembagian Sisa Hasil Usaha (SHU) berdasarkan Anggaran Dasar BAB XIII pasal 38 adalah sebagai berikut :

Berdasarkan Peraturan Khusus pada Poin 12, Pembagian SHU untuk anggota dibagikan sebesar 90% SHU berdasarkan simpanan pokok dan wajib serta 10% berdasarkan simpanan sukarela yang sudah menyimpan 9 bulan tahun berjalan.

3.1.5. Contoh Perhitungan Sisa Hasil Usaha (SHU) Koperasi Sejahtera

Komponen data untuk perhitungan Sisa Hasil Usaha (SHU) Tabel III.4.

Contoh perhitungan Sisa Hasil Usaha (SHU) (a) TOTAL SW &SP

TOTAL SIM. SUK 31/3/2017 PROVISI DI BAGIKAN SHU ANGGOTA Rp 700.000.000 Rp 67.000.000 Rp 4.000.000 Rp 80.000.000 Tabel III.5.

Contoh Perhitungan Sisa Hasil Usaha (SHU) (b) NAMA ANGGOTA JMLH SW &SP 31/12/2017 JMLH PROVISI JMLH S. SUK 31/03/2017 SHU 1 SW &SP 0,0977 SHU 2 PROVISI 15% SHU 3 SUKARELA 0,1134 JUMLAH Sri Pardianta Rp 6.000.000 Rp 700.000 Rp15.000.000 Rp 654.000 Rp. 105.000 Rp 1.701.000 Rp2.392.000 Contoh perhitungan :

Karena pemberian provisi pembelian barang oleh anggota sebesar 15% dari pinjaman Barang, maka perhitungan untuk provisi pembelian barang dikalikan dengan 15% dari provisi yang diberikan masing-masing anggota. Adapun perhitungan Sisa Hasil Usaha (SHU) adalah sebagai berikut :

(8)

Pak Sri Pardianta = Rp.6.000.000 x (Rp. 80.000.000 – Rp. 4.000.000)/ Rp. 700.000.000) x 90%

= Rp. 6.000.000 x 0.0977 = Rp. 586.200

SHU 2 berdasarkan 15% dari provisi pembelian barang Pak Sri Pardianta = Rp. 700.000 x 15%

= Rp.105.000

SHU 3 Berdasarkan simpanan sukarela

Pak Sri Pardianta = Rp.15.000.000x(Rp.80.000.000–Rp.4.000.000) /Rp.67.000.000) x 10%

= Rp.15.000.000x0,1134 = Rp.1.701.000

Total SHU yang di terima pak Sri Pardianta =

Rp.586.200+Rp.105.000+Rp.1.701.000

= Rp.2.392.200

= Rp.2.392.000 (pembulatan)

Sisa Hasil Usaha (SHU) di bagikan apabila Laporan pertanggung jawaban pengurus pada tahun buku 2017 di terima oleh anggota. Besaran SHU yang dihitung di atas akan di bagi menjadi dua bagian, pertama sebagai transportrapat pengembangan Koperasi dan yang kedua berupa SHU, dengan pembagian yang proporsional.

3.2. Tinjauan Kasus

(9)

Bendahara setiap tahunnya merekap laporan transaksi keuangan baik pemasukan maupun pengeluaran, setelahnya di laporkan kepada sekretaris untuk dibuatkan menjadi laporan keuangan seperti Neraca dan akan menjadi Laporan Pertanggung Jawaban Tahun Buku. Dari hasil laporan yang di peroleh koperasi, maka di hitunglah perkiraan sisa hasil usaha yang akan di bagikan kepada para anggota, dan akan menjadi laporan pertanggung jawaban. Sebelum dibagikan kepada para anggota laporan pertanggung jawaban di periksa dan disetujui oleh ketua dan pengurus yang lain agar hasil laporan sesuai dengan Undang-Undang No.25 Tahun 1992 Bab IX pasal 45 dan Pasal 5 ayat 1. Kemudian laporan pertanggung jawaban yang telah disetujui akan di bagikan kepada anggota melalui Rapat Anggota Tahunan (RAT). Dan anggota akan menandatangani serah terima Sisa Hasil Usaha dengan Nominal yang di sesuaikan di dalam Amplop ukuran 22 cm x 11 cm.

(10)

Gambar III.1

Activity Diagram Proses Bisinis Sistem Berjalan

3.2.3. Dokumen Masukan

Spesifikasi sistem berjalan yaitu serangkaian dari bentuk dokumen untuk mendukung terbentuknya file-file yang di butuhkan serta informasi yang di sajikan, maka dibutuhkan masukan-masukan untuk sistem. Dokumen masukan yang terdapat pada Koperasi Guru dan Pegawai Sejahtera sebagai berikut :

1. Nama Dokumen : Neraca

Fungsi : Sebagai bukti Laporan Keuangan per tahun

Sumber : Bendahara

(11)

Media : Kertas

Jumlah : Satu Lembar

Frekuensi : Satu Tahun Sekali

Format : Lampiran A.1

2. Nama Dokumen : Laporan Keuangan

Fungsi : Sebagai bukti Laporan Keuangan keseluruhan

Sumber : Bendahara

Tujuan : Sekretaris

Media : Kertas

Jumlah : Satu Lembar

Frekuensi : Satu Tahun Sekali

Format : Lampiran A.1

3.2.4. Dokumen Keluaran

1. Nama Dokumen : Sisa Hasil Usaha (SHU)

Fungsi : Sebagai bukti penerimaan Sisa Hasil Usaha (SHU)

Sumber : Bendahara

Tujuan : Anggota

Media : Amplop

Jumlah : Satu Lembar

Frekuensi : Satu Tahun Sekali

(12)

2. Nama Dokumen : Laporan Pertanggung Jawaban

Fungsi : Sebagai bukti Laporan SHU

Sumber : Bendahara

Tujuan : Anggota

Media : kertas

Jumlah : Satu Buku

Frekuensi : Satu Tahun Sekali

Format : Lampiran A.1

3.2.5. Permasalahan Pokok

Bentuk sistem yang baik akan sangat dibutuhkan dalam organisasi apapun.Sehingga usaha-usaha yang di operasikan sesuai dengan keinginan yang di harapkan.Akan tetapi perlu disadari bahwa dengan adanya keterbatasan yang diakibatkan oleh perkembangan zaman yang sedemikian pesat mengakibatkan semua ketentuan dan cara pengolahan bentuk usaha yang sesuai dengan pengaturan aktivitas yang baik, sering menimbulkan berbagai masalah.

Melihat dari semua proses yang terjadi, ada beberapa masalah yang dihadapi di Koperasi Guru dan Pegawai Sejahtera SMKN 1 Cikarang Barat adalah pencatatan setiap perhitungan sisa hasil usaha (SHU) masih menggunakan sistem yang Manual, hal ini mempersulit dalam menghitung sisa hasil usaha setiap anggota pada akhir tahunnya. Sistem Yang digunakan masih menggunakan microsoft Excel versi 2010. Input atau output masih harus di ketik manual. Apabila data yang sudah masuk hilang atau terformat dan tidak di back up, maka data semua anggota akan hilang.

(13)

Untuk mengatasi permasalahan tersebut, maka penulis memberikan alternatif pemecahan masalah yaitu berupa program perancangan sistem informasi perhitungan SHU yang sudah terkomputerisasi. Sistem yang dimaksud mempunyai kelebihan diantaranya; dibuatkannya suatu sistem komputerisasi sehingga dalam pencatatan yang dilakukan akan lebih cepat dan akurat. Dalam pembuatan laporan lebih efektif dan kesalahan perhitungan kemungkinan sangat kecil karna menggunakan media komputer sebagai alat bantu dalam pemprosesan dan perhitungan data sehingga dapat diperoleh informasi yang lebih cepat, tepat dan akurat. Serta penyimpanan data tidak hanya dilakukan dengan di arsipkan dalam bentuk kertas, dapat juga dalam bentuk flashdisk dan harddisk.

3.3. Analisis Kebutuhan Software

3.3.1. Analisis Kebutuhan Fungsional

Berdasarkan proses perhitungan Sisa Hasil Usaha (SHU) pada Koperasi Guru dan Pegawai “SEJAHTERA” SMKN 1 Cikarang Barat, maka analisis kebutuhanya sebagai berikut :

Halaman Admin 1. Admin Login

2. Admin Mengelola Data Anggota 3. Admin Mengelola Transaksi 4. Admin Mengelola Laporan

(14)

3.3.2. Usecase Diagram 1. Usecase Halaman Login

Gambar III.2

Usecase Halaman Login

Tabel III.6.

Deskripsi Usecase Halaman Login Usecase Narative Halaman Login

Tujuan Pengurus dapat melihat data yang ada di dalam sistem halaman login Deskripsi Sistem ini memungkinkan aktor untuk masuk ke halaman login yang di

dalamnya ada input Id-pengurus, password yang akan di import ke database login dengan tekan tombol pilihan Login untuk lanjut ke sistem dan Cancel apabila batal masuk ke sistem.

Skenario Utama

Aktor Pengurus

(15)

Aksi Aktor Reaksi Sistem

1. Aktor menginput Id_pengurus Sistem akan menginput Id_pengurus sesuai yang di ketik aktor

2. Aktor menginput password Sistem akan menginput password sesuai yang di ketik aktor

3. Aktor memilih Login Sistem akan menampilkan Menu utama 4. Aktor memilih Cancel Sistem akan keluar otomatis

Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa yang di inginkan

(16)

Gambar III.3

Usecase Halaman Data Anggota

Tabel III.7.

Deskripsi Usecase Halaman Data Anggota Usecase Narative Halaman Data Anggota

Tujuan Pengurus dapat melihat dan menambah data yang ada di dalam sistem halaman data anggota

Deskripsi Sistem ini memungkinkan aktor untuk masuk ke halaman data anggota yang nantinya bisa melihat dan menambah data anggota baik data anggota lama maupun data anggota baru, dan data akan di import ke database anggota dengan tekan tombol pilihan simpan untuk lanjut ke sistem, pilihan edit untuk mengedit data yang telah di simpan, pilihan hapus untuk menghapus data yang tidak sesuai , pilihan tambah anggota untuk menambahkan anggota baru, pilihan keluar apabila ingin kembali ke menu utama dan batal apabila batal untuk keluar dari menu data anggota.

(17)

Aktor Pengurus

Kondisi Awal Aktor membuka aplikasi halaman menu data anggota

Aksi Aktor Reaksi Sistem

1. Aktor menginput data anggota Sistem akan menginput data anggota sesuai yang di ketik aktor

2. Aktor memilih Simpan Sistem akan menyimpan data anggota dan tersimpan di database sesuai yang di ketik aktor

3. Aktor memilih Edit Sistem akan mengupdate data anggota dan terupdate di database sesuai yang di ketik aktor

4. Aktor memilih Hapus Sistem akan menghapus data anggota dan terhapus di database sesuai yang di hapus aktor

5. Aktor memilih Tambah Transaksi

Sistem akan menambahkan data anggota transaksi dan tersimpan di database sesuai yang di ketik aktor

6. Aktor memilih Keluar Sistem akan keluar dari menu data anggota dan kembali ke menu utama.

7. Aktor memilih Batal Sistem akan tetap berada di menu data anggota. Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan

apa yang di inginkan

(18)

Gambar III.4

Usecase Halaman Data Transaksi

Tabel III.8.

Deskripsi Usecase Halaman Data Transaksi Use Case Narative Halaman Data Transaksi

Tujuan Pengurus dapat melihat dan menambah data yang ada di dalam sistem halaman Transaksi.

Deskripsi Sistem ini memungkinkan aktor untuk masuk ke halaman transaksi yang nantinya bisa menginput jumlah pinjaman dan jumlah provisi dan selanjutnya akan menghitung jumlah SHU, kemudian data akan di import ke database Provisi, SHU 1, SHU 2, SHU 3, dan SHU dengan tekan tombol pilihan simpan dan dilanjutkan ke halaman SHU, pilihan hitung pada SHU 1, SHU 2, SHU 3 untuk lanjut ke sistem, dan pilihan total SHU untuk lanjut ke sistem.

(19)

Aktor Pengurus

Kondisi Awal Aktor membuka aplikasi halaman menu Transaksi

Aksi Aktor Reaksi Sistem

1. Aktor menghitung Provisi Sistem akan menginput data dan menghitung Provisi dan tersimpan di database sesuai yang di ketik aktor 2. Aktor menghitung SHU 1 Sistem akan menginput data dan menghitung SHU 1

dan tersimpan di database sesuai yang di ketik aktor 3. Aktor menghitung SHU 2 Sistem akan menginput data dan menghitung SHU 2

dan tersimpan di database sesuai yang di ketik aktor 4. Aktor menghitung SHU 3 Sistem akan menginput data dan menghitung SHU 3

dan tersimpan di database sesuai yang di ketik aktor 5. Aktor menghitung Total SHU Sistem akan menginput data dan menghitung Tota

SHU dan tersimpan di database sesuai yang di ketik aktor

Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa yang di inginkan

4. Usecase Halaman DataLaporan

Gambar III.5

(20)

Tabel III.9.

Deskripsi Usecase Halaman Data Laporan Usecase Narative Halaman Data Laporan Tujuan Pengurus dapat melihat Laporan SHU

Deskripsi Sistem ini memungkinkan aktor untuk masuk ke halaman Laporan yang nantinya bisa melihat laporan dan data akan di import ke database laporan dengan tekan tombol pilihan cetak untuk lanjut ke sistem.

Skenario Utama

Aktor Pengurus

Kondisi Awal Aktor membuka aplikasi halaman menu SHU

Aksi Aktor Reaksi Sistem

1. Aktor menginput data Sisa Hasil Usaha 1

Sistem akan menginput data perhitungan SHU 1 sesuai yang di ketik aktor

2. Aktor menginput data sisa hasil usaha 2

Sistem akan menginput data perhitungan SHU 2 sesuai yang di ketik aktor

3. Aktor menginput data sisa hasil usaha 3

Sistem akan menginput data perhitungan SHU 3 sesuai yang di ketik aktor

4. Aktor memilih Hitung Sistem akan menghitung data pada setiap SHU sesuai yang di ketik aktor

5. Aktor memilih Total SHU Sistem akan menghitung keseluruhan data SHU yang telah terhitung sesuai yang di ketik aktor

6. Aktor memilih Keluar Sistem akan keluar dari menu SHU dan kembali ke menu utama.

7. Aktor memilih Batal Sistem akan tetap berada di menu SHU.

Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa yang di inginkan

(21)

3.3.3. Activity Diagram 1. Activity Diagram Halaman Login

Gambar III. 6

Activity Diagram Halaman Login

2. Activity Diagram Halaman Data Anggota

Gambar III.7

(22)

3. Activity Diagram Halaman Transaksi

Gambar III.8

Activity Diagram Halaman Transaksi

4. Activity Diagram Halaman Laporan

Gambar III.9 .

(23)

3.4. Desain

3.4.1. Database

1. Entity Relationship Diagram (ERD)

Gambar III.10

Entity Relationship Diagram (ERD)

2. Logical Record Structure (LRS)

Gambar III.11

(24)

3. Spesifikasi File 1. Spesifikasi File Data Login Nama Database : sejahterashu

Nama File : login

Tipe File : Login

Akses File : Random

Panjang Record : 20 Karakter

Field Key : id_pengurus

Tabel III.10. Spesifikasi File Data Login

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Identitas Pengurus id_pengurus Varchar 10 Primary key

2. Password password Int 10

2. Spesifikasi File Data Anggota Nama Database : sejahterashu

Nama File : anggota

Tipe File : Master Akun

Akses File : Random

Panjang Record : 106 Karakter

Field Key : id_pengurus

Tabel III.11

Spesifikasi File Data Anggota

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Nomor Anggota no_anggota Varchar 6 Primary key

2. Nama Anggota nama_anggota Varchar 25

3. Jumlah Simpanan Pokok Jmlh_sp Varchar 15 4. Jumlah Simpanan Wajib Jmlh_sw Varchar 15

(25)

5. Jumlah Sukarela Jmlh_suk Varchar 15

6. Jumlah Barang Jmlh_brng Varchar 15

7. Jumlah Uang Jmlh_uang Varchar 15

3. Spesifiksai File Provisi

Nama Database : sejahterashu

Nama File : provisi

Tipe File : Transaksi

Akses File : Random

Panjang Record : 136 Karakter

Field Key : no_anggota

Tabel III.12. Spesifikasi File Provisi

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Nomor Anggota no_anggota Varchar 6 Primary key

2. Nama Anggota nama_anggota Varchar 25

3. Jumlah Pinjaman Uang Uang Varchar 15 4. Jumlah Pinjaman Barang Barang Varchar 15

5. Jumlah Pinjaman Jmlh_pnjmn Varchar 15

6. Jumlah Provisi Jmlh_prov Varchar 15

7. Jumlah Simpanan Wajib Sw Varchar 15 8. Jumlah Simpanan Pokok Sp Varchar 15 9. Jumlah Simpanan Wajib dan Pokok

(26)

4. Spesifikasi File Data SHU 1 Nama Database : sejahterashu

Nama File :shu1

Tipe File : Transaksi

Akses File : Random

Panjang Record : 76 Karakter

Field Key : no_anggota

Tabel III.13.

Spesifikasi File Data SHU 1

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Nomor Anggota no_anggota Varchar 6 Primary key

2. Nama Anggota nama_anggota Varchar 25

3. Jumlah Simpanan Wajib dan

Simpanan Pokok

jmlh_swsp Varchar 15

4. Jumlah Sisa Hasil Usaha (SHU)

jmlh_shu Varchar 15

5. Total Sisa Hasil Usaha (SHU) yang ke satu

tot_shu1 Varchar 15

5. Spesifikasi File Data SHU 2 Nama Database : sejahterashu

Nama File :shu2

Tipe File : Transaksi

Akses File : Random

Panjang Record : 76Karakter

(27)

Tabel III.14.

Spesifikasi File Data SHU 2

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Nomor Anggota no_anggota Varchar 6 Primary key

2. Nama Anggota nama_anggota Varchar 25

3. Jumlah Provisi jmlh_prov Varchar 15

4. Provisi prov Varchar 15

5. Total Sisa Hasil Usaha (SHU) yang ke dua

tot_shu2 Varchar 15

6. Spesifikasi File Data SHU 3 Nama Database : sejahterashu

Nama File :shu3

Tipe File : Transaksi

Akses File : Random

Panjang Record : 76 Karakter

Field Key : no_anggota

Tabel III.15.

Spesifikasi File Data SHU 3

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Nomor Anggota no_anggota Varchar 6 Primary key

2. Nama Anggota nama_anggota Varchar 25

3. Jumlah Uang Sukarela

jmlh_suk Varchar 15

4. Sukarela suk Varchar 15

5. Total Sisa Hasil Usaha (SHU) yang ke tiga

(28)

7. Spesifikasi File Data SHU Nama Database : sejahterashu

Nama File :shu

Tipe File : Transaksi

Akses File : Random

Panjang Record :76 Karakter

Field Key : no_anggota

Tabel III.16. Spesifikasi File Data SHU

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Nomor Anggota no_anggota Varchar 6 Primary key

2. Nama Anggota nama_anggota Varchar 25

3. Total Sisa Hasil Usaha (SHU) yang ke satu

tot_shu1 Varchar 15

4. Total Sisa Hasil Usaha (SHU) yang ke dua

tot_shu2 Varchar 15

5. Total Sisa Hasil Usaha (SHU) yang ke tiga

tot_shu3 Varchar 15

6. Jumlah Total Sisa Hasil Usaha (SHU)

jmlh_shu Varchar 6

8. Spesifikasi File Data Laporan Nama Database : sejahterashu

Nama File : laporan

Tipe File : Laporan

Akses File : Random

Panjang Record : 183 Karakter

(29)

Tabel III.17.

Spesifikasi File Data Laporan

No Elemen Data Akronim Tipe panjang keterangan

1 Nomor No Varchar 2

2 Nomor anggota No_anggota Varchar 6 Primary key

3 Nama anggota Nama_anggota Varchar 25

4 Pinjaman uang Uang Varchar 15

5 pinjaman barang Barang Varchar 15

6 Jumlah pinjaman Jmlh_pnjmn Varchar 15

7 Jumlah simpanan pokok

dan wajib Jmlh_swsp

Varchar 15

8 Jumlah provisi Jmlh_prov Varchar 15

9 Jumlah sukarela Jmlh_suk Varchar 15

10 Sisa hasil usaha 1 Shu1 Varchar 15

11 Sisa hasil usaha 2 Shu2 Varchar 15

12 Sisa hasil usaha 3 Shu3 Varchar 15

13 Jumlah sisa hasil usaha Jmlh_shu Varchar 15

3.4.2. User Interface

Gambar III. 12

(30)

Gambar III. 13

User Interface form menu utama

Gambar III.14

(31)

Gambar III.15.

User Interface form Transaksi

Gambar III.16

(32)

Gambar III.17

User Interface form Laporan

Gambar III.18

(33)

3.4.3. Sequence Diagram Gambar III.19 Sequence Diagram 3.4.4. Deployment Diagram Gambar III.20 Deployment Diagram

(34)

3.5. Implementasi

3.5.1. Code Generation

1. Code Generation Form Login package kop_shu; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.swing.JOptionPane; import java.sql.DriverManager;

public class loginn extends javax.swing.JFrame { public loginn() {

initComponents();

this.setExtendedState(loginn.MAXIMIZED_VERT);} private void initComponents() {

jPanel2 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jPanel3 = new javax.swing.JPanel(); lid = new javax.swing.JLabel(); lpas = new javax.swing.JLabel(); txtid = new javax.swing.JTextField();

txtpass = new javax.swing.JPasswordField(); bcancel = new javax.swing.JButton();

blogin = new javax.swing.JButton(); jLabel2 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setBackground(new java.awt.Color(0, 0, 0));

getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jPanel2.setBackground(new java.awt.Color(0, 102, 102));

jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jLabel1.setFont(new java.awt.Font("Arial Narrow", 1, 48)); // NOI18N jLabel1.setForeground(new java.awt.Color(255, 255, 255));

jLabel1.setText("LOGIN");

jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 10, -1, -1));

jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 18)); // NOI18N jLabel4.setForeground(new java.awt.Color(255, 255, 255));

jLabel4.setText("KOPERASI GURU DAN PEGAWAI \"SEJAHTERA\""); jPanel2.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 70, 420, -1));

jLabel5.setFont(new java.awt.Font("Times New Roman", 1, 18)); // NOI18N jLabel5.setForeground(new java.awt.Color(255, 255, 255));

(35)

jPanel2.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 90, 258, -1)); getContentPane().add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, -10, 450, 130)); jPanel3.setBackground(new java.awt.Color(0, 102, 102)); jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); lid.setFont(new java.awt.Font("Arial Narrow", 1, 36)); // NOI18N lid.setText("ID_Pengurus");

jPanel3.add(lid, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 40, 250, 50));

lpas.setFont(new java.awt.Font("Arial Narrow", 1, 36)); // NOI18N lpas.setText("Password");

jPanel3.add(lpas, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 100, 210, -1));

txtid.setBackground(new java.awt.Color(255, 255, 153));

txtid.setFont(new java.awt.Font("Times New Roman", 0, 24)); // NOI18N txtid.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) { txtidActionPerformed(evt);} });

jPanel3.add(txtid, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 50, 166, -1));

txtpass.setBackground(new java.awt.Color(255, 255, 153));

txtpass.setFont(new java.awt.Font("Times New Roman", 0, 24)); // NOI18N txtpass.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) { txtpassActionPerformed(evt); }});

jPanel3.add(txtpass, new

org.netbeans.lib.awtextra.AbsoluteConstraints(220, 110, 166, -1));

bcancel.setFont(new java.awt.Font("Tw Cen MT", 1, 24)); // NOI18N bcancel.setText("Cancel");

bcancel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bcancelActionPerformed(evt); } });

jPanel3.add(bcancel, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 200, 130, -1));

blogin.setFont(new java.awt.Font("Tw Cen MT", 1, 24)); // NOI18N blogin.setText("Login");

blogin.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bloginActionPerformed(evt); } });

jPanel3.add(blogin, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 200, 120, -1));

(36)

jLabel2.setIcon(new javax.swing.ImageIcon("E:\\TUGAS AKHIR INTEN\\PROGRAM\\icon\\koperasi.png")); // NOI18N jLabel2.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jLabel2.setMaximumSize(new java.awt.Dimension(50, 50)); jLabel2.setMinimumSize(new java.awt.Dimension(10, 10)); jLabel2.setPreferredSize(new java.awt.Dimension(50, 50));

jPanel3.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 0, 310, 310)); getContentPane().add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 120, 450, 350)); pack(); setLocationRelativeTo(null); }// </editor-fold>

private void bcancelActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

System.exit(0);

}

private void txtidActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

}

private void bloginActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

String user="KS001"; String pass="123456";

String uname= txtid.getText(); String pword= txtpass.getText();

if( uname.equals(user)&&pword.equals(pass)){ this.setVisible(false);

new menu().setVisible(true); }else {

javax.swing.JOptionPane.showMessageDialog(null,"Maaf Id_pengurus Atau Password Anda Salah");

txtid.setText(""); txtpass.setText(""); txtid.requestFocus(); }

}

private void txtpassActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

(37)

} /**

* @param args the command line arguments */

public static void main(String args[]) { /* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see

http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } }

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(loginn.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex);} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(loginn.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(loginn.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(loginn.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

new loginn().setVisible(true); }}); }

// Variables declaration - do not modify private javax.swing.JButton bcancel;

(38)

private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JLabel lid; private javax.swing.JLabel lpas; private javax.swing.JTextField txtid;

private javax.swing.JPasswordField txtpass; // End of variables declaration }

2. Code Generation Form Menu Utama /*

* To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates

* and open the template in the editor. */ package kop_shu; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.view.JasperViewer; /** * * @author Uthankun */

public class menu extends javax.swing.JFrame { /**

* Creates new form menu */ public menu() { initComponents(); this.setExtendedState(menu.MAXIMIZED_VERT); } /**

* This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

(39)

private void initComponents() { left = new javax.swing.JPanel();

JleftMenuutama = new javax.swing.JLabel(); jLeftdataAnggota = new javax.swing.JLabel(); jLeftDatapengurus = new javax.swing.JLabel(); jLeftSHU = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); menuUtama = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); menuBar = new javax.swing.JMenuBar(); logout = new javax.swing.JMenu();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setBackground(new java.awt.Color(51, 153, 0)); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); left.setBackground(new java.awt.Color(0, 153, 153)); left.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); JleftMenuutama.setForeground(new java.awt.Color(255, 255, 255)); JleftMenuutama.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); JleftMenuutama.setIcon(new javax.swing.ImageIcon("E:\\TUGAS AKHIR INTEN\\PROGRAM\\icon\\home.png")); // NOI18N JleftMenuutama.setLabelFor(menuUtama); java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("kop_shu/Bundle"); // NOI18N JleftMenuutama.setText(bundle.getString("menu.JleftMenuutama.text")); // NOI18N JleftMenuutama.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) {

JleftMenuutamaMouseClicked(evt); } }); left.add(JleftMenuutama, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1)); jLeftdataAnggota.setForeground(new java.awt.Color(255, 255, 255)); jLeftdataAnggota.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); jLeftdataAnggota.setIcon(new javax.swing.ImageIcon("E:\\TUGAS AKHIR INTEN\\PROGRAM\\icon\\anggota.png")); // NOI18N

jLeftdataAnggota.setText(bundle.getString("menu.jLeftdataAnggota.text")); // NOI18N

(40)

public void mouseClicked(java.awt.event.MouseEvent evt) { jLeftdataAnggotaMouseClicked(evt); } }); left.add(jLeftdataAnggota, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 150, 90, 100)); jLeftDatapengurus.setForeground(new java.awt.Color(255, 255, 255)); jLeftDatapengurus.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); jLeftDatapengurus.setIcon(new javax.swing.ImageIcon("E:\\TUGAS AKHIR INTEN\\PROGRAM\\icon\\pengurus.png")); // NOI18N

jLeftDatapengurus.setText(bundle.getString("menu.jLeftDatapengurus.text")); // NOI18N

jLeftDatapengurus.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) {

jLeftDatapengurusMouseClicked(evt); } }); left.add(jLeftDatapengurus, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 310, 80, -1)); jLeftSHU.setForeground(new java.awt.Color(255, 255, 255)); jLeftSHU.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);

jLeftSHU.setIcon(new javax.swing.ImageIcon("E:\\TUGAS AKHIR INTEN\\PROGRAM\\icon\\shu.png")); // NOI18N

jLeftSHU.setText(bundle.getString("menu.jLeftSHU.text")); // NOI18N jLeftSHU.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jLeftSHUMouseClicked(evt);

} });

left.add(jLeftSHU, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 460, -1, 80));

jLabel4.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N jLabel4.setForeground(new java.awt.Color(255, 255, 255));

jLabel4.setText(bundle.getString("menu.jLabel4.text_1")); // NOI18N

left.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 100, -1, -1));

jLabel5.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N jLabel5.setForeground(new java.awt.Color(255, 255, 255));

jLabel5.setText(bundle.getString("menu.jLabel5.text_1")); // NOI18N

left.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 250, -1, -1));

jLabel6.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N jLabel6.setForeground(new java.awt.Color(255, 255, 255));

(41)

jLabel6.setText(bundle.getString("menu.jLabel6.text_1")); // NOI18N

left.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 400, -1, -1));

jLabel7.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N jLabel7.setForeground(new java.awt.Color(255, 255, 255));

jLabel7.setText(bundle.getString("menu.jLabel7.text_1")); // NOI18N

left.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 540, 60, 20)); getContentPane().add(left, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 110, 590)); menuUtama.setBackground(new java.awt.Color(0, 102, 102)); menuUtama.setAutoscrolls(true); menuUtama.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jLabel1.setFont(new java.awt.Font("Arial Black", 1, 48)); // NOI18N jLabel1.setForeground(new java.awt.Color(255, 255, 255));

jLabel1.setText(bundle.getString("menu.jLabel1.text")); // NOI18N

menuUtama.add(jLabel1, new

org.netbeans.lib.awtextra.AbsoluteConstraints(380, 10, 320, 50));

jLabel2.setFont(new java.awt.Font("Arial Black", 1, 18)); // NOI18N jLabel2.setForeground(new java.awt.Color(255, 255, 255));

jLabel2.setText(bundle.getString("menu.jLabel2.text")); // NOI18N

menuUtama.add(jLabel2, new

org.netbeans.lib.awtextra.AbsoluteConstraints(170, 60, 720, 50));

jLabel3.setIcon(new javax.swing.ImageIcon("E:\\TUGAS AKHIR INTEN\\PROGRAM\\icon\\koperasi.png")); // NOI18N jLabel3.setText(bundle.getString("menu.jLabel3.text")); // NOI18N menuUtama.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 180, -1, -1)); getContentPane().add(menuUtama, new org.netbeans.lib.awtextra.AbsoluteConstraints(106, 0, 1130, 590)); menuBar.setBackground(new java.awt.Color(255, 255, 255)); menuBar.setForeground(new java.awt.Color(255, 255, 255)); menuBar.setBorderPainted(false); logout.setForeground(new java.awt.Color(0, 102, 102)); logout.setText(bundle.getString("menu.logout.text")); // NOI18N logout.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { logoutMouseClicked(evt);

} });

(42)

logout.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { logoutActionPerformed(evt); } }); menuBar.add(logout); setJMenuBar(menuBar); pack(); setLocationRelativeTo(null); }// </editor-fold>

private void jLeftSHUMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here:

new laposhuu().setVisible(true); this.setVisible(false);

}

private void jLeftDatapengurusMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here

new provisi().setVisible(true); this.setVisible(false);

}

private void jLeftdataAnggotaMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here:

new Anggota().setVisible(true); this.setVisible(false);

}

private void JleftMenuutamaMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here:

new menuuu().setVisible(true); }

private void logoutActionPerformed(java.awt.event.ActionEvent evt) { }

private void logoutMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here:

new loginn().setVisible(true); this.setVisible(false);

(43)

/**

* @param args the command line arguments */

public static void main(String args[]) { /* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see

http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } }

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(menu.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(menu.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(menu.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(menu.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

new menu().setVisible(true); }

}); }

// Variables declaration - do not modify private javax.swing.JLabel JleftMenuutama;

(44)

private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLeftDatapengurus; private javax.swing.JLabel jLeftSHU;

private javax.swing.JLabel jLeftdataAnggota; private javax.swing.JPanel left;

private javax.swing.JMenu logout; private javax.swing.JMenuBar menuBar; private javax.swing.JPanel menuUtama; // End of variables declaration }

3. Code Generation Form Anggota /*

* To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates

* and open the template in the editor. */ package kop_shu; import java.awt.HeadlessException; import java.sql.Connection; import java.sql.SQLException; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; /** * * @author Uthankun */

public class Anggota extends javax.swing.JFrame { private void kosongkan_form(){

txtNo.setEditable(true); txtNo.setText(null); txtNama.setText(null); txtsp.setText(null); txtsw.setText(null); txtsuk.setText(null); txtbrng.setText(null); txtuang.setText(null); }

(45)

DefaultTableModel model = new DefaultTableModel(); model.addColumn("No."); model.addColumn("No Anggota"); model.addColumn("Nama Anggota"); model.addColumn("S.Pokok"); model.addColumn("S.Wajib"); model.addColumn("S.Sukarela"); model.addColumn("Pinjaman Barang"); model.addColumn("Pinjaman Uang"); try{ int no = 1;

String sql = "SELECT * FROM anggota";

java.sql.Connection conn = (Connection)config.configDB(); java.sql.Statement stm = conn.createStatement();

java.sql.ResultSet res = stm.executeQuery(sql); while(res.next()){ model.addRow(new Object[]{no++,res.getString(1),res.getString(2),res.getString(3),res.getString(4),res.g etString(5),res.getString(6),res.getString(7)}); } tabelAnggota.setModel(model); }catch (SQLException e){

System.out.println("Error : " + e.getMessage()); }

} /**

* Creates new form Anggota */ public Anggota() { initComponents(); tampilkan_data(); kosongkan_form(); } /**

* This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {

jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel();

(46)

jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); txtNo = new javax.swing.JTextField(); txtNama = new javax.swing.JTextField(); jScrollPane1 = new javax.swing.JScrollPane(); tabelAnggota = new javax.swing.JTable(); btnKeluar = new javax.swing.JButton(); btnSimpan = new javax.swing.JButton(); btnEdit = new javax.swing.JButton(); btnHapus = new javax.swing.JButton(); btnTambah = new javax.swing.JButton(); txtsp = new javax.swing.JTextField(); txtsw = new javax.swing.JTextField(); txtsuk = new javax.swing.JTextField(); txtbrng = new javax.swing.JTextField(); txtuang = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setFocusable(false);

setPreferredSize(new java.awt.Dimension(1236, 590)); jPanel1.setBackground(new java.awt.Color(0, 102, 102));

jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel1.setFont(new java.awt.Font("Tw Cen MT Condensed Extra Bold", 1, 36)); // NOI18N

jLabel1.setForeground(new java.awt.Color(255, 255, 255));

jLabel1.setText("Data Anggota Koperasi Guru dan pegawai \"SEJAHTERA\"");

jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 20, 870, -1));

jLabel2.setFont(new java.awt.Font("Trebuchet MS", 1, 18)); // NOI18N jLabel2.setForeground(new java.awt.Color(255, 255, 255));

jLabel2.setText("No Anggota");

jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 140, -1, -1));

jLabel3.setFont(new java.awt.Font("Trebuchet MS", 1, 18)); // NOI18N jLabel3.setForeground(new java.awt.Color(255, 255, 255));

jLabel3.setText("Nama Anggota");

jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 190, -1, -1));

(47)

jLabel4.setForeground(new java.awt.Color(255, 255, 255)); jLabel4.setText("Jumlah Simpanan Pokok");

jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 240, -1, -1));

jLabel5.setFont(new java.awt.Font("Trebuchet MS", 1, 18)); // NOI18N jLabel5.setForeground(new java.awt.Color(255, 255, 255));

jLabel5.setText("Jumlah Simpanan Wajib");

jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 290, -1, -1));

jLabel6.setFont(new java.awt.Font("Trebuchet MS", 1, 18)); // NOI18N jLabel6.setForeground(new java.awt.Color(255, 255, 255));

jLabel6.setText("Jumlah Simpanan Sukarela");

jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 340, -1, -1));

jLabel7.setFont(new java.awt.Font("Trebuchet MS", 1, 18)); // NOI18N jLabel7.setForeground(new java.awt.Color(255, 255, 255));

jLabel7.setText("Jumlah Pinjaman Barang");

jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 390, -1, -1));

jLabel8.setFont(new java.awt.Font("Trebuchet MS", 1, 18)); // NOI18N jLabel8.setForeground(new java.awt.Color(255, 255, 255));

jLabel8.setText("Jumlah Pinjaman Uang");

jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 440, -1, -1));

txtNo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { txtNoActionPerformed(evt);

} });

jPanel1.add(txtNo, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 130, 90, 30));

jPanel1.add(txtNama, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 180, 150, 30));

tabelAnggota.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N

tabelAnggota.setModel(new javax.swing.table.DefaultTableModel( new Object [][] {

{null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null} },

(48)

"Title 1", "Title 2", "Title 3", "Title 4" }

));

tabelAnggota.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) {

tabelAnggotaMouseClicked(evt); } }); jScrollPane1.setViewportView(tabelAnggota); jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(470, 90, 730, 320));

btnKeluar.setFont(new java.awt.Font("Tw Cen MT", 1, 18)); // NOI18N btnKeluar.setText("Keluar");

btnKeluar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnKeluarActionPerformed(evt);

} });

jPanel1.add(btnKeluar, new

org.netbeans.lib.awtextra.AbsoluteConstraints(1080, 490, -1, -1));

btnSimpan.setFont(new java.awt.Font("Tw Cen MT", 1, 18)); // NOI18N btnSimpan.setText("Simpan");

btnSimpan.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSimpanActionPerformed(evt);

} });

jPanel1.add(btnSimpan, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 490, -1, -1));

btnEdit.setFont(new java.awt.Font("Tw Cen MT", 1, 18)); // NOI18N btnEdit.setText("Edit");

btnEdit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnEditActionPerformed(evt);

} });

jPanel1.add(btnEdit, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 490, -1, -1));

btnHapus.setFont(new java.awt.Font("Tw Cen MT", 1, 18)); // NOI18N btnHapus.setText("Hapus");

btnHapus.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnHapusActionPerformed(evt);

(49)

});

jPanel1.add(btnHapus, new org.netbeans.lib.awtextra.AbsoluteConstraints(320, 490, -1, -1));

btnTambah.setFont(new java.awt.Font("Tw Cen MT", 1, 18)); // NOI18N btnTambah.setText("Tambah Data");

btnTambah.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnTambahActionPerformed(evt); } }); jPanel1.add(btnTambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 430, -1, -1)); txtsp.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { txtspActionPerformed(evt);

} });

jPanel1.add(txtsp, new org.netbeans.lib.awtextra.AbsoluteConstraints(279, 230, 120, 30));

jPanel1.add(txtsw, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 290, 120, 30));

jPanel1.add(txtsuk, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 340, 120, 30));

jPanel1.add(txtbrng, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 390, 120, 30));

jPanel1.add(txtuang, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 440, 120, 30));

javax.swing.GroupLayout layout = new

javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 1236, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); pack(); setLocationRelativeTo(null); }// </editor-fold>

(50)

// TODO add your handling code here: }

private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

try{

String sql = "INSERT INTO anggota VALUES ('"+txtNo.getText()+"','"+txtNama.getText()+"','"+txtsp.getText()+"','"+txtsw.getText ()+"','"+txtsuk.getText()+"','"+txtbrng.getText()+"','"+txtuang.getText()+"')";

java.sql.Connection conn = (Connection)config.configDB(); java.sql.PreparedStatement pstm = conn.prepareStatement(sql); pstm.execute();

JOptionPane.showMessageDialog(null, "Proses Simpan Data Berhasil.."); tampilkan_data();

kosongkan_form();

}catch(HeadlessException | SQLException e){

JOptionPane.showMessageDialog(this, e.getMessage()); }

}

private void btnEditActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

try{

String sql = "UPDATE anggota SET

no_anggota='"+txtNo.getText()+"',nama_anggota='"+txtNama.getText()+"',jmlh_sp= '"+txtsp.getText()+"',jmlh_sw='"+txtsw.getText()+"',jmlh_suk='"+txtsuk.getText()+"' ,jmlh_brng='"+txtbrng.getText()+"',jmlh_uang='"+txtuang.getText()+"' WHERE no_anggota = '"+txtNo.getText()+"'";

java.sql.Connection conn = (Connection)config.configDB(); java.sql.PreparedStatement pstm = conn.prepareStatement(sql); pstm.execute();

JOptionPane.showMessageDialog(null, "Edit Data Berhasil..."); }catch(HeadlessException | SQLException e){

JOptionPane.showMessageDialog(this, e.getMessage()); }

tampilkan_data(); kosongkan_form(); }

private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

try{

String sql = "DELETE FROM anggota WHERE no_anggota='"+txtNo.getText()+"'";

java.sql.Connection conn = (Connection)config.configDB(); java.sql.PreparedStatement pstm = conn.prepareStatement(sql); pstm.execute();

JOptionPane.showMessageDialog(null, "Hapus Data Berhasil..."); }catch(HeadlessException | SQLException e){

(51)

JOptionPane.showMessageDialog(this, e.getMessage()); }

tampilkan_data(); kosongkan_form(); }

private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

kosongkan_form(); }

private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

new menu().setVisible(true); this.setVisible(false);

}

private void tabelAnggotaMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here:

int baris = tabelAnggota.rowAtPoint(evt.getPoint());

String no_anggota = tabelAnggota.getValueAt(baris, 1).toString(); txtNo.setText(no_anggota);

String nama_anggota = tabelAnggota.getValueAt(baris, 2).toString(); txtNama.setText(nama_anggota);

String jmlh_sp = tabelAnggota.getValueAt(baris, 3).toString(); txtsp.setText(jmlh_sp);

String jmlh_sw = tabelAnggota.getValueAt(baris, 4).toString(); txtsw.setText(jmlh_sw);

String jmlh_suk = tabelAnggota.getValueAt(baris, 5).toString(); txtsuk.setText(jmlh_suk);

String jmlh_brng = tabelAnggota.getValueAt(baris, 6).toString(); txtbrng.setText(jmlh_brng);

String jmlh_uang = tabelAnggota.getValueAt(baris, 7).toString(); txtuang.setText(jmlh_uang);

}

private void txtspActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

} /**

* @param args the command line arguments */

(52)

public static void main(String args[]) { /* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see

http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } }

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Anggota.class.getName()).log(java.util.logging.L evel.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Anggota.class.getName()).log(java.util.logging.L evel.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Anggota.class.getName()).log(java.util.logging.L evel.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Anggota.class.getName()).log(java.util.logging.L evel.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

new Anggota().setVisible(true); }

}); }

// Variables declaration - do not modify private javax.swing.JButton btnEdit;

private javax.swing.JButton btnHapus; private javax.swing.JButton btnKeluar; private javax.swing.JButton btnSimpan;

(53)

private javax.swing.JButton btnTambah; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JPanel jPanel1;

private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable tabelAnggota; private javax.swing.JTextField txtNama; private javax.swing.JTextField txtNo; private javax.swing.JTextField txtbrng; private javax.swing.JTextField txtsp; private javax.swing.JTextField txtsuk; private javax.swing.JTextField txtsw; private javax.swing.JTextField txtuang; // End of variables declaration }

4. Code Generation Form Provisi /*

* To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates

* and open the template in the editor. */ package kop_shu; import java.awt.HeadlessException; import java.sql.Connection; import java.sql.SQLException; import java.text.DecimalFormat; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; import sun.misc.FloatingDecimal; /** * * @author Uthankun */

public class provisi extends javax.swing.JFrame { private void kosongkanprov(){

txtNo.setEditable(true); txtNo.setText(null); txtnama.setText(null); txtuang.setText(null);

(54)

txtbrng.setText(null); txtswsp.setText(null); txtprov.setText(null); }

private void tampilkanprov(){

DefaultTableModel model = new DefaultTableModel(); model.addColumn("No."); model.addColumn("No Anggota"); model.addColumn("Nama Anggota"); model.addColumn("Uang"); model.addColumn("Barang"); model.addColumn("Jumlah Pinjaman"); model.addColumn("Jumlah Provisi"); model.addColumn("Jumlah SW"); model.addColumn("Jumlah SP"); model.addColumn("Jumlah SWSP"); try{ int no = 1;

String sql = "SELECT * FROM provisi";

java.sql.Connection conn = (Connection)config.configDB(); java.sql.Statement stm = conn.createStatement();

java.sql.ResultSet res = stm.executeQuery(sql); while(res.next()){ model.addRow(new Object[]{no++,res.getString(1),res.getString(2),res.getString(3),res.getString(4),res.g etString(5),res.getString(6),res.getString(7),res.getString(8),res.getString(9)}); } tabprov.setModel(model); }catch (SQLException e){

System.out.println("Error : " + e.getMessage()); }

} /**

* Creates new form provisi */ public provisi() { initComponents(); kosongkanprov(); tampilkanprov(); } /**

* This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor.

(55)

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {

jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel();

jScrollPane1 = new javax.swing.JScrollPane(); tabprov = new javax.swing.JTable();

txtNo = new javax.swing.JTextField(); txtnama = new javax.swing.JTextField(); txtuang = new javax.swing.JTextField(); txtbrng = new javax.swing.JTextField(); txtswsp = new javax.swing.JTextField(); txtprov = new javax.swing.JTextField(); simpan = new javax.swing.JButton(); hapus = new javax.swing.JButton(); edit = new javax.swing.JButton(); next = new javax.swing.JButton(); txt15 = new javax.swing.JTextField(); jLabel10 = new javax.swing.JLabel(); jLabel11 = new javax.swing.JLabel(); jLabel12 = new javax.swing.JLabel(); txtpnjmn = new javax.swing.JTextField(); txtsw = new javax.swing.JTextField(); txtsp = new javax.swing.JTextField(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jPanel1.setBackground(new java.awt.Color(0, 102, 102)); jPanel1.setForeground(new java.awt.Color(255, 255, 255)); jPanel1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jPanel1.setMaximumSize(new java.awt.Dimension(1180, 540)); jPanel1.setPreferredSize(new java.awt.Dimension(1180, 540)); jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N jLabel1.setText("Karena pemberian provisi pembelian barang oleh anggota sebesar 15% ");

Gambar

Tabel III.2
Gambar III.1
Gambar III.2  Usecase Halaman Login
Gambar III.3
+7

Referensi

Dokumen terkait

Waktu perolehannya harta tersebut yaitu, harta yang diperoleh baik sendiri-sendiri atau bersama suami-istri selama dalam ikatan perkawinan berlangsung tanpa mempersoalkan

Ada yang lain yaitu kolam yang pada saat pembuatannya menggunakan pupuk organik atau pupuk kandang juga akan membuat   pertumbuhan tanaman air lebih baik dan ikan

Selasa, 2 Maret 2010 Konsultasi dosen pembimbing Dilakukan formulasi ulang dengan penambahan sukrosa 75%, perlakuan faktor I diganti % penambahan bahan pengisi dekstrin ke

Membuat sebuah sistem yang dapat digunakan untuk membantu memberikan rekomendasi pengambilan keputusan pemilihan metode kontrasepsi yang sesuai dengan kondisi

Kemudian anak manusia berada pada masa kanak- kanak pada usia 3- 5 tahun yang disebut masa bertanya dan ditandai dengan pertumbuhan fisik yang mulai berkembang serta pandai

Teori tektonik lempeng (plate tectonic) adalah teori yang menjelaskan pergerakan yang terjadi di kulit bumi sehingga memunculkan bentuk permukaan bumi seperti

tidak layak (bau, bocor), sebesar 132; kerusakan komponen mesin, sebesar 120; terganggunya suplai listrik, sebesar 116; adanya produk baru yang sedang diproduksi pada

Pendekatan yang lain adalah, fraud terjadi karena adanya faktor predisposisi (predisposing factors), yaitu alasan untuk melakukan tindakan fraud, faktor pemungkin