bab iii pembahasan 3.1. tinjauan perusahaan · antara stok barang yang ada dibuku persediaan dan...

56
30 BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan Dalam tinjauan perusahaan ini merupakan penelitian tentang sejarah, Struktur Organisasi, serta tugas dan fungsi dari masing-masing bagian yang ada pada perusahaan yang akan menjadi tempat penelitian. Perusahaan yang diteliti adalah CV Asta Prima Cikampek yang bergerak dalam bidang distributor alat kesehatan. Kegiatan utama CV Asta Prima Cikampek adalah melakukan distribusi alat kesehatan. Berikut ini hal-hal yang akan diuraikan pada tinjauan perusahaan adalah sejarah berdirinya perusahaan, struktur organisasi serta tugas dan fungsi masing-masing bagian yang ada pada CV Asta Prima Cikampek. 3.1.1. Sejarah Perusahaan CV Asta Prima Cikampek didirikan pada tahun 2009 dengan Surat Izin Usaha Perdagangan (SIUP) Kecil Nomor : 503.09/1-848/BPPT/PK-02/V/2009. CV Asta Prima Cikampek terdaftar sebagai Wajib Pajak (WP) di kantor pelayanan pajak yang tersedia dengan NPWP NO.01.851.422.4-435.000. Perusahaan yang bertempat di Gg. Jalan Merdeka, RT 08/RW 02 Kampung Rawasari, Desa Jomin Timur, Kota Baru, Karawang, Jawa Barat 41377. Perusahaan ini dipimpin oleh Bapak Ir. Yoga Mardiyanto sebagai direktur. Perusahaan ini merupakan anak cabang dari CV Asta Prima Bekasi sebagai kantor pusat yang sebelumnya didirikan pada tahun 2008. Kantor pusat CV Asta Prima Bekasi beralamat di perumahan Bekasi Regensi I Blok D1/22 RT 001/005, Cibitung, Bekasi, Jawa Barat .

Upload: others

Post on 27-Nov-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

30

BAB III

PEMBAHASAN

3.1. Tinjauan Perusahaan

Dalam tinjauan perusahaan ini merupakan penelitian tentang sejarah, Struktur

Organisasi, serta tugas dan fungsi dari masing-masing bagian yang ada pada

perusahaan yang akan menjadi tempat penelitian.

Perusahaan yang diteliti adalah CV Asta Prima Cikampek yang bergerak

dalam bidang distributor alat kesehatan. Kegiatan utama CV Asta Prima Cikampek

adalah melakukan distribusi alat kesehatan. Berikut ini hal-hal yang akan diuraikan

pada tinjauan perusahaan adalah sejarah berdirinya perusahaan, struktur organisasi

serta tugas dan fungsi masing-masing bagian yang ada pada CV Asta Prima

Cikampek.

3.1.1. Sejarah Perusahaan

CV Asta Prima Cikampek didirikan pada tahun 2009 dengan Surat Izin Usaha

Perdagangan (SIUP) Kecil Nomor : 503.09/1-848/BPPT/PK-02/V/2009. CV Asta

Prima Cikampek terdaftar sebagai Wajib Pajak (WP) di kantor pelayanan pajak yang

tersedia dengan NPWP NO.01.851.422.4-435.000.

Perusahaan yang bertempat di Gg. Jalan Merdeka, RT 08/RW 02 Kampung

Rawasari, Desa Jomin Timur, Kota Baru, Karawang, Jawa Barat 41377. Perusahaan

ini dipimpin oleh Bapak Ir. Yoga Mardiyanto sebagai direktur. Perusahaan ini

merupakan anak cabang dari CV Asta Prima Bekasi sebagai kantor pusat yang

sebelumnya didirikan pada tahun 2008. Kantor pusat CV Asta Prima Bekasi

beralamat di perumahan Bekasi Regensi I Blok D1/22 RT 001/005, Cibitung, Bekasi,

Jawa Barat .

Page 2: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

31

CV Asta Prima Cikampek merupakan perusahaan yang bergerak di bidang

distributor alat kesehatan. Jumlah karyawan di CV Asta Prima Cikampek sekarang

ini berjumlah sebanyak 5 orang karyawan, mereka bekerja sebagai administrasi 2

orang, marketing 2 orang dan 1 orang sebagai koordinator/bagian gudang. Cakupan

perusahaan CV Asta Prima Cikampek meliputi wilayah Cikampek, Karawang dan

purwakarta. Ada beberapa Rumah sakit, Apotek dan masyarakat umum yang telah

menjadi pelanggan di CV Asta Prima Cikampek. Adapun Rumah Sakit yang telah

bekerja sama dengan CV Asta Prima Cikampek diantaranya sebagai berikut:

1. Rumah Sakit Umum Saraswati

2. Rumah Sakit Lira Medika

3. Rumah Sakit Fikri Medika

4. Rumah Sakit Siloam

5. Rumah Sakit Helsa Cikampek

Sementara itu peralatan kesehatan yang tersedia pada CV Asta Prima

Cikampek itu bermacam-macam salah satunya adalah topi operasi, masker, jarum

suntik, tsarung tangan dan alat kesehatan lainnya. Tidak hanya itu saja melainkan

banyak sekali barang-barang yang tersedia, namun hanya beberapa barang tersebut

yang sering dibutuhkan masyarakat atau pelanggan.

3.1.2. Struktur Organisasi dan Fungsi

Pada setiap instansi unit usaha memiliki struktur organiasi untuk

mengendalikan jalannya instansi dengan baik agar segala wewenang dan tanggung

jawab bagi setiap induvidu yang terlibat dalam instansi dapat dipertanggung

jawabkan. Dengan adanya struktur organisasi, maka setiap individu mendapatkan

ruang lingkup pekerjaan yang jelas, sehingga dengan demikian terjalinlah suatu

kerjasama yang baik dalam pencapaian tujuan instansi.

Page 3: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

32

Berikut ini adalah bagian – bagian yang terdapat dalam struktur organisasi

pada CV Asta Prima Cikampek dengan menggunakan masing- masing fungsinya.

Sumber : CV Asta Prima Cikampek (2019)

Gambar III.1.

Struktur Organisasi CV Asta Prima Cikampek

Adapun fungsi dari masing-masing bagan Struktur Organisasi sesuai dengan

tugasnya adalah sebagai berikut:

1. Direktur Pusat CV Asta Prima Cikampek:

a. Menyediakan pengadaan persediaan alat kesehatan

b. Memantau jalannya proses kegiatan CV Asta Prima Cikampek

c. Mengecek data piutang

Page 4: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

33

2. Wakil Direktur Pusat CV Asta Prima Cikampek

a. Memantau kondisi pembayaran konsumen

b. Mencacat laporan kas harian

c. Mencatat pembayaran konsumen

d. Mencacat keuntungan penjualan bulanan

3. Bagian koordinator atau gudang CV Asta Prima Cikampek

a. Mengeluarkan barang

b. Memantau pengiriman barang

c. Memegang uang kas harian dari hasil penjualan yang kemudian disetor ke

wakil direktur

4. Administrasi keuangan CV Asta Prima Cikampek

a. Mencacat pemesanan alat kesehatan

b. Membuat faktur

c. Membuat laporan persediaan per bulan

d. Mencatat laporan kas harian

e. Membuat data pembayaran

5. Bagian marketing CV Asta Prima Cikampek

a. Menawarkan alat kesehatan pada konsumen

b. Melakukan pengiriman barang pada konsumen

c. Memberikan data pembayaran kepada konsumen

3.2. Tinjauan Kasus

Pada tinjauan kasus ini, penulis akan menjelaskan tentang hasil penelitian

pada CV Asta Prima Cikampek mengenai sistem berjalan, serta beberapa

Permalasahan yang terdapat pada CV Asta Prima Cikampek, dan pemecahan

masalah atau solusi yang dapat penulis sarankan pada CV Asta Prima Cikampek.

Page 5: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

34

3.2.1. Proses Bisnis Sistem Berjalan

Proses bisnis sistem berjalan yang ada pada CV Asta Prima Cikampek saat

ini adalah sebagai berikut:

1. Prosedur pemesan dari konsumen

Marketing menawarkan barang ke konsumen dengan menggunakan daftar harga,

kemudian konsumen mempertimbangkan harga apabila harga sesuai konsumen

akan membuat data pesanan barang yang diserahkan ke marketing.

2. Prosedur pengecekan barang

Admin menerima data pesanan, kemudian mencatatnya dibuku pesanan barang

setelah itu admin melakukan pengecekan persediaan barang, jika ada barang

yang kosong admin akan menginformasikan kepada konsumen dan mencatat

barang yang kosong dibuku kekurangan barang, apabila barangnya ada admin

akan menyerahkan buku pesanan kepada bagian gudang untuk menyiapkan

barang.

3. Prosedur pencatatan dan pemesanan barang

Admin mencatat barang yang keluar dibuku keluar, setelah itu dmin mencatat

persedian barang dibuku persediaan sesuai dengan barang yang keluar.

Kemudian admin memesan barang sesuai dengan kekurangan barang yang sudah

dicatat.

4. Prosedur datang barang

Setelah pemesanan barang, bagian ekspedisi menyerahkan 2 faktur rangkap

kepada bagian gudang, kemudian bagian udang mengecek barang yang datang

sesuai dngan faktur, apabila barang yang datang sudah sesuai dengan faktur lalu

bagian gudang menandatangani faktur tersebut dan faktur yang berwarna kuning

Page 6: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

35

diserahkan kebagian ekspedisi dan yang berwarna merah muda diserahkan ke

bagian admin.

5. Prosedur stok barang dan laporan

Setelah barang disimpan digudang bagian admin mencatat barang yang datang

sesuai faktur berwarna merah muda dibuku persediaan barang. Kemudian admin

membuat laporan seluruh barang sesuai dengan buku persediaan barang

kemudian diserahkan kepada pemilik.

3.2.2. Activity Diagram Proses Bisnis Sistem Berjalan

1. Activity Diagram Proses Pemesanan Barang dari konsumen

Sumber:Hasil Penelitian

Gambar III.2.

Activity Diagram Proses Pemesanan Barang dari konsumen

Page 7: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

36

2. Activity Diagram Prosedur Pengecekan Barang

Sumber:Hasil Penelitian

Gambar III.3.

Activity Diagram Prosedur Pengecekan Barang

3. Activity Diagram Prosedur Pencatatan dan Pemesanan barang

Sumber:Hasil Penelitian

Gambar III.4.

Activity Diagram Prosedur Pencatatan dan Pemesanan barang

Page 8: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

37

4. Activity Diagram Prosedur Datang Barang

Sumber:Hasil Penelitian

Gambar III.5.

Activity Diagram Prosedur Datang Barang

5. Activity Diagram Prosedur Stok Barang dan Laporan

Sumber:Hasil Penelitian

Gambar III.6.

Activity Diagram Prosedur Stok Barang dan Laporan

Page 9: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

38

3.2.3. Dokumen Masukan

Dokumen masukan adalah segala bentuk dokumen yang berasal dari

lingkungan luar sistem yang berupa dokumen-dokumen yang akan diolah dalam

suatu proses agar dapat menghasilkan keluaran yang diinginkan. Adapun spesifikasi

bentuk dokumen-dokumen masukan yang terdapat pada CV Asta Prima Cikampek

adalah sebagai berikut :

Spesifikasi Bentuk Dokumen Masukan

1. Data Pesanan

Nama Dokumen : Data Pesanan

Fungsi : Untuk Pemesanan Barang

Sumber : Konsumen

Tujuan : Administrasi

Media : Kertas

Frekuensi : Setiap ada pesanan barang

Jumlah Rangkap : 2 Lembar

Bentuk : Lampiran A-1

2. Faktur

Nama Dokumen : Faktur

Fungsi : Untuk bukti pengiriman barang

Sumber : Kantor Pusat

Tujuan : Administrasi

Media : Kertas

Frekuensi : Setiap ada pengiriman barang

Jumlah Rangkap : 2 Lembar

Bentuk : Lampiran A-2

Page 10: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

39

3. Buku Pesanan

Nama Dokumen : Buku Pesanan

Fungsi : Untuk mencatat pesanan

Sumber : Admin

Tujuan : Administrasi

Media : Kertas

Frekuensi : Setiap pesanan barang

Jumlah Rangkap : Tak terhingga

Bentuk : Lampiran A-3

4. Buku Keluar

Nama Dokumen : Buku Keluar

Fungsi : Untuk mencatat pengeluaran barang

Sumber : Admin

Tujuan : Administrasi

Media : Kertas

Frekuensi : Setiap ada pengeluaran barang

Jumlah Rangkap : Tak terhingga

Bentuk : Lampiran A-4

5. Buku Persediaan

Nama Dokumen : Buku Persediaan

Fungsi : Untuk mencatat persediaan barang yang keluar

Sumber : Admin

Tujuan : Administrasi

Media : Kertas

Frekuensi : Setiap ada barang yang keluar

Page 11: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

40

Jumlah Rangkap : 2 Lembar

Bentuk : Lampiran A-5

3.2.4. Dokumen Keluaran

Dokumen-dokumen keluaran adalah segala bentuk dokumen yang dihasilkan

dari proses pengolahan dokumen masukan pada CV. Asta Prima Cikampek. Dibawah

ini uraian dari dokumen yang dihasilkan adalah sebagai berikut :

Spesifikasi Bentuk Dokumen Keluaran

1. Daftar Harga

Nama Dokumen : Daftar Harga

Fungsi : Untuk Penawaran Barang

Sumber : Administrasi

Tujuan : Konsumen

Media : Kertas

Frekuensi : Setiap menawarkan barang

Jumlah Rangkap : 3-5 Lembar

Bentuk : Lampiran B-1

2. Faktur

Nama Dokumen : Faktur

Fungsi : Untuk bukti pengiriman barang

Sumber : Administrasi

Tujuan : Konsumen

Media : Kertas

Frekuensi : Setiap ada pengiriman barang

Jumlah Rangkap : 2 Lembar

Bentuk : Lampiran B-2

Page 12: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

41

3. Laporan

Nama Dokumen : Laporan

Fungsi : Untuk laporan persediaan barang

Sumber : Admin

Tujuan : Pemilik

Media : Kertas

Frekuensi : Setiap bulan

Jumlah Rangkap : Tak terhingga

Bentuk : Lampiran B-3

3.2.5. Permasalahan Pokok

Dari hasil analisa dan pengamatan di CV. Asta Prima Cikampek maka penulis

dapat mengemukakan beberapa permasalahan pokok yang terdapat pada sistem

berjalan pada CV. Asta Prima Cikampek, khususnya terjadi pada sistem persediaan

barang, berikut permasalahan tersebut yaitu:

1. Dalam pencatatan barang keluar masih terjadi pengulangan pencatatan, ketika

barang keluar dari gudang di catat di buku keluar dan setelah dicatat dibuku

keluar kemudian di catat lagi per item barang yang keluar di buku persediaan

barang. Hal itu pun berlaku pada saat ada barang yang masuk dan hrus dicatat

lagi di buku persediaan, sehingga menghabiskan waktu yang cukup lama.

2. Dalam pencatatan persediaan dibuku persediaan juga sering terjadi selisih,

antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di

gudang.

3. Dalam pembuatan laporan masih terpaku pada buku persediaan barang sehingga

dalam pembuatan laporan membutuhkan waktu yang lama karena harus

membuka buku persediaan barang yang jumlahnya banyak.

Page 13: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

42

3.2.6. Pemecahan Masalah

Dari permasalahan-permasalahan tersebut maka penulis menyarankan bahwa

lebih efektik jika dibuat suatu sistem persediaan barang yang sudah tersistem dengan

baik dengan harapan permasalahan tersebut dapat dikurangi dan diatasi dengan baik.

Maka penulis mengusulkan alternatif pemecahan masalah sistem Persediaan barang

pada CV Asta Prima Cikampek adalah sebagai berikut:

1. Merancang sebuah program aplikasi untuk memudahkan dalam input data

barang yang masuk maupun barang yang keluar, untuk memimalisir waktu kerja.

2. Merancang sebuah program yang dilengkapi dengan sistem pembuatan laporan

sehingga dalam membuat laporan persediaan, semua transaksi barang keluar dan

barang masuk bisa direkap secara otomatis.

3.3. Analisis Kebutuhan Software

Untuk mengetahui kebutuhan apa saja yang diperlukan oleh CV Asta Prima

Cikampek. Berikut adalah analisis kebutuhan yang peenulis simpulkan setelah

melakukan penelitian pada CV Asta Prima Cikampek.

3.3.1. Analisis Kebutuhan

A. Analisis Kebutuhan Admin

A.1. Admin dapat mengelola login

A.2. Admin dapat menglola data pelanggan

A.3. Admin dapat menglola data supplier

A.4. Admin dapat menglola datta petugas

A.5. Admin dapat menglola data barang

A.6. Admin dapat menglola data barang masuk

A.7. Admin dapat menglola data barang keluar

A.8. Admin dapat mengelola laporan barang masuk

Page 14: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

43

A.9. Admin dapat mengelola laporan barang keluar

A.10. Admin dapat mengelola laopran persediaan

A.11. Admin dapat mengelola jurnal

B. Analisis Kebutuhan Pemilik

B.1. Pemilik dapat mengakses login

B.2. Pemilik dapat mengakses data pelanggan

B.3. Pemilik dapat mengakses data petugas

B.4. Pemilik dapat mengakses data supplier

B.5. Pemilik dapat mengakses data barang

B.6. Pemilik dapat megakses laporan barang masuk

B.7. Pemilik dapat mengakes laporan barang keluar

B.8. Pemilik dapat mengakses laporan persediaaan

3.3.2. Use Case Diagram Usulan

Berikut adalah use case diagram yang diusulkan penulis:

Sumber: Penulis (2019)

Gambar III.7.

Use Case Diagram Usulan

Page 15: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

44

1. Deskripsi Use Case Diagram Login

Tabel III.1

Deskripsi Use Case Diagram Login

Use Case Name Login

Requirment Admin dapat melakukan login

Goal Admin dapat login dan masuk ke halaman

menu utama

Pre-Conditions Admin dapat melakukan login

Post-Conditions Admin berhasil login

Failed end Conditions Admin Gagal login

Actors Admin

Main Flow/Basic Path 1. Admin memasukkan username dan

password

2. Admin dapat masuk ke halaman menu utama

Alternate Flow/Invariant 1 1. Admin memasukkan username dan

password

2. Admin dapat melakukan login

3. Admin dapat melakukan logout

Invariant 2 1. Admin memasukkan username dan

password yang salah

2. Admin tidak dapat login

2. Deskripsi Use Case Diagram Admin Mengelola Data Pelanggan

Tabel III.2.

Deskripsi Use Case Diagram Admin Mengelola Data Pelanggan

UseCase Name Data Pelanggan

Requirment Admin dapat mengelola data Pelanggan

Goal Untuk mengelola data pelanggan

Pre-Conditions Admin dapat mengelola data pelanggan

Post-Conditions Data pelanggan dapat dikelola

Failed end Conditions Gagal mengelola data pelanggan

Actors Admin

Main Flow/Basic Path 1. Admin menambah data pelanggan

2. Admin menyimpan data pelanggan

3. Admin menghapus data pelanggan

4. Admin mengedit data pelanggan

5. Admin memproses data pelanggan

6. Admin mencari data pelanggan

Alternate Flow/Invariant 1 A.1. Admin dapat mengelola data pelanggan

Invariant 2 B.1. Admin dapat membuka menu utama

kemudian mengelola data pelanggan pada

menu data master

Page 16: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

45

3. Deskripsi Use Case Diagram Admin Mengelola Data Barang

Tabel III.3.

Deskripsi Use Case Diagram Admin Mengelola Data Barang

UseCase Name Mengelola Data Barang

Requirment Admin dapat mengelola data barang

Goal Untuk mengelola data barang

Pre-Conditions Admin dapat mengelola data barang

Post-Conditions Data barang dapat dikelola

Failed end Conditions Gagal mengelola data barang

Actors Admin

Main Flow/Basic Path 1. Admin menambah data barang

2. Admin menyimpan data barang

3. Admin menghapus data barang

4. Admin mengedit data barang

5. Admin memproses data barang

6. Admin mencari data barang

Alternate Flow/Invariant 1 A.1. Admin dapat mengelola data barang

Invariant 2 B.1. Admin dapat membuka menu utama

kemudian mengelola data barang pada menu

data master

4. Deskripsi Use Case Diagram Admin mengelola data petugas

Tabel III.4.

Deskripsi Use Case Diagram Admin Mengelola Data Petugas

UseCase Name Data Petugas

Requirment Admin dapat mengelola data petugas

Goal Untuk mengelola data petugas

Pre-Conditions Admin dapat mengelola data petugas

Post-Conditions Data petugas dapat dikelola

Failed end Conditions Gagal mengelola data petugas

Actors Admin

Main Flow/Basic Path 1. Admin menambah data petugas

2. Admin menyimpan data petugas

3. Admin menghapus data petugas

4. Admin mengedit data petugas

5. Admin memproses data petugas

6. Admin mencari data petugas

Alternate Flow/Invariant 1 A.1. Admin dapat mengelola data petugas

Invariant 2 B.1. Admin dapat membuka menu utama

kemudian mengelola data petugas pada menu

data master

Page 17: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

46

5. Deskripsi Use Case Diagram Admin mengelola data Suplier

Tabel III.5.

Deskripsi Use Case Diagram Admin Mengelola Data Suplier

UseCase Name Data Suplier

Requirment Admin dapat mengelola data Suplier

Goal Untuk mengelola data Suplier

Pre-Conditions Admin dapat mengelola data Suplier

Post-Conditions Data Suplier dapat dikelola

Failed end Conditions Gagal mengelola data Suplier

Actors Admin

Main Flow/Basic Path 1. Admin menambah data Suplier

2. Admin menyimpan data Suplier

3. Admin menghapus data Suplier

4. Admin mengedit data Suplier

5. Admin memproses data Suplier

6. Admin mencari data Suplier

Alternate Flow/Invariant 1 A.1. Admin dapat mengelola data Suplier

Invariant 2 B.1. Admin dapat membuka menu utama

kemudian mengelola data Suplier pada menu

data master

6. Deskripsi Use Case Diagram Admin mengelola barang keluar

Tabel III.6.

Deskripsi Use Case Diagram Admin Mengelola Barang Keluar

UseCase Name Barang Keluar

Requirment Admin dapat mengelola barang keluar

Goal Untuk mengelola barang keluar

Pre-Conditions Admin dapat mengelola barang keluar

Post-Conditions Barang keluar dapat dikelola

Failed end Conditions Gagal mengelola barang keluar

Actors Admin

Main Flow/Basic Path 1. Admin menambah barang keluar

2. Admin menyimpan barang keluar

3. Admin menghapus barang keluar

4. Admin mengedit barang keluar

5. Admin memproses barang keluar

6. Admin mencari barang keluar

Alternate Flow/Invariant 1 A.1. Admin dapat mengelola barang keluar

Invariant 2 B.1. Admin dapat membuka menu utama

kemudian mengelola transaksi kemudian

mengelola barang keluar pada menu transaksi

Page 18: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

47

7. Deskripsi Use Case Diagram Admin mengelola barang masuk

Tabel III.7.

Deskripsi Use Case Diagram Admin Mengelola Barang Masuk

UseCase Name Barang masuk

Requirment Admin dapat mengelola barang masuk

Goal Untuk mengelola barang masuk

Pre-Conditions Admin dapat mengelola barang masuk

Post-Conditions Barang masuk dapat dikelola

Failed end Conditions Gagal mengelola barang masuk

Actors Admin

Main Flow/Basic Path 1. Admin menambah barang masuk

2. Admin menyimpan barang masuk

3. Admin menghapus barang masuk

4. Admin mengedit barang masuk

5. Admin memproses barang masuk

6. Admin mencari barang masuk

Alternate Flow/Invariant 1 A.1. Admin dapat mengelola barang masuk

Invariant 2 B.1. Admin dapat membuka menu utama

kemudian mengelola transaksi kemudian

megelola barang masuk pada menu transaksi

8. Deskripsi Use Case Diagram Admin mengelola laporan

Tabel III.8.

Deskripsi Use Case Diagram Admin Mengelola Laporan

UseCase Name Laporan

Requirment Admin dapat mengelola laporan

Goal Admin dapat mengelola persediaan

Pre-Conditions Admin dapat mengelola laporan

Post-Conditions Admin dapat mengelola laporan

Failed end Conditions Admin gagal mengelola laporan

Actors Admin

Main Flow/Basic Path 1. Admin melakukan login terlebih dahulu

2. Admin mengelola menu data master

3. Admin mengelola data barang

4. Admin mengelola data pesanan barang

6. Admin mengelola data transaksi barang

7. Admin mengelola laporan barang masuk

8. Admin mengelola laporan barang keluar

9. Admin mengelola laporan persediaan

Alternate Flow/Invariant 1 A.1. Admin dapat mengelola transaksi barang

keluar sesuai dengan penjualan

Invariant 2 B.1. Admin dapat membuka menu utama

kemudian mengelola laporan

Page 19: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

48

9. Deskripsi Use Case Diagram Admin mengelola jurnal

Tabel III.9.

Deskripsi Use Case Diagram Admin Mengelola Jurnal

UseCase Name Jurnal

Requirment Admin dapat mengelola jurnal

Goal Admin dapat mengelola jurnal

Pre-Conditions Admin dapat mengelola jurnal

Post-Conditions Admin dapat mengelola jurnal

Failed end Conditions Admin gagal mengelola jurnal

Actors Admin

Main Flow/Basic Path 1. Admin melakukan login terlebih dahulu

2. Admin mengelola menu transaksi

3. Admin mengelola barang keluar

4. Admin mengelola barang masuk

5. Admin mengelola menu jurnal

Alternate Flow/Invariant 1 A.1. Admin dapat mengelola jurnal

Invariant 2 B.1. Admin dapat membuka menu utama

kemudian mengelola jurnal

10. Deskripsi Use Case Diagram Pemilik Login

Tabel III.10.

Deskripsi Use Case Diagram Pemilik Login

Use Case Name Login

Requirment Pemilik dapat melakukan login

Goal Pemilik dapat login dan masuk ke halaman menu

utama

Pre-Conditions Pemilik dapat melakukan login

Post-Conditions Pemilik berhasil login

Failed end Conditions Pemilik Gagal login

Actors Pemilik

Main Flow/Basic Path 1. Pemilik memasukkan username dan password

2. Pemilik dapat masuk ke halaman menu utama

Alternate Flow/Invariant

1

1. Pemilik memasukkan username dan password

2. Pemilik dapat melakukan login

3. Pemilik dapat melakukan logout

Invariant 2 1. Pemilik memasukkan username dan password

yang salah

2. Pemilik tidak dapat login

Page 20: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

49

11. Deskripsi Use Case Diagram pemilik mengakses data pelanggan

Tabel III.11.

Deskripsi Use Case Diagram Pemilik mengakses Data Pelanggan

Use Case Name Data pelanggan

Requirment Pemilik dapat mengakses data pelanggan

Goal Untuk mengakses data pelanggan

Pre-Conditions Pemilik dapat mengakses data pelanggan

Post-Conditions Data pelanggan dapat diakses

Failed end Conditions Gagal mengakses data pelanggan

Actors Pemilik

Main Flow/Basic Path 1. Pemilik mencari data pelanggan

2. Pemilik mencetak data pelanggan

Alternate Flow/Invariant 1 A.1. Pemilik dapat mengakses data

pelanggan

Invariant 2 B.1. Pemilik dapat membuka menu utama

kemudian mengakses data pelanggan pada

menu data master

12. Deskripsi Use Case Diagram pemilik mengakses data barang

Tabel III.12.

Deskripsi Use Case Diagram Pemilik Mengakses Data Barang

UseCase Name Data Barang

Requirment Pemilik dapat mengakses data barang

Goal Untuk mengakses data barang

Pre-Conditions Pemilik dapat mengakses data barang

Post-Conditions Data barang dapat diakses

Failed end Conditions Gagal mengakses data barang

Actors Pemilik

Main Flow/Basic Path 1. Pemilik mencari data barang

2. Pemilik mencetak data barang

Alternate Flow/Invariant 1 A.1. Pemilik dapat mengakses data barang

Invariant 2 B.1. Pemilik dapat membuka menu utama

kemudian mengakses data barang pada menu

data master

Page 21: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

50

13. Deskripsi Use Case Diagram pemilik mengakses data karyawan

Tabel III.13.

Deskripsi Use Case Diagram Pemilik Mengakses Data petugas

UseCase Name Data petugas

Requirment Pemilik dapat mengakses data petugas

Goal Untuk mengakses data petugas

Pre-Conditions Pemilik dapat mengakses data petugas

Post-Conditions Data petugas dapat diakses

Failed end Conditions Gagal mengakses data petugas

Actors Pemilik

Main Flow/Basic Path 1. Pemilik mencari data petugas

2. Pemilik mencetak data petugas

Alternate Flow/Invariant 1 A.1. Pemilik dapat mengakses data petugas

Invariant 2 B.1. Pemilik dapat membuka menu utama

kemudian mengakses data petugas pada

menu data master

14. Deskripsi Use Case Diagram pemilik mengakses data suplier

Tabel III.14.

Deskripsi Use Case Diagram Pemilik Mengakses Data Suplier

UseCase Name Data Suplier

Requirment Pemilik dapat mengakses data Suplier

Goal Untuk mengakses data Suplier

Pre-Conditions Pemilik dapat mengakses data Suplier

Post-Conditions Data Suplier dapat diakses

Failed end Conditions Gagal mengakses data Suplier

Actors Pemilik

Main Flow/Basic Path 1. Pemilik mencari data Suplier

2. Pemilik mencetak data Suplier

Alternate Flow/Invariant 1 A.1. Pemilik dapat mengakses data suplier

Invariant 2 B.1. Pemilik dapat membuka menu utama

kemudian mengakses data suplier pada menu

data master

Page 22: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

51

3.3.3. Activity Diagram

A. Kebutuhan Admin

A.1. Activity Diagram Admin Login

Sumber:Hasil Penelitian

Gambar.III.8

Activity Diagram Admin Login

A.2.Activity Diagram Mengelola Data Pelanggan

Sumber:Hasil Penelitian

Gambar.III.9.

Activity Diagram Mengelola Data Pelanggan

Page 23: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

52

A.3. Activity Diagram mengelola Data Barang Masuk

Sumber:Hasil penelitian

Gambar.III.10

Activity Diagram mengelola Data Barang Masuk

A.4. Activity Diagram mengelola Laporan Persediaan

Sumber:Hasil penelitian

Gambar.III.11

Activity Diagram mengelola Laporan Persediaan

Page 24: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

53

B. analisis Kebutuhan Pemilik

B.1. Activity diagram pemilik login

Sumber:Hasil penelitian

Gambar.III.12

Activity diagram pemilik login

B.2. Activity diagram Mengakses Data barang

Sumber:Hasil Penelitian

Gambar.III.13

Activity diagram Mengakses Data barang

Page 25: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

54

B.3. Activity diagram Mengakses Laporan Barang Masuk

Sumber:Hasil Penelitian

Gambar.III.14.

Activity diagram Mengakses Laporan Barang Masuk

3.4. Desain

Pada tahap desain sistem ini penulis menggambarkan bagaiman sistem yang

akan dibuat yaitu beruba penggambaran basis data atau database untuk

mempersiapkan rancang bangun sistem yang akan di terapkan di perusahaan. Berikut

adalah rancangan database yang akan diterapkan pada CV Asta Prima Cikampek.

Page 26: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

55

3.4.1. Entity Relationship Diagram (ERD)

Sumber:Hasil Penelitian

Gambar.III.15.

Entity Relationship Diagram (ERD)

Page 27: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

56

3.4.2. Logical Record Structure (LRS)

Sumber:Hasil Penelitian

Gambar.III.16.

Logical Record Structure (LRS)

3.4.3. Spesifikasi File

Spesifikasi file mempermudah pemahaman terhadap spesifikasi data maka

sebelumnya diuraikan kamus data yang merupakan elemen atau field yang

digunakan. Adapun file-file yang akan digunaka dalam sistem komputerisasi dengan

nama database inventori dapat dijelaskan sebagai berikut:

1. Spesifikasi File Data Barang

Nama File : Tabel tmbarang

Akronim : Data Barang

Fungsi : Untuk menyimpan data barang

Page 28: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

57

Tipe File : File Master

Akses File : Random

Media : Harddisk

Kunci Field : id

Panjang Record : 128 Karakter

Nama Database : inventori

Software : MySQL

Tabel III.15.

Spesifikasi File Data Barang

No Elemen data Akronim Tipe Data Size Keterangan

1 Id Id Int 11 Primary Key

2 Kode Kode Varchar 10 -

3 Nama Nama Varchar 50

4 No_rak No Rak Varchar 11

5 Satuan Satuan Varchar 20

6 Stok Stok Varchar 11

7 Harga Harga Int 15

2. Spesifikasi File Data Akun

Nama File : Tabel tmdataakun

Akronim : Data Akun

Fungsi : Untuk menyimpan data akun

Tipe File : File Jurnal

Akses File : Random

Media : Harddisk

Kunci Field : Kode_Akun

Ukuran Record : 24 Karakter

Nama Database : inventori

Software : MySQL

Page 29: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

58

Table III.16.

Spesifikasi File Data Akun

No Elemen data Akronim Tipe Data Size Keterangan

1 Kode_Akun Kode akun Varchar 12 Primary Key

2 Nama_Akun Nama akun Varchar 12 -

3. Spesifikasi File Jurnal

Nama File : Tabel tmjurnal

Akronim : Jurnal

Fungsi : Untuk menyimpan data transaksi

Tipe File : File laporan

Akses File : Random

Media : Harddisk

Kunci Field : no_jurnal

Ukuran Record : 120 Karakter

Nama Database : inventori

Software : MySQL

Table I11.17.

Spesifikasi File Jurnal

No Elemen data Akronim Tipe Data Size Keterangan

1 No_jurnal No jurnal Varchar 14 Primary Key

2 Kode_akun Kode akun Varchar 14 -

3 Tanggal Tanggal jurnal Varchar 14 -

4 Debit Debit Varchar 14 -

5 Kredit Kredit Varchar 14 -

6 Keterangan Keterangan Varchar 50 -

Page 30: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

59

4. Spesifikasi File data Petugas

Nama File : Tabel tmpetugas

Akronim : Data Petugas

Fungsi : Untuk menyimpan data petugas

Tipe File : File master data

Akses File : Random

Media : Harddisk

Kunci Field : id

Ukuran Record : 211 Karakter

Nama Database : inventori

Software : MySQL

Table III.18.

Spesifikasi File data petugas

No Elemen data Akronim Tipe Data Size Keterangan

1 Id Id Int 11 Primary Key

2 Nama Nama Varchar 50 -

3 Username Username Varchar 50 -

4 Password Password varchar 100 -

5 Status Status enumt - -

5. Spesifikasi File Data supplier

Nama File : Tabel tmsupplier

Akronim : Data Supplier

Fungsi : Untuk menyimpan data supplier

Tipe File : File Data Master

Akses File : Random

Media : Harddisk

Page 31: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

60

Kunci Field : id

Ukuran Record : 336 Karakter

Nama Database : inventori

Software : MySQL

Table III.19.

Spesifikasi File Data Supplier

No Elemen data Akronim Tipe Data Size Keterangan

1 Id Id Int 11 Primary key

2 Kode Kode supplier Varchar 10 -

3 Nama Nama Varchar 100

4 Alamat Alamat Varchar 200

5 No_telp No. Telp Varchar 15

6. Spesifikasi File Data Barang keluar

Nama File : Tabel trbarang_keluar

Akronim : Data Barang Keluar

Fungsi : Untuk menampilkan data barang yang barang keluar

Tipe File : File persediaan

Akses File : Random

Media : Harddisk

Kunci Field : id

Ukuran Record : 33 Karakter

Nama Database : inventori

Software : MySQL

Page 32: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

61

Table III.20.

Spesifikasi File Data Barang Keluar

No Elemen data Akronim Tipe Data Size Keterangan

1 Id Id barang keluar Int 11 Primary Key

2 Tgl Tanggal keluar Date - -

3 Id_barang_keluar Id Int 11 -

4 Id_pelanggan Id pelanggan Int 11

7. Spesifikasi File Detail Data Barang Masuk

Nama File : Tabel trbarang_masuk

Akronim : Data Barang Masuk

Fungsi : Untuk menampilkan data barang yang masuk

Tipe File : File Master

Akses File : Random

Media : Harddisk

Kunci Field : Id

Ukuran Record : 33 Karakter

Nama Database : inventori

Software : MySQL

Table III.21.

Spesifikasi File Data barang masuk

No Elemen data Akronim Tipe Data Size Keterangan

1 Id Id barang masuk Int 11 Primary Key

2 Tgl Tanggal masuk Date - -

3 Id_petugas Id petugas Int 11 -

4 Id_supplier Id supplier Int 11

Page 33: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

62

8. Spesifikasi File Barang Keluar Detail

Nama File : Tabel trbarang_keluar_detail

Akronim : transaksi penjualan

Fungsi : Untuk menyimpan data barang yang keluar

Tipe File : File Laporan

Akses File : Random

Media : Harddisk

Kunci Field : id

Ukuran Record : 74 Karakter

Nama Database : inventori

Software : MySQL

Tabel III.22.

Spesifikasi File Detail barang Keluar

No Elemen data Akronim Tipe Data Size Keterangan

1 Id Id Int 11 Primary

2 Id_barang_keluar Id barang keluar Int 11 -

3 Id_barang Id barang Int 11

4 Jumlah Jumlah Int 11

5 Harga Harga Varchar 15

6 Total Total Varchar 15

9. Spesifikasi File Barang Keluar Detail

Nama File : Tabel trbarang_masuk_detail

Akronim : transaksi penjualan

Fungsi : Untuk menyimpan data barang yang masuk

Tipe File : File Laporan

Akses File : Random

Media : Harddisk

Page 34: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

63

Kunci Field : id

Ukuran Record : 74 Karakter

Nama Database : inventori

Software : MySQL

Tabel III.23.

Spesifikasi File Detail barang Masuk

No Elemen data Akronim Tipe Data Size Keterangan

1 Id Id Int 11 Primary

2 Id_barang_masuk Id barang masuk Int 11 -

3 Id_barang Id barang Int 11

4 Jumlah Jumlah Int 11

5 Harga Harga Varchar 15

6 Total Total Varchar 15

3.4.4. Sequence Diagram

1. Sequence Diagram Transaksi Barang Masuk

Sumber: Hasil Penelitian

Gambar.III.17.

Sequence Diagram Transaksi Barang Masuk

2. Sequence Diagram Transaksi Barang Keluar

Page 35: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

64

Sumber: Hasil Penelitian

Gambar.III.18.

Sequence Diagram Transaksi Barang Keluar

3.4.5. Deployment Diagram

Sumber:Hasil Penelitian

Gambar.III.19.

Deployment Diagram

3.4.6. User Interface

Page 36: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

65

1. Form Login

Sumber:Penelitian

Gambar.III.20.

Tampilan Form Login

2. Tampilan Menu Utama

Sumber:Penelitian

Gambar.III.21.

Tampilan Form Menu Utama

3. Form Data Barang

Page 37: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

66

Sumber:Penelitian

Gambar.III.22.

Tampilan Form Data Barang

4. Form Transaksi Barang Keluar

Sumber:Penelitian

Gambar.III.23.

Tampilan Form Transaksi Barang Keluar

3.5. Implementasi

Page 38: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

67

Pada bab ini menjelaskan tentang implementasi dan pengujian sistem.

Tahap terakhir dari rancangan sistem, yaitu sistem persediaan barang terdapat pada

CV. Asta Prima Cikampek. Pengujian ini menghasilkan atau menerapkan sistem

yang telah dirancang untuk diterapkan pada keadaan sebenarnya pada CV Asta Prima

Cikampek. Kemudian untuk itu ada penyusunan jadwal implementasi dalam

mewujudkan sistem yang baru dirancang tersebut sebagai berikut:

1. Analisis Sistem

Analisis sistem yaitu suatu kegiatan untuk mempelajari sistem yang berjalan

serta masalah yang ada, yang bertujuan untuk mendapatkan gambaran tentang

permasalahan yang terdapat pada CV Asta Prima Cikampek, sehingga

mengurangi kesalahan antara sistem yang diusulkan dengan sistem yang sudah

berjalan.

2. Pengumpulan Data

Data-data yang ada di CV Asta Prima Cikampek dikumpulkan serta

dikelompokan untuk mempersingkat waktu dan untuk memudahkan alam

pembuatan program yang dibutuhkan.

3. Pembuatan Program dan Pengetesan Program

Dari data-data yang telah dikelompokan dapat dibuat sesuai dengan data-data

yang ada. Kemudin dilakukan pengetesan program agar program yang telah

dibuat ataupun yang dirancang dapat diketahui kekurangannya.

4. Tes Sistem

kegiatan ini bertujuan untuk melaksanakan uji coba terhadap sistem secara

langsung keseluruhan dan sampai dimana sistem ini dapat dipahami dengan

baik dan benar.

3.5.1. Code Generation

Page 39: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

68

/*

* 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 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;

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

import net.sf.jasperreports.view.JasperViewer;

/**

*

* @author Suciase iruwanti

*/

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()));

txtnm_petugas.setText(PetugasSession.getU_nama());

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

ket.hide();

Page 40: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

69

debit.hide();

akun.hide();

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())

{

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();

}

private void TableEmpty()

{

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

Page 41: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

70

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);

BtnEnabled(true);

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jLabel5 = new javax.swing.JLabel();

jPanel1 = new javax.swing.JPanel();

jLabel8 = new javax.swing.JLabel();

jPanel3 = new javax.swing.JPanel();

jLabel4 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

txtjumlah_barang = new javax.swing.JTextField();

btnok = new javax.swing.JButton();

jScrollPane1 = new javax.swing.JScrollPane();

datatable = new javax.swing.JTable()

{

public boolean isCellEditable(int rowIndex, int colIndex)

{

return false;

}};

btnTableEmpty = new javax.swing.JButton();

lblnama_barang = new javax.swing.JLabel();

txtkode_barang = new javax.swing.JTextField();

txtid_barang = new javax.swing.JTextField();

txtjumlah_barang_max = new javax.swing.JTextField();

btnDelRow = new javax.swing.JButton();

txtid_selected = new javax.swing.JTextField();

txtharga = new javax.swing.JTextField();

Page 42: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

71

txtotal = new javax.swing.JTextField();

jLabel1 = new javax.swing.JLabel();

txttgl = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

txtnm_petugas = new javax.swing.JTextField();

jLabel3 = new javax.swing.JLabel();

btnsave = new javax.swing.JButton();

txtid_pelanggan = new javax.swing.JTextField();

txtid_petugas = new javax.swing.JTextField();

cmbid_pelanggan = new javax.swing.JComboBox<String>();

Label7 = new javax.swing.JLabel();

txtsubtotal = new javax.swing.JTextField();

jLabel9 = new javax.swing.JLabel();

debit = new javax.swing.JTextField();

akun = new javax.swing.JTextField();

ket = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

setTitle("Inventori Barang :: Transaksi Barang Masuk");

getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel5.setFont(new java.awt.Font("Lucida Grande", 0, 24)); // NOI18N

getContentPane().add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 530, -1, -1));

jPanel1.setBackground(new java.awt.Color(43, 152, 240));

jLabel8.setFont(new java.awt.Font("Lucida Grande", 0, 22)); // NOI18N

jLabel8.setForeground(new java.awt.Color(182, 229, 251));

jLabel8.setText("Transaksi Barang Masuk");

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGap(18, 18, 18)

.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 285,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(437, Short.MAX_VALUE)));

jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jLabel8)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) );

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 740, -1));

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

jPanel3.setForeground(new java.awt.Color(245, 245, 245));

jLabel4.setText("Kode Barang");

jLabel6.setText("Jumlah");

txtjumlah_barang.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt)

{

txtjumlah_barangKeyTyped(evt);

}});

btnok.setText("OK");

btnok.addActionListener(new java.awt.event.ActionListener() {

Page 43: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

72

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnokActionPerformed(evt);

}});

datatable.setModel(new javax.swing.table.DefaultTableModel(

new Object [][]

{},

new String []

{

"ID", "Kode", "Nama Barang", "Jumlah", "Harga", "Total"

}

)); datatable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);

datatable.addMouseListener(new java.awt.event.MouseAdapter()

{

public void mouseClicked(java.awt.event.MouseEvent evt)

{

datatableMouseClicked(evt);

}

public void mouseReleased(java.awt.event.MouseEvent evt)

{

datatableMouseReleased(evt);

}});

datatable.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyReleased(java.awt.event.KeyEvent evt) {

datatableKeyReleased(evt);

}});

jScrollPane1.setViewportView(datatable);

btnTableEmpty.setFont(new java.awt.Font("Lucida Grande", 0, 12)); // NOI18N

btnTableEmpty.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnTableEmptyActionPerformed(evt);

}});

lblnama_barang.setText("Nama Barang");

txtkode_barang.addFocusListener(new java.awt.event.FocusAdapter() {

public void focusLost(java.awt.event.FocusEvent evt) {

txtkode_barangFocusLost(evt);

}});

txtkode_barang.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

txtkode_barangActionPerformed(evt);

}});

btnDelRow.setFont(new java.awt.Font("Lucida Grande", 0, 12)); // NOI18N

btnDelRow.setText("Hapus Yang Terpilih");

btnDelRow.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnDelRowActionPerformed(evt);

}});

txtid_selected.setFont(new java.awt.Font("Lucida Grande", 0, 12)); // NOI18N

txtid_selected.setEnabled(false);

txtharga.setText("jTextField1");

txtotal.setText("jTextField1");

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);

jPanel3.setLayout(jPanel3Layout);

jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel3Layout.createSequentialGroup()

.addGap(14, 14, 14)

Page 44: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

73

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane1)

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,

false)

.addGroup(jPanel3Layout.createSequentialGroup()

.addComponent(btnTableEmpty)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(btnDelRow)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(txtid_selected, javax.swing.GroupLayout.PREFERRED_SIZE, 50,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel3Layout.createSequentialGroup()

.addComponent(jLabel4)

.addGap(41, 41, 41)

.addComponent(txtkode_barang, javax.swing.GroupLayout.PREFERRED_SIZE, 137,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(lblnama_barang, javax.swing.GroupLayout.PREFERRED_SIZE, 145,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(txtotal, javax.swing.GroupLayout.PREFERRED_SIZE, 22,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(2, 2, 2)

.addComponent(txtharga, javax.swing.GroupLayout.PREFERRED_SIZE, 21,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(txtid_barang, javax.swing.GroupLayout.PREFERRED_SIZE, 24,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(2, 2, 2)

.addComponent(txtjumlah_barang_max, javax.swing.GroupLayout.PREFERRED_SIZE, 21,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jLabel6)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(txtjumlah_barang, javax.swing.GroupLayout.PREFERRED_SIZE, 58,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(btnok, javax.swing.GroupLayout.PREFERRED_SIZE, 58,

javax.swing.GroupLayout.PREFERRED_SIZE))))

.addContainerGap()) );

jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel3Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel4)

.addComponent(jLabel6)

.addComponent(txtjumlah_barang, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(btnok)

.addComponent(lblnama_barang)

.addComponent(txtkode_barang, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtid_barang, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

Page 45: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

74

.addComponent(txtjumlah_barang_max, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtharga, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtotal, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 258,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(btnTableEmpty)

.addComponent(btnDelRow)

.addComponent(txtid_selected, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) );

getContentPane().add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 133, -1, -1));

jLabel1.setText("Tanggal");

getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(470, 90, -1, -1));

txttgl.setEnabled(false);

getContentPane().add(txttgl, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 90, 160, -1));

jLabel2.setText("Nama Petugas");

getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 70, -1, -1));

txtnm_petugas.setEnabled(false);

getContentPane().add(txtnm_petugas, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 70,

154, -1));

jLabel3.setText("Nama Supplier");

getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 90, -1, 30));

btnsave.setBackground(new java.awt.Color(43, 152, 240));

btnsave.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N

btnsave.setForeground(new java.awt.Color(255, 255, 255));

btnsave.setText("Simpan & Cetak Transaksi");

btnsave.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnsaveActionPerformed(evt);

}});

getContentPane().add(btnsave, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 570, 220,

50));

getContentPane().add(txtid_pelanggan, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 100,

22, -1));

getContentPane().add(txtid_petugas, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 70, 22, -

1));

cmbid_pelanggan.addItemListener(new java.awt.event.ItemListener()

{

public void itemStateChanged(java.awt.event.ItemEvent evt) {

cmbid_pelangganItemStateChanged(evt);

}});

getContentPane().add(cmbid_pelanggan, new org.netbeans.lib.awtextra.AbsoluteConstraints(120,

100, 154, -1));

jLabel7.setText("Bersihkan inputan transaksi");

jLabel7.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

Page 46: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

75

jLabel7MouseClicked(evt);

}});

getContentPane().add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(26, 551, -1, -1));

txtsubtotal.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N

getContentPane().add(txtsubtotal, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 500, 301,

36));

jLabel9.setText("Total Bayar :");

getContentPane().add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 510, 69, 20));

debit.setText("0");

getContentPane().add(debit, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 100, -1, -1));

akun.setText("AKN0002");

getContentPane().add(akun, new org.netbeans.lib.awtextra.AbsoluteConstraints(320, 70, -1, -1));

ket.setText("Penjualan");

getContentPane().add(ket, new org.netbeans.lib.awtextra.AbsoluteConstraints(320, 100, -1, -1));

pack();

}// </editor-fold>

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

// TODO add your handling code here:

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){

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();

Page 47: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

76

// }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+");

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:

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{

JOptionPane.showMessageDialog(null, "Kode barang tidak ditemukan.");

txtid_barang.setText("");

lblnama_barang.setText("-");

txtkode_barang.setText("");

txtjumlah_barang_max.setText("");

txtharga.setText("");

Page 48: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

77

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("");

}}

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) {

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);

}

try {

Connection conn = konek.openkoneksi();

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

stm.executeUpdate("INSERT INTO tmjurnal(id_transaksi, kode_akun, tanggal, debit, kredit,

keterangan) VALUES ('" + id_barang_masuk + "','" + akun.getText() + "','" + row_tgl + "', '" +

debit.getText() + "','" + txtsubtotal.getText() + "','" + ket.getText() + "')");

konek.closekoneksi();

} catch (SQLException e) {

Page 49: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

78

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));

//------- 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");

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

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);

}}else{

JOptionPane.showMessageDialog(null, "Sistem tidak menemukan barang dengan kode = " + kode ,

"Barang " + kode + " Gagal Disimpan", JOptionPane.ERROR_MESSAGE);

}

Page 50: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

79

//------- 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");

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");

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) {

// 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());

Page 51: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

80

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

model.removeRow(row);

BtnEnabled(false);

}}

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

// 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();

}}

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

// TODO add your handling code here:

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :

javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}}}

catch (ClassNotFoundException ex)

{

java.util.logging.Logger.getLogger(FrmtransaksiMasuk.class.getName()).log(java.util.logging.Level.

SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(FrmtransaksiMasuk.class.getName()).log(java.util.logging.Level.

SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(FrmtransaksiMasuk.class.getName()).log(java.utilogging.Level.S

EVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex)

{

java.util.logging.Logger.getLogger(FrmtransaksiMasuk.class.getName()).log(java.util.logging.Level.

SEVERE, null, ex);

Page 52: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

81

}

//</editor-fold>

//</editor-fold>

//</editor-fold>

//</editor-fold>

/* Create and display the dialog */

java.awt.EventQueue.invokeLater(() -> {

FrmtransaksiMasuk dialog = new FrmtransaksiMasuk(new javax.swing.JFrame(), true);

dialog.addWindowListener(new java.awt.event.WindowAdapter() {

@Override

public void windowClosing(java.awt.event.WindowEvent e) {

System.exit(0);

}});

dialog.setVisible(true);

});

}

// Variables declaration - do not modify

private javax.swing.JTextField akun;

private javax.swing.JButton btnDelRow;

private javax.swing.JButton btnTableEmpty;

private javax.swing.JButton btnok;

private javax.swing.JButton btnsave;

private javax.swing.JComboBox<String> cmbid_pelanggan;

private javax.swing.JTable datatable;

private javax.swing.JTextField debit;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel3;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTextField ket;

private javax.swing.JLabel lblnama_barang;

private javax.swing.JTextField txtharga;

private javax.swing.JTextField txtid_barang;

private javax.swing.JTextField txtid_pelanggan;

private javax.swing.JTextField txtid_petugas;

private javax.swing.JTextField txtid_selected;

private javax.swing.JTextField txtjumlah_barang;

private javax.swing.JTextField txtjumlah_barang_max;

private javax.swing.JTextField txtkode_barang;

private javax.swing.JTextField txtnm_petugas;

private javax.swing.JTextField txtotal;

private javax.swing.JTextField txtsubtotal;

private javax.swing.JTextField txttgl;

// End of variables declaration

}

3.5.2. Blackbox Testing

1. Pengujian terhadap form Input barang

Page 53: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

82

Tabel III.24.

Pengujian terhadap form Input barang

No Skenario

pengujian

Test case Hasil yang

diharapkan

Hasil

pengujian

kesimpulan

1 Klik tombol

simpan

Kode Barang

sama Sistem akan

menolak dan

akan muncul

pemberitahuan

“kode barang

sudah pernah

di simpan”

Sesuai

harapan

Valid

2. Klik tombol

simpan

Input text

ada yang

kosong

Sistem akan

menolak dan

akan muncul

pemberitahuan

“terdapat

inputan

kosong”

Sesuai

harapan

Valid

3. Klik tombol

Simpan

Text di isi

semua dan

kode barang

berbeda

Sistem akan

menerima dan

menyimpan

data

Sesuai

harapan

valid

2. Pengujian terhadap form barang masuk

Tabel.III.25.

Pengujian terhadap form Barang masuk

No Skenario

pengujian

Test case Hasil yang

diharapkan

Hasil

pengujian

kesimpulan

1 Klik text

jumlah

Mengetik

kode barang

salah

Sistem akan

menolak dan

akan muncul

pemberitahuan

“kode barang

tidak di

temukan”

Sesuai

harapan

Valid

2. Klik tombol

ok

Input text

ada yang

kosong

Sistem akan

menolak dan

akan muncul

pemberitahuan

“terdapat

inputan

kosong”

Sesuai

harapan

Valid

Page 54: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

83

3. Klik text

jumlah

Input kode

barang sama

Sistem akan

menolak dan

akan muncul

pemberitahuan

“input kode

barang sudah

di tambahkan”

Sesuai

harapan

valid

3. Klik tombol

Simpan

Text di isi

semua dan

kode barang

ditemukan

Sistem akan

menerima dan

menyimpan

data lalu

mencetak

barang masuk

Sesuai

harapan

valid

3. Pengujian terhadap form login

Tabel.III.26.

Pengujian terhadap form login

No Skenario

pengujian

Test case Hasil yang

diharapkan

Hasil

pengujian

kesimpulan

1 Klik Tombol

Login

User name

dan password

tidak di isi

Sistem akan

menolak dan

akan muncul

pemberitahuan

“maaf user

name dan

password

tidak di isi”

Sesuai

harapan

Valid

2. Klik tombol

Login

User name

di isi dan

Password

kosong

Sistem akan

menolak dan

akan muncul

pemberitahuan

“password

belum di isi”

Sesuai

harapan

Valid

3. Klik text

login

User name

tidak di isi

dan

password di

isi

Sistem akan

menolak dan

akan muncul

pemberitahuan

“user name

tidak di isi”

Sesuai

harapan

valid

4 Klik tombol

Login

User name

dan

password di

Sistem akan

menerima dan

akan muncul

Sesuai

harapan

valid

Page 55: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

84

isi menu utama

3.5.3. Spesifikasi Hardware dan Software

1. Perangkat Keras (hardware)

Perangkat keras atau hardware adalah serangkaian unsur-unsur yang terdiri dari

beberapa perangkat keras yang membentuk suatu sistem komputer yang

digunakan. Adapun perangkat keras yang penulis sarankan agar proses

pengolahan data pada CV Asta Prima Cikampek adalah sebagai berikut:

a. Processor : CPU N1350

b. Memory Size : 4.00 GB (RAM)

c. Hardisk : 350 GB

d. Mouse : Standard Mouse

e. Keyboard : 108 Keys

f. Monitor : SVGA 15 Inch

g. Printer : Inkjet

2. Perangkat Lunak (software)

Perangkat lunak atau software adalah serangkaian unsur-unsur yang terdiri dari

beberapa perangkat lunak yang membentuk suatu sistem komputer yang

digunakan untuk mengoperasikan kerja pengguna. Fungsi perangkat lunak

adalah untuk mengidentifikasi dan menyiapkan aplikasi program sehingga tata

kerja seluruh peralatan komputer dapat terkontrol, serta membuat aktifitas kerja

menjadi lebih efisien. Adapun perangkat lunak yang digunakan adalah sebagai

berikut:

Page 56: BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan · antara stok barang yang ada dibuku persediaan dan stok fisik yang ada di gudang. 3. Dalam pembuatan laporan masih terpaku pada buku

85

a. Sistem Operasi : Windows 8

b. Program Aplikasi : Java Application

c. Bahasa Pemrograman : Netbeans IDE 8.1

d. Database : MySQL Database

e. Browser : Mozilla Firefox

f. Web Server : Xampp