repository.bsi.ac.id · web viewtahap analis pada sistem penjualan dan pembelian barang ini, hak...

88
BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisa Kebutuhan Software A. Tahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan laporan stok barang. Untuk admin mempunyai hak akses sepenuhnya pada sistem ini dari olah data, melakukan transaksi, hingga pencetakan laporan. Berikut dijelaskan spesifikasinya. Halaman Operator Gudang : A1. Operator gudang melakukan login A2. Operator gudang mengelola barang masuk A.3. Operator gudang mengelola barang keluar A.4. Operator gudang mengelola pengiriman A.5 Operator gudang mengelola retur barang A.5. Operator gudang mengelola total produksi A.6. Operator gudang mengelola stok opname 43

Upload: others

Post on 07-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

BAB IV

RANCANGAN SISTEM DAN PROGRAM USULAN

4.1. Analisa Kebutuhan Software

A. Tahap Analis

Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat

melakukan penambahan stok barang, pengeluaran barang dan pembuatan laporan stok

barang. Untuk admin mempunyai hak akses sepenuhnya pada sistem ini dari olah

data, melakukan transaksi, hingga pencetakan laporan. Berikut dijelaskan

spesifikasinya.

Halaman Operator Gudang :

A1. Operator gudang melakukan login

A2. Operator gudang mengelola barang masuk

A.3. Operator gudang mengelola barang keluar

A.4. Operator gudang mengelola pengiriman

A.5 Operator gudang mengelola retur barang

A.5. Operator gudang mengelola total produksi

A.6. Operator gudang mengelola stok opname

A.7. Operator gudang mengelola pencarian barang

A.8. Operator gudang mengelola data laporan stok.

43

Page 2: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

44

Halaman Administrasi.

B.1. Admin melakukan login

B.2. Admin dapat mengelola data barang.

B.3. Admin dapat mengelola data vendor.

B.4. Admin dapat mengelola data pelanggan.

B.5. Admin dapat menelola data unit

B.6. Admin dapat mengelola data kategori

B.7. Admin dapat mengelola data penjualan barang.

B.8. Admin dapat mengelola data pembelian barang.

B.9. Admin dapat mengelola data barang masuk

B.10. Admin dapat mengelola data barang keluar

B.11. Admin dapat mengelola data pengiriman

B.12. Admin dapat mengelola data retur barang

B.13. Admin dapat mengelola data total produksi

B.14. Admin dapat mengelola data stok opname

B.15. Admin dapat mencetak semua laporan.

Page 3: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

45

B. Use Case Diagram

1. Use Case Diagram Halaman Operator Gudang

Gambar IV. 1 Use Case Diagram Halaman Operator Gudang

Page 4: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

46

Deskripsi Use Case Diagram Halaman Operator Gudang

Tabel IV. 1 Descripsi Use Case Diagram Halaman Operator Gudang

Use Case Name Halaman Operator GudangRequirements A1-A8Goal Mempermudah user dalam hal mengelola

persediaan barangPre-conditions Operator gudang melakukan loginPost-conditions Operator gudang melakukan input barang

masuk, barang keluar, stok opname, data pengiriman, total produksi, retur barang pencetakan laporan stok, dan Pencarian barang.

Failed end condition Operator gudang membatalkan pengeluaran barangOperator gudang membatalkan penambahan stok

Primary Actors Operator gudangMain Flow / Basic Path 1. Operator gudang melakukan login

2. Operator gudang mengelola barang masuk.

3. Operator gudang mengelola barang keluar.

4. Operator gudang mengelola pengiriman5. Operator gudang mengelola retur

barang.6. Operator gudang mengelola total

produksi.7. Operator gudang mengelola pencarian

barang.8. Operator barang mengelola stok

opname.

Page 5: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

47

2. Use Case Diagram Halaman Administrasi

Gambar IV. 2 Use Case Diagram Halaman Administrasi

Page 6: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

48

Deskripsi Use Case Diagram Halaman Admin Kelola Data Barang

Tabel IV. 2 Deskripsi Use Case Diagram Halaman Admin Kelola Data Barang

Use Case Name Halaman AdministrasiRequirements B-2Goal Admin dapat mengelola data barangPre-conditions Admin telah loginPost-conditions Data barang tersimpan, teredit, terhapusFailed end condition Gagal menyimpan, mengedit, dan

menghapusPrimary Actors AdministratorMain Flow / Basic Path 1. Admin dapat menambah data barang.

2. Admin dapat mengedit data barang.3. Admin dapat menghapus data barang.4. Admin dapat menvari data barang.5. Admin dapat melihat data barang.

Deskripsi Use Case Diagram Halaman Admin Kelola Data Vendor

Tabel IV. 3 Deskripsi Use Case Diagram Halaman Admin Kelola Data Vendor

Use Case Name Halaman AdministrasiRequirements B-3Goal Admin dapat mengelola data vendorPre-conditions Admin telah loginPost-conditions Data vendor tersimpan, teredit, terhapusFailed end condition Gagal menyimpan, mengedit, dan

menghapusPrimary Actors AdministratorMain Flow / Basic Path 1. Admin dapat menambah data vendor.

2. Admin dapat mengedit data vendor.3. Admin dapat menghapus data vendor.4. Admin dapat menvari data vendor.5. Admin dapat melihat data vendor.

Page 7: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

49

Deskripsi Use Case Diagram Halaman Admin Kelola Data Pelanggan

Tabel IV. 4 Deskripsi Use Case Diagram Halaman Admin Kelola Data Pelanggan

Use Case Name Halaman AdministrasiRequirements B-4Goal Admin dapat mengelola data pelangganPre-conditions Admin telah loginPost-conditions Data pelanggan tersimpan, teredit, terhapusFailed end condition Gagal menyimpan, mengedit, dan

menghapusPrimary Actors AdministratorMain Flow / Basic Path 1. Admin dapat menambah data pelanggan.

2. Admin dapat mengedit data pelanggan.3. Admin dapat menghapus data pelanggan.4. Admin dapat menvari data pelanggan.5. Admin dapat melihat data pelanggan.

Deskripsi Use Case Diagram Halaman Admin Kelola Data Unit Pruduk

Tabel IV.5 Deskripsi Use Case Diagram Halaman Admin Kelola Data Unit

Use Case Name Halaman AdministrasiRequirements B-5Goal Admin dapat mengelola data unitPre-conditions Admin telah loginPost-conditions Data unit telah tersimpanFailed end condition Gagal menyimpanPrimary Actors AdministratorMain Flow / Basic Path 1. Admin dapat menambah data Unit.

Page 8: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

50

Deskripsi Use Case Diagram Halaman Admin Kelola Data Kategori

Tabel IV.6 Deskripsi Use Case Diagram Halaman Admin Kelola Data Kategori

Use Case Name Halaman AdministrasiRequirements B-6Goal Admin dapat mengelola data kategoriPre-conditions Admin telah loginPost-conditions Data kategori tersimpanFailed end condition Gagal menyimpan

Primary Actors AdministratorMain Flow / Basic Path 1. Admin dapat menambah data kategori.

Deskripsi Use Case Diagram Halaman Admin Kelola Data Penjualan

Tabel IV. 7 Deskripsi Use Case Diagram Halaman Admin Kelola Data Penjualan

Use Case Name Halaman AdministrasiRequirements B-7Goal Admin dapat mengelola data ;penjualanPre-conditions Admin telah loginPost-conditions Data penjulan tersimpan, tercetakFailed end condition Gagal menyimpan dan mencetak

Primary Actors AdministratorMain Flow / Basic Path 1. Admin dapat menambah data penjualan.

2. Admin dapat mencetak data penjualan.3. Admin dapat mencari data penjualan.

Page 9: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

51

Deskripsi Use Case Diagram Halaman Admin Kelola Data Pembelian

Tabel IV. 8 Deskripsi Use Case Diagram Halaman Admin Kelola Data Pembelian

Use Case Name Halaman AdministrasiRequirements B-8Goal Admin dapat mengelola data pembelianPre-conditions Admin telah loginPost-conditions Data pembelian tersimpan, tercetakFailed end condition Gagal menyimpan dan mencetak

Primary Actors AdministratorMain Flow / Basic Path 1. Admin dapat menambah data pembelian.

2. Admin dapat mencetak data pembelian.3. Admin dapat mencari data pembelian.

Deskripsi Use Case Diagram Halaman Admin Kelola Barang Masuk

Tabel IV. 9 Deskripsi Use Case Diagram Halaman Admin Barang Masuk

Use Case Name Halaman AdministrasiRequirements B-9Goal Admin dapat Mengelo Barang MasukPre-conditions Admin telah loginPost-conditions Data barang masuk tersimpan, tercetakFailed end condition Gagal menyimpan

Primary Actors AdministratorMain Flow / Basic Path 1. Admin datat menambah barang masuk.

2. Admin dapat mencetak barang masuk.3. Admin dapat mencari barang masuk.

Page 10: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

52

Deskripsi Use Case Diagram Halaman Admin Kelola Barang Keluar

Tabel IV. 10 Deskripsi Use Case Diagram Halaman Admin Barang Keluar

Use Case Name Halaman AdministrasiRequirements B-10Goal Admin dapat Mengelola Barang KeluarPre-conditions Admin telah loginPost-conditions Data barang keluar tersimpan, tercetakFailed end condition Gagal menyimpan

Gagal mencetakPrimary Actors AdministratorMain Flow / Basic Path 1. Admin datat menambah barang keluar.

2. Admin dapat mencetak barang keluar.3. Admin dapat mencari barang keluar.

Deskripsi Use Case Diagram Halaman Admin Kelola Pengiriman

Tabel IV. 11 Deskripsi Use Case Diagram Halaman Admin Pengiriman

Use Case Name Halaman AdministrasiRequirements B-11Goal Admin dapat Mengelola PengirimanPre-conditions Admin telah loginPost-conditions Data pengiriman tersimpanFailed end condition Gagal menyimpan

Primary Actors AdministratorMain Flow / Basic Path 1. Admin datat menambah pengiriman.

2. Admin dapat merubah pengiriman.3. Admin dapat mencari barang masuk.

Deskripsi Use Case Diagram Halaman Admin Kelola Retur BarangTabel IV. 12 Deskripsi Use Case Diagram Halaman Admin Retur Barang

Use Case Name Halaman AdministrasiRequirements B-12Goal Admin dapat Mengelola Retur BarangPre-conditions Admin telah loginPost-conditions Data retur barang tersimpan, tercetakFailed end condition Gagal menyimpan

Primary Actors Administrator

Page 11: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

53

Main Flow / Basic Path 1. Admin datat menambah retur barang.2. Admin dapat mencetak retur barang.3. Admin dapat mencari retur barang.

Deskripsi Use Case Diagram Halaman Admin Kelola Total Produksi

Tabel IV. 13 Deskripsi Use Case Diagram Halaman Admin Total Produksi

Use Case Name Halaman AdministrasiRequirements B-13Goal Admin dapat Mengelola Total ProduksiPre-conditions Admin telah loginPost-conditions Data total produksi tersimpan, tercetakFailed end condition Gagal menyimpan

Gagal MencetakPrimary Actors AdministratorMain Flow / Basic Path 1. Admin datat menambah total produksi.

2. Admin dapat mencetak total produksi.

Deskripsi Use Case Diagram Halaman Admin Kelola Stok Opname

Tabel IV. 14 Deskripsi Use Case Diagram Halaman Admin Stok Opname

Use Case Name Halaman AdministrasiRequirements B-14Goal Admin dapat Mengelola Stok OpnamePre-conditions Admin telah loginPost-conditions Data stok opname tersimpanFailed end condition Gagal menyimpan

Primary Actors AdministratorMain Flow / Basic Path 1. Admin datat menambah stok opname.

Page 12: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

54

Deskripsi Use Case Diagram Halaman Admin Kelola Laporan

Tabel IV. 15 Deskripsi Use Case Diagram Halaman Admin Kelola Laporan

Use Case Name Halaman AdministrasiRequirements B-15Goal Admin dapat mencetak laporanPre-conditions Admin telah loginPost-conditions Data laporan tercetakFailed end condition Gagal mencetak

Primary Actors AdministratorMain Flow / Basic Path 1. Admin cetak laporan data barang.

2. Admin cetak laporan data vendor.3. Admin cetak laporan data pelanggan.4. Admin cetak laporan data karyawan.5. Admin cetak laporan data penjulan.6. Admin cetak laporan data pembelian

Page 13: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

55

C. Activity Diagram

Berikut penggambaran activity diagram pada sistem aplikasi penjualan dan

pembelian barang.

1. Acitivity Diagram Login

Gambar IV. 3 Activity Diagram Login

2. Activity Diagram Master

Page 14: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

56

Gambar IV. 4 Activity Diagram Master

3. Activity Diagram Transaksi

Page 15: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

57

Gambar IV. 5 Activity Diagram Transaksi

4. Activity Diagram Persediaan

Page 16: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

58

Gambar IV. 6 Activity Diagram Persediaan

5. Activity Diagram Laporan

Page 17: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

59

Gambar IV. 7 Activity Diagram Laporan

4.2 Desain

Page 18: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

60

Berikut dijelaskan tentang database pada sistem aplikasi penjualan dan

pembelian yang telah dibuat.

4.2.1 Database

1. Entity Relationship Diagram

Gambar IV. 8 Entity Relationship Diagram

Page 19: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

61

2. Logical Record Structure

Page 20: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

62

Gambar VI.9 Logical Record Structure

3. Spesifikasi File

Dalam sistem aplikasi penjualan dan pembelian barang ini terdapat satu

database yaitu “Inventori.bdb”, berikut penjelasan untuk spesifikasi filenya.

a. Tabel Barang

Tabel ini berfungsi untuk menyimpan data barang. Tabel ini terdiri dari field-

field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel BarangAkronim : BarangPanjang Record : 139 ByteKunci Field : Kd_brg

Tabel IV.16.Spesifikasi File Tabel Barang

No Elemen Data Nama Field Type Size Keterangan1 Kode Barang Kd_brg Character 15 Primary Key2 Nama Barang Nm_brg Character 404 Kelompok Barang Kel_brg Character 155 Satuan Satuan Character 56 Kapasitas Kap Numeric 37 Berat Berat Numeric 38 Stok Stok Numeric 69 Tanggal Pembelian Tgl_beli Date time 810 Harga Barang Harga Numeric 1011 Keterangan Ket Character 20

b. Tabel Vendor

Tabel ini berfungsi untuk menyimpan data vendor. Tabel ini terdiri dari field-

field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel Vendor

Page 21: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

63

Akronim : VendorPanjang Record : 135 ByteKunci Field : Kd_vendor

Tabel IV.17.Spesifikasi File Tabel Vendor

No Elemen Data Nama Field Type Size Keterangan1 Kode Vendor Kd_Vendor Character 15 Primary Key2 Nama Vendor Nm_Vendor Character 253 Alamat Alamat Character 504 Atas Nama Attn Character 255 No Handphone No_hp Numeric 106 No Telepon Notelp Numeric 127 No Fax Nofax Numeric 107 Email Email Character 208 Website Website Character 20

c. Tabel Pelanggan

Tabel ini berfungsi untuk menyimpan data pelanggan. Tabel ini terdiri dari field-

field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel PelangganAkronim : PelangganPanjang Record : 205 ByteKunci Field : Kd_Pelanggan

Tabel IV.18.Spesifikasi File Tabel Pelanggan

No Elemen Data Nama Field Type Size Keterangan1 Kode Pelanggan Kd_karyawan Character 15 Primary Key2 Nama Pelanggan Nm_karyawan Character 253 Alamat Jns_kelamin Character 504 Atas Nama Alamat Character 105 Jabatan Notelp Character 126 No Handphone No_HP Number 127 No Telepon No_tlp Number 128 No Fax No_fax Number 12

Page 22: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

64

9 Email Email Character 2510 Webbsite Website Character 20d. Tabel Kategori

Tabel ini berfungsi untuk menyimpan data kategori. Tabel ini terdiri dari field-

field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel KategoriAkronim : KategoriPanjang Record : 30 ByteKunci Field : Nm_Kategori

Tabel IV.19.Spesifikasi File Tabel Kategori

No Elemen Data Nama Field Type Size Keterangan1 Nama Kategori Nm_Kategori Character 15 Primary Key2 Keterangan Keterangan Character 15

e. Tabel Unit

Tabel ini berfungsi untuk menyimpan data unit barang. Tabel ini terdiri dari

field-field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel UnitAkronim : UnitPanjang Record : 10 ByteKunci Field : Nm_Unit

Tabel IV.20.Spesifikasi File Tabel Unit

No Elemen Data Nama Field Type Size Keterangan1 Nama Unit Nm_Unit Character 5 Primary Key2 Keterangan Unit Keterangan Character 5

f. Tabel Pengguna

Page 23: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

65

Tabel ini berfungsi untuk menyimpan data pengguna. Tabel ini terdiri dari field-

field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel PenggunaAkronim : PenggunaPanjang Record : 139 ByteKunci Field : Kd_User

Tabel IV.21.Spesifikasi File Tabel Pengguna

No Elemen Data Nama Field Type Size Keterangan1 Kode User Kd_user Character 15 Primary Key2 Nama User Nm_user Character 204 Password Password Character 105 Level User Level Character 15

g. Tabel Penjualan

Tabel ini berfungsi untuk menyimpan data penjualan. Tabel ini terdiri dari field-

field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel PenjualanAkronim : PenjualanPanjang Record : 55 ByteKunci Field : kd_penjualan

Tabel IV.22.Spesifikasi File Tabel Penjualan

No Elemen Data Nama Field Type Size Keterangan1 Kode Penjualan Kd_Penjualan Character 20 Primary Key2 Kode Pelanggan Kd_Pelanggan Character 153 Tanggal Penjualan Tggl_penjualan Date Time 84 Total Harga Total Numeric 95 PPN PPN Character 3

Page 24: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

66

h. Tabel Detail Penjualan

Tabel ini berfungsi untuk menyimpan data detail penjualan. Tabel ini terdiri dari

field-field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel Detail PenjualanAkronim : Detail_penjualanPanjang Record : 72 ByteKunci Field : kd_detail

Tabel IV.23.Spesifikasi File Tabel Detail Penjualan

No Elemen Data Nama Field Type Size Keterangan1 Kode Detail Penjualan Kd_detail Character 20 Primary Key2 Kode Penjualan Kd_penjualan Character 20 Foreign Key3 Kode Barang Kd_brg Character 20 Foreign Key4 Quantity Qty Numeric 35 Subtotal Subtotal Numeric 9

i. Tabel Pembelian

Tabel ini berfungsi untuk menyimpan data pembelian. Tabel ini terdiri dari field-

field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel PembelianAkronim : PembelianPanjang Record : 55 ByteKunci Field : No_PO

Tabel IV.24.Spesifikasi File Tabel Pembelian

No Elemen Data Nama Field Type Size Keterangan1 No Purchase Order No_PO Character 20 Primary Key2 Kode Vendor Kd_vendor Character 15 Foreign Key3 Total Total Numeric 94 Tanggal Pembelian Tggl_pembelian Date time 85 PPN PPN Character 3

Page 25: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

67

j. Tabel Detail Pembelian

Tabel ini berfungsi untuk menyimpan data detail pembelian. Tabel ini terdiri dari

field-field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel Detail PembelianAkronim : Detail_pembelianPanjang Record : 67 ByteKunci Field : Detail_pembelian

Tabel IV.25.Spesifikasi File Tabel Detail Pembelian

No Elemen Data Nama Field Type Size Keterangan1 No Deatil Pembelian Detail_pembelian Character 20 Primary Key2 No Purchase Order No_po Character 20 Foreign Key3 Kode Barang Kd_brg Character 15 Foreign Key4 Subtotal Subtotal Numeric 95 Quantity Qty Numeric 3

k. Tabel Barang Masuk

Tabel ini berfungsi untuk menyimpan data barang masuk. Tabel ini terdiri dari

field-field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel barang MasukAkronim : barang_masukPanjang Record : 78 ByteKunci Field : Kd_sjmasuk

Tabel IV.26.Spesifikasi File Tabel Barang Masuk

No Elemen Data Nama Field Type Size Keterangan1 Kode Surat Jalan Masuk Kd_Sjmasuk Character 20 Primary Key2 Tanggal Masuk Tggl_masuk Date time 83 Kode Vendor Kd_vendor Character 15 Foreign Key4 No Purchase Order No_PO Character 20 Foreign Key5 Kode Karyawan Kd_karyawan Character 15 Foreign Key

Page 26: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

68

l. Tabel Detail Barang Masuk

Tabel ini berfungsi untuk menyimpan data detail barang masuk. Tabel ini terdiri

dari field-field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel Detail Barang MasukAkronim : detail_brgmasuk.mdbPanjang Record : 58 ByteKunci Field : Kd_detailbm

Tabel IV.27.Spesifikasi File Tabel Detail Barang Masuk

No Elemen Data Nama Field Type Size Keterangan1 Kode detail barang masuk Kd_detailbm Character 20 Primary Key2 Kode surat jalan masuk Kd_sjmasuk Character 20 Foreign Key3 Kode barang Kd_brg Character 15 Foreign Key4 Quantity Qty Numeric 3

m. Tabel Barang Keluar

Tabel ini berfungsi untuk menyimpan data barang keluar. Tabel ini terdiri dari

field-field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel Barang KeluarAkronim : barang_keluar.mdbPanjang Record : 78 ByteKunci Field : No_DO

Tabel IV.28.Spesifikasi File Tabel Barang Keluar

No Elemen Data Nama Field Type Size Keterangan1 No Delivery Order No_DO Character 20 Primary Key2 Tanggal Barang Keluar Tggl_keluar Date time 83 No PO Customer No_pocustomer Character 20 Foreign Key4 Kode Customer Kd_customer Character 15 Foreign Key5 Kode Karyawan Kd_karyawan Character 15 Foreign Key

Page 27: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

69

n. Tabel Detail Barang Keluar

Tabel ini berfungsi untuk menyimpan data detail barang keluar. Tabel ini

terdiri dari field-field sebagai berikut :

Nama Database : Inventory.mdbNama File : Tabel Detail Barang KeluarAkronim : detail_barangkeluarPanjang Record : 48 ByteKunci Field : kd_detailbk

Tabel IV.29.Spesifikasi File Tabel Detail Barang Keluar

No Elemen Data Nama Field Type Size Keterangan1 Kode Detail Barang Keluar Kd_detailbk Character 15 Primary Key2 No Delivery Order No_DO Character 15 Foreign Key3 Quantity Qty Numeric 34 Kode Barang Kd_brg Character 15 Foreign Key

Page 28: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

70

4.2.2 Software Architecture

A. Component Diagram

Gambar IV. 10 Component Diagram

<< Desktop Application >> 1. Master Barang 2. Master Unit 3. Master Kategori 4. Master Pelanggan 5. Master Vendor 6. Penjualan 7. Pembelian 8. Barang Masuk 9. Barang Keluar 10. Total Produksi 11. Laporan Barang 12. Laporan Karyawan 13. Laporan Pelanggan 14. Laporan Pembelian 15. Laporan Penjualan 16. Laporan Barang Masuk 17. Laporan Barang Keluar

<< Pembelian dan Penjualan >>

Inventory.Mdb

<< View Data >> 1. Tabel Barang 2. Tabel Unit 3. Tabel Kategori 4. Tabel Pelanggan 5. Tabel Vendor 6. Tabel Penjualan 7. Tabel Detail Penjualan 8. Tabel Pembelian 9. Tabel Detail Pembelian 10. Tabel Barang Masuk 11. Tabel Detail Barang Masuk 12. Tabel Barang Keluar 13. Tabel Detail Barang Keluar 14. Tabel Total Produksi

Page 29: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

71

B. Deployment Diagram

Gambar IV. 11 Deployment Diagram

Page 30: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

72

4.2.3 User Interface

1. User Interface Login User

Gambar IV. 12 Tampilan Login User

2. User Interface Menu Utama Penjualan dan Pembelian Barang

Page 31: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

73

Gambar IV. 13 Tampilan Halaman Menu Utama

3. User Interface Form Data Barang

Gambar IV. 14 Tampilan Form Data Barang

4. User Interface Form Transaksi Penjualan

Page 32: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

74

Gambar IV. 15 Tampilan Form Transaksi Penjualan

5. User Interface Form Barang Masuk

Gambar IV. 16 Tampilan Form Barang Masuk

6. User Interface Form Barang Keluar

Page 33: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

75

Gambar IV. 17 Tampilan Form Barang Keluar

7. User Interface Form Retur Barang

Gambar IV. 18 Tampilan Form Barang Retur Barang

Page 34: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

76

4.3. Code GenerationA. Login Pengguna

unit formlogin;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls, Buttons, DB, ADODB;

type TLogin = class(TForm) Image1: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel; username: TComboBox; password: TEdit; login: TBitBtn; batal: TBitBtn; ADOConnection1: TADOConnection; adoguna: TADOQuery; procedure batalClick(Sender: TObject); procedure loginClick(Sender: TObject); procedure usernameChange(Sender: TObject); procedure FormActivate(Sender: TObject); procedure passwordKeyPress(Sender: TObject; var Key: Char); private { Private declarations } public procedure ADMINISTRATOR; procedure OPERATOR; { Public declarations } end;

var Login: TLogin; y:integer; id:string;

implementation

uses formmenu;

Page 35: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

77

{$R *.dfm}procedure tlogin.ADMINISTRATOR;begin;menu_utama.datamaster.Visible:=true;menu_utama.datatransaksi.Visible:=true;menu_utama.datapersediaan.Visible:=true;menu_utama.datalaporan.Visible:=true;end;

procedure tlogin.OPERATOR;beginmenu_utama.datamaster.Visible:=false;menu_utama.datatransaksi.Visible:=false;menu_utama.lapdatamaster.Enabled:=false;menu_utama.lapdatatransaksi.Enabled:=false;menu_utama.gantipass.Enabled:=false;end;

procedure TLogin.batalClick(Sender: TObject);beginapplication.Terminate;end;

procedure TLogin.loginClick(Sender: TObject);varcepat:Longint;str:string;beginif adoguna.Locate('nm_user',username.Text,[]) thenbeginif adoguna.Locate('password',password.Text,[]) thenbeginif adoguna.FieldValues['level']='ADMINISTRATOR' then beginADMINISTRATOR;menu_utama.Show;menu_utama.StatusBar1.Panels[0].Text:=adoguna['nm_user'];login.Hide;endelse if adoguna.FieldValues['level']='OPERATOR' then beginOPERATOR;menu_utama.Show;menu_utama.StatusBar1.Panels[0].Text:=adoguna['nm_user'];login.Hide;end

Page 36: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

78

endelse if password.Text='' thenbeginMessageDlg('password belum di isi',mtInformation,[mbok],0 );password.SetFocus;endelsebeginif(Application.MessageBox('Password yang anda masukan salah','INFO',MB_OK+MB_ICONWARNING)=IDOK) theny:=y+1;beginif y=1 thenbeginMessageDlg('anda memiliki 2 kesempatan lagi',mtInformation,[mbok],0 );password.SetFocus;endelse if y=2 thenbeginMessageDlg('anda memiliki 1 kesempatan lagi',mtInformation,[mbok],0 );password.SetFocus;endelse if y=3 thenbeginMessageDlg('Maaf anda tidak berhak masuk',mtInformation,[mbok],0 );close;endendendendelse if (username.Text='')and(password.Text='')thenbeginMessageDlg('Nama User dan Password Masih Kosong',mtInformation,[mbok],0 );username.SetFocus;endelsebeginMessageDlg('Username yang anda masukan salah',mtWarning,[mbok],0 );username.SetFocus;endend;

procedure TLogin.usernameChange(Sender: TObject);beginif adoguna.Locate('nm_user',username.Text,[]) then

Page 37: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

79

beginpassword.SetFocus;end;end;

procedure TLogin.FormActivate(Sender: TObject);beginusername.Text:='';password.Text:='';username.SetFocus;end;

procedure TLogin.passwordKeyPress(Sender: TObject; var Key: Char);beginif key=#13 thenlogin.SetFocus;end;

end.

B. Data Barang

unit formproduk;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters, cxContainer, cxEdit, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinFoggy, dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinPumpkin, dxSkinSeven, dxSkinSharp, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue, cxImage, Grids, DBGrids, DB, XPMan, StdCtrls, Buttons, Mask, ADODB;

type

Page 38: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

80

Tprodukk = class(TForm) panel2: TPanel; perbarui: TSpeedButton; cariproduk: TEdit; cjenis: TComboBox; panel1: TPanel; Tambah: TSpeedButton; keluar: TSpeedButton; panel3: TPanel; dbproduk: TDBGrid; XPManifest1: TXPManifest; databarang: TDataSource; ADOCbarang: TADOConnection; ADObarang: TADOQuery; adookk: TADOTable; procedure TambahClick(Sender: TObject); procedure dbprodukDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); procedure keluarClick(Sender: TObject); procedure perbaruiClick(Sender: TObject); procedure cariprodukChange(Sender: TObject); procedure cjenisChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure cariprodukClick(Sender: TObject); procedure dbprodukDblClick(Sender: TObject); private { Private declarations } public { Public declarations } end;

var produkk: Tprodukk;

implementation

uses forminputproduk;

{$R *.dfm}

procedure Tprodukk.TambahClick(Sender: TObject);begininputproduk.ShowModal;inputproduk.bersih;end;

Page 39: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

81

procedure Tprodukk.dbprodukDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif dbproduk.DataSource.DataSet.RecNo mod 2 =0 thenDBproduk.Canvas.Brush.Color := clskyBlue;DBproduk.DefaultDrawColumnCell(rect, datacol, column, state);end;

procedure Tprodukk.keluarClick(Sender: TObject);beginclose;end;

procedure Tprodukk.perbaruiClick(Sender: TObject);beginadobarang.Close;ADObarang.SQL.Clear;ADObarang.SQL.Append('SELECT * FROM barang order by kd_brg desc');ADObarang.Open;end;

procedure Tprodukk.cariprodukChange(Sender: TObject);beginif cjenis.ItemIndex = 0 then

adobarang.SQL.Text:='Select * FROM barang WHERE kd_brg Like"%'+cariproduk.Text+'%"'else if cjenis.ItemIndex = 1 thenadobarang.SQL.Text:='Select * FROM barang WHERE nm_brg Like"%'+cariproduk.Text+'%"'else if cjenis.ItemIndex = 2 thenadobarang.SQL.Text:='Select * FROM barang WHERE kel_brg Like"%'+cariproduk.Text+'%"';adobarang.Active:=true;end;

procedure Tprodukk.cjenisChange(Sender: TObject);begincariprodukChange(sender);end;

procedure Tprodukk.FormShow(Sender: TObject);begin

Page 40: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

82

adobarang.Active:=false;adobarang.Close;adobarang.SQL.Clear;adobarang.SQL.Text:='select * from barang';adobarang.Active:=true;end;

procedure Tprodukk.cariprodukClick(Sender: TObject);begincariproduk.Text:='';end;

procedure Tprodukk.dbprodukDblClick(Sender: TObject);begininputproduk.kdproduk.Text:=dbproduk.Fields[0].AsString;inputproduk.nmproduk.Text:=dbproduk.Fields[1].AsString;inputproduk.kelproduk.Text:=dbproduk.Fields[2].AsString;inputproduk.beraat.Text:=dbproduk.Fields[4].AsString;inputproduk.cap.Text:=dbproduk.Fields[6].AsString;inputproduk.hrg.Text:=dbproduk.Fields[7].AsString;inputproduk.stok.Text:=dbproduk.Fields[8].AsString;inputproduk.tgglbeli.DateTime:=dbproduk.Fields[9].AsDateTime;inputproduk.ket.Text:=dbproduk.Fields[10].AsString;inputproduk.csimpan.Visible:=false;inputproduk.cubah.Visible:=true;inputproduk.kdproduk.Enabled:=false;inputproduk.ShowModal;end;

end.unit forminputproduk;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DBCtrls, Buttons, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinFoggy, dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinPumpkin, dxSkinSeven, dxSkinSharp, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,

Page 41: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

83

dxSkinSummer2008, dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue, dxSkinscxPCPainter, cxPC, DB, ADODB, ComCtrls;

type Tinputproduk = class(TForm) cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label5: TLabel; ckel: TSpeedButton; Label6: TLabel; Label7: TLabel; Label8: TLabel; kdproduk: TEdit; nmproduk: TEdit; kelproduk: TEdit; beraat: TEdit; cap: TEdit; stok: TEdit; Label9: TLabel; hrg: TEdit; Label10: TLabel; tgglbeli: TDateTimePicker; Label11: TLabel; ket: TEdit; ADOConnection1: TADOConnection; adounit: TADOQuery; ADOQuery1: TADOQuery; csimpan: TBitBtn; cbatal: TBitBtn; cubah: TBitBtn; chapus: TBitBtn; dbunit: TDBLookupComboBox; procedure ckelClick(Sender: TObject); procedure kdprodukKeyPress(Sender: TObject; var Key: Char); procedure nmprodukKeyPress(Sender: TObject; var Key: Char); procedure stokKeyPress(Sender: TObject; var Key: Char); procedure beraatKeyPress(Sender: TObject; var Key: Char); procedure capKeyPress(Sender: TObject; var Key: Char); procedure hrgKeyPress(Sender: TObject; var Key: Char); procedure stokKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure beraatKeyDown(Sender: TObject; var Key: Word;

Page 42: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

84

Shift: TShiftState); procedure capKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure csimpanClick(Sender: TObject); procedure cubahClick(Sender: TObject); procedure cbatalClick(Sender: TObject); procedure chapusClick(Sender: TObject); private { Private declarations } public procedure bersih; { Public declarations } end;

var inputproduk: Tinputproduk;

implementation

uses formcariunit, formcarikategori, formkategori, formproduk, formunit, formmcariunit, formmenu, ckelompokbarang;

{$R *.dfm}procedure Tinputproduk.ckelClick(Sender: TObject);beginckelproduk.ShowModal;end;

procedure tinputproduk.bersih;beginkdproduk.Text:='';nmproduk.Text:='';kelproduk.Text:='';stok.Text:='';beraat.Text:='';cap.Text:='';hrg.Text:='';ket.Text:='';end;

procedure Tinputproduk.kdprodukKeyPress(Sender: TObject; var Key: Char);beginwith adoquery1 dobeginif key=#13 then

Page 43: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

85

beginActive := False;SQL.Clear;SQL.Text :=' SELECT * FROM barang WHERE kd_brg = ' + QuotedStr(kdproduk.Text);Active := True;if adoquery1.RecordCount > 0 thenbeginMessageDlg('Kode produk yang di input sudah ada !!!',mtError,[mbOK],0);kdproduk.Text:='';kdproduk.SetFocus;end;end;end;end;

procedure Tinputproduk.nmprodukKeyPress(Sender: TObject; var Key: Char);beginif key=#13 thenkelproduk.SetFocus;end;

procedure Tinputproduk.stokKeyPress(Sender: TObject; var Key: Char);beginif not (key in['0'..'9',#8,#13,#32]) then begin key:=#0; showmessage('Data Harus Berupa Angka'); end;end;

procedure Tinputproduk.beraatKeyPress(Sender: TObject; var Key: Char);beginif not (key in['0'..'9',#8,#13,#32]) then begin key:=#0; showmessage('Data Harus Berupa Angka'); end;

end;

procedure Tinputproduk.capKeyPress(Sender: TObject; var Key: Char);beginif not (key in['0'..'9',#8,#13,#32]) then begin

Page 44: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

86

key:=#0; showmessage('Data Harus Berupa Angka'); end;

end;

procedure Tinputproduk.hrgKeyPress(Sender: TObject; var Key: Char);beginif not (key in['0'..'9',#8,#13,#32]) then begin key:=#0; showmessage('Data Harus Berupa Angka'); end;

end;

procedure Tinputproduk.stokKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);beginif key=VK_Return then beraat.SetFocus;end;

procedure Tinputproduk.beraatKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);beginif key=VK_Return then cap.SetFocus;end;

procedure Tinputproduk.capKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);beginif key=VK_return then hrg.SetFocus;end;

procedure Tinputproduk.csimpanClick(Sender: TObject);beginif(kdproduk.Text='')or(nmproduk.Text='')or(stok.Text='')then begin application.MessageBox('Data Tidak Boleh Ada Yang Kosong','Pemberitahuan',MB_OK + MB_ICONERROR); exit; end;

ADOQuery1.Close;ADOQuery1.SQL.Clear;

Page 45: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

87

ADOQuery1.SQL.Append('insert into barang values("'+kdproduk.Text+'","'+nmproduk.Text+'","'+kelproduk.Text+'","'+dbunit.Text+'","'+beraat.Text+'","'+cap.Text+'","'+hrg.Text+'","'+stok.Text+'","'+DateToStr(tgglbeli.Date)+'","'+ket.Text+'")');ADOQuery1.ExecSQL;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add('select * from barang');ADOQuery1.Open;bersih;kdproduk.SetFocus;end;

procedure Tinputproduk.cubahClick(Sender: TObject);beginADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add('update barang set nm_brg="'+nmproduk.Text+'",kel_brg="'+kelproduk.text+'",satuan="'+dbunit.text+'",berat="'+beraat.Text+'",kapasitas="'+cap.Text+'",hrg_brg="'+hrg.Text+'",Stok_brg="'+stok.Text+'",Tggl_beli="'+DateToStr(tgglbeli.Date)+'",keterangan="'+ket.Text+'" where kd_brg="'+kdproduk.Text+'"');ADOQuery1.ExecSQL;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add('select * from barang');produkk.ADObarang.Open;inputproduk.Close;end;

procedure Tinputproduk.cbatalClick(Sender: TObject);beginclose;end;

procedure Tinputproduk.chapusClick(Sender: TObject);varstr:string;beginadoquery1.Delete;adoquery1.First;adoquery1.Refresh;end;end.

C. Transaksi Penjualan

Page 46: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

88

unit formpenjualan;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, ExtCtrls, StdCtrls, Buttons, ComCtrls, DB, ADODB, OleCtrls, Crystal_TLB;

type Tpenjualan = class(TForm) Panel1: TPanel; Panel2: TPanel; Panel3: TPanel; DBGrid1: TDBGrid; Label1: TLabel; Label2: TLabel; kdpenjualan: TEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label8: TLabel; Label9: TLabel; kdproduk: TEdit; SpeedButton1: TSpeedButton; nmproduk: TEdit; kdpelanggan: TEdit; SpeedButton2: TSpeedButton; nmpelanggan: TEdit; jlm: TEdit; tgglpenjualan: TDateTimePicker; Panel4: TPanel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Panel5: TPanel; tambah: TSpeedButton; simpan: TSpeedButton; batal: TSpeedButton; cetak: TSpeedButton; keluar: TSpeedButton; ADOConnection1: TADOConnection; ADOsementara: TADOQuery; DataSource1: TDataSource;

Page 47: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

89

ADOdetailpenjualan: TADOQuery; adobarang: TADOQuery; satuan: TLabel; harga: TLabel; Edit1: TEdit; hrg: TEdit; ADOsementarakd_barang: TWideStringField; ADOsementaranama_barang: TWideStringField; ADOsementaraJumlah: TWideStringField; ADOsementaraSatuan: TWideStringField; ADOsementaraHarga: TBCDField; ADOsementaraTotal: TBCDField; Edit2: TEdit; Edit3: TEdit; subtotal: TEdit; total: TEdit; Edit4: TEdit; ppn: TEdit; adopenjualan: TADOQuery; adopen: TADOTable; adodet: TADOTable; adosem: TADOTable; ADOTable4: TADOTable; alamat: TEdit; mer: TEdit; Label13: TLabel; Label7: TLabel; cpembayaran: TComboBox; Edit5: TEdit; adosemkd_barang: TWideStringField; adosemnama_barang: TWideStringField; adosemmerk: TWideStringField; adosemJumlah: TWideStringField; adosemSatuan: TWideStringField; adosemHarga: TBCDField; adosemTotal: TBCDField; lbilang: TLabel; Label14: TLabel; nopo: TEdit; Edit6: TEdit; cppn: TComboBox; cr1: TCrystalReport; Timer1: TTimer; Edit7: TEdit; Edit8: TEdit;

Page 48: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

90

procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure keluarClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure batalClick(Sender: TObject); procedure jlmKeyPress(Sender: TObject; var Key: Char); procedure tambahClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure subtotalChange(Sender: TObject); procedure totalChange(Sender: TObject); procedure ppnChange(Sender: TObject); procedure simpanClick(Sender: TObject); procedure kdpelangganKeyPress(Sender: TObject; var Key: Char); procedure cppnClick(Sender: TObject); procedure merKeyPress(Sender: TObject; var Key: Char); procedure hrgKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure hrgKeyPress(Sender: TObject; var Key: Char); procedure FormShow(Sender: TObject); procedure Edit3Change(Sender: TObject); procedure Edit6Change(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure kdprodukKeyPress(Sender: TObject; var Key: Char); private { Private declarations } public procedure bersih; procedure hitung; procedure gridbersih; procedure kodeotamatis; { Public declarations } end;

var penjualan: Tpenjualan; mtotal:real;implementation

uses formdatakaryawan, formdatapelanggan, formproduk, formmenu, cproduk, cmarketing, cpelanggan;

{$R *.dfm}// Fungsi Terbilangfunction terbilang(sValue: string):string;const

Page 49: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

91

Angka : array [1..20] of string =('', 'Satu', 'Dua', 'Tiga', 'Empat','Lima', 'Enam', 'Tujuh', 'Delapan','Sembilan', 'Sepuluh', 'Sebelas','Duabelas', 'Tigabelas', 'Empatbelas','Limabelas', 'Enambelas', 'Tujuhbelas','Delapanbelas', 'Sembilanbelas');sPattern: string = '000000000000000';

varS,Rupiah : string;Satu, Dua, Tiga, Belas, Gabung: string;Sen, Sen1, Sen2: string;Hitung : integer;one, two, three: integer;

beginOne := 4;Two := 5;Three := 6;Hitung := 1;Rupiah := '';S := copy(sPattern, 1, length(sPattern) - length(trim(sValue))) + sValue;Sen1 := Copy(S, 14, 1);Sen2 := Copy(S, 15, 1);Sen := Sen1 + Sen2;while Hitung < 5 dobeginSatu := Copy(S, One, 1);Dua := Copy(S, Two, 1);Tiga := Copy(S, Three, 1);Gabung := Satu + Dua + Tiga;

if StrToInt(Satu) = 1 thenRupiah := Rupiah + 'Seratus 'elseif StrToInt(Satu) > 1 ThenRupiah := Rupiah + Angka[StrToInt(satu)+1] + ' Ratus ';

if StrToInt(Dua) = 1 thenbeginBelas := Dua + Tiga;Rupiah := Rupiah + Angka[StrToInt(Belas)+1];endelse

Page 50: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

92

if StrToInt(Dua) > 1 ThenRupiah := Rupiah + Angka[StrToInt(Dua)+1] + ' Puluh ' +Angka[StrToInt(Tiga)+1]elseif (StrToInt(Dua) = 0) and (StrToInt(Tiga) > 0) Thenbeginif ((Hitung = 3) and (Gabung = '001')) or((Hitung = 3) and (Gabung = ' 1')) thenRupiah := Rupiah + 'Seribu 'elseRupiah := Rupiah + Angka[StrToInt(Tiga)+1];end;

if (hitung = 1) and (StrToInt(Gabung) > 0) thenRupiah := Rupiah + ' Milyar 'elseif (Hitung = 2) and (StrToInt(Gabung) > 0) thenRupiah := Rupiah + ' Juta 'elseif (Hitung = 3) and (StrToInt(Gabung) > 0) thenbeginif (Gabung = '001') or (Gabung = ' 1') thenRupiah := Rupiah + ''elseRupiah := Rupiah + ' Ribu ';end;Hitung := Hitung + 1;One := One + 3;Two := Two + 3;Three := Three + 3;end;if length(Rupiah) > 1 then Rupiah := Rupiah + ' Rupiah ';Result := Rupiah;end;// End Terbilang

Function Ribuan(Edit : TEdit):String;var NilaiRupiah: string; AngkaRupiah: Currency;

beginif Edit.Text='' then Exit; NilaiRupiah := Edit.text; NilaiRupiah := StringReplace(NilaiRupiah,',','',[rfReplaceAll,rfIgnoreCase]);

Page 51: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

93

NilaiRupiah := StringReplace(NilaiRupiah,'.','',[rfReplaceAll,rfIgnoreCase]); AngkaRupiah := StrToCurrDef(NilaiRupiah,0); Edit.Text := FormatCurr('#,###',AngkaRupiah); Edit.SelStart := length(Edit.text);end;

procedure tpenjualan.bersih;beginkdpenjualan.Text:='';kdproduk.Text:='';nmproduk.Text:='';kdpelanggan.Text:='';nmpelanggan.Text:='';jlm.Text:='';subtotal.Text:='';ppn.Text:='';total.Text:='';satuan.Caption:='';hrg.Text:='';mer.Text:='';lbilang.Caption:='';nopo.Text:='';alamat.Text:='';end;

procedure tpenjualan.kodeotamatis;var Kode,Nourut : string; i : integer;begin Kode :='INV/EIG-'+edit7.Text+ '/'+edit8.Text+'/'; With ADOpenjualan do begin Close; SQL.Clear; SQL.Add('Select Max(right(No_penjualan, 3)) from penjualan ' + 'Where left(No_penjualan, 16) = ' + QuotedStr(Kode) + ';'); Open; end;

if ADOpenjualan.Fields[0].AsString = '' then Nourut := '001' else if ADOpenjualan.Fields[0].AsString = '999' then MessageDlg('Data Hari Ini Sudah over Besok aza lagi ya !!',mtError,[mbOK],0)

Page 52: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

94

else Nourut := IntToStr(ADOpenjualan.Fields[0].AsInteger + 1);

if length(Nourut) < 3 then begin for i := length(Nourut) to 2 do Nourut := '0' + Nourut; end;

kdpenjualan.Text := Kode + Nourut;

end;

procedure tpenjualan.gridbersih;beginif adosem.RecordCount<>0 thenbeginadosem.First;while not adosem.Eof dobeginadosem.Delete;adosem.Next;adosem.Refresh;end;end;end;

procedure tpenjualan.hitung;beginmtotal:=0;if adosem.RecordCount<>0 thenbeginadosem.First;while not adosem.Eof dobeginmtotal:=mtotal+adosem['total'];adosem.Next;end;endelsebeginmtotal:=0;end;edit2.Text:=floattostr(mtotal);end;

Page 53: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

95

procedure Tpenjualan.SpeedButton1Click(Sender: TObject);begincariproduk.ShowModal;end;

procedure Tpenjualan.SpeedButton2Click(Sender: TObject);begincaripelanggan.ShowModal;end;

procedure Tpenjualan.keluarClick(Sender: TObject);beginclose;end;

procedure Tpenjualan.FormCreate(Sender: TObject);beginbersih;cppn.Items.Add('No PPN');cppn.Items.Add('PPN');end;

procedure Tpenjualan.batalClick(Sender: TObject);beginbersih;gridbersih;end;

procedure Tpenjualan.jlmKeyPress(Sender: TObject; var Key: Char);beginif key=#13 thenbeginif (jlm.Text<>'')and(jlm.Text<>'0') thenbeginadosem.Append;adosem['kd_barang']:=kdproduk.Text;adosem['nama_barang']:=nmproduk.Text;adosem['merk']:=mer.Text;adosem['jumlah']:=jlm.Text;adosem['satuan']:=satuan.Caption;adosem['harga']:=hrg.Text;adosem['total']:=strtoint(hrg.Text)*strtoint(jlm.Text);adosem.Post;hitung;

Page 54: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

96

subtotal.Text:=edit2.Text;kdproduk.Text:='';nmproduk.Text:='';edit1.Text:='';hrg.Text:='';jlm.Text:='';mer.Text:='';satuan.Caption:='';kdproduk.SetFocus;end elseshowmessage('Jumlah Belum Dimasukan');end;end;

procedure Tpenjualan.tambahClick(Sender: TObject);beginkodeotamatis;end;

procedure Tpenjualan.FormActivate(Sender: TObject);beginwith adopenjualan dobeginclose;sql.Clear;sql.Add('select * from penjualan');open;end;end;

procedure Tpenjualan.subtotalChange(Sender: TObject);beginribuan(subtotal);

end;

procedure Tpenjualan.totalChange(Sender: TObject);beginribuan(total);end;

procedure Tpenjualan.ppnChange(Sender: TObject);beginribuan(ppn);end;

Page 55: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

97

procedure Tpenjualan.simpanClick(Sender: TObject);begin if kdpenjualan.Text = '' then Showmessage('No Penjualan Masih Kosong') else if kdpelanggan.Text ='' then showmessage('Silahkan Masukan Data Pelanggan Terlebih Dahulu') else if nopo.Text ='' then showmessage('Silahkan Isi No PO Terlebih Dahulu') else beginadosem.First;while not adosem.Eof dobeginadodet.Append;adodet['No_penjualan']:=kdpenjualan.Text;adodet['kd_brg']:=adosem['kd_barang'];adodet['qty']:=adosem['jumlah'];adodet['subtotal']:=adosem['harga'];adodet['merk']:=adosem['merk'];if adobarang.Locate('kd_brg',adodet['kd_brg'],[])thenbeginadobarang.Edit;adobarang['stok_brg']:=adobarang['stok_brg']-adodet['qty'];adobarang.Post;end;adodet.Post;adosem.Next;end;

adopen.Append;adopen['No_penjualan']:=kdpenjualan.Text;adopen['kd_pelanggan']:=kdpelanggan.Text;adopen['tggl_penjualan']:=formatdatetime('dd/mm/yyyy',tgglpenjualan.DateTime);adopen['Total_harga']:=edit3.Text;adopen['ppn']:=edit4.Text;adopen['pembayaran']:=cpembayaran.Text;adopen['No_popelanggan']:=nopo.Text;adopen['terbilang']:=lbilang.Caption;adopen.Post;cr1.ReportFileName:='E:\Skripsi\Persediaan\lap rev\INV.rpt';cr1.SelectionFormula:='{penjualan.No_penjualan}='+Quotedstr(kdpenjualan.Text);cr1.WindowShowPrintSetupBtn:=true;

Page 56: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

98

cr1.WindowState:=crptMaximized;cr1.WindowShowPrintBtn:=true;cr1.WindowShowRefreshBtn:=true;cr1.Action:=1;gridbersih;kdpelanggan.Text:='';nmpelanggan.Text:='';alamat.Text:='';nopo.Text:='';end;end;

procedure Tpenjualan.kdpelangganKeyPress(Sender: TObject; var Key: Char);beginif key=#13 thencaripelanggan.ShowModal;end;

procedure Tpenjualan.cppnClick(Sender: TObject);begincase cppn.ItemIndex of 0:edit6.Text:='0'; 1:edit6.Text:='0.1';end;end;

procedure Tpenjualan.merKeyPress(Sender: TObject; var Key: Char);beginif key=#13 thenhrg.SetFocus;end;

procedure Tpenjualan.hrgKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);beginif key=VK_Return then jlm.SetFocus;end;

procedure Tpenjualan.hrgKeyPress(Sender: TObject; var Key: Char);beginif not (key in['0'..'9',#8,#13,#32]) then begin key:=#0; showmessage('Data Harus Berupa Angka'); end;

Page 57: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

99

end;

procedure Tpenjualan.FormShow(Sender: TObject);beginSetWindowPos(Self.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW);end;

procedure Tpenjualan.Edit3Change(Sender: TObject);beginlbilang.Caption:=terbilang(edit3.Text);end;

procedure Tpenjualan.Edit6Change(Sender: TObject);var f,g,diskon,tot :real;begin f:=strtofloat(Edit2.Text); g:=strtofloat(edit6.Text); diskon:=f*g; tot:=f+diskon; ppn.Text:=floattostr(diskon); edit4.Text:=floattostr(diskon); total.Text:=floattostr(tot); edit3.Text:=floattostr(tot);

end;

procedure Tpenjualan.Timer1Timer(Sender: TObject);varhour, min, sec, msec: word;Beginedit7.Text := FormatDateTime('MM',Date);edit8.Text := FormatDateTime('YYYY',Date);DecodeTime(time, hour, min, sec, msec );end;

procedure Tpenjualan.kdprodukKeyPress(Sender: TObject; var Key: Char);beginif key=#13 thencariproduk.ShowModal;end;end.

D. Barang Masuk

Page 58: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

100

unit formbarangmasuk;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinFoggy, dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinPumpkin, dxSkinSeven, dxSkinSharp, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue, dxSkinscxPCPainter, StdCtrls, Grids, DBGrids, ExtCtrls, cxPC, DBCtrls, ComCtrls, Mask, Buttons, DB, ADODB, dblookup, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, OleCtrls, Crystal_TLB;

type Tbarangmasuk = class(TForm) cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; Panel1: TPanel; Panel2: TPanel; Panel3: TPanel; DBGrid1: TDBGrid; Label1: TLabel; Label2: TLabel; kdbarang: TEdit; nmbarang: TMaskEdit; Label4: TLabel; Label6: TLabel; Label9: TLabel; Label10: TLabel; NoSJ: TEdit; Label11: TLabel; Nopo: TEdit; Jml: TEdit; Label12: TLabel; Label13: TLabel; nobarangmasuk: TEdit; kdvendor: TEdit;

Page 59: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

101

SpeedButton2: TSpeedButton; Label3: TLabel; nmvendor: TEdit; Label14: TLabel; tgglmasuk: TDateTimePicker; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; DataSource1: TDataSource; ADOConnection1: TADOConnection; adobarangmasuk: TADOQuery; adosementara: TADOQuery; adounit: TADOQuery; adokelompok: TADOQuery; adobarang: TADOQuery; adovendor: TADOQuery; DataSource2: TDataSource; dbkate: TDBLookupComboBox; DataSource3: TDataSource; dbunit: TDBLookupComboBox; adodetail: TADOQuery; adodet: TADOTable; adosem: TADOTable; adomas: TADOTable; adobar: TADOTable; Timer1: TTimer; Edit1: TEdit; Edit2: TEdit; Label5: TLabel; mer: TEdit; cr1: TCrystalReport; procedure SpeedButton6Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure NopoKeyPress(Sender: TObject; var Key: Char); procedure kdbarangKeyPress(Sender: TObject; var Key: Char); procedure JmlKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure JmlKeyPress(Sender: TObject; var Key: Char); procedure SpeedButton2Click(Sender: TObject); procedure NoSJKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure kdbarangKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure SpeedButton5Click(Sender: TObject);

Page 60: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

102

procedure SpeedButton4Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure kdvendorKeyPress(Sender: TObject; var Key: Char); private { Private declarations } public procedure bersih; procedure notis; procedure gridbersih; { Public declarations } end;

var barangmasuk: Tbarangmasuk;

implementation

uses cvendor;

{$R *.dfm}procedure tbarangmasuk.notis;var Kode,Nourut : string; i : integer;begin Kode :='BM/EIG-'+edit1.Text + '/'+edit2.Text+'/'; With ADObarangmasuk do begin Close; SQL.Clear; SQL.Add('Select Max(right(kd_sjmasuk, 3)) from Barang_masuk ' + 'Where left(kd_sjmasuk, 15) = ' + QuotedStr(Kode) + ';'); Open; end;

if ADObarangmasuk.Fields[0].AsString = '' then Nourut := '001' else if ADObarangmasuk.Fields[0].AsString = '999' then MessageDlg('Data Hari Ini Sudah over Besok aza lagi ya !!',mtError,[mbOK],0) else Nourut := IntToStr(ADObarangmasuk.Fields[0].AsInteger + 1);

if length(Nourut) < 3 then

Page 61: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

103

begin for i := length(Nourut) to 2 do Nourut := '0' + Nourut; end;

nobarangmasuk.Text := Kode + Nourut;end;

procedure tbarangmasuk.bersih;beginnobarangmasuk.Text:='';kdvendor.Text:='';nmvendor.Text:='';kdbarang.Text:='';nmbarang.Text:='';nosj.Text:='';nopo.Text:='';jml.Text:='';mer.Text:='';end;

procedure tbarangmasuk.gridbersih;beginif adosem.RecordCount<>0 thenbeginadosem.First;while not adosem.Eof dobeginadosem.Delete;adosem.Next;adosem.Refresh;end;end;end;

procedure Tbarangmasuk.SpeedButton6Click(Sender: TObject);beginclose;end;

procedure Tbarangmasuk.SpeedButton3Click(Sender: TObject);beginbersih;notis;end;

Page 62: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

104

procedure Tbarangmasuk.NopoKeyPress(Sender: TObject; var Key: Char);beginif key=#13 thenkdvendor.SetFocus;end;

procedure Tbarangmasuk.kdbarangKeyPress(Sender: TObject; var Key: Char);beginif key=#13 thenWith adobarang DoBeginSQL.Clear;sql.Add('select * from barang where kd_brg = "'+kdbarang.Text+'" ');open;if (adobarang.RecordCount > 0) thenBeginApplication.MessageBox('kode Barang Sudah Ada...','ELHIFA',MB_OK+MB_ICONERROR);kdbarang.SetFocus;end;end;end;

procedure Tbarangmasuk.JmlKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);beginif key=VK_Return thenbeginadosem.Append;adosem['kd_barang']:=kdbarang.Text;adosem['nm_barang']:=nmbarang.Text;adosem['qty']:=jml.Text;adosem['satuan']:=dbunit.Text;adosem['kategori']:=dbkate.Text;adosem['merk']:=mer.Text;adosem.Post;adobar.Append;adobar['kd_brg']:=kdbarang.Text;adobar['nm_brg']:=nmbarang.Text;adobar['Stok_brg']:=jml.Text;adobar['satuan']:=dbunit.Text;adobar['kel_brg']:=dbkate.Text;adobar['tggl_beli']:=formatdatetime('dd/mm/yyyy',tgglmasuk.DateTime);adobar.Post;

Page 63: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

105

kdbarang.Text:='';nmbarang.Text:='';jml.Text:='';mer.Text:='';kdbarang.SetFocus;end;end;

procedure Tbarangmasuk.JmlKeyPress(Sender: TObject; var Key: Char);beginif not (key in['0'..'9',#8,#13,#32]) then begin key:=#0; showmessage('Data Harus Berupa Angka'); end;end;

procedure Tbarangmasuk.SpeedButton2Click(Sender: TObject);begincarivendor.ShowModal;end;

procedure Tbarangmasuk.NoSJKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);beginif key=VK_Return thennopo.SetFocus;end;

procedure Tbarangmasuk.kdbarangKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);beginif key=VK_Return thenjml.SetFocus;end;

procedure Tbarangmasuk.SpeedButton5Click(Sender: TObject);beginbersih;gridbersih;end;

procedure Tbarangmasuk.SpeedButton4Click(Sender: TObject);beginif nobarangmasuk.Text = '' then

Page 64: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

106

Showmessage('No Masih Kosong') else if nosj.Text ='' then showmessage('Silahkan Isi No Surat Jalan Terlebih Dahulu') else if nopo.Text ='' then showmessage('Silahkan Isi No PO Terlebih Dahulu') else if kdvendor.Text ='' then showmessage('Masukan Data Vendor Terlebih Dahulu') else beginadosem.First;while not adosem.Eof dobeginadodet.Append;adodet['kd_sjmasuk']:=nobarangmasuk.Text;adodet['kd_barang']:=adosem['kd_barang'];adodet['jml']:=adosem['qty'];adodet['merk']:=adosem['merk'];if adobarang.Locate('kd_brg',adodet['kd_barang'],[])thenbeginend;adodet.Post;adosem.Next;end;adomas.Append;adomas['kd_sjmasuk']:=nobarangmasuk.Text;adomas['tggl_masuk']:=formatdatetime('dd/mm/yyyy',tgglmasuk.DateTime);adomas['kd_vendor']:=kdvendor.Text;adomas['No_Sj']:=nosj.Text;adomas['No_Pembelian']:=nopo.Text;adomas.Post;showmessage('Data Telah Disimpan');cr1.ReportFileName:='E:\Skripsi\Persediaan\lap rev\TTrev.rpt';cr1.SelectionFormula:='{barang_masuk.kd_sjmasuk}='+Quotedstr(nobarangmasuk.Text);cr1.WindowShowPrintSetupBtn:=true;cr1.WindowState:=crptMaximized;cr1.WindowShowPrintBtn:=true;cr1.WindowShowRefreshBtn:=true;cr1.Action:=1;bersih;gridbersih;notis;

Page 65: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

107

end;end;

procedure Tbarangmasuk.Timer1Timer(Sender: TObject);varhour, min, sec, msec: word;Beginedit1.Text := FormatDateTime('MM',Date);edit2.Text := FormatDateTime('YYYY',Date);DecodeTime(time, hour, min, sec, msec );end;procedure Tbarangmasuk.FormCreate(Sender: TObject);beginbersih;gridbersih;end;

procedure Tbarangmasuk.kdvendorKeyPress(Sender: TObject; var Key: Char);beginif key=#13 thencarivendor.ShowModal;end;end.4.4. Testing

Pada tahapan ini, dilakukan pengujian dengan menggunakan black box testing

untuk memastikan sistem yang dibuat telah sesuai dengan desainnya dan semua

fungsi dapat dipergunakan dengan baik, berikut hasil pengujian dari bebrapa form

yang berhubungan dengan proses bisnis utama pada aplikasi penjualan dan

pembelian.

A. Form Login Admin

Tabel IV.30Hasil Pengujian Black Box Testing Form Login Admin

No Skenario Pengujian Test Case Hasil yang diharapkan Hasil Pengujian Kesimpulan1 Mengosongkan

semua isi login pada login user lalu langsung klik tombol login

Username : (Kosong)Password : (Kosong) Sistem akan menolak akses

login dan menampilkan “Username dan Password harus diisi”

Sesuai harapan Valid

Page 66: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

108

2 Hanya mengisi data username dan mengosongkan data password, lalu langsung klik tombol login

Username : AMIRPassword : (kosong)

Sistem akan menolak akses login dan akan menampilkan “Username yang anda masukan salah” Sesuai harapan Valid

3 Hanya data password dan mengosongkan username, lalu langsung klik tombol login

Username : (kosong)Password : rahasia

Sistem akan menolak akses login dan akan menampilkan “Password yang anda masukan salah”

Sesuai harapan Valid

4 Menginputkan dengan kondisi salah satu data benar dan salah satu data salah, lalu langsung klik tombol login

Username :ADMINPassword : Amir(Salah)

Sistem akan menolak akses login dan akan menampilkan “Password yang anda masukan salah” Sesuai harapan Valid

5 Menginputkan data login yang benar, lalu langsung klik tombol login

Username :ADMINPassword : admin

Sistem akan menerima akses login dan kemudian langsung masuk Form menu utama bagian admin

Sesuai harapan valid

B. Form Data Barang

Tabel IV.31Hasil Pengujian Black Box Testing Form Data Barang

No Skenario Pengujian Test Case Hasil yang diharapkan Hasil Pengujian Kesimpulan1 Mengosongkan

semua data barang, kemudian langsung klik tombol simpan

Data barang di kosongkan semua System akan menolak dan

akan menampilkan pesan “Data tidak boleh kosong”

Sesuai harapan Valid

2 Menginput data stok barang dengan huruf

Stok Barang : Satu System akan menolak dan akan menampilkan pesan “Harus berupa angka”

Sesuai harapan Valid

3 Pilih salah satu data pada datagrid, kemudian klik tombol edit

Pilih salah satu data yang mau dieidt pada datagrid

System akan menampilkan semua data sesuai yang dipilih untuk di edit Sesuai harapan Valid

4

Menyimpan data barang yang telah ditambahkan dalam data barang, lalu klik tombol simpan

Semua data barang terisi dan ditambah

System akan menerima dan data yang telah di tambah kemudian tampil pada datagrid

Sesuai harapan Valid

5 Pilih salah satu data pada datagrid, kemudian langsung klik tombol hapus

Pilih salah satu data yang mau dihapus pada datagrid

System akan menrima dan akan menampilkan “Apakah data akan dihapus” jika klik “Yes” maka data akan

Sesuai harapan valid

Page 67: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

109

terhapus, jika klik “Tidak” maka data tidak terhapus

C. Form Transaksi Barang Masuk

Tabel IV.32Hasil Pengujian Black Box Testing Form Transaksi Barang Masuk

No Skenario Pengujian Test Case Hasil yang diharapkan Hasil Pengujian Kesimpulan1 Mengosongkan

semua isi data barang masuk, kemudian langsung klik tombol simpan

Data barang masuk dikosongkan semua System akan mennolak dan

akan menampilkan pesan “Data tidak boleh kosong”

Sesuai harapan Valid

2 Masukan no barang masuk yang sama lalu tekan enter

Nomor barang sama System akan menolak dan akan menampilkan pesan “No yang anda masukan sudah ada”

Sesuai harapan Valid

3 Mengosongkan jumlah barang, kemudian tekan enter

Jumlah barang kosong System akan menolak dan akan menampilkan pesan “ Masukan jumlah barang”

Sesuai harapan Valid

4

Menyimpan data barang masuk yang telah ditambahkan lalu klik simpan

Semua data barang masuk terisi

System akan menerima dan akan menyimpan kemudian tampil data barang masuk untuk di cetak

Sesuai harapan Valid

4.5 Support

4.5.1 Spesifikasi Hardware dan Software

Tahapan Support diperlukan untuk mendukung sistem penjualan dan

pembelian terutama bagian gudang pada PT. Elhifa Intiguna. Agar sistem yang telah

dibangun dapat terus berjalan dengan baik melalui dukungan hardware dan software

yang sesuai kebutuhan sistem.

Hardware dan Software minimal yang diperlukan adalah sebagai berikut :

a. Operating System : Windows XP / 7b. Processor : Pentium IV 2.4 Ghzc. Memory Size (RAM) : 1.5 GB (DDR)d. Monitor : SVGA Clour 14”e. Hradisk : 50 GBf. Keyboard : 108 Key

Page 68: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

110

g. Mouse : Standard Mouseh. Printer : HP Laserjet 1020, Epson LQ-1170

Selain Komponen sistem perangkat keras dan perangkat lunak yang telah

disebutkan, sebelumnya ada komponen tambahan yang dibutuhkan untuk mendukung

pembuatan aplikasi penjualan dan pembelian. Perangkat lunak lainnya tersebut antara

lain :

1. Borland Delphi 07, berfungsi sebagai media untuk menuliskan script delphi 7.

Dalam penulisan skripsi ini, digunakan Borland Delphi 07, karena sangat

membantu dalam penggunaan menuliskan perintah – perintah yang sulit.

2. Crystal report 8.5, berfugsi sebagai media pembuatan laporan data. Dalam

penulisan skripsi ini, digunakan Crystal report 8.5 sebagai media tambahan

pada delphi dalam pembuatan laporan, karena sangat membantu dalam

penggunaan menuliskan laporan – laporan yang dibutuhkan.

4.6. Spesifikasi Bentuk Sistem Usulan

a. Nama Dokumen : Form Barang MasukFungsi : Sebagai data barang masukSumber : SupplierTujuan : GudangMedia : Tampilan layarFrekuensi : Setiap barang masukBentuk : Lampiran B-1

b. Nama Dokumen : Form Barang keluarFungsi : Sebagai data barang keluarSumber : GudangTujuan : pelangganMedia : Tampilan layarFrekuensi : Setiap barang keluar

Page 69: repository.bsi.ac.id · Web viewTahap Analis Pada sistem penjualan dan pembelian barang ini, hak user hanya dapat melakukan penambahan stok barang, pengeluaran barang dan pembuatan

111

Bentuk : Lampiran B-2c. Nama Dokumen : Form Pengiriman

Fungsi : Sebagai data pengiriman barangSumber : GudangTujuan : OperationalMedia : Tampilan layarFrekuensi : Setiap barang dikirimBentuk : Lampiran B-3

d. Nama Dokumen : Form Retur BarangFungsi : Sebagai data penukaran barangSumber : GudangTujuan : PelangganMedia : Tampilan layarFrekuensi : Setiap terjadi kesalahan pengirimanBentuk : Lampiran B-4

e. Nama Dokumen : Form Total ProduksiFungsi : Sebagai data bukti pemotonganSumber : GudangTujuan : FinannceMedia : Tampilan layarFrekuensi : Setiap ada produksiBentuk : Lampiran B-5

f. Nama Dokumen : Form Stok OpnameFungsi : Sebagai data stok opnameSumber : GudangTujuan : FinannceMedia : Tampilan layarFrekuensi : Setiap ada stok opname barangBentuk : Lampiran B-6