bab iii pembahasan - repository.bsi.ac.id filemenabung bagi masyarakat wajok hilir guna pemunuhan...

114
20 BAB III PEMBAHASAN 3.1 Tinjauan Perusahaan Tinjauan perusahaan merupakan hasil riset yang dilakukan oleh penulis. Tinjauan perusahaan akan menjelaskan hasil pengambilan data dari sistem berjalan. Data yang diambil akan dijelaskan dengan penggambaran sesungguhnya dari tempat riset yang telah dilakukan pengamatan/observasi. BUMDES “Prospek Mandiri” memiliki dua program simpanan yaitu SHR (Simpanan Hari Raya) dan SAS (Simpanan Anak Sekolah). Program simpanan hari raya disingkat SHR adalah salah satu pengembangan usaha dari BUMDES “Prospek Mandiri” Wajok Hilir yang menyediakan wadah penyimpan atau menabung bagi masyarakat wajok hilir guna pemunuhan kebutuhan menjelang hari raya idul fitri. Tujuan dari program ini adalah membantu dan memudahkan masyarakat desa wajok hilir mempersiapkan kebutuhan dana pada saat hari raya idul fitri. Program simpanan yang kedua yaitu program simpanan anak sekolah disingkat SAS adalah salah satu pengembangan usaha BUMDES “Prospek Mandiri” Wajok Hilir yang menyediakan wadah menyimpan atau menabung bagi para orang tua yang memiliki anak yang akan melanjutkan sekolah. Adapun kelebihan program SHR (Simpanan Hari Raya) dan SAS (Simpanan Anak Sekolah) adalah bersifat resmi karena dilindungi oleh UU No.6 Tahun 2014 dan Perdes No.3 Tahun 2016 yang bersekertariatan di kantor desa Wajok Hilir. Program ini juga tanpa potongan bebas biaya pajak dan administrasi. Selain program sinpanan BUMDES “Prospek Mandiri” juga memiliki program pinjaman bagi masyarakat desa wajok hilir. Dimana besar pinjaman Rp 1.000.000 s/d Rp

Upload: others

Post on 07-Sep-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

20

BAB III

PEMBAHASAN

3.1 Tinjauan Perusahaan

Tinjauan perusahaan merupakan hasil riset yang dilakukan oleh penulis.

Tinjauan perusahaan akan menjelaskan hasil pengambilan data dari sistem

berjalan. Data yang diambil akan dijelaskan dengan penggambaran sesungguhnya

dari tempat riset yang telah dilakukan pengamatan/observasi.

BUMDES “Prospek Mandiri” memiliki dua program simpanan yaitu SHR

(Simpanan Hari Raya) dan SAS (Simpanan Anak Sekolah). Program simpanan

hari raya disingkat SHR adalah salah satu pengembangan usaha dari BUMDES

“Prospek Mandiri” Wajok Hilir yang menyediakan wadah penyimpan atau

menabung bagi masyarakat wajok hilir guna pemunuhan kebutuhan menjelang

hari raya idul fitri. Tujuan dari program ini adalah membantu dan memudahkan

masyarakat desa wajok hilir mempersiapkan kebutuhan dana pada saat hari raya

idul fitri. Program simpanan yang kedua yaitu program simpanan anak sekolah

disingkat SAS adalah salah satu pengembangan usaha BUMDES “Prospek

Mandiri” Wajok Hilir yang menyediakan wadah menyimpan atau menabung bagi

para orang tua yang memiliki anak yang akan melanjutkan sekolah. Adapun

kelebihan program SHR (Simpanan Hari Raya) dan SAS (Simpanan Anak

Sekolah) adalah bersifat resmi karena dilindungi oleh UU No.6 Tahun 2014 dan

Perdes No.3 Tahun 2016 yang bersekertariatan di kantor desa Wajok Hilir.

Program ini juga tanpa potongan bebas biaya pajak dan administrasi. Selain

program sinpanan BUMDES “Prospek Mandiri” juga memiliki program pinjaman

bagi masyarakat desa wajok hilir. Dimana besar pinjaman Rp 1.000.000 s/d Rp

21

5.000.000 untuk tingkat pemula dan pinjaman maksimal Rp. 10.000.000. Setiap

masyarakat yang akan meminjam dikenakan biaya administrasi sebesar Rp 20.000

dan suku bunga perbulan 1,125% menetap. Setiap bulannya peminjam

melaksanakan kewajibannya membayar angsuran pokok dan jasa pinjaman yang

telah ditetapkan dan disepakati.

3.1.1 Sejarah Pembentukan BUMDES “Prospek Mandiri” Wajok Hilir

Pada hari Rabu tanggal 20 April 2016 bertempat diruang rapat Kantor Desa

Wajok Hilir telah dilaksanakan rapar desa dengan hasil kegiatan sebagai berikut:

1. Pembentukan BUMDes Wajok Hilir Kecamatan Siantan Kabupaten

Mempawah.

2. Membahas tentang pengurus BUMDes Wajok Hilir Kecamatan Siantan

Kabupaten Mempawah.

Lembaga ini bernama Badan Usaha Milik Desa Wajok Hilir yang selanjutnya

disebut BUMDes “Prospek Mandiri” Wajok Hilir. BUMDes “Prospek Mandiri”

merupakan usaha desa yang berupa badan usaha milik desa dengan perhatian

khusus untuk meningkatkan kemampuan keuangan pemerintah desa dan

pendapatan masyarakat.

BUMDes “Prospek Mandiri” berkedudukan di Desa Wajok Hilir

Kecamatan Siantan Kabupaten Mempawah Provinsi Kalimantan Barat Negara

Republik Indonesia.

22

1. Azas, Visi, Misi, Maksud dan Tujuan

Setiap perusahaan atau badan usaha pasti memiliki maksud dan tujuan

dalam mendirikan suatu usaha. Serta misi dan visi yang dijadikan pedoman untuk

melaksanakan usaha tersebut kedepanya.

Adapun azas, visi dan misi serta maksud dan tujuan pembentukan

BUMDES “Prospek Mandiri” Wajok Hilir adalah sebagai berikut:

a. Azas BUMDES “Prospek Mandiri” Wajok Hilir

BUMDES “Prospek Mandiri” Wajok Hilir berazaskan pancasila dan

Undang-Undang Dasar Negara Republik Indonesia Tahun 1945.

b. Visi BUMDES “Prospek Mandiri” Wajok Hilir

“Untuk meningkatkan kesejahteraan masyarakat desa Wajok Hilir

Kecamatan Siantan Kabupaten Mempawah”.

c. Misi BUMDES “Prospek Mandiri” Wajok Hilir

1). Didirikan untuk memudahkan perputaran barang dan jasa yang dibutuhkan

2). Memberantas praktek ijon dan rentenir dan memudahkan masyarakat desa

Wajok Hilir dalam mendapatkan modal usaha dalam skala kecil dan

berimbang sesuai dengan keberadaan modal yang dikelola BUMDes.

d. Maksud Pendirian BUMDes “Prospek Mandiri” Wajok Hilir

Maksud pendirian BUMDes “Prospek Mandiri” Wajok Hilir adalah untuk

menjadi penyedia wahana bagi masyarakat berupa pelayanan ekonomi guna

meningkatkan kualitas ekonomi masyarakat.

e. Tujuan Pendirian BUMDES “Prospek Mandiri” Wajok Hilir

Tujuan pendirian BUMDES “Prospek Mandiri” Wajok Hilir adalah

meningkatkan kemampuan keuangan pemerintah desa dalam penyelenggaraan

23

pemerintah dan meningkatkan pendapatan masyarakat melalui berbagai kegiatan

usaha ekonomi masyarakat yang sesuai dengan kebutuhan dan potensi desa

melalu wadah badan usaha milik desa.

3.1.2 Struktur Organisasi dan Fungsi BUMDES “Prospek Mandiri”

Struktur organisasi adalah kerangka kerja dan pola hubungan yang relatif

mantap dan stabil antara fungsi-fungsi tugas, posisi-posisi dan orang-orang dalam

organisasi, fungsi struktur organisasi adalah memberikan kepuasan kepada

individu-individu dalam organisasi tersebut. Berikut adalah gambar struktur

organisasi yang berada di BUMDES “Prospek Mandiri” Wajok Hilir.

Susunan Pengurus

Badan Usaha Milik Desa (BUMDES) “Prospek Mandiri”

Desa Wajok Hilir Kecamatan Siantan Kabupaten Mempawah Alamat : Jl.Raya Wajok Hilir Kec.Siantan. Kode pos 78351

Gambar III.1 Struktur Organisasi

Sumber : Hasil Penelitian (2018)

KOMISARIS

ABDUL MAJID, S.Hut

PENGAWAS

DAMAYANTI,S.Hut

ABDUL MAJID, S.Pd.i

USMAN YUSUF

KEPALA OPERASIONAL

SULASTRI, S.Pd SEKRETARIS

YUSUF EFENDI

BENDAHARA

IDA MARLINA , SE

KOORDINATOR UNIT USAHA

PERDAGANGAN UMUM

SAHLAWATI

KOORDINATOR UNIT USAHA JASA PERSEWAAN

AHMADI

KOORDINATOR UNIT USAHA PETERNAKAN/PERKEBUNAN

HENDI SUMARYO

KOORDINATOR UNIT USAHA SIMPAN PINJAM

IDA MARLINA, SE

24

Deskripsi Tugas

Merupakan suatu rincian yang menunjukkan posisi, tanggung jawab,

wewenang, fungsi dan yang harus dikerjakan oleh seorang personil didalam suatu

organisasi tersebut. Adapun uraian dan bagian-bagian yang terlibat didalam

struktur organisasi simpan pinjam BUMDES “Prospek Mandiri” Wajok Hilir

sebagai berikut:

a. Komisaris

Menurut PERDA No.3 tahun 2016 pasal 1. Komisaris mempunyai kewenang

meminta penjelasan pelaksana operasional atau direksi mengenai pengelolaan

usaaha desa.

b.Pengawas

Mempunyai tugas dan fungsi melakukan pengawasan terhadap pelaksanaan

keputusan-keputusan RAT (Rapat Anggota Tahunan) dilakukan oleh pengurus.

c. Ketua atau Kepala Operasional

1. Petanggung jawab atas kemajuan atau kemunduran koperasi

2. Membuat neraca akhir dan gabungan

3. Membuat neraca USP (Unit Simpan Pinjam)

4. Mendatangani surat

5. Memipin rapat

d. Sekretaris

1. Menanggung jawab atas barang dan konsumsi

2. Mengisi buku daftar pengurus, pengawas, dan inventaris

3. Mengagendakan surat masuk dan surat keluar

4. Membuat surat keluar serta laporan

25

e. Bendahara

1. Melayani atau menerima setoran, simpan piutang, serta titipan

2. Menyimpan barang-barang berharga

3. Melakukan penyetoran ke Bank’

4. Melakukan pengisian buku-buku dll.

f. Koordinator Unit Usaha Jasa Persewaan

1. Mengelolah unit usaha persewaan

2. Mencatat pemasukan dari persewaan

g. Koordinator Unit Usaha Perdagangan Umum

1. Mengelolah unit usaha ATK, berupa jual beli matrai dan foot copy

2. Mencatat penjualan matrai dan foto copy setiap harinya.

h. Koordinator Unit Usaha Peternakan/ perkebunan

1. Mendata usaha peternakan/ perkebunan yang dimodali oleh BUMDes

2. Mengelolah unit usaha peternakan/ perkebunan

3. Membuat laporan dan pemasukan.

3.2 Tinjauan Kasus

BUMDES “Prospek Mandiri” Wajok Hilir merupakan badan usaha milik

desa yang salah satu kegiatannya bergerak di bidang simpan pinjam. Dalam

pengelolaan data simpan pinjam bendahara masih menggunakan tulis tangan

yang dicatat ke buku besar. Baru kemudian data tersebut dipindahkan ke

dalam microsoft excel dan dicetak untuk menjadi laporan bulanan.

Dalam kegiatan transaksi simpan pinjam serta angsuran bendahara juga

masih menggunakan kalkulator untuk menghitung nimonal simpanan dan

26

angsuran. Sehingga membuat bendahara lama dalam menghadapi anggota

yang hendak melakukan transaksi simpan pinjam.

Pembuatan laporan yang telah dibuat pun masih menggunakan banyak

shet-shet. Baru kemudian di cetak dan disimpan. Sehingga arsip laporan yang

telah dicetak dan disimpa kedalam lemari. Karna terlalu bnyaknya arsip yang

dibuat pengurus pun sulit mencari arsip yang telah diinginkan.

3.2.1 Proses Bisnis Sistem Berjalan

Proses bisnis sistem yang sedang berjalan bertujuan untuk mengetahui

lebih jelas bagaimana kerja suatu sistem dan mengetahui masalah yang dihadapi

sistem.

Adapun analisa prosedur sistem yang sedang berjalan pada BUMDES

“Prospek Mandiri” Wajok Hilir adalah sebagai berikut:

1. Prosedur pengajuan simpanan

Setiap calon anggota yang ingin mendaftar menjadi anggota diwajjibkan

mengajukan simpanan dengan persyaratan membawa foto copy KTP dan

menyerahkannya ke bendahara. Kemudian bendahara akan membuatkan slip

simpanan dan menyerahkannya kepada anggota sebagai bukti menjadi anggota

BUMDES “Prospek Mandiri” Wajok Hilir.

Setiap anggota yang sudah memiliki slip simpanan dapat menyetorkan

simpanannya kepada bendahara. Kemudian bendahara akan mencatatnya ke slip

simpanan dan buku induk SAS (Simpanan Anak Sekolah) dan SHR (Simpanan

Hari Raya).

27

2. Prosedur pengajuan pinjaman

Semua masyarakat Wajok Hilir yang hendak mengajukan pinjaman harus

mengisi surat permohonan pinjaman dan surat perjanjian secara tertulis diatas

matrai. Kemudian surat permohonan dan surat perjanjian diserahkan kepada

bendahara untuk dianalisa. Anggota yang ingin melakukan pinjaman harus

menunggu beberapa hari untuk mendapatkan persetujuan. Kemudian bendahara

akan memberikan surat permohonan dan surat perjanjian yang telah diisi kepada

ketua untuk mendapatkan persetujuan dan pengesahan dari ketua. Setelah

disetujui oelh ketua, bendahara akan menyerahkan dana pinjaman kepada anggota

dan bendahara akan mencatat kedalam buku induk pinjaman sebagai bukti

pencairan dana pinjaman. Dan bendahara akan memberikan bukti pinjaman

berupa kwitansi yang diisi sesuai dengan nominal yang diajukan oleh anggota.

3. Prosedur pengembalian angsuran

Setiap anggota yang telah mimiliki pinjaman harus melakukan setoran

pengembalian angsuran setiap bulannya sesuai dengan kesepakatan. Anggota yang

hendak melakukan penyetoran harus membawa slip setoran dan memberikannya

kepada bendahara. Kemudian bendahara akan mendatangani slip setoran dan

mencatatnya kedalam buku induk angsuran. Serta memberikan bukti berupa

kwitansi pembayaran.

4. Prosedur pembuatan laporan

Dalam pembuatan laporan, bendahara membuat rekap pinjaman dan rekap

simpanan setiap bulannya dan kemudian menyerahkan ke ketua untuk di tanda

tangani.

28

3.2.2 Activity Diagram

Berikut ini activity diagram bisnis sistem berjalan pada BUMDES “Prospek

Mandiri” Wajok Hilir sebagai berikut:

1. Prosedur simpanan

Sumber: Hasil Penelitian (2018)

Gambar III. 2 Activity Diagram prosedur simpanan

29

2. Prosedur pinjaman

Sumber: Hasil Penelitian (2018)

Gambar III. 3 Activity Diagram prosedur pinjaman

3. Prosedur pengembalian angsuran

Sumber: Hasil Penelitian (2018)

Gambar III. 4 Activity Diagram prosedur pengembalian angsuran

30

4. Prosedur pembuatan laporan

Sumber: Hasil Penelitian (2018)

Gambar III. 5 Activity Diagram prosedur pembuatan laporan

3.2.3 Dokumen Masukan

Dokumen masukan adalah sebagai bentuk dokumen masukan yang akan

diolah dalam suatu proses agar dapat menghasilkan keluaran yang diinginkan.

Adapun dokumen masukan sebagai berikut:

a. Nama dokumen : Slip simpanan

Fungsi : sebagai bukti adanya setoran yang dilakukan setiap

harinya

Sumber : Bendahara

Tujuan : anggota dan bendahara

Media : Kertas

31

Format : lampiran A.1

b. Nama dokumen : Slip angsuran

Fungsi : Sebagai bukti adanya pembayaran setoran yang

dilakukan setiap bulannya

Sumber : Bendahara

Tujuan : anggota dan bendahara

Media : Kertas

Format : lampiran A.2

c. Nama dokumen : Surat perjanjian kesepakatan

Fungsi : Sebagai bukti perjanjian antara peminjam dengan

pengurus

Sumber : Bendahara

Tujuan : anggota

Media : Kertas

Format : lampiran A.3

d. Nama dokumen : Surat permohonan pinjaman

Fungsi : Sebagai bukti adanya permohonan pinjaman

Sumber : Bendahara

Tujuan : anggota

Media : Kertas

Format : lampiran A.4

e. Nama dokumen : Berita acara

Fungsi : Sebagai bukti adanya pencairan dana saat ada

pinjaman

32

Sumber : Bendahara

Tujuan : anggota dan bendahara

Media : Kertas

Format : lampiran A.5

3.2.4 Dokumen Keluaran

Dokumen keluaran adalah segala bentuk dokumen dari hasil proses

pengolahan dokumen masukan yang terjadi pada suatu sistem.

Adapun dokumen keluaran adalah sebagai berikut:

a. Nama dokumen : Kwitansi angsuran

Fungsi : sebagai bukti adanya setoran yang dilakukan setiap

harinya

Sumber : Bendahara

Tujuan : anggota dan bendahara

Media : Kertas

Format : lampiran B.1

b. Nama dokumen : Kwitansi penyerahan pinjaman

Fungsi : sebagai bukti adanya penyerahan pinjaman yang

dilakukan oleh bendahara ke anggota yang

bersangkutan

Sumber : Bendahara

Tujuan : anggota dan bendahara

Media : Kertas

Format : lampiran B.2

33

c. Nama dokumen : Laporan Bulanan

Fungsi : sebagai bukti adanya laporan yang dilakukan

setiap bulannya

Sumber : Bendahara

Tujuan : anggota dan bendahara

Media : Kertas

Format : lampiran B.3

3.2.5 Permasalahan Pokok

Dari hasil analisa yang penulis peroleh dari BUMDES “Prospek Mandiri”

Wajok Hilir, penulis menguraikan beberapa kelemahan pada sistem yang berjalan,

diantaranya:

1. Pendaftaran anggota baru masih dengan cara mengisi nama anggota yang

ingin mendaftar dengan tulis tangan, dan kemudian dicatat kedalam buku

menyebabkan kesulitan dalam mencari data anggota.

2. Penyimpanan berupa arsip-arsip membuat pengurus kesulitan dalam mencari

data dan bahkan bisa menyebabkan arsip tersebut hilang.

3. Ketika anggota melakukan penyimpanan dan pembayaran angsuran,

bendahara harus menghitung dan menjumlahkan secara manual dengan

menggunakan kalkulator, dimana bendahara harus menulis dan juga hanya

mengisi ke Microsoft Excel tanpa menggunakan rumus perhitungan yang

harus dibayar oleh anggota ketika melakukan transaksi.

4. Dalam pembuatan laporan sering terjadi kesalahan dalam pencatatan laporan

keuangan maupun transaksi simpan pinjam anggota.

34

3.2.6 Pemecahan Masalah

Berdasarkan permasalahan yang ada dari hasil analisa diatas, maka

diperlukan solusi pemecah masalah terhadap permasalah tersebut, yaitu:

1. Dengan adanya rancang bangun sistem informasi akuntansi simpan pinjam

BUMDES “Prospek Mandiri” pendaftaran anggota baru serta dalam

pencarian data anggota sudah dilakukan dengan mengimput data yang

diperlukan.

2. Dengan adanya rancang bangun sistem informasi akuntansi simpan pinjam

BUMDES “Prospek Mandiri” penyimpanan data sudah tersimpan didalam

sebuah database. Sehingga data yang diperlukan mudah dicari dan tidak

terjadi kehilangan data karena data tersebut dapat di backup.

3. Dengan adanya rancang bangun sistem informasi akuntansi simpan pinjam

BUMDES “Prospek Mandiri” perhitungan transaksi simpan dan angsuran

dapat dilakukan secara otomatis tanpa harus menghitung dengan

menggunakan kalkulator.

4. Dengan adanya rancang bangun sistem informasi akuntansi simpan pinjam

BUMDES “Prospek Mandiri” laporan dapat dilakukan dengan mudah dengan

menginput bulan transaksi laporan yang diinginkan dan langsung bisa

dicetak. .

3.3 Analisa Kebutuhan Software

Analisa kebutuhan software merupakan langkah awal untuk menentukan

perangkat lunak yang dihasilkan perangkat lunak yang baik dan sesuai dengan

35

kebutuhan pengguna sangat tergantung kepada keberhasilan dalam melakukan

analisa kebutuhan. Jika terjadi kesalahan dalam analisa kebutuhan, maka

perangkat lunak yang dibuat menjadi tidak berguna dalam (Hidayat 2017).

Analisa kebutuhan yang baik belum tentu menghasilkan perangkat lunak

yang baik. Tetapi analisa kebutuhan yang tidak tepat sudah pasti menghasilkan

perangkat lunak yang yang tidak berguna. Kesalahan analisa kebutuhan yang

diketahui ketika sudah memasuki penulisan kode atau pengujian, bahkan hampir

pada tahap penyelesaian.

3.3.1 Analisa Kebutuhan

Berdasarkan dari analisa sistem yang di amati pada BUMDES “Prospek

Mandiri” Wajok Hilir yang merupakan badan usaha milik desa yang bergerak

dalam memberikan layanan khusus masyarakat desa Wajok Hilir dalam kegiatan

simpan pinjam. Terdapat kebutuhan dalam pengolaan data pendaftaran anggota,

transaksi simpan, transaksi pinjam, transaksi angsuran, dan menghasilkan sebuah

laporan. Sistem informasi simpan pinjam ini dirancang untuk dikelola dua

pengguna, yakni Bendahara dan Ketua. Analisa kebutuhan pengguna akan sistem

informasi simpan pinjam pada BUMDes “Prospek Mandiri” Wajok Hilir adalah

sebagai berikut:

A. Bendahara

A1. Bagian bendahara login.

A2. Bagian bendahara mengakses menu utama.

A3. Mengolah menu master

A.3.1. Data Anggota

36

A.3.2.Transaksi simpanan

A.3.3. Transaksi pinjaman

A.3.4. Transaksi angsuran

A4. Mengolah menu jurnal

A.4.1. Jurnal umum

A.4.2. Akun perkiraan

A.4.3. Kelompok akun

A5. Mengolah laporan.

A.5.1. Laporan simpanan

A.5.2. Laporan pinjaman

A.5.3. Laporan angsuran

A6. Mengolah menu laporan keuangan

A.6.1 Laporan jurnal umum

A.6.2 Laporan buku besar

A7.Mengolah menu setting

A.7.1 Setting user

B. Ketua

B1. Bagian ketua login.

B2. Bagian ketua dapat memeriksa dan melihat semua laporan

B.2.1. Laporan simpanan

B.2.2. Laporan pinjaman

B.2.3. Laporan angsuran

B3. Melihat menu laporan keuangan

B.3.1. Laporan jurnal umum

37

B.3.2. Laporan buku besar

B4. Mengolah menu setting

B.4.1 Setting user

3.3.2 Use Case Diagram

Use Case Diagram adalah gambaran graphical dari beberapa atau semua

actor, use case, dan interaksi diantaranya yang memperkenalkan suatu sistem.

Gambar dibawah menjelaskan use case diagram bagian bendahara sebagai

berikut:

Sumber: Hasil Rancangan (2018)

Gambar III.6 Usa Case Diagram bagian bendahara

Bendahara dapat melakukan login pada sistem BUMDES “Prospek

Mandiri” Wajok Hilir Bendahara masuk ke menu login mengisi ussername dan

password, kemudian diverifikasi data.

38

Tabel III.1

Deskripsi Use Case Diagram

Use Case Narative Sistem Usulan

Tujuan Untuk mengolah data anggota,

transaksi simpanan, transaksi

pinjaman, transaksi angsuran, jurnal

umum, akun perkiraan, kelompok

akun, laporan simpanan laporan

pinjaman, laporan angsuran, serta

setting user.

Deskripsi Sistem yang dirancang memungkinkan

untuk mengelola data simpan pinjam

yang dimulai dari memasukkan data

sampai pengolahan laporan-laporan.

Skenario Utama

Aktor Bendahara

Kondisi awal Aktor membuka aplikasi simpan pinjam

BUMDes “Prospek Mandiri” Wajok

Hilir.

Aksi Aktor Reaksi Sistem

1. Aktor masuk ke sistem

2. Aktor mengelola data master

3. Aktor mengelola data

anggota

4. Aktor mengelola data

transaksi simpanan

5. Aktor mengelola data

transaksi pinjaman

6. Aktor Mengelola data

transaksi angsuran

7. Aktor mengolah data jurnal

8. Aktor mengolah data jurnal

umum

9. Aktor mengolah data akun

perkiraan

10. Aktor mengelolah data

kelompok akun

11. Aktor mencetak laporan

simpanan

12. Aktor Mencetak laporan

jurnal umum

13. Aktor Mencetak Laporan

pinjaman

14. Aktor Mencetak Laporan

Sistem akan menampilkan menu utama

Sistem akan menampilkan form master

Sistem akan menampilkan form data

anggota

Sistem akan menampilkan form

transaksi simpanan

Sistem akan menampilkan form

transaksi pinjman

Sistem akan Menampilkan form

transaksi angsuran

Sistem akan menampilkan form jurnal

Sistem akan menampilkan form jurnal

umum

Sistem akan menampilkan form akun

perkiraan

Sistem akan menampilkan form

kelompok akun

Sistem akan menampilkan form

Laporan simpanan

Sistem akan menampilkan form laporan

jurnal umum

Sistem akan menampilkan form laporan

pinjaman

Sistem akan menampilkan form

39

angsuran

15. Aktor Mencetak Laporan

Jurnal Umum

16. Aktor Mencetak Laporan

Buku besar

17. Aktor mengolah menu setting

user

Laporan angsuran

Sistem akan menampilkan form

Laporan jurnal umum

Sistem akan menampilkan form

Laporan buku besar

Sistem akan menampilkan menu setting

user

Kondisi Akhir Jika perintah sesuai maka sistem akan

menampilkan seperti yang diinginkan

oleh actor

Sumber: Hasil Rancangan (2018)

Gambar dibawah menjelaskan use case diagram bagian ketua sebagai

berikut:

Sumber: Hasil Rancangan (2018)

Gambar III.7 Usa Case Diagram bagian ketua

Ketua dapat melakukan login pada sistem BUMDes “Prospek Mandiri”

Wajok Hilir Bendahara masuk ke menu login mengisi ussername dan password,

kemudian diverifikasi data.

Tabel III.2

Deskripsi Use Case Diagram

Use Case Narative Sistem Usulan

Tujuan Untuk melihat atau mencetak data

Pembuatan Laporan jurnal umum,

laporan simpanan, laporan pinjaman,

laporan angsuran

Deskripsi Sistem yang dirancang memungkinkan

untuk melihat/ mencetak Laporan-

laporan dalam pembuatan laporan

40

simpan pinjam.

Skenario Utama

Aktor Ketua

Kondisi awal Aktor membuka aplikasi simpan pinjam

BUMDes “Prospek Mandiri” Wajok

Hilir

Aksi Aktor Reaksi Sistem

1. Aktor masuk ke system

2. Aktor melihat/mencetak

laporan simpanan

3. Aktor melihat/ mencetak

laporan pinjaman

4. Aktor melihat/mencetak

laporan angsuran

5. Aktor melihat/mencetak

laporan jurnal umum

6. Aktor melihat/mencetak

laporan buku besar

7. Aktor mengolah menu setting

user

Sistem akan menampilkan menu utama

Sistem akan menampilkan form laporan

simpanan

Sistem akan menampilkan form laporan

pinjaman

Sistem akan menampilkan form laporan

laporan angsuran

Sistem akan menampilkan form laporan

jurnal umum

Sistem akan menampilkan form laporan

buku besar

Sistem akan menampilkan form setting

user

Kondisi Akhir Jika perintah sesuai maka sistem akan

menampilkan seperti yang diinginkan

oleh actor

Sumber: Hasil Rancangan (2018)

3.3.3 Activity Diagram

Dibawah ini merupakan activity diagram usulan penulis yang dirancang sesuai

dengan program aplikasi Simpan Pinjam BUMDES “Prospek Mandiri” Wajok

Hilir.

1. Activity Diagram Menu Login

Didalam Activity Diagram menu login ini mencakup kegiatan login masuk

sistem simpan pinjam BUMDES “Prospek Mandiri” Wajok Hilir.

Aktor yang dapat melakukan kegiatan ini adalah bendahara dan ketua.

41

Sumber : Hasil Rancangan (2018)

Gambar III. 8 Activity Diagram Menu Login

Bendahara dan ketua melakukan login, masukkan ussername dan password

sistem akan mengecek ussername dan password, jika ussername dan password

salah akan tampil pesan dan kemudian kembali ke menu login.jika benar sistem

akan masuk ke bagian menu utama.

2. Activity Diagram Menu Utama

Didalam Activity Diagram menu utama ini mencakup seluruh kegiatan aktifitas

transaksi simpan pinjam, mulai dari data anggota, transaksi, dan jurnal umum.

Sama juga halnya dengan login, aktor yang dapat melakukan kegiatan ini

bendahara dan ketua.

42

Sumber : Hasil Rancangan (2018)

Gambar III.9 Activity Diagram Menu utama

Bendahara dan ketua masuk ke menu utama, didalam menu utama terdapat

beberapa menu dan diantaranya ada menu anggota, menu transaksi, dan menu

jurnal.

3. Activity Diagram Menu Data anggota

Didalam Activity Diagram menu data anggota ini mencakup kegiatan aktifitas

data anggota meliputi pendaftaran anggota. Aktor yang melakukan kegiatan ini

adalah bendahara dan ketua. Anggota hanya melengkapi persyaratan pendaftaran

anggota saja.

43

Sumber : Hasil Rancangan (2018)

Gambar III. 10 Activity Diagram Menu data anggota

Bendahara dan ketua masuk ke menu utama memilih menu data anggota,

di dalam data anggota terdapat tambah untuk menambah data dan kemudian

menyimpan data atau membatalkan simpanan data, dan edit untuk mengedit data,

serta hapus untuk menghapus data.

4. Activity Diagram Menu Transaksi Simpan

Didalam Activity Diagram menu transaksi simpan ini meliputi kegiatan

transaksi simpanan yang dilakukan anggota. Aktor yang dapat melakukan kegiatan

44

ini adalah ketua dan bendahara. Anggota hanya dapat melakukan simpanan tanpa

dapat mengakses sistem ini.

Sumber : Hasil Rancangan (2018)

Gambar III. 11 Activity Diagram transaksi simpanan

Bendahara dan ketua masuk ke menu utama memilih menu transaksi

simpan, didalam transaksi simpan terdapat tambah untuk menambah data dan

kemudian menyimpan data atau membatalkan simpanan data, serta hapus untuk

menghapus data.

5. Activity Diagram Menu Transaksi Pinjaman

45

Didalam Activity Diagram menu transaksi pinjaman ini meliputi kegiatan

transaksi pinjaman yang dilakukan anggota. Aktor yang dapat melakukan kegiatan

ini adalah ketua dan bendahara. Anggota hanya dapat melakukan pinjaman tanpa

dapat mengakses sistem ini.

Sumber : Hasil Rancangan (2018)

Gambar III. 12 Activity Diagram transaksi pinjaman

Bendahara dan ketua masuk ke menu utama memilih menu transaksi

pinjam, didalam transaksi pinjam terdapat tambah untuk menambah data dan

46

kemudian menyimpan data atau membatalkan simpanan data, edit untuk mengedit

data, serta hapus untuk menghapus data.

6. Activity Diagram Menu Transaksi Angsuran

Didalam Activity Diagram menu transaksi pembayaran angsuran ini

meliputi kegiatan transaksi pembayaran angsuran yang dilakukan anggota. Aktor

yang dapat melakukan kegiatan ini adalah ketua dan bendahara. Anggota hanya

dapat melakukan pembayaran angsuran tanpa dapat mengakses sistem ini.

Sumber : Hasil Rancangan (2018)

Gambar III. 13 Activity Diagram transaksi angsuran

Bendahara dan ketua masuk ke menu utama memilih menu transaksi

angsuran, didalam transaksi angsuran terdapat tambah untuk menambah data dan

47

kemudian menyimpan data atau membatalkan simpanan data dan edit untuk

mengedit data, serta hapus untuk menghapus data.

8. Activity Diagram transaksi laporan

Didalam Activity Diagram menu transaksi laporan ini meliputi kegiatan

melihat laporan semua transaksi dan mencetak laporan transaksi. Aktor yang

dapat melakukan kegiatan ini adalah ketua dan bendahara.

Sumber : Hasil Rancangan (2018)

Gambar III. 14 Activity Diagram transaksi laporan

Bendahara dan ketua masuk ke menu utama memilih menu laporan,

didalam laporan terdapat pilihan laporan simpanan, pinjaman, angsuran, jurnal.

48

Kemudian bendahara dan ketua mengimput data pilihan laporan yang akan

dicetak.

8. Activity Diagram laporan jurnal umum

Didalam Activity Diagram menu laporan jurnal umum ini meliputi

kegiatan mencetak laporan jurnal umum. Aktor yang dapat melakukan kegiatan ini

adalah ketua dan bendahara.

Sumber : Hasil Rancangan (2018)

Gambar III. 15 Activity Diagram laporan jurnal umum

Bendahara dan ketua masuk ke menu utama memilih menu laporan

keuangan, didalam laporan terdapat pilihan laporan jurnal umum dan buku besar.

Kemudian bendahara dan ketua mengimput data pilihan laporan yang akan

dicetak.

49

9. Activity Diagram laporan Buku besar

Didalam Activity Diagram menu laporan buku besar ini meliputi kegiatan

mencetak laporan buku besar. Aktor yang dapat melakukan kegiatan ini adalah

ketua dan bendahara.

Sumber : Hasil Rancangan (2018)

Gambar III. 16 Activity Diagram laporan buku besar

Bendahara dan ketua masuk ke menu utama memilih menu laporan

keuangan, didalam laporan terdapat pilihan laporan jurnal umum dan buku besar.

Kemudian bendahara dan ketua mengimput data pilihan laporan yang akan

dicetak.

50

10. Activity Diagram setting user

Didalam Activity Diagram menu setting user ini meliputi kegiatan setting

user yang berisikan pengubahan data user yang akan menggunakan aplikasi. Aktor

yang dapat melakukan kegiatan ini adalah ketua dan bendahara.

Sumber : Hasil Rancangan (2018)

Gambar III. 17 Activity Diagram Setting user

Bendahara dan ketua masuk ke menu utama memilih menu setting didalam

laporan terdapat pilihan menu setting user. Kemudian bendahara dan ketua

mengimput data user yang hendak diubah.

51

3.4 Desain

Adapun desain merupakan perencanaan dalam pembuatan sebuah objek

sistem komponen dan struktur. Sedangkan kata desain dapat digunakan sebagai

kata benda maupun kata kerja, dalam artian yang lebih luas, desain merupakan

seni terapan dan rekayasa yang berintegrasi dengan teknologi.

3.4.1 Entity Relationship Diagram (ERD)

Didalam Entity Relationship Diagram (ERD) ini mencakup seluruh

kegiatan aktifitas sistem yang diusulkan di BUMDES “Prospek Mandiri” Wajok

Hilir.

Sumber : Hasil Rancangan (2018)

Gambar III. 18 Entity Relationship Diagram (ERD)

52

3.4.2 Logical Record Structure (LRS)

Didalam Logical Record Structure (LRS) ini mencakup seluruh kegiatan

aktifitas sistem yang diusulkan di BUMDES “Prospek Mandiri” Wajok Hilir

Sumber : Hasil Rancangan (2018)

Gambar III.19 Logical Record Structure (LRS)

3.4.3 Spesifikasi File

Spesifikasi file akan menguraikan organisasi dokumen data yang

berbentuk file. Adapun Spesifikasi file perancangan sistem usulan simpan pinjam

pada BUMDes “Prospek Mandiri” sebagai berikut :

1. Spesifikasi File Data Anggota

Nama file : Data Anggota

Akronim : Data anggota.sql

Fungsi : Untuk mengolah data anggota

Tipe file : Master data

Organisasi file : Index Sequental

53

Akses File : Random

Panjang record : 825

Kunci file : id_anggota

Software : MySQL

Tabel III.3

Spesifikasi File data anggota

No Elemen Data Nama Field Tipe Panjang

Record Keterangan

1 id_anggota Id_anggota Int 11 Primary key

2 Nama_depan Nama_depan Varchar 100

3 Nama_belakang Nama_belakang Varchar 100

4 Jenis_kelamin Jenis_kelamin Varchar 1

5 Alamat Alamat Varchar 200

6 Telp Telp Varchar 14

7 File_kk Scan_kk Varchar 100

8 File_jaminan Scan_jaminan Varchar 100

9 File_ktp Scan_ktp Varchar 100

10 Foto Foto Varchar 100

11 Saldo Saldo Int 0

12 Hutang Hutang Int 0

13 Delete Delete Int 0

Sumber: Hasil Rancangan (2018)

2. Spesifikasi File Transaksi Simpananan

Nama file : Transaksi simpanan

Akronim : Transaksi simpanan.sql

Fungsi : Untuk mengelolah data transaksi simpanan

Tipe file : Master data

Organisasi file : Index Sequental

Akses File : Random

Panjang record : 46

Kunci file : id_tabungan

Software : MySQL

54

Tabel III.4

Spesifikasi File Transaksi simpananan

No Elemen

Data Nama Field Tipe

Panjang

Record Keterangan

1 Id_tabungan Id_tabungan Int 11 Primary key

2 Id_anggota Id_anggota Int 11 FK

3 User_id User_id Int 11 FK

4 Tgl_simpan Tgl_simpan Date

5 Jumlah Jumlah Int 11

6 Keterangan Keterangan Text

7 Type Type Int 1

8 deleted Deleted Int 1

Sumber: Hasil Rancangan (2018)

3. Spesifikasi File Transaksi pinjaman

Nama file : Transaksi pinjaman

Akronim : Transaksi pinjaman.sql

Fungsi : Mengolah data pinjaman

Tipe file : Master data

Organisasi file : Index Sequental

Akses File : Random

Panjang record : 68

Kunci file : id_pinjaman

Software : MySQL

Tabel III.5

Spesifikasi File transaksi pinjaman

No Elemen

Data Nama Field Tipe

Panjang

Record Keterangan

1 Id_pinjam Id_pinjam Int 11 Primary key

2 Id_anggota Id_anggota Int 11 FK

3 User_id User_id Int 11 FK

4 Tgl_pinjam Tgl_pinjam Date

5 Tgl_tempo Tgl_tempo Date

6 Jumlah Jumlah Int 11

7 Angsuran Angsuran Int 11

8 Denda Denda Int 11

9 Keterangan Keterangan Text

55

10 Status Status Int 1

11 Deleted Deleted Int 1

Sumber: Hasil Rancangan (2018)

4. Spesifikasi File Transaksi Angsuran

Nama file : Transaksi angsuran

Akronim : Transaksi angsuran.sql

Fungsi : Untuk mengolah data angsuran

Tipe file : Master data

Organisasi file : Index Sequental

Akses File : Random

Panjang record : 72

Kunci file : id_angsuran

Software : MySQL

Tabel III.6

Spesifikasi File transaksi angsuran

No Elemen

Data Nama Field Tipe

Panjang

Record Keterangan

1 Id_angsuran Id_angsuran Int 11 Primary key

2 Id_pinjam Id_pinjam Int 11 FK

3 User_id User_id Int 11 FK

4 Tgl_bayar Tgl_bayar Date

5 Tempo Tempo Date

6 Angsuran_ke Angsuran_ke Int 5

7 Bayar Bayar Int 11

8 Total_denda Total_denda Int 11

9 Total_bayar Total_bayar Int 11

10 Info Info Text

11 Deleted Deleted Int 1

Sumber: Hasil Rancangan (2018)

5. Spesifikasi File user

Nama file : User

Akronim : User.sql

Fungsi : Untuk mengolah data user

56

Tipe file : Master data

Organisasi file : Index Sequental

Akses File : Random

Panjang record : 706

Kunci file : user_id

Software : MySQL

Tabel III.7

Spesifikasi File user

No Elemen

Data Nama Field Tipe

Panjang

Record Keterangan

1 User_id User_id Int 11 Primary key

2 Username Username Varchar 50

3 Password Password Varchar 100

4 First_name First_name Varchar 100

5 Last_name Last_name Varchar 100

6 Gender Gender Varchar 1

7 Address Addres Varchar 100

8 City City Varchar 100

9 Phone Phone Varchar 13

10 Email Email Varchar 13

11 Foto Foto Varchar 100

12 Level Level Varchar 5

13 Saldo Saldo Int 11

14 Deleted Deleted Int 1

Sumber: Hasil Rancangan (2018)

6. Spesifikasi File perkiraan

Nama file : Perkiraan

Akronim : Perkiraan.sql

Fungsi : Untuk mengelolah data perkiraan

Tipe file : Master data

Organisasi file : Index Sequental

Akses File : Random

Panjang record : 96

57

Kunci file : id_perkiraan

Software : MySQL

Tabel III.8

Spesifikasi File perkiraan

No Elemen Data Nama Field Tipe Panjang

Record

Keteran

gan

1 Id_perkiraan Id_perkiraan Int 10 Primary

key

2 Id_perkiraan_group Id_perkiraan_group Int 10 FK

3 Nomor_akun Nomor_akun Char 5

4 Nama_perkiraan Nama_perkiraan Varchar 50

5 Keterangan Keterangan Tinytex

t

6 Saldo_awal Saldo_awal varchar 20

7 Deleted Deleted Int 1

Sumber: Hasil Rancangan (2018)

7. Spesifikasi File perkiraan_group

Nama file : Perkiraan group

Akronim : Perkiraangroup.sql

Fungsi : Untuk mengelolah data perkiraan group

Tipe file : Master data

Organisasi file : Index Sequental

Akses File : Random

Panjang record : 61

Kunci file : id_perkiraan_group

Software : MySQL

Tabel III.9

Spesifikasi File perkiraan group

No Elemen Data Nama Field Tipe Panjang

Record Keterangan

1 Id_perkiraan_group Id_perkiraan_group Int 10 Primary key

2 Nama_pg Nama_pg Varchar 50

3 Deleted Deleted int 1

Sumber: Hasil Rancangan (2018)

58

8. Spesifikasi File ju_detail

Nama file : Ju_detail

Akronim : Judetail.sql

Fungsi : Untuk mengelolah data jumlah debet dan kredit

Tipe file : Master data

Organisasi file : Index Sequental

Akses File : Random

Panjang record : 70

Kunci file : id_detail

Software : MySQL

Tabel III.10

Spesifikasi File Ju_detail

No Elemen Data Nama Field Tipe Panjang

Record Keterangan

1 Id_detail Id_detail Int 10 Primary key

2 Id_coa Id_coa int 10

3 Id_header Id_header int 10 FK

4 Debet Debet Varchar 20

5 Kredit Kredit Varchar 20

Sumber: Hasil Rancangan (2018)

9. Spesifikasi File ju_header

Nama file : Ju_header

Akronim : Juheader.sql

Fungsi : Untuk mengelolah jurnal umum

Tipe file : Master data

Organisasi file : Index Sequental

Akses File : Random

Panjang record : 310

Kunci file : id_header

59

Software : MySQL

Tabel III.11

Spesifikasi File ju-header

No Elemen Data Nama Field Tipe Panjang

Record Keterangan

1 Id_header Id_header Int 10 Primary key

2 Id_tabungan Id_tabungan Int 11 FK

3 Id_pinjaman Id_pinjaman Int 11 FK

4 Id_angsuran Id_angsuran Int 11 FK

5 User_id User_id Int 11 FK

6 Tgl_transaksi Tgl_transaksi Date

7 Uraian Uraian Varchar 255

8 Stt Stt Enum 1

9 Tanggal_input Tanggal_input Deletime 0

Sumber: Hasil Rancangan (2018)

10. Spesifikasi File sessions

Nama file : Sessions

Akronim : Sessions.sql

Fungsi : Untuk mengatur jalannya framwork CI

Tipe file : Master data

Organisasi file : Index Sequental

Akses File : Random

Panjang record : 226

Kunci file : session_id

Software : MySQL

Tabel III.12

Spesifikasi File sessions

No Elemen Data Nama Field Tipe Panjang

Record Keterangan

1 Session_id Session_id Varchar 40 Primary key

2 Ip_address Ip_address Varchar 16

3 User_agent User_agent Varchar 120

4 Last_activity Last_activity Int 10

5 User_data User_data Text

Sumber: Hasil Rancangan (2018)

60

3.4.4 Sequence Diagram

Sequence diagram merupakan sekumpulan pernyataan yang

menggambarkan komponen perangkat lunak dan fungsi-fungsi yang ada pada

komponen tersebut. Sequence diagram menggambarkan struktur teknis, batasan-

batasan, ciri-ciri serta antarmuka pada komponen-komponen tersebut.

Berikut ini sequence diagram yang penulis usulkan untuk BUMDE

“Prospek Mandiri” Wajok Hilir:

Sumber: Hasil Rancangan (2018)

Gambar III. 20 Sequence diagram menu login

3.4.5 Deploymet Diagram

Deployment diagram salah satu jenis alat atau bahasa (UML) yang

digunakan untuk memvisualisasikan, menspesifikasikan, dan mendokumentasikan

proses yang terjadi pada suatu sistem perangkat lunak yang akan dibangun.

61

Sumber : Hasil Rancangan (2018)

Gambar III.21 Deployment diagram

3.4.6 User Interface

User Interface bagian dari komputer dan software yang orang-orang dapat

lihat,dengar,sentuh,berbicara, atau sebaliknya, dapat mengerti atau mengarahkan.

User interface mempunyai dua element penting: input dan output.

1. Rancangan Program Login

Gambar dibawah merupakan tampilan dari menu login:

Sumbe: Hasil Rancangan (2018)

Gambar III.22 From Login

62

2. Rancangan Program Menu Utama

Gambar dibawah merupakan tampilan dari menu utama:

Sumbe: Hasil Rancangan (2018)

Gambar III. 23 Form Menu utama

3. Rancangan Program Menu Master

Gambar dibawah merupakan tampilan dari menu master:

Sumbe: Hasil Rancangan (2018)

Gambar III.24 Form Menu Master

4. Rancangan Program Menu Data Anggota

Gambar dibawah merupakan tampilan dari menu anggota:

63

Sumbe: Hasil Rancangan (2018)

Gambar III.25 Form Menu Data anggota

5. Rancangan Program Menu Transaksi Tabungan

Gambar dibawah merupakan tampilan dari menu tabungan:

Sumbe: Hasil Rancangan (2018)

Gambar III.26 Form Menu Transaksi tabungan

6. Rancangan Program Menu Transaksi Pinjaman

Gambar dibawah merupakan tampilan dari menu transaksi pinjaman:

64

Sumbe: Hasil Rancangan (2018)

Gambar III. 27 Form Menu Transaksi Pinjaman

7. Rancangan Program Menu Transaksi Angsuran

Gambar dibawah merupakan tampilan dari menu transaksi angsuran:

Sumbe: Hasil Rancangan (2018)

Gambar III.28 Form Menu Transaksi Angsuran

8. Rancangan Program Menu Jurnal

Gambar dibawah merupakan tampilan dari Menu Jurnal umum

65

Sumbe:

Hasil Rancangan (2018)

Gambar III.29 Form Menu Jurnal Umum

9 . Rancangan Program Menu Akun Perkiraan

Gambar dibawah merupakan tampilan dari menu akun perkiraan:

Sumbe: Hasil Rancangan (2018)

Gambar III.30 Form Menu Akun perkiraan

10. Rancangan Program Menu Kelompok Akun

Gambar dibawah merupakan tampilan dari menu kelompok akun:

Sumbe: Hasil Rancangan (2018)

Gambar III. 31 Form Menu Kelompok Akun

66

11. Rancangan Program Menu Laporan Simpanan

Gambar dibawah merupakan tampilan dari menu laporan simpanan:

Sumbe: Hasil Rancangan (2018)

Gambar III.32 Form Menu Laporan Simpanan

12. Rancangan Program Menu Laporan Pinjaman

Gambar dibawah merupakan tampilan dari menu laporan pinjaman:

Sumbe: Hasil Rancangan (2018)

Gambar III.33 Form Menu Laporan pinjaman

13. Rancangan Program Menu Laporan Angsuran

Gambar dibawah merupakan tampilan dari menu laporan angsuran:

67

Sumbe: Hasil Rancangan (2018)

Gambar III.34 Form Menu Laporan Angsuran

14. Rancangan Program Menu Setting User

Gambar dibawah merupakan tampilan dari menu setting user:

Sumbe: Hasil Rancangan (2018)

Gambar III.35 Form Menu Setting User

15. Tampilan Cetak Laporan Transaksi Simpanan

Gambar dibawah merupakan tampilan dari laporan cetak transaksi

simpanan:

68

Sumbe: Hasil Rancangan (2018)

Gambar III.36 Form Cetak laporan simpanan

16. Tampilan Cetak Laporan Transaksi Pinjaman

Gambar dibawah merupakan tampilan dari laporan cetak transaksi

pinjaman:

Sumbe: Hasil Rancangan (2018)

Gambar III. 37 Form Cetak laporan pinjaman

17. Tampilan Cetak Laporan Transaksi Angsuran

Gambar dibawah merupakan tampilan dari laporan cetak transaksi

angsuran:

69

Sumbe: Hasil Rancangan (2018)

Gambar III.38 Form Cetak laporan angsuran

18. Tampilan Cetak Laporan Jurnal Umum

Gambar dibawah merupakan tampilan dari laporan cetak jurnal umum:

Sumbe: Hasil Rancangan (2018)

Gambar III.39 Form Cetak laporan jurnal umum

19. Tampilan Cetak Laporan Buku Besar

Gambar dibawah merupakan tampilan dari laporan cetak buku besar:

Sumbe: Hasil Rancangan (2018)

Gambar III. 40 Form Cetak laporan Buku Besar

70

3.5 Implementasi

Suatu proses untuk menempatkan sistem informasi baru kedalam sistem

yang sudah ada. Tahapan impelementasi adalah tahapan penerapan sistem untuk

dioperasikan. Pada tahapan ini dijelaskan mengenai sistem yang dirancang serta

bagaimana cara penggunaannya (Wijianto et al. 2018) .

3.5.1 Code Generation

A. Transaksi simpanan

1. Controllers

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Tabungan extends CI_Controller {

public function __construct()

{

parent::__construct();

$this->is_login();

}

public function is_login(){

$user_id = $this->session->userdata('user_id');

if(empty($user_id)){

redirect('admin');

}

}

public function index()

{

$this->show();

}

public function show(){

$alert = $this->session->flashdata('alert');

if(!empty($alert)){

$data['alert'] = $alert;

}

71

$data['tabungan'] = $this->m_tabungan->ambil_tabungan()-

>result();

$this->load->view('tabungan/show',$data);

}

public function add(){

$data['type'] = array(

'' => '--BELUM DIPILIH--',

'1'=> 'TABUNG',

'2'=>'TARIK'

);

$perkiraan = $this->m_perkiraan->get_all_perkiraan();

$perkiraan_options = array();

$perkiraan_options['']='--BELUM DIPILIH--';

if($perkiraan->num_rows() > 0){

foreach ($perkiraan->result_array() as $row) {

$perkiraan_options[$row['id_perkiraan']] =

strtoupper($row['nama_perkiraan']);

}

}

$data['perkiraan_options'] = $perkiraan_options;

$this->load->view('tabungan/add',$data);

}

public function edit($id_tabungan){

$data['type'] = array(

'' => '--BELUM DIPILIH--',

'1'=> 'TABUNG',

'2'=>'TARIK'

);

$data['tabungan'] = $this->m_tabungan-

>ambil_data_tabungan($id_tabungan)->row();

$this->load->view('tabungan/edit', $data);

}

public function findanggota(){

$keyword = $this->input->get('term');

$data = $this->m_anggota->find_anggota($keyword);

72

foreach($data->result() as $result)

{

$arr[] = array(

'label' =>strtoupper($result->nama_depan.'

'.$result->nama_belakang),

'value' =>$result->id_anggota

);

}

echo json_encode($arr);

}

public function save(){

$user_id = $this->session->userdata('user_id');

$jumlah = $this->input->post('jumlah');

$id_anggota = $this->input->post('id_anggota');

$type = $this->input->post('type');

$keterangan = $this->input->post('keterangan');

$tanggal = date('Y-m-d',strtotime($this->input-

>post('tgl_simpan')));

$debet = $this->input->post('debet');

$kredit = $this->input->post('kredit');

$akun_debet = $this->m_perkiraan->get_perkiraan($debet)-

>row();

$saldo_awal_debet = $akun_debet->saldo_awal;

$akun_kredit = $this->m_perkiraan->get_perkiraan($kredit)-

>row();

$saldo_awal_kredit = $akun_kredit->saldo_awal;

$saldo_debet = $saldo_awal_debet + $jumlah;

$saldo_kredit = $saldo_awal_kredit - $jumlah;

$anggota = $this->m_anggota->ambil_data_anggota($id_anggota)-

>row();

$saldo = $anggota->saldo;

if($type == 1){

$total = $jumlah + $saldo;

}elseif($type == 2 AND $saldo >= $jumlah){

$total = $saldo - $jumlah;

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Gagal Disimpan',

'type' => 'danger',

73

'icon' => 'glyphicon glyphicon-remove'

);

$this->session->set_flashdata('alert', $alert);

redirect('tabungan');

}

$data_tabungan = array(

'id_anggota' => $id_anggota,

'user_id' => $user_id,

'tgl_simpan' => $tanggal,

'jumlah' => $jumlah,

'type' => $type,

'keterangan' => $keterangan

);

$id_tabungan = $this->m_tabungan->save($data_tabungan);

if($id_tabungan > 0){

$this->m_anggota->update_tabung($id_anggota,$total);

$data_jurnal = array(

'id_tabungan'=>$id_tabungan,

'user_id'=>$user_id,

'tanggal_transaksi'=>$tanggal,

'uraian'=>$keterangan

);

$id_header = $this->m_jurnal_umum-

>save_header($data_jurnal);

if($id_header > 0){

$data_debet = array(

'id_header'=>$id_header,

'id_coa'=>$debet,

'debet'=>$jumlah,

);

$id_detil = $this->m_jurnal_umum-

>save_detil($data_debet);

if($id_detil > 0){

$data_kredit = array(

'id_header'=>$id_header,

'id_coa'=>$kredit,

'kredit'=>$jumlah

);

if($this->m_jurnal_umum-

>save_detil($data_kredit) > 0){

74

$this->m_jurnal_umum-

>update_saldo($debet,$saldo_debet);

$this->m_jurnal_umum-

>update_saldo($kredit,$saldo_kredit);

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Berhasil

Disimpan',

'type' => 'success',

'icon' => 'glyphicon

glyphicon-ok'

);

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Kredit

Gagal Disimpan',

'type' => 'danger',

'icon' => 'glyphicon

glyphicon-remove'

);

}

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Debet Gagal

Disimpan',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-

remove'

);

}

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Jurnal Gagal Disimpan',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

}

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Gagal Disimpan',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

}

75

$this->session->set_flashdata('alert', $alert);

redirect('tabungan');

}

public function update(){

$user_id = $this->session->userdata('user_id');

$jumlah = $this->input->post('jumlah');

$id_anggota = $this->input->post('id_anggota');

$id_tabungan = $this->input->post('id_tabungan');

// $anggota = $this->m_anggota-

>ambil_data_anggota($id_anggota)->row();

// $saldo = $anggota->saldo;

// $total = $jumlah + $saldo;

$data_tabungan = array(

'id_anggota' => $this->input->post('id_anggota'),

'user_id' => $user_id,

'tgl_simpan' => date('Y-m-d',strtotime($this->input-

>post('tgl_simpan'))),

'jumlah' => $jumlah,

'keterangan' => $this->input->post('keterangan'),

);

if($this->m_tabungan->update($id_tabungan,$data_tabungan) >

0){

//$this->m_anggota->update_tabung($id_anggota,$total);

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Berhasil Disimpan',

'type' => 'success',

'icon' => 'glyphicon glyphicon-ok'

);

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Gagal Disimpan',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

}

$this->session->set_flashdata('alert', $alert);

76

redirect('tabungan');

}

public function form_delete($id_tabungan){

$perkiraan = $this->m_jurnal_umum-

>get_ju_detil_perkiraan($id_tabungan);

$perkiraan_options = array();

$perkiraan_options['']='--BELUM DIPILIH--';

if($perkiraan->num_rows() > 0){

foreach ($perkiraan->result_array() as $row) {

$perkiraan_options[$row['id_perkiraan']] =

strtoupper($row['nama_perkiraan']);

}

}

$data['perkiraan_options'] = $perkiraan_options;

$data['id_tabungan'] = $id_tabungan;

$this->load->view('tabungan/delete', $data);

}

public function delete(){

$id_tabungan = $this->input->post('id_tabungan');

$debet = $this->input->post('debet');

$kredit = $this->input->post('kredit');

$tabungan = $this->m_tabungan-

>ambil_data_tabungan($id_tabungan)->row();

$id_anggota = $tabungan->id_anggota;

$type = $tabungan->type;

$jumlah = $tabungan->jumlah;

$anggota = $this->m_anggota->ambil_data_anggota($id_anggota)-

>row();

$saldo = $anggota->saldo;

if($type == 1){

$total = $jumlah - $saldo;

}elseif($type == 2){

$total = $saldo + $jumlah;

}

$akun_debet = $this->m_perkiraan->get_perkiraan($debet)-

>row();

$saldo_awal_debet = $akun_debet->saldo_awal;

77

$akun_kredit = $this->m_perkiraan->get_perkiraan($kredit)-

>row();

$saldo_awal_kredit = $akun_kredit->saldo_awal;

$saldo_debet = $saldo_awal_debet + $jumlah;

$saldo_kredit = $saldo_awal_kredit - $jumlah;

if($this->m_tabungan->delete($id_tabungan) > 0){

$this->m_anggota->update_tabung($id_anggota,$total);

$this->m_jurnal_umum-

>update_saldo($debet,$saldo_debet);

if($this->m_jurnal_umum-

>update_saldo($kredit,$saldo_kredit) > 0){

$this->m_jurnal_umum-

>delete_header($id_tabungan);

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Berhasil Dihapus',

'type' => 'success',

'icon' => 'glyphicon glyphicon-ok'

);

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Gagal Dihapus',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

}

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Gagal Dihapus',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

}

$this->session->set_flashdata('alert', $alert);

redirect('tabungan');

}

78

}

/* End of file tabungan.php */

/* Location: ./application/controllers/tabungan.php */

2. Models

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class M_tabungan extends CI_Model {

function ambil_tabungan(){

$this->db->where('tabungan.deleted', 0);

$this->db->join('anggota', 'anggota.id_anggota =

tabungan.id_anggota');

$this->db->join('user', 'user.user_id = tabungan.user_id');

return $this->db->get('tabungan');

}

function ambil_data_tabungan($id_tabungan){

$this->db->where('id_tabungan', $id_tabungan);

return $this->db->get('tabungan');

}

function ambil_tabungan_laporan($id_anggota,$tgl_awal,$tgl_akhir){

$this->db->where('tabungan.deleted', 0);

$this->db->join('anggota', 'anggota.id_anggota =

tabungan.id_anggota');

$this->db->join('user', 'user.user_id = tabungan.user_id');

$this->db->where('tabungan.id_anggota', $id_anggota);

$this->db->where('tgl_simpan >=', $tgl_awal);

$this->db->where('tgl_simpan <=', $tgl_akhir);

return $this->db->get('tabungan');

}

function ambil_tabungan_laporan_harian($tgl_awal,$tgl_akhir){

$this->db->where('tabungan.deleted', 0);

$this->db->join('anggota', 'anggota.id_anggota =

tabungan.id_anggota');

$this->db->join('user', 'user.user_id = tabungan.user_id');

$this->db->where('tgl_simpan >=', $tgl_awal);

$this->db->where('tgl_simpan <=', $tgl_akhir);

return $this->db->get('tabungan');

}

function update($id_tabungan,$data_tabungan){

79

$this->db->where('id_tabungan', $id_tabungan);

$this->db->update('tabungan', $data_tabungan);

return $this->db->affected_rows();

}

function save($data_tabungan){

$this->db->insert('tabungan', $data_tabungan);

if($this->db->affected_rows() > 0){

return $this->db->insert_id();

}else{

return 0;

}

}

function delete($id_tabungan){

$this->db->where('id_tabungan', $id_tabungan);

$this->db->update('tabungan', array('deleted'=>1));

return $this->db->affected_rows();

}

}

/* End of file m_tabungan.php */

/* Location: ./application/models/m_tabungan.php */

3. Views

a). Add

<?php

$this->load->view('header');

$this->load->view('menu_admin');

?>

<div class="container">

<div class="container-fluid">

<div class="panel panel-primary panel-costome margin-atas

margin-samping">

<div class="panel-heading">

<h3 class="panel-title" align="center">INPUT

SETORAN</h3>

</div>

<div class="panel-body">

<div style="color:red;font-size:10px">Tanda *

Wajib Diisi</div>

<?php echo

form_open_multipart('tabungan/save',array('id'=>'form-tabungan')); ?>

<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">

<div class="form-group">

<?php

80

echo '<span class="label-required">*

</span>'.form_label('ID ANGGOTA');

$id_anggota = array(

'name'=>'id_anggota',

'class'=>'form-control',

'id'=>'findanggota',

'placeholder'=>'Ketikkan

Nama Anggota / Kode Anggota',

);

echo form_input($id_anggota);

?>

</div>

<div class="form-group">

<?php echo '<span

style="color:red;">* </span>'.form_label('TANGGAL BAYAR :'); ?>

<div class='input-group date'

id='date_pay'>

<?php

$tgl = array(

'name'=>'tgl_simpan',

'class' => 'form-

control',

'value' =>

date('d/m/Y')

);

echo form_input($tgl);

?>

<span class="input-group-

addon">

<span

class="glyphicon glyphicon-calendar"></span>

</span>

</div>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('JUMLAH');

$jumlah = array(

'name'=>'jumlah',

'class'=>'form-control',

'placeholder'=>'Masukan

jumlah setoran'

);

81

echo form_input($jumlah);

?>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('TIPE');

echo form_dropdown('type',

$type,'','class="form-control"');

?>

</div>

</div>

<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('DEBET');

echo form_dropdown('debet',

$perkiraan_options,'','class="form-control"');

?>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('KREDIT');

echo form_dropdown('kredit',

$perkiraan_options,'','class="form-control"');

?>

</div>

<div class="form-group">

<?php

echo form_label('KETERANGAN');

$keterangan = array(

'name'=>'keterangan',

'class'=>'form-control',

'placeholder'=>'Masukkan

nama informasi',

'style'=>'height:150px'

);

echo form_textarea($keterangan);

?>

</div>

<script type="text/javascript">

var loadFile = function(event){

82

var output =

document.getElementById('output');

output.src =

URL.createObjectURL(event.target.files[0]);

};

</script>

<?php

$simpan = array(

'class'=>'btn btn-primary',

'style'=>'margin-top:10px' ,

'value'=>'SIMPAN'

);

echo form_submit($simpan);

echo nbs(1);

echo anchor('tabungan',

'BATAL',array('class'=>'btn btn-danger', 'style'=>'margin-top:10px'));

echo form_close();

?>

</div>

</div>

</div>

<script type="text/javascript">

$(document).ready(function() {

$('#form-tabungan').bootstrapValidator({

feedbackIcons: {

valid: 'glyphicon glyphicon-ok',

invalid: 'glyphicon glyphicon-

remove',

validating:'glyphicon glyphicon-

refresh'

},

fields: {

id_anggota: {

validators: {

notEmpty: {

message: 'ID

anggota tidak boleh kosong'

}

}

},

nama_belakang: {

validators: {

regexp: {

regexp: /^[a-

z'\s]+$/i,

83

message:

'Hanya a-z dan kutip saja yang diperbolehkan'

}

}

},

tgl_simpan: {

validators: {

notEmpty: {

message:

'Tanggal Belum Dipilih'

}

}

},

jumlah: {

validators: {

integer:{

message:

'Jumlah Harus Angka'

},

notEmpty: {

message:

'Jumlah tidak boleh kosong'

}

}

},

telp: {

validators: {

regexp: {

regexp: /^[0-9-

\s]+$/i,

message:

'Hanya 0-9 saja yang diperbolehkan'

},

notEmpty: {

message: 'No

Telpon tidak boleh kosong'

}

}

},

debet: {

validators: {

notEmpty: {

message:

'Debet Tidak Boleh Kosong'

}

}

},

kredit: {

84

validators: {

notEmpty: {

message:

'Kredit Tidak Boleh Kosong'

}

}

},

}

});

});

</script>

<script type="text/javascript">

$(document).ready(function() {

// jquery-ui autocomplete

$( "#findanggota" ).autocomplete({

source: '<?php echo site_url('tabungan/findanggota');?>',

minLength:1

});

window.setTimeout(function() {

$(".alert").fadeTo(1000, 0).slideUp(500, function(){

$(this).remove();

});

}, 2000);

$('#date_pay').datetimepicker({

locale: 'id',

format: 'DD-MM-YYYY',

useCurrent : true

});

$('#jam_masuk').datetimepicker({

locale: 'id',

format: 'HH:mm',

});

$('#jam_keluar').datetimepicker({

locale: 'id',

format: 'HH:mm',

});

});

</script>

<?php $this->load->view('footer'); ?>

b). Delete

<?php

$this->load->view('header');

$this->load->view('menu_admin');

85

?>

<div class="container margin-atas">

<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">

<div class="panel panel-primary">

<div class="panel-heading">

<h3 class="panel-title">PILIH AKUN

PENYESUAIAN SEBELUM HAPUS</h3>

</div>

<div class="panel-body">

<?php echo

form_open_multipart('tabungan/delete',array('id'=>'form-tabungan')); ?>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('DEBET');

echo form_hidden('id_tabungan',

$id_tabungan);

echo form_dropdown('debet',

$perkiraan_options,'','class="form-control"');

?>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('KREDIT');

echo form_dropdown('kredit',

$perkiraan_options,'','class="form-control"');

?>

</div>

<script type="text/javascript">

var loadFile = function(event) {

var output =

document.getElementById('output');

output.src =

URL.createObjectURL(event.target.files[0]);

};

</script>

<hr>

<?php

$simpan = array(

'value'=>'PROSES',

'class'=>'btn btn-info btn-sm'

);

echo form_submit($simpan);

echo nbs(1);

86

echo anchor('tabungan', 'BATAL',

array('class'=>'btn btn-primary btn-sm'));

?>

</div>

<?php echo form_close(); ?>

</div>

</div>

<script type="text/javascript">

$(document).ready(function() {

$('#form-tabungan').bootstrapValidator({

feedbackIcons: {

valid: 'glyphicon glyphicon-ok',

invalid: 'glyphicon glyphicon-remove',

validating: 'glyphicon glyphicon-refresh'

},

fields: {

nama_pg: {

validators: {

regexp: {

regexp: /^[0-9a-

z'\s]+$/i,

message: 'Hanya a-z ,

spasi dan kutip saja yg diperbolehkan'

},

notEmpty: {

message: 'Nama

Kelompok Tidak Boleh Kosong'

}

}

},

debet: {

validators: {

notEmpty: {

message: 'Debet Tidak

Boleh Kosong'

}

}

},

kredit: {

validators: {

notEmpty: {

message: 'Kredit

Tidak Boleh Kosong'

}

}

},

87

}

});

});

</script>

<?php $this->load->view('footer'); ?>

c). Edit

<?php

$this->load->view('header');

$this->load->view('menu_admin');

?>

<div class="container">

<div class="container-fluid">

<div class="panel panel-primary panel-costome margin-atas

margin-samping">

<div class="panel-heading">

<h3 class="panel-title" align="center">INPUT

SETORAN</h3>

</div>

<div class="panel-body">

<div style="color:red;font-size:10px">Tanda *

Wajib Diisi</div>

<?php echo

form_open_multipart('tabungan/update',array('id'=>'form-tabungan')); ?>

<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">

<div class="form-group">

<?php

echo '<span class="label-required">*

</span>'.form_label('ID ANGGOTA');

$id_anggota = array(

'name'=>'id_anggota',

'class'=>'form-control',

'id'=>'findanggota',

'placeholder'=>'Ketikkan

Nama Anggota / Kode Anggota',

'readonly'=>'readonly',

'value'=>$tabungan-

>id_anggota

);

echo form_hidden('id_tabungan',

$tabungan->id_tabungan);

echo form_input($id_anggota);

?>

</div>

<div class="form-group">

88

<?php echo '<span

style="color:red;">* </span>'.form_label('TANGGAL BAYAR :'); ?>

<div class='input-group date'

id='date_pay'>

<?php

$tgl = array(

'name'=>'tgl_simpan',

'class' => 'form-

control',

'value' =>

date('d/m/Y',strtotime($tabungan->tgl_simpan))

);

echo form_input($tgl);

?>

<span class="input-group-

addon">

<span

class="glyphicon glyphicon-calendar"></span>

</span>

</div>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('JUMLAH');

$jumlah = array(

'name'=>'jumlah',

'class'=>'form-control',

'placeholder'=>'Masukan

jumlah setoran',

'readonly'=>'readonly',

'value'=>$tabungan->jumlah

);

echo form_input($jumlah);

?>

</div>

</div>

<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">

<div class="form-group">

<?php

echo form_label('KETERANGAN');

$keterangan = array(

'name'=>'keterangan',

'class'=>'form-control',

89

'placeholder'=>'Masukkan

nama informasi',

'style'=>'height:150px',

'value'=>$tabungan-

>keterangan

);

echo form_textarea($keterangan);

?>

</div>

<script type="text/javascript">

var loadFile = function(event){

var output =

document.getElementById('output');

output.src =

URL.createObjectURL(event.target.files[0]);

};

</script>

<?php

$simpan = array(

'class'=>'btn btn-primary',

'style'=>'margin-top:10px' ,

'value'=>'SIMPAN'

);

echo form_submit($simpan);

echo nbs(1);

echo anchor('tabungan',

'BATAL',array('class'=>'btn btn-danger', 'style'=>'margin-top:10px'));

echo form_close();

?>

</div>

</div>

</div>

<script type="text/javascript">

$(document).ready(function() {

$('#form-tabungan').bootstrapValidator({

feedbackIcons: {

valid: 'glyphicon glyphicon-ok',

invalid: 'glyphicon glyphicon-

remove',

validating:'glyphicon glyphicon-

refresh'

},

fields: {

id_anggota: {

90

validators: {

notEmpty: {

message: 'ID

anggota tidak boleh kosong'

}

}

},

nama_belakang: {

validators: {

regexp: {

regexp: /^[a-

z'\s]+$/i,

message:

'Hanya a-z dan kutip saja yang diperbolehkan'

}

}

},

tgl_simpan: {

validators: {

notEmpty: {

message:

'Tanggal Belum Dipilih'

}

}

},

jumlah: {

validators: {

integer:{

message:

'Jumlah Harus Angka'

},

notEmpty: {

message:

'Jumlah tidak boleh kosong'

}

}

},

telp: {

validators: {

regexp: {

regexp: /^[0-9-

\s]+$/i,

message:

'Hanya 0-9 saja yang diperbolehkan'

},

notEmpty: {

message: 'No

Telpon tidak boleh kosong'

91

}

}

},

}

});

});

</script>

<script type="text/javascript">

$(document).ready(function() {

// jquery-ui autocomplete

$( "#findanggota" ).autocomplete({

source: '<?php echo site_url('tabungan/findanggota');?>',

minLength:1

});

window.setTimeout(function() {

$(".alert").fadeTo(1000, 0).slideUp(500, function(){

$(this).remove();

});

}, 2000);

$('#date_pay').datetimepicker({

locale: 'id',

format: 'DD-MM-YYYY',

useCurrent : true

});

$('#jam_masuk').datetimepicker({

locale: 'id',

format: 'HH:mm',

});

$('#jam_keluar').datetimepicker({

locale: 'id',

format: 'HH:mm',

});

});

</script>

<?php $this->load->view('footer'); ?>

d). Show

<?php

$this->load->view('header');

$this->load->view('menu_admin');

?>

<div class="margin-atas">

<div class="container-fluid">

<div class="panel panel-primary">

92

<div class="panel-heading">

<h3 class="panel-title">DATA TABUNGAN</h3>

</div>

<div class="panel-body">

<span class="pull-left" style="margin-bottom:

10px;">

<?php

echo anchor('tabungan/add', '<span

class="glyphicon glyphicon-plus"></span>', array('class'=>'btn btn-info btn-

sm','title'=>'Tambah Data'));

echo nbs(5);

?>

</span>

<span class="pull-left"><?php echo $this-

>pagination->create_links();?></span>

<!-- <span class="pull-right">

<?php

echo

form_open('employees/show',array('class'=>'form-inline'));

// <a class="btn btn-primary" data-toggle="modal"

href='#modal-id'>Trigger modal</a>

// echo 'Klik '.anchor('#modal-id', 'disini',

array('data-toggle'=>'modal')).' untuk melihat petunjuk pemakaian';

// echo nbs(2);

?>

<div class="form-group">

<?php

$search_item = array(

'name'=>'search_users',

'class'=>'form-control input-sm',

'placeholder'=>'Ketikkan Nama

Karyawan',

'size'=>'50',

'autocomplete'=>'off'

);

echo form_input($search_item);

?>

</div>

<?php

$simpan = array(

'name'=>'simpan',

'class'=>'btn btn-primary btn-sm',

'value'=>'CARI'

);

echo form_submit($simpan);

echo nbs(1);

echo anchor('employees/show', 'RESET',

array('class'=>'btn btn-warning btn-sm'));

93

echo form_close();

?>

</span> -->

<table id="tabel" class="table table-hover table-condensed

mytable sortable">

<thead>

<th>No</th>

<th>Nama Anggota</th>

<th>Tgl Setor</th>

<th>Jumlah</th>

<th>Petugas</th>

<th>Status</th>

<th>Keterangan</th>

<th data-defaultsort='disabled'>Aksi</th>

</thead>

<tbody>

<?php

if(!empty($tabungan)){

$no = 1;

foreach ($tabungan as $row) {

?>

<tr>

<td><?php echo

$no++;?></td>

<td><?php echo

strtoupper($row->nama_depan.' '.$row->nama_belakang);?></td>

<td><?php echo

date('d/m/Y',strtotime($row->tgl_simpan)); ?></td>

<td><?php echo 'Rp.

'.number_format($row->jumlah,0,',','.'); ?></td>

<td><?php echo

strtoupper($row->first_name.' '.$row->last_name); ?></td>

<td><?php

if($row->type

== 1){

echo

'TABUNG';

}else{

echo

'TARIK';

}

?></td>

<td><?php echo

word_limiter($row->keterangan,4); ?></td>

<td>

<?php

echo

anchor('tabungan/edit/'.$row->id_tabungan, '<span class="glyphicon glyphicon-

94

pencil"></span>', array('class'=>'btn btn-success btn-xs','title'=>'Edit Data '.$row-

>nama_depan));

echo nbs(1);

echo

anchor('tabungan/form_delete/'.$row->id_tabungan, '<span class="glyphicon

glyphicon-trash"></span>', array('class'=>'btn btn-primary btn-xs','title'=>'Hapus

Data '.$row->nama_depan));

?>

</td>

</tr>

<?php }

}else{ ?>

<tr><td colspan="8" align="center"

style="background-color:#FFFEC2">BELUM ADA DATA</td></tr>

<?php

} ?>

</tbody>

</table>

</div>

</div>

</div>

<?php $this->load->view('footer'); ?>

B. Transaksi pinjam

1. Controllers

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Pinjaman extends CI_Controller {

public function __construct()

{

parent::__construct();

$this->is_login();

}

public function is_login(){

$user_id = $this->session->userdata('user_id');

if(empty($user_id)){

redirect('admin');

}

}

public function index()

95

{

$this->show();

}

public function findanggota(){

$keyword = $this->input->get('term');

$data = $this->m_anggota->find_anggota($keyword);

foreach($data->result() as $result)

{

$arr[] = array(

'label' =>strtoupper($result->nama_depan.'

'.$result->nama_belakang),

'value' =>$result->id_anggota

);

}

echo json_encode($arr);

}

public function show(){

$alert = $this->session->flashdata('alert');

if(!empty($alert)){

$data['alert'] = $alert;

}

$data['pinjaman'] = $this->m_pinjaman->ambil_pinjaman()-

>result();

$this->load->view('pinjaman/show',$data);

}

public function add(){

$perkiraan = $this->m_perkiraan->get_all_perkiraan();

$perkiraan_options = array();

$perkiraan_options['']='--BELUM DIPILIH--';

if($perkiraan->num_rows() > 0){

foreach ($perkiraan->result_array() as $row) {

$perkiraan_options[$row['id_perkiraan']] =

strtoupper($row['nama_perkiraan']);

}

}

$data['perkiraan_options'] = $perkiraan_options;

$this->load->view('pinjaman/add',$data);

96

}

public function edit($id_pinjam){

$data['pinjaman'] = $this->m_pinjaman-

>ambil_data_pinjaman($id_pinjam)->row();

$this->load->view('pinjaman/edit',$data);

}

public function save(){

$user_id = $this->session->userdata('user_id');

$jumlah = $this->input->post('jumlah');

$id_anggota = $this->input->post('id_anggota');

$tanggal = date('Y-m-d',strtotime($this->input-

>post('tgl_pinjam')));

$keterangan = $this->input->post('keterangan');

$debet = $this->input->post('debet');

$kredit = $this->input->post('kredit');

$akun_debet = $this->m_perkiraan->get_perkiraan($debet)-

>row();

$saldo_awal_debet = $akun_debet->saldo_awal;

$akun_kredit = $this->m_perkiraan->get_perkiraan($kredit)-

>row();

$saldo_awal_kredit = $akun_kredit->saldo_awal;

$saldo_debet = $saldo_awal_debet + $jumlah;

$saldo_kredit = $saldo_awal_kredit - $jumlah;

$anggota = $this->m_anggota->ambil_data_anggota($id_anggota)-

>row();

$hutang = $anggota->hutang;

$total = $jumlah + $hutang;

$data_pinjaman = array(

'id_anggota' => $this->input->post('id_anggota'),

'user_id' => $user_id,

'tgl_pinjam' => $tanggal,

'tgl_tempo' => date('Y-m-d',strtotime($this->input-

>post('tgl_tempo'))),

'jumlah' => $jumlah,

'angsuran' => $this->input->post('angsuran'),

97

'denda' => $this->input->post('denda'),

'keterangan' => $keterangan,

);

$id_pinjam = $this->m_pinjaman->save($data_pinjaman);

if($id_pinjam > 0){

$this->m_anggota->update_pinjam($id_anggota,$total);

$data_jurnal = array(

'id_pinjaman'=>$id_pinjam,

'user_id'=>$user_id,

'tanggal_transaksi'=>$tanggal,

'uraian'=>$keterangan

);

$id_header = $this->m_jurnal_umum-

>save_header($data_jurnal);

if($id_header > 0){

$data_debet = array(

'id_header'=>$id_header,

'id_coa'=>$debet,

'debet'=>$jumlah,

);

$id_detil = $this->m_jurnal_umum-

>save_detil($data_debet);

if($id_detil > 0){

$data_kredit = array(

'id_header'=>$id_header,

'id_coa'=>$kredit,

'kredit'=>$jumlah

);

if($this->m_jurnal_umum-

>save_detil($data_kredit) > 0){

$this->m_jurnal_umum-

>update_saldo($debet,$saldo_debet);

$this->m_jurnal_umum-

>update_saldo($kredit,$saldo_kredit);

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Berhasil

Disimpan',

'type' => 'success',

'icon' => 'glyphicon

glyphicon-ok'

);

}else{

98

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Kredit

Gagal Disimpan',

'type' => 'danger',

'icon' => 'glyphicon

glyphicon-remove'

);

}

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Debet Gagal

Disimpan',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-

remove'

);

}

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Jurnal Gagal Disimpan',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

}

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Gagal Disimpan',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

}

$this->session->set_flashdata('alert', $alert);

redirect('pinjaman');

}

public function update(){

$id_pinjam = $this->input->post('id_pinjam');

$user_id = $this->session->userdata('user_id');

$jumlah = $this->input->post('jumlah');

$data_pinjaman = array(

'id_anggota' => $this->input->post('id_anggota'),

'user_id' => $user_id,

99

'tgl_pinjam' => date('Y-m-d',strtotime($this->input-

>post('tgl_pinjam'))),

'tgl_tempo' => date('Y-m-d',strtotime($this->input-

>post('tgl_tempo'))),

'jumlah' => $jumlah,

'angsuran' => $this->input->post('angsuran'),

'denda' => $this->input->post('denda'),

'keterangan' => $this->input->post('keterangan'),

);

if($this->m_pinjaman->update($id_pinjam, $data_pinjaman) > 0){

//$this->m_anggota->update_pinjam($id_anggota,$total);

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Berhasil Disimpan',

'type' => 'success',

'icon' => 'glyphicon glyphicon-ok'

);

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Gagal Disimpan',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

}

$this->session->set_flashdata('alert', $alert);

redirect('pinjaman');

}

public function form_delete($id_pinjam){

$perkiraan = $this->m_jurnal_umum-

>get_ju_detil_perkiraan_pinjam($id_pinjam);

$perkiraan_options = array();

$perkiraan_options['']='--BELUM DIPILIH--';

if($perkiraan->num_rows() > 0){

foreach ($perkiraan->result_array() as $row) {

$perkiraan_options[$row['id_perkiraan']] =

strtoupper($row['nama_perkiraan']);

}

}

$data['perkiraan_options'] = $perkiraan_options;

$data['id_pinjam'] = $id_pinjam;

100

$angsuran = $this->m_angsuran->get_check_delete($id_pinjam)-

>num_rows();

if($angsuran > 0){

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Gagal Dihapus Karena Ada Data

Angsuran',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

$this->session->set_flashdata('alert', $alert);

redirect('pinjaman');

}else{

$this->load->view('pinjaman/delete', $data);

}

}

public function delete(){

$id_pinjam = $this->input->post('id_pinjam');

$debet = $this->input->post('debet');

$kredit = $this->input->post('kredit');

$pinjaman = $this->m_pinjaman-

>ambil_data_pinjaman($id_pinjam)->row();

$jumlah = $pinjaman->jumlah;

$id_anggota = $pinjaman->id_anggota;

$anggota = $this->m_anggota->ambil_data_anggota($id_anggota)-

>row();

$hutang = $anggota->hutang;

$total = $hutang - $jumlah;

$akun_debet = $this->m_perkiraan->get_perkiraan($debet)-

>row();

$saldo_awal_debet = $akun_debet->saldo_awal;

$akun_kredit = $this->m_perkiraan->get_perkiraan($kredit)-

>row();

$saldo_awal_kredit = $akun_kredit->saldo_awal;

$saldo_debet = $saldo_awal_debet + $jumlah;

101

$saldo_kredit = $saldo_awal_kredit - $jumlah;

if($this->m_pinjaman->delete($id_pinjam) > 0){

$this->m_anggota->update_pinjam($id_anggota,$total);

$this->m_jurnal_umum-

>update_saldo($debet,$saldo_debet);

if($this->m_jurnal_umum-

>update_saldo($kredit,$saldo_kredit) > 0){

$this->m_jurnal_umum-

>delete_header_pinjaman($id_pinjam);

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Berhasil Dihapus',

'type' => 'success',

'icon' => 'glyphicon glyphicon-ok'

);

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Gagal Dihapus',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

}

}else{

$alert = array(

'title' => 'INFO !<br>',

'message' => 'Data Gagal Dihapus',

'type' => 'danger',

'icon' => 'glyphicon glyphicon-remove'

);

}

$this->session->set_flashdata('alert', $alert);

redirect('pinjaman');

}

}

/* End of file pinjaman.php */

/* Location: ./application/controllers/pinjaman.php */

2. Models

102

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class M_pinjaman extends CI_Model {

function ambil_pinjaman(){

$this->db->where('pinjaman.deleted', 0);

$this->db->join('user', 'user.user_id = pinjaman.user_id');

$this->db->join('anggota', 'anggota.id_anggota =

pinjaman.id_anggota');

return $this->db->get('pinjaman');

}

function ambil_data_pinjaman($id_pinjam){

$this->db->where('id_pinjam', $id_pinjam);

return $this->db->get('pinjaman');

}

function ambil_pinjaman_laporan($id_anggota,$tgl_awal,$tgl_akhir){

$this->db->where('pinjaman.deleted', 0);

$this->db->join('anggota', 'anggota.id_anggota =

pinjaman.id_anggota');

$this->db->where('pinjaman.id_anggota', $id_anggota);

$this->db->where('tgl_pinjam >=', $tgl_awal);

$this->db->where('tgl_pinjam <=', $tgl_akhir);

return $this->db->get('pinjaman');

}

function ambil_pinjaman_laporan_harian($tgl_awal,$tgl_akhir){

$this->db->where('pinjaman.deleted', 0);

$this->db->join('anggota', 'anggota.id_anggota =

pinjaman.id_anggota');

$this->db->where('tgl_pinjam >=', $tgl_awal);

$this->db->where('tgl_pinjam <=', $tgl_akhir);

return $this->db->get('pinjaman');

}

function ambil_pinjaman_belum_lunas(){

$this->db->where('pinjaman.deleted', 0);

$this->db->where('status', 0);

$this->db->join('user', 'user.user_id = pinjaman.user_id');

$this->db->join('anggota', 'anggota.id_anggota =

pinjaman.id_anggota');

return $this->db->get('pinjaman');

}

function save($data_pinjaman){

$this->db->insert('pinjaman', $data_pinjaman);

103

if($this->db->affected_rows() > 0){

return $this->db->insert_id();

}else{

return 0;

}

}

function update($id_pinjam, $data_pinjaman){

$this->db->where('id_pinjam', $id_pinjam);

$this->db->update('pinjaman', $data_pinjaman);

return $this->db->affected_rows();

}

function delete($id_pinjam){

$this->db->where('id_pinjam', $id_pinjam);

$this->db->update('pinjaman', array('deleted'=>1));

return $this->db->affected_rows();

}

}

/* End of file m_pinjaman.php */

/* Location: ./application/models/m_pinjaman.php */

3. Views

a). Add

<?php

$this->load->view('header');

$this->load->view('menu_admin');

?>

<div class="container">

<div class="container-fluid">

<div class="panel panel-primary panel-costome margin-atas

margin-samping">

<div class="panel-heading">

<h3 class="panel-title" align="center">INPUT

PINJAMAN</h3>

</div>

<div class="panel-body">

<div style="color:red;font-size:10px">Tanda *

Wajib Diisi</div>

<?php echo

form_open_multipart('pinjaman/save',array('id'=>'form-tabungan')); ?>

<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">

<div class="form-group">

<?php

104

echo '<span class="label-required">*

</span>'.form_label('ID ANGGOTA');

$id_anggota = array(

'name'=>'id_anggota',

'class'=>'form-control',

'id'=>'findanggota',

'placeholder'=>'Ketikkan

Nama Anggota / Kode Anggota',

);

echo form_input($id_anggota);

?>

</div>

<div class="form-group">

<?php echo '<span

style="color:red;">* </span>'.form_label('TANGGAL PINJAM :'); ?>

<div class='input-group date'

id='date_pay'>

<?php

$tgl = array(

'name'=>'tgl_pinjam',

'class' => 'form-

control',

'value' =>

date('d/m/Y')

);

echo form_input($tgl);

?>

<span class="input-group-

addon">

<span

class="glyphicon glyphicon-calendar"></span>

</span>

</div>

</div>

<div class="form-group">

<?php echo '<span

style="color:red;">* </span>'.form_label('TANGGAL TEMPO :'); ?>

<div class='input-group date'

id='date_tempo'>

<?php

$tgl = array(

'name'=>'tgl_tempo',

'class' => 'form-

control',

105

'value' =>

date('d/m/Y')

);

echo form_input($tgl);

?>

<span class="input-group-

addon">

<span

class="glyphicon glyphicon-calendar"></span>

</span>

</div>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('JUMLAH');

$jumlah = array(

'name'=>'jumlah',

'class'=>'form-control',

'placeholder'=>'Masukan

jumlah Pinjaman'

);

echo form_input($jumlah);

?>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('ANGSURAN');

$angsuran = array(

'name'=>'angsuran',

'class'=>'form-control',

'placeholder'=>'Masukan

Angsuran Pinjaman'

);

echo form_input($angsuran);

?>

</div>

</div>

<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">

<div class="form-group">

<?php

106

echo '<span style="color:red;">*

</span>'.form_label('DENDA');

$denda = array(

'name'=>'denda',

'class'=>'form-control',

'placeholder'=>'Masukan

Denda Pinjaman'

);

echo form_input($denda);

?>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('DEBET');

echo form_dropdown('debet',

$perkiraan_options,'','class="form-control"');

?>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('KREDIT');

echo form_dropdown('kredit',

$perkiraan_options,'','class="form-control"');

?>

</div>

<div class="form-group">

<?php

echo form_label('KETERANGAN');

$keterangan = array(

'name'=>'keterangan',

'class'=>'form-control',

'placeholder'=>'Masukkan

keterangan',

'style'=>'height:150px'

);

echo form_textarea($keterangan);

?>

</div>

<script type="text/javascript">

var loadFile = function(event){

var output =

document.getElementById('output');

107

output.src =

URL.createObjectURL(event.target.files[0]);

};

</script>

<?php

$simpan = array(

'class'=>'btn btn-primary',

'style'=>'margin-top:10px' ,

'value'=>'SIMPAN'

);

echo form_submit($simpan);

echo nbs(1);

echo anchor('pinjaman',

'BATAL',array('class'=>'btn btn-danger', 'style'=>'margin-top:10px'));

echo form_close();

?>

</div>

</div>

</div>

<script type="text/javascript">

$(document).ready(function() {

$('#form-tabungan').bootstrapValidator({

feedbackIcons: {

valid: 'glyphicon glyphicon-ok',

invalid: 'glyphicon glyphicon-

remove',

validating:'glyphicon glyphicon-

refresh'

},

fields: {

id_anggota: {

validators: {

notEmpty: {

message: 'ID

anggota tidak boleh kosong'

}

}

},

nama_belakang: {

validators: {

regexp: {

regexp: /^[a-

z'\s]+$/i,

message:

'Hanya a-z dan kutip saja yang diperbolehkan'

}

108

}

},

tgl_pinjam: {

validators: {

notEmpty: {

message:

'Tanggal Belum Dipilih'

}

}

},

tgl_tempo: {

validators: {

notEmpty: {

message:

'Tanggal Belum Dipilih'

}

}

},

jumlah: {

validators: {

integer:{

message:

'Jumlah Harus Angka'

},

notEmpty: {

message:

'Jumlah tidak boleh kosong'

}

}

},

angsuran: {

validators: {

integer:{

message:

'Angsuran Harus Angka'

},

notEmpty: {

message:

'Angsuran tidak boleh kosong'

}

}

},

denda: {

validators: {

integer:{

message:

'Denda Harus Angka'

},

109

notEmpty: {

message:

'Denda tidak boleh kosong'

}

}

},

telp: {

validators: {

regexp: {

regexp: /^[0-9-

\s]+$/i,

message:

'Hanya 0-9 saja yang diperbolehkan'

},

notEmpty: {

message: 'No

Telpon tidak boleh kosong'

}

}

},

debet: {

validators: {

notEmpty: {

message:

'Debet Tidak Boleh Kosong'

}

}

},

kredit: {

validators: {

notEmpty: {

message:

'Kredit Tidak Boleh Kosong'

}

}

},

}

});

});

</script>

<script type="text/javascript">

$(document).ready(function() {

// jquery-ui autocomplete

$( "#findanggota" ).autocomplete({

source: '<?php echo site_url('pinjaman/findanggota');?>',

minLength:1

});

110

window.setTimeout(function() {

$(".alert").fadeTo(1000, 0).slideUp(500, function(){

$(this).remove();

});

}, 2000);

$('#date_pay').datetimepicker({

locale: 'id',

format: 'DD-MM-YYYY',

useCurrent : true

});

$('#date_tempo').datetimepicker({

locale: 'id',

format: 'DD-MM-YYYY',

useCurrent : true

});

$('#jam_masuk').datetimepicker({

locale: 'id',

format: 'HH:mm',

});

$('#jam_keluar').datetimepicker({

locale: 'id',

format: 'HH:mm',

});

});

</script>

<?php $this->load->view('footer'); ?>

b). Delete

<?php

$this->load->view('header');

$this->load->view('menu_admin');

?>

<div class="container margin-atas">

<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">

<div class="panel panel-primary">

<div class="panel-heading">

<h3 class="panel-title">PILIH AKUN

PENYESUAIAN SEBELUM HAPUS</h3>

</div>

<div class="panel-body">

<?php echo

form_open_multipart('pinjaman/delete',array('id'=>'form-pinjaman')); ?>

<div class="form-group">

111

<?php

echo '<span style="color:red;">*

</span>'.form_label('DEBET');

echo form_hidden('id_pinjam',

$id_pinjam);

echo form_dropdown('debet',

$perkiraan_options,'','class="form-control"');

?>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('KREDIT');

echo form_dropdown('kredit',

$perkiraan_options,'','class="form-control"');

?>

</div>

<script type="text/javascript">

var loadFile = function(event) {

var output =

document.getElementById('output');

output.src =

URL.createObjectURL(event.target.files[0]);

};

</script>

<hr>

<?php

$simpan = array(

'value'=>'PROSES',

'class'=>'btn btn-info btn-sm'

);

echo form_submit($simpan);

echo nbs(1);

echo anchor('pinjaman', 'BATAL',

array('class'=>'btn btn-primary btn-sm'));

?>

</div>

<?php echo form_close(); ?>

</div>

</div>

<script type="text/javascript">

$(document).ready(function() {

$('#form-pinjaman').bootstrapValidator({

feedbackIcons: {

valid: 'glyphicon glyphicon-ok',

112

invalid: 'glyphicon glyphicon-remove',

validating: 'glyphicon glyphicon-refresh'

},

fields: {

nama_pg: {

validators: {

regexp: {

regexp: /^[0-9a-

z'\s]+$/i,

message: 'Hanya a-z ,

spasi dan kutip saja yg diperbolehkan'

},

notEmpty: {

message: 'Nama

Kelompok Tidak Boleh Kosong'

}

}

},

debet: {

validators: {

notEmpty: {

message: 'Debet Tidak

Boleh Kosong'

}

}

},

kredit: {

validators: {

notEmpty: {

message: 'Kredit

Tidak Boleh Kosong'

}

}

},

}

});

});

</script>

<?php $this->load->view('footer'); ?>

c). Edit

<?php

$this->load->view('header');

$this->load->view('menu_admin');

?>

<div class="container">

<div class="container-fluid">

113

<div class="panel panel-primary panel-costome margin-atas

margin-samping">

<div class="panel-heading">

<h3 class="panel-title" align="center">INPUT

PINJAMAN</h3>

</div>

<div class="panel-body">

<div style="color:red;font-size:10px">Tanda *

Wajib Diisi</div>

<?php echo

form_open_multipart('pinjaman/update',array('id'=>'form-tabungan')); ?>

<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">

<div class="form-group">

<?php

echo '<span class="label-required">*

</span>'.form_label('ID ANGGOTA');

$id_anggota = array(

'name'=>'id_anggota',

'class'=>'form-control',

'id'=>'findanggota',

'placeholder'=>'Ketikkan

Nama Anggota / Kode Anggota',

'readonly'=>'readonly',

'value'=>$pinjaman-

>id_anggota

);

echo form_hidden('id_pinjam',

$pinjaman->id_pinjam);

echo form_input($id_anggota);

?>

</div>

<div class="form-group">

<?php echo '<span

style="color:red;">* </span>'.form_label('TANGGAL PINJAM :'); ?>

<div class='input-group date'

id='date_pay'>

<?php

$tgl = array(

'name'=>'tgl_pinjam',

'class' => 'form-

control',

'value' =>

date('d/m/Y', strtotime($pinjaman->tgl_pinjam))

);

echo form_input($tgl);

114

?>

<span class="input-group-

addon">

<span

class="glyphicon glyphicon-calendar"></span>

</span>

</div>

</div>

<div class="form-group">

<?php echo '<span

style="color:red;">* </span>'.form_label('TANGGAL TEMPO :'); ?>

<div class='input-group date'

id='date_tempo'>

<?php

$tgl = array(

'name'=>'tgl_tempo',

'class' => 'form-

control',

'value' =>

date('d/m/Y',strtotime($pinjaman->tgl_tempo))

);

echo form_input($tgl);

?>

<span class="input-group-

addon">

<span

class="glyphicon glyphicon-calendar"></span>

</span>

</div>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('JUMLAH');

$jumlah = array(

'name'=>'jumlah',

'class'=>'form-control',

'placeholder'=>'Masukan

jumlah Pinjaman',

'readonly'=>'readonly',

'value'=>$pinjaman->jumlah

);

echo form_input($jumlah);

115

?>

</div>

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('ANGSURAN');

$angsuran = array(

'name'=>'angsuran',

'class'=>'form-control',

'placeholder'=>'Masukan

Angsuran Pinjaman',

'value'=>$pinjaman-

>angsuran

);

echo form_input($angsuran);

?>

</div>

</div>

<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">

<div class="form-group">

<?php

echo '<span style="color:red;">*

</span>'.form_label('DENDA');

$denda = array(

'name'=>'denda',

'class'=>'form-control',

'placeholder'=>'Masukan

Denda Pinjaman',

'value'=>$pinjaman->denda

);

echo form_input($denda);

?>

</div>

<div class="form-group">

<?php

echo form_label('KETERANGAN');

$keterangan = array(

'name'=>'keterangan',

'class'=>'form-control',

'placeholder'=>'Masukkan

keterangan',

'style'=>'height:150px',

'value'=>$pinjaman-

>keterangan

116

);

echo form_textarea($keterangan);

?>

</div>

<script type="text/javascript">

var loadFile = function(event){

var output =

document.getElementById('output');

output.src =

URL.createObjectURL(event.target.files[0]);

};

</script>

<?php

$simpan = array(

'class'=>'btn btn-primary',

'style'=>'margin-top:10px' ,

'value'=>'SIMPAN'

);

echo form_submit($simpan);

echo nbs(1);

echo anchor('pinjaman',

'BATAL',array('class'=>'btn btn-danger', 'style'=>'margin-top:10px'));

echo form_close();

?>

</div>

</div>

</div>

<script type="text/javascript">

$(document).ready(function() {

$('#form-tabungan').bootstrapValidator({

feedbackIcons: {

valid: 'glyphicon glyphicon-ok',

invalid: 'glyphicon glyphicon-

remove',

validating:'glyphicon glyphicon-

refresh'

},

fields: {

id_anggota: {

validators: {

notEmpty: {

message: 'ID

anggota tidak boleh kosong'

}

117

}

},

nama_belakang: {

validators: {

regexp: {

regexp: /^[a-

z'\s]+$/i,

message:

'Hanya a-z dan kutip saja yang diperbolehkan'

}

}

},

tgl_pinjam: {

validators: {

notEmpty: {

message:

'Tanggal Belum Dipilih'

}

}

},

tgl_tempo: {

validators: {

notEmpty: {

message:

'Tanggal Belum Dipilih'

}

}

},

jumlah: {

validators: {

integer:{

message:

'Jumlah Harus Angka'

},

notEmpty: {

message:

'Jumlah tidak boleh kosong'

}

}

},

angsuran: {

validators: {

integer:{

message:

'Angsuran Harus Angka'

},

notEmpty: {

118

message:

'Angsuran tidak boleh kosong'

}

}

},

denda: {

validators: {

integer:{

message:

'Denda Harus Angka'

},

notEmpty: {

message:

'Denda tidak boleh kosong'

}

}

},

telp: {

validators: {

regexp: {

regexp: /^[0-9-

\s]+$/i,

message:

'Hanya 0-9 saja yang diperbolehkan'

},

notEmpty: {

message: 'No

Telpon tidak boleh kosong'

}

}

},

}

});

});

</script>

<script type="text/javascript">

$(document).ready(function() {

// jquery-ui autocomplete

$( "#findanggota" ).autocomplete({

source: '<?php echo site_url('pinjaman/findanggota');?>',

minLength:1

});

window.setTimeout(function() {

$(".alert").fadeTo(1000, 0).slideUp(500, function(){

$(this).remove();

});

}, 2000);

119

$('#date_pay').datetimepicker({

locale: 'id',

format: 'DD-MM-YYYY',

useCurrent : true

});

$('#date_tempo').datetimepicker({

locale: 'id',

format: 'DD-MM-YYYY',

useCurrent : true

});

$('#jam_masuk').datetimepicker({

locale: 'id',

format: 'HH:mm',

});

$('#jam_keluar').datetimepicker({

locale: 'id',

format: 'HH:mm',

});

});

</script>

<?php $this->load->view('footer'); ?>

d). Show

<?php

$this->load->view('header');

$this->load->view('menu_admin');

?>

<div class="margin-atas">

<div class="container-fluid">

<div class="panel panel-primary">

<div class="panel-heading">

<h3 class="panel-title">DATA PINJAMAN</h3>

</div>

<div class="panel-body">

<span class="pull-left" style="margin-bottom:

10px;">

<?php

echo anchor('pinjaman/add', '<span

class="glyphicon glyphicon-plus"></span>', array('class'=>'btn btn-info btn-

sm','title'=>'Tambah Data'));

echo nbs(5);

?>

</span>

120

<span class="pull-left"><?php echo $this-

>pagination->create_links();?></span>

<!-- <span class="pull-right">

<?php

echo

form_open('employees/show',array('class'=>'form-inline'));

// <a class="btn btn-primary" data-toggle="modal"

href='#modal-id'>Trigger modal</a>

// echo 'Klik '.anchor('#modal-id', 'disini',

array('data-toggle'=>'modal')).' untuk melihat petunjuk pemakaian';

// echo nbs(2);

?>

<div class="form-group">

<?php

$search_item = array(

'name'=>'search_users',

'class'=>'form-control input-sm',

'placeholder'=>'Ketikkan Nama

Karyawan',

'size'=>'50',

'autocomplete'=>'off'

);

echo form_input($search_item);

?>

</div>

<?php

$simpan = array(

'name'=>'simpan',

'class'=>'btn btn-primary btn-sm',

'value'=>'CARI'

);

echo form_submit($simpan);

echo nbs(1);

echo anchor('employees/show', 'RESET',

array('class'=>'btn btn-warning btn-sm'));

echo form_close();

?>

</span> -->

<table id="tabel" class="table table-hover table-condensed

mytable sortable">

<thead>

<th>No</th>

<th>Nama Anggota</th>

<th>Tgl Pinjam</th>

<th>Tgl Tempo</th>

<th>Jumlah</th>

<th>Angsuran</th>

<th>Denda</th>

121

<th>Status</th>

<th>Keterangan</th>

<th data-defaultsort='disabled'>Aksi</th>

</thead>

<tbody>

<?php

if(!empty($pinjaman)){

$no = 1;

foreach ($pinjaman as $row) {

?>

<tr>

<td><?php echo

$no++;?></td>

<td><?php echo

strtoupper($row->nama_depan.' '.$row->nama_belakang);?></td>

<td><?php echo

date('d/m/Y',strtotime($row->tgl_pinjam)); ?></td>

<td><?php echo

date('d/m/Y',strtotime($row->tgl_tempo)); ?></td>

<td><b><?php echo

'Rp. '.number_format($row->jumlah,0,',','.'); ?></b></td>

<td><b><?php echo

'Rp. '.number_format($row->angsuran,0,',','.'); ?></b></td>

<td><b><?php echo

'Rp. '.number_format($row->denda,0,',','.'); ?></b></td>

<td><?php

if($row->status == 0){

echo 'PROSES';

}else{

echo 'LUNAS';

}

?></td>

<td><?php echo

word_limiter($row->keterangan,4); ?></td>

<td>

<?php

//

$rincian=$this->db->query('SELECT * FROM angsuran WHERE deleted = 0

AND id_pinjam='.$row->id_pinjam);

echo

anchor('pinjaman/edit/'.$row->id_pinjam, '<span class="glyphicon glyphicon-

pencil"></span>', array('class'=>'btn btn-success btn-xs','title'=>'Edit Data '.$row-

>nama_depan));

echo nbs(1);

122

//

if(empty($rincian)){

echo

anchor('pinjaman/form_delete/'.$row->id_pinjam, '<span class="glyphicon

glyphicon-trash"></span>', array('class'=>'btn btn-primary btn-xs','title'=>'Hapus

Data '.$row->nama_depan));

// }

?>

</td>

</tr>

<?php }

}else{ ?>

<tr><td colspan="9" align="center"

style="background-color:#FFFEC2">BELUM ADA DATA</td></tr>

<?php

} ?>

</tbody>

</table>

</div>

</div>

</div>

<?php $this->load->view('footer'); ?>

123

3.5.2 Blackbox Testing

Bkackbox testing atau Pengujian adalah sebuah tindakan yang dilakukan

untuk mengukur sejauh mana objek telah memenuhi sesuai harapan. Pengujian

dalam Aplikasi simpan pinjam BUMDes “Prospek Mandiri” Wajok Hilir sebagai

berikut:

1. Pengujian terhadap Web Browser

Tabel III.13

Hasil Pengujian Black Box Browser

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Buka dengan google

Chrome

Google

Chrome

(terbuka)

Sistem menerima

akses dan

menampilkan

sesuai tampilan

Valid

2 Buka dengan Mozilla

Fire Fox

Mozilla Fire

Fox

(terbuka)

Sistem Menerima

akses namun untuk

tampilan tanggal

tidak otomatis

Invalid

2. Pengujian terhadap Halaman Masuk

Tabel III.14

Hasil Pengujian Black Box terhadap Halaman Masuk

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Id dan kata sandi

dikosongkan

kemudian klik masuk

Id (kosong)

Dan Kata

sandi

(kosong)

Sistem menolak

akses dan

menampilkan “id

harus diisi”

Valid

2 Mengisi id dan

mengkosongkan Kata

sandi kemudian klik

masuk

Id (terisi)

dan kata

sandi

(kosong)

Sistem menolak

akses dan

menampilkan

“Kata sandi harus

diisi”

Valid

3 Mengisi id dan Kata

sandi dengan benar

kemudian klik masuk

Id (terisi)

Dan Kata

sandi

(terisi)

Sistem menerima

akses dan

menampilkan

Halaman utama

sesuai dengan Hak

akses

Valid

124

3. Pengujian terhadap Halaman data anggota

Tabel III.15

Hasil Pengujian Black Box terhadap data anggota

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data anggota tidak

diisi kemudian klik

simpan

Jika data

anggota

kosong

Sistem menolak

akses dan

menampilkan

pesan “data masih

ada belum terisi”

Valid

2 Data anggota telah

diisi dengan benar

Data

anggota

telah diisi

dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

3 Menghapus data yang

akan di hapus

Klik salah

satu data

detail yang

akan

dihapus

kemudian

klik

Sistem akses dan

data berhasil

dihapus

Valid

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

5. Pengujian terhadap Halaman Transaksi pinjaman

Tabel III.16

Box terhadap Halaman Transaksi simpan

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data transaksi

simpanan tidak diisi

kemudian klik simpan

Jika

transaksi

kosong

Sistem menolak

akses dan

menampilkan

pesan “data masih

ada belum terisi”

Valid

2 Data transaksi

simpananan telah diisi

dengan benar

Transaksi

simpanan

telah diisi

dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

125

3 Menghapus data yang

akan di hapus

Klik salah

satu data

detail yang

akan

dihapus

kemudian

klik

Sistem akses dan

data berhasil

dihapus

Valid

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

5. Pengujian terhadap Halaman Transaksi pinjaman

Tabel III.17

Hasil Pengujian Black Box terhadap HalamanTransaksi pinjaman

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data transaksi

pinjaman tidak diisi

kemudian klik simpan

Jika data

transaksi

pinjaman

kosong

Sistem menolak

akses dan

menampilkan

pesan “data masih

ada belum terisi”

Valid

2 Data anggota telah

diisi dengan benar

Data

transaksi

pinjaman

diisi dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

3 Menghapus data yang

akan di hapus

Klik salah

satu data

detail yang

akan

dihapus

kemudian

klik

Sistem akses dan

data berhasil

dihapus

Valid

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

126

4. Pengujian terhadap Halaman Transaksi angsuran

Tabel III.18

Hasil Pengujian Black Box terhadap Halaman Transaksi angsuran

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data transaksi

angsuran tidak diisi

kemudian klik simpan

Jika data

transaksi

kosong

Sistem menolak

akses dan

menampilkan

pesan “data masih

ada belum terisi”

Valid

2 Data transaksi

angsuran telah diisi

dengan benar

Data

transaksi

angsuran

telah diisi

dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

3 Menghapus data yang

akan di hapus

Klik salah

satu data

detail yang

akan

dihapus

kemudian

klik

Sistem akses dan

data berhasil

dihapus

Valid

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

5. Pengujian terhadap Halaman Jurnal Umum

Tabel III.19

Hasil Pengujian Black Box terhadap Halaman Jurnal Umum

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data jurnal umum

tidak diisi kemudian

klik simpan

Jika data

jurnal

umum

kosong

Sistem menolak

akses dan

menampilkan

pesan “data masih

ada belum terisi”

Valid

2 Data jurnal umum

telah diisi dengan

benar

Data jurnal

umum telah

diisi dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

127

3 Menghapus data yang

akan di hapus

Klik salah

satu data

detail yang

akan

dihapus

kemudian

klik

Sistem akses dan

data berhasil

dihapus

Valid

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

6. Pengujian terhadap Halaman Laporan Tabungan

Tabel III.20

Hasil Pengujian Black Box terhadap Halaman Laporan tabungan

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data anggota tidak

diisi kemudian klik

simpan

Jika data

anggota

kosong

Sistem menolak

akses dan

menampilkan

pesan “data masih

ada belum terisi”

Valid

2 Data anggota telah

diisi dengan benar

Data

anggota

telah diisi

dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

3 Menghapus data yang

akan di hapus

Klik salah

satu data

detail yang

akan

dihapus

kemudian

klik

Sistem akses dan

data berhasil

dihapus

Valid

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

128

5 Cetak laporan

tabungan

Pilih salah

satu data

yang akan

dicetak Klik

tombol ctrl

+p

Sistem akses dan

mencetak laporan

tabungan

Valid

7. Pengujian terhadap Halaman Laporan Pinjaman

Tabel III.21

Hasil Pengujian Black Box terhadap Halaman Laporan pinjaman

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data anggota tidak

diisi kemudian klik

simpan

Jika data

anggota

kosong

Sistem menolak

akses dan

menampilkan

pesan “data masih

ada belum terisi”

Valid

2 Data anggota telah

diisi dengan benar

Data

anggota

telah diisi

dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

3 Menghapus data yang

akan di hapus

Klik salah

satu data

detail yang

akan

dihapus

kemudian

klik

Sistem akses dan

data berhasil

dihapus

Valid

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

5 Cetak laporan

tabungan

Pilih salah

satu data

yang akan

dicetak Klik

tombol ctrl

+p

Sistem akses dan

mencetak laporan

pinjaman

Valid

129

8. Pengujian terhadap Halaman Laporan Angsuran

Tabel III.22

Hasil Pengujian Black Box terhadap Halaman Laporan angsuran

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data anggota tidak

diisi kemudian klik

simpan

Jika data

anggota

kosong

Sistem menolak

akses dan

menampilkan

pesan “data masih

ada belum terisi”

Valid

2 Data anggota telah

diisi dengan benar

Data

anggota

telah diisi

dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

3 Menghapus data yang

akan di hapus

Klik salah

satu data

detail yang

akan

dihapus

kemudian

klik

Sistem akses dan

data berhasil

dihapus

Valid

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

5 Cetak laporan

tabungan

Pilih saklah

satu data

yang akan

dicetak Klik

tombol ctrl

+p

Sistem akses dan

mencetak laporan

angsuran

Valid

9. Pengujian terhadap Halaman Laporan Buku besar

Tabel III.23

Hasil Pengujian Black Box terhadap Halaman Laporan Buku Besar

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data anggota tidak

diisi kemudian klik

simpan

Jika data

anggota

kosong

Sistem menolak

akses dan

menampilkan

Valid

130

pesan “data masih

ada belum terisi”

2 Data anggota telah

diisi dengan benar

Data

anggota

telah diisi

dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

3 Menghapus data yang

akan di hapus

Klik salah

satu data

detail yang

akan

dihapus

kemudian

klik

Sistem akses dan

data berhasil

dihapus

Valid

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

5 Cetak laporan

tabungan

Pilih saklah

satu data

yang akan

dicetak Klik

tombol ctrl

+p

Sistem akses dan

mencetak laporan

buku besar

Valid

10. Pengujian terhadap Halaman Laporan Jurnal Umum

Tabel III.24

Hasil Pengujian Black Box terhadap Halaman Laporan Jurnal umum

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data anggota tidak

diisi kemudian klik

simpan

Jika data

anggota

kosong

Sistem menolak

akses dan

menampilkan

pesan “data masih

ada belum terisi”

Valid

2 Data anggota telah

diisi dengan benar

Data

anggota

telah diisi

dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

3 Menghapus data yang

akan di hapus

Klik salah

satu data

Sistem akses dan

data berhasil

Valid

131

detail yang

akan

dihapus

kemudian

klik

dihapus

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

5 Cetak laporan

tabungan

Pilih saklah

satu data

yang akan

dicetak Klik

tombol ctrl

+p

Sistem akses dan

mencetak laporan

jurnal umum

Valid

11. Pengujian terhadap Halaman Setting user

Tabel III.25

Hasil Pengujian Black Box terhadap Halaman setting user

No Skenario Pengujian Test Case Hasil yang

diharapkan

Kesimpulan

1 Data anggota tidak

diisi kemudian klik

simpan

Jika data

anggota

kosong

Sistem menolak

akses dan

menampilkan

pesan “data masih

ada belum terisi”

Valid

2 Data anggota telah

diisi dengan benar

Data

anggota

telah diisi

dengan

benar

Sistem akses dan

menampilkan

pesan “data

berhasil

disimpan”

Valid

3 Menghapus data yang

akan di hapus

Klik salah

satu data

detail yang

akan

dihapus

kemudian

klik

Sistem akses dan

data berhasil

dihapus

Valid

4 Mengubah data yang

akan diubah

Klik salah

satu data

yang akan

diubah

Sistem akses dan

menampilkan

pesan “ data

berhasil diubah”

Valid

132

3.5.3 Spesifikasi Hardware dan Software

Untuk menunjang kerja sistem agar dapat berjalan dengan baik,maka

dibutuhkan perangkat keras, perangkat lunak, dan pengguna denganspesifikasi

sebagai berikut:

1. Analisa Kebutuhan Perangkat Keras

Sarana dan prasarana menjadi sangat penting dalam upaya pemanfaatan

teknologi informasi salah satunya adalah perangkat keras (Hardware), adapun

spesifikasi sistem perangkat keras yang dibutuhkan adalah.:

a. PC/Laptop yang berspesifikasi sebagai berikut:

1) Prosesor 1.40 GHz

2) Memory 2 GB RAM

3) Sistem type 32 bit

4) System model aspire V5-431

5) Keyboard 86 tombol

b. Mouse Standar USB

c. Printer Brother T-700

2. Analisa Kebutuhan Perangkat Lunak

Spesifikasi sistem perangkat lunak (Software) yang dibutuhkan dalam

pembuatan sistem informasi kas masuk dan kas keluar ini adalah.

a. Sistem Operasi Windows 7 Ultimate

b. Aplikasi perancangan menggunakan PHP

133

c. Aplikasi Web Server Xampp V3.2.2

d. Aplikasi penyimpanan Database menggunakan MySQL.

e. Program Pendukung : Sublime Text versi