BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · pembelian barang dan stok pada gudang berbasis web...

97
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

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

94

4. Halaman Data User

Gambar IV .18

Halaman Data User

Gambar IV .19

Halaman Ubah Data User

95

5. Halaman Data Barang

Gambar IV .20

Halaman Data Barang

Gambar IV .21

Halaman Ubah Data Barang

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

104

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