BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · pembelian barang dan stok pada gudang berbasis web...
Transcript of BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · pembelian barang dan stok pada gudang berbasis web...
55
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisis Kebutuhan Software
A. Tahapan Analisis
Sistem Inventory Control adalah sistem untuk mengkontrol penjualan dan
pembelian barang dan stok pada gudang berbasis web yang akan di gunakan oleh
user dalam perusahaan atau toko. Berikut ini spesifikasi kebutuhan ( System
Requirement ) dari sistem inventori control.
Admin Penjualan:
A1. Mengelola data pelanggan
A2. Transaksi Penjualan
A3. Melihat Data Stok
A4. Mengelola Data Profile
Admin Pembelian:
B1. Mengelola data Supplier
B2. Approve Transaksi Permintaan Barang
B3. Melihat Data Stok
B4. Mengelola data Profile
Admin Gudang:
C1. Mengelola Data Barang
C2. Transaksi Permintaan Barang
C3. Transaksi Penerimaan Barang
C4. Melihat data Stok
56
C5. Mengelola data Profile
Pemilik Toko:
D1. Melihat Laporan Penjualan
D2. Melihat Laporan Pembelian
D3. Melihat Laporan Detail Transaksi
D4. Melihat Laporan Stok Gudang
D5. Melihat Laporan Summary
D6. Mengelola Data User
D7. Melihat data stok
D8. Mengelola data Profile
B. Use Case Diagram
Dalam sistem informasi di Toko mainan Hollanda, aktor-aktor yang ada adalah
sebagai berikut :
1) Admin Penjualan
2) Admin Pembelian
3) Admin Gudang
4) Pemilik Toko
Berikut adalah penjelasan Tabel Business actor :
Bussiness Actor Keterangan
Admin Penjualan Orang yang bertugas mengelola data pelanggan
dan transaksi penjualan
Admin Orang yang bertugas mengelola data Supplier
57
Pembelian dan transaksi pembelian
Admin Gudang Orang yang bertugas mengelola data barang, stok
dan penerimaan barang gudang
Pemilik Toko Pemilik Toko yang melakukan pengawasan
manajemen laporan penjualan , pembelian dan
stok
Tabel IV .1
Penjelasan Bussiness Actor
1. Use Case Diagram Penjualan
Bag. Penjualan
Login
Data Pelanggan
Transaksi Penjualan
Data Stok
DashboardView Statistik Data
View DataPelanggan
View DetailTransaksi Penjualan
Save Data TransaksiView Data Stok
Pengelolaan DataProfile User
Tambah DataPelanggan
Edit Data Pelanggan
Hapus DataPelanggan
<< include >>
<< include >>
<< include >><< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< extend >>
<< extend >>
<< extend >>
<< extend >>
Edit Data DetailTransaksi Penjualan
Hapus DetailTransaksi Penjualan
<< include >>
<< include >>
Gambar IV.1
Use Case Diagram Penjualan
Deskripsi Use Case Diagram Penjualan:
Use Case Name CheckoutRequirements A1,A2,A3, A4Goal User dapat melakukan transaksi penjualan pada
sistem.Pre-conditions User telah memilih barang,jumlah barang dan data
pelanggan
Post-conditions System mengirim rincian struk penjualan
58
Failed endcondition
User membatalkan transaksi. Kemungkinanpelanggan ingin menambah barang, ataumembatalkan pembelian.
Primary Actors User PenjualanMain Flow /Basic Path
1. User memilih menu transaksi penjualan.2. System menampilkan menu transaksi penjualan.3. User melakukan input data barang, jumlah barangdan data pelanggan.4. System mengecek apakah pelanggan sudahterdaftar atau belum. Jika belum maka user akanmenampilkan halaman tambah pelanggan. Jikasudah system akan melanjutkan transaksi penjualan.dan sistem mengecek apakah stok barang yang dipesan.5. User menekan tombol submit atau pesan
6. System menampilkan list rincian barang dan hargapesanan.6.User memilih submit transaksi jual danmelanjutkan.
8. System memproses penjualan dan menampilkanprint struk penjualan .
Invariant A: A6. User menambah data pelanggan danmenampilkan pilihan data pelanggan.A7. System menampilkan pilihan barang.A8. System akan melakukan pengecekan stokbarang.A9. System memverifikasi no ktp apakah sudahterdaftar di sistem.A10. Jika valid system mendebet kartu kredit.
Tabel IV .2
Deskripsi Use Case Diagram Penjualan Halaman User
Pada tabel IV.4 Use Case Penjualan ini menjelaskan tentang transaksi
penjualan dan pengelolaan data pelanggan yang ada di sistem informasi Toko
Hollanda, yaitu di mulai dari login, kemudian memilih menu transaksi penjualan,
user penjualan mengisi form untuk melakukan input transaksi, lalu sistem akan
menampilkan cetak tekan tombol cetak untuk melakukan print cetak penjualan.
59
2. Use Case Diagram Pembelian
Login
Data Supplier
Approve TransaksiPermintaan Barang
Data Stok
DashboardView Statistik Data
View DataPelanggan
View DataPermintaan Barang
View Data Stok
Pengelolaan DataProfile User
Tambah DataPelanggan
Edit Data Pelanggan
Hapus DataPelanggan
<< include >>
<< include >>
<< include >><< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< extend >>
<< extend >>
<< extend >>
<< extend >>
View Detail DataPermintaan Barang
Simpan ApprovePermintaan Baarang
<< include >>
<< include >>
Bag. Pembelian
Cetak PO
<< include >>
Gambar IV.2
Use Case Pembelian
Deskripsi Use Case Diagram Pembelian Halaman User:
Use Case Name CheckoutRequirements B1,B2,B3, B4Goal User dapat melakukan approve transaksi
permintaan barang gudang.Pre-conditions User telah memilih list transaksi permintaan
barangPost-conditions System mengirim rincian transaksi dan tempilcetak PO.
Failed end condition User membatalkan transaksi permintaanbarang. Kemungkinan useringin menambah barang, atau membatalkantransaksi.
Primary Actors User PembelianMain Flow / BasicPath
1. User memilih menu transaksi approvepermintaan barang.2. System menampilkan menu transaksiapprove permintaan barang.3. User melakukan cek data permintaan barangdan approve transaksi.
4. System memproses approve transaksipermintaan barang dan menampilkan cetakprint PO.
Invariant A: B5. User merubah jumlah permintaan barangdan merubah supplier
Tabel IV .3
Deskripsi Use Case Diagram Pembelian Halaman User
60
Pada tabel IV.5 Use Case pembelian ini menjelaskan tentang approve
transaksi permintaan barang dan pengelolaan data supplier yang ada di sistem
informasi Toko Hollanda, yaitu di mulai dari login kemudian memilih menu
approve transaksi permintaan barang, user pembelian melakukan approve
transaksi permintaan barang. sistem akan menampilkan cetak PO.
3. Use Case Diagram Gudang
Bag. Gudang
Login
Data Barang
Input TransaksIPermintaan Barang
Data Stok
DashboardView Statistik Data
View Data Barang
View DetailTransaksi Penjualan
Save Data Transaksi
View Data Stok
Pengelolaan DataProfile User
Tambah DataBarang
Edit Data Barang
Hapus Data Barang
<< include >>
<< include >>
<< include >><< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< extend >>
<< extend >>
<< extend >>
<< extend >>
Edit Data DetailTransaksi Penjualan
Hapus DetailTransaksi Penjualan
<< include >>
<< include >>Transaksi
Penerimaan Barang
View Data ApprovePermintaan Barang
<< include >>
Input DataPenerimaan Barang
View Detail ApprovePermintaan Barang
<< include >>
<< include >>
Simpan PenerimaanBaarang
<< include >>
Gambar IV.3
Use Case Gudang
Deskripsi Use Case Diagram Gudang:
Use Case Name CheckoutRequirements C1, C2, C3, C4, C5Goal User dapat melakukan permintaan barang dan
penerimaan barang.Pre-conditions User telah memilih data barang dan supplierPost-conditions System mengirim rincian data permintaan dan
penerimaan barang.
Failed end condition Supplier tidak memiliki stok barang yang dipesan membatalkan checkout. Kemungkinansupplier kehabisan stok.
Primary Actors User Gudang
61
Main Flow / BasicPath
1. User memilih menu transaksi Permintaanbarang.2. System menampilkan menu transaksipermintaan.3. User melakukan input data barang, jumlahbarang dan data supplier.
4. System mengecek apakah supplier sudahterdaftar atau belum. Jika belum maka userakan menampilkan halaman tambah pelanggan.Jika sudah system akan melanjutkan transaksipenjualan. dan sistem mengecek apakah stokbarang yang di pesan sudah dalam kondisiminimun stok.5. User menekan tombol submit atau pesan
6. System menampilkan list rincian barang danharga pesanan.
7. User memilih submit transaksi jual danmelanjutkan.
8. System memproses penjualan dan menampilkandata permintaan barang.
9. User memilih menu transaksi Penerimaan barang10. System menampilkan menu transaksi
penerimaan.11. User melakukan input no faktur dan
pengecekan jumlah barang dengan fakturpenerimaan.
11. System memproses transaksi penerimaanbarang.
Invariant A: C6. User memilih metode permintaan barangotomatis berdasarkan stok kurang dari stokminimum.C7. System menampilkan pilihan jenis barangdan supplier.C8. Jika tidak valid system kembali ke halamanpemilihan metode pembayaran.
Tabel IV .4
Deskripsi Use Case Diagram Gudang Halaman User
Pada tabel IV.6 Use Case gudang ini menjelaskan tentang transaksi
permintaan barang dan penerimaan barang dan pengelolaan data barang yang ada
di sistem informasi Toko Hollanda, yaitu di mulai dari login. user gudang mengisi
form transaksi permintaan barang dan melakukan transaksi permintaan barang.
Kemudian melakukan transaksi penerimaan barang untuk memproses penerimaan
62
barang, muncul daftar data permintaan barang yang sudah di approve sebelumnya
oleh bagian pembelian. kemudian user gudang mencari data permintaan yang
sudah di approve dengan memasukan no po pada kolom search. pilih lihat detail
penerimaan barang, kemudian tampil data detail permintaan barang yang sudah di
approve , kemudian user gudang mencocokan faktur dari supplier dengan data
permintaan yang sudah di approve, jika jumlah barang tidak sesuai dapat
mengubah kolom qty, jika sudah cocok pilih atau tekan simpan untuk melakukan
proses penerimaan barang.
4. Use Case Diagram Pemilik Toko
Pemilik Toko
Login
Data User
Laporan Penjualan
Data Stok
Dashboard
View Statistik Data
View Data User
View LaporanPenjualan
Cetak Laporan
View Data Stok
Pengelolaan DataProfile User
Tambah Data User
Edit Data User
Hapus Data User
<< include >>
<< include >>
<< include >><< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< incelude >>
<< include >>
<< include >>
Laporan Pembelian
Laporan DetailTransaksi
Laporan StokGudang
View LaporanPenjualan
Cetak Laporan
View LaporanPenjualan
Cetak Laporan
View LaporanPenjualan
Cetak Laporan
<< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< include >>
<< include >>
Laporan Summary
View LaporanPenjualan
Cetak Laporan
<< include >>
<< include >>
<< include >>
Gambar IV.4
Use Case Pemilik Toko
63
Deskripsi Use Case Diagram Pemilik Toko Halaman User:
Use Case Name CheckoutRequirements D1,D2,D3, D4, D5,D6,D7,D8Goal Owner dapat melakukan tambah user, dan
dapat melihat laporan transaksi penjualan danpembelian.Pre-conditions User telah memilih laporan transaksi
Post-conditions System menampilkan laporan transaksipenjualan dan pembelian.
Failed endcondition
Owner membatalkan input user, karna userresign.
Primary Actors OwnerMain Flow /Basic Path
1. User memilih menu laporan transaksipenjualan dan pembelian.2. System menampilkan menu laporantransaksi penjualan.3. User melakukan filter data laporan memilihtanggal bulan dan tahun dan nama barang.
4. System memproses dan menampilaknlaporan penjualan dan pembelian.
Invariant A: D9. User memilih cetak print laporan dancetak excel.D10. System menampilkan pilihan namabarang ,nama pelanggan dan supplier.
Tabel IV .5
Deskripsi Use Case Diagram Pemilik Toko Halaman User
Pada tabel IV.7 Use Case pemilik toko ini menjelaskan tentang melihat
dan mencetak data laporan transaksi penjualan, permintaan barang , penerimaan
barang dan stok gudang dan mengelola data user yang ada di sistem informasi
Toko Hollanda, yaitu di mulai dari login mengisi username dan password, pilih
login. kemudian pada halaman home user pemilik toko memilih menu Laporan
penjualan , pilih tanggal nama barang atau nama pelanggan. maka akan tampil
data laporan penjualan sesuai filter yang di sediakan. tekan atau pilih cetak untuk
mencetak data laporan penjualan. Begitu pula dengan laporan yang lainnya,
melakukan filter data kemudan cetak.
64
C. Activity Diagram Sistem Usulan
Activity diagram sistem usulan yang penulis buat menuliskan tentang
gambaran usulan Sistem Informasi Toko Hollanda. Adapun bentuk Diagram
Activity Sistem usulan adalah sebagai berikut:
1. Activity Diagram Inventori Keseluruhan
Gambar IV.5
Diagram Activity Inventori
65
Pada Gambar Diagram IV .8 Activity Diagram Inventori keseluruhan ini
dimulai dari pelanggan memesan barang kemudian bagian penjualan menerima
pesanan lalu mengakses link, kemudian login sistem informasi bila login gagal
akan tampil pesan error bila berhasil maka akan tampil halaman home. kemudian
user penjualan memilih transaksi penjualan maka sistem akan menampilkan form
penjualan. kemudian user penjualan melakukan input data pesanan dan menekan
tombol simpan maka sistem menampilkan detail penjualan setelah semua pesanan
di input ke mudian tekan simpan data detail. makan sistem akan menampilkan
tampilan cetak struk. lalu user penjualan pilih tombol cetak dan memberikan hasil
cetak kepada pelanggan,pada saat input data pesanan penjualan sistem melakukan
cek stok dan akan di tampilkan apabila stok tidak ada maka bagian gudang akan
melakukan transaksi permintaan barang, bagian gudang pilih menu transaksi
permintaan barang, sistem menampilkan form permintaan barang. kemudian user
gudang melakukan input data permintaan . tekan dan pilih simpan permintaan
kemudian muncul detail permintaan kemudian setelah semua sudah di input tekan
simpan detail. kemudian bagian pembelian melakukan cek data permintaan ,
memilih menu transaksi approve permintaan barang. sistem akan menampilkan
daftar data permintaan barang yang sudah di input oleh bagian gudang. kemudian
bagian pembelian memilih lihat detail permintaan barang, sistem akan
menampilkan detail dan form approve permintaan barang. user pembelian pilih
atau tekan tombol approve maka sistem akan menampilkan tampilan cetak po,
kemudia user akan pilih tombol cetak untuk mencetak po dan bagian pembelian
memberikan hasil cetak po kepada supplier, supplier menerima po dan mengirim
barang dan faktur ke bagian gudang , bagian gudang menerima po dan faktur dan
66
melakukan transaksi penerimaan barang, bagian gudang membuka menu transaksi
penerimaan barang kemudian sistem menampilkan transaksi penerimaan barang
yang berisi data permintaan yang sudah di approve dan di cetak po oleh bagian
pembelian, kemudian bagian gudang melakukan pencarian data po dengan
memasukan no po ke kolom pencarian, sistem akan menampilkan hasil pencarian
data po. kemudian user gudang pilih lihat detail transaksi penerimaan barang.
sistem akan menampilakan form detail transaksi permintaan barang dan
melakukan pengecekan, mengupdate data jika terdapat jumlah barang yang tidak
sesuai dengan pesanan po. kemudian bagian gudang pilih tombol simpan
permintaan. sistem akan otomatis melakukan penambahan stok gudang.
2. Activity Diagram Penjualan
Cek DataPelanggan
Login
Menampilan PesanError
MenampilanHalaman Dasboard
Home
Menampilan FormTransaksi Penjualan
Input DataPelanggan
Pilih Tambah DataPelanggan
Input Data Pesananbarang
menampilkan FormTambah Data
Pelanggan
Menampilkan DataDetail Penjualan
Menekan TombolSimpan
Menekan TombolSimpan
MenampilkanTampilan Cetak
Penjualan
Print Tampilan Cetak
Pilih Menu TransaksiPenjualan
Gambar IV.6
Diagram Activity Penjualan
67
Pada Gambar Diagram IV .9 Activity Diagram Penjualan ini dimulai dari user
penjualan mengakses sistem informasi dan melakukan login, kemudian sistem
informasi bila login gagal akan tampil pesan error bila berhasil amkaa akan
tampil halaman home. kemudian user penjualan memilih transaksi penjualan
maka sistem akan menampilkan form penjualan. kemudian user penjualan
melakukan input data pesananmaka sistem akan melakukan cek stok otomatis
berdasarkan pilihan barang yang di pilih oleh user dan menekan tombol simpan
maka sistem menampilkan detail penjualan setelah semua pesanan di input ke
mudian tekan simpan data detail. makan sistem akan menampilkan tampilan cetak
struk. lalu user penjualan pilih tombol cetak.
3. Activity Diagram Pembelian Barang
CekStok
Login
Menampilan HalamanDasboard Home
Menampilan Form TransaksiPermintaan Barang
Input Data PermintaanBarang
Pilih Menu TransaksiPermintaan Barang
Menampilan PesanError
Pilih Simpan PermintaanBarang
Menampilkan DetailPermintaan Barang
Pilih SImpan DetailPermintaan Barang
Menampilkan Data ApprovePermintaan Barang
Cek Data ApprovePermintaan Barang
Pilih Lihat Detail ApprovePermintaan Barang
Menampilkan Detail ApprovePermintaan Barang
input data detail ApprovePermintaan Barang
SimpanMenampilkan Cetak
Kirim HasilCetak PO
Terimal CetakPO
Kirim Barangdan Faktur
Terima Barang danfaktur
Pilih Menu PenerimaanBarang
Menampilkan dataPenerimaan Barang
Cari No POPenerimaan Barang
Menampilkan Datapencarian
Pilih Lihat DetailPenerimaan Barang
Menampilkan DetailPenerimaan Barang
Input data faktur danPenerimaan Barang Simpan
Menambah Stok GudangBarang
Cetak PO
Gambar IV.7
Diagram Activity Pembelian
68
Pada Gambar Diagram IV .10 Activity Diagram Pembelian ini dimulai dari
bagian pembelian mengakses sistem informasi link, kemudian login sistem
informasi bila login gagal akan tampil pesan error bila berhasil maka akan tampil
halaman home. bagian gudang pilih menu transaksi permintaan barang, sistem
menampilkan form permintaan barang. kemudian user gudang melakukan input
data permintaan . tekan dan pilih simpan permintaan kemudian muncul detail
permintaan kemudian setelah semua sudah di input tekan simpan detail. kemudian
bagian pembelian melakukan cek data permintaan , memilih menu transaksi
approve permintaan barang. sistem akan menampilkan daftar data permintaan
barang yang sudah di input oleh bagian gudang. kemudian bagian pembelian
memilih lihat detail permintaan barang, sistem akan menampilkan detail dan form
approve permintaan barang. user pembelian pilih atau tekan tombol approve maka
sistem akan menampilkan tampilan cetak po, kemudia user akan pilih tombol
cetak untuk mencetak po dan bagian pembelian memberikan hasil cetak po
kepada supplier, supplier menerima po dan mengirim barang dan faktur ke bagian
gudang , bagian gudang menerima po dan faktur dan melakukan transaksi
penerimaan barang, bagian gudang membuka menu transaksi penerimaan barang
kemudian sistem menampilkan transaksi penerimaan barang yang berisi data
permintaan yang sudah di approve dan di cetak po oleh bagian pembelian,
kemudian bagian gudang melakukan pencarian data po dengan memasukan no po
ke kolom pencarian, sistem akan menampilkan hasil pencarian data po. kemudian
user gudang pilih lihat detail transaksi penerimaan barang. sistem akan
menampilakan form detail transaksi permintaan barang dan melakukan
pengecekan, mengupdate data jika terdapat jumlah barang yang tidak sesuai
69
dengan pesanan po. kemudian bagian gudang pilih tombol simpan permintaan.
sistem akan otomatis melakukan penambahan stok gudang
4. Activity Diagram Laporan
Cetak
Login
MenampilanPesan Error
Menampilan HalamanDasboard Home
MenampilkanData Laporan
Pilih CetakLaporan
Menampilkan Data CetakLaporan
Print Data CetakLaporan
Pilih MenuLaporan
Gambar IV.8
Diagram Activity Laporan
Pada Gambar Diagram IV .11 Activity Diagram Laporan ini dimulai dari
pemilik toko mengakses sistem informasi link, kemudian login sistem informasi
bila login gagal akan tampil pesan error bila berhasil maka akan tampil halaman
home. bagian gudang pilih menu laporan, sistem menampilkan data laporan. tekan
dan pilih cetak laporan untuk mencetak laporan
70
4.2. Desain
4.2.1. Database
1. Entity Relationship Diagram (ERD)
Entity Relationship Diagram menjelaskan hubungan antar dua atau lebih
dalam basis data yang terdiri dari object-object dasar yang mempunyai hubungan
atau relasi antar object-object tersebut. Desain database yang penulis gunakan
pada pembuatan sistem informasi Toko mainan Hollanda adalah Entity
Relationship Diagram (ERD) seperti dibawah ini :
Gambar IV .9
Entity Relationship Diagram (ERD)
Pada gambar IV.17 Entity Relationship Diagram (ERD) ini adalah
database dari pembuatan sistem informasi toko hollanda yang menggambarkan
prosedur jalannya sistem informasi inventori.
71
2. Logical Record Structur (LRS)
Gambar IV .10
Logical Record Structur (LRS)
Pada gambar IV.18 Logical Record Structur (LRS) ini adalah relasi data
dalam database dari pembuatan sistem informasi toko hollanda yang
menggambarkan prosedur jalannya sistem informasi inventori.
4. Spesifikasi File
Spesifikasi file digunakan untuk menyimpan data maupun proses
pengolahan data agar mendapatkan hasil yang menunjang sistem kerja yang di
72
inginkan. penulis membuat 1 file database yaitu skripsi yang di dalam nya
memiliki 14 tabel yaitu:
a. Spesifikasi file User
Nama File : Data User
Fungsi File : Menyimpan data user dan user login dan password login.
Akronim : m_user
Type File : Master
Panjang Record : 271 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_user
Software : Phpmyadmin MySQL
Tabel IV.5
Spesifikasi File User
No. Elemen Data Akronim Type Size Keterangan
1 id user id_user varchar 10 Primary
Key
2 id bagian id_bagian varchar 11
3 Username Username varchar 50
4 Password Password varchar 50 encrypt
5 Nama Nama varchar 50
6 Kontak kontak varchar 50
73
7 Foto Foto longblob binary
8 status status char 1
9 id user input id_create varchar 50
10 tanggal user
input
dt_create datetime
b. Spesifikasi file Barang
Nama File : Data Barang
Fungsi File : Menyimpan,ubah dan hapus data barang.
Akronim : m_barang
Type File : Master
Panjang Record : 213 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_barang
Software : Phpmyadmin MySQL
Tabel IV.7
Spesifikasi File Barang
No. Elemen
Data
Akronim Type Size Keterangan
1 id barang id_barang varchar 10 Primary
Key
74
2 nama
barang
nama_barang varchar 30
3 harga beli Harga int 11
4 harga jual harga_jual int 11
5 Merk Merk varchar 50
6 ukuran Ukuran varchar 50
7 Foto Foto longblob binary
8 status status char 1
9 id user
input
id_create varchar 50
10 tanggal
user input
dt_create datetime
c. Spesifikasi file Pelanggan
Nama File : Data Pelanggan
Fungsi File : Menyimpan,ubah dan hapus data Pelanggan.
Akronim : m_pelanggan
Type File : Master
Panjang Record : 311 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_pelanggan
Software : Phpmyadmin MySQL
75
Tabel IV.8
Spesifikasi File Pelanggan
No. Elemen Data Akronim Type Size Keterangan
1 id pelanggan id_pelanggan varchar 10 Primary Key
2 no ktp no_ktp varchar 50
3 Nama Nama varchar 50
4 Alamat alamat varchar 100
5 Kontak kontak varchar 50
6 Status status char 1
7 id user input id_create varchar 50
8 tanggal user
input
dt_create datetime
d. Spesifikasi file Supplier
Nama File : Data Supplier
Fungsi File : Menyimpan,ubah dan hapus data Supplier.
Akronim : m_supplier
Type File : Master
Panjang Record : 311 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_supplier
Software : Phpmyadmin MySQL
76
Tabel IV.9
Spesifikasi File Supplier
No. Elemen Data Akronim Type Size Keterangan
1 id supplier id_supplier varchar 10 Primary
Key
2 Nama nama varchar 50
3 Alamat alamat varchar 100
4 Kontak kontak varchar 50
5 Kota kota varchar 50
6 Status status char 1
7 id user input id_create varchar 50
8 tanggal user
input
dt_create datetime
e. Spesifikasi file Bagian
Nama File : Data Bagian
Fungsi File : Menyimpan,ubah dan hapus data Bagian.
Akronim : m_bagian
Type File : Master
Panjang Record : 111 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Hardisk
Kunci File : id_bagian
77
Software : Phpmyadmin MySQL
Tabel IV.10
Spesifikasi File Bagian
No
.
Elemen Data Akronim Type Size Keterangan
1 id bagian id_bagian varchar 10 Primary
Key
2 nama bagian nama_bagi
an
varchar 50
6 status status char 1
7 id user input id_create varchar 50
8 tanggal user
input
dt_create datetime
f. Spesifikasi file Gudang Barang
Nama File : Data Gudang Barang
Fungsi File : Menyimpan,ubah dan hapus data Gudang Barang.
Akronim : gudang_barang
Type File : Master
Panjang Record : 201 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
78
Kunci File : id_barang
Software : Phpmyadmin MySQL
Tabel IV.11
Spesifikasi File Stok Gudang Barang
No. Elemen Data Akronim Type Size Keterangan
1 id barang id_barang varchar 11 Primary Key
2 harga Barang Harga Int 11
3 saldo awal qty saldo_awal_q double 16,2
4 saldo awal
nominal
saldo_awal_n double 16,2
5 qty keluar keluar_q double 16,2
6 nominal
keluar
keluar_n double 16,2
7 qty masuk masuk_q double 16,2
8 nominal
masuk
masuk_n double 16,2
9 saldo akhir
qty
saldo_akhir_q double 16,2
10 saldo akhir
nominal
saldo_akhir_n double 16,2
11 Status status char 1
12 id user input id_create varchar 50
13 tanggal user
input
dt_create datetime
79
g. Spesifikasi file Master Transaksi Penjualan
Nama File : Data Master Transaksi Penjualan
Fungsi File : Menyimpan,ubah dan hapus data Transaksi.
Akronim : tx_penjualan_m
Type File : Transaksi
Panjang Record : 73 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_jual
Software : Phpmyadmin MySQL
Tabel IV.12
Spesifikasi File Master Transaksi Penjualan
No
.
Elemen Data Akronim Type Siz
e
Keteranga
n
1 id jual id_jual varchar 11 Primary
Key
2 tanggal jual tgl_jual date
3 id_pelangga
n
id_pelangga
n
varchar 11
4 status status char 1
5 id user input id_create varchar 50
6 tanggal user dt_create datetim
80
input e
h. Spesifikasi file Detail Transaksi Penjualan
Nama File : Data Detail Transaksi Penjualan
Fungsi File : Menyimpan,ubah dan hapus data Transaksi.
Akronim : tx_penjualan_d
Type File : Transaksi
Panjang Record : 143 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_urut,id_jual
Software : Phpmyadmin MySQL
Tabel IV.13
Spesifikasi File Detail Transaksi Penjualan
No. Elemen
Data
Akronim Type Size Keterangan
1 no urut
transaksi
id_urut varchar 11 Primary
Key
2 id jual id_jual varchar 11
3 tanggal jual tgl_jual date
4 id pelanggan id_pelanggan varchar 11
5 id barang id_barang varchar 11
81
6 Qty qty double 16,2
7 harga jual harga_jual double 16,2
8 nominal nominal double 16,2
9 status status char 1
10 id user input id_create varchar 50
11 tanggal user
input
dt_create datetime
i. Spesifikasi file Master Transaksi Permintaan Barang
Nama File : Data Master Transaksi Permintaan
Fungsi File : Menyimpan,ubah dan hapus data Transaksi.
Akronim : tx_permintaan_m
Type File : Transaksi
Panjang Record : 123 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_permintaan
Software : Phpmyadmin MySQL
Tabel IV.14
Spesifikasi File Master Transaksi Permintaan Barang
No. Elemen Data Akronim Type Size Keterangan
82
1 id Permintaan id_permintaan varchar 11 Primary
Key
2 tanggal
Permintaan
tgl_permintaan date
3 id supplier id_supplier varchar 11
4 Status status char 1
5 id user input id_create varchar 50
6 tanggal user
input
dt_create datetime
7 id user
approve
id_approve varchar 50
8 tgl user
approve
dt_approve datetime
j. Spesifikasi file Detail Transaksi Permintaan Barang
Nama File : Data Detail Transaksi Permintaan
Fungsi File : Menyimpan,ubah dan hapus data Transaksi.
Akronim : tx_permintaan_d
Type File : Transaksi
Panjang Record : 193 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_urut,id_permintaan
83
Software : Phpmyadmin MySQL
Tabel IV.15
Spesifikasi File Detail Transaksi Permintaan Barang
No Elemen Data Akronim Type Size Keteranga
n
1 no urut transaksi id_urut varchar 11 Primary
Key
2 id permintaan id_permintaan varchar 11
3 tanggal
permintaan
tgl_permintaan date
4 id supplier id_supplier varchar 11
5 id barang id_barang varchar 11
6 Qty qty double 16,2
7 harga beli harga_beli double 16,2
8 nominal nominal double 16,2
9 Status status char 1
10 id user input id_create varchar 50
11 tanggal user input dt_create datetime
12 id user approve id_ approve varchar 50
13 tanggal user
approve
dt_ approve datetime
k. Spesifikasi file Master Transaksi Penerimaan Barang
84
Nama File : Data Master Transaksi Permintaan Barang
Fungsi File : Menyimpan,ubah dan hapus data Transaksi.
Akronim : tx_penerimaan_m
Type File : Transaksi
Panjang Record : 94 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_penerimaan
Software : Phpmyadmin MySQL
Tabel IV.16
Spesifikasi File Master Transaksi Penerimaan Barang
No Elemen Data Akronim Type Size Keterang
an
1 id penerimaan id_penerimaan varchar 10 Primary
Key
2 tanggal
penerimaan
tgl_
penerimaan
date
3 id_permintaan id_permintaan varchar 11
4 no faktur
supplier
no_invoice 11
5 id supplier id_supplier 11
6 status status char 1
7 id user input id_create varchar 50
85
8 tanggal user
input
dt_create datetim
e
l. Spesifikasi file Detail Transaksi Penerimaan Barang
Nama File : Data Detail Transaksi Penerimaan Barang
Fungsi File : Menyimpan,ubah dan hapus data Transaksi.
Akronim : tx_penerimaan_d
Type File : Transaksi
Panjang Record : 143 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_urut,id_penerimaan
Software : Phpmyadmin MySQL
Tabel IV.17
Spesifikasi File Detail Transaksi Penerimaan Barang
No. Elemen Data Akronim Type Size Keterangan
1 no urut
transaksi
id_urut varchar 11 Primary
Key
2 id
penerimaan
id_penerimaan varchar 11
3 id
permintaan
id_permintaan
86
4 tanggal
penerimaan
tgl_
penerimaan
date
5 id supplier id_supplier varchar 11
6 id barang id_barang varchar 11
7 Qty qty double 16,2
8 harga beli harga double 16,2
9 Nominal nominal double 16,2
10 Status status char 1
11 id user input id_create varchar 50
12 tanggal user
input
dt_create datetime
m. Spesifikasi file Master Transaksi Gudang
Nama File : Data Master Transaksi Gudang
Fungsi File : Menyimpan,ubah dan hapus data Transaksi.
Akronim : tx_gudang_m
Type File : Transaksi
Panjang Record : 72 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
Kunci File : id_gudang
Software : Phpmyadmin MySQL
87
Tabel IV.18
Spesifikasi File Master Transaksi Gudang
No. Elemen Data Akronim Type Size Keterangan
1 id gudang id_gudang varchar 10 Primary
Key
2 tanggal
transaksi
tgl_trx date
3 id transaksi trx_id varchar 11
4 Status status char 1
5 id user input id_create varchar 50
6 tanggal user
input
id_create datetime
n. Spesifikasi file Detail Transaksi Gudang
Nama File : Data Detail Transaksi Gudang
Fungsi File : Menyimpan,ubah dan hapus data Transaksi.
Akronim : tx_gudang_d
Type File : Transaksi
Panjang Record : 144 Karakter
Akses File : Random
Organisasi File : Index Sequential
Media File : Harddisk
88
Kunci File : id_urut,id_gudang
Software : Phpmyadmin MySQL
Tabel IV.19
Spesifikasi File Detail Transaksi Gudang
No. Elemen Data Akronim Type Size Keterangan
1 no urut
transaksi
id_urut varchar 11 Primary Key
2 id gudang id_gudang varchar 11
3 tanggal
transaksi
tgl_trx date
4 id transaksi trx_id varchar 11
5 id barang id_barang varchar 11
6 debit credit Dbcr tinyint 1
7 Qty Qty double 16,2
8 Harga harga double 16,2
9 Nominal nominal double 16,2
10 Status status char 1
11 id user input id_create varchar 50
12 tanggal user
input
id_create datetime
5. Struktur Kode
89
Penggunaan kode sangat membantu dalam penggunaan komputer, karena
dengan menggunakan kode mempermudah penginputan data, pencarian data dan
memperkecil kesalahan dalam pengolahan data. adapun struktur kode yang di buat
pada sistem informasi toko Hollanda adalah :
a. Id master
id master di sini untuk semua data master yang ada, yaitu master barang, user,
supplier, pelanggan. dari panjang karakter yang berjumlah 8 digit, adapun struktur
kodenya adalah :
X 0 0 0 0 0 0 1
Kode No urut
Panjang : 8 digit
Tipe : Varchar
b. Id transaksi dan No urut
id transaksi dan no urut di sini juga termasuk no po, dan untuk semua data
transaksi yang ada, yaitu transaksi Penjualan,Permintaan,Penerimaan. dari
panjang karakter yang berjumlah 11 digit, adapun struktur kodenya adalah :
X 0 1 0 1 1 7 0 0 0 1
Kode Tanggal Bulan Tahun No Urut
Panjang : 11 digit
90
Tipe : Varchar
4.2.2. Software Architecture
1. Component Diagram
Berikut Component dagram:
Gambar IV.10
Component Diagram
Pada gambar IV.15 Component Diagram menjelaskan ketika admin user
membuka link aplikasi sistem informasi pada browser, lalu sistem mengirim
modul login, selanjutnya modul login memberikan relasi ke modul isi data. proses
ini berlanjut sampai dengan ke modul simpan database.
91
2. Deployment Diagram
Deployment diagram menunjukan tata letak sebuah sistem secara fisik,
menampakan bagian-bagian software yang berjalan pada bagian-bagian hardware.
Gambar IV.11
Deployment Diagram
Pada gambar IV.11 Deployment diagram menjelaskan ketika seseorang
mulai mengakses suatu alamat link web maka client server merespon dan meminta
halaman web ke web server. selanjutnya ketika seseorang ingin masuk kedalan
modul maka web server meminta database kepada database server.
92
4.2.3. User Interface
1. Halaman Login
Gambar IV .14
Halaman Login
2.Halaman Dasboard/Home
Gambar IV .15
Halaman Dasboard/Home
93
3.Halaman Edit Profile User
Gambar IV .16
Halaman Edit Profile User
Gambar IV .17
Halaman Edit Password User
96
6. Halaman Data Pelanggan
Gambar IV .22
Halaman Data Pelanggan
Gambar IV .23
Halaman Ubah Data Pelanggan
97
7. Halaman Data Supplier
Gambar IV .24
Halaman Data Supplier
Gambar IV .25
Halaman Ubah Data Supplier
98
8. Halaman Transaksi Penjualan
Gambar IV .26
Halaman Transaksi Penjualan
9. Halaman Transaksi Permintaan Barang
99
Gambar IV .27
Halaman Transaksi Permintaan
10. Halaman Transaksi Approve Permintaan Barang
Gambar IV .28
Halaman Transaksi Approve Permintaan
Gambar IV .29
Halaman Detail Transaksi Approve Permintaan
100
11. Halaman Transaksi Penerimaan Barang
Gambar IV .30
Halaman Transaksi Penerimaan
Gambar IV .31
Halaman Detail Transaksi Penerimaan
101
12. Halaman Stok Gudang
Gambar IV .32
Halaman Stok Gudang Barang
13. Halaman Laporan Penjualan
Gambar IV .33
Halaman Laporan Penjualan
102
Gambar IV .34
Halaman Cetak Laporan Penjualan
14. Halaman Laporan Pembelian
Gambar IV .35
Halaman Laporan Pembelian
103
Gambar IV .36
Halaman Cetak Laporan Pembelian
15. Halaman Laporan Detail
Gambar IV .37
Halaman Laporan Detail Transaksi
105
Gambar IV .38
Halaman Cetak Laporan Detail Transaksi
16. Halaman Laporan Stok Gudang
Gambar IV .39
Halaman Laporan Stok Gudang
106
Gambar IV .40
Halaman Cetak Laporan Stok Gudang
17. Halaman Laporan Summary
Gambar IV .41
Halaman Laporan Summary
107
Gambar IV .42
Halaman Cetak Laporan Summary
4.3. Code Generation
1. Home
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
public function index()
{
$this->model_sec->getsec();
$isi['content'] = 'tampilan_content';
$isi['judul'] = 'Home';
$isi['sub_judul'] = '';
$isi['uname'] = $this->session->userdata('username');
$isi['id_user'] = $this->session->userdata('id_user');
$isi['foto'] = $this->session->userdata('foto');
$isi['nama'] = $this->session->userdata('nama');
$isi['id_bagian'] = $this->session->userdata('id_bagian');
$isi['nama_bagian'] = $this->session->userdata('nama_bagian');
$b = $this->session->userdata('username');
$this->load->model('model_home');
$isi['datablob'] = $this->model_home->getblob($b);
$isi['data'] = $this->db->query("select a.*,d.nama_barang,d.harga as
108
harga_beli,ifnull(sum(a.qty),0) as qtyx,ifnull(sum(a.nominal),0) as nominalx from
tx_gudang_d as a
left join m_barang as d on a.id_barang=d.id_barang
group by a.id_barang order by sum(a.qty) desc limit 5");
$n = $this->db->query("select a.*,b.jumlah as pembelian,c.jumlah as penjualan
from (select '1' as j ) as a
left join (select count(*) as jumlah,'1' as j from (select id_gudang,dbcr
from tx_gudang_d where dbcr='1' group by id_gudang ) x ) as b on a.j=b.j
left join (select count(*) as jumlah,'1' as j from (select id_gudang,dbcr
from tx_gudang_d where dbcr='-1' group by id_gudang ) z ) as c on a.j=b.j
")->row();
$isi['penjualan'] = $n->penjualan;
$isi['pembelian'] = $n->pembelian;
$query = $this->db->query("select a.*,ifnull(b.qty,0) as qty_jual,ifnull(c.qty,0) as qty_beli
from (select subdate(curdate(),weekday(curdate())) as tgl union
select adddate(subdate(curdate(),weekday(curdate())),1) as tgl union all
select adddate(subdate(curdate(),weekday(curdate())),2) as tgl union all
select adddate(subdate(curdate(),weekday(curdate())),3) as tgl union all
select adddate(subdate(curdate(),weekday(curdate())),4) as tgl union all
select adddate(subdate(curdate(),weekday(curdate())),5) as tgl union all
select adddate(subdate(curdate(),weekday(curdate())),6) ) as a
left join(SELECT '1',tgl_trx,ifnull(sum(qty),0) as qty,ifnull(sum(nominal),0) as nominal
FROM skripsi.`tx_gudang_d` where dbcr='-1' group by tgl_trx) as b
on a.tgl=b.tgl_trx
left join (SELECT '2',tgl_trx,ifnull(sum(qty),0) as qty,ifnull(sum(nominal),0) as nominal
FROM skripsi.`tx_gudang_d` where dbcr='1' group by tgl_trx)as c
on a.tgl=c.tgl_trx
");
$i=1;
$satu = "[";
$dua ="";
foreach ($query->result() as $row ) {
if($i==7){$km="";}else{$km=",";}
$dua .="{'period': '$row->tgl', 'Penjualan': $row->qty_jual, 'Pembelian': $row-
>qty_beli}$km";
109
$i++;
}
$tiga ="]";
$isi['asu'] = "$satu$dua$tiga";
$this->load->view('tampilan_home',$isi);
}
public function logout()
{
$this->session->sess_destroy();
redirect('login');
}
}
2. Penjualan
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Penjualan extends CI_Controller {
public function index()
{
$this->model_sec->getsec();
$isi['content'] = 'transaksi/penjualan/tampil_form_penjualan';
$isi['judul'] = 'Transaksi';
$isi['sub_judul'] = 'Penjualan';
$isi['uname'] = $this->session->userdata('username');
$isi['id_bagian'] = $this->session->userdata('id_bagian');
$isi['nama_bagian'] = $this->session->userdata('nama_bagian');
$isi['tgl'] = date('d-m-Y');
$b = $this->session->userdata('username');
$this->load->model('model_home');
$isi['datablob'] = $this->model_home->getblob($b);
$isi['databarang'] = $this->db->query("select
a.id_barang,a.nama_barang,a.harga,(a.harga*(a.untung_jual/100))+a.harga as
untung_jual,b.saldo_akhir_q from m_barang as a left join gudang_barang as b on
a.id_barang=b.id_barang");
$qcek = $this->db->query("select * from (select * from (select id_jual from
tx_penjualan_d order by dt_create asc) as b group by b.id_jual) as a where a.id_jual not in
110
(select id_jual from tx_penjualan_m ) limit 1 ");
if($qcek->num_rows()>0)
{
$hcek2 = $qcek->row();
$isi['id_jualx'] = $hcek2->id_jual;
$plgn = $this->db->query("select
a.id_jual,a.id_pelanggan,b.nama,b.no_ktp,sum( a.qty ) AS qty, sum( a.nominal ) AS
nominal from tx_penjualan_d as a
left join m_pelanggan as b on a.id_pelanggan=b.id_pelanggan where
a.id_jual='$isi[id_jualx]' group by id_jual ")->row();
$isi['pelangganout'] = "$plgn->no_ktp-$plgn->nama-$plgn->id_pelanggan";
$isi['nominal'] = "$plgn->nominal";
$isi['qty'] = "$plgn->qty";
}else{
$noak = $this->db->query("select
id_noak('J',concat(mid(curdate(),9,2),mid(curdate(),6,2),mid(curdate(),3,2) )) as kuda ")-
>row();
$isi['id_jualx'] = $noak->kuda;
$isi['pelangganout'] = "";
$isi['nominal'] = "";
$isi['qty'] = "";
}
$isi['data'] = $this->db->query("select a.*,b.nama_barang,b.harga from
tx_penjualan_d as a
left join m_barang as b on a.id_barang=b.id_barang
where a.id_jual='$isi[id_jualx]' ");
$isi['datax'] = $this->db->query("select
a.id_jual,c.jum_item,ifnull(sum(c.nominal),0) as nominal,b.nama,a.tgl_jual from
tx_penjualan_m as a
left join (select count(*) as jum_item, sum(nominal) as nominal,id_jual
from tx_penjualan_d group by id_jual ) as c on a.id_jual=c.id_jual
left join m_pelanggan as b on a.id_pelanggan=b.id_pelanggan where
a.tgl_jual=curdate()
group by a.id_pelanggan");
$this->load->view('tampilan_home',$isi);
}
111
public function tampilconten()
{
$this->model_sec->getsec();
$isi['judul'] = $this->input->post('judul');
$isi['sub_judul'] = $this->input->post('sub_judul');
$isi['tgl'] = date('d-m-Y');
$isi['databarang'] = $this->db->query("select
a.id_barang,a.nama_barang,a.harga,(a.harga*(a.untung_jual/100))+a.harga as
untung_jual,b.saldo_akhir_q from m_barang as a left join gudang_barang as b on
a.id_barang=b.id_barang");
$qcek = $this->db->query("select * from (select * from (select id_jual from
tx_penjualan_d order by dt_create asc) as b group by b.id_jual) as a where a.id_jual not in
(select id_jual from tx_penjualan_m ) limit 1 ");
if($qcek->num_rows()>0)
{
$hcek2 = $qcek->row();
$isi['id_jualx'] = $hcek2->id_jual;
$plgn = $this->db->query("select
a.id_jual,a.id_pelanggan,b.nama,b.no_ktp,sum( a.qty ) AS qty, sum( a.nominal ) AS
nominal from tx_penjualan_d as a
left join m_pelanggan as b on a.id_pelanggan=b.id_pelanggan where
a.id_jual='$isi[id_jualx]' group by id_jual ")->row();
$isi['pelangganout'] = "$plgn->no_ktp-$plgn->nama-$plgn->id_pelanggan";
$isi['nominal'] = "$plgn->nominal";
$isi['qty'] = "$plgn->qty";
}else{
$noak = $this->db->query("select
id_noak('J',concat(mid(curdate(),9,2),mid(curdate(),6,2),mid(curdate(),3,2) )) as kuda ")-
>row();
$isi['id_jualx'] = $noak->kuda;
$isi['pelangganout'] = "";
$isi['nominal'] = "";
$isi['qty'] = "";
}
$isi['data'] = $this->db->query("select a.*,b.nama_barang,b.harga from
tx_penjualan_d as a
112
left join m_barang as b on a.id_barang=b.id_barang
where a.id_jual='$isi[id_jualx]' ");
$isi['datax'] = $this->db->query("select
a.id_jual,c.jum_item,ifnull(sum(c.nominal),0) as nominal,b.nama,a.tgl_jual from
tx_penjualan_m as a
left join (select count(*) as jum_item, sum(nominal) as nominal,id_jual
from tx_penjualan_d group by id_jual ) as c on a.id_jual=c.id_jual
left join m_pelanggan as b on a.id_pelanggan=b.id_pelanggan where
a.tgl_jual=curdate()
group by a.id_pelanggan");
$this->load->view('transaksi/penjualan/tampil_form_penjualan',$isi);
}
function simpan_detail(){
$this->model_sec->getsec();
$data['id_jual'] = $this->input->post('id_jual');
$data['id_barang'] = $this->input->post('id_barang');
$data['pelanggan'] = $this->input->post('pelanggan');
$data['id_pelanggan'] = $this->input->post('id_pelanggan');
$data['qty'] = $this->input->post('qty');
$data['harga'] = $this->input->post('harga');
$data['nominal'] = $data['harga'] * $data['qty'];
$data['uname'] = $this->session->userdata('username');
$this->load->model('Model_penjualan');
$this->Model_penjualan->getinsert($data);
echo"OK";
}
function autocomplete_pelanggan(){
$term = $this->input->get('term');
$variable = $this->db->query("select * from m_pelanggan where no_ktp like
'%$term%' or nama like '%$term%' ");
$b = array();
foreach($variable->result_array() as $key){
$asu = "$key[no_ktp]-$key[nama]-$key[id_pelanggan]";
$b[] = $asu;
}
113
echo json_encode($b);
}
public function edit()
{
$this->model_sec->getsec();
$isi['judul'] = 'Transaksi';
$isi['sub_judul'] = 'edit pelanggan';
$isi['fungsi'] = 'edit';
$isi['id_urut'] = $this->input->post('id');
$key = $this->input->post('id');
$isi['uname'] = $this->session->userdata('username');
$query = $this->db->query("
select a.*,b.untung_jual as untung_jualx,b.nama_barang,b.saldo_akhir_q from
tx_penjualan_d as a left join (select
c.nama_barang,c.id_barang,c.untung_jual,d.saldo_akhir_q from m_barang as c
left join gudang_barang as d on d.id_barang=c.id_barang ) as b on
a.id_barang=b.id_barang
where a.id_urut='$key'");
if($query->num_rows() > 0)
{
foreach ($query->result() as $row) {
$isi['id_barang']= $row->id_barang;
$isi['nama_barang']= $row->nama_barang;
$isi['untung_jual'] = $row->untung_jual;
$isi['untung_jualx'] = $row->untung_jualx;
$isi['qty'] = $row->qty;
$isi['nominal'] = $row->nominal;
$isi['stok'] = $row->saldo_akhir_q;
}
}else{
$isi['id_barang']= '';
$isi['nama_barang']= '';
$isi['untung_jual'] = '';
$isi['untung_jualx'] = '';
$isi['qty'] = '';
$isi['nominal'] = '';
114
$isi['stok'] = '';
}
$isi['databarang'] = $this->db->query("select
a.id_barang,a.nama_barang,a.harga,(a.harga*(a.untung_jual/100))+a.harga as
untung_jual,b.saldo_akhir_q from m_barang as a left join gudang_barang as b on
a.id_barang=b.id_barang");
$this->load->view('transaksi/penjualan/form_edit_penjualan',$isi);
}
public function delete(){
$this->model_sec->getsec();
$key = $this->input->post('id');
$this->db->where('id_urut',$key);
$query = $this->db->get('tx_penjualan_d');
if($query->num_rows() >0 ){
$del = $this->db->query("delete from tx_penjualan_d where id_urut='$key'");
echo"OK";
}
}
public function edit_jual(){
$this->model_sec->getsec();
$key = $this->input->post('id_urut');
$data['id_barang'] = $this->input->post('id_barang');
$data['harga'] = $this->input->post('harga');
$data['qty'] = $this->input->post('qty');
$data['nominal'] = $this->input->post('nominal');
$query = $this->db->query("select * from tx_penjualan_d where id_urut='$key'
");
if($query->num_rows() > 0 ){
$this->load->model('Model_penjualan');
$this->Model_penjualan->getupdate_jual($data,$key);
$this->session->set_flashdata('info','Data Berhasil Di Update');
echo"OK";
}else{
echo"Salah, Transaksi Tidak ada ";
}
115
}
public function update_detail(){
$this->model_sec->getsec();
$key = $this->input->post('id_jual');
$query = $this->db->query("select * from tx_penjualan_d where id_jual='$key'
group by id_jual ");
if($query->num_rows() > 0 ){
$this->load->model('Model_penjualan');
$this->Model_penjualan->getupdate($key);
$this->session->set_flashdata('info','Data Berhasil Di Update');
}else{
echo"Salah, Transaksi Tidak ada ";
}
$queryx = $this->db->query("select * from tx_penjualan_m where
id_jual='$key' ");
if($queryx->num_rows() > 0 ){
echo"Salah, Transaksi Tidak sesuai ";
}else{
foreach ($query->result() as $row) {
$data['id_pelanggan'] = $row->id_pelanggan;
$data['tgl_jual'] = $row->tgl_jual;
$data['id_create'] = $row->id_create;
$data['dt_create'] = $row->dt_create;
}
$this->Model_penjualan->get_insert_m($key,$data);
echo"OK";
}
}
public function cetak(){
$this->model_sec->getsec();
$isi['uname'] = $this->session->userdata('username');
$id_jual = $this->uri->segment(3);
$isi['data'] = $this->db->query("select a.*,b.nama_barang from tx_penjualan_d
as a
left join m_barang as b on a.id_barang=b.id_barang where
a.id_jual='$id_jual'");
116
$isi['total_n'] = '';
$isi['total_q'] = '';
$isi['totalbayar'] = $this->uri->segment(4);
$isi['bayar'] = $this->uri->segment(5);
$isi['kembalian'] = $this->uri->segment(6);
$q = $this->uri->segment(7);
$d = str_replace('%20', ' ', $q);
$p = explode('-', $d);
$isi['pelanggan'] = "$p[0] - $p[1]";
$isi['tgl_jual'] = $this->uri->segment(8);
$this->load->view('transaksi/penjualan/cetak',$isi);
}
public function listdetail(){
$id_jual = $this->input->post('id');
$isi['data'] = $this->db->query("select a.*,b.nama_barang from tx_penjualan_d
as a
left join m_barang as b on a.id_barang=b.id_barang where
a.id_jual='$id_jual'");
$t = $this->db->query("select a.*,b.nama from tx_penjualan_m as a
left join m_pelanggan as b on a.id_pelanggan=b.id_pelanggan where
a.id_jual='$id_jual'")->row();
$isi['pelanggan'] = $t->nama;
$isi['tgl_jual'] = $t->tgl_jual;
$this->load->view('transaksi/penjualan/detail_list',$isi);
}
}
3. Permintaan
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Permintaan extends CI_Controller {
public function index()
{
$this->model_sec->getsec();
$isi['content'] = 'transaksi/permintaan/tampil_form_permintaan';
$isi['judul'] = 'Transaksi';
117
$isi['sub_judul'] = 'permintaan';
$isi['uname'] = $this->session->userdata('username');
$isi['id_bagian'] = $this->session->userdata('id_bagian');
$isi['nama_bagian'] = $this->session->userdata('nama_bagian');
$isi['status'] = "";
$isi['tgl'] = date('d-m-Y');
$b = $this->session->userdata('username');
$this->load->model('model_home');
$isi['datablob'] = $this->model_home->getblob($b);
$isi['databarang'] = $this->db->query("select
a.id_barang,a.nama_barang,a.harga,a.harga,b.saldo_akhir_q from m_barang as a left join
gudang_barang as b on a.id_barang=b.id_barang");
$qcek = $this->db->query("select * from (select * from (select id_permintaan
from tx_permintaan_d order by dt_create asc) as b group by b.id_permintaan) as a where
a.id_permintaan not in (select id_permintaan from tx_permintaan_m ) limit 1 ");
if($qcek->num_rows()>0)
{
$hcek2 = $qcek->row();
$isi['id_permintaanx'] = $hcek2->id_permintaan;
$plgn = $this->db->query("select
a.id_permintaan,a.id_supplier,b.nama,b.kontak,sum( a.qty ) AS qty, sum( a.nominal ) AS
nominal from tx_permintaan_d as a
left join m_supplier as b on a.id_supplier=b.id_supplier where
a.id_permintaan='$isi[id_permintaanx]' group by id_permintaan ")->row();
$isi['supplierout'] = "$plgn->id_supplier-$plgn->nama";
$isi['nominal'] = "$plgn->nominal";
$isi['qty'] = "$plgn->qty";
}else{
$noak = $this->db->query("select
id_noak('B',concat(mid(curdate(),9,2),mid(curdate(),6,2),mid(curdate(),3,2) )) as kuda ")-
>row();
$isi['id_permintaanx'] = $noak->kuda;
$isi['supplierout'] = "";
$isi['nominal'] = "";
$isi['qty'] = "";
}
118
$isi['data'] = $this->db->query("select a.*,b.nama_barang,b.harga from
tx_permintaan_d as a
left join m_barang as b on a.id_barang=b.id_barang
where a.id_permintaan='$isi[id_permintaanx]' order by a.dt_create
desc");
$isi['datax'] = $this->db->query("select
a.status,a.id_permintaan,c.jum_item,ifnull(sum(c.nominal),0) as
nominal,b.nama,a.tgl_permintaan
from tx_permintaan_m as a
left join (select count(*) as jum_item, sum(nominal) as nominal,id_permintaan from
tx_permintaan_d group by id_permintaan ) as c on a.id_permintaan =c.id_permintaan
left join m_supplier as b on a.id_supplier =b.id_supplier where
a.tgl_permintaan=curdate()
group by a.id_supplier ");
$this->load->view('tampilan_home',$isi);
}
public function tampilconten()
{
$this->model_sec->getsec();
$isi['judul'] = $this->input->post('judul');
$isi['sub_judul'] = $this->input->post('sub_judul');
$isi['tgl'] = date('d-m-Y');
$isi['databarang'] = $this->db->query("select
a.id_barang,a.nama_barang,a.harga,a.harga,b.saldo_akhir_q from m_barang as a left join
gudang_barang as b on a.id_barang=b.id_barang");
$qcek = $this->db->query("select * from (select * from (select id_permintaan
from tx_permintaan_d order by dt_create asc) as b group by b.id_permintaan) as a where
a.id_permintaan not in (select id_permintaan from tx_permintaan_m ) limit 1 ");
if($qcek->num_rows()>0)
{
$hcek2 = $qcek->row();
$isi['id_permintaanx'] = $hcek2->id_permintaan;
$plgn = $this->db->query("select
a.id_permintaan,a.id_supplier,b.nama,b.kontak,sum( a.qty ) AS qty, sum( a.nominal ) AS
nominal from tx_permintaan_d as a
left join m_supplier as b on a.id_supplier=b.id_supplier where
119
a.id_permintaan='$isi[id_permintaanx]' group by id_permintaan ")->row();
$isi['supplierout'] = "$plgn->id_supplier-$plgn->nama";
$isi['nominal'] = "$plgn->nominal";
$isi['qty'] = "$plgn->qty";
}else{
$noak = $this->db->query("select
id_noak('B',concat(mid(curdate(),9,2),mid(curdate(),6,2),mid(curdate(),3,2) )) as kuda ")-
>row();
$isi['id_permintaanx'] = $noak->kuda;
$isi['supplierout'] = "";
$isi['nominal'] = "";
$isi['qty'] = "";
}
$isi['status'] = "";
$isi['data'] = $this->db->query("select a.*,b.nama_barang,b.harga from
tx_permintaan_d as a
left join m_barang as b on a.id_barang=b.id_barang
where a.id_permintaan='$isi[id_permintaanx]' order by a.dt_create
desc");
$isi['datax'] = $this->db->query("select
a.id_permintaan,c.jum_item,ifnull(sum(c.nominal),0) as
nominal,b.nama,a.tgl_permintaan,a.status
from tx_permintaan_m as a
left join (select count(*) as jum_item, sum(nominal) as nominal,id_permintaan from
tx_permintaan_d group by id_permintaan ) as c on a.id_permintaan =c.id_permintaan
left join m_supplier as b on a.id_supplier =b.id_supplier where
a.tgl_permintaan=curdate()
group by a.id_supplier ");
$this->load->view('transaksi/permintaan/tampil_form_permintaan',$isi);
}
function simpan_detail(){
$this->model_sec->getsec();
$data['id_permintaan'] = $this->input->post('id_permintaan');
$data['id_barang'] = $this->input->post('id_barang');
$data['supplier'] = $this->input->post('supplier');
$data['id_supplier'] = $this->input->post('id_supplier');
120
$data['qty'] = $this->input->post('qty');
$data['harga'] = $this->input->post('harga');
$data['nominal'] = $data['harga'] * $data['qty'];
$data['uname'] = $this->session->userdata('username');
$this->load->model('Model_permintaan');
$this->Model_permintaan->getinsert($data);
echo"OK";
}
public function Add_Permintaan_stok(){
$this->model_sec->getsec();
$isi['judul'] = 'Transaksi';
$isi['sub_judul'] = 'Permintaan';
$isi['fungsi'] = 'tambah';
$id = $this->input->post('id');
$query = $this->db->query("select a.*,b.nama as nama_supplier from
tx_permintaan_d as a left join m_supplier as b on a.id_supplier=b.id_supplier
where a.id_permintaan='$id' ");
if($query->num_rows() > 0){
$row = $query->row();
$isi['supplier'] = "$row->id_supplier-$row->nama_supplier";
$isi['kon'] = "1";
}else{
$isi['supplier'] = "";
$isi['kon'] = "0";
}
$isi['id_permintaan'] = $this->input->post('id');
$isi['data'] = $this->db->query("select
a.saldo_akhir_q,a.id_barang,b.nama_barang,a.harga from gudang_barang as a left join
m_barang as b on a.id_barang=b.id_barang where a.saldo_akhir_q < '20' and a.id_barang
not in (select id_barang from tx_permintaan_d where id_permintaan='$id') ");
$isi['uname'] = $this->session->userdata('username');
$this->load->view('transaksi/permintaan/form_tambah_dari_stok',$isi);
}
function simpan_dari_stok(){
$this->model_sec->getsec();
$data['uname'] = $this->session->userdata('username');
121
$data['id_permintaan'] = $this->input->post('id_permintaan');
$s = $this->input->post('supplier');
$sp = explode("-", $s);
$data['id_supplier'] = $sp[0];
$key1 = $this->input->post('kirim');
if (!($lisnya = json_decode($key1))) {
echo "Not JSON...";
return FALSE;
}
foreach ($lisnya as $key => $value) {
if($value!=''){
$data['id_barang'] = $value[1];
$data['qty'] = $value[2];
$data['harga'] = $value[3];
$data['nominal'] = $value[4];
$this->load->model('Model_permintaan');
$this->Model_permintaan->getinsert($data);
echo"OK";
}
}
}
function autocomplete_supplier(){
$term = $this->input->get('term');
$variable = $this->db->query("select * from m_supplier where nama like
'%$term%' ");
$b = array();
foreach($variable->result_array() as $key){
$asu = "$key[id_supplier]-$key[nama]";
$b[] = $asu;
}
echo json_encode($b);
}
public function edit()
{
$this->model_sec->getsec();
$isi['judul'] = 'Transaksi';
122
$isi['sub_judul'] = 'edit permintaan';
$isi['fungsi'] = 'edit';
$isi['id_urut'] = $this->input->post('id');
$key = $this->input->post('id');
$isi['uname'] = $this->session->userdata('username');
$query = $this->db->query("
select a.*,b.harga as harga_belix,b.nama_barang,b.saldo_akhir_q from tx_permintaan_d as
a left join (select c.nama_barang,c.id_barang,c.harga,d.saldo_akhir_q from m_barang as c
left join gudang_barang as d on d.id_barang=c.id_barang ) as b on
a.id_barang=b.id_barang
where a.id_urut='$key'");
if($query->num_rows() > 0)
{
foreach ($query->result() as $row) {
$isi['id_barang']= $row->id_barang;
$isi['nama_barang']= $row->nama_barang;
$isi['harga_beli'] = $row->harga_beli;
$isi['harga_belix'] = $row->harga_belix;
$isi['qty'] = $row->qty;
$isi['nominal'] = $row->nominal;
$isi['stok'] = $row->saldo_akhir_q;
}
}else{
$isi['id_barang']= '';
$isi['nama_barang']= '';
$isi['harga_beli'] = '';
$isi['harga_belix'] = '';
$isi['qty'] = '';
$isi['nominal'] = '';
$isi['stok'] = '';
}
$isi['databarang'] = $this->db->query("select
a.id_barang,a.nama_barang,a.harga,a.harga,b.saldo_akhir_q from m_barang as a left join
gudang_barang as b on a.id_barang=b.id_barang");
$this->load->view('transaksi/permintaan/form_edit_permintaan',$isi);
}
123
public function delete(){
$this->model_sec->getsec();
$key = $this->input->post('id');
$this->db->where('id_urut',$key);
$query = $this->db->get('tx_permintaan_d');
if($query->num_rows() >0 ){
$del = $this->db->query("delete from tx_permintaan_d where id_urut='$key'");
echo"OK";
}
}
public function edit_permintaan(){
$this->model_sec->getsec();
$key = $this->input->post('id_urut');
$data['id_barang'] = $this->input->post('id_barang');
$data['harga'] = $this->input->post('harga');
$data['qty'] = $this->input->post('qty');
$data['nominal'] = $this->input->post('nominal');
$query = $this->db->query("select * from tx_permintaan_d where
id_urut='$key' ");
if($query->num_rows() > 0 ){
$this->load->model('Model_permintaan');
$this->Model_permintaan->getupdate_jual($data,$key);
$this->session->set_flashdata('info','Data Berhasil Di Update');
echo"OK";
}else{
echo"Salah, Transaksi Tidak ada ";
}
}
public function update_detail(){
$this->model_sec->getsec();
$key = $this->input->post('id_permintaan');
$query = $this->db->query("select * from tx_permintaan_d where
id_permintaan='$key' group by id_permintaan ");
if($query->num_rows() > 0 ){
$this->load->model('Model_permintaan');
$this->Model_permintaan->getupdate($key);
124
$this->session->set_flashdata('info','Data Berhasil Di Update');
}else{
echo"Salah, Transaksi Tidak ada ";
}
$queryx = $this->db->query("select * from tx_permintaan_m where
id_permintaan='$key' ");
if($queryx->num_rows() > 0 ){
echo"Salah, Transaksi Tidak sesuai ";
}else{
foreach ($query->result() as $row) {
$data['id_supplier'] = $row->id_supplier;
$data['tgl_permintaan'] = $row->tgl_permintaan;
$data['id_create'] = $row->id_create;
$data['dt_create'] = $row->dt_create;
}
$this->Model_permintaan->get_insert_m($key,$data);
echo"OK";
}
}
public function listdetail(){
$id_jual = $this->input->post('id');
$isi['data'] = $this->db->query("select a.*,b.nama_barang from
tx_permintaan_d as a
left join m_barang as b on a.id_barang=b.id_barang where
a.id_jual='$id_jual'");
$t = $this->db->query("select a.*,b.nama from tx_permintaan_m as a
left join m_supplier as b on a.id_supplier=b.id_supplier where
a.id_permintaan='$id_jual'")->row();
$isi['supplier'] = $t->nama;
$isi['tgl_permintaan'] = $t->tgl_permintaan;
$this->load->view('transaksi/permintaan/detail_list',$isi);
}
}
125
4. Approve Permintaan
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Approve_permintaan extends CI_Controller {
public function index()
{
$this->model_sec->getsec();
$isi['content'] =
'transaksi/approve_permintaan/tampil_form_approve_permintaan';
$isi['judul'] = 'Transaksi';
$isi['sub_judul'] = 'approve_permintaan';
$isi['uname'] = $this->session->userdata('username');
$isi['id_bagian'] = $this->session->userdata('id_bagian');
$isi['nama_bagian'] = $this->session->userdata('nama_bagian');
$isi['tgl'] = date('d-m-Y');
$b = $this->session->userdata('username');
$this->load->model('model_home');
$isi['datablob'] = $this->model_home->getblob($b);
$isi['data'] = $this->db->query("select a.*,b.jum_item,b.tot_nominal,c.nama
from tx_permintaan_m as a
left join (select count(*) as jum_item, sum(nominal) as tot_nominal,id_permintaan from
tx_permintaan_d group by id_permintaan) as b on a.id_permintaan=b.id_permintaan
left join m_supplier as c on a.id_supplier=c.id_supplier
where a.status='P' order by a.dt_create desc");
$k = $this->db->query("select count(*) jumlah from tx_permintaan_m
where status='P' ")->row();
$isi['kon'] = $k->jumlah ;
$this->load->view('tampilan_home',$isi);
}
public function tampilconten()
{
$this->model_sec->getsec();
$isi['judul'] = $this->input->post('judul');
$isi['sub_judul'] = $this->input->post('sub_judul');
$isi['tgl'] = date('d-m-Y');
$isi['data'] = $this->db->query("select a.*,b.jum_item,b.tot_nominal,c.nama
126
from tx_permintaan_m as a
left join (select count(*) as jum_item, sum(nominal) as tot_nominal,id_permintaan from
tx_permintaan_d group by id_permintaan) as b on a.id_permintaan=b.id_permintaan
left join m_supplier as c on a.id_supplier=c.id_supplier
where a.status='P' order by a.dt_create desc");
$k = $this->db->query("select count(*) jumlah from tx_permintaan_m
where status='P' ")->row();
$isi['kon'] = $k->jumlah ;
$this->load-
>view('transaksi/approve_permintaan/tampil_form_approve_permintaan',$isi)
}
public function edit(){
$this->model_sec->getsec();
$isi['judul'] = 'Transaksi';
$isi['sub_judul'] = 'approve_permintaan';
$isi['fungsi'] = 'tambah';
$id = $this->input->post('id');
$query = $this->db->query("select a.*,b.nama as nama_supplier from
tx_permintaan_d as a left join m_supplier as b on a.id_supplier=b.id_supplier
where a.id_permintaan='$id' group by a.id_permintaan");
$row = $query->row();
$isi['supplier'] = "$row->id_supplier-$row->nama_supplier";
$isi['tgl_permintaan'] = $row->tgl_permintaan;
$isi['user_minta'] = $row->id_create;
$isi['id_permintaan'] = $this->input->post('id');
$isi['data'] = $this->db->query("select a.*,b.nama_barang,c.saldo_akhir_q from
tx_permintaan_d as a left join m_barang as b on a.id_barang=b.id_barang left join
gudang_barang as c on a.id_barang=c.id_barang where a.id_permintaan='$id' ");
$isi['uname'] = $this->session->userdata('username');
$this->load-
>view('transaksi/approve_permintaan/form_lihat_detail_approve_permintaan',$isi);
}
public function simpan_approve(){
$this->model_sec->getsec();
$data['uname'] = $this->session->userdata('username');
$data['id_permintaan'] = $this->input->post('id_permintaan');
127
$s = $this->input->post('supplier');
$sp = explode("-", $s);
$data['id_supplier'] = $sp[0];
$key1 = $this->input->post('kirim');
if (!($lisnya = json_decode($key1))) {
echo "Not JSON...";
return FALSE;
}
foreach ($lisnya as $key => $value) {
if($value!=''){
$data['id_urut'] = $value[1];
$data['qty'] = $value[2];
$data['harga'] = $value[3];
$data['nominal'] = $value[4];
$this->db->query("update tx_permintaan_d set
id_approve='$data[uname]',dt_approve=
now(),qty='$value[2]',harga_beli='$value[3]',nominal='$value[4]',status='A' where
id_urut='$value[1]' ");
}
}
echo"OK";
$this->db->query("update tx_permintaan_m set
id_approve='$data[uname]',dt_approve= now(),status='A' where
id_permintaan='$data[id_permintaan]' ");
}
public function cetak(){
$this->model_sec->getsec();
$isi['uname'] = $this->session->userdata('username');
$id_permintaan = $this->uri->segment(3);
$isi['id_permintaan'] = $this->uri->segment(3);
$isi['data'] = $this->db->query("select a.*,b.nama_barang from
tx_permintaan_d as a
left join m_barang as b on a.id_barang=b.id_barang where
a.id_permintaan='$id_permintaan' and a.status='A' ");
$q = $this->uri->segment(4);
$d = str_replace('%20', ' ', $q);
128
$isi['supplier'] = $d;
$tgl = $this->uri->segment(5);
$isi['user_minta'] = $this->uri->segment(6);
$t = explode("-",$tgl);
$isi['tgl_permintaan'] = "$t[2]-$t[1]-$t[0]";
$isi['total_n'] ='';
$this->load->view('transaksi/approve_permintaan/cetak',$isi);
}
public function delete(){
$this->model_sec->getsec();
$key = $this->input->post('id');
$this->db->where('id_urut',$key);
$query = $this->db->get('tx_approve_permintaan_d');
if($query->num_rows() >0 ){
$del = $this->db->query("delete from tx_permintaan_d where id_urut='$key'");
echo"OK";
}
}
public function edit_approve_permintaan(){
$this->model_sec->getsec();
$key = $this->input->post('id_urut');
$data['id_barang'] = $this->input->post('id_barang');
$data['harga'] = $this->input->post('harga');
$data['qty'] = $this->input->post('qty');
$data['nominal'] = $this->input->post('nominal');
$query = $this->db->query("select * from tx_permintaan_d where
id_urut='$key' ");
if($query->num_rows() > 0 ){
$this->load->model('Model_approve_permintaan');
$this->Model_approve_permintaan->getupdate_jual($data,$key);
$this->session->set_flashdata('info','Data Berhasil Di Update');
echo"OK";
}else{
echo"Salah, Transaksi Tidak ada ";
}
}
129
public function update_detail(){
$this->model_sec->getsec();
$key = $this->input->post('id_permintaan');
$query = $this->db->query("select * from tx_permintaan_d where
id_permintaan='$key' group by id_permintaan "); if($query->num_rows() > 0
){
$this->load->model('Model_approve_permintaan');
$this->Model_approve_permintaan->getupdate($key);
$this->session->set_flashdata('info','Data Berhasil Di Update');
}else{
echo"Salah, Transaksi Tidak ada ";
}
$queryx = $this->db->query("select * from tx_approve_permintaan_m where
id_permintaan='$key' ");
if($queryx->num_rows() > 0 ){
echo"Salah, Transaksi Tidak sesuai ";
}else{
foreach ($query->result() as $row) {
$data['id_supplier'] = $row->id_supplier;
$data['tgl_permintaan'] = $row->tgl_permintaan;
$data['id_create'] = $row->id_create;
$data['dt_create'] = $row->dt_create;
$this->Model_approve_permintaan->get_insert_m($key,$data);
echo"OK";
}
}
}
5. Penerimaan
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Permintaan extends CI_Controller {
public function index()
{
$this->model_sec->getsec();
$isi['content'] = 'transaksi/permintaan/tampil_form_permintaan';
130
$isi['judul'] = 'Transaksi';
$isi['sub_judul'] = 'permintaan';
$isi['uname'] = $this->session->userdata('username');
$isi['id_bagian'] = $this->session->userdata('id_bagian');
$isi['nama_bagian'] = $this->session->userdata('nama_bagian');
$isi['status'] = "";
$isi['tgl'] = date('d-m-Y');
$b = $this->session->userdata('username');
$this->load->model('model_home');
$isi['datablob'] = $this->model_home->getblob($b);
$isi['databarang'] = $this->db->query("select
a.id_barang,a.nama_barang,a.harga,
a.harga,b.saldo_akhir_q from m_barang as a left join gudang_barang
as b on
a.id_barang=b.id_barang");
$qcek = $this->db->query("select * from (select * from (select id_permintaan
from tx_permintaan_d order by dt_create asc) as b group by
b.id_permintaan)
as a where a.id_permintaan not in (select id_permintaan from
tx_permintaan_m ) limit 1 ");
if($qcek->num_rows()>0)
{
$hcek2 = $qcek->row();
$isi['id_permintaanx'] = $hcek2->id_permintaan;
$plgn = $this->db->query("select a.id_permintaan,a.id_supplier,b.nama,
b.kontak,sum( a.qty ) AS qty, sum( a.nominal ) AS nominal from
tx_permintaan_d as a
left join m_supplier as b on a.id_supplier=b.id_supplier
where a.id_permintaan='$isi[id_permintaanx]' group by
id_permintaan ")->row();
$isi['supplierout'] = "$plgn->id_supplier-$plgn->nama";
$isi['nominal'] = "$plgn->nominal";
$isi['qty'] = "$plgn->qty";
}else{
$noak = $this->db->query("select id_noak('B',concat(mid(curdate(),9,2),
mid(curdate(),6,2),mid(curdate(),3,2) )) as kuda ")->row();
131
$isi['id_permintaanx'] = $noak->kuda;
$isi['supplierout'] = "";
$isi['nominal'] = "";
$isi['qty'] = "";
}
$isi['data'] = $this->db->query("select a.*,b.nama_barang,b.harga from
tx_permintaan_d as a
left join m_barang as b on a.id_barang=b.id_barang
where a.id_permintaan='$isi[id_permintaanx]' order by a.dt_create
desc");
$isi['datax'] = $this->db->query("select
a.status,a.id_permintaan,c.jum_item,ifnull(sum(c.nominal),0) as
nominal,b.nama,a.tgl_permintaan
from tx_permintaan_m as a
left join (select count(*) as jum_item, sum(nominal) as nominal,id_permintaan
from tx_permintaan_d group by id_permintaan ) as c on a.id_permintaan
=c.id_permintaan
left join m_supplier as b on a.id_supplier =b.id_supplier where
a.tgl_permintaan=curdate()
group by a.id_supplier ");
$this->load->view('tampilan_home',$isi);
}
public function tampilconten()
{
$this->model_sec->getsec();
$isi['judul'] = $this->input->post('judul');
$isi['sub_judul'] = $this->input->post('sub_judul');
$isi['tgl'] = date('d-m-Y');
$isi['databarang'] = $this->db->query("select a.id_barang,a.nama_barang,
a.harga,a.harga,b.saldo_akhir_q from m_barang as a
left join gudang_barang as b on a.id_barang=b.id_barang");
$qcek = $this->db->query("select * from (select * from (select id_permintaan
from tx_permintaan_d order by dt_create asc) as b group by
b.id_permintaan)
as a where a.id_permintaan not in (select id_permintaan from
tx_permintaan_m ) limit 1 ");
132
if($qcek->num_rows()>0)
{
$hcek2 = $qcek->row();
$isi['id_permintaanx'] = $hcek2->id_permintaan;
$plgn = $this->db->query("select a.id_permintaan,a.id_supplier,
b.nama,b.kontak,sum( a.qty ) AS qty, sum( a.nominal ) AS nominal
from tx_permintaan_d as a
left join m_supplier as b on a.id_supplier=b.id_supplier
where a.id_permintaan='$isi[id_permintaanx]' group by
id_permintaan ")->row();
$isi['supplierout'] = "$plgn->id_supplier-$plgn->nama";
$isi['nominal'] = "$plgn->nominal";
$isi['qty'] = "$plgn->qty";
}else{
$noak = $this->db->query("select id_noak('B',concat(mid(curdate(),9,2),
mid(curdate(),6,2),mid(curdate(),3,2) )) as kuda ")->row();
$isi['id_permintaanx'] = $noak->kuda;
$isi['supplierout'] = "";
$isi['nominal'] = "";
$isi['qty'] = "";
}
$isi['status'] = "";
$isi['data'] = $this->db->query("select a.*,b.nama_barang,b.harga from
tx_permintaan_d as a
left join m_barang as b on a.id_barang=b.id_barang
where a.id_permintaan='$isi[id_permintaanx]' order by a.dt_create
desc");
$isi['datax'] = $this->db->query("select
a.id_permintaan,c.jum_item,ifnull(sum(c.nominal),0) as
nominal,b.nama,a.tgl_permintaan,a.status
from tx_permintaan_m as a
left join (select count(*) as jum_item, sum(nominal) as nominal,id_permintaan
from tx_permintaan_d group by id_permintaan ) as c on a.id_permintaan
=c.id_permintaan
left join m_supplier as b on a.id_supplier =b.id_supplier where
a.tgl_permintaan=curdate()
133
group by a.id_supplier ");
$this->load->view('transaksi/permintaan/tampil_form_permintaan',$isi);
}
function simpan_detail(){
$this->model_sec->getsec();
$data['id_permintaan'] = $this->input->post('id_permintaan');
$data['id_barang'] = $this->input->post('id_barang');
$data['supplier'] = $this->input->post('supplier');
$data['id_supplier'] = $this->input->post('id_supplier');
$data['qty'] = $this->input->post('qty');
$data['harga'] = $this->input->post('harga');
$data['nominal'] = $data['harga'] * $data['qty'];
$data['uname'] = $this->session->userdata('username');
$this->load->model('Model_permintaan');
$this->Model_permintaan->getinsert($data);
echo"OK";
}
public function Add_Permintaan_stok(){
$this->model_sec->getsec();
$isi['judul'] = 'Transaksi';
$isi['sub_judul'] = 'Permintaan';
$isi['fungsi'] = 'tambah';
$id = $this->input->post('id');
$query = $this->db->query("select a.*,b.nama as nama_supplier from
tx_permintaan_d as a
left join m_supplier as b on a.id_supplier=b.id_supplier
where a.id_permintaan='$id' ");
if($query->num_rows() > 0){
$row = $query->row();
$isi['supplier'] = "$row->id_supplier-$row->nama_supplier";
$isi['kon'] = "1";
}else{
$isi['supplier'] = "";
$isi['kon'] = "0";
}
134
$isi['id_permintaan'] = $this->input->post('id');
$isi['data'] = $this->db->query("select
a.saldo_akhir_q,a.id_barang,b.nama_barang,a.harga
from gudang_barang as a left join m_barang as b on
a.id_barang=b.id_barang
where a.saldo_akhir_q < '20' and a.id_barang
not in (select id_barang from tx_permintaan_d where
id_permintaan='$id') ");
$isi['uname'] = $this->session->userdata('username');
$this->load->view('transaksi/permintaan/form_tambah_dari_stok',$isi);
}
function simpan_dari_stok(){
$this->model_sec->getsec();
$data['uname'] = $this->session->userdata('username');
$data['id_permintaan'] = $this->input->post('id_permintaan');
$s = $this->input->post('supplier');
$sp = explode("-", $s);
$data['id_supplier'] = $sp[0];
$key1 = $this->input->post('kirim');
if (!($lisnya = json_decode($key1))) {
echo "Not JSON...";
return FALSE;
}
foreach ($lisnya as $key => $value) {
if($value!=''){
$data['id_barang'] = $value[1];
$data['qty'] = $value[2];
$data['harga'] = $value[3];
$data['nominal'] = $value[4];
$this->load->model('Model_permintaan');
$this->Model_permintaan->getinsert($data);
echo"OK";
}
}
}
function autocomplete_supplier(){
135
$term = $this->input->get('term');
$variable = $this->db->query("select * from m_supplier where nama like
'%$term%' ");
$b = array();
foreach($variable->result_array() as $key){
$asu = "$key[id_supplier]-$key[nama]";
$b[] = $asu;
}
echo json_encode($b);
}
public function edit()
{
$this->model_sec->getsec();
$isi['judul'] = 'Transaksi';
$isi['sub_judul'] = 'edit permintaan';
$isi['fungsi'] = 'edit';
$isi['id_urut'] = $this->input->post('id');
$key = $this->input->post('id');
$isi['uname'] = $this->session->userdata('username');
$query = $this->db->query("
select a.*,b.harga as harga_belix,b.nama_barang,b.saldo_akhir_q from tx_permintaan_d as
a left join (select c.nama_barang,c.id_barang,c.harga,d.saldo_akhir_q from m_barang as c
left join gudang_barang as d on d.id_barang=c.id_barang ) as b on
a.id_barang=b.id_barang
where a.id_urut='$key'");
if($query->num_rows() > 0)
{
foreach ($query->result() as $row) {
$isi['id_barang']= $row->id_barang;
$isi['nama_barang']= $row->nama_barang;
$isi['harga_beli'] = $row->harga_beli;
$isi['harga_belix'] = $row->harga_belix;
$isi['qty'] = $row->qty;
$isi['nominal'] = $row->nominal;
$isi['stok'] = $row->saldo_akhir_q;
}
136
}else{
$isi['id_barang']= '';
$isi['nama_barang']= '';
$isi['harga_beli'] = '';
$isi['harga_belix'] = '';
$isi['qty'] = '';
$isi['nominal'] = '';
$isi['stok'] = '';
}
$isi['databarang'] = $this->db->query("select
a.id_barang,a.nama_barang,a.harga,a.harga,
b.saldo_akhir_q from m_barang as a left join
gudang_barang as b on a.id_barang=b.id_barang");
$this->load->view('transaksi/permintaan/form_edit_permintaan',$isi);
}
public function delete(){
$this->model_sec->getsec();
$key = $this->input->post('id');
$this->db->where('id_urut',$key);
$query = $this->db->get('tx_permintaan_d');
if($query->num_rows() >0 ){
$del = $this->db->query("delete from tx_permintaan_d where id_urut='$key'");
echo"OK";
}
}
public function edit_permintaan(){
$this->model_sec->getsec();
$key = $this->input->post('id_urut');
$data['id_barang'] = $this->input->post('id_barang');
$data['harga'] = $this->input->post('harga');
$data['qty'] = $this->input->post('qty');
$data['nominal'] = $this->input->post('nominal');
$query = $this->db->query("select * from tx_permintaan_d where
id_urut='$key' ");
if($query->num_rows() > 0 ){
137
$this->load->model('Model_permintaan');
$this->Model_permintaan->getupdate_jual($data,$key);
$this->session->set_flashdata('info','Data Berhasil Di Update');
echo"OK";
}else{
echo"Salah, Transaksi Tidak ada ";
}
}
public function update_detail(){
$this->model_sec->getsec();
$key = $this->input->post('id_permintaan');
$query = $this->db->query("select * from tx_permintaan_d where
id_permintaan='$key' group by id_permintaan ");
if($query->num_rows() > 0 ){
$this->load->model('Model_permintaan');
$this->Model_permintaan->getupdate($key);
$this->session->set_flashdata('info','Data Berhasil Di Update');
}else{
echo"Salah, Transaksi Tidak ada ";
}
$queryx = $this->db->query("select * from tx_permintaan_m where
id_permintaan='$key' ");
if($queryx->num_rows() > 0 ){
echo"Salah, Transaksi Tidak sesuai ";
}else{
foreach ($query->result() as $row) {
$data['id_supplier'] = $row->id_supplier;
$data['tgl_permintaan'] = $row->tgl_permintaan;
$data['id_create'] = $row->id_create;
$data['dt_create'] = $row->dt_create;
}
$this->Model_permintaan->get_insert_m($key,$data);
echo"OK";
}
}
public function listdetail(){
138
$id_jual = $this->input->post('id');
$isi['data'] = $this->db->query("select a.*,b.nama_barang from
tx_permintaan_d as a
left join m_barang as b on a.id_barang=b.id_barang where
a.id_jual='$id_jual'");
$t = $this->db->query("select a.*,b.nama from tx_permintaan_m as a
left join m_supplier as b on a.id_supplier=b.id_supplier where
a.id_permintaan='$id_jual'")->row();
$isi['supplier'] = $t->nama;
$isi['tgl_permintaan'] = $t->tgl_permintaan;
$this->load->view('transaksi/permintaan/detail_list',$isi);
}
}
4.4. Testing
Tabel pengujian blackbox adalah sebagai berikut:
A. Form Login
Tabel IV.1 Pengujian BlackBox
Hasil Pengujian Blackbox Form LoginNo Skenario
Pengujian
Test
Case
Hasil yang diharapkan Hasil
Pengujian
Kesim
pulan
1 Mengosongk
an username
dan
password
username
:(kosong)
Password
:(kosong)
Sistem menampilkan
pesan error ‘username
password kosong’dan
tidak login
sesuai
Harapan
Valid
2 Mengosongk
an username
username
:(kosong)
Password
:1234
Sistem menampilkan
pesan error ‘username
kosong’dan tidak login
sesuai
Harapan
Valid
3 Mengosongk username Sistem menampilkan sesuai Valid
139
an password :bima1
Password
:(kosong)
pesan error ‘password
kosong’dan tidak login
Harapan
5 Menginput
Username
dan
password
salah
user:
admin
pass:
12345
Sistem menampilkan
pesan error ‘password
salah’dan tidak login
sesuai
Harapan
Valid
4 Menginput
Username
dan
password
benar
user:adm
inistrator
pass:adm
inistrator
Sistem menampilkan
pesan ‘login sukses’dan
masuk ke home.
sesuai
Harapan
Valid
B. Form Penjualan
Tabel IV.1 Pengujian BlackBox
Hasil Pengujian Blackbox Form PenjualanNo Skenario
Pengujian
Test Case Hasil yang
diharapkan
Hasil
Pengujian
Kesimpulan
1 Mengoson
gkan
tanggal
jual, no id
pelanggan,
pilih
barang,har
ga,jumlah
pesan
tanggal
jual:(kosong
), no id
pelanggan:
(kosong),
pilih barang:
(kosong),har
ga:
(kosong),ju
mlah pesan:
(kosong)
Sistem menampilkan
pesan error ‘tgl,nama
barang, harga,jumlah
barang tidak boleh
kosong‘
sesuai
Harapan
Valid
140
2 Mengisi
kolom
tanggal,
harga dan
jumlah
barang
dengan
huruf a-z
tanggal:(a-
z), harga: (a-
z),jumlah
barang: (a-z)
Form tidak menampilkan
huruf a-z
sesuai
Harapan
Valid
3 Mengoson
gkan
kolom
bayar
Bayar:(koso
ng)
Sistem menampilkan
pesan error ‘Bayar tidak
boleh kosong’
sesuai
Harapan
Valid
4 Klik
tombol
simpan
klik tombol
simpan
Sistem akan memproses
data dan menampilkan
detail transaksi.
Sesuai
Harapan
Valid
5 Klik
tombol
Simpan &
Cetak
Klik tombol
Simpan &
Cetak
Sistem akan memproses
data dan menampilkan
cetak struk.
Sesuai
Harapan
Valid
C. Form Permintaan Barang
Tabel IV.1 Pengujian BlackBox
Hasil Pengujian Blackbox Form Permintaan BarangNo Skenario
Pengujian
Test Case Hasil yang
diharapkan
Hasil
Pengujian
Kesimpulan
1 Mengoson
gkan
tanggal
jual, no id
tanggal
jual:(koson
g), no id
supplier:
Sistem menampilkan
pesan error ‘tgl,nama
barang, harga,jumlah
barang tidak boleh
sesuai
Harapan
Valid
141
supplier,
pilih
barang,har
ga,jumlah
pesan
(kosong),
pilih
barang:
(kosong),h
arga:
(kosong),ju
mlah
pesan:
(kosong)
kosong‘
2 Mengisi
kolom
tanggal,
harga dan
jumlah
barang
dengan
huruf a-z
tanggal:(a-
z), harga:
(a-
z),jumlah
barang: (a-
z)
Form tidak
menampilkan huruf a-z
sesuai
Harapan
Valid
3 Mengoson
gkan
kolom
bayar
Bayar:(kos
ong)
Sistem menampilkan
pesan error ‘Bayar tidak
boleh kosong’
sesuai
Harapan
Valid
4 Klik
tombol
simpan
Klik
tombol
simpan
Sistem akan memproses
data dan menampilkan
Detail Transaksi
Sesuai
Harapan
Valid
D. Form Approve Permintaan
Tabel IV.1 Pengujian BlackBox
Hasil Pengujian Blackbox Form Approve PermintaanNo Skenario Test Hasil yang diharapkan Hasil Kesimpulan
142
Pengujian Case Pengujian
1 Klik
tombol
aksi lihat
detail
transaksi
permintaan
Klik
tombol
lihat
detail
transak
si
Sistem menampilkan
Detail transaksi
permintaan barang
sesuai
Harapan
Valid
2 Mengoson
gkan Qty
pada detail
transaksi
permintaan
Qty:(k
osong)
Sistem menampilkan pesan
error ‘Qty tidak boleh
kosong’
sesuai
Harapan
Valid
3 Klik
tombol
Approve &
Cetak PO
Klik
tombol
Appro
ve &
Cetak
PO
Sistem memproses data
dan menampilakn cetak
PO.
sesuai
Harapan
Valid
E. Form Penerimaan Barang
Tabel IV.1 Pengujian BlackBox
Hasil Pengujian Blackbox Form Penerimaan BarangNo Skenario
Pengujian
Test
Case
Hasil yang diharapkan Hasil
Pengujian
Kesimpulan
1 Klik
tombol
aksi lihat
detail
transaksi
Klik
tombol
lihat
detail
transaks
Sistem menampilkan
Detail transaksi
penerimaan barang
sesuai
Harapan
Valid
143
Penerimaa
n
i
2 Mengoson
gkan
Qty,no
invoice,
pada detail
transaksi
Qty:(ko
song),
No
Invoice:
(kosong
)
Sistem menampilkan
pesan error ‘Qty dan No
Invoice tidak boleh
kosong’
sesuai
Harapan
Valid
3 Klik
tombol
Simpan
Klik
tombol
Simpan
Sistem memproses data
Penerimaan.
sesuai
Harapan
Valid
8. Evaluasi Sistem
Berdasarkan hasil quisioner uji kesesuaian sistem dapat diketahui penilaian
mengenai tampilan setiap komponen – komponen yang ada sudah sesuai dengan
fungsinya dan output yang dihasilkan dari setiap data yang di input kan sudah
sesuai, begitu juga dari segi keamanan sudah dirasa cukup, karena sistem hanya
digunakan untuk dua user yaitu admin,user dimana setiap pengguna sudah
memiliki username dan password sendiri. Berikut adalah pendapat user tentang
uji kesesuaian sistem
144
a. Observasi proses input
Observasi proses input dapat dilihat pada tabel IV.7 berikut ini :
Tabel IV.7 Observasi proses input
No. Kegiatan Ya Tidak1 Apakah ada
kesalahan dalamproses penginputandata dari setiap form
yang ada ?
- Tidak
2 Apakah dalamproses penyimpanan
atau berhasil ?Ya
-
3 Apakah yangmembuat sistem
baru ini mudah dioprasikan
Ya -
4 Apakah pengerjaandalam pembuatansistem baru cukupmemakan waktu?
Ya -
b. Observasi proses output
Observasi proses output dapat dilihat pada tabel IV.8 berikut ini :
Tabel IV.8 Observasi proses output
No Kegiatan Ya Tidak1. Apakah dalam
proses cetak adakesalahan ?
- Tidak
Berdasarkan hasil observasi uji kesesuaian sistem dapat diketahui tanggapan user
mengenai kesesuaian sistem informasi inventori sudah dapat diterima dan
dipahami, sehingga sistem ini layak digunakan untuk proses transaksi
145
4.5. Support
4.5.1. Publikasi Web
4.5.2. Spesifikasi Harware Dan Software
Untuk menjalankan aplikasi sistem informasi inventori ini, di butuhkan juga
perangkat keras. Perangkat keras yang di butuhkan dibagi atas 2 bagian yaitu
perangkat keras untuk web server dan perangkat keras untuk client.
1. Spesifikasi Hardware
Perangkat keras yang di butuhkan oleh server adalah sebagai berikut :
a. Processor : Intel Dual Core i3
b. Memory size (RAM) : 16 GB (DDR 3 RAM)
c. Monitor : LCD Monitor Colours 17”
d. Harddisk : 1 TB
e. KeyBoard : 107 Keys
f. Mouse : Standard Mouse
g. Printer : Deskjet
Sedangkan perangkat keras yang di butuhkan oleh client adalah sebagai berikut :
a. Processor : Intel Dual Core i3
b. Memory size (RAM) : 8 GB (DDR 3 RAM)
c. Monitor : LCD Monitor Colours 17”
d. Harddisk : 500 GB
e. KeyBoard : 107 Keys
f. Mouse : Standard Mouse
g. Printer : Deskjet
146
2. Spesifikasi Software
Perangkat lunak adalah suatu rangkaian atau susunan yang harus benar dengan
urutan-urutan yang benar pula. dan di butuhkan untuk menjalankan sistem
informasi yang di usulkan. perangkat lunak yang di butuhkan dibagi atas dua
bagian, yaitu perangkat lunak untuk web server dan perangkat lunak untuk client.
Adapun Perangkat lunak minimal yang di perlukan untuk webserver adalah
sebagai berikut :
a. Operating system : Microsoft Windows 10
b. Bahasa Pemrograman : PHP
c. Interpreter : PHP5 Engine 5.2.8
d. Database Server : Mysql Server 5.5
e. Web Server : Apache 2.2.25
f. Database Tools : Phpmyadmin 3.4.7.1
g. Framework : Codeigniter 2
Adapun Perangkat lunak minimal yang di perlukan untuk webserver adalah
sebagai berikut :
a. Operating system : Microsoft Windows 7
b. Browser : Mozilla Firefox 56.0
4.6. Spesifikasi Dokumen sistem Usulan
4.6.1 Spesifikasi Bentuk Masukan
Pada spesifikasi bentuk masukan dari hasil pengolahan data sistem usulan
adalah sebagai berikut:
147
1. Data User
Nama Form : Data User
Akronim : form_tambahuser.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk pengolahan data user
Periode : setiap terjadi penambahan dan edit data user
Sumber : User
Tujuan : User
2. Data Barang
Nama Form : Data Barang
Akronim : form_tambahbarang.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk pengolahan data barang
Periode : setiap terjadi penambahan dan edit data barang
Sumber : User
Tujuan : User
3. Data Pelanggan
Nama Form : Data Pelanggan
Akronim : form_tambahpelanggan.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk pengolahan data pelanggan
Periode : setiap terjadi penambahan dan edit data pelanggan
Sumber : User
Tujuan : User
148
4. Data Supplier
Nama Form : Data Supplier
Akronim : form_tambahsupplier.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk pengolahan data supplier
Periode : setiap terjadi penambahan dan edit data supplier
Sumber : User
Tujuan : User
5. Nama Form : Form transaksi penjualan
Akronim : tampil_form_penjualan.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk pengolahan data transaksi penjualan
Periode : setiap terjadi transaksi penjualan
Sumber : User
Tujuan : User
6. Nama Form : Form transaksi permintaan
Akronim : tampil_form_permintaan.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk pengolahan data transaksi permintaan
Periode : setiap terjadi transaksi permintaan
Sumber : User
149
Tujuan : User
7. Nama Form : Form transaksi penerimaan
Akronim : tampil_form_penerimaan.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk pengolahan data transaksi penerimaan
Periode : setiap terjadi transaksi penerimaan
Sumber : User
Tujuan : User
4.6.2. Spesifikasi Bentuk Keluaran
Pada spesifikasi bentuk keluaran sistem usulan adalah sebagai berikut:
1. Nama Form : Struk Penjualan Barang
Akronim : cetak_penjualan.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Bukti transaksi Penjualan Barang
Periode : setiap terjadi transaksi penjualan barang
Sumber : User
Tujuan : Pelanggan
2. Nama Form : Cetak PO
Akronim : cetak_po.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk melakukan pemesanan beli barang ke supplier
150
Periode : setiap terjadi pemesanan beli barang ke supplier
Sumber : User
Tujuan : Supplier
3. Nama Form : Laporan Penjualan
Akronim : laporan_penjualan.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk melihat dan cetak laporan data penjualan
Periode : setiap terjadi penjualan barang Perbulan/hari
Sumber : User
Tujuan : Pemilik Toko
4. Nama Form : Laporan Pembelian
Akronim : laporan_pembelian.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk melihat dan cetak laporan data Pembelian
Periode : setiap terjadi Pembelian barang Perbulan/hari
Sumber : User
Tujuan : Pemilik Toko
5. Nama Form : Laporan Summary
Akronim : laporan_sum.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk melihat dan cetak laporan data Summary
151
Periode : setiap terjadi jual beli barang Perbulan/hari
Sumber : User
Tujuan : Pemilik Toko
6. Nama Form : Laporan Stok Gudang
Akronim : laporan_stok_gudang.php
Bahasa Pemrograman : PHP / 5.2.8
Fungsi : Untuk melihat dan cetak laporan data stok gudang
Periode : setiap terjadi proses jual dan beli barang perbulan/hari
Sumber : User
Tujuan : Pemilik Toko