Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
23
BAB III
ANALISIS SISTEM BERJALAN
3.1. Tinjauan Perusahaan
Suatu perusahaan di peradaban modern ini memiliki visi dan misi yang
berbeda-beda. Secara umum tujuan dari setiap perusahaan adalah untuk mencari
keuntungan yang besar. PT. Sintas Kurama Perdana merupakan salah satu
Perusahaan yang terletak di Kawasan Industri Kujang Cikampek (KIKC). Banyak
diantaranya cara kerja di PT. Sintas Kurama Perdana yang masih menggunakan
sistem sederhana atau manual, dimana pada proses pembelian bahan baku dan
pembayarannya masih rentan kehilangan data seperti menggunakan media kertas
dalam pencatatannya, perhitungan pembayaran hutang tidak sesuai dengan
pembelian, keterlambatan pembayaran hutang dan lain sebagainya. Melihat hal
tersebut dapat berdampak pada kemajuan dan perkembangan efisiensi dan efektifitas
pekerjaan.
3.1.1. Sejarah Institusi/Perusahaan
PT. Sintas Kurama Perdana adalah produsen Asam Formiat pertama dan
satu satunya di Asia Tenggara yang berdiri sejak tahun 1986. Sejak tahun 1980 PT
Pupuk Kujang Persero telah mulai memikirkan dan mengadakan upaya-upaya ke
arah pengembangan industri yang merupakan salah satu sasaran pengembangan
perusahaan corporate plan. Pada tahun 1982 dicanangkan beberapa proyek, antara
lain proyek Pupuk Kujang II dan proyek diversifikasi seperti Asam Formiat, Asam
Nitrat, Hydrogen Peroksida dan lain- lain. Atas dasar persetujuan Menteri
Perindustrian dan Menteri Keuangan maka PT Pupuk Kujang Persero dan PT
24
Saturma Wicaksana mendirikan usaha patungan, dan pemberian menjadi PT Sintas
Kurama Perdana yang disetujui pada tanggal 25 November 1986. Perusahaan
diresmikan oleh Presiden Soeharto, bersamaan dengan beberapa perusahaan nasional
lainnya. Lokasi Kantor pusat terletak di dalam Kawasan Industri Kujang Cikampek
KIKC di Jln. Jendral Ahmad Yani No. 39, PO. BOX. 66 Cikampek 41373,
Kabupaten Karawang, Jawa Barat.
Visi dan Misi Perusahaan :
Visi : Menjadi Perusahaan yang unggul dan terpercaya di bidang Industri Kimia dan
Trading.
Misi :
1. Memproduksi Asam Formiat yang berkualitas tinggi, kompetitif dan ramah
lingkungan serta mengutamakan kepuasan pelanggan.
2. Memasarkan produk kimia unggulan yang dibutuhkan pelanggan untuk
pengembangan perusahaan.
3. Mengembangkan produk Diversifikasi untuk meningkatkan nilai tambah bagi
perusahaan dan dapat mensejahterakan karyawan serta Stake Holder lainnya.
3.1.2. Struktur Organisasi dan Fungsi
Gambar III.1.
Struktur Organisasi Perusahaan
DIREKSI UTAMA
DIREKTUR KEUANGAN
DIVISI
PEMASARAN
DIVISI PRODUKSI
DAN
PENGEMBANGAN
DIVISI TEKNIK
DAN
PEMELIHARAAN
DIVISI ADM. &
KEUANGAN BAGIAN KETENAGA
KERJAAN
25
Adapun fungsi dari setiap struktur organisasi tersebut ialah :
1. Direksi Utama adalah untuk melaksanakan pengurusan Perusahaan sesuai
kepentingan dan tujuan Perusahaan dan bertindak selaku pimpinan dalam
pengurusan tersebut.
2. Direktur Keuangan adalah peran yang diberi amanah untuk
mengelola keuangan (manajemen keuangan) mempunyai tugas pokok untuk
menyelenggarakan dan mengkoordinasikan pelaksanaan kegiatan pengelolaan
anggaran, akuntansi dan pelaporan keuangan, serta perbendaharaan
3. Divisi Pemasaran sebagai peran untuk mensosialisasikan produk atau jasa yang
ditawarkan perusahaan agar lebih dikenal
4. Divisi Produksi dan Pengembangan adalah peran yang paling banyak
membutuhkan pekerja, karena di setiap pekerjaan harus melewati dahulu
standarisasi perusahaan. Agar produk yang dihasilkan sesuai seperti yang
diinginkan
5. Bagian keuangan bertugas untuk mengelola keuangan perusahaan, setiap hal
terkait keuangan baik itu dalam hal produksi atau pengeluaran serta pendapatan
maka akan menjadi tanggung jawab bagian keuangan
6. Bagian ketenaga kerjaan bertugas membantu bagian produksi untuk melancarkan
pekerjaan dari penerimaan pesanan sampai selesainya produk
3.2. Tinjauan Kasus
3.2.1. Prosedur Sistem Berjalan
Pembuatan prosedur sistem berjalan untuk mengetahui sebuah proses
bisnis dibidang pengadaan barang di PT Sintas Kurama Perdana agar nantinya dapat
dibuatkan sebuah rancangan untuk program usulan, dan memperbaiki sistem yang
26
sudah ada, program usulan nantinya diharapkan dapat sangat membantu PT Sintas
Kurama Perdana dalam melakukan pekerjaannya dibidang bagian pengadaan, oleh
karena itu pentingnya mengidentifikasi langsung cara kerja yang terjadi di PT Sintas
Kurama Perdana. Diantara proses bisnis berjalan yang di jalankan oleh PT Sintas
Kurama Perdana ada 5 (lima) prosedur yang dijalankan dibidang pengadaan barang,
diantaranya :
1. Prosedur permintaan barang.
2. Prosedur Pembelian.
3. Prosedur pengiriman barang.
4. Prosedur Penagihan dan Pembayaran.
5. Prosedur Pembuatan Laporan.
Adapun penjabaran diantara prosedur berikut ialah sebagai berikut :
1. Prosedur permintaan barang.
Bagian Produksi mengajukan permintaan bahan baku dengan mengisi P3B (5R),
kemudian P3B diserahkan kebagian pengadaan untuk ditanda tangani. Setelah
menandatangani P3B, bagian pengadaan menyerahkan P3B rangkap 2 kepada
bagian Keuangan, rangkap 3 dan 5 diserahkan pada bagian produksi, rangkap 4
diserahkan kepada bagian pergudangan, rangkap 1 diarsipkan. Setelah itu bagian
pengadaan mengisi form pengajuan calon rekanan, kemudian diserahkan kepada
manager untuk disetujui, setelah disetujui form tersebut dikembalikan dan
diarsipkan.
2. Prosedur Pembelian.
Bagian pengadaan melakukan penawaran harga dengan mengirimkan Surat
Permohonan Penawaran Harga (SPPH) kepada supplier, kemudian supplier
mengirimkan SPPH kepada bagian pengadaan, setelah SPPH diterima bagian
27
pengadaan membuat Surat Berita Acara Pembukaan Penawaran Harga (SBAPPH)
kemudian diserahkan kepada supplier, setelah terjadi kesepakatan maka bagian
pengadaan membuat surat pembelian atau PO (Purchase Order), kemudian PO
diserahkan kepada manager keuangan untuk di acc, setelah di acc, PO biru, kuning
diserahkan kepada bagian keuangan. PO asli diserahkan pada supplie untuk
diarsipkan.
3. Prosedur pengiriman barang.
Setelah menerima PO, supplier mengirimkan barang beserta dengan faktur dan
surat jalan, dan PO asli kepada bagian gudang, kemudian bagian gudang
melakukan pengecekan, setelah data dan barang sesuai, bagian gudang
menyerahkan PO asli, faktur 2R dan surat jalan 2R kepada bagian keuangan,
sedangkan faktur asli, dan surat jalan diserahkan kembali ke supplier.
4. Prosedur Penagihan dan Pembayaran.
Supplier mengirimkan invoice, faktur asli, faktur pajak, dan surat jalan kepada
bagian pengadaan, lalu bagian pengadaan mengecek kelengkapannya, diantaranya
harus ada invoice, faktur asli, faktur pajak, dan surat jalan. Setelah disesuaikan
bagia pengadaan membuat voucher (bukti kas keluar), lalu voucher akan
diserahkan kepada bagian keuangan untuk segera melakukan pembayaran via
transfer kepada supplier, lalu bukti pembayaran diserahkan ke bagian pengadaan
untuk dibukukan, setelah dibukukan kemudian diarsipkan.
5. Prosedur Pembuatan Laporan.
Berdasarkan hasil pembelian bagian pengadaan akan rutin melakukan rekapitulasi
harian dan diserahkan keada bagian keuangan untuk di tanda tangani, setelah
ditanda tangani hasil rekapitulasi harian akan diberikan kembali ke bagian
pengadaan untuk nantinya dibuatkan laporan dan mengarsipkan hasil laporannya.
28
3.2.2. Activity Diagram
1. Activity Diagram Prosedur permintaan barang
Gambar III.2.
Activity Diagram Prosedur permintaan barang
Keterangan : P3B : Permintaan Pembelian dan Penawaran Barang
RK : Rangkap
FPCR : Formulir Pengajuan Calon Rekanan
2. Activity Diagram Prosedur Pembelian
act permintaan barang
manajerpergudangankeuanganpengadaanproduksi
mulai
pengajuan P3B
mengisi P3B (5rk)
menyerahkan P3B (5rk) menerima P3B (5rk)
menandatangani P3B (5rk)
menyerahkan P3B rk 3 & 5
arsip rk 1
menyerahkan rk 2
menyerahkan rk 4
menerima P3B rk 3 & 5
membuat FPCR
menyerahkan FPCR
menerima P3B rk 2
menerima P3B rk 4
menerima FPCR
acc FPCR
menyerahkan FPCR acc
menerima FPCR
selesai
29
Gambar III.3.
Activity Diagram Prosedur Pembelian
Keterangan : SPPH : Surat Permintaan Penawaran Harga
SPH : Surat Penawaran Harga
SBAPH : Surat Berita Acara Penawaran Harga
SP/PO : Surat Pembelian/Purchase Order
act pembelian
bagian keuanganmanajer keuangansupplierbagian pengadaan
mulai
pengajuan penawaran harga
mengirimkan SPPH
menerima SPPH
mengirimkan SPH
menerima SPH
membuat SBAPPH
menyerahkan SBAPPH
menerima SBAPPH
ACC SBAPPHmenerima SBAPPH ACC
membuat SP/PO 5R
mengirim SP/PO 3rk menerima SP/PO 3rk
ACC SP/PO3rkmenerima SP/PO ACC
mengirim SP/PO asli
mengirim PO biru, kuning
menerima SP/PO biru,
kuning
menerima SP/PO asli
mengarsipkan SP/PO asli
selesa i
30
3. Activity Diagram Prosedur Pengiriman Barang
Gambar III.4.
Activity Diagram Prosedur Pengiriman Barang
Keterangan : SJ : Surat Jalan
PO : Purchase Order
act pengiriman barang
bagian keuanganbagian gudangsupplier
mulai
mengirimkan barang, faktur, SJ, PO asli
menerima barang, faktur, SJ, PO asli
mengecek barang
menyerahkan faktur asli dan SJ
menyerahkan PO asli, fakturi dan SJ
menerima faktur asli dan SJ
menerima PO asli, faktur, dan SJ
selesa i
31
4. Activity Diagram Prosedur Penagihan dan Pembayaran
Gambar III.5.
Activity Diagram Prosedur Penagihan dan Pembayaran
Keterangan : FA : Faktur Asli
FP : Faktur Pajak
SJ : Surat Jalan
TTD : Tanda Tangan
act penagihan dan pembayaran
bagian keuanganbagian pengadaansupplier
mulai
mengirimkan invoice, FA, FP, dan SJ
menerima invoice, FA, FP, dan SJ
mengecek kelengkapan
membuat voucher dan di ttd
memberikan voucher yang di ttd
menerima voucher
melakukan transfer pembayaran
menyerahkan bukti pembayaran
menerima transfer pembayaran
menerima bukti pembayaran
mencatat bukti pembayaran harian
mengarsipkan bukti pembayaran
selesa i
32
5. Activity Diagram Prosedur Pembuatan Laporan
Gambar III.6.
Activity Diagram Prosedur Pembuatan Laporan
Keterangan : TTD : Tanda Tangan
act laporan
bagian keuanganbagian pengadaan
mulai
melakukan rekapitulasi harian
memberikan rekapitulasi harian
menerima rekapitulasi harian
mengecek hasil rekapitulasi harian
menandatangani hasil rekapitulasi harian
memberikan hasil rekapitulasi harian yang
di ttd
menerima hasil rekapitulasi yang di ttd
membuat laporan
mengarsipkan laporan
selesa i
33
3.2.3. Spesifikasi Dokumen Masukan
1. Surat Jalan
Fungsi : untuk bukti pengiriman barang
Sumber : administrasi
Tujuan : Bagian Gudang
Media : Kertas
Jumlah : 1 lembar
Frekuensi : setiap pengiriman barang
Bentuk : lihat lampiran III.1.
2. Faktur Pajak
Fungsi : Untuk kelengkapan dokumen tagihan
Sumber : Supplier
Tujuan : bagian keuangan
Media : kertas
Jumlah : 2 lembar
Frekuensi : setiap terjadi pembelian barang
Bentuk : lihat lampiran III.1.
3. Invoice
Fungsi : Sebagai informasi besarnya tagihan yang harus dibayar
Sumber : Supplier
Tujuan : Bagian Keuangan
Media : Kertas
Jumlah : 1 lembar
Frekuensi : Setiap terjadi pembelian
Bentuk : lihat lampiran III.1.
34
3.2.4. Spesifikasi Dokumen Keluaran
1. Surat P3B (Permintaan Pembelian dan Penawaran Barang)
Fungsi : Untuk pengajuan pembelian barang
Sumber : User
Tujuan : Bagian Pengadaan
Media : Kertas
Jumlah : 5 lembar
Frekuensi : Setiap pengajuan pembelian barang
Bentuk : lihat lampiran III.1.
2. Surat Permohonan Penawaran Harga
Fungsi : Memberikan bahan pertimbagan sebelum melakukan pembelian
Sumber : Bagian Pengadaan
Tujuan : Supplier
Media : Kertas
Jumlah : 1 lembar
Frekuensi : Setiap melakukan pembelian
Bentuk : lihat lampiran III.1.
3. Purchase Order (Surat Pembelian)
Fungsi : Untuk menunjukan barang yang ingin dibeli
Sumber : Bagian Pengadaan
Tujuan : Supplier
Media : Kertas
Jumlah : 3 Lembar
Frekuensi : Setiap melakukan pembelian
Bentuk : lihat lampiran III.1.
35
3.2.5. Permasalahan Pokok
Didalam usaha “PT Sintas Kurama Perdana” yang masih menggunakan
sistem manual seringkali terjadi masalah, diantaranya :
1. Saat pembuatan laporan masih dilakukan dengan cara mengumpulkan arsip,
setiap proses transaksi dan pencatatan nya pun masih menggunakan sistem
manual.
2. Sering mengakibatkan terjadinya salah hitung dan sebagainya, resiko
terjadinya kehilangan ataupun sobek dikarenakan datanya yang masih dalam
bentuk kertas biasa dan tidak ada pencatatan laporan stok barang, sehingga
membutuhkan waktu yang lama ketika akan memesan barang kepada
pemasok.
3. Bagian pengadaan dan bagian keuangan sering terjadi kesalah pahaman
karena kesalahan pencatatan pada laporan.
3.2.6. Pemecahan Masalah
Berkaitan dengan masalah yang masih manualisasi di dalam pencatatan
laporan pembeliannya, kami berkontribusi untuk :
1. Membuat program aplikasi yang dapat menginputkan data barang yang
dibeli, sehingga pada saat terjadi pembelian maka langsung tercatatkan di
aplikasi ini.
2. Pada saat pembuatan laporan per periode tidak lagi harus mencari arsip-arsip
lama, melainkan langsung menginputkan data pembelian pada saat itu juga,
saat terjadi transaksi.
3. Bagian pengadaan dan bagian keuangan konsisten menggunakan program
usulan dari penulis, keuntungannya bagian pengadaan barang, dan bagian
36
keuangan akan mudah saat akan menginput dan mengecek laporan perbulan
yang sudah tersimpan di aplikasi.
3.3. Analisis Kebutuhan Software
Analisa kebutuhan adalah suatu proses untuk mendapatkan informasi, mode,
spesifikasi tentang perangkat lunak yang diinginkan pengguna. Pengguna dan
pembuat perangkat lunak ikut terlibat aktif dalam tahap ini, informasi dari
penggunalah yang akan menjadi acuan untuk melakukan desain perangkat lunak.
Analisis kebutuhan merupakan satu diantara banyak proses aktifitas pada proses
rekayasa untuk mengetahui dan memahami permasalahan dari sistem yang sedang
berjalan. Faktor yang harus dipenuhi ketika melakukan analisis kebutuhan ini, yaitu
lengkap, detail dan benar. Analisis kebutuhan yang dilakukan terhadap perangkat
lunak akan menghasilkan spesifikasi perangkat lunak tersebut.
3.3.1. Analisis Kebutuhan
A. Bagian Pengadaan
A.1. Login
A.2. Mengelola Pembelian
A.3. Mengelola Pembayaran
A.4. Mengelola Supplier
A.5. Melihat Laporan
B. Bagian Keuangan
B.1. Login
B.2. Mengelola Perkiraan
B.3. Membuat Jurnal
37
B.4. Melihat Laporan
B.5. Mengelola Pengguna
3.3.2. Usecase Diagram
1. Usecase Diagram Bagian Pengadaan
Gambar III.7.
Usecase Diagram Bagian Pengadaan
uc bagian pengadaan
bag pengadaan
login
mengelola barang
mengelola pembelian
melihat laporan
mengelola supplier
mengelola pembayaran
mencari pembayaran
melihat pembayaranmenambah
pembayaran
melihat pembelian
mengubah pembelian
menghapus pembelian
mencari pembelian
menambah pembelian
menambah supplier
mengubah supplier
melihat supplier
mencari supplier
menghapus supplier
melihat laporan jurnal
melihat laporan pembelian
mengubah barang
menambah barang
melihat barangmencari barang menghapus
barang
«include»
«include»
«include»
«include»
«include»
38
Tabel III.1.
Deskripsi Usecase Diagram Bagian Pengadaan
Usecase Naravite
Tujuan Bagian Pengadaan dapat melihat dan
mengelola data yang ada di halaman utama
Deskripsi Sistem ini memungkinkan bagian pengadaan
dapat mengelola form barang, pembelian,
pembayaran, supplier dan melihat laporan.
Skenario utama
Aktor Bagian Pengadaan
Kondisi awal Login sebagai Bagian Pengadaan
Aksi Aktor Reaksi sistem
1. memilih form barang Sistem ini akan menampilkan informasi
form barang
2. memilih form pembelian Sistem ini akan menampilkan informasi
form pembelian
3. memilih form
pembayaran
Sistem ini akan menampilkan informasi
form pembayaran
4. memilih form supplier
5. memilih form laporan
Sistem ini akan menampilkan informasi
form supplier
Sistem ini akan menampilkan informasi
form laporan
Kondisi akhir jika perintah sesuai maka form sistem akan
menampilkan apa yang diinginkan
39
2. Usecase Diagram Bagian Keuangan
Gambar III.8.
Usecase Diagram Bagian Keuangan
uc bagian keuangan
bagian keuangan
login
mengelola perkiraan
membuat jurnal
melihat laporan
mengelola pengguna
menambah jurnal
melihat jurnalmencari jurnal
menambah pengguna
mengubah pengguna
menghapus pengguna
mencari pengguna
melihat pengguna
melihat laporan jurnal
melihat laporan pembelian
menambah perkiraan
mengubah perkiraan
mencari perkiraan
menghapus perkiraan
melihat perkiraan
«include»
«include»
«include»
«include»
40
Tabel III.2.
Deskripsi Usecase Diagram Bagian Keuangan
Usecase Naravite
Tujuan Bagian Keuangan dapat melihat dan
mengelola data yang ada di halaman utama
Deskripsi Sistem ini memungkinkan bagian keuangan
dapat mengelola dan melihat form perkiraan,
jurnal, laporan dan pengguna
Skenario utama
Aktor Bagian Keuangan
Kondisi awal Login sebagai Bagian Keuangan
Aksi Aktor Reaksi sistem
3. memilih form perkiraan Sistem ini akan menampilkan informasi
form perkiraan
4. memilih form jurnal Sistem ini akan menampilkan informasi
form jurnal
3. memilih form laporan Sistem ini akan menampilkan informasi
form laporan
4. memilih form pengguna
Sistem ini akan menampilkan informasi
form pengguna
Kondisi akhir jika perintah sesuai maka form sistem akan
menampilkan apa yang diinginkan
41
3.3.3. Activity Diagram
1. Activity Diagram Bagian Pengadaan Login
Bagian pengadaan sistem
Klik Login Validasi
Tampilkan halaman utama
Input ID Pengguna dan
Password
selesai
mulai
Valid?
[ya]
[Tidak]
Gambar III.9.
Activity Diagram Bagian Pengadaan Login
42
2.Activity Diagram Bagian Pengadaan Mengelola Barang
Gambar III.10.
Activity Diagram Bagian Pengadaan Mengelola Barang
act activity supplier
sistembagian pengadaan
mulai
pilih
tambah
cari tampilkan data
input data
input data barang
s impan?
batal
simpan
tampilkan data
validasi
val id?
simpan data
selesa i
[ya]
[tidak]
[ya]
[tidak]
[ya]
[tidak]
43
3. Activity Diagram Bagian Pengadaan Mengelola Pembelian
Gambar III.11.
Activity Diagram Bagian Pengadaan Mengelola Pembelian
act activity supplier
sistembagian pengadaan
mulai
pilih
tambah
cari tampilkan data
input data
input data pembelian
s impan?
batal
simpan
tampilkan data
validasi
val id?
simpan data
selesa i
[ya]
[tidak]
[ya]
[tidak]
[ya]
[tidak]
44
4. Activity Diagram Bagian Pengadaan Mengelola Pembayaran
Gambar III.12.
Activity Diagram Bagian Pengadaan Mengelola Pembayaran
act activity supplier
sistembagian pengadaan
mulai
pilih
tambah
cari tampilkan data
input data
input data pembayaran
s impan?
batal
simpan
tampilkan data
validasi
val id?
simpan data
selesa i
[ya]
[tidak]
[ya]
[tidak]
[ya]
[tidak]
45
5. Activity Diagram Bagian Pengadaan Mengelola Supplier
Gambar III.13.
Activity Diagram Bagian Pengadaan Mengelola Supplier
act activity supplier
sistembagian pengadaan
mulai
pilih
tambah
cari tampilkan data
input data
input data supplier
s impan?
batal
simpan
tampilkan data
validasi
val id?
simpan data
selesa i
[ya]
[tidak]
[ya]
[tidak]
[ya]
[tidak]
46
6. Activity Diagram Bagian Keuangan Mengelola Pengguna
Gambar III.14.
Activity Diagram Bagian Keuangan Mengelola Pengguna
act activity supplier
sistembagian keuangan
mulai
pilih
tambah
cari tampilkan data
input data
input data pengguna
s impan?
batal
simpan
tampilkan data
validasi
val id?
simpan data
selesa i
[ya]
[tidak]
[ya]
[tidak]
[ya]
[tidak]
47
7. Activity Diagram Bagian Keuangan Mengelola Perkiraan
Gambar III.15.
Activity Diagram Bagian Keuangan Mengelola Perkiraan
act activity supplier
sistembagian keuangan
mulai
pilih
tambah
cari tampilkan data
input data
input data perkiraan
s impan?
batal
simpan
tampilkan data
validasi
val id?
simpan data
selesa i
[ya]
[tidak]
[ya]
[tidak]
[ya]
[tidak]
48
3.4.Desain
3.4.1. ERD
Perkiraan
Saldo_normal
Nama_akun
Kode_akun
Jenis_akun
Detail
jurnalberisi memiliki
No_jurnal
Kode_akun
debet
kredit
dibuat
JurnalNo_jurnalTgl_jurnal
keterangan
pembayaran
dilakukan
mengelola
No_pembayaran Tgl_pembayaran
No_pembelian No_bukti_trf
Jml_pembayaran
pengguna
Nama_pengguna
Id_pengguna
password
Hak akses
supplier
No_tlp
Alamat_supplier
Nama_suplier
Kode_supplier
mengelola
pembelian
Total
pembelian
Kode_supplierTgl_pembelian
No_pembelian
diajukan
memiliki
berisi
Detail
pembelian
Jml_pembelian
Kode_brg
No_pembelian
harga
BarangKode_brg
Nama_brg
Jml_brg
satuan
harga
I
M
Gambar III.16.
Entity Relational Diagram
49
3.4.2. LRS
No_pembelian
Kode_brg
Jml_pembelian
Harga
No_pembayaran*
Tgl_pembayaran
No_pembelian
No_bukti_trf
Jml_pembayaran
Kode_akun*
Nama_akun
Jenis_akun
Saldo_normal
No_jurnal
Kode_akun
Debet
kredit
Kode_supplier*
Nama_supplier
Alamat_supplier
No_tlp
Id_pengguna*
Nama_pengguna
Password
Hak_aksesNo_pembelian
Tgl_pembelian
Kode_supplier
Total_pembelian
Kode_brg*
Nama_brg
Jml_brg
Satuan
harga
No_jurnal*
Tgl_jurnal
keterangan
Detail_pembelian
pembayaran
supplier
barang
pengguna
pembelian
jurnal
Detail jurnal
perkiraan
I
M
I
I
I
I
I
I
Gambar III.17.
Logical Record Structure
3.4.3. Spesifikasi File
1. Spesifikasi File Barang
Nama Database : Pembelian
Nama File : barang
Tipe File : File Master
Akses File : Random
Panjang Record : 52
Kunci File : kode_brg
Tabel III.3.
Spesifikasi File Barang
NO Elemen Data Nama Field Type Panjang Keterangan
1 Kode Barang kode_brg Char 8 primary key
50
2 Nama Barang nama_brg varchar 35
3 Jumlah Barang jml_brg Int 5
4 Satuan satuan varchar 4
5 Harga harga double
2. Spesifikasi File Detail Jurnal
Nama Database : Pembelian
Nama File : detail_jurnal
Tipe File : File Master
Akses File : Random
Panjang Record : 10
Kunci File : no_jurnal
Tabel III.4.
Spesifikasi File Detail Jurnal
NO Elemen Data Nama Field Type Panjang Keterangan
1 No Jurnal no_jurnal char 10 Primary key
2 Kode Akun kode_akun char 5
3 Debet debet double
4 Kredit kredit double
3. Spesifikasi File Detail Pembelian
Nama Database : Pembelian
Nama File : detail_pembelian
Tipe File : File master
Akses File : Random
Panjang Record : 19
Kunci File : no_pembelian
Tabel III.5.
Spesifikasi File Detail Pembelian
NO Elemen Data Nama Field Type Panjang Keterangan
1 No Pembelian no_pembelian char 10 primary key
2 Kode Barang kode_brg char 5
3 Jumlah Pembelian jml_pembelian int 4
4 Harga harga double
4. Spesifikasi File Jurnal
Nama Database : Pembelian
Nama File : jurnal
Tipe File : File master
51
Akses File : Random
Panjang Record : 107
Kunci File : no_jurnal
Tabel III.6.
Spesifikasi File Jurnal
NO Elemen Data Nama Field Type Panjang Keterangan
1 No Jurnal no_jurnal char 7 primary key
2 Tanggal Jurnal tgl_jurnal date
3 Keterangan keterangan varchar 100
5. Spesifikasi File Pembayaran
Nama Database : Pembelian
Nama File : pembayaran
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 40
Kunci File : no_pembayaran
Tabel III.7.
Spesifikasi File Pembayaran
NO Elemen Data Nama Field Type Panjang Keterangan
1 No Pembayaran no_pembayaran char 10 primary key
2
Tanggal
Pembelian tgl_pembayaran date
3 No Pembelian no_pembelian char 10
4 No Bukti Transfer no_bukti_trf varchar 20
5
Jumlah
Pembayaran jml_pembayaran double
6. Spesifikasi File Pembelian
Nama Database : Pembelian
Nama File : pembelian
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 15
Kunci File : no_pembelian
Tabel III.8.
Spesifikasi File Pembelian
NO Elemen Data Nama Field Type Panjang Keterangan
1 No Pembelian no_pembelian char 10 primary key
52
2
Tanggal
Pembelian tgl_pembelian date
3 Kode Supplier kode_supplier char 5
4 Total Pembelian total_pembelian double
7. Spesifikasi File Pengguna
Nama Database : Pembelian
Nama File : pengguna
Tipe File : File Master
Akses File : Random
Panjang Record : 90
Kunci File : id_pengguna
Tabel III.9.
Spesifikasi File Pengguna
NO Elemen Data Nama Field Type Panjang Keterangan
1 ID Pengguna id_pengguna char 10 primary key
2 Nama Pengguna nama_pengguna varchar 35
3 Password password varchar 30
4 Hak Akses hak_akses varchar 15
8. Spesifikasi File Perkiraan
Nama Database : Pembelian
Nama File : perkiraan
Tipe File : File Master
Akses File : Random
Panjang Record : 71
Kunci File : kode_akun
Tabel III.10.
Spesifikasi File Perkiraan
NO Elemen Data Nama Field Type Panjang Keterangan
1 Kode Akun kode_akun char 5 primary key
2 Nama Akun nama_akun varchar 35
3 Jenis Akun jenis_akun varchar 25
4 Saldo Normal saldo_normal varchar 6
9. Spesifikasi File Supplier
Nama Database : Pembelian
53
Nama File : Supplier
Tipe File : File Master
Akses File : Random
Panjang Record : 153
Kunci File : kode_supplier
Tabel III.11.
Spesifikasi File Supplier
NO Elemen Data Nama Field Type Panjang Keterangan
1 Kode Supplier kode_supplier char 5 primary key
2 Nama Supplier nama_supplier varchar 35
3 Alamat alamat varchar 100
4 No Telepon no_tlp varchar 13
54
3.3.4. Sequence Diagram
Gambar III.18.
Sequence Diagram Form Barang
sd sequence
bagian pengadaanFormPembelian Control Pembelian pembelian detail pembelian barang
tampil no pembelian baru()
tambah item()
query caribarang()
simpan detail pembelian()
input data barang()
cari data barang()
input data pembelian()
simpan pembelian()
no pembelian baru()
tampil data barang()
validasi()
result data barang()
query pembelian()
buat no pembelian()
klik simpan()
buka form pembelian()
klik tambah()
55
3.3.5. Deployment Diagram
Gambar III.19.
Deployment Diagram
3.3.6. User Interface
1. Form Login
Gambar III.20.
deployment deployyment
Aplikasi
pembelian
Jasper Report
Database Server
MySQL Server
pembelian
MySQL JDBC
Driver
Java
Java Runrtime Environment
«use»
«use»
56
Gambar Form Login
2. Form Barang
Gambar III.21.
Gambar Form Barang
3. Form Jurnal
Gambar III.22.
57
Gambar Form Jurnal
4. Form Laporan
Gambar III.23.
Gambar Form Laporan
5. Form Pembelian
Gambar III.24.
58
Gambar Form Pembelian
6. Form Pengguna
Gambar III.25.
Gambar Form Pengguna
7. Form Perkiraan
59
Gambar III.26.
Gambar Form Perkiraan
8. Form Supplier
Gambar III.27.
Gambar Form Supplier
3.4. Implementasi
3.4.1. Code Generation
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
60
/**
*
* @author ucill
*/
public class Pembelian {
private Connection Koneksi;
private String no_pembelian;
private Date tgl_pembelian;
private String kode_supplier;
private double total_pembelian;
private String PesanError;
public Pembelian() {
try {
Class.forName("com.mysql.jdbc.Driver");
Koneksi =
DriverManager.getConnection("jdbc:mysql://localhost/pembelian?", "root", "");
} catch (ClassNotFoundException | SQLException ex) {
this.PesanError = ex.getMessage();
}
}
public Connection getKoneksi() {
return Koneksi;
}
public void setKoneksi(Connection Koneksi) {
this.Koneksi = Koneksi;
}
public String getNo_pembelian() {
return no_pembelian;
}
public void setNo_pembelian(String no_pembelian) {
this.no_pembelian = no_pembelian;
}
public Date getTgl_pembelian() {
return tgl_pembelian;
}
public void setTgl_pembelian(Date tgl_pembelian) {
61
this.tgl_pembelian = tgl_pembelian;
}
public String getKode_supplier() {
return kode_supplier;
}
public void setKode_supplier(String kode_supplier) {
this.kode_supplier = kode_supplier;
}
public double getTotal_pembelian() {
return total_pembelian;
}
public void setTotal_pembelian(double total_pembelian) {
this.total_pembelian = total_pembelian;
}
public String getPesanError() {
return PesanError;
}
public void setPesanError(String PesanError) {
this.PesanError = PesanError;
}
public List<Pembelian> daftarpembelian() {
try {
this.PesanError = "";
String Cmd = "SELECT * FROM pembelian";
List<Pembelian> lpb = new ArrayList();
Statement st = Koneksi.createStatement();
ResultSet rs = st.executeQuery(Cmd);
while (rs.next()) {
Pembelian pb = new Pembelian();
pb.setNo_pembelian(rs.getString("no_pembelian"));
pb.setTgl_pembelian(rs.getDate("tgl_pembelian"));
pb.setKode_supplier(rs.getString("kode_supplier"));
pb.setTotal_pembelian(rs.getDouble("total_pembelian"));
lpb.add(pb);
}
return lpb;
} catch (SQLException ex) {
this.PesanError = ex.getMessage();
return null;
}
62
}
public List<Pembelian> cariNamaPembelian(String Nama) {
try {
this.PesanError = "";
String Cmd = "SELECT * FROM pembelian WHERE no_pembelian
LIKE ?";
List<Pembelian> lpb = new ArrayList();
PreparedStatement ps = Koneksi.prepareStatement(Cmd);
ps.setString(1, "%" + Nama + "%");
ResultSet rs = ps.executeQuery();
Pembelian pb = new Pembelian();
while (rs.next()) {
pb.setNo_pembelian(rs.getString("no_pembelian"));
pb.setTgl_pembelian(rs.getDate("tgl_pembelian"));
pb.setKode_supplier(rs.getString("kode_supplier"));
pb.setTotal_pembelian(rs.getDouble("total_pembelian"));
lpb.add(pb);
}
return lpb;
} catch (SQLException ex) {
this.PesanError = ex.getMessage();
return null;
}
}
public int tambahPembelian() {
try {
this.PesanError = "";
String Cmd = "INSERT INTO PEMBELIAN (no_pembelian,
tgl_pembelian, kode_supplier, total_pembelian) VALUES (?, ?, ?, ?)";
PreparedStatement ps = Koneksi.prepareStatement(Cmd);
ps.setString(1, this.no_pembelian);
ps.setDate(2, this.tgl_pembelian);
ps.setString(3, this.kode_supplier);
ps.setDouble(4, this.total_pembelian);
return ps.executeUpdate();
} catch (SQLException ex) {
this.PesanError = ex.getMessage();
return -1;
}
}
63
public int ubahPembelian(String No) {
try {
this.PesanError = "";
String Cmd = "UPDATE pembelian SET tgl_pembelian=?,
kode_supplier=?, total_pembelian=? WHERE no_pembelian=?";
PreparedStatement ps = Koneksi.prepareStatement(Cmd);
ps.setDate(1, this.tgl_pembelian);
ps.setString(2, this.kode_supplier);
ps.setDouble(3, this.total_pembelian);
ps.setString(4, this.no_pembelian);
return ps.executeUpdate();
} catch (SQLException ex) {
this.PesanError = ex.getMessage();
return -1;
}
}
public int hapusPembelian(String No) {
try {
this.PesanError = "";
String Cmd = "DELETE FROM pembelian WHERE no_pembelian=?";
PreparedStatement ps = Koneksi.prepareStatement(Cmd);
ps.setString(1, No);
return ps.executeUpdate();
} catch (SQLException ex) {
this.PesanError = ex.getMessage();
return -1;
}
}
public Pembelian cariNoPembelian(String Id) {
this.PesanError = "";
try {
String Cmd = "SELECT * FROM pembelian WHERE no_pembelian=?";
PreparedStatement ps = Koneksi.prepareStatement(Cmd);
ps.setString(1, this.getNo_pembelian());
ResultSet rs = ps.executeQuery();
if (rs.next()) {
this.setNo_pembelian(rs.getString("no_pembelian"));
this.setTgl_pembelian(rs.getDate("tgl_pembelian"));
this.setKode_supplier(rs.getString("kode_supplier"));
this.setTotal_pembelian(rs.getDouble("total_pembelian"));
} else {
64
this.setNo_pembelian(null);
this.setTgl_pembelian(null);
this.setKode_supplier(null);
this.setTotal_pembelian(0);
}
return this;
} catch (SQLException ex) {
this.PesanError = ex.getMessage();
return null;
}
}
public String noAuto(){
try {
String Cmd = "SELECT * FROM pembelian ORDER BY
SUBSTR(no_pembelian,3,8) * 1 DESC LIMIT 1";
Statement st = Koneksi.createStatement();
ResultSet rs = st.executeQuery(Cmd);
if(rs.next()){
String No = rs.getString("no_pembelian");
System.out.println(No);
No = No.substring(2, 7);
No = "PB"+ String.format("%05d", Integer.parseInt(No)+1);
return No;
}else{
return "PB00001";
}
} catch (SQLException ex) {
this.PesanError = ex.getMessage();
return "";
}
}
}
3.4.2. Blackbox Testing
1. Pengujian terhadap halaman login
Tabel III.12.
Hasil Black Box Testing Halaman Login
No Skenario
Pengujian
Test Case Hasil yang
diharapkan
Hasil
Pengujian
Kesimpulan
1 Klik login tanpa Menginput
username dan
Username (kosong)
Password
Sistem akan menolak dan
menampilkan
Sesuai Harapan
Valid
65
Password (kosong) pesan “Id
pengguna dan
Password tidak
boleh kosong”
2 Menginputkan
username dan
password kemudian klik
login
Username
(nama
user) Password
(password
user)
Sistem akan
menerima akses
dan menampilkan
pesan “ menu
utama “
Sesuai
Harapan
Valid
3 Menginputkan username dan
password
dikosongkan kemudian klik
login
Username (nama
user)
Password (kosong)
Sistem akan menolak dan
menampilkan
pesan “Id pengguna dan
Password tidak
boleh kosong”
Sesuai Harapan
Valid
2. Penguji terhadap form data barang
Tabel III.13.
Hasil Black Box Testing Form Barang
No Skenario
Pengujian
Test Case Hasil yang
diharapkan
Hasil
Pengujian
Kesimpulan
1 Klik tambah
kemudian input
data yang
dimasukan lalu
klik tombol
simpan
Kode brg,
nama brg,
jumlah brg,
satuan,
harga
(kosong)
Sistem akan
Menolak akses
dan
menampilkan
pesan “ mohon
isi data dahulu“
Sesuai
Harapan
Valid
2 Klik tambah
kemudian isi
data barang lalu
klik tombol
simpan
Kode brg,
nama brg,
jumlah brg,
satuan,
harga (terisi
data)
Sistem akan
menerima akses
dan
menampilkan
pesan “ data
berhasil
disimpan “
Sesuai
Harapan
Valid
3 Klik salah satu
data barang
pada tabel
barang, klik
hapus
Konfirmasi
penghapusan
data barang
Sistem akan
menerima dan
menampilkan
pesan “hapus
data ini?“
Sesuai
Harapan
Valid
4 Klik salah satu
data barang
Ubah data
barang
Sistem akan
menerima dan
Sesuai Valid
66
pada
tabel data
barang, ubah
data
dan klik
tombol simpan
menampilkan
pesan “ data
berhasil
diubah “
harapan
3. Penguji terhadap form Pembelian
Tabel III.14.
Hasil Black Box Testing Form Pembelian
No Skenario
Pengujian
Test Case Hasil yang
diharapkan
Hasil
Pengujian
Kesimpulan
1 Klik tambah
kemudian
input data
yang
dimasukan
lalu klik
tombol
simpan
No pembelian,
tanggal
pembelian,
kode supplier,
kode barang
(kosong)
Sistem akan
Menolak akses
dan
menampilkan
pesan “
supplier belum
dipilih“
Sesuai
Harapan
Valid
2 Klik tambah
kemudian isi
transaksi
pembelian
lalu klik
tombol
simpan
No pembelian,
tanggal
pembelian,
kode supplier,
kode barang
(terisi data)
Sistem akan
menerima
akses
dan
menampilkan
pesan “ data
berhasil
disimpan “
Sesuai
Harapan
Valid
4. Penguji terhadap form laporan
Tabel III.14.
Hasil Black Box Testing Form laporan
No Skenario
Pengujian
Test Case Hasil yang
diharapkan
Hasil
Pengujian
Kesimpulan
1 Klik tombol
cari tanggal
untuk
mengecek
Dari tanggal,
sampai
tanggal,
(kosong)
Sistem akan
Menolak akses
dan
menampilkan
Sesuai
Harapan
Valid
67
laporan pesan “ the
document has
no pages“
2 Klik tombol
cari data
untuk
mengecek
laporan
Dari tanggal,
sampai
tanggal, (terisi
data)
Sistem akan
menerima
akses
dan
menampilkan
laporan
Sesuai
Harapan
Valid
3 Klik tombol
cetak data
Konfirmasi
mencetak
laporan
Sistem akan
menerima dan
menampilkan
pesan “ data
berhasil
dicetak”
Sesuai
Harapan
Valid
3.4.3. Spesifikasi Hardware dan Software
Tabel.III.15.
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Microsoft Windows XP Profesional SP2
Processor 1,4 GHz Intel Pentium III Inside
RAM 2 GB
Harddisk 1 GB
Monitor 1024 x 768 pixels
Keyboard Keyboard Qwerty
Printer Standar
Mouse Mouse Optical atau Mouse USB
Software Kebutuhan menjalankan aplikasi secara lokal:
Bahasa script programming : Java Netbeans 8.1
Web Server : XAMPP Control Panel
v3.2.1
DBMS : MySQL