BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar....

72
30 BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan Toko bangunan Lugay Jaya adalah sebuah perusahaan yang bergerak dalam bidang penjualan alat-alat bahan bangunan yang beralamat di Kp. Cinta Karya Rt12/05 Desa Cikopo Kec.Bungursari Kab.Purwakarta , toko buka setiap hari Senin Minggu dengan jam kerja dari 07:00 WIB hingga 16:00 WIB. Tinjauan perusahaan pada TB. Lugay Jaya berisi sejarah TB. Lugay Jaya, struktur organisasi dan fungsi TB. Lugay Jaya. 3.1.1. Sejarah Perusahaan Toko Bangunan Lugay Jaya didirikan pada 20 November 2015 atas gagasan ide dari Bapak Muslim yang ingin memiliki sebuah usaha, pada awalnya bapak Muslim belum tahu akan membuat usaha apa, tapi setelah melihat peluang di daerahnya yang saat itu hanya untuk mencari bahan bangunan saja harus menempuh jarak yang cukup jauh, akhirnya bapak Muslim mempunyai ide atau gagasan untuk membuat usaha toko penyedia bahan bangunan, pada awalnya bapak Muslim menjual bahan bangunan di rumahnya saja karena belum memiliki sebuah gedung usaha sendiri dan kesulitan untuk mendapatkan supplier, karena usahanya masih kecil-kecilan. Berkat keuletannya setelah beberapa bulan akhirnya usaha bapak Muslim maju begitu pesat. Hingga akhirnya bapak muslim mendapatkan banyak supplier dan mempunyai dua orang karyawan yang membantu mengurus toko . Setelah usahanya makin maju dan berkembang, dan Bapak Muslim ingin memperbesar usahanya lagi, karena tempat dirumahnya sudah tidak cukup untuk

Transcript of BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar....

Page 1: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

30

BAB III

PEMBAHASAN

3.1. Tinjauan Perusahaan

Toko bangunan Lugay Jaya adalah sebuah perusahaan yang bergerak dalam

bidang penjualan alat-alat bahan bangunan yang beralamat di Kp. Cinta Karya

Rt12/05 Desa Cikopo Kec.Bungursari Kab.Purwakarta , toko buka setiap hari Senin

– Minggu dengan jam kerja dari 07:00 WIB hingga 16:00 WIB. Tinjauan

perusahaan pada TB. Lugay Jaya berisi sejarah TB. Lugay Jaya, struktur organisasi

dan fungsi TB. Lugay Jaya.

3.1.1. Sejarah Perusahaan

Toko Bangunan Lugay Jaya didirikan pada 20 November 2015 atas gagasan

ide dari Bapak Muslim yang ingin memiliki sebuah usaha, pada awalnya bapak

Muslim belum tahu akan membuat usaha apa, tapi setelah melihat peluang di

daerahnya yang saat itu hanya untuk mencari bahan bangunan saja harus menempuh

jarak yang cukup jauh, akhirnya bapak Muslim mempunyai ide atau gagasan untuk

membuat usaha toko penyedia bahan bangunan, pada awalnya bapak Muslim

menjual bahan bangunan di rumahnya saja karena belum memiliki sebuah gedung

usaha sendiri dan kesulitan untuk mendapatkan supplier, karena usahanya masih

kecil-kecilan. Berkat keuletannya setelah beberapa bulan akhirnya usaha bapak

Muslim maju begitu pesat. Hingga akhirnya bapak muslim mendapatkan banyak

supplier dan mempunyai dua orang karyawan yang membantu mengurus toko .

Setelah usahanya makin maju dan berkembang, dan Bapak Muslim ingin

memperbesar usahanya lagi, karena tempat dirumahnya sudah tidak cukup untuk

Page 2: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

31

menampung bahan-bahan bangunan lagi dan ada sebuah bangunan bekas warnet

yang kosong di depan rumahnya itu, akhinya bapak Muslim menyewa bangunan itu

untuk dijadikan toko utamanya.

Setelah satu tahun, perkembangan usahanya itu semakin cepat dan pesat,

tidak begitu lama Bapak Muslim langsung membeli bangunan yang ditempati untuk

usaha itu yang tadinya hanya menyewa. Setelah mempunyai gedung sendiri Bapak

Muslim langsung merenovasinya dan memperbesar gedung tersebut hingga menjadi

sebuah toko bangunan yang begitu besar dengan menyediakan semua jenis bahan

bangunan. Setelah memperbesar tokonya itu Bapak Muslim menambah lagi

karyawan untuk membantunya mengurus toko menjadi 8 (delapan) orang karyawan.n

2 orang yang mengurus toko dan gudang serta 5 orang bagian yang melakukan

pengiriman barang.

Bapak muslim selalu mengecek setiap hari tokonya itu, mulai dari persediaan

barang sampai semua keuangan toko wajib dilaporkan kepada Bapak Muslim.

Setelah 2 tahun usahanya menjadi begitu besar sehingga toko bangunan itu menjadi

lebih diperbesar lagi serta mendapatkan supplier yang begitu banyak dan customer

yang selalu setia karena kualitas nya begitu baik.

3.1.2. Struktur Organisasi dan Fungsi

Stuktur organisasi adalah susunan sub sistem dan sub bagian dengan

wewenang dan tanggung jawab masing-masing. Dimana pengorgaisasian merupakan

proses penyusunan stuktur organisasi yang sesuai dengan tujuan. Stuktur organisasi

memungkinkan adanya pembagian tugas yang jelas dan tepat. Adapun stuktur

organisasi yang ada ada TB. Lugay Jaya adalah sebagai berikut :

Page 3: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

31

Sumber : TB. Lugay Jaya

Gambar III.9. Stuktur Organisasi&Fungsi

Berdasarkan bagian struktur organisasi yang telah digambarkan sebelumnya,

masing-masing jabatan memiliki fungsi, yaitu:

1. Pemilik

Pemilik adalah orang yang memiliki usaha Toko bangunan Lugay Jaya dan

mengelola semua kebutuhan toko, tugasnya sebagai berikut:

a. Mengatur program kerja.

b. Melakukan pengecekan ketersediaan barang.

c. Mengontrol setiap semua kegiatan.

2. Bagian Kasir

Bagian Kasir adalah orang yang melayani saat transaksi penjualan, dan

pembelian tugasnya sebagai berikut:

a. Melayani transaksi Custamer.

Page 4: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

32

b. Membuatkan Nota penjualan.

c. Melakukan pembayaran.

d. Membuat catatan pembukuan kas masuk dan keluar.

3. Bagian Gudang

Bagian Gudang adalah orang yang bertanggung jawab atas persediaan barang

tugasnya sebagai berikut:

a. Melakukan pengecekan barang, mengecek kesesuaian antara buku pesanan

pembelian dengan fakturnya.

b. Membuatan laporan persediaan barang.

c. Melaporkan secara periodik persediaan barang kepada pemilik toko.

d. Bertanggung jawab sepenuhnya terhadap gudang.

2. Karyawan

Karyawan adalah orang yang melakukan pengiriman barang ke berbagai tempat ,

tugasnya sebagai berikut :

a. Melayani customer.

b. Merapihkan barang dagang.

c. Mengirim barang mengirim barang sesuai alamat custamer.

3.2. Tinjauan Kasus

3.2.1. Proses Bisnis Sistem Berjalan

Suatu prosedur atau tahap-tahap yang dilakukan sebelum memulai suatu

kegiatan untuk meyelesaikan suatu pekerjaan di sebut prosedur sistem. Sesuai

dengan ruang lingkup yang dibahas dalam penyusunan Tugas Akhir ini, maka

prosedur bisnis sistem berjalan adalah sebagai berikut:

Page 5: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

33

1. Prosedur Pengecekan Persediaan Barang

Bagian gudang mengecek persediaan barang yang masih tersedia di gudang,

dari pengecekan tersebut dapat diketahui barang yang harus dibeli untuk persediaan

barang di gudang. Setelah melakukan pengecekan, bagian gudang membuat laporan

persediaan barang yang akan di ajukan kepada pemilik toko. Jika tidak disetujui

laporan persediaan tersebut akan di kembali kan ke bagian gudang untuk diperbaiki

tapi jika kepala toko menyetujui laporan persediaan barang, pemilik toko akan

membubuhkan tanda tangannya di laporan persediaan barang.

2. Prosedur Pemesanan Barang

Setelah laporan persediaan barang di setujui selanjutnya pemilik akan

menyerahkan daftar barang yang akan di pesan kepada supplier yang sudah bekerja

sama dengan TB. Lugay Jaya. Selanjutnya supplier akan mengirimkan barang yang

sudah dipesan beserta nota pembelian kebagian gudang. Setelah barang di terima

bagian gudang akan meerima dan memeriksa barang yang sudah di kirim oleh

supplier, jika barang tersebut sesuai maka akan di simpan di gudang tetapi jika

barang tidak sesuai barang akan di kembalikan kesupplier (retur pembelian).

3. Prosedur Pembayaran

Setelah melakukan pengecekan barang, bagian gudang akan menyerahkan nota

pembelian kepada bagian kasir. Setelah bagian kasir menerima nota pembelian

maka bagian kasir akan melakukan pembayaran secara tunai ataupun non tunai

dengan sejumlah nominal yang tertera di nota pembelian jika kasir melakukan

pembayaran secara non tunai maka pihak supplier akan memberikan bukti transaksi

atau nota sementara berwarna putih tanpa di stempel, sampai pada batas waktu yang

di tentukan kasir diwajibkan langsung melunasinya. Tapi jika kasir melakukan

pembayaran secara tunai maka pihak supplier akan memberikan bukti transaksi

Page 6: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

34

berwarna putih yang sudah di stempel kepada kasir dan kasir akan langsung

melakukan pencatatan kas keluar.

3.2.2. Activity Diagram

1. Activuty Diagram Prosedur Pengecekan Persediaan Barang

Sumber: Hasil Penelitian (2019)

Gambar III.10. Activity Diagram

Prosedur Pengecekan Persediaan Barang

Page 7: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

35

2. Activity Diagram Prosedur Pemesanan Barang

Sumber: Hasil Penelitian (2019)

Gambar III.11.

Activity Diagram Prosedur Pengecekan Pemesanan Barang

Page 8: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

36

3. Activity Diagram Prosedur Pembayaran

Sumber: Hasil Penelitian (2019)

Gambar III.12.

Activity Diagram Prosedur Pembayaran

Page 9: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

37

3.2.3. Dokumen Masukan

Dokumen masukan adalah semua dokumen yang digunakan sebagai dasar

memperoleh data-data yang nantinya akan diproses untuk menghasilkan suatu

keluaran yang disebut output. Dokumen masukan yang digunakan sebagai berikut :

1. Nama Dokumen : Nota Pembelian

Fungsi : Bukti Pembelian dan Pembayaran Barang

Sumber : Supplier

Tujuan : Sebagai bukti Penerimaan barang dan pelunasan

pembayaran

Media : Kertas

Jumlah : 1

Frekuensi : Setiap melakukan transaksi pembelian

Bentuk : Lampiran A-1

2. Nama Dokumen : Faktur Pembelian

Fungsi : Bukti Pembelian Barang

Sumber : Supplier

Tujuan : Sebagai Bukti Atas Pembelian Suatu Barang

Media : Kertas

Jumlah : 1

Frekuensi : Setiap melakukan transaksi

Bentuk : Lampiran A-1

Page 10: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

38

3.2.4. Dokumen Keluaran

Dokumen keluaran adalah segala bentuk dokumen yang akan mendukung

kegiatan manajemen serta merupakan dokumen dari hasil catatan laporan. Dokumen

keluaran yang digunakan sebagai berikut :

1. Nama Dokumen : Pemesanan Barang

Fungsi : Untuk memesan barang

Sumber : Bagian Gudang

Tujuan : Sebagai bukti permintaan barang kepada supplier

Media : Kertas

Jumlah : 1

Frekuensi : Setiap adanya stok barang yang kosong

Bentuk : Lampiran B-1

2. Nama Dokumen : Laporan Persediaan

Fungsi : Mengetahui Laporan Persediaan Perbulan

Sumber : Bagian Gudang

Tujuan : Mengetahui hasil persediaan gudang setiap

bulan

Media : Kertas

Jumlah : 1 Lembar

Frekuensi : Setiap melakukan pembeliaan

Bentuk : Lampiran B-2

Page 11: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

39

3.2.5. Permasalahan Pokok

Pada TB. Lugay Jaya yang masih manual dalam berjalannya perusahaan

tersebut masih terdapat kendala seperti:

1. Pada penyimpanan dokumen yang diterima sering kali hilang karena tidak

teraturnya dalam penyimpanan dokumen.

2. Saat pencatatan data barang masuk dan data barang keluar yang memungkinkan

terdapat masalah karena masih di lakukanya secara manual yang memungkinkan

kesalahan dalam pencatatan dan perhitungan.

3. Serta saat pencatatan laporan persediaan barang yang memungkinkan akan

memperlambat jalannya perusahaan karna perhitungan jumlah dan kondisi

barang yang ada pada gudang.

4. Banyak dokumen-dokumen yang tidak di ketahui keberadaanya sehingga

menyebabkan tidak diketahuinya stok barang yang ada pada gudang, dari barang

masuk maupun keluar.

3.2.6. Pemecahan Masalah

Dengan melihat dan menganalisa permasalahan yang terjadi pada TB. Lugay

Jaya maka alternative permasalahan yang dapat dilakukan yaitu merancang sebuah

aplikasi untuk :

1. Mengarsipkan dokumen-dokumen/ menyimpan data-data yang diterima sehingga

dokumen-dokumen tersebut aman.

2. Serta pencatatan data barang masuk dan juga barang keluar dengan lebih efektif

dan mengurangi resiko kesalahan pencatatan data barang masukk dan barang

keluar.

Page 12: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

40

3. Dengan adanya aplikasi maka akan mempermudah dalam pembuatan laporan

persediaan barang karna secara otomatis data akan di ketahui barang masuk dan

barang keluar dan juga stok awal dan stok akhir.

4. Dengan adanya aplikasi tersebut maka akan membatu kita untuk mengetahui

barang masuk dan barang keluar.

3.3. Analisis Kebutuhan Software

Analisa kebutuhan merupakan (requirement analysis) merupakan langkah

awal untuk menentukan gambaran perangkat yang akan di hasilkan ketika

pengembang melaksanakan sebuah proyek pembuatan perangkat lunak. Perangkat

lunak yang baik dan sesuai dengan kebutuhan pengguna sangat tergantung pada

keberhasilan dalam melakukan analisis kebutuhan. Untuk proyek-proyek perangkat

lunak yang besar, analisis kebutuhan dilaksanakan setelah aktivitas sistem informasi

engineering dan software project dilakukan.

3.3.1. Analisis Kebutuhan

1. Admin

A. 1. Mengakses Login

A. 2. Mengelola Data Akun

A. 3. Mengelola Data Jurnal

A. 4. Mengelola Data Barang Keluar

A. 5. Mengelola Data Supplier

A. 6. Mengelola Data Pelanggan

A. 7. Mengelola Data Pegawai

Page 13: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

41

2. Bagian Gudang

B. 1. Mengakses Login

B. 2. Mengelola Data Barang

B. 3. Mengelola Data Pegawai

B. 4. Mengelola Data Barang Masuk

3.3.2. Use Case Diagram

1. Admin

A. 1. Use Case Mengakses Login

Gambar III.13. Use Case Diagram Mengakses Login

A. 2. Use Case Data Akun

Gambar III.14. Use Case Diagram Mengakses Data Akun

Page 14: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

42

A. 3. Use Case Data Jurnal

Gambar III.15. Use Case Diagram Mengakses Data Jurnal

A. 4. Use Case Data Barang Keluar

Gambar III.16. Use Case Diagram Mengakses Data Barang Keluar

A. 5. Use Case Data Supplier

Gambar III.17. Use Case Diagram Mengakses Data Supplier

Page 15: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

43

A. 6. Use Case Data Pelanggan

Gambar III.18. Use Case Diagram Mengakses Data Pelanggan

A. 7. Use Case Data Pegawai

Gambar III.19. Use Case Diagram Mengakses Data Pegawai

Page 16: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

44

Tabel III.1

Deskripsi use case Halaman Admin

Use Case Narative Halaman Admin

Tujuan Admin dapat melihat data yang ada di dalam sistem

halaman admin

Deskripsi Sistem ni memungkinkan aktor untuk masuk ke

halamannya ada menu login, data akun, data jurnal,

barang keluar, supplier, pelanggan dan pegawai.

Skenario Utama

Aktor Admin

Kondisi Awal Aktor membuka aplikasi halaman

Admin

Aksi Aktor Reaksi Sistem

1. 1. Aktor memilih menu login

2.

3. 2. Aktor memilih menu data akun

3. Aktor memilih menu data jurnal

4. Aktor memilih menu data barang

keluar

5. Aktor memilih menu data suplier

Sistem akan menampilkan informasi

login.

Sistem akan menampilkan informasi

data akun.

Sistem akan menampilkan informasi

data jurnal.

Sistem akan menampilkan informasi

data barang keluar.

Sistem akan menampilkan informasi

data supplier.

Page 17: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

45

6. Aktor memilih menu data pelanggan

7. Aktor memilih menu data pegawai

Sistem akan menampilkan informasi

data pelanggan.

Sistem akan menampilkan informasi

data pegawai.

Kondisi akhir Jika perintah sesuai maka sistem akan

menampilkan sesuai keinginan

2. Bagian Gudang

B. 1. Use Case Login

Gambar III.20. Use Case Diagram Mengakses Data Login

B. 2. Use Case Data Barang

Gambar III.21. Use Case Diagram Mengakses Data Barang

Page 18: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

46

B. 3. Use Case Data Pegawai

Gambar III.22. Use Case Diagram Mengakses Data Pegawai

B. 4. Use Case Data Barang Masuk

Gambar III.23. Use Case Diagram Mengakses Data Barang Masuk

Page 19: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

47

Tabel III.2

Deskripsi use case Halaman Bagian Gudang

Use Case Narative Halaman Bagian Gudang

Tujuan Bagian gudang dapat melihat data yang ada di dalam

sistem halaman bagian gudang

Deskripsi Sistem ni memungkinkan aktor untuk masuk ke

halamannya ada menu menu login, data barang, data

pegawai dan data barang masuk.

Skenario Utama

Aktor Bagian Gudang

Kondisi Awal Aktor membuka aplikasi halaman

Bagian Gudang

Aksi Aktor Reaksi Sistem

4. 1. Aktor memilih menu login

5.

6. 2. Aktor memilih menu data barang

3. Aktor memilih menu data pegawai

4. Aktor memilih menu data barang

keluar.

Sistem akan menampilkan informasi

login.

Sistem akan menampilkan informasi

data barang.

Sistem akan menampilkan informasi

data pegawai.

Sistem akan menampilkan informasi

data barang keluar.

Kondisi Akhir Jika perintah sesuai maka sistem akan

menampilkan sesuai keinginan

Page 20: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

48

3.3.3. Activity Diagram

1. Admin

A. 1. Activity Diagram Mengakses Login

Gambar III.22. Activyti Diagram Mengakses Login

Page 21: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

49

A. 2. Activity Diagram Mengelola Data Akun

Gambar III.25. Activyti Diagram Data Akun

A. 3. Activity Diagram Mengelola Data Jurnal

Page 22: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

50

Gambar III.26. Activyti Diagram Data Jurnal

A. 4. Activity Diagram Mengelola Data Barang Keluar

Page 23: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

51

Gambar III.27. Activyti Diagram Data Barang Keluar

Page 24: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

52

A. 5. Activity Diagram Mengelola Data Supplier

Gambar III.28. Activyti Diagram Data Supplier

Page 25: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

53

A. 6. Activity Diagram Mengelola Data Pelanggan

Gambar III.29. Activyti Diagram Data Pelanggan

Page 26: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

54

A. 7. Activity Diagram Mengelola Data Pegawai

Gambar III.30. Activyti Diagram Data Pegawai

Page 27: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

55

2. Bagian Gudang

B. 1. Activity Diagram Mengakses Login

Gambar III.31. Activyti Diagram Mengakses Login

Page 28: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

56

B. 2. Activity Diagram Mengelola Data Barang

Gambar III.32. Activyti Diagram Data Barang

Page 29: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

57

B. 3. Activity Diagram Mengelola Data Pegawai

Gambar III.33. Activyti Diagram Data Pegawai

Page 30: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

58

B. 4. Activity Diagram Mengelola Data Barang Masuk

Gambar III.34. Activyti Diagram Data Barang Masuk

Page 31: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

59

3.4. Desain

3.4.1. Entity Relationship Diagram (ERD)

Gambar III.35. ERD Persedian Barang

Page 32: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

60

3.4.2. Logical Record Structure (LRS)

Gambar III.36. LRS Persedian Barang

Page 33: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

61

3.4.3. Spesifikasi File

Spesifikasi file yang digunakan dalam perancangan program aplikasi

persediaan barang dagang pada TB. Lugay Jaya adalah sebagai berikut:

1. Spesifikasi File Data Akun

Nama Database : inventori

Nama file : Data Akun

Tipe file : Jurnal

Akses file : Random

Panjang Record : 24 karakter

Field Key : data_akun

Software : My SQL

Tabel III.3

Spesifikasi File Data Akun

No Elemen Data Akronim Tipe Panjang Keterangan

1 Kode Akun kode_akun Varchar 12

2 Nama Akun nama_akun Varchar 12

2. Spesifikasi File Data Jurnal

Nama Database : inventori

Nama file : Data Jurnal

Tipe file : Jurnal

Akses file : Random

Panjang Record : 120 karakter

Field Key : Jurnal

Software : My SQL

Page 34: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

62

Tabel III.4

Spesifikasi File Data Jurnal

No Elemen Data Akronim Tipe Panjang Keterangan

1 Nomor Jurnal no_jurnal Varchar 14 Primary Key

2 Kode Jurnal kode_jurnal Varchar 14

3 Tanggal Tanggal Varchar 14

4 Debit Debit Varchar 14

5 Kredit Kredit Varchar 14

6 Keterangan Keterangan Varchar 50

3. Spesifikasi File Data Barang Keluar

Nama Database : inventori

Nama file : Data Barang Keluar

Tipe file : Transaksi

Akses file : Random

Panjang Record : 74 karakter

Field Key : tr_barang_keluar

Software : My SQL

Tabel III.5

Spesifikasi File Data Barang Keluar

No Elemen Data Akronim Tipe Panjang Keterangan

1 Id Barang

Keluar

id_barang

keluar

Int 11 Primary Key

2 Id Barang id_barang Int 11

3 Jumlah Jumlah Char 15

4 Detail Idbk_detail Varchar 11

5 Harga Harga Char 15

6 Total Total Char 11

Page 35: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

63

4. Spesifikasi File Data Barang Keluar Detail

Nama Database : inventori

Nama file : Data Barang Keluar Detail

Tipe file : Transaksi

Akses file : Random

Panjang Record : 114 karakter

Field Key : tr_barang_keluar

Software : My SQL

Tabel III.6

Spesifikasi File Data Barang Keluar Detail

No Elemen Data Akronim Tipe Panjang Keterangan

1 Id Barang

Keluar

id_barang

keluar

Int 11 Primary Key

2 Id Barang id_barang Int 11

3 Jumlah Jumlah Char 14

4 Detail Idbk_detail Varchar 50

5 Harga Harga Char 14

6 Total Total Char 14

5 Spesifikasi File Data Suplier

Nama Database : inventori

Nama file : Data Suplier

Tipe file : Master

Akses file : Random

Panjang Record : 326 karakter

Field Key : tmsupplier

Software : My SQL

Page 36: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

64

Tabel III.7

Spesifikasi File Data Supplier

No Elemen Data Akronim Tipe Panjang Keterangan

1 Id Supplier id_supplier Int 11 Primary Key

2 Nama Nama Varchar 100

3 Alamat Alamat Varchar 200

4 No Telepon no_telp Varchar 15

6. Spesifikasi File Data Pelanggan

Nama Database : inventori

Nama file : Data Pelanggan

Tipe file : Master

Akses file : Random

Panjang Record : 276 karakter

Field Key : tmpelanggan

Software : My SQL

Tabel III.8

Spesifikasi File Data Pelanggan

No Elemen Data Akronim Tipe Panjang Keterangan

1 Id Pelanggan id_pelanggan Int 11 Primary Key

2 Nama Nama Varchar 50

3 Alamat Alamat Varchar 200

4 No Telepon no_telp Varchar 15

7. Spesifikasi File Data Petugas

Nama Database : inventori

Nama file : Data Pegawai

Tipe file : Master

Page 37: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

65

Akses file : Random

Panjang Record : 261 karakter

Field Key : petugas

Software : My SQL

Tabel III.9

Spesifikasi File Data petugas

No Elemen Data Akronim Tipe Panjang Keterangan

1 Id Petugas id_petugas Int 11 Primary Key

2 Nama Nama Varchar 50

3 User Name use_nama Varchar 100

4 Password Password Varchar 100

8. Spesifikasi File Data Barang

Nama Database : inventori

Nama file : Data Barang

Tipe file : Master

Akses file : Random

Panjang Record : 118 karakter

Field Key : tmbarang

Software : My SQL

Tabel III.10

Spesifikasi File Data Barang

No Elemen Data Akronim Tipe Panjang Keterangan

1 Id Barang id_barang Int 11 Primary Key

2 Nama Nama Varchar 50

3 No Rak no_rak Varchar 11

4 Stok stok Int 11

Page 38: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

66

5 Satuan Satuan Varchar 20

6 Harga Harga Varchar 15

9. Spesifikasi File Data Barang Masuk

Nama Database : inventori

Nama file : Data Barang Masuk

Tipe file : Transaksi

Akses file : Random

Panjang Record : 108 karakter

Field Key : tr_barang_masukdetaill

Software : My SQL

Tabel III.11

Spesifikasi File Data Barang Masuk

No Elemen Data Akronim Tipe Panjang Keterangan

1 Id Barang

Masuk

id-

_barang_masuk

Int 11 Primary Key

2 Id Barang id_barang Int 50

3 Jumlah Jumlah Varchar 11

4 Stok stok Int 11

5 Satuan Satuan Varchar 20

6 Harga Harga Varchar 15

10. Spesifikasi File Data Barang Masuk Detail

Nama Database : inventori

Nama file : Data Barang Masuk

Tipe file : Transaksi

Akses file : Random

Panjang Record : 44 karakter

Field Key : tr_barang_masukdetaill

Software : My SQL

Page 39: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

67

Tabel III.12

Spesifikasi File Data Barang Masuk Detail

No Elemen Data Akronim Tipe Panjang Keterangan

1 Id Barang

Masuk

id-

_barang_masuk

Int 11 Primary Key

2 Id Petugas id_petugas Int 11

3 Tanggal Tanggal Int 11

4 Id Supplier Id_supplier Int 11

3.4.4. Sequence Diagram

1. Sequence Diagram Barang Masuk

Gambar III.37. Sequence Diagram Barang Masuk

Page 40: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

68

2. Sequence Diagram Barang Keluar

Gambar III.38. Sequence Diagram Barang Keluar

Page 41: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

69

3.4.4. Deployment Diagram

Gambar III.39. Deployment Diagram

3.4.6. User Interface

1. Rancangan Login

Gambar III.40. Login

Page 42: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

70

2. Rancangan Menu Utama

Gambar III.41. Menu Utama

4. Rancangan Menu Akun

Gambar III.42. Menu Akun

Page 43: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

71

5. Rancangan Menu Master

Gambar III.43. Menu Master

6. Rancangan Menu Sipplier

Gambar III.44. Menu Supplier

Page 44: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

72

7. Rancangan Menu Pelanggan

Gambar III.45. Menu Pelanggan

8. Rancangan Menu Pegawai

Gambar III.46. Menu Pegawai

Page 45: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

73

9. Rancangan Menu Data Barang

Gambar III.47. Menu Data Barang

10. Rancangan Menu Transaksi

Gambar III.48. Menu Transaksi

Page 46: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

74

11. Rancangan Menu Barang Masuk

Gambar III.49. Menu Barang Masuk

12. Rancangan Menu Barang Keluar

Gambar III.50 Menu Barang Keluar

Page 47: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

75

13. Rancangan Menu Cetak Laporan

Gambar III.51. Menu Cetak Laporan

14. Rancangan Menu Jurnal

Gambar III.52. Menu Jurnal

Page 48: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

76

15. Rancangan Menu Data Akun

Gambar III.53. Menu Data Akun

16. Rancangan Menu Data Jurnal

Gambar III.54. Mnu Data Jurnal

Page 49: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

77

3.5. Implementasi

Implementasi merupakan perealisasian dari perancangan sistem informasi

akuntansi persediaan barang dagang pada TB. Lugay Jaya purwakarta. Implentasi itu

menjelaskan tentang code generation untuk transaksi bisnis program, pengujian

menggunakan black box testing, spesifikasi hardware dan software.

3.5.1. Code Generation

1. Login

package inventori_barang;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.GraphicsEnvironment;

import java.awt.Point;

import java.security.MessageDigest;

import java.sql.Connection;

import java.sql.SQLException;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

import java.security.NoSuchAlgorithmException;

import java.util.Arrays;

import javax.swing.ImageIcon;

import javax.swing.JMenu;

/**

*

Page 50: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

78

* @author muhamadyusuf

*/

public final class FrmloginPetugas extends javax.swing.JFrame {

/**

* Creates new form FrmloginPetugas

*/

inventori_barang.koneksi konek = new inventori_barang.koneksi();

inventori_barang.PetugasSession PetugasSession = new

inventori_barang.PetugasSession();

public FrmloginPetugas() {

ImageIcon img = new ImageIcon("src/inventori_barang/img/icon.png");

this.setIconImage(img.getImage());

initComponents();

initUI();

}

private void initUI(){

getContentPane().setBackground(new Color(245, 245, 245));

Dimension windowSize = getSize();

GraphicsEnvironment ge =

GraphicsEnvironment.getLocalGraphicsEnvironment();

Point centerPoint = ge.getCenterPoint();

int dx = centerPoint.x - windowSize.width / 2;

int dy = centerPoint.y - windowSize.height / 2;

Page 51: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

79

setLocation(dx, dy);

}

private void btnloginActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

String row_txtusername = txtusername.getText();

String row_txtpassword = null;

try {

row_txtpassword = sha1(Arrays.toString(txtpassword.getPassword()));

} catch (NoSuchAlgorithmException ex) {

Logger.getLogger(FrmloginPetugas.class.getName()).log(Level.SEVERE,

null, ex);

}

try {

Connection conn = konek.openkoneksi();

java.sql.Statement stm = conn.createStatement();

java.sql.ResultSet rsLogin = stm.executeQuery("SELECT * FROM

tmpetugas WHERE username = '" + row_txtusername + "' AND password = '" +

row_txtpassword + "' and status = 'aktif'");

rsLogin.next();

rsLogin.last();

if (rsLogin.getRow()==1){

PetugasSession.setU_id(rsLogin.getInt("id"));

PetugasSession.setU_username(rsLogin.getString("username"));

PetugasSession.setU_password(row_txtpassword);

PetugasSession.setU_nama(rsLogin.getString("nama"));

new Frmmain().setVisible(true);

Page 52: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

80

this.dispose();

}

else{

JOptionPane.showMessageDialog(null, "Maaf, Username atau password

belum terdaftar.");

txtusername.setText("");

txtpassword.setText("");

txtusername.requestFocus();

}

konek.closekoneksi();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

} catch (ClassNotFoundException ex) {

Logger.getLogger(FrmloginPetugas.class.getName()).log(Level.SEVERE,

null, ex);

}

}

static String sha1(String input) throws NoSuchAlgorithmException {

MessageDigest mDigest = MessageDigest.getInstance("SHA1");

byte[] result = mDigest.digest(input.getBytes());

StringBuilder sb = new StringBuilder();

for (int i = 0; i < result.length; i++) {

sb.append(Integer.toString((result[i] & 0xff) + 0x100, 16).substring(1));

}

return sb.toString(); }

Page 53: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

81

2. Data Barang Masuk

package inventori_barang;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Frame;

import java.awt.GraphicsEnvironment;

import java.awt.Point;

import java.awt.event.KeyEvent;

import java.io.File;

import java.sql.Connection;

import java.sql.SQLException;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.HashMap;

import javax.swing.table.DefaultTableModel;

import net.sf.jasperreports.engine.JRException;

import net.sf.jasperreports.engine.JasperCompileManager;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.design.JasperDesign;

Page 54: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

82

import net.sf.jasperreports.engine.xml.JRXmlLoader;

import net.sf.jasperreports.view.JasperViewer;

/**

*

* @author muhamadyusuf

*/

public class FrmtransaksiMasuk extends javax.swing.JDialog {

/**

* Creates new form Frmmaster_barang

* @param parent

* @param modal

*/

inventori_barang.PetugasSession PetugasSession = new

inventori_barang.PetugasSession();

inventori_barang.koneksi konek = new inventori_barang.koneksi();

public FrmtransaksiMasuk(java.awt.Frame parent, boolean modal) {

super(parent, modal);

initComponents();

initUI();

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar cal = Calendar.getInstance();

txttgl.setText(dateFormat.format(cal.getTime()));

Page 55: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

83

txtnm_petugas.setText(PetugasSession.getU_nama());

txtid_petugas.setText(Integer.toString(PetugasSession.getU_id()));

SelectPelanggan();

TxtEmpty();

}

private void initUI(){

getContentPane().setBackground(new Color(245, 245, 245));

Dimension windowSize = getSize();

GraphicsEnvironment ge =

GraphicsEnvironment.getLocalGraphicsEnvironment();

Point centerPoint = ge.getCenterPoint();

int dx = centerPoint.x - windowSize.width / 2;

int dy = centerPoint.y - windowSize.height / 2;

setLocation(dx, dy);

}

private void SelectPelanggan(){

try {

Connection conn = konek.openkoneksi();

java.sql.Statement stm = conn.createStatement();

java.sql.ResultSet rs = stm.executeQuery("SELECT * FROM tmsupplier");

cmbid_pelanggan.addItem("Pilih");

while(rs.next()){

Page 56: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

84

cmbid_pelanggan.addItem(rs.getString("kode") + " " +

rs.getString("nama"));

}

konek.closekoneksi();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

} catch (ClassNotFoundException ex) {

Logger.getLogger(Frmbarang.class.getName()).log(Level.SEVERE, null,

ex);

}

}

private void TxtEmpty(){

TableEmpty();

BtnEnabled(false);

lblnama_barang.setText("-");

txtid_selected.setText("");

txtid_pelanggan.hide();

txtid_petugas.hide();

txtid_barang.hide();

txtjumlah_barang_max.hide();

txtotal.hide();

txtharga.hide();

cmbid_pelanggan.setSelectedItem("Pilih");

cmbid_pelanggan.requestFocus();

}

Page 57: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

85

private void TableEmpty(){

DefaultTableModel model = (DefaultTableModel) datatable.getModel();

int rowCount = model.getRowCount();

for (int i = rowCount - 1; i >= 0; i--) {

model.removeRow(i);

}

}

private void BtnEnabled(boolean x){

btnDelRow.setEnabled(x);

}

public final void auto_sum(){

int total =0;

for (int i =0; i< datatable.getRowCount(); i++){

int amount = Integer.parseInt((String)datatable.getValueAt(i, 5));

total += amount;

}

txtsubtotal.setText(""+total);

}

private void GetData_View(){

String row = Integer.toString(datatable.getSelectedRow());

txtid_selected.setText(row);

Page 58: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

86

BtnEnabled(true);

}

int nilai1;

int nilai2;

int nilai3;

String Hasil;

nilai1=Integer.valueOf(txtharga.getText());

nilai2=Integer.valueOf(txtjumlah_barang.getText());

nilai3=nilai1*nilai2;

Hasil=String.valueOf(nilai3);

txtotal.setText(Hasil);

String data1 = txtid_barang.getText();

String data2 = txtkode_barang.getText();

String data3 = lblnama_barang.getText();

String data4 = txtjumlah_barang.getText();

String data5 = txtharga.getText();

String data6 = txtotal.getText();

if(!(data1.equals("")) && !(data2.equals("")) && !(data3.equals("")) &&

!(data4.equals(""))&& !(data5.equals("")) && !(data6.equals(""))){

int jumlah = Integer.parseInt(data4);

int jumlah_max = Integer.parseInt(txtjumlah_barang_max.getText());

//if(jumlah <= jumlah_max){

Page 59: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

87

Object[] row = { data1, data2, data3, data4 , data5 , data6 };

DefaultTableModel model = (DefaultTableModel) datatable.getModel();

model.addRow(row);

txtid_barang.setText("");

txtkode_barang.setText("");

lblnama_barang.setText("-");

txtjumlah_barang.setText("");

txtjumlah_barang_max.setText("");

txtharga.setText("");

txtotal.setText("");

txtkode_barang.requestFocus();

// }else{

// JOptionPane.showMessageDialog(null, "Jumlah melebihi stok barang.");

//}

}else{

JOptionPane.showMessageDialog(null, "Terdapat inputan yang kosong.");

}

auto_sum();

}

private void cmbid_pelangganItemStateChanged(java.awt.event.ItemEvent evt) {

// TODO add your handling code here:

String[] nama_kategori =

cmbid_pelanggan.getSelectedItem().toString().split("\\s+");

Page 60: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

88

String kode = nama_kategori[0];

if(!kode.equals("Pilih")){

try {

Connection conn = konek.openkoneksi();

java.sql.Statement stm = conn.createStatement();

java.sql.ResultSet sql = stm.executeQuery("SELECT id FROM

tmsupplier WHERE kode='"+kode+"'");

if(sql.next()){

txtid_pelanggan.setText(sql.getString("id"));

}

konek.closekoneksi();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

} catch (ClassNotFoundException ex) {

Logger.getLogger(FrmtransaksiMasuk.class.getName()).log(Level.SEVERE, null,

ex);

}

}else{

txtid_pelanggan.setText("");

}

}

private void txtkode_barangFocusLost(java.awt.event.FocusEvent evt) {

// TODO add your handling code here:

Page 61: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

89

String kode = txtkode_barang.getText();

if(!kode.equals("")){

//--------- Cek In jtable

Integer same_kode = 0;

DefaultTableModel model = (DefaultTableModel) datatable.getModel();

int rowCount = model.getRowCount();

for (int i = 0; i < rowCount; i++) {

if(kode.equals(datatable.getModel().getValueAt(i, 1).toString())){

same_kode = 1;

}

}

if(same_kode == 0){

try {

Connection conn = konek.openkoneksi();

java.sql.Statement stm = conn.createStatement();

java.sql.ResultSet sql = stm.executeQuery("SELECT * FROM tmbarang

WHERE kode='"+kode+"'");

if(sql.next()){

txtid_barang.setText(sql.getString("id"));

lblnama_barang.setText(sql.getString("nama"));

txtjumlah_barang_max.setText(sql.getString("stok"));

txtharga.setText(sql.getString("harga"));

}else{

Page 62: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

90

JOptionPane.showMessageDialog(null, "Kode barang tidak

ditemukan.");

txtid_barang.setText("");

lblnama_barang.setText("-");

txtkode_barang.setText("");

txtjumlah_barang_max.setText("");

txtharga.setText("");

txtotal.setText("");

}

konek.closekoneksi();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

} catch (ClassNotFoundException ex) {

Logger.getLogger(FrmtransaksiMasuk.class.getName()).log(Level.SEVERE, null,

ex);

}

}else{

JOptionPane.showMessageDialog(null, "Kode barang sudah pernah

ditambah.");

txtkode_barang.setText("");

}

}else{

txtid_barang.setText("");

lblnama_barang.setText("-");

txtjumlah_barang_max.setText("");

}

}

Page 63: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

91

private void btnsaveActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

String row_tgl = txttgl.getText();

String row_idpelanggan = txtid_pelanggan.getText();

String row_idpetugas = txtid_petugas.getText();

String id, kode;

Integer id_barang_masuk = 0, jumlah, harga, total, stok, not_found, empty = 0;

DefaultTableModel model = (DefaultTableModel) datatable.getModel();

int rowCount = model.getRowCount();

if(rowCount > 0 && !"".equals(row_tgl) && !"".equals(row_idpelanggan) &&

!"".equals(row_idpetugas)){

//------- Memasukan pada tabel transaksi lihat [trbarang_] dan

mengeluarkan id terakhir

try {

Connection conn = konek.openkoneksi();

java.sql.Statement stm = conn.createStatement();

stm.executeUpdate("INSERT INTO trbarang_masuk(tgl, id_petugas,

id_supplier) VALUES ('" + row_tgl + "', '" + row_idpetugas + "', '" +

row_idpelanggan + "')");

konek.closekoneksi();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

} catch (ClassNotFoundException ex) {

Page 64: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

92

Logger.getLogger(Frmbarang.class.getName()).log(Level.SEVERE, null,

ex);

}

try {

Connection conn = konek.openkoneksi();

java.sql.Statement stm = conn.createStatement();

java.sql.ResultSet sql = stm.executeQuery("SELECT MAX(id) as max

FROM trbarang_masuk");

sql.next();

id_barang_masuk = sql.getInt("max");

konek.closekoneksi();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

} catch (ClassNotFoundException ex) {

Logger.getLogger(Frmbarang.class.getName()).log(Level.SEVERE, null,

ex);

}

for (int i = 0; i < rowCount; i++) {

not_found = 0;

stok = 0;

id = (datatable.getModel().getValueAt(i, 0).toString());

kode = (datatable.getModel().getValueAt(i, 1).toString());

jumlah = Integer.parseInt((String) datatable.getModel().getValueAt(i, 3));

harga = Integer.parseInt((String) datatable.getModel().getValueAt(i, 4));

total = Integer.parseInt((String) datatable.getModel().getValueAt(i, 5));

Page 65: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

93

//------- Menjumlahkan stok dengan data jumlah

try {

Connection conn = konek.openkoneksi();

java.sql.Statement stm = conn.createStatement();

java.sql.ResultSet sql = stm.executeQuery("SELECT stok FROM

tmbarang WHERE id = '" + id + "'");

sql.next();

sql.last();

if (sql.getRow() == 1){

stok = jumlah + sql.getInt("stok");

} else {

not_found = 1;

}

konek.closekoneksi();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

} catch (ClassNotFoundException ex) {

Logger.getLogger(FrmloginPetugas.class.getName()).log(Level.SEVERE, null, ex);

}

if(not_found == 0){

//------- Mengupdate jumlah stok barang

Page 66: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

94

try {

Connection conn = konek.openkoneksi();

java.sql.Statement stm = conn.createStatement();

stm.executeUpdate("UPDATE tmbarang SET stok='" + stok + "'

WHERE id = '" + id + "'");

konek.closekoneksi();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

} catch (ClassNotFoundException ex) {

Logger.getLogger(Frmbarang.class.getName()).log(Level.SEVERE,

null, ex);

}

//------- Memasukan pada table transaksi detail

try {

Connection conn = konek.openkoneksi();

java.sql.Statement stm = conn.createStatement();

stm.executeUpdate("INSERT INTO

trbarang_masuk_detail(id_barang_masuk, id_barang, jumlah, harga, total) VALUES

('" + id_barang_masuk + "', '" + id + "', '" + jumlah + "', '" + harga + "', '" + total +

"')");

empty = 1;

konek.closekoneksi();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

} catch (ClassNotFoundException ex) {

Logger.getLogger(Frmbarang.class.getName()).log(Level.SEVERE,

null, ex);

}

Page 67: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

95

}else{

JOptionPane.showMessageDialog(null, "Sistem tidak menemukan

barang dengan kode = " + kode , "Barang " + kode + " Gagal Disimpan",

JOptionPane.ERROR_MESSAGE);

}

//------- Opsi jika terdapat barang yang belum satupun di masukan

if(empty == 0){

try {

Connection conn = konek.openkoneksi();

java.sql.Statement stm = conn.createStatement();

stm.executeUpdate("DELETE FROM trbarang_masuk WHERE id =

'" + id_barang_masuk + "'");

konek.closekoneksi();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

} catch (ClassNotFoundException ex) {

Logger.getLogger(Frmbarang.class.getName()).log(Level.SEVERE,

null, ex);

}

}else{

}

}

JOptionPane.showMessageDialog(null, "Berhasil menyimpan data

transaksi");

Page 68: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

96

try {

HashMap hash = new HashMap();

hash.put("nm_supplier", cmbid_pelanggan.getSelectedItem().toString());

hash.put("id", id_barang_masuk);

File file = new File("src/report/report_transaksiMasuk.jrxml");

JasperDesign jasperDesign = JRXmlLoader.load(file);

JasperReport jasperReport =

JasperCompileManager.compileReport(jasperDesign);

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hash,

konek.openkoneksi());

JasperViewer.viewReport(jasperPrint, false);

}catch (ClassNotFoundException | JRException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

}

this.hide();

}else{

JOptionPane.showMessageDialog(null, "Terdapat inputan yang kosong.");

}

}

private void jLabel7MouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

TxtEmpty();

}

private void btnTableEmptyActionPerformed(java.awt.event.ActionEvent evt) {

Page 69: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

97

// TODO add your handling code here:

int ok = JOptionPane.showConfirmDialog(null, "Anda yakin ingin menghapus

semua baris ini?", "Konfirmasi", JOptionPane.OK_CANCEL_OPTION);

if(ok==0) {

TableEmpty();

}

}

private void datatableMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

GetData_View();

}

private void btnDelRowActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

int ok = JOptionPane.showConfirmDialog(null, "Anda yakin ingin menghapus

baris ini?", "Konfirmasi", JOptionPane.OK_CANCEL_OPTION);

if(ok==0) {

int row = Integer.parseInt(txtid_selected.getText());

DefaultTableModel model = (DefaultTableModel) datatable.getModel();

model.removeRow(row);

BtnEnabled(false);

}

}

private void datatableMouseReleased(java.awt.event.MouseEvent evt) {

Page 70: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

98

// TODO add your handling code here:

GetData_View();

}

private void datatableKeyReleased(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

GetData_View();

}

private void txtjumlah_barangKeyTyped(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

char c = evt.getKeyChar();

if(!(Character.isDigit(c)) && !(c == KeyEvent.VK_BACK_SPACE)){

JOptionPane.showMessageDialog(null, "Inputan hanya boleh angka", "Ilegal

Input", JOptionPane.ERROR_MESSAGE);

evt.consume();

}

}

Page 71: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

99

3.5.2. Blackbox Testing

Tabel III.13

Blackbox Testing

No Nama pengujiaan Kondisi pengujian Hasil pengujian

1. Form login 1. jika username

dipassword disini,

kemudian user

mengklik tombol

login.

2. jika username

password diisi

tetap salah

1. muncul pesan

kesalahan

“silahkan isi

semua data”

2. muncul pesan

kesalahan

“username atau

password salah”

2. Input data barang

masuk

1. pada kolom

jumlah barang

diisi dengan huruf

2. pada kolom

jumlah barang

diisi dengan

angka

1. muncul pesan

kesalahan “diisi

dengan angka”

2. muncul pesan

“perintah berhasil

dilakukan”

3. Input penambahan

pelanggan

1. jika salah satu

kolom tidak diisi

lalu user mengklik

tombol simpan

2. jika pada kolom

penambahan

suplier diisi

dengan lengkap

1. muncul pesan

kesalahan “

terdapat inputan

yang kosong”

2. data berhasil

diinput dan masuk

pada menu data

suplier.

4. Laporan barang

masuk

1. pada saat

penarikan laporan

tidak sesuai

dengan data yang

telah diinput

2. pada saat

penarikan laporan

sesuai dengan

data yang telah di

input

1. data tidak dapat

diproses karena

inputan data

barang dimulai

dari tangga;

13/06/2018

2. data dapat di

proses dengan

benar dan

menghasilkan

laporan

Page 72: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · d. Membuat catatan pembukuan kas masuk dan keluar. 3. Bagian Gudang Bagian Gudang adalah orang yang bertanggung jawab atas persediaan

100

3.5.3. Spesifikasi Hardware dan Software

1. Spesifikasi Hardware

Processor : Intel Dual-Core N3060, up to 2.48GHz

Installed memory (RAM) : 2.00 GB

System type : 64-bit Operating System, x64-based processor

Monitor : 14 inch

Printer : Deskjet

Keyboard : Standard

Mouse : Standard

2. Spesifikasi Software

System Oprasi : Windows 10

Bahasa Pemograman : Java.net

Aplikasi Pendukung : Neatbeans IDE 8.1

DBMS : My SQL