• Tidak ada hasil yang ditemukan

BAB III PEMBAHASAN. belum berkembang seperti sekarang. Pendidikan anak usia dini belum dianggap

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PEMBAHASAN. belum berkembang seperti sekarang. Pendidikan anak usia dini belum dianggap"

Copied!
71
0
0

Teks penuh

(1)

32

3.1. Tinjauan Perusahaan

3.1.1. Sejarah Perusahaan

TK Assa’adatul Mahmudiyah merupakan salah satu pendidikan anak usia dini

yang berada didaerah Pabuaran-Subang. Pada saat itu pendidikan anak usia dini

belum berkembang seperti sekarang. Pendidikan anak usia dini belum dianggap

penting bagi masyarakat sekitar, padahal pendidikan anak usia dini sangat

mempengaruhi dalam tumbuh kembangnya anak. Pada tahun 1996 Yayasan

Assa’adatul Mahmudiyah yang dimotori oleh keluarga besar H. Jayadi sepakat untuk

mendirikan Taman Kanak-Kanak (TK) Assa’adatul Mahmudiyah di Desa

Cihambulu-Pabuaran. Pada awal berdiri TK Assa’adatul Mahmudiyah hanya

memiliki 2 kelas yaitu kelas nol kecil dan nol besar. Tahun 1996-2006 Sekolah TK

assa’adatul Mahmudiyah belum bisa beroperasi sendiri dan masih bernaungan atau

menginduk ke pusat yang ada didaerah Karawang yaitu di KEBADKO Karawang

atau BKPRRI Karawang, karena setiap ada kegiatan seperti manasik haji, ujian

maupun wisuda dilaksankannya dikarawang.

Pada tahun 2007 dengan kepala sekolah baru yaitu Ibu Leli Auliyah, S.Pd,

mengajukan permohonan Surat Izin Operasional. Tahun 2010 Sekolah TK

Assa’adatul Mahmudiyah sudah mempunyai akte notaris, SK Kemenhumham, Surat

Izin Operasional, NISN, NSS, dan lain-lain. Sekolah TK Assa’adatul Mahmudiyah

sudah terakteditas B. Dari tahun ke tahun jumlah bertambah karena kualitas yang ada

(2)

di TK Assa’adatul Mahmudiyah sangat bagus, dan sekarang terdapat 6 kelas yaitu 3

kelas nol kecil dan 3 kelas nol besar dan memiliki 7 guru dengan 5 guru yang sudag

bersertifikat. Sekolah TK Assa’adatul Mahmudiyah memiliki ekstrakulikuler yaitu

ekstrakulikurel menari dan mewarnai. Saat ini telah berkembang menjadi salah satu

Taman Kanak-Kanak yang banyak mendapat prestasi.

3.1.2. Visi Misi TK Assa’adatul Mahmudiyah

TK. Assa’adatul Mahmudiyah mempunyai visi dan misi sebagai berikut:

1. Visi

Dengan semangat yang tinggi melalui proses pembelajaran bermain sambil belajar

dapat menumbuh kembangkan insan yang ceria, cerdas, mandiri dan kreatif serta

memiliki moral yang luhur dan berwawasan nasional.

2. Misi

a. Mewujudkan pendidikan yang berkualitas, bermutu dan bermoral dengan

meningkatkan kompetensi Sumber Daya Manusia (SDM).

b. Mewujudkan insan yang ceria, cerdas, mandiri dan kreatif.

c. Menciptakan lingkungan sekolah yang aman, nyaman dan bersih.

d. Menjadikan sekolah yang berkualitas dalam bidang pendidikan.

3.1.3. Struktur Organisasi

Struktur organisasi TK. Assa’adatul Mahmudiyah tersusun berdasarkan

fungsi masing-masing bagian. Bagian-bagian tersebut sudah mempunyai hak dan

tanggung jawabnya. Struktur organisasi tersebut dibuat untuk memetakan pekerjaan

yang terdapat dalam TK. Assa’adatul Mahmudiyah. Struktur sangat dibutuhkan

untuk mempermudah dalam mengetahui tugas masing-masing karyawan, mengetahui

tanggung jawab serta wewenang setiap unit kerja.

(3)

Berikut adalah struktur organisasi TK. Assa’adatul Mahmudiyah

Sumber: (TK Assa’adatul Mahmudiyah, 2019)

Gambar.III.1 Struktur Organisasi

Fungsi dari tiap-tiap bagian sebagai berikut:

1. Kepala TK

a. Memahami semua peraturan dan pedoman yang berhubungan dengan

sekolah.

b. Mengatur situasi didalam lingkungan sekolah.

c. Mengendalikan kegiatan kelompok.

(4)

e. Mengadakan evaluasi atas semua kegiatan dan jasa sekolah untuk

peningkatan mutu berkelanjutan.

f. Mengawasi pemeliharaan semua saran fisik serta pelengkapan sekolah.

g. Memberikan laporan berkala kepada atasan (yayasan) atau pihak-pihak yang

terkait dengan sekolah, tentang semua kegiatan yang ada di sekolah.

h. Memeriksa daftar hadir guru.

2. Sekertaris

a. Berkaitan dengan surat menyurat.

b. Melakukan agenda dan penataan persuratan.

c. Membuat undangan untuk pertemuan atau keperluan lain.

d. Melakukan dokumentasi setiap kegiatan dan kearsipan.

3. Bendahara

a. Membuat laporan keuangan.

b. Menyediakan keuangan berdasarkan kebutuhan.

c. Mendistribusikan keuangan berdasarkan kebutuhan.

4. Tenaga Pendidikan

a. Melakukan proses belajar mengajar dikelas tepat waktu

b. Mendidik siswa menjadi terampil dan mandiri.

c. Mengecek kehadiran siswa dikelas.

3.2. Tinjauan Kasus

3.2.1. Proses Bisnis Sistem Berjalan

1. Prosedur Penerimaan Kas

Pengelolaan sistem akuntansi penerimaan kas TK Assa’adatul Mahmudiyah

masih menggunakan manual. Dimana proses penerimaaan kas dari pembayaran

(5)

SPP dimulai dari murid atau wali murid melakukan pembayaran yang akan

diterima oleh bendahara sekolah dengan memberikan kartu SPP dan bendahara

mengisi pada kartu SPP tersebut. Bagian bendahara juga mencatat pembayaran

SPP dibuku kas. Setelah dicatat, bagian bendahara memberikan kartu SPP

tersebut kepada murid atau wali murid. Lalu murid atau wali murid menerima

kartu SPP yang akan dipegang oleh murid atau wali murid sebagai bukti.

Kemudian bendahara sekolah membuat laporan pembayaran SPP dalam bentuk

Microsoft Word dengan perhitungannya menggunakan kalkulator yang setiap

bulannya akan diberikan kepada kepala sekolah sebagai data pencatatan SSP.

Proses penerimaan kas dari dana Bantuan Operasioanal Sekolah Daerah

(BOSDA) dimulai dari pihak sekolah mengajukan proposal dana Bosda,

dimana bagian bendahara membuat Rancangan Anggaran Biaya (RAB) untuk

dimasukkan ke dalam proposal. Setelah dibuat, bendahara memberikan kepada

kepala sekolah untuk dicek dan disetujui. Setelah itu dilampirkan ke dalam

proposal. Pihak sekolah memberikan pengajuan propsal kepada pihak Dinas

Pendidikan dan Kebudayaan Subang (DPKS). Setelah diterima, pihak Dinas

Pendidikan dan Kebudayaan Subang akan mengkaji proposal tersebut, dimana

ketika pengajuan proposal disetujui maka pihak Dinas Pendidikan dan

Kebudayaan Subang akan menghubungi pihak sekolah bahwa proposal yang

diajukan disetujui dan dana dicairkan. Tetapi, ketika pengajuan proposal tidak

disetujui maka pihak sekolah memberikan pengajuan proposal kembali. Setelah

mengetahui proposal yang diajukan diterima, pihak sekolah langsung datang ke

Dinas Pendidikan dan Kebudayaan Subang untuk mengambil dana tersebut.

Pihak Dinas Pendidikan dan Kebudayaan Subang memberikan dan yang telah

dicairkan kepada pihak sekolah. Setelah dana diterima, bagian bedahara

(6)

mencatat dana tersebut di buku kas dan membuat laporan yang akan diberikan

kepada pihak sekolah. Setelah menerima laporan kepala sekolah menkaji

laporan tersebut dan langsung diberikan kepada pihak Dinas Pendidikan dan

Kebudayaan Subang sebagai laporan alokasi penggunaan dana bosda.

2. Prosedur Pengeluaran Kas

Pengelolaan pengeluaran kas di TK. Assa’adatul Mahmudiyah dilakukan setiap

bulan dan tahunan. Setiap sekolah memerlukan dana untuk sesuatu hal

contohnya pembelian perlengkapan, dimana dimulai dari bendahara membuat

catatan apa saja yang harus dibeli. Setelah itu catatan yang telah dibuat

diberikan kepada kepala sekolah. Setelah disetujui, bendahara langsung

mencairkan dana tersebut. Bendahara melakukan pembelian dan pihak toko

memberikan nota. Bendahara menerima nota tersebut. Setelah itu, bagian

bendahara mencatat nota tersebut dibuku kas sebagai catatan laporan setiap

bulannya yang akan diberikan kepada kepala sekolah dan kepala sekolah

menerima laporan tersebut.

3. Prosedur Laporan

Proses laporan kas TK Assa’adatul Mahmudiyah dimulai dari bendahara

mengecek setiap transaksi penerimaan dan pengeluaran kas yang ada di buku

kas. Bendahara membuat laporan dengan menggunakan Microsoft Word.

setelah dibuat laporan diserahkan kepada kepala sekolah dan kepala sekolah

menerima laporan tersebut.

(7)

3.2.2. Activity Diagram

1. Activity Diagram Penerimaan Kas’

a. Penerimaan kas dari pembayaran SPP

Sumber: (TK. Assa’adatul Mahmudiyah, 2020

)

Gambar III.2 Activity Diagram

(8)

b. Penerimaan kas dari dana Bosda

Sumber: (TK. Assa’adatul Mahmudiyah, 2020)

Gambar III.3 Activity Diagram

(9)

2. Activity Diagram Pengeluaran Kas

Sumber: (TK. Assa’adatul Mahmudiyah, 2020)

(10)

3. Activity Diagram laporan

Sumber: (TK. Assa’adatul Mahmudiyah, 2020)

Gambar III.5 Activity Diagram Laporan

3.2.3. Dokumen Masukan

Dokumen masukkan merupakan segala bentuk masukan yang berupa

dokumen dan diolah dalam proses agar dapat menghasilkan dokumen keluaran yang

diinginkan. Adapun dokumen masukan yang digunakan adalah sebagai berikut:

1. Nama Dokumen : Kartu SPP (surat persetujuan pembayaran)

Fungsi

: Untuk pembayaran iuran setiap bulannya

Sumber

: Siswa/wali murid

Tujuan

: Bendahara

Media

: Kertas

(11)

Jumlah

: 1 (satu) lembar

Frekuensi

: Setiap melakukan pembayaran SPP

Bentuk

: Lampiran A.1.

2. Nama Dokumen : Nota Pembelian

Fungsi

: Untuk

Sumber

: Guru

Tujuan

: Bendahara

Media

: Kertas

Jumlah

: 1 (satu) lembar

Frekuensi

: Setiap melakukan pembelian

Bentuk

: Lampiran A.2.

3.2.4. Dokumen Keluaran

Dokumen keluaran adalah sebagai bentuk keluaran berupa dokumen yang

merupakan hasil pengolahan. Adapun dokumen yang dihasilkan adalah sebagai

berikut:

1. Nama Dokumen

: Data RAB (Rancangan Anggaran Biaya)

Fungsi

: untuk pengajuan permohonan dana

Sumber

: Bendahara

Tujuan

: Kepala Dinas Pendidikan dan Kebudayaan Subang

Media

: Kertas

Jumlah

: 1 (satu) lembar

Frekuensi

: Setiap satu semester

Bentuk

:.Lampiran B.1

2. Nama Dokumen : Laporan Kas

(12)

Sumber

: Bendahara

Tujuan

: Kepala Sekolah

Media

: Kertas

Jumlah

: 1 (satu) lembar

Frekuensi

: setiap satu tahun sekali

Bentuk

: Lampiran B.3

3. Nama Dokumen : Laporan Penggunaan Dana Bosda

Fungsi

: sebagai catatan dana Bosda yang diterima

Sumber

: Bendahara

Tujuan

: Kepala Dinas Pendidikan dan Kebudayaan Subang

Media

: Kertas

Jumlah

: 1 (satu) lembar

Frekuensi

: setiap satu tahun sekali

Bentuk

: Lampiran B.4

3.2.5. Permasalahan Pokok

Berdasarkan hasil riset untuk sistem penerimaan dan pengeluaran kas pada

TK Assa’adatul Mahmudiyah. Penulis menemukan beberapa permasalahan pokok

yang mengahambat kegiatan tersebut. Adapun permasalahan yang ditemukan

diuraiakan sebagai berikut:

1. Pencatatan setiap transaksi penerimaan dan pengeluaran kas masih dilakukam

secara sederhana yaitu dengan masih menggunakan sebuah buku. Dengan masih

menggunakan buku merasa kesulitan dalam pencarian data serta memakan waktu

yang lama.

(13)

2. Membutuhkan anggaran dana dalam pencatatan keuangan karena buku akan

cepat habis dan itu akan menghabiskan dana serta sering terjadi kehilangan data

dalam penyimpananya.

3. Perhitungan akuntansinya masih menggunakan hitungan biasa (kalkulator) yang

menyebabkan sering terjadinya kesalahan, dimana anggaran sering kelebihan atau

kekurangan dalam perhitungannya.

3.2.6. Pemecahan Masalah

Dengan melihat permasalahan yang ada, maka untuk mengatasi permasalahan

tersebut penulis mengajukan alternatif pemecahan masalah yaitu dengan membuat

sistem yang sudah terkomputerisasi dari pencatatan masuk dan keluarnya kas serta

pembuatan laporannya menggunakan komputer serta program khusus.

Beberapa keuntungan yang dapat diperoleh dari penggunaan aplikasi program

pada komputer yaitu:

1. Dengan membuat sebuah program berbasis web atau dekstop yang berguna

untuk pengelololaan kas masuk dan kas keluar sehingga memudahkan bagian

bendahara untuk mengelolahnya dan membuat laporan dengan cepat sehingga

menghasilkan informasi yang benar tentang data-data yang ada.

2. Dengan adanya sebuah sistem yang sudah terkomputersasi akan sangat

banyak menghemat dana dalam pengelolaanya.

3. Mempermudah dalam proses perhitungannya, sehingga meminimalisir

terjadinya kecurangan atau kesalahan.

(14)

3.3. Analisa Kebutuhan Software

3.3.1. Analisis Kebutuhan

Dalam rancang bangun sistem informasi akuntansi penerimaan dan

pengeluaran kasi ini ada terdapat 3 (tiga) jen is user yang saling berinteraksi dalam

lingkungan sistem tersebut, yaitu admin, bendahara dan kepala sekolah.

A. Kepala Sekolah

A.1. Kepala Sekolah melakukan login

A.2. Kepala Sekolah mencetak laporan

B. Bendahara

B.1. Bagian Bendahara melakukan login

B.2. Bagian Bendahara mengelola data akun

B.3. Bagian Bendahara mencatat transaksi kas masuk

B.4. Bagian Bendahara mencatat transaksi kas keluar

B.5. Bagian Bendahara mencetak laporan

C. Admin

C.1. Admin melakukan login .

C.2. Admin mengelola data user

C.3. Admin mengelola data akun

C.4. Admin mencatat transaksi kas masuk

C.5. Admin mencatat transaksi kas keluar

C.6. Admin mencetak laporan

D. Kebutuhan Sistem

a. User harus melakukan login menggunakan username dan password dan

setiap selesai menggunakan aplikasi harus melakukan logout agar

keamanan data terjaga.

(15)

b. Sistem dapat mencetak laporan penerimaan dan pengeluaran kas.

3.3.2. Use Case Diagram

Gambar III.6. Use Case Diagram

Tabel III.1.

Skenario Use Case Diagram Login

Use case login

Tujuan

Untuk mengakses sistem

Aktor

Admin

Kondisi awal

Form login masih kosong

Skenario utama

1. Admin memasukan username dan password

2. Sistem akan memeriksa valid tidaknya data masukan dengan

memerikasa ke tabel user

3. Masuk ke aplikasi pengelolaan kas

Skenario alternatif

1. Jika form login yang di input masih ada yang kosong, maka

sistem akan menampilkan pesan "please fill out this field"

2. jika form login yang diinput sudah sesuai, maka sistem akan

menampilkan pesan " login berhasil "

(16)

Tabel III.2.

Skenario Use Case Diagram Data User

Use case data user

Tujuan

Mengijinkan admin untuk mengelola data user

Aktor

Admin

Kondisi awal

login tervalidasi dan valid

Skenario utama

1. Admin memilih menu data user

2. Sistem akan menampilkan form data user untuk diinput

3. Admin memilih data yang akan diubah, maka menampilkan

data akun dari akun yang akan diubah

4. Admin memilih data yang akan dihapus, maka akan

menampilkan pesan

Skenario alternatif

1. Jika form user yang di input masih ada yang kosong, maka

sistem akan menunjukan pesan "please fill out this field"

2. jika form user yang diinput sudah sesuai, maka sistem akan

menampilkan pesan " data berhasil disimpan"

3. jika form sudah diubah, maka sistem akan menampilkan pesan

bahwa data berhas

4. data yang dihapus akan menampilkan pesan konfirmasi apakah

data benar dihapus

Kondisi akhir

sistem menampilkan data user

Tabel III.3.

Skenario Use Case Diagram Data Akun

Use case data akun

Tujuan

Mengijinkan admin untuk mengelola data akun

Aktor

Admin

Kondisi awal

login tervalidasi dan valid

Skenario utama

1. Admin memilih menu data akun

2. Sistem akan menampilkan form data akun untuk diinput,

memasukan data akun sesuai kolom yang ada

3. Admin memilih data yang akan diubah, maka menampilkan

data akun dari akun yang akan diubah

4. Admin memilih data yang akan dihapus, maka akan

menampilkan pesan

Skenario alternatif

1. Jika form masih ada yang kosong, maka sistem akan

menunjukan pesan "please fill out this field"

2. jika form sudah sesuai, maka sistem akan menampilkan pesan

" data berhasil disimpan"

3. jika form sudah diubah, maka sistem akan menampilkan pesan

bahwa data berhas

4. data yang dihapus akan menampilkan pesan konfirmasi apakah

data benar dihapus

(17)

Tabel III.4.

Skenario Use Case Diagram Transaksi Kas Masuk

Use case transaski kas masuk

Tujuan

Mengijinkan admin untuk mengelola data transaksi kas masuk

Aktor

Admin

Kondisi awal

login tervalidasi dan valid

Skenario utama

1. Admin memilih menu transaksi kas masuk

2. Sistem akan menampilkan form kas masuk untuk diinput

3. Admin memilih data yang akan dihapus, maka akan

menampilkan pesan

Skenario alternatif

1. Jika form yang di input masih ada yang kosong, maka sistem

akan menunjukan pesan "please fill out this field"

2. Jika form kas masuk yang diinput sudah sesuai, maka sistem

akan menampilkan pesan " data berhasil disimpan"

3. data yang dihapus akan menampilkan pesan konfirmasi apakah

data benar dihapus

Kondisi akhir

sistem menampilkan data kas masuk yang telah diinput

Tabel III.5.

Skenario Use Case Diagram Transaksi Kas Keluar

Use case transaski kas keluar

Tujuan

Mengijinkan admin untuk mengelola data transaksi kas keluar

Aktor

Admin

Kondisi awal

login tervalidasi dan valid

Skenario utama

1. Admin memilih menu transaksi kas keluar

2. Sistem akan menampilkan form kas keluar untuk diinput

3. Admin memilih data yang akan dihapus, maka akan

menampilkan pesan

Skenario alternatif

1. Jika form yang di input masih ada yang kosong, maka sistem

akan menunjukan pesan "please fill out this field"

2. Jika form kas masuk yang diinput sudah sesuai, maka sistem

akan menampilkan pesan " data berhasil disimpan"

3. data yang dihapus akan menampilkan pesan konfirmasi apakah

data benar dihapus

Kondisi akhir

sistem menampilkan data kas keluar yang telah diinput

Tabel III.6.

Skenario Use Case Diagram Mencetak Laporan

Use case mencetak laporan

Tujuan

Untuk mencetak laporan

Aktor

Admin

(18)

Skenario utama

1. Admin memilih menu laporan

2. Sistem akan menampilkan form laporan yang akan dicetak

Skenario alternatif

1. Jika melakukan cetak secara keseluruhan, maka klik tombol

seluruh data

2. Jika melakukan cetak berdasarkan periode, maka mengisi form

periode dan klik tombol data

Kondisi akhir

sistem menampilkan laporan

3.3.3. Activity Diagram

1. Admin mengelola data user

(19)

2. Admin mengelola data akun

(20)

3. Admin mengelola kas masuk

(21)

4. Admin mengelola kas keluar

(22)

5. Admin mencetak laporan

(23)

3.4. Desain

3.4.1. Entity Relationship Diagram

tbl_kasmasuk_detail tbl_kasmasuk tbl_kaskeluar_detail tbl_kaskeluar tbl_akun tbl_jurnal tbl_bukubesar

1

M

1

1

M

1

1

1

1

Memiliki

1

1

Memiliki

M

Memiliki

1

Memiliki

M

Memiliki

1

Memiliki

1

Memiliki

M

Memiliki

1

Memiliki

1

Memiliki

M

nominal_kasmasuk kd_kasmasuk kd_akun kd_kasmasuk tgl_kasmasuk ket_kasmasuk kd_kasmasuk kd_akun kd_kasmasuk kd_kasmasuk kd_jurnal kd_kas kd_kas kd_akun kd_akun tgl_jurnal kd_kas nominal_kaskeluar kd_kaskeluar tgl_kaskeluar ket_kaskeluar kd_kaskeluar kd_kaskeluar kd_kaskeluar kd_kaskeluar kd_akun kd_akun jenis_akun kd_akun nm_akun kd_akun saldo_normal kd_bukubesar kd_kas kd_akun tgl_bukubesar saldo_kredit saldo_debet nominal_debet nominal_kredit saldo_debet saldo_kredit tbl_user Memiliki Memiliki id_user username password hak_akses

1

M

1

M

id_user id_user id_user id_user

(24)

3.4.2. Logical Record Structure

tbl_kasmasuk_detail kd_kasmasuk ** kd_akun ** tbl_kasmasuk kd_kasmasuk * id_user ** tgl_kasmasuk ket_kasmasuk nominal_kasmasuk tbl_bukubesar kd_bukubesar * kd_kas ** kd_akun ** nominal_debet nominal_kredit tgl_bukubesar saldo_debet saldo_kredit tbl_akun kd_akun * nm_akun jenis_akun saldo_normal tbl_jurnal kd_jurnal * kd_kas ** kd_akun ** tgl_jurnal saldo_debet saldo_kredit tbl_kaskeluar_detail kd_kaskeluar ** kd_akun ** tbl_kaskeluar kd_kaskeluar * id_user ** tgl_kaskeluar ket_kaskeluar nominal_kaskeluar 1 1 1 1 tbl_user id_user * username password hak_akses

Keterangan:

* = Primary Key

** = Foreign Key

Gambar III.13 Logical Strukture Diagram

3.4.3. Spesifikasi File

Dalam spesifikasi file, sistem ini menggunakkan aplikasi basis data

(database) pada MySQL dengan nama database db_pengelolaankas.sql spesifikasi

(25)

1. Spesifikasi File User

Nama File

: Tabel tbl_use r

Akronim

: tbl_user.sql

Fungsi

: Mengelola dan menyimpan data user

Tipe File

: File Master

Ukuran Record

: 61 byte

Media

: Hard disk

Field Key

: id_user

Software

: MySQL

Tabel III.7.

Spesifikasi File User

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Kode id_user Integer 11 Primary Key

2. Nama nm_user Varchar 20

3. Password Password Varchar 30

4. Hak akses hak_akses Enum “admin”,”bendahara” dan “kepala sekolah”

2. Spesifikasi File Akun

Nama File

: Tabel tbl_akun

Akronim

: tbl_akun.sql

Fungsi

: mengelola dan menyimpan data akun

Tipe File

: File Master

Ukuran Record

: 100 byte

Media

: Hard disk

Field Key

: kd_akun

(26)

Tabel III.8.

Spesifikasi File Akun

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Kode kd_akun Varchar 10 Primary Key

2. Nama akun nm_akun Varchar 50

3. Jenis akun jenis_akun Varchar 30

4. Saldo normal saldo_normal Varchar 10

3. Spesifikasi File Kas Masuk

Nama File

: Tabel tbl_kasmasuk

Akronim

: tbl_kasmasuk.sql

Fungsi

: mengelola dan menimpan data kas masuk

Tipe File

: File Transaksi

Ukuran Record

: 32 byte

Media

: Hard disk

Field Key

: kd_kasmasuk

Software

: MySQL

Tabel III.9.

Spesifikasi File Kas Masuk

No. Elemen Data Akronim

Tipe

Panjang Keterangan

1.

Kode

kd_kasmasuk

Varchar

10

Primary Key

2.

Tanggal

tgl_kasmasuk

Date

3.

Keterangan

ket_kasmasuk

Text

4.

Nominal

nominal_kasmasuk Integer

11

(27)

4. Spesifikasi File Kas Keluar

Nama File

: Tabel tbl_kaskeluar

Akronim

: tbl_kaskeluar.sql

Fungsi

: Mengelola dan menyimpan data kas keluar

Tipe File

: File Transaksi

Ukuran Record

: 32 byte

Media

: Hard disk

Field Key

: kd_kaskeluar

Software

: MySQL

Tabel III.10.

Spesifikasi File Kas Keluar

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Kode kd_kaskeluar Varchar 10 Primary Key

2. Tanggal tgl_kaskeluar Date

3. Keterangan ket_kaskeluar Text

4. Nominal nominal_kaskeluar Integer 11

5. Id id_user integer 11

5. Spesifikasi File Jurnal

Nama File

: Tabel tbl_jurnal

Akronim

: tbl_jurnal.sql

Fungsi

: Mencatat setiap transaksi yang terjadi

Tipe File

: File Laporan

Ukuran Record

: 53 byte

Media

: Hard disk

Field Key

: kd_jurnal

(28)

Tabel III.11.

Spesifikasi File Jurnal

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Kode jurnal kd_jurnal Integer 11 Primary Key

2. Kode kas kd_kas Varchar 10

3. Kode akun kd_akun Varchar 10

4. Tanggal jurnal tgl_jurnal Date

5. Saldo debet saldo_debet Integer 11

6. Saldo kredit saldo_kredit Integer 11

6. Spesifikasi File Buku Besar

Nama File

: Tabel tbl_bukubesar

Akronim

: tbl_bukubesar.sql

Fungsi

: Mempersiapkan laporan keuangan

Tipe File

: File Transaksi

Ukuran Record

: 75 byte

Media

: Hard disk

Field Key

: kd_bukubesar

Software

: MySQL

Tabel III.12.

Spesifikasi File Buku Besar

No. Elemen Data Akronim Tipe Panjang Keterangan

1. Kode buku besar kd_bukubesar Integer 11 Primary Key

2. Kode kas kd_kas Varchar 10

3. Kode akun kd_akun Varchar 10

4. Nominal debet nominal_debet Integer 11

5. Nominal kredit nominal_kredit Integer 11

(29)

8. Saldo debet saldo_debet Integer 11

9. Saldo kredit saldo_kredit Integer 11

3.4.4. Class Diagram

Diagram Class atau kelas diagram menggambarkan struktur sistem dari segi

pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Dibawah ini

merupakan gambar class diagram untuk menggambarkan struktur sistem yang akan

dibuat untuk membangun sistem.

Gambar III.14 Class Diagram

3.4.5. Sequence Diagram

Bentuk dari sequence diagram rancangan sistem penerimaan dan

pengeluaran pada TK. Assa’adatul Mahamudiyah digambarkan sebagai berikut:

(30)

1. Sequence Penerimaan Kas

(31)

2. Sequence Pengeluaran Kas

(32)

3.4.6. Component Diagram

Gambar III.18 Component Diagram

3.4.7. Development Diagram

Deployment Diagram memberikan gambaran bagaimana sistem secara fisik

yang terlihat, menampakan bagian software yang berjalan pada

bagian-bagian hardware. Sistem terdiri dari node-node dimana setiap node diwakili oleh

sebuah kubus. Garis yang menghubungkan antara dua kubus menunjukan hubungan

diantara kedua node tersebut. Berikut gambar deployement diagram:

(33)

Gambar III.19 Deployment Diagram

3.4.8. User Interfice

1. Halaman Login Admin

(34)

2. Halaman Menu Utama

Gambar III.21 Halaman Menu Utama

3. Halaman Tambah User

(35)

4. Halaman Edit User

Gambar III.23 Halaman Edit User

5. Halaman Tambah Akun

(36)

6. Halaman Edit Akun

Gambar III.25 Halaman Edit Akun

7. Halaman Tambah Kas Masuk

(37)

8. Halaman Tambah Kas Keluar

Gambar III.27 Halaman Tambah Kas Keluar

9. Halaman Laporan Akun

(38)

10. Halaman Laporan Kas Masuk

Gambar III.29 Halaman Laporan Kas Masuk

11. Halaman Laporan Kas Keluar

(39)

12. Halaman Laporan Jurnal

Gambar III.31 Halaman Laporan Jurnal

13. Halaman Laporan Buku Besar

(40)

3.5. Implementasi

3.5.1. Code Generartion

1. Transaksi Kas Masuk

a.

Index.jsp

<%@page import="java.sql.DriverManager"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.Connection"%> <%

String driver = "com.mysql.jdbc.Driver";

String connectionUrl = "jdbc:mysql://localhost:3306/"; String database = "db_pengelolaankas";

String userid = "root"; String password = ""; try {

Class.forName(driver);

} catch (ClassNotFoundException e) { e.printStackTrace(); }

Connection connection = null; Statement statement = null; ResultSet resultSet = null; %>

<div class="col-md-12"> <!-- Basic Card Example --> <div class="card shadow mb-4"> <div class="card-header py-3">

<h6 class="m-0 font-weight-bold text-primary">Table Master Kas Masuk</h6> </div>

<div class="card-body"> <div class="row"> <div class="col-md-3">

<a href="index.jsp?halaman=createkasmasuk" class="btn btn-primary btn-icon- split" title="Tambah Data">

<span class="icon text-white-50"> <i class="fa fa-plus"></i>

</span>

<span class="text">Data Kas Masuk</span> </a> </div> </div> <br> <div class="row"> <div class="col-md-12">

(41)

<div class="table-responsive">

<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">

<thead>

<tr>

<th>No</th>

<th>Kode Kas Masuk</th> <th>Tanggal</th> <th>Keterangan</th> <th>Nominal</th> <th>Action</th> </tr> </thead> <tbody> <% try { connection = DriverManager.getConnection(connectionUrl + database, userid, password);

statement = connection.createStatement(); String sql = "select * from tbl_kasmasuk"; resultSet = statement.executeQuery(sql); int no = 1; while (resultSet.next()) { %> <tr> <td align="center"><%=no++%></td> <td><%=resultSet.getString("kd_kasmasuk")%></td> <td><%=resultSet.getString("tgl_kasmasuk")%></td> <td><%=resultSet.getString("ket_kasmasuk")%></td> <td>Rp. <%=resultSet.getString("nominal_kasmasuk")%>.-</td> <td> <a href="index.jsp?halaman=detailkasmasuk&kd_kasmasuk=<%=resultSet.getString(" kd_kasmasuk")%>" title="Data Detail" class="btn btn-info btn-sm">

&nbsp;<i class="fa fa-info">&nbsp;</i> </a>

<a onclick="if (confirm('Anda yakin menghapus data ini..?')){return true;} else {return false;}"

href="../kasmasuk/hapus.jsp?kd_kasmasuk=<%=resultSet.getString("kd_kasmasuk") %>" title="Hapus Data" class="btn btn-danger btn-sm">

<i class="fa fa-trash"></i> </a>

</td> </tr> <%

(42)

} connection.close(); } catch (Exception e) { e.printStackTrace(); } %> </tbody> </table> </div> </div> </div> </div> </div> </div>

b. Create.jsp

<%@page import="java.sql.DriverManager"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.Connection"%> <%

String driver = "com.mysql.jdbc.Driver";

String connectionUrl = "jdbc:mysql://localhost:3306/"; String database = "db_pengelolaankas";

String userid = "root"; String password = ""; try { Class.forName(driver); } catch (ClassNotFoundException e) { e.printStackTrace(); }

Connection connection = null; Statement statement = null; ResultSet resultSet = null;

int year = java.util.Calendar.getInstance().get(java.util.Calendar.YEAR); %>

<div class="col-md-12"> <!-- Basic Card Example --> <div class="card shadow mb-4"> <div class="card-header py-3"> <p align="right">

(43)

<a href="index.jsp?halaman=home">Home</a> <i class="fa fa-angle-right"></i> <a href="index.jsp?halaman=kasmasuk">Master Kas Masuk</a> <i class="fa fa-angle-double-right"></i> Add Kas Masuk

</p>

<h4 class="m-0 font-weight-bold text-primary">Add Kas Masuk </h4> </div>

<div class="card-body">

<form method="post" action="../kasmasuk/simpan.jsp"> <div class="form-group">

<div class="container"> <div class="row">

<div class="col-md-2">

<label>Kode Kas Masuk</label> <%

try {

connection = DriverManager.getConnection(connectionUrl + database, userid, password);

statement = connection.createStatement();

String sql = "select max(right(kd_kasmasuk,4)) as no from tbl_kasmasuk";

resultSet = statement.executeQuery(sql); while (resultSet.next()) {

if (resultSet.first() == false) {

out.println("<input type='hidden' class='form-control' name='kd_kasmasuk' placeholder='Kode Kas Masuk' maxlength='10' value='KM" + year + "0001'>");

out.println("<input type='text' readonly required class='form-control' name='kd_kasmasuk' placeholder='Kode Kas Masuk' maxlength='10' value='KM" + year + "0001'>");

} else {

resultSet.last();

int autonokm = resultSet.getInt(1) + 1; String nokm = String.valueOf(autonokm); int noLong = nokm.length();

for (int a = 1; a < 5 - noLong; a++) { nokm = "0" + nokm;

}

String nomkm = "KM" + year + nokm;

out.println("<input type='hidden' class='form-control' name='kd_kasmasuk' placeholder='Kode Kas Masuk' maxlength='10' value='" + nomkm + "'>");

out.println("<input type='text' readonly required class='form-control' name='kd_kasmasuk' placeholder='Kode Kas Masuk' maxlength='10' value='" + nomkm + "'>");

(44)

}

} catch (Exception e) { out.println(e); }

%>

<input type="hidden" class="form-control" readonly="" name="id_user" value="<%out.println(session.getAttribute("id_user"));%>"> </div> </div> <br> <div class="row"> <div class="col-md-3"> <label>Akun Kredit</label>

<select class="form-control" name="kd_akunkredit" required="">

<option value="">Pilih Akun Kredit</option> <%

String sqlakun = "select * from tbl_akun"; resultSet = statement.executeQuery(sqlakun); while (resultSet.next()) { %> <option value="<%=resultSet.getString("kd_akun")%>"><%=resultSet.getString("kd_akun" )%> - <%=resultSet.getString("nm_akun")%></option> <% }%> </select> </div> <div class="col-md-3"> <label>Tanggal</label>

<input type="date" class="form-control" name="tgl_kasmasuk" placeholder="Tanggal" required="">

</div>

<div class="col-md-3"> <label>Akun Kas</label>

<select class="form-control" name="kd_akunkas" required=""> <option value="">Pilih Akun Kas</option>

<%

String sqlakunkas = "select * from tbl_akun where left(kd_akun,2)=11"; resultSet = statement.executeQuery(sqlakunkas); while (resultSet.next()) { %> <option value="<%=resultSet.getString("kd_akun")%>"><%=resultSet.getString("kd_akun" )%> - <%=resultSet.getString("nm_akun")%></option> <% }%> </select>

(45)

</div>

<div class="col-md-3"> <label>Nominal</label>

<input type="number" min="0" class="form-control" name="nominal_kasmasuk" placeholder="Nominal" required=""> </div> </div> <br> <div class="row"> <div class="col-md-6"> <label>Keterangan</label>

<textarea class="form-control" name="ket_kasmasuk" placeholder="Keterangan" required=""></textarea> </div> </div> </div> </div> <hr>

<button class="btn btn-info" onclick="if (confirm('Simpan..?')) { return true;

} else { return false;

}" type="submit"><i class="fa fa-paper-plane"></i>&nbsp; Simpan</button> </form> </div> </div> </div>

c. Detail.jsp

<%@page import="java.sql.DriverManager"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.Connection"%> <%

String kd_kasmasuk = request.getParameter("kd_kasmasuk"); String tgl = null;

String nom = null; String ket = null;

String driver = "com.mysql.jdbc.Driver";

String connectionUrl = "jdbc:mysql://localhost:3306/"; String database = "db_pengelolaankas";

String userid = "root"; String password = "";

(46)

try {

Class.forName(driver);

} catch (ClassNotFoundException e) { e.printStackTrace();

}

Connection connection = null; Statement statement = null; ResultSet resultSet = null;

connection = DriverManager.getConnection(connectionUrl + database, userid, password);

statement = connection.createStatement();

String sql = "select * from tbl_kasmasuk where kd_kasmasuk = '" + kd_kasmasuk + "'"; resultSet = statement.executeQuery(sql); if (resultSet.next()) { tgl = resultSet.getString("tgl_kasmasuk"); ket = resultSet.getString("ket_kasmasuk"); nom = resultSet.getString("nominal_kasmasuk"); } %> <div class="col-md-12"> <!-- Basic Card Example --> <div class="card shadow mb-4"> <div class="card-header py-3"> <p align="right">

<a href="index.jsp?halaman=home">Home</a> <i class="fa fa-angle-right"></i> <a href="index.jsp?halaman=kasmasuk">Master Kas Masuk</a> <i class="fa fa-angle-double-right"></i> Detail Kas Masuk

</p>

<h4 class="m-0 font-weight-bold text-primary">Table Detail Kas Masuk</h4> </div> <div class="card-body"> <div class="row"> <div class="col-md-12"> <div class="table-responsive">

<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">

<thead> <tr>

(47)

<th colspan="4" style="text-align: right;">Tanggal : <% out.print(tgl);%> </tr> <tr> <th colspan="4">Keterangan : <% out.print(ket);%> </tr> <tr> <th>No</th>

<th>Kode Kas Masuk</th> <th>Kode Akun</th> <th>Nama Akun</th> </tr> </thead> <tbody> <% try { connection = DriverManager.getConnection(connectionUrl + database, userid, password);

statement = connection.createStatement();

String sql1 = "select * from tbl_kasmasuk_detail join tbl_akun on tbl_kasmasuk_detail.kd_akun = tbl_akun.kd_akun where

tbl_kasmasuk_detail.kd_kasmasuk = '"+kd_kasmasuk+"'"; resultSet = statement.executeQuery(sql1); int no = 1; while (resultSet.next()) { %> <tr> <td align="center"><%=no++%></td> <td><%=resultSet.getString("kd_kasmasuk")%></td> <td><%=resultSet.getString("kd_akun")%></td> <td><%=resultSet.getString("nm_akun")%></td> </tr> <% } connection.close(); } catch (Exception e) { e.printStackTrace(); } %> </tbody> <tfoot> <tr>

<td colspan="3" align="center">Nominal (Kredit / Debet)</td>

<td align="center">Rp. <% out.print(nom); %>.-</td> </tr>

(48)

</table> </div> </div> </div> </div> </div> </div>

d. Hapus.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page import="java.sql.*,java.util.*"%>

<%

String kd_kasmasuk = request.getParameter("kd_kasmasuk"); try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_pengelolaankas", "root", ""); Statement st = conn.createStatement();

int a = st.executeUpdate("DELETE FROM tbl_jurnal WHERE kd_kas='" + kd_kasmasuk + "'");

String sql = "SELECT * FROM tbl_kasmasuk where kd_kasmasuk='" + kd_kasmasuk + "'";

ResultSet rss = st.executeQuery(sql); rss.next();

String salawal = rss.getString(5);

String sql1 = "SELECT max(kd_bukubesar) FROM tbl_bukubesar"; ResultSet rsss = st.executeQuery(sql1);

rsss.next();

String kdbuku = rsss.getString(1); if (kdbuku != null) {

String sql2 = "SELECT * FROM tbl_bukubesar where kd_bukubesar='" + kdbuku + "'";

ResultSet rssss = st.executeQuery(sql2); rssss.next();

String kd_bukubesar = rssss.getString(1); String kd_kas = rssss.getString(2); String kd_akun = rssss.getString(3); String nominal_debet = rssss.getString(4);

(49)

String nominal_kredit = rssss.getString(5); String tgl_bukubesar = rssss.getString(6); String saldo_debet = rssss.getString(7); String saldo_kredit = rssss.getString(8);

if (saldo_kredit.equals("0")) {

int saldebet = Integer.parseInt(saldo_debet); int saldawal = Integer.parseInt(salawal); int total = saldebet - saldawal;

if (total > 0) {

int math = Math.abs(total);

String saldo = Integer.toString(math);

int xs = st.executeUpdate("Update tbl_bukubesar set kd_kas='" + kd_kas + "',kd_akun='" + kd_akun + "',nominal_debet='" + nominal_debet + "',nominal_kredit='" + nominal_kredit + "',tgl_bukubesar='" + tgl_bukubesar + "',saldo_debet='" + saldo + "',saldo_kredit='0' where kd_bukubesar='" + kd_bukubesar + "'");

} else {

int math = Math.abs(total);

String saldo = Integer.toString(math);

int xs = st.executeUpdate("Update tbl_bukubesar set kd_kas='" + kd_kas + "',kd_akun='" + kd_akun + "',nominal_debet='" + nominal_debet + "',nominal_kredit='" + nominal_kredit + "',tgl_bukubesar='" + tgl_bukubesar + "',saldo_debet='0',saldo_kredit='" + saldo + "' where kd_bukubesar='" + kd_bukubesar + "'");

} } else {

int salkredit = Integer.parseInt(saldo_kredit); int saldawal = Integer.parseInt(salawal); int total = salkredit - saldawal;

if (total > 0) {

int math = Math.abs(total);

String saldo = Integer.toString(math);

int xs = st.executeUpdate("Update tbl_bukubesar set kd_kas='" + kd_kas + "',kd_akun='" + kd_akun + "',nominal_debet='" + nominal_debet + "',nominal_kredit='" + nominal_kredit + "',tgl_bukubesar='" + tgl_bukubesar + "',saldo_debet='" + saldo + "',saldo_kredit='0' where kd_bukubesar='" + kd_bukubesar + "'");

} else {

int math = Math.abs(total);

String saldo = Integer.toString(math);

int xs = st.executeUpdate("Update tbl_bukubesar set kd_kas='" + kd_kas + "',kd_akun='" + kd_akun + "',nominal_debet='" + nominal_debet + "',nominal_kredit='" + nominal_kredit + "',tgl_bukubesar='" + tgl_bukubesar + "',saldo_debet='0',saldo_kredit='" + saldo + "' where kd_bukubesar='" + kd_bukubesar + "'");

(50)

} } }

int b = st.executeUpdate("DELETE FROM tbl_bukubesar WHERE kd_kas='" + kd_kasmasuk + "'");

int i = st.executeUpdate("DELETE a.*,b.* FROM tbl_kasmasuk a,tbl_kasmasuk_detail b WHERE a.kd_kasmasuk='" + kd_kasmasuk + "' and b.kd_kasmasuk='" + kd_kasmasuk + "'");

out.println("<script>alert('Data Kas Masuk, Kode Kas Masuk : " + kd_kasmasuk + " berhasil Di Hapus')</script>"

+ "<meta http-equiv='refresh' content='1;../layout/index.jsp?halaman=kasmasuk'/>"); } catch (Exception e) { System.out.print(e); e.printStackTrace(); out.println(e); } %>

e. Simpan.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <% try { Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_pengelolaankas", "root", ""); Statement st = con.createStatement();

String id_user = request.getParameter("id_user");

String kd_kasmasuk = request.getParameter("kd_kasmasuk"); String kd_akunkredit = request.getParameter("kd_akunkredit"); String tgl_kasmasuk = request.getParameter("tgl_kasmasuk"); String ket_kasmasuk = request.getParameter("ket_kasmasuk"); String kd_akunkas = request.getParameter("kd_akunkas");

String nominal_kasmasuk = request.getParameter("nominal_kasmasuk"); String strQuery = "SELECT COUNT(*) FROM tbl_kasmasuk where kd_kasmasuk='" + kd_kasmasuk + "'";

ResultSet rs = st.executeQuery(strQuery); rs.next();

String Countrow = rs.getString(1); if (Countrow.equals("0")) {

int a = st.executeUpdate("insert into

(51)

k)values('" + kd_kasmasuk + "','" + id_user + "','" + tgl_kasmasuk + "','" + ket_kasmasuk + "','" + nominal_kasmasuk + "')");

String sql = "SELECT max(kd_bukubesar) FROM tbl_bukubesar"; ResultSet rss = st.executeQuery(sql);

rss.next();

String kdbuku = rss.getString(1); if (kdbuku != null) {

String sql1 = "SELECT * FROM tbl_bukubesar where kd_bukubesar='" + kdbuku + "'";

ResultSet rsss = st.executeQuery(sql1); rsss.next();

String saldodebet = rsss.getString(7); String saldokredit = rsss.getString(8);

if (saldokredit.equals("0")) {

int debet = Integer.parseInt(saldodebet);

int kasmasukdebet = Integer.parseInt(nominal_kasmasuk); int total = debet + kasmasukdebet;

String saldo_debet = Integer.toString(total); int d = st.executeUpdate("insert into

tbl_bukubesar(kd_kas,kd_akun,nominal_debet,nominal_kredit,tgl_bukubesar,saldo_ debet,saldo_kredit)values('" + kd_kasmasuk + "','" + kd_akunkredit + "','" +

nominal_kasmasuk + "','0','" + tgl_kasmasuk + "','" + saldo_debet + "','0')"); } else {

int kredit = Integer.parseInt(saldokredit);

int kasmasukdebet = Integer.parseInt(nominal_kasmasuk); int total = kredit - kasmasukdebet;

if (total > 0) {

int math = Math.abs(total);

String saldo_kredit = Integer.toString(math); int d = st.executeUpdate("insert into

tbl_bukubesar(kd_kas,kd_akun,nominal_debet,nominal_kredit,tgl_bukubesar,saldo_ debet,saldo_kredit)values('" + kd_kasmasuk + "','" + kd_akunkredit + "','" +

nominal_kasmasuk + "','0','" + tgl_kasmasuk + "','0','" + saldo_kredit + "')"); } else {

int math = Math.abs(total);

String saldo_debet = Integer.toString(math); int d = st.executeUpdate("insert into

tbl_bukubesar(kd_kas,kd_akun,nominal_debet,nominal_kredit,tgl_bukubesar,saldo_ debet,saldo_kredit)values('" + kd_kasmasuk + "','" + kd_akunkredit + "','" +

nominal_kasmasuk + "','0','" + tgl_kasmasuk + "','" + saldo_debet + "','0')"); }

(52)

} else {

int d = st.executeUpdate("insert into

tbl_bukubesar(kd_kas,kd_akun,nominal_debet,nominal_kredit,tgl_bukubesar,saldo_ debet,saldo_kredit)values('" + kd_kasmasuk + "','" + kd_akunkredit + "','" +

nominal_kasmasuk + "','0','" + tgl_kasmasuk + "','" + nominal_kasmasuk + "','0')"); }

for (int i = 1; i <= 2; i++) { if (i % 2 == 0) {

int b = st.executeUpdate("insert into

tbl_kasmasuk_detail(kd_kasmasuk,kd_akun)values('" + kd_kasmasuk + "','" + kd_akunkredit + "')");

int c = st.executeUpdate("insert into

tbl_jurnal(kd_kas,kd_akun,tgl_jurnal,saldo_debet,saldo_kredit)values('" + kd_kasmasuk + "','" + kd_akunkredit + "','" + tgl_kasmasuk + "','0','"+ nominal_kasmasuk +"')");

} else if (i % 2 == 1) {

int b = st.executeUpdate("insert into

tbl_kasmasuk_detail(kd_kasmasuk,kd_akun)values('" + kd_kasmasuk + "','" + kd_akunkas + "')");

int c = st.executeUpdate("insert into

tbl_jurnal(kd_kas,kd_akun,tgl_jurnal,saldo_debet,saldo_kredit)values('" +

kd_kasmasuk + "','" + kd_akunkas + "','" + tgl_kasmasuk + "','"+ nominal_kasmasuk +"','0')");

} }

out.println("<script>alert('Data Kas Masuk, Kode Kas Masuk : " + kd_kasmasuk + " berhasil Disimpan')</script>"

+ "<meta http-equiv='refresh'

content='1;../layout/index.jsp?halaman=kasmasuk'/>"); } else {

out.println("<script>alert('Data Kas Masuk, Kode Kas Masuk : " + kd_kasmasuk + " Sudah Ada')</script>"

+ "<meta http-equiv='refresh' content='1;../layout/index.jsp?halaman=createkasmasuk'/>"); } } catch (Exception e) { e.printStackTrace(); out.println(e); } %>

2. Transaksi Kas Keluar

a. Index.jsp

(53)

<%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.Connection"%> <%

String driver = "com.mysql.jdbc.Driver";

String connectionUrl = "jdbc:mysql://localhost:3306/"; String database = "db_pengelolaankas";

String userid = "root"; String password = ""; try { Class.forName(driver); } catch (ClassNotFoundException e) { e.printStackTrace(); }

Connection connection = null; Statement statement = null; ResultSet resultSet = null; %>

<div class="col-md-12"> <!-- Basic Card Example --> <div class="card shadow mb-4"> <div class="card-header py-3">

<h6 class="m-0 font-weight-bold text-primary">Table Master Kas Keluar</h6>

</div>

<div class="card-body"> <div class="row"> <div class="col-md-3">

<a href="index.jsp?halaman=createkaskeluar" class="btn btn-primary btn-icon-split" title="Tambah Data">

<span class="icon text-white-50"> <i class="fa fa-plus"></i> </span>

<span class="text">Data Kas Keluar</span> </a>

</div> </div> <br>

(54)

<div class="col-md-12">

<div class="table-responsive">

<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">

<thead> <tr>

<th>No</th>

<th>Kode Kas Keluar</th> <th>Tanggal</th> <th>Keterangan</th> <th>Nominal</th> <th>Action</th> </tr> </thead> <tbody> <% try { connection = DriverManager.getConnection(connectionUrl + database, userid, password);

statement = connection.createStatement(); String sql = "select * from tbl_kaskeluar"; resultSet = statement.executeQuery(sql); int no = 1; while (resultSet.next()) { %> <tr> <td align="center"><%=no++%></td> <td><%=resultSet.getString("kd_kaskeluar")%></td> <td><%=resultSet.getString("tgl_kaskeluar")%></td> <td><%=resultSet.getString("ket_kaskeluar")%></td> <td>Rp. <%=resultSet.getString("nominal_kaskeluar")%>.-</td> <td> <a href="index.jsp?halaman=detailkaskeluar&kd_kaskeluar=<%=resultSet.getString("k d_kaskeluar")%>" title="Data Detail" class="btn btn-info btn-sm">

&nbsp;<i class="fa fa-info">&nbsp;</i> </a>

<a onclick="if (confirm('Anda yakin menghapus data ini..?')){return true;} else {return false;}"

href="../kaskeluar/hapus.jsp?kd_kaskeluar=<%=resultSet.getString("kd_kaskeluar") %>" title="Hapus Data" class="btn btn-danger btn-sm">

<i class="fa fa-trash"></i> </a>

</td> </tr>

(55)

<% } connection.close(); } catch (Exception e) { e.printStackTrace(); } %> </tbody> </table> </div> </div> </div> </div> </div> </div>

b. Create.jsp

<%@page import="java.sql.DriverManager"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.Connection"%> <%

String driver = "com.mysql.jdbc.Driver";

String connectionUrl = "jdbc:mysql://localhost:3306/"; String database = "db_pengelolaankas";

String userid = "root"; String password = ""; try { Class.forName(driver); } catch (ClassNotFoundException e) { e.printStackTrace(); }

Connection connection = null; Statement statement = null; ResultSet resultSet = null;

int year = java.util.Calendar.getInstance().get(java.util.Calendar.YEAR); %>

<div class="col-md-12"> <!-- Basic Card Example --> <div class="card shadow mb-4">

(56)

<div class="card-header py-3"> <p align="right">

<a href="index.jsp?halaman=home">Home</a> <i class="fa fa-angle-right"></i> <a href="index.jsp?halaman=kaskeluar">Master Kas Keluar</a> <i class="fa fa-angle-double-right"></i> Add Kas Keluar

</p>

<h4 class="m-0 font-weight-bold text-primary">Add Kas Keluar </h4> </div>

<div class="card-body">

<form method="post" action="../kaskeluar/simpan.jsp"> <div class="form-group">

<div class="container"> <div class="row">

<div class="col-md-2">

<label>Kode Kas Keluar</label> <%

try {

connection = DriverManager.getConnection(connectionUrl + database, userid, password);

statement = connection.createStatement();

String sql = "select max(right(kd_kaskeluar,4)) as no from tbl_kaskeluar";

resultSet = statement.executeQuery(sql); while (resultSet.next()) {

if (resultSet.first() == false) {

out.println("<input type='hidden' class='form-control' name='kd_kaskeluar' placeholder='Kode Kas Keluar' maxlength='10' value='KK" + year + "0001'>");

out.println("<input type='text' readonly required class='form-control' name='kd_kaskeluar' placeholder='Kode Kas Keluar' maxlength='10' value='KK" + year + "0001'>");

} else {

resultSet.last();

int autonokk = resultSet.getInt(1) + 1; String nokk = String.valueOf(autonokk); int noLong = nokk.length();

for (int a = 1; a < 5 - noLong; a++) { nokk = "0" + nokk;

}

String nomkk = "KK" + year + nokk;

out.println("<input type='hidden' class='form-control' name='kd_kaskeluar' placeholder='Kode Kas Keluar' maxlength='10' value='" + nomkk + "'>");

(57)

out.println("<input type='text' readonly required class='form-control' name='kd_kaskeluar' placeholder='Kode Kas Keluar' maxlength='10' value='" + nomkk + "'>");

} } } catch (Exception e) { out.println(e); } %>

<input type="hidden" class="form-control" readonly="" name="id_user" value="<%out.println(session.getAttribute("id_user"));%>"> </div> </div> <br> <div class="row"> <div class="col-md-3"> <label>Akun Kas</label>

<select class="form-control" name="kd_akunkas" required=""> <option value="">Pilih Akun Kas</option>

<%

String sqlakunkas = "select * from tbl_akun where left(kd_akun,2)=11"; resultSet = statement.executeQuery(sqlakunkas); while (resultSet.next()) { %> <option value="<%=resultSet.getString("kd_akun")%>"><%=resultSet.getString("kd_akun" )%> - <%=resultSet.getString("nm_akun")%></option> <% }%> </select> </div> <div class="col-md-3"> <label>Tanggal</label>

<input type="date" class="form-control" name="tgl_kaskeluar" placeholder="Tanggal" required="">

</div>

<div class="col-md-3"> <label>Akun Debet</label>

<select class="form-control" name="kd_akundebet" required="">

<option value="">Pilih Akun Debet</option> <%

String sqlakun = "select * from tbl_akun"; resultSet = statement.executeQuery(sqlakun); while (resultSet.next()) {

(58)

<option value="<%=resultSet.getString("kd_akun")%>"><%=resultSet.getString("kd_akun" )%> - <%=resultSet.getString("nm_akun")%></option> <% }%> </select> </div> <div class="col-md-3"> <label>Nominal</label>

<input type="number" min="0" class="form-control" name="nominal_kaskeluar" placeholder="Nominal" required=""> </div> </div> <br> <div class="row"> <div class="col-md-6"> <label>Keterangan</label>

<textarea class="form-control" name="ket_kaskeluar" placeholder="Keterangan" required=""></textarea> </div> </div> </div> </div> <hr>

<button class="btn btn-info" onclick="if (confirm('Simpan..?')) { return true;

} else { return false;

}" type="submit"><i class="fa fa-paper-plane"></i>&nbsp; Simpan</button> </form> </div> </div> </div>

c. Detail.jsp

<%@page import="java.sql.DriverManager"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.Connection"%> <%

String kd_kaskeluar = request.getParameter("kd_kaskeluar"); String tgl = null;

String nom = null; String ket = null;

(59)

String driver = "com.mysql.jdbc.Driver";

String connectionUrl = "jdbc:mysql://localhost:3306/"; String database = "db_pengelolaankas";

String userid = "root"; String password = ""; try { Class.forName(driver); } catch (ClassNotFoundException e) { e.printStackTrace(); }

Connection connection = null; Statement statement = null; ResultSet resultSet = null;

connection = DriverManager.getConnection(connectionUrl + database, userid, password);

statement = connection.createStatement();

String sql = "select * from tbl_kaskeluar where kd_kaskeluar = '" + kd_kaskeluar + "'"; resultSet = statement.executeQuery(sql); if (resultSet.next()) { tgl = resultSet.getString("tgl_kaskeluar"); ket = resultSet.getString("ket_kaskeluar"); nom = resultSet.getString("nominal_kaskeluar"); } %> <div class="col-md-12"> <!-- Basic Card Example --> <div class="card shadow mb-4"> <div class="card-header py-3"> <p align="right">

<a href="index.jsp?halaman=home">Home</a> <i class="fa fa-angle-right"></i> <a href="index.jsp?halaman=kaskeluar">Master Kas Keluar</a> <i class="fa fa-angle-double-right"></i> Detail Kas Keluar

</p>

<h4 class="m-0 font-weight-bold text-primary">Table Detail Kas Keluar</h4> </div> <div class="card-body"> <div class="row"> <div class="col-md-12"> <div class="table-responsive">

Gambar

Gambar III.2 Activity Diagram  Penerimaan Kas dari Pembayaran SPP
Gambar III.3 Activity Diagram  Penerimaan Kas dari Dana Bosda
Gambar III.4 Activity Diagram Pengeluaran Kas
Gambar III.5 Activity Diagram Laporan  3.2.3.  Dokumen Masukan
+7

Referensi

Dokumen terkait

kota, antarkota, !aupun antarnegara&#34; Akan tetapi, banyak  keadian seperti ke'elakaan kera di kereta api salah satu 'ontohnya tabrakan antar kereta api atau tabrakan

Tabel ini menghitung beban biaya tahunan total dari jaringan, seperti yang dimodelkan, dengan menambah capex tahunan (Tabel 7c) ke dalam pengeluaran operasional untuk setiap

of care atau standar kehati-hatian. Apabila direksi telah bersikap dan.. bertindak melanggar standard of care, maka direksi tersebut dianggap telah melanggar duty

Proses yang digunakan untuk memproduksi alumunium adalah proses elektrolisa dengan memakai metoda Hall-Heroult katoda yang dipakai PT INALUM masih di impor dari

Metode ini akan digunakan dalam penelitian yang akan diarahkan pada masalah PT LEN Persero, yaitu pengaruh budaya dan komitmen organisasi terhadap kinerja

Motif jasmaniah adalah motivasi yang dikarenakan tuntutan jasmani, seperti reflex, insting otomatis dan nafsu. Dari beberapa hasil wawancara yang didapat ada

QFOHVLVSBO LBEBSVSFB NBVQVO LSFBUJOJO QMBTNB EBO IBTJM QFOHBNBUBO UFSIBEBQ HBNCBSBO IJTUPMPHJT HJOKBM NFOVOKVLLBO CBIXB FGFLUJWJUBT OFGSPQSPUFLUJG JOGVT EBVO TVLVO

Motor sinkron digunak DQ XQWXN PHPSHUEDLNL FRV - \DLWX IDNWRU GD\D sehingga menghasilkan kualitas kerja yang baik. Kemampuan suatu motor untuk menghasilkan putaran sangat