bab iii pembahasan 3.1. tinjauan perusahaanrepository.bsi.ac.id/index.php/unduh/item/... ·...
TRANSCRIPT
27
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Perum Jasa Tirta II Sukamandi adalah perusahaan milik negara (BUMN) yang
bergerak di bidang pengelolaan sumber daya air, yang memfokuskan pada
pengoptimalan sumber daya air dengan cara yang efisien. Perusahaan ini akan
memantapkan posisi yang handal sebagai institusi pengelolaan sumber daya air sesuai
peraturan pemerintah Nomor 7 Tahun 2010 tentang Perum Jasa Tirta II untuk
mendukung pembangunan nasional dalam bidang pengelolaan sumber daya air.
3.1.1. Sejarah Perusahaan
Perum Jasa Tirta II Sukamandi adalah perusahaan BUMN yang berdiri pada
tahun 1970-an yang dibangun oleh pemerintah. Perusahaan ini merupakan
perusahaan jasa unit kerja wilayah Sukamandi yang bergerak pada bidang
pengelolaan sumber daya air untuk memenuhi kebutuhan masyarakat disetiap
wilayah di Indonesia. Tujuannya adalah memberikan jasa pelayanan yang baik
dengan misi mengoptimalkan sumber daya air dengan cara yang efesien, efektif,
inovatif.
Perum Jasa Tirta II Sukamandi telah melakukan pembangunan bendungan
pertama yaitu di Jatiluhur. Yang mulai dibangun pada tahun 1957 oleh presiden
Soekarno Hatta dan selesai pada tahun 1967. Dan pembangunan unit usaha kerja
pertamanya di Jati gede pada tahun 1956, sebelum pembuatan bendungan dilakukan.
Bendungan Jati Luhur merupakan bendungan utama dengan tinggi 105 m , panjang
1.220m, elevensi puncak +114,5 m, volume urugan 9,1 jt m3. Berlokasi 100km
tenggara Jakarta dan 60km barat laut Bandung Jawa Barat.
28
Manfaat bendungan itu sendiri untuk memenuhi berbagai kebutuhan untuk
menunjang aktivitas masyarakat seperti penyediaan air untuk irigasi, menyediakan air
beku DMI, pembangkit listrik kapasitas 187,5 MW pada TMA +107,0 m, pengendali
banjir, serta untuk pengembangan dan olahraga air. Sedangkan untuk Perum Jasa Tirta
II unit sukamandi ini berfokus mengamati wilayah sukamandi, ciasem dan barugbug
salah satunya untuk mengelola air pada Bendung Cijengkol, Bendung Ciasem dan
Bendung Barugbug.
3.1.2. Struktur Organisasi dan Fungsi
Di dalam suatu organisasi atau perusahaan, tentunya memegang peranan
yang sangat penting. Setiap perusahaan harus mempunyai organisasi yang baik agar
koordinasi dan tata kerja dapat tergambar dengan jelas, sehingga dapat berfungsi
dengan maksimal. Bentuk organisasi ada berbagai macam, namun bentuk organisasi
yang lebih baik adalah bentuk-bentuk yang sesuai dengan kondisi pada perusahaan
tersebut.
Struktur organisasi yang baik harus dapat menggambarkan fungsi-fungsi,
pengelompokkan kerja masing-masing bagian. Peranan dari struktur organisasi
menunjukkan tipe atau bentuk organisasi yang digunakan, juga merupakan
perwujudan hubungan fungsi-fungsi wewenang dan tanggung jawab terhadap
pelaksanaan tugas masing-masing bagian.
Sebagaimana penjelasan Perum Jasa Tirta II Sukamandi juga berusaha
menggunakan struktur organisasi yang tepat. Struktur organisasi yang baik juga
akan berpengaruh pada kinerja perusahaan. Pada Perum Jasa Tirta II Sukamandi
mempunyai beberapa staff karyawan yang mempunyai tugas dan bagian masing-
masing. Berikut adalah gambar struktur organisasi serta tugas dan fungsi tiap bagian
yang ada di Perum Jasa Tirta II Sukamandi.
29
Sumber: Data yang telah diolah
Gambar III.1
Struktur Organisasi Perum Jasa Tirta II
Berikut ini merupakan tugas dan fungsi dari struktur organisasi diatas:
1. Manajer Operasional
a. Bertanggungjawab untuk memastikan organisasi berjalan sebaik mungkin dalam
memberikan pelayanan kepada masyarakat.
b. Memberikan arahan kepada bawahan.
2. Bagian Umum
a. Menyediakan kebutuhan operasional.
b. Mengelola dana kas.
c. Membelanjakan kebutuhan kantor dan yang lainnya.
d. Mengelola absensi.
30
3. Bagian Operasi Pemeliharaan
a. Mengecek kondisi jaringan-jaringan irigasi dan yang lainnya.
b. Membuat laporan insfraktuktur yang rusak untuk diajukan ke pusat.
4. Staff Operasi Pemeliharaan
a. Membantu untuk pengelolaan yang berkaitan dengan operasional pemeliharaan.
b. Melakukan pengecekan kondisi operasional dilapangan.
5. Bidang Usaha
a. Mengelola masalah yang terjadi pada Perum Jasa Tirta II Sukamandi.
b. Mengelola pendapatan usaha, seperti penyewaan lahan milik Perum Jasa Tirta II
Sukamandi untuk masyarakat.
6. Staff Bidang Usaha
a. Membantu dalam pengelolaan bagian bidang usaha.
b. Membantu dalam kelancaran proses penyewaan lahan.
3.2. Tinjauan Kasus
Dalam sebuah permasalahan pasti terdapat sebuah kasus sebagai dasar dari
permasalahan tersebut. Sehingga diperlukan analisa mendalam untuk menemukan
kasus tersebut yang bisa diindetifikasi dengan baik. Maka diperlukan penelitian yang
intens guna mendapatkan informasi yang valid terkait kasus yang akan diteliti.
Sementara itu, kita melakukan analisa pengelolaan kas pada Perum Jasa Tirta II
Sukamandi secara detail untuk mendapat informasi yang benar terhadap pengelolaan
kas tersebut. Berikut proses bisnis sistem berjalan berdasarkan kasus yang telah
diteliti.
31
3.2.1. Proses Bisnis Sistem Berjalan
1. Prosedur sistem penerimaan kas masuk
Bagian bidang umum melakukan permintaan dana kas berdasarkan bukti
pembayaran kepada Manjer Wilayah setiap satu bulan dua kali melalui lembar bukti
pembayaran. Setelah permintaan kas disetujui dan ditandatangani oleh Manajer
Wilayah, bagian bidang umum akan menerima dana kas melalui Manajer
Administrasi secara tunai serta bukti pembayaran sebagai tanda terima yang harus
ditanda tangani oleh bagian bidang umum. Setelah itu, bukti pembayaran akan
disimpan sebagai arsip dan dicatat kedalam buku besar untuk laporan bulanan.
2. Prosedur sistem pengeluaran kas
Bagian bidang umum melakukan permintaan pengeluaran dana kas kepada Manajer
Wilayah. Kemudian, bagian Manajer Wilayah menyetujui permintaan pengeluaran
kas yang nantinya akan diperiksa terlebih dahulu oleh Manajer Administrasi. Lalu,
Manajer Administrasi akan membayarkan dana kas kepada bagian bidang umum.
Setelah itu, Bagian bidang umum menerima dan akan mengeluarkan dana kas
untuk kebutuhan Perusahaan Perum Jasa Tirta II Sukamandi yang terdiri dari
kebutuhan kantor seperti pembayaran listrik, air, dan telepon serta pembayaran
BBM tersebut akan diperoleh nota dan kwitansi pada setiap pengeluaran kas.
3. Prosedur laporan kas
Bagian bidang umum merekap transaksi penerimaan dan pengeluaran kas.
Kemudian, membuat laporan dari rekapan nota dan kwitansi yang dicatat setiap
harinya kedalam buku besar serta diinput kedalam file buku kas keuangan sebagai
laporan bulanan. Setelah itu, laporan dicetak lalu akan diperiksa oleh Manajer
Wilayah setiap bulan. Setelah diperiksa laporan akan dikembalikan kepada bidang
umum untuk disimpan kedalam arsip.
32
3.2.2. Activity Diagram
Berikut ini akan dijelaskan mengenai alur activity diagram dalam rancang
bangun yang akan kita susun berdasarkan gambar dibawah ini.
1. Activity Diagram Penerimaan Kas
Gambar III.2
Activity Diagram Penerimaan Kas
33
2. Activity Diagram Pengeluaran Kas
Gambar III.3
Activity Diagram Pengeluaran Kas
34
3. Activity Diagram Laporan Pengelolaan Kas
Gambar III.4
Activity Diagram Laporan Pengelolaan Kas
3.2.3. Dokumen Masukan
Bentuk dokumen masukan adalah bentuk dari dokumen-dokumen yang
masuk atau diterima untuk melakukan proses penerimaan dan pengeluaran kas.
Adapun dokumen masukan tersebut adalah sebagai berikut:
35
1. Kwitansi
Nama dokumen : Kwitansi
Fungsi : sebagai bukti transaksi
Sumber : Pemilik Toko
Tujuan : Perum Jasa Tirta II Sukamandi
Media : Kertas
Jumlah : 1 Lembar
Frekuensi : Setiap akan melakukan transaksi pengeluaran kas
Bentuk : Lampiran A1
2. Nota
Nama dokumen : Nota
Fungsi : sebagai bukti transaksi
Sumber : Pemilik Toko
Tujuan : Perum Jasa Tirta II Sukamandi
Media : Kertas
Jumlah : 1 Lembar
Frekuensi : Setiap akan melakukan transaksi pengeluaran kas
Bentuk : Lampiran A1
3.2.4. Dokumen Keluaran
Dokumen keluaran terdiri dari proses pencetakan atau output laporan
penerimaan dan pengeluaran kas pada Perum Jasa Tirta II Sukamandi. Adapun
dokumen keluaran tersebut adalah sebagai berikut:
1. Laporan Kas Bulanan
Nama Dokumen : Buku kas keuangan bulanan
36
Fungsi : Bukti laporan pengeluaran kas
Sumber : Pusat
Tujuan : Perusahaan
Frekuensi : Setiap membuat pengeluaran laporan bulanan
Media : Kertas
Jumlah : 4 lembar
Bentuk : Lampiran B1
2. Buku Besar
Nama Dokumen : Buku kas keuangan harian
Fungsi : Bukti laporan pengeluaran kas
Sumber : Perum Jasa Tirta II Sukamandi
Tujuan : Perusahaan
Frekuensi : Setiap membuat pengeluaran laporan harian
Media : Kertas
Jumlah : 2 lembar
Bentuk : Lampiran B2
3. Bukti Pembayaran
Nama dokumen : Bukti Pembayaran
Fungsi : sebagai bukti transaksi
Sumber : Bidang Umum
Tujuan : Manajer Wilayah
Frekuensi : Setiap permintaan dana
Media : Kertas
Jumlah : 4 lembar
Bentuk : Lampiran B3
37
3.2.5. Permasalahan Pokok
Permasalahan yang terjadi pada Perum Jasa Tirta II Sukamandi yaitu sebagai
berikut:
1. Dalam pencatatan pengelolaan kas pada Perum Jasa Tirta II Sukamandi masih
menggunakan sistem yang bersifat manual maka, pada Perum Jasa Tirta II
Sukamandi sering terjadi kesalahan dalam penerimaan dan pengeluaran kas.
2. Setiap akhir tahun (tutup buku) sering terjadi perbedaan nominal jumlah uang
(tidak balance) dalam pengeluaran kas sehingga akan mempengaruhi pada
laporan pengeluaran kas.
3. Tidak balance laporan bulanan antara Perum Jasa Tirta II Sukamandi dan Bagian
Manajer Wilayah yang dibuat setiap 1 bulan 2 kali itu menyebabkan
permasalahan yang fatal pada laporan perbulannya.
3.2.6. Pemecahan Masalah
Dalam pemecahan permasalahan dapat dijabarkan dalam beberapa poin yang
akan dijelaskan dibawah ini, yaitu sebagai berikut:
1. Perum Jasa Tirta II Sukamndi harus mengganti sistem manual dengan sistem
yang sudah terkomputerisasi agar lebih memaksimalkan kinerja perusahaan dan
menjadi lebih efektif.
2. Karyawan harus melakukan pengecekan kembali saat tutup buku akhir tahun,
agar tidak terjadi perbedaan nominal jumlah uang.
3. Melakukan pengecekan ulang laporan pengeluaran kas perbulannya antara
Perum Jasa Tirta II Sukamndi dengan laporan yang ada pada Manajer Wilayah,
dan harus lebih teliti saat melakukan pencatatan laporan.
38
3.3. Analisa Kebutuhan Software
Berdasarkan dari laporan arus kas masuk dan keluar pada Perum Jasa Tirta II
Sukamandi, maka tahap berikutnya adalah analisa kebutuhan software, pengguna
dapat masuk ke sistem pengolahan data arus kas usulan yang dapat mengolah data,
mengisi transaksi dan laporan arus kas yang akan digunakan.
3.3.1. Analisa kebutuhan
Analisa kebutuhan adalah suatu proses untuk mendapatkan informasi tentang
perangkat lunak yang diinginkan pengguna. Analisa kebutuhan merupakan satu
diantara banyak aktivitas pada proses rekayasa kebutuhan perangkat lunak untuk
memahami permasalahan dari sistem yang berjalan dan solusi dari sistem yang akan
dibuat.
A. Bidang Umum
A.1. Bidang Umum Melakukan Login
A.2. Bidang Umum Mengelola Data Pengguna
A.3. Bidang Umum Mengelola Kas Masuk
A.4. Bidang Umum Mengelola Kas Keluar
A.5. Bidang Umum Mengelola Perkiraan
A.6. Bidang Umum Melihat Laporan
B. Manajer Wilayah
B.1. Manajer Wilayah Melakukan Login
B.2. Manajer Wilayah Melihat Laporan
39
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.
Sumber: Hasil Rancangan (2019)
Gambar III.5
Use Case Pengelolaan Kas
40
Tabel III.1
Deskripsi Use Case Diagram Login
Use Case Narative Login
Tujuan Bidang umum melakukan login dan mengisi id pengguna
dan password agar bisa masuk ke menu utama.
Deskripsi Sistem ini memungkinkan admin untuk mengakses
sistem yang ada pada menu utama.
Skenario Utama
Aktor Bidang Umum
Kondisi Awal Bidang umum membuka aplikasi pengelolaan kas
Aksi Aktor Reaksi Sistem
1. Aktor Memilih
tombol login
2. Aktor Memilih
tombol batal
Sistem akan menampilkan textbox untuk mengisi
Id pengguna dan password sistem akan menutup aplikasi
Kondisi Akhir Jika perintah sesuai maka sistem akan masuk kedalam
aplikasi pengelolaan kas maka aktor dapat melakukan
aktivitas didalam sistem.
Sumber: Hasil Rancangan (2019)
Tabel III.2
Deskripsi Use Case Diagram Data Pengguna
Use Case Narative Data Pengguna
Tujuan Bidang umum masuk kedalam form pengguna untuk
mengelola data pengguna.
Deskripsi Sistem ini memungkinkan admin untuk mengakses
sistem yang ada pada menu utama.
Skenario Utama
41
Sumber: Hasil Rancangan (2019)
Tabel III.3
Deskripsi Use Case Diagrm Kas Masuk
Aktor Bidang Umum
Kondisi Awal Bidang umum membuka aplikasi pengelolaan kas
Aksi Aktor Reaksi Sistem
1. Aktor Memilih
tombol tambah
2. Aktor Memilih
tombol simpan
3. Aktor Memilih
tombol batal
Sistem akan menampilkan textbox untuk mengisi
Id pengguna, nama pengguna, hak akses dan password.
sistem akan menyimpan.
Sistem akan kembali ke form pengguna, lalu menginput
id pengguna, nama pengguna dan password.
Sistem akan kembali ke form pengguna.
Kondisi Akhir Jika perintah sesuai maka sistem akan masuk kedalam
aplikasi pengelolaan kas maka aktor dapat melakukan
aktivitas didalam sistem.
Use Case Narative Kas Masuk
Tujuan Bidang umum melakukan login dan mengelola kas
masuk.
Deskripsi Sistem ini memungkinkan admin untuk mengakses
sistem yang ada pada menu utama.
Skenario Utama
Aktor Bidang Umum
Kondisi Awal Admin membuka form kas masuk
Aksi Aktor Reaksi Sistem
42
Sumber: Hasil Rancangan (2019)
Tabel III.4
Deskripsi Use Case Diagram Kas Keluar
1. Aktor Memilih
tombol tambah
2. Aktor Memilih
tombol simpan
3. Aktor Memilih
tombol batal
4. Aktor Memilih
tombol tutup
Sistem akan menampilkan textbox untuk mengisi
no dokumen, akun debet, jumlah kas, akun kredit dan
keterangan sistem akan menutup aplikasi.
Kondisi Akhir Jika perintah sesuai maka sistem akan masuk kedalam
form kas masuk da keluar maka aktor dapat melakukan
aktivitas didalam sistem.
Use Case Narative Kas Keluar
Tujuan Bidang umum melakukan login dan mengelola
kas keluar.
Deskripsi Sistem ini memungkinkan admin untuk
mengakses
sistem yang ada pada menu utama.
Skenario Utama
Aktor Bidang Umum
Kondisi Awal Bidang umum membuka form kas keluar
Aksi Aktor Reaksi Sistem
1. Aktor Memilih
tombol tambah
2. Aktor Memilih
Tombol batal
3. Aktor Memilih
Tombol simpan
4. Aktor Memilih
Tombol tutup
Sistem akan menampilkan textbox untuk
mengisi no dokumen, akun debet, jumlah kas,
akun kredit dan keterangan sistem akan
menutup aplikasi.
43
Sumber: Hasil Rancangan (2019)
Tabel III.5
Deskripsi Use Case Diagram Perkiraan
Sumber: Hasil Rancangan (2019)
Tabel III.6
Deskripsi Use Case Diagram Laporan
Kondisi Akhir Jika perintah sesuai maka sistem akan masuk
kedalam form kas keluar maka aktor dapat
melakukan aktivitas didalam sistem.
Use Case Narative Perkiraan
Tujuan Bidang umum melakukan login dan mengelola data
perkiraan.
Deskripsi Sistem ini memungkinkan admin untuk mengakses
sistem yang ada pada menu utama.
Skenario Utama
Aktor Bidang umum
Kondisi Awal Bidang umum membuka form perkiraan
Aksi Aktor Reaksi Sistem
1. Aktor Memilih
tombol tambah
2. Aktor Memilih
tombol simpan
3. Aktor Memilih
tombol batal
4. Aktor Memilih
tombol tutup
Sistem akan menampilkan textbox untuk mengisi
kode akun, nama akun, jenis akun dan saldo norma
sistem akan menutup aplikasi
Kondisi Akhir Jika perintah sesuai maka sistem akan masuk kedalam
form perkiraan makaaktor dapat melakukan aktivitas
didalam sistem.
44
Sumber: Hasil Rancangan (2019)
3.3.3. Activity Diagram
Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari
sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak.
Use Case Narative Laporan
Tujuan Bidang umum/ Manajer Wilayah masuk ke form
laporan dan mengisi dari tanggal dan sampai agar bisa
masuk ke menu utama.
Deskripsi Sistem ini memungkinkan admin untuk mengakses
sistem yang ada pada menu utama.
Skenario Utama
Aktor Bidang umum / Manajer Wilayah
Kondisi Awal Bidang umum / Manajer Wilayah membuka aplikasi
pelaporan arus kas masuk
dan keluar
Aksi Aktor Reaksi Sistem
1. Aktor Memilih
tombol lihat
2. Aktor Memilih
tombol tutup
Sistem akan menampilkan textbox untuk mengisi dari
tanggal dan sampai sistem akan melihat dan menutup
aplikasi.
Kondisi Akhir Jika perintah sesuai maka sistem akan masuk kedalam
Form laporan maka aktor dapat melakukan aktivitas
didalam sistem.
45
1. Activity Diagram Melakukan Login
Sumber: Hasil Rancangan (2019)
Gambar III.6
Activity Diagram Login
46
2. Activity Diagram Mengelola Data Pengguna
Sumber: Hasil Rancangan (2019)
Gambar III.7
Activity Diagram Data Pengguna
47
3. Activity Diagram Mengelola Kas Masuk
Sumber: Hasil Rancangan (2019)
Gambar III.8
Activity Diagram Kas Masuk
48
4. Activity Diagram Mengelola Kas Keluar
Sumber: Hasil Rancangan (2019)
Gambar III.9
Activity Diagram Kas Keluar
49
5. Activity Diagram Mengelola Perkiraan
Sumber: Hasil Rancangan (2019)
Gambar III.10
Activity Diagram Perkiraan
50
6. Activity Diagram Melihat Laporan
Sumber: Hasil Rancangan (2019)
Gambar III.11
Activity Diagram Laporan
51
3.4. Desain
Desain merupakan suatu perencanaan atau perancangan yang dilakukan sebelum
pembuatan suatu objek, sistem, komponen, atau struktur.
3.4.1. Entity Relationship Diagram (ERD)
PerkiraanPengguna
Kas Masuk
Kas Keluar Detail Kas Keluar
M
Detail Kas Masuk
no_kas_masuk
tgl_kas_masuk
keterangan id_pengguna
no_dokumen
jumlah_kas_masuk
Mengelola
Mengelola
id_pengguna
nama_pengguna
password
hak_akses
no_kas_keluar
tgl_kas_keluar
keterangan id_pengguna
no_dokumen
jumlah_kas_keluar
no_kas_masuk
Kode_akun
debet
kredit
no_kas_keluar
kode_akun debet
kredit
kode_akunnama_akun
jenis_akun saldo_normal
Berisi
Berisi
1
M
M
M M
1
M
Berisi
Berisi
M
M
M
M
nama_akun
nama_akun
Sumber: Hasil Rancangan (2019)
Gambar III.12
Entity Relationship Diagram Pengelolaan Kas
52
3.4.2. Logical Record Structure (LRS)
Perkiraan
Kode_akun*
nama_akun
jenis_akun
saldo_normal
Kas_Keluar
No_kas_keluar*
tgl_kas_keluar
keterangan
id_pengguna*
no_dokumen
nama_akun
jumlah_kas_keluar
Pengguna
Id_pengguna*
nama_pengguna
password
hak_akses
Detail_Kas_Keluar
no_kas_keluar*
kode_akun*
debet
kredt
Kas_Masuk
No_kas_masuk*
tgl_kas_masuk
keterangan
id_pengguna*
no_dokumen
nama_akun
jumlah_kas_masuk
M M
M
1
Detail_Kas_Masuk
no_kas_masuk*
kode_akun*
debet
kredt
1
M
M M
M
M
M
M
Sumber: Hasil Rancangan (2019)
Gambar III.13
Logical Record Structure Pengelolaan Kas
53
3.4.3. Spesifikasi File
a. Spesifikasi file Tabel Data Pengguna
File ini berfungsi untuk mengelola data pengguna. Adapun penjelasan dari
spesifikasi file tabel pengguna adalah sebagai berikut:
Nama File : Tabel Pengguna
Akronim File : Pengguna
Fungsi : Sebagai pengelola data pengguna
Tipe : File Master
Kunci Field : id_pengguna
Panjang Record : 65 Byte
Software : MySQL
Tabel II1.7.
Spesifikasi File Tabel Data Pengguna
Nama File Tipe Panjang Keterangan
id_pengguna Char 15 Primary, Auto Increment
nama_pengguna Varchar 20
password Char 10
Hak_akses Varchar 20
54
b. Spesifikasi file Tabel Perkiraan
Tabel jurnal perkiraan ini berfungsi untuk menginput data perkiraan. Adapun
penjelasan dari spesifikasi file tabel jurnal perkiraan adalah sebagai berikut:
Nama File : Tabel Perkiraan
Akronim File : Perkiraan
Fungsi : Menginput Perkiraan
Tipe : File Master
Kunci Field : _
Panjang Record : 66 Byte
Software : MySQL
Tabel III.8.
Spesifikasi File Tabel Perkiraan
Nama File Tipe Panjang Keterangan
kode_akun Char 15 Primary, Auto Increment
nama_akun Varchar 30
jenis_akun Varchar 15
saldo_normal Varchar 6
c. Spesifikasi file Tabel Kas Masuk
Tabel ini berfungsi untuk menginput transaksi kas masuk. Adapun penjelasan
dari spesifikasi file tabel kas masuk adalah sebagai berikut:
Nama File : Tabel Kas Masuk
Akronim File : Kas_Masuk
Fungsi : Menginput Kas Masuk
Tipe : File Transaksi
55
Kunci Field : _
Panjang Record : 145 Byte
Software : MySQL
Tabel III.9.
Spesifikasi File Kas Masuk
Nama File Tipe Panjang Keterangan
no_kas_masuk Char 15 Primary, Auto Increment
tgl_kas_masuk Date
keterangan Varchar 100
id_pengguna Char 15
no_dokumen Char 15
jumlah_kas_masuk Double
d. Spesifikasi file Tabel Detail Kas Masuk
File ini berfungsi untuk mengelola transaksi detail kas masuk. Adapun
penjelasan dari spesifikasi file tabel pengguna adalah sebagai berikut:
Nama File : Tabel Detail Kas Masuk
Akronim File : Detail_Kas_Masuk
Fungsi : Sebagai pengelola transaksi detail kas masuk
Tipe : File Transaksi
Kunci Field : _
Panjang Record : 30 Byte
Software : MySQL
56
Tabel II1.10.
Spesifikasi File Tabel Detail Kas Masuk
Nama File Tipe Panjang Keterangan
no_masuk Char 15 Primary, Auto Increment
kode_akun Char 15 Foreign Key
debet Double
kredit Double
e. Spesifikasi file Tabel Kas Keluar
File ini berfungsi untuk menginput transaksi kas keluar. Adapun penjelasan
dari spesifikasi file tabel kas keluar adalah sebagai berikut:
Nama File : Tabel Kas Keluar
Akronim File : Kas_Keluar
Fungsi : Menginput transaksi kas keluar
Tipe : File Transaksi
Kunci Field : _
Panjang Record : 145 Byte
Software : MySQL
57
Tabel III.11.
Spesifikasi File Tabel Kas Keluar
Nama File Tipe Panjang Keterangan
no_kas_keluar Char 15 Primary, Auto Increment
tgl_kas_keluar Date Foreign Key
keterangan Varchar 100
Id_pengguna Char 15
no_dokumen Char
jumlah_kas_keluar Double
f. Spesifikasi file Tabel Detail Kas Keluar
Tabel detail kas keluar ini berfungsi untuk menginput detail kas keluar.
Adapun penjelasan dari spesifikasi file tabel detail kas keluar adalah sebagai berikut:
Nama File : Tabel Detail Kas Keluar
Akronim File : Detail_Kas_Keluar
Fungsi : Menginput Detail Kas Keluar
Tipe : File Transaksi
Kunci Field : _
Panjang Record : 30 Byte
Software : MySQL
Tabel III.12.
Spesifikasi File Tabel Detail Kas Keluar
Nama File Tipe Panjang Keterangan
no_kas_keluar Char 15 Primary, Auto Increment
kode_akun Char 15 Foreign Key
debet Double
kredit Double
58
3.4.4. Sequence Diagram
1. Kas Masuk
Sumber: Hasil Rancangan (2019)
Gambar III.14
Sequence Diagram Kas Masuk
59
2. Kas Keluar
Sumber: Hasil Rancangan (2019)
Gambar III.15
Sequence Diagram Kas Keluar
60
3.4.5. Deployment Diagram
Sumber: Hasil Rancangan (2019)
Gambar III.16
Deployment Diagram Pengelolaan Kas
61
3.4.6. User Interface
1. User Interface Melakukan Login
Sumber: Hasil Rancangan (2019)
Gambar III.17
User Interface Login
62
2. User Interface Menu Utama
Sumber: Hasil Rancangan (2019)
Gambar III.18
User Interface Menu Utama
63
3. User Interface Mengelola Data Pengguna
Sumber: Hasil Rancangan (2019)
Gambar III.19
User Interface Data Pengguna
64
4. User Interface Mengelola Perkiraan
Sumber: Hasil Rancangan (2019)
Gambar III.20
User Interface Perkiraan
65
5. User Interface Mengelola Kas Masuk
Sumber: Hasil Rancangan (2019)
Gambar III.21
User Interface Form Kas Masuk
66
6. User Interface Mengelola Kas Keluar
Sumber: Hasil Rancangan (2019)
Gambar III.22
User Interface Form Kas Keluar
67
7. User Interface Melihat Laporan Kas Masuk
Sumber: Hasil Rancangan (2019)
Gambar III.23
User Interface Melihat Laporan Kas Masuk
68
8. User Interface Melihat Laporan Kas Keluar
Sumber: Hasil Rancangan (2019)
Gambar III.24
User Interface Melihat Laporan Kas Keluar
69
3.5. Implementasi
3.5.1. Code Generation
1. Transaksi Kas Masuk
package form;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.ListIterator;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JOptionPane;
import model.KasMasuk;
import model.DetailKasMasuk;
import model.Perkiraan;
import java.awt.Font;
import java.text.NumberFormat;
import java.util.Date;
import java.util.Locale;
import javax.swing.table.DefaultTableModel;
import main.PengelolaanKas;
public class FormKasMasuk extends javax.swing.JFrame {
public FormKasMasuk() {
initComponents();
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize();
int x, y;
x = (int) ((d.getWidth() - getSize().width) / 2);
y = (int) ((d.getHeight() - getSize().height) / 2);
tm1 = (DefaultComboBoxModel) takun1.getModel();
tm2 = (DefaultComboBoxModel) takun2.getModel();
model = (DefaultTableModel) tblkasmasuk.getModel();
tblkasmasuk.getTableHeader().setFont(new Font("Arial", 1, 16));
tblkasmasuk.setRowHeight(30);
setLocation(x, y);
daftarKasMasuk();
bersihInputan();
daftarAkun();
aktifNonaktif();
MyTab.setSelectedIndex(1);
}
70
private void btnsimpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if ("".equals(tno_kas_masuk.getText())
|| "".equals(ttanggal_kas_masuk.getText())
|| "".equals(tketerangan.getText())
|| "".equals(tno_dokumen.getText())
|| "".equals(tjumlah_kas.getText())
|| "".equals(takun1.getSelectedItem().toString())
|| "".equals(takun2.getSelectedItem().toString())) {
JOptionPane.showMessageDialog(rootPane, "Mohon isi dulu semua data",
"Error", JOptionPane.ERROR_MESSAGE);
return;
}
if (!PengelolaanKas.validasiInput(tjumlah_kas.getText(), "[0..9\\.]{1,7}$")) {
tjumlah_kas.requestFocus();
JOptionPane.showMessageDialog(rootPane, "Jumlah kas hanya boleh berupa
angka", "Galat", JOptionPane.ERROR_MESSAGE);
return;
}
kasMasuk.setNoKasMasuk(tno_kas_masuk.getText());
kasMasuk.setTglKasMasuk(new java.sql.Date(new java.util.Date().getTime()));
kasMasuk.setKeterangan(tketerangan.getText());
kasMasuk.setNoDokumen(tno_dokumen.getText());
kasMasuk.setJumlahKasMasuk(Double.parseDouble(tjumlah_kas.getText()));
kasMasuk.setIdPengguna(PengelolaanKas.id_pengguna);
if ("Tambah".equals(status)) {
String[] Akun;
if (kasMasuk.tambahKasMasuk() > 0) {
detailKasMasuk.setNoKasMasuk(tno_kas_masuk.getText());
Akun = takun1.getSelectedItem().toString().split("-");
detailKasMasuk.setKodeAkun(Akun[0]);
detailKasMasuk.setDebet(Double.parseDouble(tjumlah_kas.getText()));
detailKasMasuk.setKredit(0);
detailKasMasuk.tambahDetailKasMasuk();
Akun = takun2.getSelectedItem().toString().split("-");
detailKasMasuk.setKodeAkun(Akun[0]);
detailKasMasuk.setDebet(0);
detailKasMasuk.setKredit(Double.parseDouble(tjumlah_kas.getText()));
detailKasMasuk.tambahDetailKasMasuk();
JOptionPane.showMessageDialog(rootPane, "Data kasmasuk berhasil
disimpan!", "Info", JOptionPane.INFORMATION_MESSAGE);
} else {
71
JOptionPane.showMessageDialog(rootPane, "Data kasmasuk gagal
disimpan.\n" + kasMasuk.getPesanError(), "Error",
JOptionPane.ERROR_MESSAGE);
return;
}
}
this.status = "";
this.no_kas_masuk = "";
bersihInputan();
daftarKasMasuk();
aktifNonaktif();
MyTab.setSelectedIndex(1);
}
private void btnbatalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.status = "";
this.no_kas_masuk = "";
bersihInputan();
aktifNonaktif();
MyTab.setSelectedIndex(1);
}
private void btntutupActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
dispose();
}
private void tnm_akun2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btncariActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (tgl1.getDate() == null || tgl2.getDate() == null) {
daftarKasMasuk();
} else {
daftarKasMasuk(tgl1.getDate(), tgl2.getDate());
}
}
private void tnm_akun1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void takun1ItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
try {
String akun = takun1.getSelectedItem().toString();
perkiraan = perkiraan.cariKodeAkun(akun);
tnm_akun1.setText(perkiraan.getNamaAkun());
} catch (Exception ex) {
}
}
72
private void takun2ItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
try {
String akun = takun2.getSelectedItem().toString();
perkiraan = perkiraan.cariKodeAkun(akun);
tnm_akun2.setText(perkiraan.getNamaAkun());
} catch (Exception ex) {
}
3. Transaksi Kas Keluar
import java.awt.Dimension;
import java.awt.Toolkit;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.ListIterator;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JOptionPane;
import model.KasKeluar;
import model.DetailKasKeluar;
import model.Perkiraan;
import java.awt.Font;
import java.text.NumberFormat;
import java.util.Date;
import java.util.Locale;
import javax.swing.table.DefaultTableModel;
import main.PengelolaanKas;
public class FormKasKeluar extends javax.swing.JFrame {
String status = "";
String no_kas_keluar = "";
NumberFormat nf = NumberFormat.getCurrencyInstance(new Locale("id",
"ID"));
KasKeluar kasKeluar = new KasKeluar();
DetailKasKeluar detailKasKeluar = new DetailKasKeluar();
Perkiraan perkiraan = new Perkiraan();
DefaultComboBoxModel tm1 = null;
DefaultComboBoxModel tm2 = null;
DefaultTableModel model = null;
public FormKasKeluar() {
initComponents();
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize();
int x, y;
73
x = (int) ((d.getWidth() - getSize().width) / 2);
y = (int) ((d.getHeight() - getSize().height) / 2);
tm1 = (DefaultComboBoxModel) takun1.getModel();
tm2 = (DefaultComboBoxModel) takun2.getModel();
model = (DefaultTableModel) tblkaskeluar.getModel();
tblkaskeluar.getTableHeader().setFont(new Font("Arial", 1, 16));
tblkaskeluar.setRowHeight(30);
setLocation(x, y);
daftarKasKeluar();
bersihInputan();
daftarAkun();
aktifNonaktif();
MyTab.setSelectedIndex(1);
}
private void daftarKasKeluar(Date tgl1, Date tgl2)
private void daftarAkun()
private void aktifNonaktif()
private void bersihInputan()
private void btntambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.status = "Tambah";
this.no_kas_keluar = "";
bersihInputan();
aktifNonaktif();
tno_kas_keluar.setText(kasKeluar.buatNoKasKeluar());
tno_dokumen.requestFocus();
MyTab.setSelectedIndex(0);
private void btnsimpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if ("".equals(tno_kas_keluar.getText())
|| "".equals(ttanggal_kas_keluar.getText())
|| "".equals(tketerangan.getText())
|| "".equals(tno_dokumen.getText())
|| "".equals(tjumlah_kas.getText())
|| "".equals(takun1.getSelectedItem().toString())
|| "".equals(takun2.getSelectedItem().toString())) {
JOptionPane.showMessageDialog(rootPane, "Mohon isi dulu semua
data", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
private void btnbatalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.status = "";
this.no_kas_keluar = "";
bersihInputan();
74
aktifNonaktif();
MyTab.setSelectedIndex(1);
}
private void btntutupActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
dispose();
}
private void tnm_akun2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btncariActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (tgl1.getDate() == null || tgl2.getDate() == null) {
daftarKasKeluar();
} else {
daftarKasKeluar(tgl1.getDate(), tgl2.getDate());
}
}
private void tnm_akun1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void takun1ItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
try {
String akun = takun1.getSelectedItem().toString();
perkiraan = perkiraan.cariKodeAkun(akun);
tnm_akun1.setText(perkiraan.getNamaAkun());
} catch (Exception ex) {
}
}
private void takun2ItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
try {
String akun = takun2.getSelectedItem().toString();
perkiraan = perkiraan.cariKodeAkun(akun);
tnm_akun2.setText(perkiraan.getNamaAkun());
} catch (Exception ex) {
}
}
75
3.5.2.Blackbox Testing
1. Login
Tabel III.12.
Blackbox Testing Tabel Login
No. Skenario
pengujian
Test case Hasil yang
diharapkan
Hasil
pengujian
Kesimpula
n
1. Id Pengguna
dan
Password
tidak diisi
kemudian
klik tombol
login
Id Pengguna:
(kosong)
Password:
(kosong)
Sistem akan
menolak akses dan
menampilkan pesan
“Id Pengguna dan
Password Tidak
Boleh Kosong”
Sesuai
harapan
Valid
2. Mengetikkan
Id Pengguna
dan
Password
tidak diisi
atau kosong
kemudian
klik tombol
login
Id Pengguna:
BidangUmum
Password :
(kosong)
Sistem akan
menolak akses dan
menampilkan pesan
“Id Pengguna dan
Password Tidak
Boleh Kosong”
Sesuai
harapan
Valid
3. Id Pengguna
tidak di isi
(kosong) dan
Password
diisi
kemudian
klik tombol
login
Id Pengguna:
(kosong)
Password:
123456
Sistem akan
menolak
Akses dan
menampilkan pesan
“Id Pengguna dan
Password Tidak
Boleh Kosong”
Sesuai
harapan
Valid
4. Mengetikkan
salah satu
kondisi salah
pada Id
Pengguna
atau
Password
kemudian
klik tombol
login
Id Pengguna:
BidangUmum
(benar)
Password:
123457
(salah)
Sistem akan
menolak
akses akan kembali
diarahkan ke
halaman login
dan menampilkan
pesan “Password
Salah
!!”
Sesuai
harapan
Valid
76
5. Mengetikkan
salah satu
kondisi salah
pada Id
Pengguna
atau
Password
kemudian
klik tombol
login
Id Pengguna:
BidangUmum
(salah)
Password:
123456
(benar)
Sistem akan
menolak
akses akan kembali
diarahkan ke
halaman login
dan menampilkan
pesan “Id Pengguna
Salah
!!”
Sesuai
harapan
Valid
6. Mengetikkan
Id Pengguna
dan
Password
dengan data
yang benar
kemudian
klik tombol
login
Id Pengguna :
BidangUmum (benar)
Password:
123456
(benar)
Sistem akan
menerima akses
login dan akan
menampilkan pesan
“ Selamat Datang
Budi Siswanto Anda
Login sebagai
Admin”.
Sesuai
harapan
Valid
2. Data Pengguna
Tabel III.13.
Blackbox Testing Tabel Pengguna
No. Skenario
pengujian
Test case Hasil yang
diharapkan
Hasil
peng
ujian
Kesimpulan
1. Tambah data
pengguna
(data yang
diinput tidak
lengkap lalu
klik “simpan”
Id Pengguna:
BidangUmum
Nama Pengguna:
(Kosong)
Password: 123456
Sistem tidak akan
menyimpan ketika
kolom tidak terisi
semua, maka akan
menampilkan pesan
“Mohon Isi Data
Dulu”
Sesu
ai
hara
pan
Valid
2. Tambah data
pengguna
simpan
dengan benar
(tidak ada
kolom yang
kosong) lalu
klik simpan
Id Pengguna:
BidangUmum
Nama Pengguna:
Budi Siswanto
Password: 123456
Sistem sukses input
data pengguna,
maka menampilkan
pesan “Data
Berhasil Disimpan”
klik “ok”.
Sesu
ai
hara
pan
Valid
77
3. Sistem dapat
melakukan
proses ubah
pengguna
pada program
dengan
mengklik
tombol “ubah”
Id Pengguna:
BidangUmum
Nama Pengguna:
(Ubah menjadi “
Budi Santoso”)
Password: 123456
Sistem akan
menampilkan
proses ubah, lalu
klik simpan maka
akan menampilkan
pesan “Data
Berhasil Diubah”
Sesu
ai
hara
pan
Valid
4. Sistem dapat
melakukan
proses hapus
data pengguna
dengan
mengklik
tombol
“hapus” ,
maka sistem
akan
memberikan
peringatan
“Hapus data
ini?”
Sistem sukses,
berhasil menghapus
data pengguna yang
dipilih maka akan
menapilkan pesan
“Data Berhasil
Dihapus”
Sesu
ai
hara
pan
Valid
3. Kas Masuk
Tabel III.14.
Blackbox Testing Tabel Kas Masuk
No. Skenario
pengujian
Test case Hasil yang
diharapkan
Hasil
pengujian
Kesimpulan
1. Tambah
data kas
masuk (
kosongkan
semua
kolom), lalu
klik
“simpan”
Semua kolom
(kosong)
Sistem tidak akan
menyimpan ketika
kolom tidak terisi
semua, dan
menampilkan
pesan “Mohon isi
dahulu semua
data”
Sesuai
harapan
Valid
2. Tambah
data kas
masuk ( data
yang diinput
tidak
lengkap),
lalu klik
Beberapa
kolom terisi
Kolom
Keterangan:
(kosong)
Sistem tidak akan
menyimpan ketika
kolom tidak terisi
semua, dan
menampilkan
pesan “Mohon isi
dahulu semua
Sesuai
harapan
Valid
78
“simpan” data”
3. Tambah
data kas
masuk
simpan
dengan
benar (tidak
ada kolom
yang
kosong) lalu
klik
“simpan”
Semua data
pada kolom
terisi
Sistem sukses
input data kas
masuk dan
menampilkan
pesan “Data
berhasil disimpan”
Sesuai
harapan
Valid
2. Kas Keluar
Tabel III.15.
Blackbox Testing Tabel Kas Keluar
No. Skenario
pengujian
Test case Hasil yang
diharapkan
Hasil
pengujian
Kesimpulan
1. Tambah
data kas
keluar (
kosongkan
semua
kolom), lalu
klik
“simpan”
Semua kolom
(kosong)
Sistem tidak akan
menyimpan ketika
kolom tidak terisi
semua, dan
menampilkan
pesan “Mohon isi
dahulu semua
data”
Sesuai
harapan
Valid
2. Tambah
data kas
keluar ( data
yang diinput
tidak
lengkap),
lalu klik
“simpan”
Beberapa
kolom terisi
Kolom
Keterangan:
(kosong)
Sistem tidak akan
menyimpan ketika
kolom tidak terisi
semua, dan
menampilkan
pesan “Mohon isi
dahulu semua
data”
Sesuai
harapan
Valid
3. Tambah
data kas
keluar
simpan
dengan
benar (tidak
ada kolom
yang
kosong) lalu
klik
“simpan”
Semua data
pada kolom
terisi
Sistem sukses
input data kas
keluar dan
menampilkan
pesan “Data
berhasil disimpan”
Sesuai
harapan
Valid
79
2.5.3. Spesifikasi Hardware dan Software
Perangkat keras (hardware) suatu bagian terpenting yang akan digunakan
dalam menjalankan software, dalam pemiliha perangkat keras kita harus
memperkirakan apa saja yang harus digunakan agar berjalan dengan baik.
Bagian penting lain yang mendukung program adalah perangkat lunak
(software) yang digunakan dalam mengeksekusi program aplikasi untuk
menjalankan program. Berikut ini adalah spesifikasi hardware dan software
yang digunakan dalam program pengelolaan kas.
Tabel III.16.
Spesifikasi Hardware dan Software