analisis dan perancangan 3.1 riwayat sekolahthesis.binus.ac.id/doc/bab3/2011-2-00951-if...
TRANSCRIPT
43
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Riwayat Sekolah
Minat dan kebutuhan masyarakat akan pendidikan bagi anak – anak
mereka membawa Sekolah Santo Yakobus untuk lebih mengembangkan fasilitas
dan siap untuk menghasilkan anak – anak yang bermoral, berkualitas, dan
bersifat peka akan lingkungan sekitar terlebih terhadap kebutuhan sesama.
Koperasi Bina Kasih Sekolah Santo Yakobus berdiri atas dasar keputusan
yayasan agar kesejahteraan guru dan para staff yang bekerja di Sekolah Santo
Yakobus dapat diperhatikan.
3.1.1 Sejarah Sekolah
Pada mulanya, Yayasan Santo Yakobus berdiri pada tanggal 23
Agustus 1989, pendirian Yayasan Santo Yakobus menjadi sebuah titik
awal dalam pelayanan dibidang pendidikan dan kesehatan.
.Sebagai perwujudan niat mulia dari yayasan dalam pastoral
pendidikan untuk umat paroki dan masyarakat sekitar, maka pada tahun
pelajaran 1989/1990 Sekolah Dasar Santo Yakobus dimulai. Karena
minat dan kebutuhan umat serta masyarakat akan pendidikan bagi anak –
anak mereka, maka pada tahun pelajaran 1990/1991 dimulai pendidikan
pra sekolah yaitu TK Santo Yakobus dengan kelas TK-A dan TK-B.
Untuk menjamin kelanjutan dari pendidikan jenjang SD maka pada tahun
44
pelajaran 1995/1996 didirikan SMP Santo Yakobus dan pada tahun
pelajaran 1998/1999 berdirilah SMA Santo Yakobus.
Untuk pelayanan pastoral di bidang kesehatan Gereja St. Yakobus
sejak tahun 1988 telah mendirikan suatu Balai Kesehatan Masyarakat
(Balkesmas) dengan unit pelayanan: Poliklinik Umum, Poliklinik Gigi,
pelayanan KB, Posyandu, dan kegiatan donor darah. Balkesmas ini diberi
nama “Bina Kasih”. Balkesmas ini melayani pemeriksaan dan perawatan
kesehatan para murid dan siswa / siswi Sekolah Santo Yakobus maupun
umat dan warga masyarakat umum.
3.2 Struktur Organisasi Sekolah
Struktur organisasi adalah alat dalam mencapai tujuan perusahaan. Agar tujuan
tersebut tercapai, maka pelaksanaannya perlu dilakukan koordinasi yang baik, evaluasi,
pengarahan, dan juga program yang terarah dan terencana. Untuk mengetahui dengan
jelas struktur kerangka pembagian tugas dan tanggung jawab serta wewenang setiap
anggota, berikut ini disajikan bagan struktur Koperasi Bina Kasih Sekolah Santo
Yakobus yang disertai penjelasan dari masing- masing bagian. Berikut ini adalah
struktur organisasi dari Koperasi Sekolah Santo Yakobus:
45
Gambar 3.1 Struktur Organisasi Yayasan Sekolah Santo Yakobus
3.2.1 Tugas dan Wewenang
1. Dewan Pembina
Pada bagian ini Dewan Pembina yang memiliki wewenang untuk
mengangkat dan memberhentikan dewan pengurus dan staff, menerima
dan menolak laporan pertanggungan jawaban hasil dari laporan yang
46
diberikan dari setiap bagian, menentukan hal – hal yang perlu
dijalankan oleh pengurus namun sesuai dengan visi misi yang ada.
2. Ketua Pengurus
Pada bagian ini Ketua Pengurus memiliki sebuah tanggung jawab
dalam memonitoring setiap staff atau pengurus yang berkerja pada
baguan yang telah ditentukan, mengendalikan seluruh kegiatan di
yayasan, menerima laporan dari kegiatan yang dijalankan, mengambil
keputusan atas hal-hal yang dianggap penting bagi kelancaran
kegiatan yayasan.
3. Bendahara
Pada bagian ini Bendahara akan melakukan pencatatan laporan
keuangan dari setiap anggota yang berada pada koperasi, memberikan
laporan keuangan kepada ketua pengurus kemudian dapat
memberikan laporan bulanan untuk setiap anggota, membantu dalam
mengolah keuangan yayasan.
4. Sekretaris Umum
Setiap kegiatan acara yang ada dari dalam maupun dari luar
yayasan akan dibukukan, memberikan informasi penting dari hasil
rapat kepada ketua pengurus dalam mengkoordinasi anggota yayasan
dari setiap unit.
5. Ketua I, II, III, IV
Hasil rapat besar dan instruksi yang diberikan oleh ketua pengurus
akan dibantu pada bagian ini untuk melakukan koordinasi kepada
setiap staff yang berada di bawah dari masing – masing bagian.
47
6. Ketua Pelaksana Harian
Mengawasi dan membimbing kinerja satuan tugas agar tetap
sejalan dengan visi dan misi dari yayasan. Melakukan pembinaan dan
pengarahan dalam pencapaian program kerja yang telah dibuat.
7. Kepala Bidang Pengendalian dan Penelitian Pengembangan (Kabid
Litbang)
Kepala Bidang Pengendalian dan Penelitian Pengembangan
melakukan koordinasi penyusunan program kerja dalam
melaksanakan pengendalian dan evaluasi pelaksanaan program atau
kegiatan yang diadakan oleh yayasan serta penelitian dan
pengembangan perencanaan yayasan.
8. Kepala Bidang Pendidikan (Kabid Pendidikan)
Kepala Bidang Pendidikan melakukan penyusunan rencana
program dan kegiatan pendidkan, pemberdayaan dan peningkatan
kualitas sumber daya manusia, pelaksanaan monitoring, evaluasi, dan
pelaporan, pelaksanaan tugas lainnya yang diberikan oleh ketua
pengurus dalam ruang lingkup Sekolah Santo Yakobus.
9. Kepala Bidang Keuangan dan Akunting (Kabid Keu & akt)
Pada bagian ini Kepala Bidang Keuangan dan Akunting
mengkoordinasikan pengendalian kegiatan Akuntansi Manajemen,
Keuangan, Sistem Informasi Keuangan, dan kegiatan Pembinaan
Usaha Kecil & Koperasi (PUKK), melakukan analisis terhadap
laporan keuangan dan laporan akuntansi manajemen yayasan,
melaksanakan pengendalian dan pengawasan bidang keuangan sesuai
48
dengan target yang ditentukan, mengkoordinasikan penyusunan
Rencana Kerja dan Anggaran Perusahaan (RKAP), mengevaluasi dan
menyampaikan laporan keuangan untuk setiap bulannya.
10. Kepala Bagian Rumah Tangga (Kabag Urt)
Pada bagian ini melakukan tugas dalam penyusunan perencanaan
pengadaan sarana dan prasarana yayasan, melakukan
penginventarisasian sarana dan prasarana, menyusun petunjuk
pelaksanaan penyimpanan sarana dan prasarana, melakukan
pemeliharaan dan melakukan evaluasi dan pelaporan hasil kegiatan
Sub Bagian Rumah Tangga.
11. Kepala Bagian Human Resource Development dan Hubungan
masyarakat (Kabag HRD dan Humas)
Menyusun strategi dan kebijakan pengelolahan Sumber Daya
Manusia di yayasan, melakukan koordinasi dan kontrol pelaksanaan
fungsi sumber daya manusia diseluruh yayasan, menyusun sistem
manajemen kinerja serta melakukan koordinasi dan mengontrol
pelaksanaan siklus manajemen kerja, menyusun program pelatihan
dan pengembangan untuk mencapai target tingkat kemampuan dan
kompetensi setiap anggota.
12. Kepala Bagian Teknologi Informasi (Kabag IT)
Memeriksa kinerja sistem yang sedang berjalan dan melakukan
maintenance setiap bulan, memeriksa hardware apabila terjadi
kerusakan.
49
3.2.2 Visi dan Misi
Visi dan Misi dari Yayasan Santo Yakobus.
3.2.2.1 Visi
"Membangun umat Allah dan masyarakat dengan keseimbangan
intelektualitas, Humanitas, Sosialitas dan Religiositas melalui Pendidikan
dan Pelayanan Kesehatan dengan memberikan kesempatan yang sama
bagi semua orang (Preferential option for the poor)".
3.2.2.2 Misi
a. Memberikan kesempatan bagi anak didik untuk
mendapatkan pelayanan pendidikan yang berkualitas dan
berkesinambungan.
b. Meningkatkan dan menseimbangkan kualitas pendidikan
sesuai dengan harapan lingkungan dan ajaran katolik.
c. Mensejahterakan para pendidik sesuai dengan kompetensi
dan kinerjanya secara adil dan bertanggung jawab.
d. Memberikan pelayanan kesehatan yang terjangkau
masyarakat sekitar.
3.3 Sistem yang Sedang Berjalan
Sistem yang sedang berjalan pada Koperasi Bina Kasih Sekolah Santo
Yakobus saat ini, dalam hal pendaftaran anggota koperasi, administrasi koperasi,
pembuatan laporan bulanan koperasi, dan laporan transaksi untuk setiap anggota
koperasi.
50
3.3.1 Analisis Wawancara
Berikut ini merupakan table hasil wawancara yang dilakukan
dengan pihak yang berkaitan dengan permasalahan yang terjadi pada
sistem yang sedang berjalan.
Tabel 3.1 Draft Wawancara
Tanggal wawancara Sabtu, 31 Maret 2012
Jam wawancara 10.00 – 12.30 WIB
Tempat Ruang Kepala Sekolah Santo Yakobus Kelapa Gading
Daftar pertanyaan beserta jawaban
Q : Apakah staff di Sekolah Santo Yakobus sudah terbiasa menggunakan aplikasi
berbasis web?
A : Sekolah Santo Yakobus telah memiliki aplikasi sistem manajemen sekolah (SMS)
yang digunakan untuk pendataan siswa/siswi serta penginputan nilai, dengan itu kami
sudah terbiasa menggunakan aplikasi berbasis web.
Q : Apakah Koperasi Sekolah Santo Yakobus sudah memiliki aplikasi berbasis web?
A : Koperasi Sekolah Santo Yakobus belum memiliki aplikasi berbasis web.
Q: Bagaimana sistem yang digunakan untuk pendaftaran menjadi anggota koperasi?
A : Calon anggota akan mendaftarkan dirinya kepada kepala sekolah selaku pengurus
Koperasi Bina Kasih kemudian data calon anggota dicatat secara manual di buku
anggota koperasi.
51
Q : Apakah lebih efisien jika proses pendataan anggota dilakukan secara online?
A: Sebaiknya untuk registrasi dilakukan secara manual, dikarenakan perlunya kejelasan
mengenai informasi oleh user, namun dalam pendataan anggota dapat dilakukan di mana
saja dalam lingkungan Sekolah Santo Yakobus.
Q : Di dalam koperasi tentu ada transaksi yang dilakukan oleh anggota terhadap
koperasi, bagaimana transaksi yang sudah berjalan di Koperasi Bina Kasih?
A : Transaksi dilakukan oleh anggota dengan cara menghubungi bendahara secara tatap
muka untuk melakukan pembayaran yaitu simpanan pokok (pembayaran yang
dibayarkan pada awal masuknya anggota), simpanan wajib (pembayaran yang
dibayarkan setiap bulan sesuai ketentuan yang sudah berlaku), dan simpanan sukarela
(simpanan berupa tabungan yang dimiliki oleh anggota).
Q: Bagaimana bukti transaksi yang dimiliki oleh setiap anggota terhadap koperasi?
A: Bukti transaksi berupa buku simpanan yang dimiliki oleh setiap anggota, dan jika
melakukan transaksi maka buku tersebut akan di update sesuai dengan transaksi yang
dilakukan.
Q: Apa saja yang diharapkan oleh koperasi dengan adanya sistem yang akan dibuat?
A: Dapat mempermudah anggota untuk melihat buku simpanan, dapat membuat laporan
bulanan koperasi, pendataan transaksi secara komputerisasi, anggota dapat mengetahui
jumlah pinjaman terhadap koperasi dan dapat menghitung jumlah angsuran yang harus
dilakukan untuk melunasi pinjaman.
52
Tabel 3.2 Evaluasi Hasil Wawancara terhadap Permasalahan
No Permasalahan yang muncul Target pengguna
yang mengalami
permasalahan
Evaluasi dari
1 Kesulitan pembagian informasi
antara staff dalam sekolah.
Kepala sekolah Wawancara
2 Laporan yang kurang up to date
dan tidak berkala.
Kepala sekolah Wawancara
3 Kesulitan dalam pencarian data. Kepala sekolah Wawancara
4 Kesulitan dalam penyampaian
informasi pinjaman dan angsuran
anggota.
Kepala sekolah dan
anggota
Wawancara
5 Kesulitan dalam penyimpanan data. Kepala sekolah Wawancara
Tabel 3.3 Evaluasi Hasil Wawancara terhadap Solusi
No Target Pengguna Value yang diharapkan Mengapa Mau
Kembali
Menggunakan
Solusi
1 Pihak koperasi Data yang akurat dari anggota Melakukan
pendataan yang
dilakukan secara
tatap muka oleh
53
calon anggota
terhadap kepala
sekolah selaku
ketua koperasi
2 Kepala Sekolah Kepastian dan ketepatan dalam
pembayaran angsuran anggota
Penghitungan
peminjaman
anggota
meenggunakan
rumus akutansi
3.3.2 Pendaftaran Anggota Koperasi
Pendaftaran anggota dilakukan dengan cara manual yaitu setiap unit dari
TK, SD, SMP, SMA, Yayasan, dan Balai Kesehatan Masyarakat (Balkesmas)
yang ingin bergabung menjadi anggota dikoperasi harus mendaftarkan dirinya
dan mengisi formulir pendaftaran, kemudian pengurus koperasi akan menginput
data anggota pada buku anggota koperasi. Setiap anggota koperasi akan
mendapatkan nomor buku atau nomor anggota koperasi sebagai identitas pada
koperasi.
3.3.3 Administrasi Koperasi
Setiap karyawan atau staff yang sudah mendaftarkan dirinya untuk menjadi
anggota koperasi harus memenuhi administrasi koperasi yang ada yaitu
Simpanan Pokok (SP), Simpanan Wajib (SW), dan Simpanan Sukarela (SS).
Semua administrasi setiap anggota akan dicatat pada Kartu Simpanan dan
54
Pinjaman Anggota, semua transaksi simpanan dan pinjaman dicatat sesuai
dengan tanggal transaksi dan dilakukan penjumlahan.
3.3.4 Pembuatan Laporan Bulanan Koperasi
Pembuatan laporan bulanan dilakukan dengan manual yaitu dengan cara
mengkalkulasi semua transaksi yang dilakukan setiap anggota pada Kartu
Simpanan dan Pinjaman, kemudian dilakukan penghitungan pendapatan, beban
(pengeluaran), rugi atau laba (Sisa Hasil Usaha), Neraca (aktiva dan pasiva).
3.3.4.1 Pendapatan
Setiap pinjaman yang diberikan kepada anggota akan dikenakan
bunga yang telah disepakati bersama, besar bunga pada Koperasi Bina
Kasih Sekolah Santo Yakobus yaitu dua persen. Seluruh jumlah bunga
yang didapat dari setiap anggota akan dimasukkan kedalam
pendapatan bunga.
3.3.4.2 Beban (Pengeluaran)
Nominal dari beban didapatkan dari jumlah biaya yang
dikeluarkan untuk pembelian buku anggota, rapat, konsumsi, transportasi,
administrasi bank (pajak dan administrasi), dan lain – lain.
3.3.4.3 Rugi atau Laba (Sisa Hasil Usaha)
Sisa Hasil Usaha Koperasi merupakan pendapatan koperasi yang
diperoleh dalam satu tahun buku dikurangi biaya, penyusutan dan
55
kewajiban lainnya termasuk pajak dalam tahun buku yang bersangkutan
(pasal 45 ayat (1) UU No. 25/1992).
3.3.4.4 Neraca
Neraca adalah laporan yang berisi harta (asset), utang atau
kewajiban-kewajiban pada pihak lain (liebilities) beserta modal (capital)
dari suatu perusahaan pada saat tertentu. Oleh karena itu Neraca terdiri
dari tiga kelompok, yaitu aktiva, kewajiban, dan modal. Isi dari harta
berupa kumpulan semua barang yang nyata dan dapat dihitung seperti
kursi dan benda lain yang bernilai.
3.3.5 Laporan Peminjaman Anggota
Setiap anggota memiliki hak untuk mendapatkan pinjaman, pembayaran
dari pinjaman tersebut dapat dilakukan dengan angsuran. Ketika anggota
memiliki pinjaman dan mau melakukan pinjaman kedua maka anggota harus
melunasi minimal lima puluh persen dari jumlah pinjaman pertama. Anggota
yang ingin mengetahui jumlah angsuran yang telah dilakukan harus
menghubungi bagian keuangan koperasi untuk mendapatkan rincian dari
transaksi yang telah dilakukan oleh anggota.
3.4 Diagram Aliran Data
Sistem yang telah sedang berjalan di Koperasi Bina Kasih memiliki aliran data
yang sudah dirancang agar setiap data yang masuk dapat dimanajemen sesuai dengan
peraturan yang ada.
56
Gambar 3.2 Diagram Nol
Penjelasan mengenai diagram nol dari sistem yang sedang berjalan, Calon
anggota yang ingin menjadi anggota koperasi harus mengisi form pendaftaran, kemudian
dari form pendaftaran akan disimpan kedalam buku anggota. Calon anggota koperasi
57
yang telah menjadi anggota koperasi harus membayar administrasi yaitu simpanan wajib
yang dilakukan selama satu kali selama menjadi anggota dengan nominal yang telah
disepakati oleh koperasi. Semua transaksi yang dilakukan anggota akan dicatat oleh
admin untuk dimasukkan kedalam buku besar. Anggota yang melakukan transaksi
seperti pembayaran simpanan pokok dan sukarela akan disimpan pada bagian
pembuatan laporan, pembuatan laporan berfungsi untuk admin mendapatkan laporan
bulanan dari transaksi anggota dan anggota dapat melihat transaksinya melalui admin.
3.5 Permasalahan yang Dihadapi
Setelah melakukan analisis dan pengamatan terhadap Koperasi Bina Kasih
Sekolah Santo Yakobus dalam hal pendaftaran anggota koperasi, administrasi koperasi,
pembuatan laporan bulanan koperasi, dan laporan transaksi untuk setiap anggota
koperasi. Maka dapat disimpulkan bahwa sistem yang sedang berjalan saat ini memiliki
beberapa kekurangan, seperti:
a. Pada bagian pengumpulan data, setiap calon anggota koperasi diharuskan
untuk melakukan pengisian formulir secara manual yang kemudian akan diinput
kebuku anggota oleh admin
b. Pengolahan data, pencarian data, dan pembuatan laporan keuangan bulanan
maupun harian untuk setiap anggota dan admin sangat tidak efektif dikarenakan
jumlah data yang banyak dan penghitungan yang dilakukan secara manual.
c. Permasalahan lainnya, Database berupa buku atau kertas yang dipakai oleh
koperasi ini sangat banyak dan membutuhkan ruang untuk penyimpanan, bila
anggota koperasi membutuhkan informasi yang ada pada pembukuan, seorang
admin diharuskan mencari kembali buku anggota pada ruang penyimpanan.
58
d. Anggota koperasi tidak dapat mengakses laporan transaksinya disetiap waktu
dan tempat yang diinginkan, Anggota koperasi yang menginginkan untuk melihat
laporan transaksinya harus menghubungi admin.
e. Bila terjadi suatu perubahan data dalam skala besar seperti kematian anggota,
keluarnya anggota dikarenakan telah berhenti sebagai pekerja di Sekolah Santo
Yakobus, tidak memenuhi peraturan administrasi yang ditetapkan maka admin
akan mengalami kesulitan dalam perubahan data.
Beberapa sistem yang telah dipakai saat ini yaitu dalam penghitungan transaksi
yang dilakukan oleh anggota dan sistem pembuatan laporan tidak kami ubah dalam
mekanisme pengerjaannya dikarenakan di dalam sistem tersebut tidak dapat
diperbaharui atau sudah memenuhi kebutuhan koperasi.
3.6 Alternatif Pemecahan Masalah
Usulan yang kami tawarkan adalah sebuah sistem basis data yang lebih aman dan
fleksibel, serta admin dapat melakukan :
a. Penyimpanan secara berkala dan mempermudah dalam proses pencarian data,
waktu yang digunakan dalam mengakses data (request laporan) dapat lebih
singkat dan efisien.
b. Sistem aplikasi berbasis web ini juga mempermudah anggota dalam
mengaksesnya dikarenakan sudah terintergrasi dikomputer yang berada diarea
network Sekolah Santo Yakobus.
c. Perubahan secara up to date oleh admin dapat secara cepat diketahui oleh
anggota dengan memilih menu laporan transaksi yang ada pada aplikasi ini.
59
d. Diharapkan dengan adanya aplikasi berbasis web ini dapat mempermudah
dalam penyampaian informasi kepada anggota dan juga dapat meningkatkan
kesejahteraan anggota dan koperasi.
3.6.1 Perancangan Sistem Basis Data
3.6.1.1 Perancangan Basis Data Konseptual
3.6.1.1.1 Identifikasi Tipe Entitas
Tujuan dari tahap ini adalah untuk menentukan
entitas utama yang dibutuhkan.
Tabel 3.30 Identifikasi Tipe Entitas
Entity Name Description Aliases Occurence
user Istilah umum untuk
mendeskripsikan
pengguna yang
melakukan
transaksi .
pengguna yang
melakukan transaksi
dengan koperasi
(guru)
Setiap user
melakukan
kegiatan
registrasi
untuk melihat
tampilan
aplikasi
anggota Istilah umum untuk
mendeskripsikan
semua pengguna
koperasi yang ada
di sekolah
Setiap pengguna
yang melakukan dan
melayani transaksi
(kepala sekolah,
bendahara, guru)
Setiap anggota
koperasimmela
kukan kegiatan
transaksi dan
melayani user
untuk
bertransaksi.
unit Istilah umum untuk Unit (TK, SD, SMP, Setiap sekolah
60
mendeskripsikan
tiap-tiap unit pada
koperasi
SMA, Balkesmas,
Yayasan)
log_transaksi Mendeskripsikan
catatan semua
transaksi yang ada
di Sekolah
ST.Yakobus
Simpanan pinjam,
simpanan pokok,
simpanan sukarela,
debet
Catatan
kegiatan
transaksi yang
ada dikoperasi
meliputi
simpanan
pinjam,
simpanan
pokok,
simpanan
sukarela, debet
level_anggota Mendeskripsikan
semua level_
anggota
Master, admin,
anggota
Setiap level
user
merupakan
tingkatan user
seperti master,
admin, user
kebijakan_simpanan Mendeskripsikan
kebijakan segala
simpanan yang ada
pada koperasi di
Sekolah ST.
Yakobus
Jenis kebijakan
simpanan (Simpanan
pokok, Simpanan
wajib dan Simpanan
sukarela)
Jenis-jenis
kebijakan
simpanan
kategori_simpanan Mendeskripsikan
jenis kategori
Jenis kategori
simpanan meliputi
(Penarikan
Jenis-jenis
kategori
61
simpanan simpanan, Simpanan
pokok, Simpanan
wajib dan Simpanan
sukarela)
simpanan
saldo_simpanan Berisi data saldo
simpanan
Data-data saldo
simpanan meliputi
(id_saldo,
id_anggota,
total_sw, total_ss,
jml_saldo_simpanan
dan
waktu_update_terak
hir)
Data-data
saldo
simpanan
peminjaman
Mendeskripsikan
data peminjaman
yang ada
dikoperasi Sekolah
ST. Yakobus
Data-data
peminjaman meliputi
(id_pinjam,
id_anggota,
nominal_peminjama
n, jumlah_angsuran,
bunga,
nominal_angsuran,
status dan
tanggal_peminjaman
)
Data-data
peminjaman
koperasi
trns_Simpanan Mendeskripsikan
data transaksi
simpanan
Data-data transaksi
simpanan meliputi
(id_trns_simpanan,
id_anggota,
kategori_simpanan,
Data-data
transaksi
simpanan
koperasi
62
nominal dan
waktu_transaksi)
pendapatan_lain Mendeskripsikan
data pendapatan
lain
Data-data
pendapatan lain
meliputi
(id_pendapatan,
pendapatan,
keterangan, nominal
dan tanggal_input)
Data-data
pendapatan
lain koperasi
status_pinjaman Mendeskripsikan
status peminjaman
Data-data status
peminjaman meliputi
(baru, lunas dan
belum lunas)
Menunjukan
status
peminjaman
koperasi
pengeluaran Mendeskripsikan
data pengeluaran
Data-data
pengeluaran meliputi
(id_pengeluaran,
pengeluaran,
kategori_pengeluara
n, nominal,
keterangan_pengelua
ran,
tanggal_pengeluaran
dan tanggal_input)
Data-data
pengeluaran
koperasi
detail_angsuran_pe
minjaman
Mendeskripsikan
data detail
angsuran
peminjaman
Data-data detail
angsuran
peminjaman meliputi
(id_detail,
id_pinjam,
nominal_bayar dan
waktu_bayar)
Menunjukan
data detail
angsuran
peminjaman
koperasi
63
3.6.1.1.2 Mengidentifikasi tipe relasi atau hubungan
Pada tahap ini dilakukan pengidentifikasian tipe
relasi untuk menentukan hubungan-hubungan antara
entitas dan multiplicity dari tipe relasi yang digambarkan
dalam kamus data dan diagram ER sebagai berikut:
Tabel 3.31 Kamus Data yang Mengidentifikasi Deskripsi dari Tipe
Relasi
Entitas Multi-
plicity Relasi Entitas
Multi
-
plicit
y
user 1..1 BagianDari anggota 1..1
anggota
1..* Melakukan peminjaman 1..1
1..1 Memiliki saldo_simpan
an 1..1
1..* Memiliki log_transaksi 1..1
1..* Melakukan trns_simpana
n 1..1
peminjaman 1..* Memiliki
detail_angsur
an_peminjam
an
1..1
kategori_si
mpanan
1..* BagianDari trns_simpana
n 1..1
1..1 BagianDari kebijakan_si
mpanan 1..1
status_pinja
man 1..* BagianDari peminjaman 1..1
64
unit
1..1 Memiliki pendapatan_l
ain 1..1
1..* Memiliki Pengeluaran 1..1
1..* BagianDari Anggota 1..1
level_user 1..* BagianDari User 1..1
65
Gambar 3.43 Diagram ER konseptual
66
3.6.1.1.3 Mengidentifikasi dan Menghubungkan
Atribut dengan Tipe Entitas atau Relationship
Pada tahap identifikasi tipe atribut ini, dilakukan
identifikasi dan dijelaskan mengenai hubungan antara
atribut dengan tipe entitasnya. Hal ini dilakukan supaya
dapat mengetahui relasi yang ada pada entitas dan
atributnya masing-masing. Untuk lebih memudahkan
dalam melihat hubungan tersebut, akan diperlihatkan
melalui tabel berikut ini.
Tabel 3.32 Identifikasi dan Hubungan Atribut dengan Entitas / Tipe
Hubungan
Entity Name Attributes Description DataType &
Length Nulls
Mult
ivalu
e
user
user_id Identitas unik
dari tabel user int No No
user_name Nama untuk
login varchar(50) No No
user_password
Nama kata
sandi untuk
login
varchar (30) No No
user_level_id
Keterangan
mengenai
tingkatan user
int No No
user_creator Keterangan
mengenai int No No
67
pembuatan user
baru
create_on
Keterangan
untuk membuat
user baru
timestamp No No
anggota
id_anggota
Identitas unik
dari tabel
anggota
char (6) No No
nama_anggota Nama-nama
anggota varchar (100) No No
id_unit
Deskripsi dari
unit sekolah
(TK, SD, SMP,
SMA,
Balkesmas,
Yayasan)
char (9) No No
no_ktp Nomor KTP
anggota char (30) No No
alamat Alamat anggota text No No
tempat_lahir Tempat lahir
anggota varchar (50) Yes No
tanggal_lahir Tanggal lahir
anggota date Yes No
tanggal_gabung Tanggal gabung
anggota datetime No No
keterangan_angg
ota
Keterangan
sebagai anggota text Yes No
id_user
Anggota
memiliki
id_user
int No No
unit id_unit Identitas unik char (9) No No
68
dari tabel unit
nama_unit Nama unit
sekolah varchar (50) No No
keterangan
Keterangan unit
meliputi (TK,
SD, SMP,
SMA,
Balkesmas,
Yayasan)
varchar (255) Yes No
log_transaksi
id_transaksi
Identitas unik
dari table
transaksi
char (27) No No
id_anggota Identitas
id_anggota char (6) No No
sp
Deskripsi
mengenai data
simpanan pokok
anggota
varchar (8) Yes No
sw
Deskripsi
mengenai data
simpanan wajib
anggota
varchar (8) Yes No
ss
Deskripsi
mengenai data
simpanan
sukarela
anggota
varchar (8) Yes No
debet
Deskripsi
mengenai data
debet anggota
varchar (8) Yes No
total_sw Deskripsi varchar (8) No No
69
mengenai data
total simpanan
wajib anggota
total_ss
Deskripsi
mengenai data
total simpanan
sukarela
anggota
varchar (8) No No
total_saldo
Deskripsi
mengenai data
total saldo
anggota
varchar (8) No No
waktu_transaksi
Waktu ketika
melakukan
transaksi
timestamp No No
level_user
id_level
Identitas unik
dari tabel
level_user
int No No
nama_level Nama-nama
level user varchar (20) No No
keterangan_level
Deskripsi dari
level user
meliputi
(admin,
bendahara,
anggota)
varchar (255) Yes No
kebijakan_simp
anan
id_kebijakan_si
mpanan
Identitas unik
dari tabel
kebijakan
simpanan
int No No
kat_simpanan Deskripsi dari varchar (2) No No
70
jenis-jenis
kategori
simpanan
nominal
Deskripsi dari
banyaknya
angka nominal
float No No
berlaku
Kebijakan
berlaku sampai
kebijakan yang
di tentukan
int No No
waktu_update
Waktu ketika
mengupdate
kebijakan
timestamp No No
kategori_simpan
an
id_kategori_sim
panan
Identitas unik
dari tabel
kategori
simpanan
char (2) No No
nama_kategori_s
impanan
Nama kategori
simpanan varchar (100) No No
keterangan
Jenis-jenis
ketegori
simpanan
meliputi
(Simpanan
pokok,
Simpanan
wajib,
Simpanan
sukarela dan
Penarikan
simpanan)
varchar (255) Yes No
71
saldo_simpanan
id_saldo Identitas unik
dari tabel saldo int No No
id_anggota Jenis
id_anggota char (6) No No
total_sw
Deskripsi
mengenai data
total simpanan
wajib anggota
float No No
total_ss
Deskripsi
mengenai data
total simpanan
sukarela
anggota
float No No
jumlah_saldo_si
mpanan
Deskripsi
mengenai
jumlah saldo
simpanan
varchar (8) No No
waktu_update_te
rakhir
Deskripsi
mengenai waktu
update terakhir
timestamp No No
peminjaman
id_pinjam
Identitas unik
yang ada pada
tabel pinjam
int No No
id_anggota Identitas
id_anggota char (6) No No
nominal_peminj
aman
Deskripsi dari
banyaknya
angka nominal
peminjaman
varchar (10) No No
jumlah_angsuran Deskripsi dari
jumlah int No No
72
angsuran
peminjaman
bunga
Deskripsi dari
bunga
peminjaman
varchar (11) No No
nominal_angsura
n
Deskripsi dari
banyaknya
angka nominal
angsuran
varchar(11) No No
status Status
peminjaman int No No
tanggal_peminja
man
Tanggal
peminjaman timestamp No No
admin
Mengontrol
aktifitas
peminjaman
int No No
trns_simpanan
id_trns_simpana
n
Identitas unik
yang ada pada
tabel transaksi
simpanan
char (27) No No
id_anggota Identitas
id_anggota char (6) No No
kategori_simpan
an
Deskripsi dari
jenis-jenis
kategori
simpanan
char (2) No No
nominal
Deskripsi dari
banyaknya
angka nominal
varchar (8) No No
waktu_transaksi Waktu ketika
melakukan timestamp No No
73
transaksi
pendapatan_lain
id_pendapatan
Identitas unik
dari tabel
pendapatan lain
int No No
pendapatan
Deskripsi dari
pendapatan lain
koperasi
varchar (200) No No
keterangan
Pemasukan
koperasi di luar
bunga yang di
dapatkan dari
pembayaran
peminjaman
anggota
text No No
nominal
Deskripsi dari
banyaknya
angka nominal
varchar (12) No No
tanggal_input
tanggal ketika
menginput
pendapatan lain
timestamp No No
status_pinjaman
id_status_pinjam
an
Identitas unik
dari tabel status
pinjaman
int No No
status Menunjukan
status pinjaman varchar (50) No No
description
Menunjukan
status pinjaman
(baru, belum
lunas dan lunas)
varchar (255) No No
pengeluaran id_pengeluaran Identitas unik
dari tabel int No No
74
pengeluaran
pengeluaran
Deskripsi
pengeluaran
yang ada pada
koperasi
varchar (200) No No
kategori_pengelu
aran
Deskripsi dari
jenis-jenis
kategori
pengeluaran
(cetak buku
baru, konsumsi,
pesawat dan
lain-lain)
int No No
nominal
Deskripsi dari
banyaknya
angka nominal
varchar (12) No No
keterangan_peng
eluaran
Keterangan
pengeluaran
pada koperasi
text Yes No
tanggal_pengelu
aran
Tanggal data
pada
pengeluaran
koperasi
date No No
tanggal_input
Tanggal ketika
menginput
pengeluaran
timestamp No No
detail_angsuran
_peminjaman
id_detail
Identitas unik
dari tabel detail
angsuran
peminjaman
int No No
id_pinjam Identitas int No No
75
id_pinjam
nominal_bayar
Deskripsi dari
banyaknya
angka nominal
bayar
varchar (10) No No
waktu_bayar
Waktu ketika
melakukan
pembayaran
angsuran
timestamp No No
admin
Mengontrol
aktifitas pada
angsuran
peminjaman
int No No
keterangan
Deskripsi dari
jenis-jenis
angsuran
peminjaman
text Yes No
3.6.1.1.4 Menentukan domain atribut
Pada tahap ini adalah menentukan domain atribut,
dimana tiap atribut pada tiap entitas ditentukan domain
atau batasannya. Untuk lebih jelasnya akan diperlihatkan
melalui tabel dari domain atribut yang sudah dirancang
berikut ini.
76
Tabel 3.33 Kamus Data Domain Atribut
Entity Name Attributes Domain
user
user_id Berupa int
user_name Berupa varchar dengan
length 50
user_password Berupa varchar dengan
length 30
user_level_id Berupa int
user_creator Berupa int
create_on Berupa timestamp
anggota
id_anggota Berupa char dengan length 6
nama_anggota Berupa varchar dengan
length 100
id_unit Berupa char dengan length 9
no_ktp Berupa char dengan length
30
alamat Berupa text
tempat_lahir Berupa varchar dengan
length 50
tanggal_lahir Berupa date
tanggal_gabung Berupa datetime
keterangan_anggota Berupa text
id_user Berupa int
unit
id_unit Berupa char dengan length 9
nama_unit Berupa varchar dengan
length 50
keterangan Berupa varchar dengan
length 255
log_transaksi id_transaksi Berupa char dengan length
27
77
id_anggota Berupa char dengan length 6
sp Berupa varchar dengan
length 8
sw Berupa varchar dengan
length 8
ss Berupa varchar dengan
length 8
debet Berupa varchar dengan
length 8
total_sw Berupa varchar dengan
length 8
total_ss Berupa varchar dengan
length 8
total_saldo Berupa varchar dengan
length 8
waktu_transaksi Berupa timestamp
level_user
id_level Berupa tinyint
nama_level Berupa varchar dengan
length 20
keterangan_level Berupa varchar dengan
length 255
kebijakan_simpa
nan
id_kebijakan_simpana
n Berupa int
kat_simpanan Berupa varchar dengan
length 2
nominal Berupa float
berlaku Berupa int
waktu_update Berupa timestamp
kategori_simpan
an
id_kategori_simpanan Berupa char dengan length 2
nama_kategori_simpa Berupa varchar dengan
78
nan length 100
keterangan Berupa varchar dengan
length 255
saldo_simpanan
id_saldo Berupa int
id_anggota Berupa char dengan length 6
total_sw Berupa float
total_ss Berupa float
jumlah_saldo_simpan
an
Berupa varchar dengan
length 8
waktu_update_simpan
an Berupa timestamp
peminjaman
id_pinjam Berupa int
id_anggota Berupa char dengan length 6
nominal_peminjaman Berupa varchar dengan
length 10
jumlah_angsuran Berupa int
bunga Berupa varchar dengan
length 11
nominal_angsuran Berupa varchar dengan
length 11
status Berupa int
tanggal_peminjaman Berupa timestamp
admin Berupa int
trns_simpanan
id_trns_simpanan Berupa char dengan length
27
id_anggota Berupa char dengan length 6
kategori_simpanan Berupa char dengan length 2
nominal Berupa varchar dengan
length 8
waktu_transaksi Berupa timestamp
79
pendapatan_lain
id_pendapatan Berupa int
pendapatan Berupa varchar dengan
length 200
keterangan Berupa text
nominal Berupa varchar dengan
length 12
tanggal_input Berupa timestamp
status_pinjaman
id Berupa int
status Berupa varchar dengan
length 50
description Berupa varchar dengan
length 255
pengeluaran
id_pengeluaran Berupa int
pengeluaran Berupa varchar dengan
length 100
kategori_pengeluaran Berupa int
nominal Berupa varchar dengan
length 12
keterangan_pengeluar
an Berupa text
tanggal_pengeluaran Berupa date
tanggal_input Berupa timestamp
detail_angsuran
_peminjaman
id_detail Berupa int
id_pinjam Berupa int
nominal_bayar Berupa varchar dengan
length 10
waktu_bayar Berupa timestamp
admin Berupa int
keterangan Berupa int
80
3.6.1.1.5 Menentukan Atribut Candidate Key dan
Primary Key
Pada tahap ini adalah menentukan atribut
candidate key dan primary key. Untuk lebih jelasnya akan
diperlihatkan melalui tabel berikut ini.
Tabel 3.34 Identifikasi Kandidat dan Primary Key
Entity Name Candidate key Primary key
user
user_id user_id
user_name
user_password
user_level_id
user_creator
create_on
anggota
id_anggota id_anggota
nama_anggota
id_unit
no_ktp
alamat
tempat_lahir
tanggal_lahir
tanggal_gabung
keterangan_anggota
id_user
unit
id_unit id_unit
nama_unit
keterangan
log_transaksi id_transaksi id_transaksi
81
id_anggota
sp
sw
ss
debet
total_sw
total_ss
total_saldo
waktu_transaksi
level_user
id_level id_level
nama_level
keterangan_level
kebijakan_simpa
nan
id_kebijakan_simpan
an id_kebijakan_simpanan
kat_simpanan
nominal
berlaku
waktu_update
kategori_simpan
an
id_kategori_simpana
n id_kategori_simpanan
nama_kategori_simp
anan
keterangan
saldo_simpanan
id_saldo id_saldo
id_anggota
total_sw
total_ss
jumlah_saldo_simpa
nan
waktu_update_simpa
82
nan
peminjaman
id_pinjam id_pinjam
id_anggota
nominal_peminjaman
jumlah_angsuran
bunga
nominal_angsuran
status
tanggal_peminjaman
admin
trns_simpanan
id_trns_simpanan id_trns_simpanan
id_anggota
kategori_simpanan
nominal
waktu_transaksi
pendapatan_lain
id_pendapatan id_pendapatan
pendapatan
keterangan
nominal
tanggal_input
status_pinjaman
id id
status
description
pengeluaran
id_pengeluaran id_pengeluaran
pengeluaran
kategori_pengeluaran
Nominal
keterangan_pengelua
ran
tanggal_pengeluaran
83
tanggal_input
detail_angsuran
_peminajamn
id_detail id_detail
id_pinjam
nominal_bayar
waktu_bayar
admin
keterangan
84
Gambar 3.44 Diagram ER dengan primary key
85
3.6.1.1.6 Mempertimbangkan Penggunaan Enhanced
Modeling Concepts (Optional)
Tujuan dari langkah ini adalah untuk
mempertimbangkan penggunaan advanced modeling
concepts yang dinamakan specialization / generalization,
aggregation. Dan composition. Pada model yang sudah ada
tidak terdapat ketiga hal tersebut sehingga tahap ini tidak
dilakukan.
3.6.1.1.7 Mengecek model untuk redundansi
Dari model konseptual yang telah dibuat, tidak
ditemukan adanya dua entitas yang mempresentasikan
objek yang sama dan tidak ditemukan redudansi pada
relasi yang ada.
3.6.1.1.8 Memvalidasi Model Konseptual Lokal dengan
Transaksi Pengguna
Tujuan dari tahap ini adalah untuk memeriksa
apakah model data konseptual mendukung transaksi yang
dipakai oleh pengguna. Untuk memastikannya,
pemeriksaan digambarkan dalam bentuk jalur transaksi
atau pathway dalam diagram ER seperti yang ditampilkan
di bawah ini:
86
1..1
Gambar 3.45 Validasi Jalur Transaksi pada Diagram ER
(a,g)
(f,j)
(b,h)
(e,l)
(d,k)
(m)
(c,i)
(n)
(o)
(p)
(q)
(r)
(s)
(t)
(u)
(v)
(w)
(x)
(y)
1..1
1.1
1..*
1..1
1..1
1..*
1..*
1..1
1..1
1..*
1..*
1..*
Memiliki 1..1
1..1
87
Keterangan:
a. Penginputan, perubahan, dan penghapusan data user
b. Penginputan, perubahan, dan penghapusan data anggota
c. Penginputan, perubahan, dan penghapusan data peminjaman
d. Penginputan dan penghapusan data pengeluaran
e. Penginputan dan penghapusan data pendapatan lain
f. Pengambilan dan penginputan data simpanan
g. Melihat data user
h. Melihat data anggota
i. Melihat data peminjaman
j. Melihat data buku simpanan
k. Melihat data pengeluaran
l. Melihat data pendapatan lain
m. Melihat anggota yang melayani peminjaman
n. Melihat anggota yang melakukan transaksi simpanan
o. Melihat anggota yang memiliki saldo simpanan
p. Melihat anggota yang memiliki catatan transaksi
q. Melihat anggota yang memiliki unit
r. Melihat anggota yang melayani user
s. Melihat user yang memiliki level user
t. Melihat peminjaman yang memiliki status pinjaman
u. Melihat peminjaman yang memiliki detail angsuran peminjaman
v. Melihat simpanan yang memiliki kategori simpanan
w. Melihat unit yang memiliki pengeluaran
x. Melihat unit yang memiliki pendapatan lain
y. Melihat kategori simpanan memiliki kebijakan simpanan
88
3.6.1.1.9 Meninjau Kembali Model Data Konseptual
dengan Pengguna
Tujuan dari tahap ini adalah untuk meninjau ulang
model konseptual dengan pengguna untuk memastikan
model konseptual dapat mempresentasikan kebutuhan
perusahaan akan model data konseptual tersebut. Setelah
kami periksa model konseptual dengan pengguna, model
data konseptual telah sesuai dengan keinginan pengguna.
3.6.1.2 Perancangan Basis Data Logikal
3.6.1.2.1 Memperoleh Relasi untuk Model Data
Logikal
a.Strong Entity Types
Tabel 3.35 Tabel Identifikasi Strong Entity
Strong Entity
user :
Primary Key :
(user_id, user_name, user_password,
user_level_id, user_creator, create_on)
user_id
anggota :
Primary Key :
(id_anggota, nama_anggota, id_unit, no_ktp,
alamat, tempat_lahir, tanggal_lahir,
tanggal_gabung, keterangan_anggota, id_user)
id_angggota
unit :
Primary Key :
(id_unit, nama_unit, keterangan)
id_unit
status_pinjaman :
Primary Key :
(id_status_pinjaman, status, description)
Id_status_pinjaman
89
level_user :
Primary Key :
(id_level, nama level, keterangan_level)
id_level
kebijakan_simpanan :
Primary Key :
(id_kebijakan_simpanan, kat_simpanan, nominal,
berlaku, waktu_update)
id_kebijakan_simpanan
kategori_simpanan:
Primary Key :
(id_kategori_simpanan, nama_kategori_simpanan,
keterangan)
id_kategori_simpanan
b.Weak Entity Types
Tabel 3.36 Tabel Identifikasi Weak Entity
No. Entity Name Atributes
1 log_transaksi
id_transaksi, id_anggota, sp, sw, ss,
debet, total_sw, total_ss, total_saldo,
waktu_transaksi
2 saldo_simpanan
id_saldo, id_anggota, total_sw, total_ss,
jumlah_saldo_simpanan,
waktu_update_simpanan
3 Peminjaman
id_pinjam, id_anggota,
nominal_peminjaman, jumlah_angsuran,
bunga, nominal_angsuran, status,
tanggal_peminjaman, admin
4 trns_ simpanan
id_trns_simpanan, id_anggota,
kategori_simpanan, nominal,
waktu_transaksi
5 pendapatan_lain id_pendapatan, pendapatan, keterangan,
nominal, tanggal_input
6 status_pinjaman id_status_pinjaman, status, description
90
7 Pengeluaran id_pengeluaran, pengeluaran,
kategori_pengeluaran, nominal,
keterangan_pengeluaran,
tanggal_pengeluaran, tanggal_input
a) Tipe relasi biner one-to-many (1:*)
Detail_angsuran_peminjaman (id_detail, id_pinjam, nominal_bayar, waktu_bayar, admin, keterangan)
Primary Key id_detail
Alternate Key id_pinjam
Foreign Key id_pinjam references peminjaman (id_pinjam)
Peminjaman (id_pinjam, id_anggota,
nominal_peminjaman, jumlah_angsuran, bunga,
nominal_angsuran, status, tanggal_peminjaman,
admin, id_status_pinjaman)
Primary Key id_pinjam
Alternate Key id_anggota, id_status_pinjaman
Foreign Key id_anggota references anggota (id_anggota)
Foreign Key id_status_pinjaman references status_pinjaman (id_status_pinjaman)
Id_pinjam ditempatkan dalam detail_angsuran_peminjaman sebagai foreign key
Anggota (id_anggota, nama_anggota, id_unit, no_ktp, alamat, tempat_lahir, tanggal_lahir, tanggal_gabung, keterangan_anggota, id_user)
Primary Key id_anggota
Alternate Key id_unit, id_user
Foreign Key id_unit references unit (id_unit)
Foreign Key id_user references user (id_anggota)
Peminjaman(id_pinjam, id_anggota, nominal_peminjaman, jumlah_angsuran, bunga, nominal_angsuran, status, tanggal_peminjaman, admin, id_status_pinjaman)
Primary Key id_pinjam
Alternate key id_anggota, id_status_pinjaman
Foreign key id_anggota references anggota (id_anggota)
Foreign key id_status_pinjaman references status_pinjaman (id_status_pinjaman)
Id_anggota ditempatkan dalam peminjaman sebagai foreign key
91
Id_kategori_simpanan ditempatkan dalam trans_simpanan sebagai foreign key
Kategori_simpanan (id_kategori_simpanan, nama_kategori_simpanan,keterangan)
Primary Key id_kategori_simpanan
Trans_simpanan(id_trns_simpanan, id_kategori_simpanan ,id_anggota, kategori_simpanan, nominal, waktu_transaksi,)
Primary Key id_trns_simpanan
Alternate Key id_anggota, id_kategori_simpanan
Foreign key id_anggota references anggota (id_anggota)
Foreign key id_kategori_simpanan references kategori_simpanan (id_kategori_simpanan)
Status_pinjaman(id_status_pinjaman, status, description)
Primary Key id_status_pinjaman
Peminjaman (id_pinjam, id_status_pinjaman id_anggota, nominal_peminjaman, jumlah_angsuran, bunga, nominal_angsuran, status, tanggal_peminjaman, admin)
Primary_Key id_pinjam
Alternate Key id_anggota,id_status_pinjaman
Foreign key id_anggota references anggota (id_anggota)
Foreign key id_status_pinjaman references status_pinjaman (id_status_pinjaman)
Id_status_pinjman ditempatkan dalam peminjaman sebagai foreign key
92
Anggota ((id_anggota, nama_anggota, id_unit, no_ktp, alamat, tempat_lahir, tanggal_lahir, tanggal_gabung, keterangan_anggota, id_user)
Primary Key id_anggota
Alternate Key id_unit, id_user
Foreign Key id_unit references unit (id_unit)
Foreign Key id_user references user (id_anggota)
Trans_simpanan(id_trns_simpanan, id_anggota, kategori_simpanan, nominal, waktu_transaksi, id_kategori_simpanan)
Primary Key id_trns_simpanan
Alternate Key id_anggota, id_kategori_simpanan
Foreign key id_anggota references anggota (id_anggota)
Foreign key id_kategori_simpanan references kategori_simpanan (id_kategori_simpanan)
Id_anggota ditempatkan dalam trans_simpanan sebagai foreign key
Level_user (user_level_id, nama_level, keterangan_level)
Primary Key user_level_id
User (user_id, user_name, user_password, user_level_id, user_creator, creator_on)
Primary Key user_id
Alternate Key user_level_id
Foreign key user_level_id references level_user (user_level_id)
User_level_id ditempatkan dalam user sebagai foreign key
93
Unit (id_unit, nama_unit, keterangan)
Primary Key id_unit
Pengeluaran (id_pengeluaran, id_unit, pengeluaran, kategori_pengeluaran, nominal, keterangan_pengeluaran, tanggal_pengeluaran, tanggal_input)
Primary Key id_pengeluaran
Alternate_key id_unit
Foreign Key id_unit references unit (id_unit)
Id_unit ditempatkan dalam pengeluaran sebagai foreign key
Anggota (id_anggota, nama_anggota, id_unit, no_ktp, alamat, tempat_lahir, tanggal_lahir, tanggal_gabung, keterangan_anggota, id_user)
Primary Key id_anggota
Alternate Key id_unit, id_user
Foreign Key id_unit references unit (id_unit)
Foreign Key id_user references user (id_anggota)
Log_transaksi(id_transaksi, id_anggota, sp, sw, ss, debet, total_sw, total_ss, total_saldo, waktu_transaksi)
Primary Key id_transaksi
Alternate Key id_anggota
Foreign key id_anggota references anggota (id_anggota)
Id_anggota ditempatkan dalam log_transaksi sebagai foreign key
94
Unit (id_unit, nama_unit, keterangan)
Primary Key id_unit
Anggota ((id_anggota, nama_anggota, id_unit, no_ktp, alamat, tempat_lahir, tanggal_lahir, tanggal_gabung, keterangan_anggota, id_user)
Primary Key id_anggota
Alternate Key id_unit, id_user
Foreign Key id_unit references unit (id_unit)
Foreign Key id_user references user (id_user)
Id_unit ditempatkan dalam anggota sebagai foreign key
95
b) Tipe Relasi Biner one-to-one (1:1)
Id_kategori_simpanan ditempatkan dalam kategori_simpanan sebagai foreign key
Kebijakan_simpanan (id_kebijakan_simpanan, id_kategori_simpanan , nominal, berlaku, waktu_update,)
Primary Key id_kebijakan_simpanan
Alternate Key id _kategori_simpanan
Foreign Key Foreign Key id_kategori_simpanan references
kategori_simpanan (id_kategori_simpanan)
Kategori_simpanan (id_kategori_simpanan, nama_kategori_simpanan, keterangan)
Primary Key id_kategori_simpanan
Unit (id_unit, nama_unit, keterangan)
Primary Key id_unit
Pendapatan_lain (id_pendapatan, id_unit, pendapatan, keterangan, nominal, tanggal_input)
Primary Key id_pendapatan
Alternate Key id_unit
Foreign Key id_unit references unit (id_unit)
Id_unit ditempatkan dalam pendapatan sebagai foreign key
96
Saldo_simpanan (id_saldo, id_anggota, total_sw, total_ss, jumlah_saldo_simpanan, waktu_update_terakhir)
Primary Key id_saldo
Alternate Key id_anggota
Foreign key id_anggota references anggota (id_anggota)
Anggota (id_anggota, nama_anggota, id_unit,
no_ktp, alamat, tempat_lahir, tanggal_lahir, tanggal_gabung, keterangan_anggota, id_user)
Primary Key id_anggota
Alternate Key id_unit, id_user
Foreign Key id_unit references unit (id_unit)
Foreign Key id_user references user (id_user)
Id_saldo ditempatkan dalam anggota sebagai foreign key
User (user_id, id_anggota, user_name, user_password, user_level_id, user_creator, creator_on)
Primary Key user_id
Alternate Key user_level_id
Foreign key user_level_id references level_user (user_level_id)
Anggota (id_anggota, nama_anggota, id_unit, no_ktp, alamat, tempat_lahir, tanggal_lahir, tanggal_gabung, keterangan_anggota, id_user)
Primary Key id_anggota
Alternate Key id_unit, id_user
Foreign Key id_unit references unit (id_unit)
Foreign Key id_user references user (id_user)
Id_anggota ditempatkan dalam user_id sebagai foreign key
97
c) Tipe Relasi Binary many to many (* : *)
Pada relasi Binary many to many tidak terdapat
adanya hubungan many to many terhadap entitas-entitas
yang telah diidentifikasikan.
3.6.1.2.2 Validasi Relasi Menggunakan Normalisasi
Pada tahap ini tabel-tabel yang belum normal akan
divalidasi menggunakan normalisasi, yaitu :
Simpanan
UNF
nama, alamat, tgl_simpanan, sp, sw, ss, total_sw, total_sp, jumlah_saldo
1NF
nama, alamat, tgl_simpanan, sp, sw, ss, total_sw, total_sp, jumlah_saldo
2NF
Anggota = id_anggota, alamat, user
Trans_simpanan = id_trans_simpanan, tgl_simpanan, nominal, id_kategori_simpanan
Log_transaksi = id_transaksi, sp, sw, ss, total_sw, total_sp, jumlah_saldo, id_anggota
Kategori_simpanan = id_kategori_simpanan, nama_kategori, keterangan
Saldo_simpanan = id_saldo, total_sw, total_sp, jumlah_saldo_simpanan
3NF
Anggota = id_anggota, alamat, user_id
User = user_id,user_name, user_level_id
Level_user = user_level_id, nama_level, keterangan_level
98
Trans_simpanan = id_trans_simpanan,tgl_simpanan, nominal, id_kategori_simpanan
Kategori_simpanan = id_kategori, nama_kategori, keterangan
Saldo_simpanan = id_saldo, total_sw, total_sp, jumlah_saldo_simpanan
Log_transaksi = id_transaksi, sp, sw, ss, total_sw, total_sp, jumlah_saldo, id_anggota
Peminjaman
UNF
nama_anggota, anggota, tgl_pinjaman, besar_pinjaman, angsuran,saldo, bunga, status
1NF
nama_anggota, anggota, tgl_pinjaman, besar_pinjaman, angsuran,saldo, bunga, status
2NF
Anggota = id_anggota, nama_anggota, alamat_anggota, user
Peminjaman = id_pinjam, tgl_pieminjaman, besar_peminjaman, id_detail_angsuran, bunga, status
detail_angsuran_peminjaman=id_detail, angsuran_bayar, waktu_bayar
3NF
Anggota = id_anggota, nama_anggota, alamat_anggota, user_id
User = user_id, user_name, user_password, user_level_id,
Level_user = user_level_id, nama_level, keterangan_level
Peminjaman = id_pinjam , tgl_peminjaman, besar_peminjaman, id_detail_peminjaman
Detail_angsuran_peminjaman = id_detail_angsuran, waktu_bayar
Status_pinjaman = id_status_pinjaman, status_pinjaman, description
Unit = id_unit, nama_unit, keterangan, id_pendapatan, id_pengeluaran
99
3.6.1.2.3 Memvalidasi Relasi dengan Transaksi Pengguna
Pada tahap validasi relasi ini, relasi yang telah ada
pada model data logikal dapat mendukung transaksi yang
diperlukan.
3.6.1.2.4 Memeriksa Integrity Constraint
Memeriksa Integrity Constraint tujuannya adalah
untuk menghindarkan ketidak konsistenan dari basis data.
Berikut ini adalah tipe-tipe dari Integrity
Constraint :
a. Kebutuhan Data
Beberapa atribut harus selalu memiliki nilai valid,
atau tidak diperbolehkan untuk memiliki nilai null, Aturan
ini telah diidentifikasikan saat atribut didokumentasikan
pada tahap mengidentifikasikan dan menghubungkan
atribut dengan entitas atau tipe relasi.
b. Batasan Atribut domain
Domain integrity dimaksudkan untuk menguji
apakah attribut yang diuji telah sesuai dengan domain
yang ditentukan.
100
c. Multiplicity
Multiplicity merepresentasikan constraint yang
ditempatkan pada hubungan antar data dalam suatu basis
data. Memastikan semua integrity constraint yang sesuai
sudah diidentifikasikan dan direpresentasikan adalah
bagian penting dari modeling kebutuhan data.
d. Entity Integrity
Primary Key dari suatu entitas tidak boleh
memiliki nilai null. Menentukan candidate key, primary
key, dan alternate key dari atribut.
e. Referential Integrity
Referential Integrity dimaksudkan untuk menguji
apakah setiap tabel yang diuji telah dapat merujuk ke tabel
lain yang saling berhubungan.
Berikut adalah referential Integrity yang ada dari rancangan basis data ini :
101
Tabel 3.37 Tabel Identifikasi Integrity Constraint
User (user_id, user_name, user_password, user_level_id, user_creator, create_on)
Primary Key user_id
Foreign Key user_id references user (user_id)
Anggota (id_anggota, nama_anggota, id_unit, no_ktp, alamat, tempat_lahir, tanggal_lahir, tanggal_gabung, keterangan_anggota, id_user)
Primary Key id_anggota
Foreign Key id_unit references unit (id_unit)
Foreign Key user_id references user (user_id)
Unit (id_unit, nama_unit, keterangan)
Primary Key id_unit
Log_transaksi (id_transaksi, id_anggota, sp, sw, ss, debet, total_sw, total_ss, total_saldo, waktu_transaksi)
Primary Key id_transaksi
Foreign Key id_anggota references anggota (id_anggota)
Level_user(id_level, nama level, keterangan_level)
Primary Key id_level
Kebijakan_simpanan (id_kebijakan_simpanan, kat_simpanan, nominal, berlaku, waktu_update)
Primary Key id_kebijakan_simpanan
Foreign Key id_kategori_simpanan references kategori_simpanan (id_kategori_simpanan)
Kategori_simpanan (id_kategori_simpanan, nama_kategori_simpanan, keterangan)
Primary Key id_kategori_simpanan
102
Saldo_simpanan (id_saldo, id_anggota, total_sw, total_ss, jumlah_saldo_simpanan, waktu_update_simpanan)
Primary Key id_saldo
Foreign Key id_anggota references anggota (id_anggota)
Peminjaman (id_pinjam, id_anggota, nominal_peminjaman, jumlah_angsuran, bunga, nominal_angsuran, status, tanggal_peminjaman, admin)
Primary Key id_pinjam
Foreign Key id_anggota references anggota (id_anggota)
Foreign Key id_status_pinjaman references status_pinjaman (id_status_pinjaman)
Trns_simpanan (id_trns_simpanan, id_anggota, kategori_simpanan, nominal, waktu_transaksi)
Primary Key id_trns_simpanan
Foreign Key id_anggota references anggota (id_anggota)
Foreign Key id_kategori_simpanan references kategori_simpanan (id_kategori_simpanan)
Pendapatan_lain(id_pendapatan, pendapatan, keterangan, nominal, tanggal_input)
Primary Key id_pendapatan
Status_pinjaman(id_status_pinjaman, status, description)
Primary Key id_status_pinjaman
103
Pengeluaran (id_pengeluaran, pengeluaran, kategori_pengeluaran, nominal, keterangan_pengeluaran, tanggal_pengeluaran, tanggal_input)
Primary Key id_pengeluaran
Detail_angsuran_peminjaman(id_detail, id_pinjam, nominal_bayar, waktu_bayar, admin, keterangan)
Primary Key id_detail
Foreign Key id_pinjam references peminjaman (id_pinjam)
f. General Constraint Manipulasi terhadap entitas harus dikontrol oleh
constraint sesuai dengan transaksi nyata. General
constraint mempertimbangkan kendala yang dikenal
sebagai kendala umum. Perubahan kepada entitas dapat
dikendalikan oleh kendala yang mengatur transaksi yang
ditentukan oleh perubahan.
3.6.1.2.5 Meninjau Kembali Model Data Logikal
dengan User
Pada tahap ini, telah dilakukan kembali terhadap
model data logikal dengan pengguna dan disesuaikan
dengan kebutuhan atau keinginan pengguna.
3.6.1.2.6 Menggabungkan Model Data Logikal ke
Dalam Global Model (Optional Step)
104
Tujuan dari langkah ini adalah untuk
menggabungkan model data logikal kedalam single
global logical data model yang menampilkan semua user
views dari basis data.
Tabel 3.38 Tabel Model Data Logikal Global
User (user_id, user_name, user_password, user_level_id, user_creator, create_on)
Primary Key user_id
Foreign Key user_id references user (user_id)
Anggota (id_anggota, nama_anggota, id_unit, no_ktp, alamat, tempat_lahir, tanggal_lahir, tanggal_gabung, keterangan_anggota, id_user)
Primary Key id_anggota
Foreign Key id_unit references unit (id_unit)
Foreign Key user_id references user (user_id)
Unit (id_unit, nama_unit, keterangan)
Primary Key id_unit
Log_transaksi (id_transaksi, id_anggota, sp, sw, ss, debet, total_sw, total_ss, total_saldo, waktu_transaksi)
Primary Key id_transaksi
Foreign Key id_anggota references anggota (id_anggota)
Level_user (id_level, nama level, keterangan_level)
Primary Key id_level
Kebijakan_simpanan (id_kebijakan_simpanan, kat_simpanan, nominal, berlaku, waktu_update)
105
Primary Key id_kebijakan_simpanan
Foreign Key id_kategori_simpanan references kategori_simpanan (id_kategori_simpanan)
Kategori_simpanan (id_kategori_simpanan, nama_kategori_simpanan, keterangan)
Primary Key id_kategori_simpanan
Saldo_simpanan (id_saldo, id_anggota, total_sw, total_ss, jumlah_saldo_simpanan, waktu_update_simpanan)
Primary Key id_saldo
Foreign Key id_anggota references anggota (id_anggota)
Peminjaman (id_pinjam, id_anggota, nominal_peminjaman, jumlah_angsuran, bunga, nominal_angsuran, status, tanggal_peminjaman, admin)
Primary Key id_pinjam
Foreign Key id_anggota references anggota (id_anggota)
Foreign Key id_status_pinjaman references status_pinjaman (id_status_pinjaman)
Trns_simpanan (id_trns_simpanan, id_anggota, kategori_simpanan, nominal, waktu_transaksi)
Primary Key id_trns_simpanan
Foreign Key id_anggota references anggota (id_anggota)
Foreign Key id_kategori_simpanan references kategori_simpanan (id_kategori_simpanan)
Pendapatan_lain (id_pendapatan, pendapatan, keterangan, nominal, tanggal_input)
Primary Key id_pendapatan
106
Status_pinjaman (id_status_pinjaman, status, description)
Primary Key id_status_pinjaman
Pengeluaran (id_pengeluaran, pengeluaran, kategori_pengeluaran, nominal, keterangan_pengeluaran, tanggal_pengeluaran, tanggal_input)
Primary Key id_pengeluaran
Detail_angsuran_peminjaman (id_detail, id_pinjam, nominal_bayar, waktu_bayar, admin, keterangan)
Primary Key id_detail
Foreign Key id_pinjam references peminjaman (id_pinjam)
107
Gambar 3.46 Model Logikal Data Global
108
3.6.1.2.7 Memeriksa Perkembangan yang Akan Datang
Setelah dilakukan peninjauan ulang secara
bersama-sama dengan pengguna, rancangan basis data
logikal yang dirancang sampai tahap ini dianggap mampu
mengakomodasi kebutuhan sistem dimasa yang akan
datang tanpa perlu adanya perubahan signifikan pada
model basis data yang telah ada.
3.6.1.3 Perancangan Basis Data Fisikal
3.6.1.3.1 Merancang Relasi Dasar Physical Design
user
Domain user_id int
Domain user_name varchar dengan panjang maksimal 50
Domain user_password varchar dengan panjang maksimal 30
Domain user_level_id int
Domain user_creator int
Domain create_on timestamp
user(
user_id NOT NULL,
user_name NOT NULL,
user_password NOT NULL,
user_level_id NOT NULL,
user_creator NOT NULL,
109
create_on NOT NULL
Primary key(user_id)
Foreign key user_level_id reference level_user (user_level_id) ON
UPDATE CASCADE ON DELETE NO ACTION
);
anggota
Domain id_anggota char dengan panjang maksimum 6
Domain nama_anggota varchar dengan besar maksimum 100
Domain id_unit char dengan besar maksimum 9
Domain no_ktp char dengan besar maksimum 30
Domain alamat text
Domain tempat_lahir varchar dengan panjang maksimum 50
Domain tanggal_lahir date
Domain tanggal_gabung datetime
Domain keterangan_anggota text
Domain id_user int
anggota(
id_anggota NOT NULL,
nama_anggota NOT NULL,
id_unit NOT NULL,
no_ktp NOT NULL,
alamat NOT NULL,
110
tempat_lahir NULL,
tanggal_lahir NULL,
tanggal_gabung NOT NULL,
keterangan_anggota NULL,
id_user NOT NULL
Primary key(id_anggota)
Foreign key user_id reference user (user_id) ON UPDATE CASCADE ON
DELETE NO ACTION
Foreign key id_unit reference unit (id_unit) ON UPDATE CASCADE ON
DELETE NO ACTION
);
unit
Domain id_unit char dengan panjang maksimum 9
Domain nama_unit varchar dengan panjang maksimum 50
Domain keterangan varchar dengan panjang maksimum 255
unit(
id_unit NOT NULL,
nama-unit NOT NULL,
keterangan NULL
Primary key (id_unit)
);
111
log_transaksi
Domain id_transaksi char dengan panjang maksimum 27
Domain id_anggota char dengan panjang maksimum 6
Domain sp varchar dengan panjang maksimum 8
Domain sw varchar dengan panjang maksimum 8
Domain ss varchar dengan panjang maksimum 8
Domain debet varchar dengan panjang maksimum 8
Domain total_sw varchar dengan panjang maksimum 8
Domain total_ss varchar dengan panjang maksimum 8
Domain total_saldo varchar dengan panjang maksimum 8
Domain waktu_transaksi timestamp
log_transaksi(
id_transaksi NOT NULL,
id_anggota NOT NULL,
sp NULL,
sw NULL,
ss NULL,
debet NULL,
total_sw NOT NULL,
total_ss NOT NULL,
total_saldo NOT NULL,
waktu_transaksi NOT NULL
Primary key(id_transaksi)
112
Foreign key id_anggota reference anggota (id_anggota) ON UPDATE
CASCADE ON DELETE NO ACTION
);
level_user
Domain id_level int
Domain nama_level varchar dengan panjang maksimum 20
Domain keterangan_level varchar dengan besar maksimum 255
level_user(
id_level NOT NULL,
nama_level NOT NULL,
keterangan_level NULL
Primary key(id_level)
);
kebijakan_simpanan
Domain id_kebijakan_simpanan int
Domain kat_simpanan varchar dengan panjang maksimun 2
Domain nominal float
Domain berlaku int
Domain waktu_update timestamp
kebijakan_simpanan(
id_kebijakan_simpanan NOT NULL,
113
kat_simpanan NOT NULL,
nominal NOT NULL,
berlaku NOT NULL,
waktu_update NOT NULL
Primary key (id_kebijakan_simpanan)
Foreign key id_kategori_simpanan reference kategori_simpanan
(id_kategori_simpanan) ON UPDATE CASCADE ON DELETE NO
ACTION
);
kategori_simpanan
Domain id_kategori_simpanan char dengan panjang maksimum 2
Domain nama_kategori_simpanan varchar dengan panjang maksimum 100
Domain keterangan varchar dengan panjang maksimum 255
kategori_simpanan(
id_kategori_simpanan NOT NULL,
nama_kategori_simpanan NOT NULL,
keterangan NULL
Primary key (id_kategori_simpanan)
);
114
saldo_simpanan
Domain id_saldo int
Domain id_anggota char dengan panjang maksimum 6
Domain total_sw float
Domain total_ss float
Domain jumlah_saldo_simpanan varchar dengan panjang maksimum 8
Domain waktu_update_simpanan timestamp
saldo_simpanan(
id_saldo NOT NULL,
id_anggota NOT NULL,
total_sw NOT NULL,
total_ss NOT NULL,
jumlah_saldo_simpanan NOT NULL,
waktu_update_simpanan NOT NULL
Primary key(id_saldo)
Foreign key id_anggota reference anggota(id_anggota) ON UPDATE
CASCADE ON DELETE NO ACTION
);
peminjaman
Domain id_pinjam int
Domain id_anggota char dengan panjang maksimum 6
Domain nominal_peminjaman varchar dengan panjang maksimum 10
115
Domain jumlah_angsuran int
Domain bunga varchar dengan panjang maksimum 11
Domain nominal_angsuran varchar dengan panjang maksimum 11
Domain status int
Domain tanggal_peminjaman timestamp
Domain admin int
peminjaman(
id_pinjam NOT NULL,
id_anggota NOT NULL,
nominal_peminjaman NOT NULL,
jumlah_angsuran NOT NULL,
bunga NOT NULL,
nominal_angsuran NOT NULL,
status NOT NULL,
tanggal_peminjaman NOT NULL,
admin NOT NULL
primary key (id_pinjam)
Foreign key id_anggota reference anggota(id_anggota) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign key id_status_pinjaman reference status_pinjaman
(id_status_pinjaman) ON UPDATE CASCADE ON DELETE NO ACTION
);
116
trns_simpanan
Domain id_trans_simpanan char dengan panjang maksimum 27
Domain id_anggota char dengan panjang maksimum 6
Domain kategori_simpanan char dengan panjang maksimum 2
Domain nominal varchar dengan panjang maksimum 8
Domain waktu_transaksi timestamp
trns_simpanan (
id_trns_simpanan NOT NULL,
id_anggota NOT NULL,
kategori_simpanan NOT NULL,
nominal NOT NULL,
waktu_transaksi NOT NULL
Primary key (id_trns_simpanan)
Foreign key id_anggota reference anggota(id_anggota) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign key id_kategori_simpanan reference kategori_simpanan
(id_kategori_simpanan) ON UPDATE CASCADE ON DELETE NO
ACTION
);
pendapatan_lain
Domain id_pendapatan int
117
Domain pendapatan varchar dengan panjang maksimum 200
Domain keterangan text
Domain nominal varchar dengan panjang maksimum 12
Domain tanggal_input timestamp
pendapatan_lain(
id_pendapatan NOT NULL,
pendapatan NOT NULL,
keterangan NOT NULL,
nominal NOT NULL,
tanggal_input NOT NULL
Primary key(id_pendapatan)
);
status_pinjaman
Domain id_status_pinjaman int
Doman status varchar dengan panjang maksimum 50
Domain description varchar dengan panjang maksimum 255
status_pinjaman (
id_status_pinjaman NOT NULL,
status NOT NULL,
description NOT NULL
Primary key(id_status_pinjaman)
);
118
pengeluaran
Domain id_pengeluaran int
Domain pengeluaran varchar dengan panjang maksimum 100
Domain kategori_pengeluaran int
Domain nominal varchar dengan panjang maksimum 12
Domain keterangan_pengeluaran text
Domain tanggal_pengeluaran date
Domain tanggal_input timestamp
pengeluaran(
id_pengeluaran NOT NULL,
pengeluaran NOT NULL,
kategori_pengeluaran NOT NULL,
nominal NOT NULL
keterangan_pengeluaran NULL,
tanggal_pengeluaran NOT NULL,
tanggal_input NOT NULL
Primary key(id_pengeluaran)
);
Detail_angsuran_peminjaman
Domain id_detail int
Domain id_pinjam int
Domain nominal_bayar varchar dengan panjang maksimum 10
119
Domain waktu_bayar timestamp
Domain admin int
Domain keterangan text
Detail_angsuran_peminjaman (
id_detail NOT NULL,
id_pinjam NOT NULL,
nominal_bayar NOT NULL,
waktu_bayar NOT NULL,
admin NOT NULL,
keterangan NULL
Primary key(id_detail)
);
3.6.1.3.2 Merancang Representasi dari Data yang diperoleh
Dalam penelitian ini kami tidak memerlukan adanya
denormalisasi dari model relasi dikarenakan nilai-nilai dalam
setiap record-nya tidak banyak terjadi perhitungan, sehingga
diputuskan untuk tidak melakukan denormalisasi.
3.6.1.3.3 Merancang Batasan Perusahaan
Langkah ini bertujuan untuk merancang batasan koperasi
Bina Kasih yang telah didefinisikan pada tahap logikal untuk
sasaran dalam DBMS
120
Peminjaman kedua yang dilakukan anggota akan disetujui
apabila anggota telah melunasi minimal lima puluh persen dari
jumlah peminjaman yang dilakukan sebelumnya.
3.6.1.3.4 Merancang Organisasi File dan Index
Analisa Transaksi ini bertujuan untuk memahami
fungsionalitas dari transaksi terhadap relasi yang ada. Untuk
mempermudah dalam menganalisa transaksi, maka digunakan
transaction atau relation cross-references matrix (matriks
referensi silang transaksi atau relasi).
Berikut ini adalah transaksi-transaksi yang dilakukan :
Dibawah ini akan ditunjukan matriks referensi silang antara
transaksi dengan relasi.
Keterangan:
1. Menginput data anggota 2. Melihat data anggota 3. Merubah data anggota 4. Menghapus data anggota
Tabel 3.39 Tabel Matriks Referensi Silang Transaksi dengan relasi (1)
Transaksi Relasi
1 2 3 4
I R U D I R U D I R U D I R U D
Detail_angsuran_peminjaman
Kategori_simpanan
Log_transaksi
121
anggota X X X X
kebijakan_simpanan
level_user X X X X
peminjaman
pengeluaran
saldo_simpanan
status_peminjaman
Trns_simpanan
Pendapatan_lain
unit X X X X
users
Keterangan:
5. Menginput data simpanan 6. Melihat data simpanan 7. Merubah data simpanan 8. Menghapus data simpanan
Tabel 3.40 Tabel Matriks Referensi Silang Transaksi dengan relasi (2)
Transaksi Relasi
5 6 7 8
I R U D I R U D I R U D I R U D
Detail_angsuran_peminjaman
Kategori_simpanan X X X X
Log_transaksi X X X X
anggota X X X X
kebijakan_simpanan X X
level_user X X X X
122
peminjaman
pengeluaran
saldo_simpanan X X X X
status_peminjaman
Trns_simpanan X X X X
Pendapatan_lain
unit
users
Keterangan:
9. Menginput data peminjaman 10. Melihat data peminjaman 11. Merubah data peminjaman 12. Menghapus data peminjaman
Tabel 3.41 Tabel Matriks Referensi Silang Transaksi dengan relasi (3)
Transaksi Relasi
9 10 11 12
I R U D I R U D I R U D I R U D
Detail_angsuran_peminjaman X X X X
Kategori_simpanan
Log_transaksi
anggota
kebijakan_simpanan
level_user
peminjaman X X X X
pengeluaran
saldo_simpanan
123
status_peminjaman X X X X
Trns_simpanan
Pendapatan_lain
unit
users
Keterangan:
13. Menginput data biaya operasi 14. Melihat data biaya operasi 15. Merubah data biaya operasi 16. Menghapus data biaya operasi
Tabel 3.42 Tabel Matriks Referensi Silang Transaksi dengan relasi (4)
Transaksi Relasi
13 14 15 16
I R U D I R U D I R U D I R U D
Detail_angsuran_peminjaman
Kategori_simpanan
Log_transaksi
Anggota
kebijakan_simpanan
level_user
Peminjaman
Pengeluaran X X X X
saldo_simpanan
status_peminjaman
Trns_simpanan
Pendapatan_lain
124
unit
users
Keterangan:
17. Menginput data pendapatan lain 18. Melihat data pendapatan lain 19. Merubah data pendapatan lain 20. Menghapus data pendapatan lain
Tabel 3.43 Tabel Matriks Referensi Silang Transaksi dengan relasi (5)
Transaksi Relasi
17 18 19 20
I R U D I R U D I R U D I R U D
Detail_angsuran_peminjaman
Kategori_simpanan
Log_transaksi
anggota
kebijakan_simpanan
level_user
peminjaman
pengeluaran
saldo_simpanan
status_peminjaman
Trns_simpanan
Pendapatan_lain X X X X
unit
users
125
Keterangan:
21. Melihat data laporan rugi laba
Tabel 3.44 Tabel Matriks Referensi Silang Transaksi dengan relasi (6)
Transaksi Relasi
21
I R U D
Detail_angsuran_peminjaman
Kategori_simpanan
Log_transaksi
anggota X
kebijakan_simpanan
level_user X
peminjaman
pengeluaran X
saldo_simpanan
status_peminjaman
Trns_simpanan
Pendapatan_lain X
unit
users
126
Keterangan:
22. Merubah ubah account Tabel 3.45 Tabel Matriks Referensi Silang Transaksi dengan relasi (7)
Transaksi Relasi
22
I R U D
Detail_angsuran_peminjaman
Kategori_simpanan
Log_transaksi
anggota X
kebijakan_simpanan
level_user X
peminjaman
pengeluaran
saldo_simpanan
status_peminjaman
Trns_simpanan
Pendapatan_lain
unit
users X
3.6.1.3.5 Pemilihan Indeks
Dalam meningkatkan performa dari sistem sewaktu
mencari data kita untuk indeks pada tabel-tabel yang sudah dibuat.
Indeks dibuat berdasarkan field yang sering digunakan dalam proses
127
pencarian. Berikut ini adalah daftar indeks untuk masing-masing
tabel yang ada.
Tabel 3.46 Tabel Identifikasi Indeks Entitas
Nama Relasi Nama Indeks Detail_angsuran_peminjaman Idx Detail_angsuran_peminjaman id_detail (Primary
Index) Idx Detail_angsuran_peminjaman id_pinjam (secondary Index)
Kategori_simpanan Idx Kategori_simpanan id_kategori_simpanan (Primary Index) Idx Kategori_simpanan nama_kategori_simpanan (Secondary Index)
Log_transaksi Idx Log_transaksi id_transaksi (Primary Index) Idx Log_transaksi id_anggota (Secondary Index)
anggota Idx Mst_anggota id_anggota (Primary Index) Idx Mst_anggota id_user (secondary Index)
kebijakan_simpanan Idx Mst_kebijakan_simpanan id_kebijakan_simpanan (Primary Index) Idx Mst_kebijakan_simpanan kat_simpanan (Secondary Index)
level_user Idx Mst_level_user user_level_id (Primary Index) Idx Mst_level_user nama_level (secondary Index)
peminjaman Idx Mst_peminjaman id_pinjam (Primary Index) Idx Mst_peminjaman id_anggota (Secondary Index)
pengeluaran Idx Mst_pengeluaran id_pengeluaran (Primary Index) Idx Mst_pengeluaran kategori_pengeluaran (Secondary Index)
saldo_simpanan Idx Mst_saldo_simpanan id_saldo (Primary Index) Idx Mst_saldo_simpanan id_anggota (Secondary Index)
status_peminjaman Idx Mst_status_peminjaman id_status_simpanan (Primary Index) Idx Mst_status_peminjaman status (Secondary Index)
128
Trns_simpanan Idx Trns_simpanan id_trns_simpanan (Primary Index) Idx Trns_simpanan kategori_simpanan (Secondary Index)
Pendapatan_lain Idx Pendapatan_lain id_pendapatan (Primary Index) Idx Pendapatan_lain pendapatan (Secondary Index)
unit Idx Mst_unit id_unit (Primary Index) Idx Mst_unit nama_unit (Secondary Index)
users Idx users user_id (Primary Index) Idx users user_level_id (Secondary Index)
3.6.1.3.6 Memperkirakan kebutuhan kapasitas disk Tujuan dari langkah ini adalah untuk menghitung
kapasitas penyimpanan yang dibutuhkan oleh basis data. Perkiraan
kapasitas setiap tabel adalah sebagai berikut :
Tabel 3.47 Tabel Detail_angsuran_peminjaman
Nama Attribut Tipe data Ukuran id_detail Int 4 bytes
id_pinjam Int 4 bytes
nominal_bayar Varchar (10) 11 bytes
waktu_bayar Timestamp 4 bytes
admin Int 4 bytes
keterangan Int 4 bytes
id_detail Int 4 bytes
129
Total kebutuhan memory maksimal table
Detail_angsuran_peminjaman adalah 35 bytes. Total memory
maksimal 50 * 35 bytes = 1.750 bytes. Penambahan data pertahun
sebanyak 10 data. Perkembangan memory dalam satu tahun adalah
1.750 + (10*35) = 2100 bytes = 2.05 Kbytes.
Tabel 3.48 Tabel Kategori_simpanan
Nama Attribut Tipe Data Ukuran id_kategori_simpanan Varchar (2) 3 bytes
nama_kategori_simpanan Varchar (100) 101 bytes
keterangan Varchar (200) 201 bytes
Total kebutuhan memory maksimal tabel
Kategori_simpanan adalah 305 bytes. Jumlah data
kategori_simpanan sebanyak 3 jenis. Total memory maksimal 3 *
305 = 915 bytes. Data kategori_simpanan tidak mengalami
perubahan sehingga tidak mengalami perkembangan memory.
Tabel 3.49 Tabel Log_transaksi
Nama Attribut Tipe Data Ukuran id_transaksi Varchar (27) 28 bytes
id_anggota Varchar (7) 8 bytes
sp Varchar (8) 9 bytes
sw Varchar (8) 9 bytes
ss Varchar (8) 9 bytes
debet Varchar (8) 9 bytes
total_sw Varchar (8) 9 bytes
total_ss Varchar (8) 9 bytes
130
total_saldo Varchar (8) 9 bytes
waktu_transaksi Timestamp 8 bytes
Total kebutuhan memory maksimal tabel Log_transaksi
adalah 107 bytes. Total memory maksimal (0 * 107) = 0 bytes.
Penambahan data perbulan sebanyak 30 orang. Perkembangan
memory dalam satu tahun adalah 0 + (12* 30 * 107) = 38520 bytes
= 37.61 Kbytes
Tabel 3.50 Tabel Anggota
Nama Attribut Tipe data Ukuran id_anggota Varchar 7 8 bytes
nama_anggota Varchar 255 256 bytes
id_unit Varchar 3 4 bytes
no_ktp Varchar 30 31 bytes
alamat Text 2 bytes
tempat_lahir Varchar 80 81 bytes
tanggal_lahir Date 3 bytes
tanggal_gabung Datetime 8 bytes
Keterangan_anggota Text 2 bytes
id_user Int 4 bytes
Total kebutuhan memory maksimal tabel Anggota adalah
399 bytes. Jumlah data anggota sebanyak 50 orang Total memory
maksimal 399 * 50 = 19950 bytes. Tidak ada perkembangan
memory satu tahun.
131
Tabel 3.51 Tabel Kebijakan_simpanan
Nama Attribut Tipe data Ukuran id_kebijakan_simpanan Int 4 bytes
kat_simpanan Varchar (2) 3 bytes
nominal Float 4 bytes
berlaku Tinyint 1 bytes
waktu_update Timestamp 4 bytes
Total kebutuhan memory maksimal table
Kebijakan_simpanan adalah 16 bytes. Jumlah data jenis-jenis
kebijakan simpanan 2 jenis. Total memory maksimal 2 * 16 = 32
bytes. Penambahan jenis-jenis kebijakan pertahun sebanyak 1
jenis. Perkembangan memory dalam satu tahun adalah 16 + (1 *
32) = 48 bytes = 0.04 Kbytes
Tabel 3.52 Tabel Level_user
Nama Attribut Tipe data Ukuran id_level Tinyint 1 bytes
nama_level Varchar (50) 51 bytes
keterangan_level Varchar (255) 256 bytes
Total kebutuhan memory maksimal tabel Level_user adalah 308
bytes. Tidak ada mengalami perkembangan memory dalam satu
tahun.
132
Tabel 3.53 Tabel Peminjaman
Nama Attribut Tipe data Ukuran id_pinjam Int 4 bytes
id_anggota Varchar (7) 8 bytes
nominal_peminjaman Varchar (10) 11 bytes
jumlah_angsuran Int 4 bytes
bunga Varchar (11) 12 bytes
nominal_angsuran Varchar (11) 12 bytes
status Tinyint 1 bytes
tanggal_peminjaman Timestamp 4 bytes
admin Int 4 bytes
Total kebutuhan memory maksimal tabel Peminjaman
adalah 60 bytes. Jumlah data peminjaman bervariasi antara 10 data
peminjaman Total memory maksimal 10*60 = 600 bytes. Tidak
ada mengalami perkembangan memory dalam satu tahun.
Tabel 3.54 Tabel Pengeluaran
Nama Attribut Tipe data Ukuran id_pengeluaran Int 4 bytes
pengeluaran Varchar (200) 201 bytes
kategori_pengeluaran Int 4 bytes
nominal Varchar (12) 13 bytes
keterangan_pengeluaran Text 2 bytes
tanggal_pengeluaran Date 3 bytes
tanggal_input Timestamp 4 bytes
133
Total kebutuhan memory maksimal table Pengeluaran
adalah 231 bytes. Jumlah data pengeluaran koperasi masih
kosong. Total memory maksimal 0 bytes. Perkiraan penambahan
pengeluaran koperasi perbulan sebanyak 10 data. Perkembangan
memory dalam satu tahun adalah 12*10*231 = 27720 bytes =
27.07 Kbytes
Tabel 3.55 Tabel Saldo_Simpanan
Nama Attribut Tipe data Ukuran id_saldo Int 4 bytes
id_anggota Varchar (7) 8 bytes
total_sw Float 4 bytes
total_ss Float 4 bytes
jumlah_saldo_simpanan Varchar (8) 9 bytes
waktu_update_simpanan Timestamp 4 bytes
Total kebutuhan memory maksimal tabel
Mst_saldo_simpanan adalah 33 bytes. Jumlah data
saldo_simpanan masih kosong. Total memory maksimal 0 bytes.
Perkiraan penambahan saldo perbulan sebanyak 50 data.
Perkembangan memory dalam satu tahun adalah 12*50*33 =
19800 bytes = 19.33 Kbytes
Tabel 3.56 Tabel Status_Peminjaman
Nama attribute Tipe data Ukuran id Tinyint 1 bytes
status Varchar (100) 101 bytes
description Varchar (255) 256 bytes
134
Total kebutuhan memory maksimal table
Status_peminjaman adalah 358 bytes. Jumlah data pengembalian
header buku perpustakaan Kemenakertrans masih kosong. Total
memory maksimal 0 bytes. Tidak ada perkembangan memory
dalam satu tahun.
Tabel 3.57 Tabel Unit
Nama attribute Tipe data Ukuran id_unit Varchar (3) 4 bytes
nama_unit Varchar (70) 71 bytes
keterangan Varchar (255) 256 bytes
Total kebutuhan memory maksimal tabel Unit adalah 331
bytes. Total memory maksimal 0 bytes. Tidak ada perkembangan
memory dalam satu tahun.
Tabel 3.58 Tabel Pendapatan_Lain
Nama attribute Tipe data Ukuran id_pendapatan Int 4 bytes
pendapatan Varchar (200) 201 bytes
keterangan Text 19 bytes
nominal Varchar (12) 13 bytes
tanggal_input Timestamp 4 bytes
135
Total kebutuhan memory maksimal tabel
Pendapatan_lain adalah 241 bytes. Jumlah data pendapatan lain
masih kosong. Total memory maksimal 0 bytes. Penambahan data
pendapatan lain perbulan sebanyak 10. Perkembangan memory
dalam satu tahun adalah 10*12*241 = 28920 bytes = 28.24
Kbytes.
Tabel 3.59 Tabel Trns_simpanan
Nama attribute Tipe data Ukuran id_trns_simpanan Varchar (27) 28 bytes
id_anggota Varchar (7) 8 bytes
kategori_simpanan Varchar (2) 3 bytes
nominal Varchar (8) 9 bytes
waktu_transaksi Timestamp 4 bytes
Total kebutuhan memory maksimal tabel Trns_simpanan
adalah 52 bytes. Jumlah data transaksi simpanan masih kosong.
Total memory maksimal 0 bytes. Penambahan transaksi simpanan
perbulan sebanyak 50. Perkembangan memory dalam satu tahun
adalah 50*12*52 = 31200 bytes = 30.46 Kbytes
Tabel 3.60 Tabel User
Nama attribute Tipe data Ukuran user_id Int 4 bytes
user_name Varchar (50) 51 bytes
136
user_password Varchar (30) 31 bytes
user_level_id Tinyint 1 bytes
user_creator Int 4 bytes
create_on Timestamp 4 bytes
Total kebutuhan memory maksimal tabel User adalah 95
bytes. Total memory maksimal 0 bytes. Perkiraan penambahan
data users perbulan sebanyak 15 Perkembangan memory dalam
satu tahun adalah 15*12*95 = 17100 bytes = 16.69 Kbytes
Tabel 3.61 Tabel Total Estimasi Tiap Tabel
Nama Tabel Ukuran Total Tiap Tabel
Detail_angsuran_peminjaman 35 bytes Kategori_simpanan 305 bytes Log_transaksi 107 bytes Anggota 399 bytes Kebijakan_simpanan 16 bytes Level_user 308 bytes Peminjaman 60 bytes Pengeluaran 231 bytes Saldo_simpanan 33 bytes Status_peminjaman 358 bytes Trns_simpanan 331 bytes Pendapatan_lain 241 bytes Unit 52 bytes User 95 bytes
137
Berikut adalah kebutuhan memory pada Koperasi Sekolah Santo Yakobus
untuk satu tahun:
Tabel 3.62 Tabel Total Estimasi Tiap Tabel Untuk Satu Tahun
Nama Tabel Ukuran Total Tiap Tabel
Detail_angsuran_peminjaman 2.05 Kbytes Kategori_simpanan 0.89 Kbytes Log_transaksi 37.61 Kbytes Anggota 19.48 Kbytes Kebijakan_simpanan 0.04 Kbytes Level_user 0.30 Kbytes Peminjaman 0.58 Kbytes Pengeluaran 27.07 Kbytes Saldo_simpanan 19.33 Kbytes Status_peminjaman 0.34 Kbytes Trns_simpanan 0.32 Kbytes Pendapatan_lain 28.24 Kbytes Unit 30.46 Kbytes User 16.69 Kbytes Total memory satu tahun 183.4 Kbytes
3.6.1.3.7 Merancang User View
Pada tahap ini, kami membatasi setiap anggota koperasi
hanya bisa melihat buku simpanan, merubah password account,
dan menghitung peminjaman dengan kalkulator peminjaman,
tetapi tidak bisa untuk menambah, merubah, ataupun menghapus
data tersebut. Yang mempunyai kewenangan ini hanyalah master
dan admin.
138
3.6.1.3.8 Merancang Keamanan
Keamanan sistem dan keamanan data pada suatu
perusahaan sangat dibutuhkan. Suatu basis data merepresentasikan
informasi penting bagi perusahaan dan keamanan dari informasi
merupakan faktor penting.
Keamanan sistem mengatur pengaksesan dan penggunaan
basis data. Caranya adalah dengan membuat form login sebelum
masuk ke halaman welcome. Dalam form login, pengunjung
diminta memasukkan username dan password. Sehingga
pengunjung yang tidak memiliki username dan password tidak
dapat masuk ke aplikasi.
Sedangkan untuk keamanan data, berhubungan dengan
relasi basis data (tabel atau relasi) dan aksi yang pengunjung
lakukan terhadap relasi tersebut, misalnya pencarian, pengisian,
pengubahan, dan penghapusan data. Berikut ini akan ditampilkan
matriks referensi silang antara pengunjung dan relasi. Tujuannya
adalah untuk membatasi hak akses pengunjung terhadap relasi
yang ada.
139
Tabel 3.63 Matriks referensi silang pengunjung dengan relasi
Transaksi Relasi
Master Admin Anggota
I R U D I R U D I R U D
Detail_angsuran_peminjaman X X X X X
Kategori_simpanan X X X X X X
Log_transaksi X X X X X X
Mst_anggota X X X X X X X
Mst_kebijakan_simpanan X X X X X
Mst_level_user X X X X
Mst_peminjaman X X X X X X
Mst_pengeluaran X X X X X X
Mst_saldo_simpanan X X X X X X
Mst_status_pinjaman X X X X X X
Trns_simpanan X X X X X X
Pendapatan_lain X X X X X X
Mst_unit X X X X X X
X X X X X X
3.6.2 Perancangan Perangkat Lunak
Metode perancangan perangkat yang dipergunakan yaitu model
berorientasi objek menggunakan UML
140
3.6.2.1 Use Case Diagram
Gambar 3.3 Use Case Diagram
141
3.6.2.1 Deskripsi Use Case
Tabel 3.4 Deskripsi Use Case Calon Anggota
Actor Calon Anggota
Pre condition Calon anggota melakukan registrasi kepada admin
(bendahara) atau kepala sekolah (master).
Flow of event Calon anggota melakukan pengisian form registrasi
Post condition Calon anggota setelah melakukan registrasi dapat
membuka website kemudian dapat mengakses
fasilitas anggota.
Tabel 3.5 Deskripsi Use Case Admin
Actor Master
Pre condition Master membuka website kemudian melakukan login.
Flow of events 1. Master melakukan login.
2. Master melakukan check saldo.
3. Master melakukan view transaksi.
4. Master melakukan input transaksi anggota.
5. Master melakukan view peminjaman anggota.
6. Master melakukan input peminjaman anggota.
7. Master melakukan delete peminjaman anggota.
8. Master melakukan input biaya operasi dari
142
kegiatan yang dilakukan.
9. Master melakukan view biaya operasi dari kegiatan
yang dilakukan.
10. Master melakukan input pendapatan lain.
11. Master melakukan view pendapatan lain.
12. Master melakukan view laporan rugi laba.
13. Master melakukan tambah anggota.
14. Master melakukan view anggota.
15. Master melakukan edit anggota.
16. Master melakukan edit account.
17. Master melakukan view kalkulator.
Post condition Master melakukan login kemudian dapat
menggunakan fasilitas yang tersedia kemudian admin
dapat merubah level user yang terdiri dari 3 level,
yaitu level 1 (master), level 2 (admin), dan level 3
(anggota).
Tabel 3.6 Deskripsi Use Case Bendahara
Actor Admin
Pre condition Admin membuka website, kemudian melakukan
login.
Flow of events 1. Admin melakukan login.
2. Admin melakukan check saldo.
143
3. Admin melakukan view transaksi.
4. Admin melakukan input transaksi anggota
5. Admin melakukan view peminjaman anggota.
6. Admin melakukan input peminjaman anggota.
7. Admin melakukan input biaya operasi dari
kegiatan yang dilakukan.
8. Admin melakukan view biaya operasi dari kegiatan
yang dilakukan
9. Admin melakukan input pendapatan lain.
10. Admin melakukan view pendapatan lain.
10. Admin melakukan tambah anggota.
11. Admin melakukan view anggota.
12. Admin melakukan edit anggota.
12. Admin melakukan edit account.
13. Admin melakukan view kalkulator.
Post condition Admin melakukan login kemudian dapat
menggunakan fasilitas yang tersedia.
Tabel 3.7 Deskripsi Use Case Anggota
Actor Anggota
Pre condition Anggota membuka website, kemudian melakukan
login.
Flow of events 1. Anggota melakukan login.
144
2. Anggota melakukan check saldo.
3. Anggota melakukan view transaksi.
4. Anggota melakukan edit account.
5. Anggota melakukan view kalkulator.
Post condition Anggota melakukan login kemudian dapat
menggunakan fasilitas yang tersedia.
145
3.6.2.3 Class Diagram
Gambar 3.4 Class Diagram
146
3.6.2.4 Sequence Diagram
Gambar 3.5 Sequence Diagram Registrasi Calon Anggota
147
Gambar 3.6 Sequence Diagram Login
148
Gambar 3.7 Sequence Diagram Check Saldo
149
Gambar 3.8 Sequence Diagram View Transaksi
150
Gambar 3.9 Sequence Diagram Input Transaksi
151
Gambar 3.10 Sequence Diagram View Peminjaman
152
Gambar 3.11 Sequence Diagram Input Peminjaman
153
Gambar 3.12 Sequence Diagram Delete Peminjaman
154
Gambar 3.13 Sequence Diagram Input Biaya Operasi
155
Gambar 3.14 Sequence Diagram View Biaya Operasi
156
Gambar 3.15 Sequence Diagram Input Pendapatan Lain
157
Gambar 3.16 Sequence Diagram View Pendapatan Lain
158
Gambar 3.17 Sequence Diagram View Rugi Laba
159
Gambar 3.18 Sequence Diagram View Anggota
160
Gambar 3.19 Sequence Diagram Edit Anggota
161
Gambar 3.20 Sequence Diagram Tambah Anggota
162
Gambar 3.21 Sequence Diagram Edit Account
163
Gambar 3.22 Sequence Diagram Kalkulator Peminjaman
164
3.6.2.5 Activity Diagram
3.6.2.5.1 Front End
1. Login
Gambar 5.1 Activity Diagram Login
Gambar 3.23 Activity Diagram for Login
Tabel 3.8 User Action/System Response for Login
User Action System Response 1. Buka aplikasi 2. Menampilkan halaman
home 3. Input username dan
165
password 4. Klik login 5. Menampilkan halaman
home Alternative 1. Jika username dan password yang dimasukkan benar
maka sistem akan menampilkan halaman home untuk user yang telah login.
2. Jika username dan password yang dimasukkan salah maka sistem akan meminta user untuk memasukkannya kembali.
2. Check Saldo
Gambar 3.24 Activity Diagram for Check Saldo
166
Tabel 3.9 User Action/System Response for Check Saldo
User Action System Response 1. Buka aplikasi 2. Menampilkan
halaman home.
3. Klik Check Saldo 4. Menampilkan halaman check saldo.
3. Ubah Account
Gambar 3.25 Activity Diagram for Ubah Account
167
Tabel 3.10 User Action/System Response for Ubah
Account
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home. 3. Klik Ubah account. 4. Menampilkan
halaman ubah account. 5. Mengisi form yang tersedia.
6. Klik Save. 7. Menyimpan data ke dalam database dan memberitahukan bahwa account telah di update
Alternative 1. Jika username, old password, new password, dan repeat new password yang dimasukkan benar maka sistem akan memberitahukan bahwa account telah di update. 2. Jika username, old password, new password, dan repeat new password yang dimasukkan salah maka sistem akan meminta user untuk memasukkannya kembali.
168
4. Kalkulator Peminjaman
Gambar 3.26 Activity Diagram for Kalkulator Peminjaman
Tabel 3.11 User Action/System Response for
Kalkulator Peminjaman
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home. 3. Klik Kalkulator Peminjaman.
4. Menampilkan halaman Kalkulator Peminjaman.
5. Mengisi form yang tersedia.
6. Menampilkan perhitungan Angsuran
169
3.6.2.5.2 Back End
1. Login
Gambar 3.27 Activity Diagram for Login
Tabel 3.12 User Action/System Response for Login
User Action System Response 1. Buka aplikasi 2. Menampilkan
halaman home 3. Input username dan password
4. Klik login 5. Menampilkan halaman home
170
Alternative 1. Jika username dan password yang dimasukkan benar maka sistem akan menampilkan halaman home untuk user yang telah login. 2. Jika username dan password yang dimasukkan salah maka sistem akan meminta user untuk memasukkannya kembali.
2. Check Saldo
Gambar 3.28 Activity Diagram for Check Saldo
Tabel 3.13 User Action/System Response for Check
Saldo
User Action System Response 1. Buka aplikasi 2. Menampilkan
halaman home.
3. Klik Check Saldo 4. Menampilkan halaman Check Saldo.
171
3. Transaksi
Gambar 3.29 Activity Diagram for Transaksi
172
Tabel 3.14 User Action/System Response for Transaksi
User Action System Response 1. Buka aplikasi 2. Menampilkan
halaman home.
3. Klik Transaksi 4. Menampilkan halaman transaksi.
5. Input form 6. Klik save 7. Menampilkan Data telah
disimpan. 8. Klik reset 9. Menampilkan halaman
transaksi.
173
4. Peminjaman
a. Add Peminjaman.
Gambar 3.30 Activity Diagram for Add Peminjaman
174
Tabel 3.15 User Action/System Response for Add
Peminjaman
User Action System Response 1. Buka aplikasi 2. Menampilkan
halaman home.
3. Klik peminjaman 4. Menampilkan halaman peminjaman.
5. Klik add 6. Menampilkan form
peminjaman. 7. Input form 8. Klik submit 9. Menyimpan ke dalam
database dan memberitahukan bahwa data telah tersimpan.
b. Detail Peminjaman
Gambar 3.31 Activity Diagram for Detail Peminjaman
175
Tabel 3.16 User Action/System Response for Detail
Peminjaman
User Action System Response 1. Buka aplikasi 2. Menampilkan
halaman home.
3. Klik peminjaman 4. Menampilkan halaman peminjaman.
5. Klik detail 6. Menampilkan log detail peminjaman.
c. Edit Peminjaman
Gambar 3.32 Activity Diagram for Edit Peminjaman
176
Tabel 3.17 User Action/System Response for Edit
Peminjaman
User Action System Response 1. Buka aplikasi 2. Menampilkan
halaman home.
3. Klik peminjaman 4. Menampilkan halaman peminjaman.
5. Klik edit 6. Menampilkan form peminjaman.
7. Input form. 8. Klik submit. 9. Menyimpan ke dalam
database dan memberitahukan bahwa data telah disimpan.
177
d. Delete Peminjaman
Gambar 3.33 Activity Diagram for Delete Peminjaman
178
Tabel 3.18 User Action/System Response for Delete
Peminjaman
User Action System Response 1. Buka aplikasi 2. Menampilkan
halaman home.
3. Klik peminjaman 4. Menampilkan halaman peminjaman.
5. Klik delete. 6. Menampilkan konfirmasi untuk menghapus data.
7. Klik ok 8. Menghapus di dalam database dan memberitahukan bahwa data telah dihapus.
9. Klik cancel 10. Kembali menampilkan halaman peminjaman.
179
5. Biaya Operasi
a. Input Biaya Operasi
Gambar 3.34 Activity Diagram for Input Biaya Operasi
180
Tabel 3.19 User Action/System Response for Input Biaya
Operasi
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home.
3. Klik Biaya Operasi 4. Menampilkan halaman Biaya Operasi.
5. Klik Input Biaya. 6. Menampilkan Form biaya.
7. Klik Save. 8. Menyimpan data ke dalam database.
9. Data telah disimpan.
181
b. View Biaya Operasi
Gambar 3.35 Activity Diagram for View Biaya Operasi
Tabel 3.20 User Action/System Response for View Biaya
Operasi
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home.
3. Klik Biaya Operasi 4. Menampilkan halaman Biaya Operasi.
5. Klik Lihat Log Pengeluaran.
6. Menampilkan Log Pengeluaran..
182
6. Input Pendapatan Lain
Gambar 3.36 Activity Diagram for Input Pendapatan lain
183
Tabel 3.21 User Action/System Response for Input
Pendapatan Lain
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home.
3. Klik Pendapatan Lain
4. Menampilkan halaman Pendapatan Lain.
5. Klik Input Pendapatan.
6. Menampilkan form pendapatan.
7. Klik Save 8. Jika pengisian form salah.
9. Kembali pada tampilan pengisian form pendapatan lain.
10. Jika pengisian form benar
11. Menyimpan data ke dalam database.
12. Data telah tersimpan.
7. View Laporan Rugi Laba
Gambar 3.37 Activity Diagram for Laporan Rugi Laba
184
Tabel 3.22 User Action/System Response for Laporan
Rugi Laba
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home.
3. Klik Laporan Rugi Laba
4. Menampilkan halaman laporan rugi laba.
8. Anggota
a. Tambah Anggota
Gambar 3.38 Activity Diagram for Tambah Anggota
185
Tabel 3.23 User Action/System Response for Tambah
Anggota
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home.
3. Klik Anggota. 4. Menampilkan halaman List Anggota.
5. Klik Tambah Baru. 6. Menampilkan Form Daftar Anggota.
7. Mengisi Form Daftar Anggota.
8. Klik Save. 9. Bila salah dalam input data maka akan kembali ke halaman Form Daftar Anggota.
10. Bila benar dalam input maka data akan disimpan ke dalam database.
11. Data telah disimpan.
186
b. Lihat Saldo Anggota
Gambar 3.39 Activity Diagram for Lihat Saldo Anggota
Tabel 3.24 User Action/System Response for Lihat Saldo
Anggota
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home.
3. Klik Anggota. 4. Menampilkan halaman List Anggota.
5. Klik Lihat Saldo. 6. Menampilkan halaman Buku Simpanan.
187
c. Lihat Data Anggota
Gambar 3.40 Activity Diagram for Lihat Data Anggota
Tabel 3.25 User Action/System Response for Lihat Data
Anggota
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home.
3. Klik Anggota. 4. Menampilkan halaman List Anggota.
5. Klik Lihat Data Anggota.
6. Menampilkan halaman detail anggota.
188
d. Edit Data Anggota
Gambar 3.41 Activity Diagram for Edit Data Anggota
189
Tabel 3.26 User Action/System Response for Edit Data
Anggota
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home.
3. Klik Anggota. 4. Menampilkan halaman List Anggota.
5. Klik Lihat Data Anggota.
6. Menampilkan halaman form detail data anggota.
7. Klik Edit. 8. Mengubah isi form data anggota.
9. Klik Save. 10. Bila pengisiian data form ada yang salah maka kembali menampilkan halaman form data anggota.
11. Bila benar maka menyimpan data ke dalam database.
12. Data telah disimpan.
190
e. Edit Level User
Gambar 3.42 Activity Diagram for Edit Level User
191
Tabel 3.27 User Action/System Response for Edit Level
User
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home.
3. Klik Anggota. 4. Menampilkan halaman List Anggota.
5. Klik Update level User.
6. Menampilkan halaman ubah level user.
7. Klik admin untuk level admin, Klik master untuk level bendahara, Klik users untuk level anggota.
8. Menyimpan data ke dalam database.
9. Data users telah berhasil diupdate.
192
9. Ubah Account
Gambar 3.43 Activity Diagram for Ubah Account
Tabel 3.28 User Action/System Response for Ubah
Account
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home. 3. Klik Ubah account. 4. Menampilkan
193
halaman ubah account. 5. Mengisi form yang tersedia.
6. Klik Save. 7. Menyimpan data ke dalam database dan memberitahukan bahwa account telah di update
Alternative 1. Jika username, old password, new password, dan repeat new password yang dimasukkan benar maka sistem akan memberitahukan bahwa account telah di update. 2. Jika username, old password, new password, dan repeat new password yang dimasukkan salah maka sistem akan meminta user untuk memasukkannya kembali.
10. Kalkulator Peminjaman
Gambar 3.44 Activity Diagram for Kalkulator Peminjaman
194
Tabel 3.29 User Action/System Response for
Kalkulator Peminjaman
User Action System Response 1. Buka aplikasi. 2. Menampilkan
halaman home. 3. Klik Kalkulator Peminjaman.
4. Menampilkan halaman Kalkulator Peminjaman.
5. Mengisi form yang tersedia.
6. Menampilkan perhitungan Angsuran
3.6.3 Perancangan Layar
3.6.3.1 Rancangan Layar
Tampilan-tampilan layar dibawah ini merupakan rancangan layar
yang akan diterapkan. Nantinya akan berfungsi sebagai sarana melihat data
maupun memasukkan data ke dalam sistem aplikasi.
a. Rancangan Layar Halaman Masuk
Gambar 3.56 Halaman Masuk
195
Halaman Masuk merupakan tampilan awal jika ingin
menggunakan aplikasi ini. Pengguna bisa menggunakan aplikasi
ini harus masuk terlebih dahulu.
b. Rancangan Layar Halaman Beranda
Gambar 3.57 Halaman Beranda
Halaman Beranda merupakan halaman index dari web
based application sistem ini. Pengguna (master, admin, user) bisa
melihat beberapa konten yang bisa digunakan dan melakukan
beberapa transaksi simpanan, pinjaman, penarikan, biaya operasi,
dan ubah account.
196
c. Rancangan Layar Halaman Saldo Saya
Gambar 3.58 Halaman Saldo Saya
Halaman Saldo Saya berisikan tentang catatan keterangan
saldo tersebut berupa simpanan wajib, simpanan pokok, simpanan
sukarela, debet, dan total saldo.
197
d. Rancangan Layar Halaman Transaksi
Gambar 3.59 Halaman Transaksi
Halaman Transaksi ini merupakan halaman yang
menjelaskan tentang pengisisan transaksi. Transaksi tersebut
berupa Id anggota, Nama, Unit, Simpanan Sukarela dan penarikan.
198
e. Rancangan Layar Halaman Peminjaman
Gambar 3.60 Halaman Peminjaman
Pada tampilan peminjaman ini berisikan data-data
peminjaman user dan admin bisa memeriksa rinci peminjaman,
pembayaran ubah peminjaman dan hapus data peminjaman user.
199
f. Rancangan Layar Halaman Biaya Operasi
Gambar 3.61 Halaman Saldo Saya
Halaman Biaya Operasi ini berisikan atribut Masukan
Biaya dan Lihat Catatan Pengeluaran.
200
g. Rancangan Layar Halaman Form Biaya
Gambar 3.62 Halaman Form Biaya
Halaman Form Biaya ini menjelaskan untuk mengisi atau
menginput hasil data dari biaya operasi atau pengeluaran koperasi
simpan pinjam.
201
h. Rancangan Layar Halaman Lihat Catatan Pengeluaran
Gambar 3.63 Halaman Log Pengeluaran
Halaman Lihat Log Pengeluaran ini menjelaskan untuk
menampilkan hasil dari masukan biaya yang dikeluarkan oleh
koperasi simpan pinjam.
202
i. Rancangan Layar Halaman Pendapatan Lain
Gambar 3.64 Halaman Pendapatan Lain
Halaman Pendapatan Lain ini berisikan atribut Input
Pendapatan dan Lihat Catatan Pendapatan.
203
j. Rancangan Layar Halaman Masukan Pendapatan
Gambar 3.65 Halaman Form Pendapatan
Halaman Form Pendapatan ini menjelaskan untuk
mencatat atau menginput hasil pendapatan atau pemasukan yang
diperoleh koperasi simpan pinjam.
204
k. Rancangan Layar Halaman Lihat Catatan Pendapatan
Gambar 3.66 Halaman Log Pendapatan Lain
Halaman Log Pendapatan Lain ini menjelaskan untuk
menampilkan hasil dari masukan pendapatan yang diperoleh
koperasi simpan pinjam.
205
l. Rancangan Layar Halaman Laporan Rugi Laba
Gambar 3.67 Halaman Laporan Rugi Laba
Halaman Laporan Rugi Laba ini menjelaskan untuk
menghitung besar pendapatan dan besar beban yang ditanggung
oleh koperasi simpan pinjam pertahun sekali.
206
m. Rancangan Layar Halaman Anggota
Gambar 3.68 Halaman Anggota
Halaman anggota ini berisikan data-data anggota yang
sudah terdaftar dan admin bisa melihat diatribut action setiap
anggota.
207
n. Rancangan Layar Halaman Ubah Account
Gambar 3.69 Halaman Ubah Akun
Halaman Akun ini menjelaskan untuk mengubah kata
sandi lama menjadi kata sandi baru.
208
o. Rancangan Layar Halaman Kalkulator Peminjaman
Gambar 3.70 Halaman Kalkulator Peminjaman
Halaman Kalkulator Peminjaman ini menjelaskan untuk
menghitung nominal atau angsuran setiap bulannya berdasarkan
nominal pinjaman, lama angsuran dan bunga angsuran.