PERANCANGAN APLIKASI POINT OF SALE (POS) BERBASIS WEB ...

261
SKRIPSI PERANCANGAN APLIKASI POINT OF SALE (POS) BERBASIS WEB DENGAN PHP DAN MYSQLI UNTUK CV. MULTI CITRA KIMIA Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Komputer Disusun oleh: Nama : Kemas Aulia Haldi NIM : 311510106 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PELITA BANGSA KABUPATEN BEKASI 2019

Transcript of PERANCANGAN APLIKASI POINT OF SALE (POS) BERBASIS WEB ...

SKRIPSI

PERANCANGAN APLIKASI POINT OF SALE (POS) BERBASIS

WEB DENGAN PHP DAN MYSQLI UNTUK CV. MULTI CITRA

KIMIA

Diajukan untuk memenuhi salah satu syarat

memperoleh gelar Sarjana Komputer

Disusun oleh:

Nama : Kemas Aulia Haldi

NIM : 311510106

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS PELITA BANGSA

KABUPATEN BEKASI

2019

ii

iii

iv

v

vi

UCAPAN TERIMAKASIH

Segala puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang

telah melimpahkan kasih dan karunia-Nya sehingga penulis dapat menyelesaikan

penulisan Skripsi ini dengan tepat waktu. Penulisan Laporan Tugas Akhir dengan judul

“PERANCANGAN APLIKASI POINT OF SALE (POS) BERBASIS WEB

DENGAN PHP DAN MYSQLI UNTUK CV. MULTI CITRA KIMIA“, adapun

maksud dari penulisan Skripsi ini untuk memenuhi salah satu syarat kelulusan Program

Studi Teknologi Informasi Jenjang Pendidikan Strata-1 di Universitas Pelita Bangsa.

Penulis menyadari bahwa penulisan Skripsi ini tidak terlepas dari bimbingan,

bantuan dan dukungan dari berbagai pihak. Untuk itu, pada kesempatan yang

berbahagia ini, penulis mengucapkan terima kasih kepada:

1. Putri Anggun Sari, S.Pt., M.Si Selaku Dekan Fakultas Teknik Universitas

Pelita Bangsa.

2. Bapak Aswan S, Sunge. S.E, M.Kom. Selaku Ketua Program Studi

Universitas Pelita Bangsa.

3. Hamzah Muhammad M, S.K.M., M.M, selaku Rektor Universitas Pelita

Bangsa.

4. Bapak Muhammad Fatchan S.Kom., M.Kom. Selaku Pembimbing I

Skripsi yang telah banyak memberika saran dan bimbingan dalam proses

pembuatan project aplikasi untuk Skripsi ini.

5. Bapak Hamzah Muhammad M, S.K.M., M.M Selaku Dosen Pembimbing

II Skripsi yang telah banyak memberikan saran dan bimbingan dalam

proses penulisan Skripsi ini.

6. Seluruh Dosen Teknik Informatika Universitas Pelita Bangsa.

7. Bapak Susanto Santoso Selaku Pemilik CV. Multi Citra Kimia.

8. Muhammad Irfansyah sebagai penasehat dalam membuat aplikasi.

vii

9. Orang tua dan keluarga besar yang selalu memberikan do’a, dukungan

dan semangat yang tinggi untuk dapat menyelesaikan penulisan Skripsi

ini.

10. Teman-teman yang selalu memberikan dorongan dan selalu memberikan

motivasi bagi penulis yang menyelesaikan penulisan Skripsi ini.

11. Seluruh pihak yang belum disebutka diatas, karena begitu banyak nya

bantuan, kesabaran, dan gagasan-gagasan yang diberikan kepada penulis,

sehingga penulis Skripsi ini lebih berjalan dengan mudah dan lancar.

Penulis juga menyadari bahwa penulisan Skripsi ini masih terdapat banyak

kelemahan dan kekurangannya. Maka dari itu, penulis akan dengan senang hati

menerima segala saran dan kritik yang ditunjukan untuk menyempurnakan adanya

Skrpsi ini. Akhir kata, semoga Penulisan Skripsi ini bermanfaat bagi rekan-rekan dan

semua pihak yang membutuhkan.

Bekasi, 1 Oktober 2019

Kemas Aulia Haldi

viii

ABSTRAK

Di zaman teknologi komputerisasi di perusahaan perdagangan barang yang

berskala kecil ataupun menengah di Indonesia masih banyak yang belum digunakan.

Seperti pada toko kimia bernama CV. Multi Citra Kimia masih belum menggunakan

teknologi komputer. Disana masih menggunakan cara manual dalam melakukan

pendataan transaksi karena masih menggunakan sistem buku untuk mencatat transaksi

pembelian dan penjualan, dan perhitungan pendapatan dan pengeluaran terkadang

masih keliru. Aplikasi point of sale ini akan dirancang dengan menggunakan metode

prototyping dan menggunakan PHP dan MySQLi karena menghemat waktu.

Tujuannya adalah agar CV. Multi Citra Kimia dapat melakukan semua pendataan

transaksi penjualan dan pembelian tanpa harus tulis tangan dibuku serta dapat melihat

stok barang langsung di aplikasi. Hasil dari penelitian ini adalah aplikasi Point of Sale

yang berbasis web dapat mendokumentasikan dan menghasilkan laporan secara detail

mengenai hal-hal yang berkaitan dengan proses jual–beli dan transaksi yang dilakukan

oleh pihak customer dan gudang sehingga mempermudah aktivitas serta dapat

mengakomodasi aktivitas jual-beli dan lebih cepat dan efisien. Kesimpulannya adalah

dengan aplikasi Point of Sale di CV. Multi Citra Kimia dapat menghemat waktu dalam

melakukan pendataan barang, transaksi penjualan dan pembelian, calon customer dapat

melihat stok barang sebelum membeli barang, dan sebagai penghitung pengeluaran dan

pendapatan secara otomatis.

Kata Kunci : CV. Multi Citra Kimia, Aplikasi Point Of Sale, Metode Prototyping,

PHP, MySQLi.

ix

ABSTRACT

In the age of computerized technology in small and medium scale goods trading

companies in Indonesia, there were still many that had not been used. As in the

chemical shop called CV. Multi Citra Kimia still doesn't use computer technology.

There is still using the manual method of conducting transaction data collection

because it still uses the book system to record purchases and sales transactions, and

the calculation of income and expenses is sometimes still wrong. This point of sale

application will be designed using prototyping method and using PHP and MySQLi

because it saves time. The aim is that CV. Multi Citra Kimia can do all the data

collection of sales and purchases without having to hand write a book and can see the

stock of goods directly in the application. The results of this study are the web-based

Point of Sale application that can document and produce detailed reports on matters

relating to the buying and selling process and transactions carried out by customers

and warehouses so as to facilitate activities and be able to accommodate buying and

selling activities and faster and efficient. The conclusion is with the Point of Sale

application in CV. Multi Citra Kimia can save time in data collection of goods, sales

and purchase transactions, prospective customers can see the stock of goods before

buying goods, and as a count of expenditure and income automatically.

Keywords: CV. Multi Citra Kimia, Point Of Sale Application, Prototyping Method,

PHP, MySQLi.

x

DAFTAR ISI

HALAMAN PERSETUJUAN .................................................... Error! Bookmark not defined.

HALAMAN PENGESAHAN................................................................................................... ii

PERNYATAAN KEASLIAN SKRIPSI ..................................... Error! Bookmark not defined.

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK

KEPENTINGAN AKADEMIS .................................................. Error! Bookmark not defined.

UCAPAN TERIMAKASIH ...................................................................................................... vi

DAFTAR ISI ..............................................................................................................................x

DAFTAR TABEL .................................................................................................................... xv

DAFTAR GAMBAR ............................................................................................................. xvii

DAFTAR LAMPIRAN ......................................................................................................... xviii

BAB I ........................................................................................................................................ 1

PENDAHULUAN .................................................................................................................... 1

1.1 Latar Belakang Masalah ................................................................................................. 1

1.2 Identifikasi Masalah ........................................................................................................ 3

1.3 Rumusan Masalah ........................................................................................................... 4

1.4 Batasan Masalah ............................................................................................................. 4

1.5 Tujuan Dan Manfaat ....................................................................................................... 5

1.5.1 Tujuan ...................................................................................................................... 5

1.5.2 Manfaat .................................................................................................................... 5

1.6 Sistematika Penulisan ..................................................................................................... 6

BAB II ....................................................................................................................................... 8

TINJAUAN PUSTAKA ........................................................................................................... 8

2.1 Tinjauan Penelitian ......................................................................................................... 8

2.2 Landasan Teori .............................................................................................................. 12

2.2.1 Pengertian Sistem Informasi .................................................................................. 12

2.2.2 Pengertian Point Of Sale (POS) ............................................................................. 13

2.2.3 PHP ........................................................................................................................ 13

2.2.4 XAMPP .................................................................................................................. 14

xi

2.2.5 Pengertian MySQL ................................................................................................ 14

2.2.6 Pengertian Pejualan ................................................................................................ 14

2.2.7 Metode Prototyping................................................................................................ 15

2.2.7.1 Tahapan Metode Prototype ............................................................................. 15

2.2.7.2 Pengumpulan Kebutuhan ................................................................................ 16

2.2.7.3 Membangun Prototype .................................................................................... 16

2.2.7.4 Evaluasi Prototype .......................................................................................... 16

2.2.7.5 Mengkodekan Sistem ...................................................................................... 16

2.2.7.6 Menguji Sistem ............................................................................................... 16

2.2.7.7 Evaluasi Sistem ............................................................................................... 17

2.2.7.8 Menggunakan Sistem ...................................................................................... 17

2.2.7.9 Kelebihan Metode Prototype .......................................................................... 17

2.2.7.10 Kelemahan Metode Prototype ..................................................................... 17

2.2.8 Diagram UML (Unified Modelling Language) ............................................... 18

2.2.8.1 Usecase Diagram............................................................................................. 19

2.2.8.2 Activity Diagram............................................................................................. 21

2.2.8.3 Sequence Diagram .......................................................................................... 22

2.2.8.4 Class Diagram ................................................................................................. 24

2.2.8.5 User Interface (UI) .......................................................................................... 25

2.2.9 Database .......................................................................................................... 26

2.2.10 Cascading Style Sheets ................................................................................... 27

2.2.11 HTML ............................................................................................................. 27

2.2.12 Website ........................................................................................................... 27

2.2.13 Web Server ...................................................................................................... 27

BAB III ................................................................................................................................... 28

METODE PENELITIAN ........................................................................................................ 28

3.1 Objek Penelitian ............................................................................................................ 28

3.1.1 Sejarah .................................................................................................................... 28

3.1.2 Visi CV. Multi Citra Kimia .................................................................................... 28

3.1.4 Misi CV. Multi Citra Kimia ................................................................................... 29

xii

3.2 Jenis Pengumpulan Data .............................................................................................. 29

3.3 Metode Pengumpulan Data ........................................................................................... 30

3.4 Teknik Analisis Data ..................................................................................................... 31

3.5 Analisa Sistem yang Berjalan ................................................................................. 33

3.6 Membuat Database di MySQLi(XAMPP) .................................................................... 34

3.7 Sistem Yang Diusulkan Untuk CV. Multi Citra Kimia ................................................ 36

3.7.1 Gambaran Sistem ............................................................................................ 37

3.7.2 Use Case Diagram Sistem Yang Diusulkan .................................................... 38

3.7.3 Activity Diagram (Login) ............................................................................... 41

3.7.4 Activity Diagram (Pembeli Memesan Barang) ............................................... 43

3.7.5 Activity Diagram (Pegawai Toko Menerima Pesanan Barang) ...................... 45

3.7.6 Activity Diagram(Transaksi) .......................................................................... 47

3.7.7 Activity Diagram (Transaksi Pembelian Stok Barang) ................................... 49

3.7.8 Activity Diagram (Input Data Barang) ........................................................... 51

3.7.9 Activity Diagram (Edit Data Barang) ............................................................. 53

3.7.10 Activity Diagram (Membuat Laporan) ........................................................... 55

3.7.11 Activity Diagram (Melihat Laporan) .............................................................. 57

3.7.12 Activity Diagram (Logout) ............................................................................. 59

3.7.13 Sequence Diagram (Login) ............................................................................. 60

3.7.14 Sequence Diagram (Pembeli Memesan Barang) ............................................. 62

3.7.15 Sequence Diagram (Pegawai Toko Menerima Pesanan) ................................ 65

3.7.16 Sequence Diagram (Transaksi) ....................................................................... 68

3.7.17 Sequence Diagram (Transaksi Pembelian Stok Barang) ................................ 70

3.7.18 Sequence Diagram (Input Data Barang) ......................................................... 72

3.7.19 Sequence Diagram (Edit Data Barang) ........................................................... 74

3.7.20 Sequence Diagram (Membuat Laporan) ......................................................... 76

3.7.21 Sequence Diagram (Melihat Laporan) ............................................................ 78

3.7.22 Sequence Diagram (Logout) ........................................................................... 79

3.7.23 Class Diagram Aplikasi Point Of Sale ............................................................ 80

3.7.24 User Interface Login ....................................................................................... 81

xiii

3.7.25 User Interface Dashboard Utama (Pemilik Toko) .......................................... 82

3.7.26 User Interface Dashboard Utama (Pegawai Toko) ......................................... 83

3.7.27 User Interface Dashboard Utama (Admin Gudang) ........................................ 84

3.7.28 User Interface Tabel Nama Barang ................................................................. 85

3.7.29 User Interface Tabel Karyawan ...................................................................... 86

3.7.30 User Interface Tabel Nama Pelanggan ............................................................ 87

3.7.31 User Interface Penjualan ................................................................................. 88

3.7.32 User Interface Pembelian ................................................................................ 89

3.7.33 User Interface Tambah Barang (Input Data Barang) ...................................... 90

3.7.34 User Interface Tambah Data Karyawan .......................................................... 91

3.7.35 User Interface Tambah Data Pelanggan .......................................................... 92

3.7.36 User Interface Tabel Supplier ......................................................................... 93

3.7.37 User Interface Tambah Data Supplier ............................................................. 94

3.7.38 User Interface Laporan .................................................................................... 95

3.7.39 User Interface Laporan Penjualan ................................................................... 96

3.7.40 User Interface Laporan Pembelian .................................................................. 97

3.8 Pengujian................................................................................................................. 97

3.8.1 Rencana Pengujian .......................................................................................... 98

BAB IV ................................................................................................................................... 98

HASIL DAN PEMBAHASAN ............................................................................................... 98

4.1 Hasil ........................................................................................................................ 98

4.1.1 Spesifikasi Sistem ........................................................................................... 98

4.1.2 Implementasi Tampilan Sistem ....................................................................... 99

4.1.3 Hasil Pengujian ............................................................................................. 116

4.2 Pembahasan Hasil Pengujian ................................................................................ 122

BAB V .................................................................................................................................. 124

PENUTUP ............................................................................................................................ 124

5.1 Kesimpulan ........................................................................................................... 124

5.2 Saran ..................................................................................................................... 124

DAFTAR PUSTAKA ........................................................................................................... 126

xiv

LAMPIRAN .......................................................................................................................... 128

xv

DAFTAR TABEL

Tabel 1 (Usecase Diagram)..........................................................................................19

Tabel 2 (Activity Diagram)..........................................................................................21

Tabel 3 (Sequence Diagram)........................................................................................23

Tabel 4 (Class Diagram)..............................................................................................25

Tabel 5 (Pengujian Black Box)..................................................................................116

xvi

DAFTAR GAMBAR

Gambar 2.1 Alur Metode Prototyping..........................................................................18

Gambar 3.1 Activity Diagram Sistem Yang Berjalan..................................................33

Gambar 3.2 Database Untuk Aplikasi Point Of Sale di MySQLi................................35

Gambar 3.3 Database Barang Untuk Aplikasi Point Of Sale Di MySQLi...................35

Gambar 3.4 Usecase Diagram Sistem Yang Diusulkan...............................................38

Gambar 3.5 Activity Diagram (Login) Sistem Yang Diusulkan..................................41

Gambar 3.6 Activity Diagram (Pembeli Memesan Barang)........................................43

Gambar 3.7 Activity Diagram (Pegawai Toko Menerima Pesanan Barang)...............45

Gambar 3.8 Activity Diagram (Transaksi)...................................................................47

Gambar 3.9 Activity Diagram (Transaksi Pembelian Stok Barang).............................49

Gambar 3.10 Activity Diagram (Input Data Barang)...................................................51

Gambar 3.11 Activity Diagram (Edit Data Barang).....................................................53

Gambar 3.12 Activity Diagram (Membuat Laporan)...................................................55

Gambar 3.13 Activity Diagram (Melihat Laporan)......................................................57

Gambar 3.14 Activity Diagram (Logout).....................................................................59

Gambar 3.15 Sequence Diagram (Login)....................................................................60

Gambar 3.16 Sequence Diagram (Pembeli Memesan Barang)...................................62

Gambar 3.17 Sequence Diagram (Pegawai Toko Menerima Pesanan).......................65

Gambar 3.18 Sequence Diagram (Transaksi)..............................................................68

Gambar 3.19 Sequence Diagram (Transaksi Pembelian Stok Barang).......................70

Gambar 3.20 Sequence Diagram (Input Data Barang)................................................72

Gambar 3.21 Sequence Diagram (Edit Data Barang)..................................................74

Gambar 3.22 Sequence Diagram (Membuat Laporan)................................................76

Gambar 3.23 Sequence Diagram (Melihat Laporan)...................................................78

xvii

Gambar 3.24 Sequence Diagram (Logout)..................................................................79

Gambar 3.25 Class Diagram Aplikasi Point Of Sale...................................................80

Gambar 3.26 User Interface Login..............................................................................81

Gambar 3.27 User Interface Dashboard Utama (Pemilik Toko).................................82

Gambar 3.28 User Interface Dashboard Utama (Pegawai Toko)................................83

Gambar 3.29 User Interface Dashboard Utama (Admin Gudang)..............................84

Gambar 3.30 User Interface Tabel Nama Barang.......................................................85

Gambar 3.31 User Interface Tabel Karyawan........................... .................................86

Gambar 3.32 User Interface Tabel Nama Pelanggan..................................................87

Gambar 3.33 User Interface Penjualan........................................................................88

Gambar 3.34 User Interface Pembelian.......................................................................89

Gambar 3.35 User Interface Tambah Barang (Input Data Barang).............................90

Gambar 3.36 User Interface Tambah Data Karyawan.................................................91

Gambar 3.37 User Interface Tambah Data Pelanggan..................................................92

Gambar 3.38 User Interface Tabel Supplier.................................................................93

Gambar 3.39 User Interface Tambah Data Supplier....................................................94

Gambar 3.40 User Interface Laporan...........................................................................95

Gambar 3.41 User Interface Laporan Penjualan..........................................................96

Gambar 3.42 User Interface Laporan Pembelian.........................................................97

xviii

DAFTAR LAMPIRAN

1. Wawancara Penelitian ............................................................................................... 128

2. Source Code Login ................................................................................................... 132

3. Source Code Menu Utama/Dashboard Utama .......................................................... 135

4. Source Code Barang ................................................................................................. 151

5. Source Code Edit Data Barang ................................................................................. 152

6. Source Code Tambah Barang ................................................................................... 155

7. Source Code Hapus Data Barang .............................................................................. 158

8. Source Code Penjualan ............................................................................................. 158

9. Source Code Struk .................................................................................................... 166

10. Source Code tambah penjualan ................................................................................. 169

11. Source Code Kurang (Diskon Harga) ....................................................................... 169

12. Source Code Hapus ................................................................................................... 170

13. Source Code Supplier ................................................................................................ 170

14. Source Code Tambah Supplier .................................................................................. 171

15. Source Code Hapus Supplier ..................................................................................... 172

16. Source Code Beranda ................................................................................................ 173

17. Source Code Pembelian ............................................................................................ 182

18. Source code struk pembelian ..................................................................................... 189

19. Source Code Tambah Pembelian .............................................................................. 192

20. Source Code Layout Karyawan ................................................................................. 193

21. Source Code Tambah Data Karyawan ...................................................................... 195

22. Source Code Edit Data Karyawan ............................................................................. 197

23. Source Code Hapus Data Karyawan ......................................................................... 199

24. Source Code Pemesanan ........................................................................................... 200

25. Source Code Satuan Barang ...................................................................................... 203

26. Source Code Tambah Satuan .................................................................................... 204

27. Source Code Edit Satuan ........................................................................................... 205

xix

28. Source Code Hapus Satuan ....................................................................................... 207

29. Source Code Laporan ................................................................................................ 207

30. Source Code Laporan Penjualan ............................................................................... 210

31. Source Code Laporan Pembelian .............................................................................. 213

32. Source Code Riwayat Penjualan ............................................................................... 215

33. Source Code Riyawat Pembelian .............................................................................. 217

34. Source Code Detail Penjualan ................................................................................... 218

35. Source Code Detail Pembelian .................................................................................. 226

36. Source Code Cetak 1 (Penjualan) .............................................................................. 233

37. Source Code Cetak 2 (Pembelian) ............................................................................ 239

38. Source Code Pengaturan Point Of Sale ..................................................................... 241

39. Source Code Logout Aplikasi ................................................................................... 241

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Seperti yang kita lihat dewasa ini, banyak sekali perubahan yang terjadi di

bidang komunikasi. Dimulai dari bentuk komunikasi yang sederhana sampai pada

komunikasi elektronik. Perubahan yang cepat terutama pada abad 20 ini oleh sejumlah

ahli dikatakan sebagai revolusi komunikasi. Ilmu pengetahuan yang selama ini kita

pelajari selalu mengalami perubahan dan perkembangan yang tidak mendadak [1].

Teknologi informasi merupakan satu dari sekian banyak hal yang dibutuhkan dalam

perkembangan bisnis di dunia tanpa terkecuali Indonesia, bahkan kita dapat

menyebutnya sebagai faktor pokok bagi perkembangan dunia bisnis saat ini.

Di mana-mana sudah menggunakan TI dalam memproses kegiatan bisnisnya.

Hal itu jelas saja karena TI memberikan kemudahan bagi para pebisnis untuk

melakukan kegiatan bisnisnya [2]. Pada zaman sekarang masih banyak yang

menggunakan komputer karena dapat digunakan sebagai media pengolahan data .

Menurut Jogiyanto H.M. (2013:34), bahwa Sistem (System) dapat didefinisikan dengan

pendekatan prosedur dan dengan pendekatan komponen [3]. Dengan pendekatan

prosedur, sistem dapat didefinisikan sebagai kumpulan dari prosedur-prosedur yang

mempunyai tujuan tertentu . Dengan pendekatan komponen, sistem dapat didefinisikan

sebagai kumpulan dari komponen yang saling berhubungan satu dengan yang lainnya

membentuk satu kesatuan untuk mencapai tujuan tertentu [3].

Ternyata di Indonesia masih ada beberapa perusahaan atau industri yang belum

terkomputerisasi. Perkembangan industri yang semakin pesat tentunya akan membawa

implikasi pada persaingan antar unit usaha, sehingga sebuah UKM harus dapat

bersaing dengan jenis kegiatan usaha lain agar tidak tersingkir dari persaingan.

Berdasarkan survei yang dilakukan oleh BPS dan Kantor Menteri Negara untuk

2

Koperasi dan Usaha Kecil dan Menengah (Menegkop & UKM), usaha-usaha kecil

termasuk usaha-usaha rumah tangga atau mikro (yaitu usaha dengan jumlah total

penjualan (turn over) setahun yang kurang dari Rp 1 miliar), pada tahun 2000 meliputi

99,9 persen dari total usaha-usaha yang bergerak di Indonesia [4].

Teknologi komputerisasi di perusahaan perdagangan barang yang berskala kecil

ataupun menengah di Indonesia masih banyak yang belum digunakan contohnya

aplikasi point of sale padahal itu sangat penting dan lebih praktis dibandingkan masih

menggunakan sistem manual.

Seperti pada sebuah toko kimia bernama CV. Multi Citra Kimia masih belum

menggunakan teknologi komputer. Disana masih menggunakan cara-cara manual

dalam melakukan pendataan transaksi. Dikatakan pendataan yang dilakukan masih

manual karena masih menggunakan sistem buku NOTA/catatan untuk mencatat

transaksi pembelian dan penjualan, penyimpanan buku-buku data masih menggunakan

rak yang belum tertata terlalu rapi, terkadang tidak mengetahui stok barang sisa hari

ini sehingga sering terjadi saat pembeli ingin membeli barang, ternyata sudah habis

semua, dan perhitungan pendapatan dan pengeluaran terkadang masih keliru. Itulah

kelemahan sistem manual yang masih terjadi di CV. Multi Citra Kimia dan bahkan

untuk perubahan data atau pencarian data tertentu seperti data penjualan masih kurang

cepat bila dibandingkan dengan menggunakan komputer.

Karena teknologi komputer dalam perdagangan barang dan dalam pengolahan

data penjualan di toko kimia CV. Multi Citra Kimia tersebut masih belum digunakan,

maka sistem yang terkomputerisasi harus dilakukan dan juga dibutuhkan sebuah sistem

aplikasi yang bisa membantu dalam melakukan pengolahan data yang cepat terutama

data penjualan di toko tersebut dan juga dapat melakukan perubahan atau melakukan

pembaharuan data yang up to date tanpa harus lelah menghapus data seperti di buku

catatan. Salah satu bentuk pengolahan data informasi penjualan dengan berbasis

komputerisasi yaitu sebuah aplikasi yang berbasis dekstop ataupun berbasis Web.

Aplikasi berbasis web pada saat ini sudah sangat dibutuhkan dan sejajar dengan

aplikasi-aplikasi berbasis android. Aplikasi berbasis web sangat mudah dan lebih baik

3

dari aplikasi desktop dan bisa dibuka oleh siapa saja.

Berdasarkan latar belakang masalah tersebut, maka dibuatlah aplikasi untuk

melakukan pendataan penjualan dan perhitungan laba dengan menggunakan PHP dan

MySQLi, agar dapat menjadi media pendataan data penjualan yang menampilkan

rincian seperti nama pelanggan, nama barang, nama pegawai, pendapatan, pengeluaran

dan lain-lain, dapat disimpan langsung ke database sehingga dapat menggantikan

sistem basis data yang ada namun sudah menggunakan aplikasi yaitu Aplikasi Point Of

Sale agar data baik yang disimpan maupun ditampilkan dapat terintegritas serta

mempercepat pengolahan data dapat mengurangi tingkat kesalahan penulisan saat

pendataan barang penjualan.

Oleh karena itu, pada penulisan tugas akhir (Skripsi) ini juga akan membuat suatu

aplikasi yang akan memanfaatkan aplikasi software bernama PHP dan menggunakan

pembuatan databases MySQLi untuk menampilkan informasi dan memperbarui data

mengenai stock yang ada di CV. Multi Citra Kimia dan juga dapat dibuka oleh calon

pembeli sehingga pembeli bisa mengetahui stock barang yang ingin dibeli dan bisa

merequest barang yang ingin dipesan. Berdasarkan hal dan alasan yang telah dijelaskan

diatas, maka judul yang diajukan pada penulisan laporan kuliah kerja praktek ini adalah

“Perancangan Aplikasi Point Of Sale (POS) Berbasis Web dengan PHP dan MySQLi”

1.2 Identifikasi Masalah

Dari latar belakang diatas yang sudah ditulis, saya memberikan suatu

identifikasi masalah yaitu sebagai berikut:

a. Penyimpanan data penjualan di CV. Multi Citra Kimia masih menggunakan

cara yang konvensional/manual.

b. Masih menggunakan teknik manual seperti menggunakan buku catatan.

c. Masih belum mempunyai aplikasi penjualan/point of sale untuk mendata

penjualan pada toko kimia CV. Multi Citra Kimia.

4

d. Karena yang mengetahui stok barang adalah pegawai toko dan pemilik

toko, tidak jarang saat customer ingin memesan barang, barang telah habis

atau stock kurang.

e. Perhitungan pendapatan dan pengeluaran terkadang mengalami kesalahan.

1.3 Rumusan Masalah

Berdasarkan identifikasi masalah yang telah dipaparkan terlebih dahulu, maka

rumusan sebagai berikut :

1. Bagaimana cara membuat sistem aplikasi untuk memudahkan dalam pendataan

barang?

2. Bagaimana cara membuat sistem aplikasi untuk mengetahui stok barang sisa

tanpa harus menghitung satu persatu di gudang?

3. Bagaimana cara membuat aplikasi yang dapat menghitung neraca keuangan

secara cepat dan otomatis untuk CV. Multi Citra Kimia?

1.4 Batasan Masalah

Dari rumusan masalah dan identifikasi masalah maka penelitian ini dibatasi

hanya untuk membahas tentang Pembuatan Aplikasi Point Of Sale berbasis web

dengan menggunakan PHP, dan MySQLi untuk CV. Multi Citra Kimia agar

penyimpanan data-data penjualan bisa terkomputerisasi, bisa untuk melakukan

perbandingan penjualan produk dan untuk mengetahui jumlah stok yang ada pada CV.

Multi Citra Kimia dan itu juga bisa dibuka oleh calon pembeli sebelum membeli barang

di CV. Multi Citra Kimia dan juga bisa merequest barang dan dapat dengan benar

mengetahui jumlah pendapatan dan pengeluaran dengan benar. Menggunakan satu

aplikasi untuk beberapa kegunaan dan sangat efisien.

5

1.5 Tujuan Dan Manfaat

1.5.1 Tujuan

Tujuan yang ingin dicapai dari pelaksanaan dan penulisan tugas akhir ini adalah

untuk membuat Aplikasi Point Of Sale untuk CV. Multi Citra Kimia agar semua data-

data penjualan bisa terkomputerisasi, mengetahui stok barang dan dapat melakukan

perbadingan item-item yang dijual serta membuat laporan penjualan yang rapi dan

detail.

1.5.2 Manfaat

Adapun beberapa manfaat yang diharapkan pada pembuatan tugas akhir ini

adalah:

1. Bagi Penulis

Penulis dapat lebih mengetahui cara menerapkan ilmu-ilmu yang

telah dipelajari selama ini dalam mempelajari cara bagaimana membuat

sebuah aplikasi Point Of Sale berbasis web serta sebagai syarat dalam

memperoleh gelar Sarjana Komputer. Juga sebagai kontribusi pemikiran

dalam pemikiran dalam memberikan solusi yang efektif untuk

Akademik.

2. Bagi CV. Multi Citra Kimia

Diharapkan dengan adanya aplikasi Point Of Sale untuk CV.

Multi Citra Kimia, bisa membantu untuk menyimpan data-data

penjualan, membuat data laporan yang lebih rapi dan detail, serta dapat

membuat calon pembeli juga dapat mengetahui stok barang disana dan

juga bisa merequest barang agar bisa terus membuat pembeli bisa tetap

senang akan pelayanan di CV. Multi Citra Kimia.

6

1.6 Sistematika Penulisan

BAB I : PENDAHULUAN

Bab ini menguraikan tentang latar belakang masalah, rumusan

masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode

penelitian, dan sistematika penulisan.

BAB II : TINJAUAN PUSTAKA

Bab ini berisi teori-teori yan digunakan untuk memahami

permasalahan yang dibahas pada penelitian ini. Pada bab ini dijelaskan

tentang Aplikasi Point Of Sale/Aplikasi Penjualan berbasis Web dengan

menggunakan PHP dan MySQLi.

BAB III : METODE PENELITIAN

Bab ini menjelaskan tentang objek subjek penelitian dan

pengumpulan data. Merupakan inti pembahasan membuat aplikasi point

of sale berbasis web menggunakan php dan MySQLi untuk CV. Multi

Citra Kimia

BAB IV : HASIL DAN PEMBAHASAN

Menjelaskan dan menampilkan hasil dari pembuatan aplikasi

dan mengujinya yaitu Aplikasi Point Of Sale Berbasis Web untuk CV.

Multi Citra Kimia.

7

BAB V : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang diambil dari penelitian ini dan

saran-saran yang ditunjukan untuk penelitian berikutnya yang akan

datang.

8

BAB II

TINJAUAN PUSTAKA

2.1 Tinjauan Penelitian

Beberapa penelitian mengenai Aplikasi Point Of Sale berbasis web atau pun yang

mendekati penelitian tersebut.

1. Implementasi Pembuatan Sistem Informasi Penjualan Berbasis Web

(Ikhtiar Rizki & Raden Arum Setia, 2014) [5]. Pada tahap implementasi

sistem informasi dilakukan realisasi terhadap perancangan yang telah

dibuat sebelumnya. Tahap implementasi ini menghasikan sistem

informasi yang mampu mengelola transaksi penjualan secara online

melalui website Toko online Ali Computer dan di tahap pengujiannya,

dilakukan untuk mengetahui tingkat keberhasilan dari masing-masing

bagian yang telah dibuat. Pengujian ini melibatkan beberapa

sukarelawan untuk menguji menu dari interface customer, dari menu

registrasi sampai menu konfirmasi pembayaran. Pada bagian menu

interface admin, pengujian ini dilakukan kepada pihak yang

bersangkutan atau bagian yang menangani transaksi tersebut terdiri atas

seorang pegawai yang menangani bagian penjualan, pegawai yang

menangani bagian gudang atau stok barang dan pimpinan Toko Ali

Computer untuk menguji sistem informasi yang telah dibangun.

2. Sistem Informasi Point Of Sales Berbasis Web Pada Colony Amaranta

Bekasi (Catur, Sapto Cahyodi, 2017) [6]. Berdasarkan hasil

pengembangan sistem yang dilakukan maka dapat ditarik kesimpulan

dan saran-saran yang berhubungan dengan pembahasan yang telah

9

dikemukakan pada babbab sebelumnya. Sistem ini dibuat untuk

meningkatkan kinerja dan pelayanan dalam melakukan proses registrasi

customer, proses input data dan proses penjualan, sehingga

mempermudah dalam pembuatan laporan-laporan yang dibutuhkan dan

sekarang telah berbasis intranet sehingga mempermudah pemilik dalam

mengontrol jalannya proses bisnis yang berjalan.

3. Sistem Informasi Penjualan Berbasis Web Pada PT Era Makmur

Cahaya Damai Bekasi (Ferdika M & Kuswara H, 2017) [3]. Dari hasil

pegujian dan kesimpulan, Dengan dibangunnya Sistem Informasi

Penjualan Berbasi Online ini diharapkan dapat membantu perusahaan

dalam meningkatkan pemasaran bukan hanya di wilayah Bekasi saja.

Dengan dibangunanya sistem informasi ini maka semua pengolahan

data dilakukan secara komputerisasi yang dilakukan oleh sistem untuk

memperkecil kesalahan dan lebih aman. Pemesanan produk pada

website ini menghemat waktu dan biaya dibandingkan dengan

pemesanan secara langsung datang ke lokasi, dan pembeli dapat melihat

produk yang dapat langsung dilihat di halaman website ini.

Meningkatkan penjualan dengan promosi secara online sehingga dapat

menghemat segala biaya dan bahan yang dibutuhkan untuk segala

promosi.

4. Sistem Informasi Penjualan Pupuk Berbasis Web pada PT. Sri Aneka

Karyatama (Asfinoza & Puspasari, Shinta 2018) [7]. Dari Hasil dan

Implementasi yang disajikan dalam bentuk gambar yang dibuat dengan

Tools Dreamweaver dan MySQL sebagai Database. Dan berdasarkan

hasil penelitian, telah diambil beberapa kesimpulan yaitu Sistem

Informasi Penjualan Pupuk Berbasis Web pada PT. Sri Aneka

Karyatama, proses penjualan dan pegolahan data barang berjalan

dengan baik dan terhubung dengan database, dan Sistem Informasi

Penjualan Pupuk Berbasis Web pada PT. Sri Aneka Karyatama

10

diimplementasikan dalam bentuk website sehingga membantu

pelanggan untuk melakukan proses pembelian pupuk saat tidak bisa

datang ke lokasi.

5. Perancangan Aplikasi Point Of Sales (POS) Berbasis Web

Menggunakan Metode Siklus Hidup Pengembangan Sistem (Yuarita

Grawidi Titania & Marisa Fitri, 2017) [8]. Hasil dari studi ini adalah

Aplikasi Point of Sale yang dibangun ini adalah dari hasil survey yang

dilakukan pada perusahaan yang sedang berkembang dan dalam

melakukan transaksi masih menggunakan cara yang manual. Sehingga

sering kali terjadi kesalahan dan kehilangan faktur pembelian dan

penjualan. Aplikasi yang dibuat ini digunakan untuk meminimalisir

terjadinya kesalahan dan kehilangan faktur pembelian dan penjualan,

meyimpan data dengan lengkap, dan memudahkan pengelola untuk

melakukan transaksi pengecekan stok roti, harga produksi, data

penjualan, data pembelian dan pengecekan rugi dan laba perusahaan.

6. Sistem Informasi Penjualan Berbasis Web Pada PT. Mustika Jati

(Ramadhan Farhan, & Purwandari Nuraini, 2017) [9]. Pengujian sistem

merupakan bagian penting dari implementasi sebuah sistem. Pada tahap

ini peneliti melakukan pengujian Sistem Informasi Penjualan PT.

Mustika Jati dengan menggunakan metode black box. Pengujian

dilakukan terhadap fungsi-fungsi yang terlibat dalam sistem sehingga

dapat menghasilkan output yang telah diintegrasikan. Pengujian black

box testing dilakukan untuk mencari kesalahan yang terjadi pada sistem

sehingga peneliti dapat memperbaiki kesalahan tersebut. Dan

kesimpulannya yaitu penelitian ini menghasilkan Sistem Informasi

Penjualan berbasis web yang berguna sebagai alat bantu perusahaan

untuk mencatat, menyimpan, mengolah, dan mengintegrasi data di PT.

Mustika Jati. Sistem yang dibangun mampu memberikan informasi

lengkap mengenai penjualan, stok barang, dan pelanggan. Sehingga

11

sistem yang telah dibangun menjadi sebuah alat bantu perusahaan dalam

melakukan kegiatan penjualan. Fungsi dari sistem dapat berkerja sesuai

kebutuhan berdasarkan pengujian yang telah dilakukan oleh pengguna

melalui metode black box testing. Berdasarkan hasil pengujian dan

implementasi, dapat disimpulkan bahwa Sistem Informasi Penjualan

pada PT. Mustika Jati dapat diterima dengan baik dan memenuhi

kebutuhan perusahaan.

7. Sistem Informasi Penjualan Kawat Berbasis Web Pada CV. Givro Multi

Teknik (Abdussomad, 2016) [10]. Tujuan penelitian ini adalah Web ini

memudahkan para konsumen CV. Givro Multi Teknik untuk

mendapatkan informasi mengenai produk, harga dan pemesanan produk

secara online tanpa harus datang langsung ke toko. Sehingga pelayanan

terhadap konsumen menjadi lebih baik dan lebih mudah. Dengan

adanya web ini CV. Givro Multi Teknik menjadi lebih mudah dalam

memberikan informasi produk, harga kepada konsumen dan pemesanan

produk dengan lebih efektif. Sehingga dapat menghemat biaya promosi

dan meningkatkan omset penjualan. Saat ini dengan adanya web, CV.

Givro Multi Teknik dapat bersaing dengan toko lain yang sudah

menerapkan e-commerce terlebih dahulu dalam memasarkan produk

dan mencari konsumen. Sehingga target untuk meningkatkan daya

saing dan meningkatkan omset penjualan dapat tercapai.

8. Analisa Dan Perancangan Aplikasi Point Of Sale (POS) Untuk

Mendukung Manajemen Hubungan Pelanggan (Permana HDS & Faisal

2017) [11]. Tujuan dari Rancangan aplikasi point of sales (POS) ini

mampu mengatasi permasalahan dan dapat menyajikan informasi

secara lebih baik dan terkomputerisasi. Dengan diterapkannya aplikasi

point of sales (POS) ini dapat membantu tugas-tugas pihak-pihak terkait

atau seluruh stakeholder yang berhubungan langsung dengan aplikasi

POS ini. Aplikasi POS ini didesain dengan antar muka interaktif

12

sehingga baik administasi maupun pemilik dapat langsung

menggunakan aplikasi POS ini dengan sebaik-baiknya.

Dari semua penelitian-penelitian dari berbagai jurnal yang digunakan terbukti

kalau Aplikasi Point Of Sale (POS) atau Aplikasi Penjualan sangat bermanfaat untuk

toko-toko karena dapat membantu dalam penyimpanan data penjualan dan laporan

dengan rapi, mengetahui laba dan pengeluaran yang didapat serta pembeli dapat juga

melihat stok barang terkini. Di jurnal pendukung yang digunakan juga menjelaskan

sedikit kalau aplikasi Penjualan/POS yang berbasis web ini lebih baik daripada aplikasi

yang berbasis desktop. Ini dari itu penulis ingin membuat aplikasi point of sale berbasis

web untuk CV. Multi Citra Kimia agar dapat lebih cepat dalam pencarian data serta

perhitungan pendapatan dan pengeluaran yang tepat dan dapat mengetahui stok secara

benar.

2.2 Landasan Teori

2.2.1 Pengertian Sistem Informasi

Menurut John F. Nash (1995:8) yang diterjemahkan oleh La Midjan dan Azhar

Susanto, menyatakan bahwa Sistem Informasi adalah kombinasi dari manusia, fasilitas

atau alat teknologi, media, prosedur dan pengendalian yang bermaksud menata

jaringan komunikasi yang penting, proses atas transaksi-transaksi tertentu dan rutin,

membantu manajemen dan pemakai intern dan ekstern dan menyediakan dasar

pengambilan keputusan yang tepat [12]. Dari pengertian sitem informasi di atas, dapat

disimpulkan bahwa Sistem Informasi menyediakan informasi untuk membantu

pengambilan keputusan manajemen, dan informasi yang layak. Selain itu pengertian

sistem informasi menurut Rommey (1997:16) yang dialih bahasakan oleh Krismiaji

(2002;12) adalah Sistem Informasi adalah cara-cara yang diorganisasi untuk

mengumpulakn, memasukkan, mengolah, dan menyimpan data dan cara-cara yang

diorganisasi untuk menyimpan, mengelola, mengendalikan dan melaporkan informasi

13

sedemikian rupa sehingga sebuah organisasi dapat mencapai tujuan yang telah

ditetapkan [6].

2.2.2 Pengertian Point Of Sale (POS)

Point Of Sale (POS) yaitu merupakan kegiatan yang berorientasi pada

penjualan serta sistem yang membantu proses transaksi. Setiap POS terdiri dari

hardware berupa (Terminal/PC, Receipt Printer, Cash Drawer, Terminal pembayaran,

Barcode Scanner) dan software berupa (Inventory Management, Pelaporan,

Purchasing, Customer Management, Standar Keamanan Transaksi, Return

Processing) dimana kedua komponen tersebut digunakan untuk setiap proses transaksi.

Point Of Sales (POS) dapat berupa sebuah checkout counters dalam sebuah toko atau

tempat usaha dimana transaksi penjualan terjadi, (Bobby Loardy, 2010) [13]. POS akan

menjadi sangat penting di dunia bisnis karena POS diibaratkan berupa terminal uang

dimana tempat menerima pembayaran dari pembeli kepada pedagang, karena

pembayaran tersebut merupakan indikator bagi pebisnis untuk mengukur tingkat

pendapatan mereka (Axopos, 2015 dalam (Faisal, 2015)) [11].

2.2.3 PHP

Hypertext Preprocessor (PHP) adalah bahasa server side scripting yang

menyatu dengan HTML untuk membuat halaman web yang dinamis menrut M.

Rudyanto Arief PHP banyak dipakai untuk pemrograman situs WEB dinamis. Karena

PHP merupakan server-side scripting maka sintaks dan perintah-perintah PHP akan

dieksekusi di server kemudian hasilnya dikirim ke browser dalam format HTML.

Dengan demikian kode program yang ditulis dalam PHP tidak akan terlihat oleh user

sehingga keamanan halaman web lebih terjamin. PHP dirancang untuk membentuk

sutu tampilan berdasarkan permintaan terkini, seperti menampilkan isi basis data ke

halaman web. (Nugroho, 2006) [7].

14

2.2.4 XAMPP

XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem

operasi, merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server

yang berdiri sendiri (localhost) yang terdiri atas program Apache, HTTP Server,

MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman

PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat sistem operasi

apapun), Apache, MySQL, PHP, dan Perl. Program ini tersedia dalam GNU (General

Public License) dan bebas, merupakan web server yang mudah digunakan yang dapat

melayani tampilan halaman web yang dinamis. Untuk mendapatkannya dapat

mengunduh langsung dari web resminya. (Peter, Jerry: 2007 dalam (Kusuma, 2017))

[8].

2.2.5 Pengertian MySQL

MySQL merupakan software open source yang pada awalnya dikembangkan

pada platform sistem operasi Linux namun kemudian dikembangkan untuk penggunaan

pada platform Windows. Operasi dasar yang dapat dilakukan pada MySQL meliputi

pembuatan (create) database, modifikasi database dan operasi Query (operasi yang

digunakan untuk menampilkan atau mengambil data dari database), (Firdaus, 2006)

[8].

2.2.6 Pengertian Pejualan

Penjualan menurut Basu Swasta (2001:1) di dalam bukunya Manajeman

Penjualan edisi ketiga, “Menjual adalah ilmu dan seni untuk mempengaruhi pribadi

yang dilakukan oleh penjual untuk mengajak orang lain agar bersedia membeli barang

ataupun jasa yang ditawarkan“ [14].

15

2.2.7 Metode Prototyping

Pengertian metode Prototype adalah metode pengembangan yang sangat cepat

dan pengujian model kerja aplikasi baru melalui proses interaksi yang berulang-ulang

sehingga dapat digunakan dengan baik. Pengertian metode prototype dapat mengatasi

permasalahan kesalahpahaman antara user dan analis, permasalahan user tidak mampu

mengidentifikasi secara jelas.

Pengertian lainnya adalah adalah perangkat lunak (software prototyping) atau

siklus hidup menggunakan protoyping (life cycle using prototyping). Pengertian

metode prototype adalah salah satu metode siklus hidup sistem yang didasarkan pada

konsep model bekerja (working model). Adapun tujuan metode protorype adalah

mengembangkan model menjadi sistem final. Sehingga sistem ini akan dikembangkan

dengan cepat dan biayanya menjadi lebih rendah. Menjadi ciri khas metode prototype

ini adalah pengembang sistem, klien, dan pengguna akhir dapat melihat dan melakukan

eksperimen sejak awal proses pengembangan. Ada beberapa metode untuk

mengerjakan prototype. Metode Prototype sering disebut juga desain aplikasi cepat

rapit application design/RAD karena sederhana dan cepat desain sistem (O’Brien,

2005) .

2.2.7.1 Tahapan Metode Prototype

Metode Prototype memiliki beberapa tahap didalamnya. Berikut ini adalah

tahapan-tahapan dari prototype yaitu:

a. Pengumpulan Kebutuhan

b. Membangun Prototype

c. Evaluasi Prototype

d. Mengkodekan Sistem

e. Menguji Sistem

f. Evaluasi Sistem

g. Menggunakan Sistem

16

2.2.7.2 Pengumpulan Kebutuhan

Langkah pertama kali yang harus dilakukan dalam tahapan metode prototype

adalah mengidentifikasi seluruh perangkat dan permasalahan. Tahapan metode

prototype yang sangat penting adalah analisis dan identifikasi kebutuhan garis besar

dari system. Setelah itu akan diketahui langkah apa dan permasalahn yang akan di buat

dan di pecahkan. Pengumpulan kebutuhan sangat penting dalam proses ini.

2.2.7.3 Membangun Prototype

Langkah selanjutnya adalah langkah metode prototype membangun prototipe

yang berfokus pada penyajian pelanggan. Misalkan membuat input dan output hasil

system. Sementara hanya prototype saja dulu selanjutnya aka nada tidak lanjut yang

harus di kerjakaan.

2.2.7.4 Evaluasi Prototype

Sebelum melangkah ke langkah selanjutnya, ini bersifat wajib yaitu memeriksa

langkah 1, dan Karena ini adalah penentu keberhasilan dan proses yang sangat penting.

Ketika langkah 1, dan 2 ada yang kurang atau salah kedepannya akan sulit sekali

melanjutkan langkah selanjutnya.

2.2.7.5 Mengkodekan Sistem

Sebelum pengkodean atau biasaya kita sebut proses koding, perlu kita ketahui

terlebih dahulu pengkodingan menggunakan Bahasa pemograman. Proses ini sangat

sulit, karena mengaplikasikan kebutuhan dalam bentuk kode program.

2.2.7.6 Menguji Sistem

Setelah pengkodean atau pengkodingan tentunya akan di testing. Banyak sekali

cara untuk testing, misalkan menggunakan white box atau black box. Menggunakan

17

white box berarti menguji kodingan sedangkan black box menguji fungus-fungsi

tampilan apakah sudah benar dengan aplikasinya atau tidak.

2.2.7.7 Evaluasi Sistem

Mengevaluasi dari semua langkah yang pernah di lakukan. Sudah sesuai dengan

kebutuhan atau belum. Jika belum atau masih ada revisi maka dapat mengulangi dan

kembali di tahap 1 dan 2.

2.2.7.8 Menggunakan Sistem

System sudah selesai dan siap di serahkan kepada pelanggan, dan jangan lupa

untuk maintenance agar system terjaga dan berfungsi sebagai mana mestinya.

2.2.7.9 Kelebihan Metode Prototype

Metode Prototype memiliki beberapa kelebihan yaitu:

a. Adanya komunikasi yang baik antara pengembang dan pelanggan.

b. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan

pelanggan.

c. Pelanggan berperan aktif dalam pengembangan system.

d. Lebih menghemat waktu dalam pengembangan system.

e. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang

diharapkannya membuat klien mendapat gambaran awal dari prototype

2.2.7.10 Kelemahan Metode Prototype

Metode Prototype juga memiliki beberapa kelemahan yaitu:

a. Pelanggan tidak melihat bahwa perangkat lunak belum mencerminkan

kualitas perangkat lunak secara keseluruhan dan belum memikirkan

peneliharaan dalam jangka waktu yang lama.

b. Pengembang biasanya ingin cepat menyelesaikan proyek sehingga

menggunakan algoritma dan bahasa pemrograman sederhana.

18

c. Hubungan pelanggan dengan komputer mungkin tidak menggambarkan

teknik perancangan yang baik.

Gambar 2.1 Alur Metode Prototype

2.2.8 Diagram UML (Unified Modelling Language)

Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah

menjadi standar dalam industri untuk visualisasi, merancang dan

mendokumentasikan sistem piranti lunak. Menurut Hend (2006:5) “Unified

Modeling Language (UML) adalah bahasa yang telah telah menjadi standard untuk

visualisasi, menetapkan, membangun dan mendokumentasikan artifak suatu sistem

perangkat lunak”.

Menurut Martin Fowler (2005:1) “Unified Modeling Language (UML)

adalah keluarga notasi grafis yang didukunng oleh meta-model 28 tunggal, yang

membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang

dibangun menggunakan pemrograman berorientasi objek”. Dengan UML dapat

dibuat model untuk semua jenis aplikasi piranti lunak, dapat berjalan pada piranti

19

keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman

apapun. UML cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi

objek seperti C++, Java, C# atau VB.NET dapat juga digunakan untuk modeling

aplikasi prosedural dalam VB atau C.

2.2.8.1 Usecase Diagram

Usecase Diagram merupakan pemodelan untuk kelakuan (bevarior) sistem

informasi yang akan dibuat. Usecase digunakan digunakan untuk mengetahui fungsi

apa saja yang ada di dalam sistem informasi dan siapa saja yang berhak menggunakan

fungsi-fungsi tersebut. Simbol yang dalam Usecase Diagram yaitu:

Tabel 1. Usecase Diagram

Gambar Keterangan

UseCase menggambarkan fungsionalitas

yang disediakan sistem sebagai unit-unit

yang bertukar pesan antar unit dengan

aktor, yang dinyatakan dengan

menggunakan kata kerja

Actor atau Aktor adalah Abstraction dari

orang atau sistem yang lain yang

mengaktifkan fungsi dari target sistem.

Untuk mengidentifikasikan aktor, harus

ditentukan pembagian tenaga kerja dan

tugas-tugas yang berkaitan dengan peran

pada konteks target sistem. Orang atau

sistem bisa muncul dalam beberapa

peran. Perlu dicatat bahwa actor

berinteraksi dengan Use Case, tetapi

20

tidak memiliki kontrol terhadap use

case.

Asosiasi antara aktor dan use case,

digambarkan dengan garis tanpa panah

yang mengindikasikan siapa atau apa

yang meminta interaksi secara langsung

dan bukannya mengindikasikan data.

Asosiasi antara aktor dan usecase yang

menggunakan panah terbuka untuk

mengindikasikan bila aktor berinteraksi

secara pasif dengan sistem.

Include, merupakan didalam use case

lain (required) atau pemanggilan use

case oleh use case lain, contohnya adalah

pemanggilan sebuah fungsi program.

<< extends >>

Extend, merupakan perluasan dari use

case lain jika kondisi atau syarat

terpenuhi.

21

2.2.8.2 Activity Diagram

Activity Diagram menyediakan analis dengan kemampuan untuk memodelkan

proses dalam suatu sistem informasi. Activity diagram dapat digunakan untuk alur

kerja model, use case individual, atau logika keputusan yang terkandung dalam

metode individual. Activity diagram juga menyediakan pendekatan untuk proses

pemodelan paralel.

Pada dasarnya, diagram aktivitas canggih dan merupakan diagram aliran data

yang terbaru. Secara teknis, diagram aktivitas menggabungkan ide-ide proses

pemodelan dengan teknik yang berbeda termasuk model acara, statecharts. Simbol-

simbol yang digunakan dalam activity diagram yaitu:

Tabel 2. Activity Diagram

No GAMBAR NAMA KETERANGAN

1 Activity Memperlihatkan

bagaimana masing-masing

kelas saling berinteraksi

satu saama lain

2 Action State dari sistem yang

mencerminkan ekekusi dari

suatu aksi

3 Initial Node Bagaimana Objek dibentuk

atau diawali

22

4 Activity Final

Node

Bagaimana Objek dibentuk

dan diakhiri

5 Decision Digunakan Untuk

Menggambarkan Suatu

Keputusan/tindakan yang

diambil pada kondisi

tertentu

6 Line Connector Digunakan Untuk

Menghubungkan Satu

symbol dengan symbol

lainya

2.2.8.3 Sequence Diagram

Sequence Diagram menjelaskan tentang interaksi objek yang disusun

berdasarkan urutan waktu. Secara mudahnya, Sequence Diagram adalah gambaran-

gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu

sesuai dengan use case diagram. Berikut ini adalah penjelasan mengenai komponen

Sequence Diagram beserta penjelasannya:

23

Tabel 3. Sequence Diagram

Gambar Keterangan

Entity Class merupakan bagian dari

sistem yang berisi kumpulan kelas

berupa entitas-entitas yang membentuk

gambaran awal sistem dan menjadi

landasan untuk menyusun basis data.

Boundary Class, berisi kumpulan kelas

yang menjadi interfaces atau interaksi

antara satu atau lebih actor dengan

sistem, seperti tampilan form entry dan

form cetak.

Control Class, suatu objek yang berisi

logika aplikasi yang tidak memiliki

tanggung jawab kepada entitas,

contohnya adalah kalkulasi dan aturan

bisnis yang melibatkan berbagai objek

Message, simbol mengirim pesan antar

class

24

Recursive, menggambarkan pengiriman

pesan untuk dirinya sendiri

Activation, mewakili sebuah eksekusi

operasi dari objek, Panjang kotak ini

berbanding lurus dengan durasi aktivasi

sebuah operasi

Lifeline, garis titik yang terhubung

dengan objek, sepanjang lifeline terdapat

activation

2.2.8.4 Class Diagram

Tujuan utama dari Class Diagram adalah untuk menciptakan sebuah kosa kata

yang digunakan oleh analis dan pengguna. Class Diagram biasanya merupakan hal-

hal, ide-ide atau konsep yang terkandung dalam aplikasi. Misalnya, jika sedang

membangun sebuah aplikasi penggajian, diagram kelas mungkin akan berisi kelas

yang mewakili hal-hal seperti karyawan, cek, dan pendaftaran gaji. Class diagram

juga akan menggambarkan hubungan antara kelas.

Class diagram memiliki 3 area pokok yaitu:

a. Name

b. Attribute

25

c. Method

Class Diagram juga menunjukkan atribut-atribut dan operasi dari sebuah

kelas dan constraint yang berhubungan dengan objek yang dikoneksikan. Class

Diagram secara khas meliputi: Kelas (Class), Relasi Assosiations, Generalitation dan

Aggregation, attribute (Attributes), operasi (operation/method) dan visibility, tingkat

akses objek eksternal kepada suatu operasi atau attribut. Hubungan antar kelas

mempunyai keterangan yang disebut dengan Multiplicity atau Cardinality.

Tabel 4. Class Diagram

Multiplicity Penjelasan

1 Satu dan hanya satu

0..* Boleh tidak ada atau satu atau lebih

1..* Satu atau lebih

0..1 Boleh tidak ada, maksimal satu

n..n Batasan antara. Contoh 2..4 mempunyai

arti minimal 2 maksimal 4

2.2.8.5 User Interface (UI)

Antar Muka Pengguna atau didalam Bahasa Inggris disebut dengan User

Interface, adalah mekanisme komunikasi antara pengguna (user) dengan sistem,atau

bentuk sistem tampilan grafis yang berhubungan langsung dengan pengguna

(user),atau bisa juga sebuah antarmuka pengguna sistem di mana pengguna

berinteraksi dengan mesin. Antarmuka pemakai (User Interface) dapat menerima

informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user)

untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu

solusi. Pengertian lainnya dari antarmuka atau Interface adalah cara program dan user

berkomunikasi dan salah satu layanan yang disediakan sistem operasi sebagai sarana

26

interaksi antara pengguna dengan sistem operasi. Antarmuka adalah komponen

sistem operasi yang bersentuhan langsung dengan pengguna. Terdapat dua jenis

antarmuka, yaitu Command Line Interface (CLI) dan Graphical User Interface (GUI).

Pengertian dan Definisi dari User Interface (UI) dan Fungsinya serta Penggunaannya

Istilah user interface atau interface kadang-kadang digunakan sebagai penggati istilah

HCI (Human Computer Interaction). HCI (Human Computer Interface) adalah semua

aspek dari interaksi pengguna dan computer, tidak hanya hardware. Semuanya yang

terlihat dilayar, membaca dalam dokumentasi dan dimanipulasi dengan keyboard

(atau mouse) merupakan bagian dari user interface atau bisa dibilang desktop niver.

2.2.9 Database

Database Menurut Ladjamudin (2013:129), Database adalah sekumpulan

data store (bisa dalam jumlah yang sangat besar) yang tersimpan dalam magnetic disk,

oftical disk, magnetic drum, atau media penyimpanan sekunder lainnya [15].

Menurut Connolly dan Begg (2010:65) [16], basis data adalah sebuah

kumpulan data yang secara logis terkait dan dirancang untuk memenuhi suatu

kebutuhan informasi dari sebuah organisasi. Dalam pembentukan database, data yang

dikenal memiliki beberapa jenjang antara lain:

a. Field

Merupakan unit data terkecil, mencerminkan jumlah data terkecil yang akan

ditarik komputer pada satu waktu.

b. Record

Merupakan suatu koleksi field-field data yang saling berhubungan.

c. File

Merupakan koleksi record yang saling berhubungan, seperti satu file dari

seluruh record.

27

2.2.10 Cascading Style Sheets

Menurut Winarno dan Utomo (2010:106) menerangkan bahwa “CSS

merupakan bahasa pemrograman web yang digunakan untuk mengatur style-style

yang ada di tagtag HTML” [5].

2.2.11 HTML

Menurut Winarno dan Utomo (2010:66) “HTML singkatan dari Hypertext

Markup Language dan berguna untuk menampilkan halaman web”[5].

2.2.12 Website

Menurut Yuhefizar (2013) pengertian website adalah keseluruhan halaman-

halaman web yang terdapat dari sebuah domain yang mengandung informasi [5].

2.2.13 Web Server

Web server adalah perangkat keras (server) dan perangkat lunak yang

menyediakan layanan akses kepada pengguna melalui protokol komunikasi HTTP

ataupun variannya (seperti FTP dan HTTPS) atas berkas-berkas yang terdapat pada

suatu URL ke pemakai (Fathansyah, 2012) [17].

28

BAB III

METODE PENELITIAN

3.1 Objek Penelitian

3.1.1 Sejarah

CV. Multi Citra Kimia merupakan salah satu toko yang menjual berbagai

bahan-bahan kimia dari berbagai jenis. CV. Multi Citra Kimia didirikan pertama kali

pada tahun 2007 yang berlokasi di JL. Tegal Gede, No. 29 Rt 9, Rw 10, Cikarang

Selatan, Bekasi, Jawa Barat, Indonesia. Memiliki 20 pegawai yang terbagi disetiap

bagiannya.

Berkat kesuksesannya dan atas banyaknya pelanggan dari banyak

perusahaan yang ada di Jabodetabek dan masih banyak lagi. Beberapa prosedur dalam

membeli bahan-bahan kimia tertentu pun akan kami lakukan dengan sangat ketat

sehingga toko kami juga tidak sembarangan menjual produk-produk yang tingkat

kadar kimia sangat tinggi dan harus ada surat izin resmi dari perusahaan dan

kepolisian. Kami akan terus berkembang dan kami akan melayani konsumen dengan

senang hati setiap saat.

3.1.2 Visi CV. Multi Citra Kimia

Berikut ini adalah Visi dari CV. Multi Citra Kimia yaitu:

1. Menjadi toko kimia yang dapat diandalkan, dipersembahkan bagi

kesejahteraan customer dan kebaikan semua stakholders.

2. Kami mengandalkan keahlian kami untuk dapat memberikan produk kimia

yang bermutu tinggi ke pasar secara berkesinambungan agar dapat

meningkatkan kualitas untuk para pelanggan. Kepuasan pelanggan

menjadi konsep yang mendasari semua kegiatan kami.

29

3. Menjadi perusahaan yang dapat diandalkan berarti dapat dipercaya oleh

pasar dan pelanggan. Keandalan harus menjadi tujuan semua komponen

perusahaan.

3.1.4 Misi CV. Multi Citra Kimia

Untuk menjadi perusahaan yang dapat diandalkan, kami akan melakukan hal-

hal sebagai berikut ini:

1. Memperkuat teknologi dan pemasaran untuk menghasilkan produk

yang sangat berkualitas, kompetitif dan aman.

2. Menambah skala dan keuntungan perusahaan untuk meningkatkan

kualitas hidup karyawan yang pada akhirnya akan memberikan manfaat

bagi pemegang saham.

3. Menciptakan manajemen yang responsive dan cerdas.

4. Berkontribusi kepada pemeliharaan keselamatan dan pemeliharaan

lingkungan.

3.2 Jenis Pengumpulan Data

Data- Data dapat diartikan sebagai fakta yang digambarkan melalui angka,

simbol, kode, dan lain-lain. Dalam penelitian sumber data dapat dikelompokan

menjadi dua yaitu sumber data primer dan sumber data skunder.

1. Sumber Data Primer

Data primer adalah data yang didapatkan dari sumber data, seperti hasil dari

wawancara atau hasil dari penelitian yang dilakukan oleh peneliti. Data primer

juga diperoleh dari hasil observasi atau dengan cara menyebarkan kuisioner.

Dalam penelitian metode yang digunakan peneliti untuk mendapatkan data

primer adalah dengan melakukan observasi dan wawancara.

30

2. Sumber Data Sekunder

Data sekunder adalah cara pengumpulan data dengan mempelajari data yang

telah tersedia, atau data-data yang diberikan oleh pihak perusahaan. Dan peneliti

telah melakukan berbagai pengumpulan data dengan menyimpan berbagai

bentuk dokumen seperti data barang, data penjualan beserta data pembelian

hingga stock barang.

3.3 Metode Pengumpulan Data

Berikut ini adalah metode yang dilakukan dalam pengumpulan data yaitu:

1. Interview atau wawancara

Merupakan metode pengumpulan data dengan jalannya proses tanya

jawab sepihak yang dilakukan secara sistematis dan berlandaskan kepada

tujuan penelitian. Pada metode ini penulis melakukan proses tanya jawab

kepada beberapa nasumber pada objek penelitian yaitu pegawai CV. Multi

Citra Kimia, Admin Gudang dan Pemilik CV. Multi Citra Kimia tersebut.

Interview/isi pertanyaan dari ini berisi tentang info profil toko CV. Multi Citra

Kimia dan sistem point of sale di CV. Multi Citra Kimia.

2. Studi Pustaka

Merupakan cara untuk mencari dan mendapatkan sumber-sumber

kajian. Landasan teori yang mendukung, data-data atau informasi sebagai

acuan dalam perancanaan, percobaan, pembuatan dan penyusunan laporan

serta melalui teknologi internet.

31

3.4 Teknik Analisis Data

Dalam sebuah penelitian terutama pada saat menganalisis sistem, akan lebih

mudah jika menggunakan metode pendeketan dan pengembangan sistem.

1. Metode Pendekatan Sistem

Metode pendekatan sistem yang akan digunakan oleh penulis adalah metode

pendeketan berbasis objek.

2. Metode Pengembangan Sistem

Metode pengembangan sistem yang digunakan dalam perancangan Sistem

Informasi apotek ini adalah Prototype. Berikut ini akan diuraikan tahapan-

tahapan pengembangan sistem dengan menggunakan metode Prototype di

antaranya yaitu :

a. Pengumpulan kebutuhan

Pelanggan dan pengembang bersama-sama mendefinisikan format dan

kebutuhan kesseluruhan perangkat lunak, mengidentifikasikan semua kebutuhan,

dan garis besar sistem yang akan dibuat.

b. Membangun Prototyping

Membangun prototyping dengan membuat perancangan sementara yang berpusat

pada penyajian kepada client (misalnya dengan membuat input dan contoh

outputnya).

c. Evaluasi Prototyping

Evaluasi ini dilakukan oleh client apakah prototyping yang sudah dibangun sudah

sesuai dengan keinginan pelanggan. Jika sudah sesuai maka langkah keempat

32

akan diambil. Jika tidak, maka prototyping diperbaiki dengan mengulang

langkah 1, 2 , dan 3.

d. Mengcoding Prototyping

Dalam tahap ini prototyping yang sudah disepakati diterjemahkan ke dalam

bahasa pemrograman yang sesuai.

e. Menguji Sistem

Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites

dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black

Box, Basis Path, pengujian arsitektur dan lain-lain.

f. Evaluasi Sistem

Client mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang

diharapkan . Jika sudah, maka langkah ketujuh dilakukan, jika belum maka

mengulangi langkah 4 dan 5.

g. Menggunakan Sistem

Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.

33

3.5 Analisa Sistem yang Berjalan

Adapun gambaran untuk sistem yang berjalan pada CV. Multi Citra Kimia saat

ini ialah sebagai berikut :

Gambar 3.1 Activity Diagram Sistem Yang Berjalan

Penjelasan dari activity diagram tidak berbeda dari usecase diagram, namun

akan tetap dijabarkan. Berikut ini adalah penjelasan dari activity diagram dari sistem

yang berjalan seperti yang tampak pada gambar:

1. Pertama pembeli datang dan mencari/memilih barang.

2. Jika pembeli ingin membeli suatu bahan kimia yang sangat khusus, maka

tentunya pembeli membawa surat izin dari perusahaannya tempat dia

diperintahkan atau surat dari pihak berwajib. Lalu memberikan kepada

pegawai toko.

3. Setelah itu pegawai toko menerima permintaan pembeli tersebut.

34

4. Selanjutnya, pegawai memberikan barang yang diminta oleh pembeli

tersebut.

5. Lalu pmebeli membayar barang tersebut dan menerima barang yang

diinginkan.

6. Pegawai toko menerima uang transaksi pembayaran atas pembelian

barang tersebut dan lalu pegawai toko memberikan struk atas pembelian

barang dan memberikannya kepada pembeli.

7. Pembeli menerima struk dari pegawai toko sebagai pembuktian

pembelian barang.

8. Setelah proses transaksi penjualan dan pembelian selesai, selanjutnya

pegawai toko membuat laporan. Contohnya laporan penjualan hari ini.

9. Setelah itu laporang tersebut di simpan dibuku laporan data. Dibuku

laporan ini ada beberapa jenis seperti contoh laporan penjualan dan

laporan data barang.

10. Lalu ada aktor Admin Gudang, tugasnya hanya menginput dan mengedit

data barang. Data sewaktu-waktu mungkin dapat dirubah.

11. Lalu sama menyimpan data dibuku laporan. Tetapi laporan tentang data

barang.

12. Terakhir adalah aktor pemilik. Disini pemilik juga berperan. Pemilik

dapat melihat data laporan dari berbagai jenis. Untuk mengecek barang

apa saja yang terjual, lalu butuh barang apa saja, berapa banyak yang

sudah terjual. Seperti itulah contohnya.

3.6 Membuat Database di MySQLi(XAMPP)

Sebelum membuat aplikasi, kita harus memiliki database yang bersangkutan

dengan aplikasi yang dibuat seperti contohnya aplikasi point of sale. Merancang

aplikasi Point of Sale di CV. Multi Citra Kimia diperlukan data-data barang yang

dijual. Seperti Nama Barang, Kode barang, sifatnya, satuan dan sebagainya. Berikut

35

ini adalah gambar tentang database pada aplikasi point of sale yang dirancang untuk

CV. Multi Citra Kimia:

Gambar 3.2 Database untuk Aplikasi Point Of Sale di MySQLi

Gambar 3.3 Database Barang untuk Aplikasi Point Of Sale di MySQLi

Gambar diatas adalah gambar struktur-struktur yang terkait untuk aplikasi

didalam MySQLi untuk aplikasi Point Of Sale dan gambar yang kedua adalah gambar

36

tentang database barang-barang yang dijual di CV. Multi Citra Kimia yang

dicantumkan seperti ada kode barang, nama barang, stok, satuan, harga jual, harga beli,

serta keuntungan (laba).

3.7 Sistem Yang Diusulkan Untuk CV. Multi Citra Kimia

Untuk pembahasan selanjutnya, kami akan mengusulkan sebuah sistem yang

akan bermanfaat bagi CV. Multi Citra Kimia yang proses pendataan penjualannya

sendiri masih menggunakan cara manual/konvensional yang mengakibatkan

kemungkinan terjadinya kerusakan pada buku catatan pendataan penjualan, hilang atau

bahkan memakan waktu yang lama saat mencari data sesuatu dan saat salah tulis

mungkin akan ada banyak coretan, lalu tidak jarang beberapa pembeli ingin membeli

barang ternyata barang sudah habis dan belum ter-stok dan terkadang perhitungan

pendapatan dengan pengeluaran dibeberapa momen suka mengalami kesalahan. Itulah

kekurangannya yang saat ini masih terjadi menggunakan sistem konvensional/manual

dalam penjualan.

Oleh karena itu, kami mengusulkan sistem yang terkomputerisasi yang akan

ditetapkan pada sistem penjualan di CV. Multi Citra Kimia, sehingga diharapkan

mampu membantu dan mempermudah serta membuat rapi suatu data penjualan di CV.

Multi Citra Kimia, dan pembeli dapat melihat stok barang saat ini, pegawai gudang

tidak perlu menghitung barang satu persatu dan hasil perhitungan pendapatan dan

pengeluaran juga bisa terhitung secara otomatis. Dalam perancangan sistem informasi

ini menggunakan sistem pemrograman Web PHP, hal ini disebabkan karena aplikasi

berbasis web pada saat ini sangat banyak diminati dikalangan para pemilik usaha kecil

menengah hingga atas dan merupakan salah satu sistem pemrograman yang cukup baik

dan efektif dibandingkan aplikasi berbasis desktop, serta tidak terlalu sulit

menggunakannya.

37

3.7.1 Gambaran Sistem

Untuk gambaran sistem yang kami usulkan aplikasi Point Of Sale untuk CV.

Multi Citra Kimia ialah berupa Use Case diagram, Activity Diagram, Sequence

Diagram, Class Diagram, dan User Interface yang diharapkan mampu memberikan

pendataan yang lebih cepat dan akurat serta dapat menangani kendala yang ada pada

CV. Multi Citra Kimia tersebut. Berikut ini adalah gambaran untuk Use Case Diagram,

Activity Diagram, Sequence Diagram, Class Diagram, dan User Interface diusulkan:

38

3.7.2 Use Case Diagram Sistem Yang Diusulkan

Gambar 3.4 Use Case Diagram sistem yang diusulkan

Gambar diatas adalah gambar Use Case diagram sistem yang diusulkan untuk

CV. Multi Citra Kimia untuk Aplikasi Point Of Sale. Berikut ini adalah penjelasan dari

usecase sistem yang diusulkan seperti yang tampak pada gambar:

1. Pada penjelasan pertama, di jelaskan kalau pemilik toko, pegawai toko dan

admin gudang bisa melakukan login aplikasi dan sementara calon pembeli

hanya dapat melihat jumlah stok barang saat ini di layout khusus untuk

pembeli memesan barang tanpa harus login aplikasi. Di aplikasi Point Of

39

Sale ini nantinya akan menyediakan layout khusus untuk pembeli memesan

barang tanpa harus login.

2. Jika pembeli sudah melihat stok barang dan memesan barang, lalu tinggal

memilih kirim.

3. Saat pegawai toko sudah login, dia akan merespon pesanan barang dari

calon pembeli.

4. Setelah itu saat pembeli datang ke CV. Multi Citra Kimia untuk mengambil

pesanan barang yang telah dibeli, maka terjadilah transaksi.

5. Pegawai Toko akan mencetak struk pembelian barang yang telah dibeli oleh

pembeli dan menyerahkan barang tersebut kepada pelanggan dan pelanggan

akan membayar barang tersebut.

6. Lalu selanjutnya ada admin gudang yang tugasnya membeli barang ke

supplier jika barang sudah mendekati habis.

7. Disini transaksi admin gudang, supplier tidak dibawa kedalam sistem

karena tidak menyangkut pada aplikasi Point Of Sale itu sendiri. Disini

menjelaskan bahwa admin gudang melakukan transaksi pembelian barang.

8. Setelah itu admin gudang akan membuat record saat dia ingin membeli

barang di suatu supplier tentang barang apa yang dibeli, jumlah nya berapa

dan ke supplier mana dia membeli, admin gudang akan membuat record

tersebut.

9. Selanjutnya secara otomatis, record itu masuk kedalam menu laporan dan

dapat dicetak

10. Selain Menginput nama barang yang telah dibeli, admin gudang dapat

mengedit nama barang tersebut.

11. Selanjutnya jika pemilik toko juga ingin melihat laporan langsung didalam

aplikasi, maka tinggal memilih menu laporan, jenis laporan, masukkan

tanggal awal dan akhir dan pilih cari. Setelah itu laporan akan muncul dan

dapat dicetak juga.

40

12. Terakhir semua yang dapat login ke aplikasi yaitu Pemilik Toko, Admin

Gudang dan Pegawai Toko, maka dapat melakukan Logout User.

41

3.7.3 Activity Diagram (Login)

Gambar 3.5 Activity Diagram (Login) sistem yang diusulkan

Gambar diatas adalah gambar dari alur login aplikasi yang dibuat didalam

activity diagram. Berikut ini adalah penjelasan dari activity diagram (Login) sistem

yang diusulkan seperti yang tampak pada gambar:

1. User (Pemilik, Pegawai toko, Admin Gudang) melakukan login aplikasi

Point Of Sale.

2. Memasukkan Username dan Password.

42

3. Setelah itu di sistem aplikasi akan memproses permintaan untuk masuk

ke aplikasi Point Of Sale.

4. Setelah itu didalam database aplikasi akan memvalidasi permintaan.

5. Didalam database akan di cek terlebih dahulu. Jika username dan

password yang dimasukkan ternyata benar dan valid, maka user tersebut

akan bisa masuk ke aplikasi. Tetapi jika gagal, maka akan secara otomatis

dikembalikan kembali ke halaman awal untuk memasukkan username

dan password dengan sangat benar dan tidak ada kekeliruan dalam

memasukkannya.

6. Saat user sudah masuk ke aplikasi, maka user akan di bawa langsung ke

tampilan dashboard dimana menu-menu utama ada.

7. Setelah itu user akan memilih menu utama disamping di dashboard depan

43

3.7.4 Activity Diagram (Pembeli Memesan Barang)

Gambar 3.6 Activity Diagram (Pembeli memesan barang) di sistem yang diusulkan

Gambar diatas adalah gambar dari alur pembeli memesan barang. Berikut ini

adalah penjelasan dari activity diagram (Pembeli memesan barang) didalam sistem

yang diusulkan seperti yang tampak pada gambar:

44

1. Seperti yang sudah dijelaskan sebelumnya, di aplikasi Point Of Sale ini

nantinya pelanggan mendapatkan layoutnya sendiri untuk melihat stok

barang dan dapat memesannya. Seperti didalam pembahasan karena

tidak jarang saat pembeli ingin membeli barang di CV. Multi Citra

Kimia ternyata barang sudah habis dari siang (Contoh)

2. Pertama calon pembeli dapat membuka layout khusus pembeli di

aplikasi point of sale CV. Multi Citra Kimia didalam browser mereka

dengan membuka alamat http://localhost:8080/point-of-

sale/customer/?page=pemesanan dan saat di enter maka calon pembeli

sudah ditampilkan stok barang saat ini.

3. Lalu jika calon pembeli ingin memesan barang, maka masukan jumlah

barang yang ingin dibeli di masing-masing nama barang.

4. Setelah itu ada kolom nama maka harus memasukkan nama calon

pembeli.

5. Selanjutnya sistem akan memproses pemesanan barang yang dipesan

oleh calon pembeli.

6. Lalu yang terakhir sistem mengirimkan permintaan pesanan tersebut ke

pegawai toko yang nanti akan muncul di notifikasi saat membuka

aplikasi.

45

3.7.5 Activity Diagram (Pegawai Toko Menerima Pesanan Barang)

Gambar 3.7 Activity Diagram (Pegawai Toko Menerima Pesanan Barang)

46

Gambar diatas adalah gambar dari alur pembeli memesan barang. Berikut ini

adalah penjelasan dari activity diagram (Pembeli memesan barang) didalam sistem

yang diusulkan seperti yang tampak pada gambar:

1. Pertama, Pegawai Toko akan melakukan login Aplikasi Point Of Sale,

memasukkan username dan password.

2. Sistem aplikasi POS akan memvalidasi permintaan login tersebut. Jika

password benar dan username pun benar, maka akan masuk kedalam

aplikasi. Namun jika salah, maka akan balik lagi ke layout login dan

harus memasukkan kembali username dan password dengan benar.

3. Setelah berhasil login, maka akan tampil tampilan utama.

4. Lalu pegawai toko klik gambar Lonceng Notification.

5. Sistem akan memproses permintaan.

6. Setelah itu akan muncul notifikasi tentang pesanan barang yang dipesan

oleh pembeli.

7. Lalu pegawai toko menyetujui pesanan barang tersebut.

8. Setelah itu permintaan akan diproses

9. Permintaan pembeli sudah dibuat record laporan.

47

3.7.6 Activity Diagram(Transaksi)

Gambar 3.8 Activity Diagram (Transaksi)

Gambar diatas adalah gambar dari alur transaksi pembelian barang. Transaksi

antara pembeli dengan pegawai toko. Berikut ini adalah penjelasan dari activity

diagram transaksi:

48

1. Pembeli (Langganan/biasa) datang dan memilih barang. Yang dimaksud

dipertama ini sebenarnya juga menjelaskan pembeli acak/pembeli biasa

yang belum tau tentang adanya layout pemesanan barang.

2. Setelah memilih/mencari barang yang dicari, kemudian pegawai toko

melakukan login aplikasi dan memilih menu transaksi penjualan di aplikasi

point of sale.

3. Di sistem maka aplikasi akan menampilkan layout tentang transaksi

penjualan.

4. Lalu pegawai toko mengisi kode barang atau nama barang. Sebenarnya

nanti di aplikasinya ada checkbox dimana saat di klik, maka barang-barang

yang dijual akan muncul beserta kodenya. Tetapi jika mencarinya dengan

nama atau kode barang juga bisa.

5. Seperti yang dijelaskan tadi, setelah itu barang akan tampil beserta kode

barangnya.

6. Lalu pegawai toko memasukkan jumlah barang yang ingin dibeli oleh

pembeli dan klik tambahkan.

7. Lalu sistem secara otomatis dengan cepat akan melakukan perhitungan

biaya berapa harga yang harus dibayar dan juga tersedia kolom diskon dan

perhitungan otomatis tersebut juga sekaligus perhitungan total bayar.

8. Setelah itu pegawai toko akan mencetak struk pembayaran.

9. Sistem akan menampilkan layout struk dan bisa dicetak.

10. Setelah itu pegawai toko menyerahkan struk.

11. Pembeli menerima struk.

12. Setelah itu pembeli menerima barang yang dibeli dan membayar.

13. Pegawai toko menerima uang pembayaran barang.

14. Transaksi penjualan pun telah dilaksanakan/dilakukan.

49

3.7.7 Activity Diagram (Transaksi Pembelian Stok Barang)

Gambar 3.9 Activity Diagram (Transaksi pembelian stok barang)

50

Gambar diatas adalah gambar dari alur dari pembelian stok barang. Saat di

notifikasi aplikasi point of sale telah menunjukkan/memberitahukan bahwa ada barang

yang mau habis, maka tugas seorang admin gudang ialah membeli barang untuk dijual

lagi agar saat calon pembeli ingin membeli barang, barang tersebut ada. Pembelian stok

barang di aplikasi point of sale ini hanya sebatas record. Maksudnya adalah sebagai

bukti kalau tadi admin gudang membeli barang dengan nama yang jelas dan spplier

yang tertera. Lalu hubungan antara admin gudang dengan supplier adalah call to call

karena supplier tidak termasuk dalam element aplikasi point of sale. Hanya pemilik

toko, pegawai toko(Kasir), calon pembeli dan admin gudang. Berikut ini adalah

penjelasannya:

1. Pertama adalah admin toko melakukan login aplikasi.

2. Sistem akan memproses login tersebut.

3. Setelah itu sistem akan menampilkan dashboard utama.

4. Saat dashboard aplikasi point of sale sudah tampil, admin gudang memilih

menu pembelian yang tersedia disamping dashboard. Pembelian tersebut

bukan transaksi pembelian antara calon pembeli dengan pegawai toko atau

calon pembeli langsung ke admin gudang, tapi pembelian disini adalah

untuk transaksi pembelian barang yang dilakukan oleh admin gudang

dengan supplier.

5. Lalu sistem memproses.

6. Setelah itu masuk ke layout pembelian barang dan admin gudang memilih

nama barang yang ingin dibeli dan nama supplier yang ingin di call. Disini

secara otomatis di aplikasi point of sale, total bayar akan muncul setelah

admin gudang memasukkan berapa jumlah yang inggin dibeli lalu klik

tambahkan.

7. Setelah itu dikolom nominal uang, admin gudang memasukkan berapa

rupiah yang akan dibayar.

8. Setelah itu klik tombol Simpan.

51

9. Sistem akan memproses.

10. Klik tombol cetak untuk sebagai struk pembelian barang.

11. Barulah disini admin gudang melakukan call to call dengan supplier yang

terpercaya dan selalu lengkap barang-barangnya. Disini saat sudah klik

tombol simpan, maka record tersebut akan otomatis masuk ke menu laporan

pembelian.

3.7.8 Activity Diagram (Input Data Barang)

Gambar 3.10 Activity Diagram (Input Data Barang)

52

Gambar diatas adalah menunjukkan alur activity diagram menginput data

barang. Berikut ini adalah penjelasannya:

1. Pertama Admin gudang memilih menu input barang.

2. Sistem memproses permintaan dan database akan mengeksekusi

3. Sistem akan menampilkan layout input data barang.

4. Admin gudang melakukan penginputan data barang.

5. Sistem akan memproses penyimpanan data barang

6. Terakhir didalam database, barang telah tersimpan.

53

3.7.9 Activity Diagram (Edit Data Barang)

Gambar 3.11 Activity Diagram (Edit Data Barang)

54

Gambar diatas adalah gambar dari alur edit data barang yang dilakukan admin

gudang didalam aplikasi point of sale tersebut. Berikut ini adalah penjelasannya:

1. Pertama adalah admin gudang melakukan login aplikasi point of sale.

2. Lalu sistem akan mengecek dan memproses username dan password

tersebut.

3. Setelah berhasil masuk, sistem akan menampilkan layout dashboard.

4. Pegawai gudang memilih menu barang.

5. Setelah masuk ke layout barang, maka akan muncul nama-nama barang.

Disampingnya ada tombol edit, maka pilihlah tombol edit.

6. Sistem memproses dan berhasil masuk ke layout Edit.

7. Dan pegawai toko dapat merubah kode barang, nama barang, harga beli,

harga jual, dan lain-lain.

8. Setelah semuanya sudah selesai, maka admin Gudang akan mengklik

tombol simpan.

9. Sistem memproses dan data barang berhasil disimpan.

10. Setelah itu sistem secara otomatis akan balik sendiri kembali ke list-list

barang.

55

3.7.10 Activity Diagram (Membuat Laporan)

Gambar 3.12 Activity Diagram (Membuat Laporan)

56

Gambar diatas adalah gambar activity diagram yang menunjukkan alur

membuat laporan yang dilakukan oleh pegawai toko dan admin gudang. Berikut ini

adalah penjelasannya mengenai gambar diatas:

1. Pertama pegawai toko atau admin gudang melakukan login aplikasi point

of sale.

2. Selanjutnya sistem akan mengecek dan memvalidasi. Apakah username dan

password yang dimasukkan sudah benar atau belum.

3. Jika gagal akan balik lagi ke layout login dan harus kembali login dengan

cermat dan semua username dan pasword juga sudah sangat benar. Jika

sudah berhasil login maka selanjutnya sistem aplikasi akan menampilkan

dashboard utama.

4. Setelah itu pegawai toko/admin gudang memilih menu laporan.

5. Setelah itu tinggal memilih. Mau memilih riwayat penjualan, laporan

penjualan, riwayat pembelian atau laporan pembelian.

6. Setelah memilih, selanjutnya pegawai toko/admin gudang harus

memasukkan tanggal mulai dan tanggal akhir. Saat di klik dikolom tanggal

tersebut sistem akan otomatis mengeluarkan semacam kalender, guna dapat

di klik sebagai pilihan tanggal mulai dan tanggal akhir.

7. Setelah itu laporan akan muncul sesuai tanggal yang dipilih.

8. Terakhir pegawai toko/admin gudang tinggal memilih cetak laporan.

Selanjutnya laporan tersebut dapat di print.

57

3.7.11 Activity Diagram (Melihat Laporan)

Gambar 3.13 Activity Diagram (Melihat Laporan)

Gambar diatas adalah gambar activity diagram dari alur melihat laporan yang

dilakukan oleh sang pemilik toko. Pemilik toko juga memiliki hak akses aplikasi dan

58

sangat lengkap serta dapat melihat laporan langsung di aplikasi. Berikut ini adalah

penjelasan mengenai gambar diatas:

1. Pertama pemilik toko akan melakukan login aplikasi point of sale.

2. Setelah itu sistem aplikasi akan memproses username dan password sang

pemilik toko.

3. Setelah di proses dan semuanya benar, maka login berhasil dan

menampilkan layout dashboard utama.

4. Selanjutnya pemilik toko tinggal mengklik atau memilih menu laporan.

Laporan mana yang akan dipilih. Pembelian atau Penjualan.

5. Lalu masukkan tanggal mulai dan tanggal akhir.

6. Sistem akan memproses dan mencari laporan yang diinginkan sesuai

tanggal yang dipilih.

7. Terakhir laporan yang dicari telah muncul.

59

3.7.12 Activity Diagram (Logout)

Gambar 3.14 Activity Diagram (Logout)

Gambar diatas adalah activity diagram tahapan terakhir dari alur yang ada di

aplikasi point of sale, yaitu login. User (Pemilik Toko, Pegawai Toko dan Admin

Gudang) akan logout setelah menggunakan aplikasi point of sale. Berikut adalah

penjelasannya:

1. User (Pemilik Toko, Pegawai Toko dan Admin Gudang) memilih menu

logout.

2. Selanjutnya sistem akan memproses dengan cepat

60

3. Terakhir aplikasi sudah berhasil ter-logout dan kembali menampilkan

layout untuk login.

3.7.13 Sequence Diagram (Login)

Gambar 3.15 Sequence Diagram (Login)

Sekarang adalah penjelasan mengenai sequence diagram. Tidak terlalu berbeda

dengan activity diagram, hanya saja penjelasan disequence diagram terlihat lebih detail

dan bagaimana jalannya suatu pekerjan didalam aplikasi yang akan dirancang.

61

Gambar diatas adalah gambar dari sequence diagram login yang dilakukan di

aplikasi point of sale. Berikut ini adalah penjelasannya:

1. Pertama-tama seperti biasa, jika ingin masuk aplikasi yang menggunakan

sistem username dan password, maka harus melakukan login dahulu.

2. User (Pemilik Toko, Pegawai Toko dan Admin Gudang) akan melakukan

login. Mereka-lah yang mendapat akses untuk masuk secara dalam aplikasi

point of sale untuk CV. Multi Citra Kimia nantinya. User memasukkan

username dan password yang diketikkan didalam form login.

3. Setelah itu password dan username tersebut di tranfer dan ke dalam sistem

aplikasi yang diatas dengan nama kontrol login.

4. Lalu selanjutnya pergi ke dalam data user. Maksud data user disini adalah

database yang ada di MySQLi yang sudah terdaftar dan paten.

5. Didalam data user ini juga memvalidasi atau mengecek, apakah username

dan password yang dimasukkan benar atau salah.

6. Jika username atau password yang dimasukkan telah salah atau keliru, maka

dari data user yang ada di aplikasi akan mengirimkan kalau username dan

pasword yang dimasukkan salah dan akan muncul di form login.

7. Jika login berhasil, username dan password yang dimasukkan adalah data

yang benar, maka akan langsung masuk ke menu utama.

8. Dan di sistem aplikasi akan menampilkan menu utama dan dari layout

kontrol login akan tampil dashboard utama dan user dapat melihat menu

utama atau tampilan dashboard utama.

62

3.7.14 Sequence Diagram (Pembeli Memesan Barang)

Gambar 3.16 Sequence Diagram (Pembeli Memesan Barang)

Gambar diatas adalah gambar sequence diagram tentang pembeli memesan

barang. Sudah dijelaskan diawal tadi, kalau calon pembeli juga memiliki akses aplikasi

63

tapi hanya sekedar melihat jumlah stok barang dan memesan barang. Calon pembeli

tidak melakukan login aplikasi. Berikut ini adalah penjelasan mengenai gambar diatas:

1. Calon pembeli masuk ke situs web yang dimiliki dan pergi ke alamat web

http://localhost:8080/point-of-sale/customer/?page=pemesanan.

2. Jika alamatnya benar maka pembeli akan masuk ke layout khusus calon

pembeli. Disini saat sudah enter alamat tersebut, Situs web akan memproses

permintaan.

3. Lalu dari control sistem web nya sendiri akan langsung menuju Layout

daftar stok barang di aplikasi point of sale tersebut tanpa harus login. Disini

calon pembeli dapat memesan barang.

4. Lalu dari sinilah layout tampil untuk sang calon pembeli. Hanya ingin

sekedar melihat stok barang atau memesan barang.

5. Lalu jika ingin memesan barang, calon pembeli harus memilih barang yang

mana yang ingin dibeli dan jumlahnya serta masukkan nama sang calon

pembeli. Setelah itu mengklik tombol “pesan”.

6. Selanjutnya dikontrol aplikasi permintaan akan diproses hingga beberapa

detik hingga berhasil diproses.

7. Selanjutnya di layout point of sale tersebut akan memberi tau simpan telah

berhasil dan bukti pemesanan akan tampil.

8. Lalu akan ada tombol kirim, maka selanjutnya calon pembeli dapat memilih

tombol kirim untuk mengirim pesanan barang yang telah dipesan tadi.

9. Setelah itu jika sudah di klik, layout pos dengan kontrol aplikasi akan

memproses hingga proses pengiriman permintaan berhasil.

10. Setelah berhasil, akan ada pemberitahuan kalau pesanan berhasil terkirim.

11. Disini pembeli juga dapat mencetak data/bukti pemesanan barang yang dia

sudah pesan.

64

12. Jika ingin mencetak, maka calon pembeli akan mengklik tombol cetak, lalu

di layout point of sale ke control aplikasi akan memproses permintaan

tersebut.

13. Setelah berhasil memproses maka dari kontrol aplikasi ke layout point of

sale akan menampilkan layout cetak.

14. Jika ingin mebatalkan pemesanan, maka calon pembeli dapat mengklik

tombol batal.

15. Lalu dari layout point of sale ke control aplikasi permintaan tersebut akan

diproses.

16. Setelah berhasil diproses, maka dari kontrol aplikasi ke layout point of sale

akan memberitahu pesanan telah dibatalkan. Dalam hal ini, jika calon

pembeli membatalkan pesanan barang, maka barang yang dipilih tadi tidak

akan berkurang dari stok. Karena pesanan barang yang benar-benar setuju,

akan di konfirmasi oleh pegawai toko.

65

3.7.15 Sequence Diagram (Pegawai Toko Menerima Pesanan)

Gambar 3.16 Sequence Diagram (Pegawai Toko Menerima Pesanan)

66

Gambar diatas adalah gambar sequence diagram alur saat pegawai toko

menerima pesanan dari calon pembeli. Yaitu pesanan barang. Berikut ini adalah

penjelasannya dari gambar diatas:

1. Pertana pegawai toko melakukan login aplikasi. Memasukkan username

dan password sang pegaawai toko di aplikasi point of sale.

2. Lalu username dan password yang sudah dimasukkan lalu di enter, maka

dari layout akan masuk ke kontrol aplikasi untuk diproses.

3. Setelah itu didalam user data akan di cek apakah ada atau tidak serta

memvalidasi.

4. Jika login gagal, maka dari cek data user tadi akan langsung ke form login

untuk memberi tahu kalaua login gagal. Password yang dimasukkan beserta

username nya salah.

5. Jika berhasil login dengan benar, maka setelah proses cek data tadi akan

langsung tampil layout menu utama/dashboard utama dari aplikasi point of

sale.

6. Tampilan menu utama sudah bisa dilihat.

7. Selanjutnya pegawai toko akan memilih menu notifikasi yang ada di menu

dashboard utama. Terletak dibagian atas. Menu utama akan langsung

memproses untuk membuka notifikasi.

8. Lalu keluarlah pesan yang ada didalam notifikasi dan ditampilkan di layout.

Dan pegawai toko dapat melihat pesan itu.

9. Setelah itu pegawai toko mengklik pesan tersebut yang ada di notifikasi.

10. Lalu dari layout menu utama ke menu notifikasi akan memproses untuk

membuka request tersebut dan menapilkan isi pesan tersebut.

11. Isi pesan request tampil dan pegawai toko melihat apa yang dipesan oleh

calon pembeli.

12. Selanjutnya jika ingin memproses pesanan tersebut, maka pegawai toko

tinggal mengklik tombol proses di layout.

67

13. Saat sudah diklick akan ada pesan yang muncul dari kontrol aplikasi.

“Apakah anda yakin ingin memproses pesanan?”

14. Jika memilih YA, maka dari layout tadi akan menuju kontrol aplikasi untuk

memproses.

15. Selanjutnya dari kontrol sistem kembali ke layout masuk ke menu penjualan

untuk didata dan disave

16. Pegawai toko disini dapat memasukkan diskon harga tapi tetap atas perintah

lebih lanjut dari pemilik toko jika memang barang tersebut memiliki/sedang

mendapatkan diskon harga.

17. Lalu dari layout aplikasi akan diproses di control aplikasi jika semua sudah

disimpan.

18. Selanjutnya pegawai toko dapat mencetak bukti yang sudah disimpan tadi

menjadi sebuah struk. Hal ini akan otomatis masuk ke laporan penjualan

jika memang pembelian tersebut tidak dibatalkan.

19. Lalu dari layout aplikasi ke kontrol aplikasi, akan diproses permintaan

cetak.

20. Terakhir dari kontrol aplikasi tersebut, akan masukke layout cetak dan siap

di print.

68

3.7.16 Sequence Diagram (Transaksi)

Gambar 3.17 Sequence Diagram (Transaksi)

Gambar diatas adalah gambar sequence diagram dari transaksi. Berikut ini

adalah penjelasannya dari gambar diatas:

69

1. Pertama pembeli datang memesan atau mencari barang. Disini pembeli

memesan maksudnya benar-benar pembeli random. Yang benar-benar tidak

tau akan layout pemesanan di aplikasi point of sale khusus untuk calon

pembeli.

2. Setelah menerima request barang yang sedang dicari calon pembeli,

selanjutnya pegawai toko yang sudah login aplikasi point of sale tadi masuk

ke menu barang untuk mencari barang yang dicari oleh calon pembeli.

3. Dari menu utama ke menu barang membutuhkan proses. Setelah itu didalam

form barang dapat di cek barang ada atau tidak.

4. Jika barang ada/tersedia, maka pegawai toko akan menginformasikan

kepada calon pembeli kalau barang masih tersedia.

5. Jika barang sudah tidak tersedia, juga akan diinformasikan kepada pembeli

atau dapat memesan.

6. Selanjutnya pegawai toko masuk form transaksi atau form penjualan

dengan menginputkan nama barang, jumlah dan harga total sesuai yang

dibeli oleh calon pembeli.

7. Setelah itu langsung memilih simpan.

8. Setelah itu pembeli membayar uang pembelian barang dengan nominal

yang diterima.

9. Selanjutnya transaksi yang tadi disimpan dapat divetak menjadi struk.

10. Pegawai toko akan memberikan struk pembelian barang dan juga barang

yang dibeli oleh pembeli dan sesuai jumlahnya.

11. Dan terakhir pembeli menerimanya.

70

3.7.17 Sequence Diagram (Transaksi Pembelian Stok Barang)

Gambar 3.18 Sequence Diagram (Transaksi Pembelian Stok Barang)

71

Gambar diatas adalah sequence diagram dari alur pembelian barang yang

dilakukan oleh admin gudang untuk mempersiapkan stok barang di CV. Multi Citra

Kimia. Saat membeli barang di supplier, admin gudang akan tetap membuat record atau

rekaman pembelian barang. Berikut ini adalah penjelasan mengenai gambar diatas:

1. Pertama admin gudang akan melakukan login aplikasi. Memasukkan

username dan password ke dalam form login di dalam aplikasi point of sale.

2. Dari form login aplikasi akan masuk kedalam kontrol aplikasi untuk di

proses dan juga akan di cek didalam database dan memvalidasi.

3. Jika login gagal, dari data user akan memberi pesan ke form login kalau

login telah gagal. Username dan password yang dimasukkan tidak benar

dan akan tampil ke admin gudang.

4. Jika login berhasil, maka dari kontrol aplikasi akan memproses menuju

menu utama/dashboard utama.

5. Lalu admin gudang memilih menu pembelian yang terletak disamping

menu utama.

6. Selanjutnya admin gudang akan memasukkan nama supplier yang ingin

dituju, nama barang yang ingin dibeli, dan jumlahnya.

7. Lalu klik tombol tambahkan. Disini supplier yang menjadi langganan CV.

Multi Citra Kimia adalah supplier yang memang benar-benar terpercaya

kualitas barang nya dan selalu siap sedia saat CV. Multi Citra Kimia ingin

membelinya.

8. Lalu dari menu utama (pembelian) tadi akan menuju kontrol aplikasi point

of sale untuk memproses permintaan.

9. Selanjutnya dari kontrol aplikasi akan memberi pesan kalau barang yang

disimpan telah tampil.

10. Selanjutnya admin gudang akan memasukkan total bayar dan memilih

tombol simpan.

72

11. Layout menu utama atau layout pembelian tadi akan menuju control

aplikasi untuk memproses simpan data tersebut.

12. Terakhir admin gudang dapat memilih tombol cetak dan akan masuk ke

proses kontrol aplikasi terlebih dahulu.

13. Dan layout cetak telah tampil dan laporan record pembelian barang bisa

dicetak.

Disini admin gudang akan menelpon sang supplier untuk membeli barang. Atau

admin gudang menelpon supplier pertama sebelum membuat record. Karena supplier

disini tidak memiliki hak akses aplikasi point of sale tersebut.

3.7.18 Sequence Diagram (Input Data Barang)

Gambar 3.19 Sequence Diagram (Input Data Barang)

73

Gambar diatas adalah gambar sequence diagram dari alur input data barang

yang dilakukan oleh admin gudang. Berikut ini adalah penjelasannya:

1. Admin Gudang yang sudah login, langsung masuk ke form input data

barang yang ada di layout barang dan memasukkan data-data barang.

2. Lalu selanjutnya akan diproses didalam kontrol aplikasi.

3. Lalu dari proses kontrol akan langsung menuju database barang/data barang

dan data telah tersimpan.

4. Dari layout data barang ke kontrol data diaplikasi dan akan membuat pesan

kalau data barang berhasil tersimpan.

5. Terakhir dari form input data barang di layout barang akan menampilkan

pesan kalau barang berhasil disimpan.

74

3.7.19 Sequence Diagram (Edit Data Barang)

Gambar 3.20 Sequence Diagram (Edit Data Barang)

Gambar diatas adalah gambar sequence diagram dari alur edit data barang.

Berikut ini adalah penjelasan mengenai gambar diatas:

75

1. Pertama-tama admin gudang yang sudah melakukan login aplikasi point of

sale akan menuju ke menu barang untuk menginput data barang didalam

form input barang.

2. Setelah menginputkan kode barang, maka akan menuju kontrol data/kontrol

aplikasi untuk di transfer ke data barang untuk melakukan pencarian

otomatis didalam aplikasi.

3. Didalam data barang/database barang yang ada didalam aplikasi akan

melakukan proses pencarian data barang tersebut.

4. Jika data barang tidak ditemukan, akan langsung ke menu layout input

barang dengan pesan data tidak ditemukkan.

5. Jika barang ditemukan, maka sama yaitu dari data barang akan menuju

layout input barang dan akan muncul pesan kalau barang ditemukkan dan

data barang akan tampil.

6. Selanjutnya admin gudang akan mengubah data barang di layout input

barang dengan memilih tombol edit terlebih dahulu.

7. Dari layout barang akan di lanjutkan di kontrol data untuk di proses dan

selanjutnya menuju data barang.

8. Didalam data barang, akan melakukan proses sendiri sesuai request admin

gudang tadi untuk melakukan perubahan data barang.

9. Setelah data berhasil dirubah, maka dari database barang didalam aplikasi

akan menuju langsung ke layout pertama tadi yaitu layout for input barang

dan akan ditampilkan kepada admin gudang kalau data barang berhasil

diubah.

10. Terakhir data barang yang sudah dirubah tadi akan tampil.

76

3.7.20 Sequence Diagram (Membuat Laporan)

Gambar 3.21 Sequence Diagram (Membuat Laporan)

77

Gambar diatas adalah gambar sequence diagram dari alur membuat laporan. Ini

dilakukan oleh 2 user yaitu Pegawai Toko dan Admin Gudang. Berikut ini adalah

penjelasan mengenai gambar yang tertera diatas:

1. Pertama-tama pegawai toko dan admin gudang melakukan login aplikasi

terlebih dahulu.

2. Pegawai toko dan admin gudang memasukkan username dan password

didalam layout login aplikasi point of sale tersebut.

3. Username dan password yang dimasukkan akan diproses didalam control

aplikasi.

4. Lalu menuju data user dan didalam data user tersebut akan dicek dan

divalidasi

5. Jika username dan password yang dimasukkan tidak sesuai, maka dari data

user langsung menuju layout aplikasi akan memberi pesan kalau login

gagal. Username dan password yang dimasukkan tidak sesuai.

6. Dan dari layout login/aplikasi sendiri akan langsung menampilkan pesan

gagal login tersebut kepada Pegawai toko dan admin gudang.

7. Jika login telah berhasil, maka dari data user ke layout login akan membawa

notifikasi kalau login telah berhasil dan menampilkannya kepada user.

8. Setelah berhasil, maka dari data user akan menuju menu utama/layout

dashboard utama.

9. Dari menu utama akan menampilkan dashboard utama aplikasi point of sale

tersebut.

10. Selanjutnya user akan memilih menu laporan.

11. Dari dashboard utama akan menuju menu laporan/layout laporan.

12. Laporan dari berbagai jenis akan muncul.

13. Tampilan laporan akan ditampilkan kepada user.

14. Selanjutnya user akan memilih jenis laporan dan memasukkan tanggal

mulai dan tanggal akhir didalamnya.

78

15. Di layout laporan akan mencari laporan yang sedang dicari oleh user.

Sistem aplikasi yang ada didalam layout laporan akan mencarinya.

16. Setelah laporan tampil, akan menampilkan laporan tersebut kepada user.

17. Setelah itu user memilih menu print.

18. Dari layout laporan ke kontrol aplikasi akan menuju layout cetak

19. Terakhir user dapat mencetak laporan tersebut.

3.7.21 Sequence Diagram (Melihat Laporan)

Gambar 3.22 Sequence Diagram (Melihat Laporan)

79

Gambar diatas adalah gambar sequence diagram dari alur melihat laporan. Ini

dilakukan oleh pemilik toko jika ingin melihat data laporan secara langsung lewat

aplikasi. Berikut ini adalah penjelasan mengenai gambar diatas:

1. Pertama pemilik toko akan melakukan login didalam aplikasi point of sale

terlebih dahulu.

2. Setelah itu pemilik toko akan memilih menu laporan.

3. Lalu permintaan tersebut akan menuju ke kontrol aplikasi (kontrol laporan).

4. Didalam form laporan, jenis laporan yang dipilih oleh pemilik akan muncul

5. Dan dari kontrol laporan ke form laporan hingga ke pemilik akan

ditampilkan laporan tersebut.

3.7.22 Sequence Diagram (Logout)

Gambar 3.23 Sequence Diagram (Logout)

80

Gambar diatas adalah gambar sequence diagram dari alur logout aplikasi point

of sale. Ini dilakukan oleh semua user (Pegawai Toko, Admin Gudang dan Pemilik

Toko). Berikut ini adalah penjelasannya:

1. Pertama user akan ke form logout.

2. Setelah itu menuju kontrol aplikasi untuk menuju menu logout.

3. User akan mengklik logout dan keluar aplikasi.

3.7.23 Class Diagram Aplikasi Point Of Sale

Gambar 3.24 Class Diagram Aplikasi Point Of Sale

Gambar diatas adalah gambar dari class-class yang ada didalam aplikasi point

of sale nantinya. Semua saling berhubungan dan semua memiliki peran dan manfaat

masing-masing. Ada Login aplikasi, transaksi, detail transaksi, barang, pembeli, struk,

81

admin gudang, pegawai toko, pemilik toko, laporan dan terakhir adalah logout. Semua

saling berhubungan kepada satu sistem yaitu sistem aplikasi point of sale.

3.7.24 User Interface Login

Gambar 3.25 User Interface Login Aplikasi Point Of Sale

Gambar diatas adalah gambar dari user interface login dari sistem aplikasi point

of sale. Disini yang dapat melakukan login ada 3 aktor yaitu Pemilim Toko, Pegawai

Toko(Kasir) dan juga Admin Gudang. Tampilan terlihat sederhana namun sudah cukup

untuk desain sebuah point of sale.

82

3.7.25 User Interface Dashboard Utama (Pemilik Toko)

Gambar 3.26 User Interface Dashboard Utama untuk Pemilik Toko

Diatas adalah gambar user interface dari dahboard utama jika login sebagai

pemilik toko. Disini pemilik toko dapat melihat secara lengkap tentang pengeluaran,

pendapatan, penjualan dan pembelian. Di dashboard ini khusus pemilik toko

ditampilkan 2 grafik sekaligus. Grafik penjualan dan pembelian. Pemilik toko dapat

membuka aplikasi karena juga memiliki hak untuk melihat laporan secara langsung

83

dari aplikasi point of sale tersebut. Dan menu bar yang ada disebelah kiri juga tampil

secara lengkap.

Dan di samping grafik, jika ada stok barang yang mendekati habis, maka akan

di beritahu tentang jumlah stok dan nama barangnya di dashboard utama. Tidak hanya

pemilik toko, pegawai toko dan admin gudang akan juga diberi tahu di tabel dashboard

tersebut jika ada barang yang mendekati habis stok dan di gambar notifikasi akan

muncul juga. Untuk logout user dapat mengklik gambar user (Gambar orang) yang ada

di sebelah kanan atas disamping gambar notifikasi.

3.7.26 User Interface Dashboard Utama (Pegawai Toko)

Gambar 3.27 User Interface Dashboard Utama untuk Pegawai Toko

Diatas adalah gambar yang sama yaitu halaman layout dashboard utama, hanya

diatas ini adalah gambar tampilan user interface dashboard utama untuk pegawai toko

(kasir) jika masuk kedalam aplikasi point of sale. Disini pegawai toko hanya

84

ditampilkan tentang grafik penjualan dan pendapatan saja. Dan menu-menu yang ada

di sebelah kiri juga simple dan memiliki menu penjualan karena pegawai toko hanya

melakukan aktivitas didalam aplikasi point of sale untuk transaksi penjualan kepada

pelanggan terdata (Langganan) dan pelanggan null(random).

Dan pegawai toko juga dapat mencetak laporan di menu laporan. Transaksi

dengan pelanggan, pelanggan bisa memesan barang dengan membuka web khusus

untuk pelanggan. Nanti didalam lambang notifikasi saat pegawai toko sudah login,

maka akan muncul angka 1 (artinya ada sebuah pesan). Disini notifikasi bisa

memberikan kalau ada barang pesanan atau stock barang sudah mendekati habis.

3.7.27 User Interface Dashboard Utama (Admin Gudang)

Gambar 3.28 User Interface Dasboard Utama untuk Admin Gudang

Diatas adalah gambar dari user interface dashboard utama untuk admin gudang.

Disini hampir sama seperti dashboard milik pegawai toko hanya saja untuk admin

85

gudang mengacu kepada pembelian dan pengeluaran. Admin gudang memiliki tugas

dan tanggung jawab akan ketersediaan stok barang yang ada di CV. Multi Citra Kimia.

Dan supplier yang memiliki kerja sama dengan CV. Multi Citra Kimia adalah supplier

bahan-bahan kimia yang terlenkap se-indonesia dan terpercaya dan sudah tercantum

didalam aplikasi point of sale ini nama-nama perusahaan supplier tersebut.

Supplier tidak memiliki/tidak dapat login karena tidak masuk kedalam sistem

aplikasi point of sale ini. Hanya untuk ruang lingkup CV. Multi Citra Kimia sendiri.

Saat barang-barang ada yang kurang jumlah stok nya, maka aplikasi ini akan

menampilkan di notifikasi dan dashboard utama admin gudang. Notifikasi yang ada di

admin gudang hanya berfungsi jika barang ada yang kurang dari stok normalnya. Dan

grafik yang dimiliki oleh admin gudang hanyalah grafik pembelian dan perhitungan

pembelian dan pengeluarang di setiap harinya.

3.7.28 User Interface Tabel Nama Barang

Gambar 3.29 User Interface Tabel Nama Barang

86

Selanjutnya gambar diatas adalah gambar dari user interface dari tabel nama-

nama barang yang di jual di CV. Multi Citra Kimia. Disini Pemilik Toko, Admin

Gudang dan Pegawai Toko bisa membuka tabel nama-nama barang tersebut dan juga

bisa mengedit atau menghapusnya.

3.7.29 User Interface Tabel Karyawan

Gambar 3.30 User Interface Tabel Nama Karyawan

Diatas adalah gambar user interface dari tabel nama-nama karyawan didalam

aplikasi point of sale. Disini dapat mereset akun, edit dan juga menghapus. Hal ini

hanya dapat dilakukan oleh pemilik toko didalam aplikasi point of sale ini karena admin

gudang dan pegawai toko tidak punya hak untuk merubah data karyawan.

87

3.7.30 User Interface Tabel Nama Pelanggan

Gambar 3.31 User Interface Tabel Nama Pelanggan

Diatas adalah tampilan dari user interface nama pelanggan. Disini dapat

dicantumkan pembeli langganan (dengan nama) atau tanpa nama(Pembeli Random).

Disini Pemilik dan juga Pegawai Toko dapat akses untuk mengubah nama-nama

pelanggan tersebut atau menghapusnya.

88

3.7.31 User Interface Penjualan

Gambar 3.32 User Interface Penjualan

Gambar diatas adalah gambar dari tampilan user interface untuk penjualan. Ini

diakses oleh pegawai toko (kasir). Saat ada pembeli datang membeli barang maka data

transaksi akan dimasukkan kedalam tabel ini seuai barang yang dibeli dan jumlahnya.

Penginputan ini dilakukan oleh pegawai toko. Disini, secara otomatis kode penjualan

sudah muncul secara random dan tidak dapat diubah dan barang dan jumlah yang di

cantumkan akan tampil di tabel. Kode barang, nama barang, dan lain-lainnya akan

muncul. Total bayar akan muncul dan sub total akan muncul saat kolom diskon terisi.

Saat menginput jumlah pembayaran, kolom kembalian akan otomatis muncul dari

sistem aplikasinya.

89

3.7.32 User Interface Pembelian

Gambar 3.33 User Interface Pembelian

Diatas adalah tampilan dari user interface pembelian. Ini hanya dapat diakses

oleh admin gudang saja. Hampir sama dengan user interface penjualan, hanya saja

kalau user interface pembelian tidak memakai diskon. Semua yang akan dibeli oleh

admin gudang akan diinput disini dan harus dilakukan. Sisanya, komunikasi antara

admin gudang dengan supplier adalah komunikasi call to call karena supplier tidak

masuk dalam sistem aplikasi point of sale ini.

90

3.7.33 User Interface Tambah Barang (Input Data Barang)

Gambar 3.34 User Interface Tambah Data Barang

Gambar diatas adalah tampilan user interface yang yang terhunung dengan tabel

barang. Yaitu tambah data barang. Disini bisa dilakukan oleh 3 aktor. Saat

menambahkan barang, maka harus memasukkan kode barang, nama barang, stok yang

tersedia, satuan, harga beli, harga jual, keuntungan dan kategori. Semua data harus

terisi sesuai dengan barang yang memang ingin dimasukkan. Selanjutnya tinggal pilih

tombol simpan.

91

3.7.34 User Interface Tambah Data Karyawan

Gambar 3.35 User Interface Tambah Data Karyawan

Gambar diatas adalah gambar tampilan user interface dari tambah data

karyawan. Ini dapat dilakukan oleh aktor (Pemilik Toko). Untuk menambah data, maka

harus memasukkan nama karyawan, alamat karyawan, no.telepon dan jabatan

karyawan yang ditambahkan tersebut. Setelah itu tinggal mengklik tombol simpan.

Maka data karyawan yang tadi diinputkan akan tersimpan.

92

3.7.35 User Interface Tambah Data Pelanggan

Gambar 3.36 User Interface Tambah Data Pelanggan

Diatas adalah gambar tampilan user interface tambah data pelanggan. Tidak

jauh berbeda dengan tambah data karyawan. Yang membedakan adalah, pelanggan

tidak memiliki jabatan apapun. Untuk menginputnya, harus memasukkan nama

pelanggan, alamat pelanggan, dan nomor teleponnya setelah itu simpan.

93

3.7.36 User Interface Tabel Supplier

Gambar 3.37 User Interface Tabel Supplier

Gambar diatas adalah tampilan user interface dari tabel supplier yang bekerja

sama dengan CV. Multi Citra Kimia. Nama-nama supplier ini di input oleh pemilik

toko didalam aplikasi. Disini dapat dilihat kalau tampilanmya tidak terlalu berlebihan

dan terkesan simple. Bisa kita tambahkan data supplier, edit atau menghapusnya.

94

3.7.37 User Interface Tambah Data Supplier

Gambar 3.38 User Interface Tambah Data Supplier

Gambar diatas adalah gambar dari tampilan user interface dari tambah data

supplier. Ini berhubungan dengan tabel data supplier yang ada digambar 3.37. Disini

yang dapat menambahkan data supplier adalah sang pemilik toko. Aktor pertama. Sama

seperti yang lainnya, pertama harus menginputkan nama supplier, alamat supplier dan

no.telepon/HP perusahaan supplier tersebut.

95

3.7.38 User Interface Laporan

Gambar 3.39 User Interface Laporan

Diatas adalah gambar dari tampilan user interface menu laporan. Seperti yang

dapat dilihat, ada 2 jenis laporan dan 2 jenis riwayat. Disini jika login sebagai pemilik

toko, makan seperti yang diatas ini tampilannya. Tampilan secaa lengkap. Jika login

sebagai pegawai toko, maka yang muncul hanya riwayat penjualan dan laporan

penjualan. Begitu juga sebaliknya dengan admin gudang. Hanya mendapatkan menu

riwayat pembelian dan laporan pembelian.

96

3.7.39 User Interface Laporan Penjualan

Gambar 3.40 User Interface Laporan Penjualan

Gambar diatas adalah isi dari menu laporan penjualan. Terlihat sangat simple

namun sudah memiliki penentuan tanggal. Disini pegawai toko hanya memasukkan

tanggal mulai dan tanggal akhir untuk mencetak suatu laporan penjualan karena

didalam CV. Multi Citra Kimia selalu ada pemeriksaan data penjualan setiap

minggunya.

97

3.7.40 User Interface Laporan Pembelian

Gambar 3.41 User Interface Laporan Pembelian

Diatas adalah adalah gambar dari user interface menu laporan pembelian. Tidak

ada yang berbeda dari laporan penjualan. Laporan pembelian dapat diakses oleh admin

gudang dan sama seperti laporan penjualan, dalam mencari laporan harus memasukkan

tanggal mulai dan tanggal akhir.

3.8 Pengujian

Pengujian sistem merupakan proses pengeksekusian sistem perangkat

lunak untuk menentukan apakah sistem tersebut berjalan sesuai yang diinginkan.

Pengujian sistem sering dihubungkan dengan pencarian bug. Ketidak sempurnaan

dan kesalahan pada program, sehingga terjadi kegagalan pada eksekusi perangkat

lunak.

Pengujian dilakukan dengan menguji setiap proses dan kemungkinan

kesalahan yang terjadi dari setiap proses. Pengujian yang dilakukan adalah Black

98

Box. Pengujian Black Box adalah merupakan pengujian yang berfokus pada

spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan

kondisi input dan melakukan pengetesan pada spesifikasi fungsional program.

3.8.1 Rencana Pengujian

Persiapan yang dilakukan dalam melakukan rencana pengujian adalah sebagai

berikut:

a. Menyiapkan laptop atau komputer yang dapat terhubung dengan

jaringan internet, agar dapat membuka situs website ini atau sementara

menggunakan Localhost.

b. Memasukkan alamat URL website.

c. Melakukan proses pengujian sistem.

d. Mencatat hasil pengujian sistem

98

BAB IV

HASIL DAN PEMBAHASAN

4.1 Hasil

Setelah melakukan analisis dan perancangan maka pada bab ini, akan

dilanjutkan dengan hasil dan pembahasan dari rancang bangun sistem pada aplikasi

point of sale sederhana menggunakan menggunakan php.

4.1.1 Spesifikasi Sistem

Dalam tahap ini akan dijelaskan tentang spesifikasi perangkat keras dan lunak

serta bahasa pemograman yang dipakai dalam penelitian ini yaitu:

1. Perangkat keras

Perangkat keras yang digunakan dalam penelitian ini, yaitu laptop sebagai

perangkat untuk melalukan coding program aplikasi. Adapun spesifikasi

laptop yang digunakan dalam penelitian ini adalah sebagai berikut:

a. Laptop Asus X452E

b. Processor: Processor AMD E1 2500

c. Memory: 10 GB RAM

d. Display: 1366 x 768 pixel

2. Perangkat Lunak

Perangkat lunak yang digunakan didalam penelitian ini adalah sebagai berikut:

a. Sistem Operasi Windows 10

b. MySQL (Versi PHP 7.3.3 Terbaru)

c. Sublime Text 3

99

d. XAMPP (Versi 3.2.3)

e. Google

4.1.2 Implementasi Tampilan Sistem

Implementasi merupakan tahap akhir dalam pembangunan sistem, yang

dimana pada tahap ini sistem akan diimplementasikan. Implementasi antar muka

dari perangkat lunak dilakukan berdasarkan rancangan yang telah dilakukan.

Implementasi antarmuka ditampilkan dalam bentuk screenshoot dari laptop

yang digunakan sebagai alat dan bahan penelitian yang telah dirincikan pada BAB

III. Aplikasi Point Of Sale ini hanya dapat di akses 3 aktor yaitu pemilik toko, pegawai

toko dan admin gudang. Masing-masing memiliki hak tersendiri dan isi didalam

aplikasinya nanti masing-masing tidak semua sama. Adapun hasil dari implementasi

sistem yaitu sebagai berikut:

a. Antarmuka Menu Login Aplikasi Point Of Sale

Merupakan tampilan pertama sistem yang muncul sementara

sebelum masuk ke menu utama.

Gambar 4.1 Antarmuka Login Aplikasi Point Of Sale

100

Pada gambar 4.1 diatas merupakan tampilan halaman login yang

berfungsi untuk menampikan halaman login dimana pengguna harus menginput

username dan password terlebih dahulu sebelum mengakses aplikasi tersebut.

Setelah itu, data yang sudah diinput tersimpan kedalam database untuk pengguna

yang baru pertama kali mengakses aplikasi ini, setelah mengisi username dan

password kemudian tekan tombol login.

b. Menu Utama (Pemilik Toko)

Gambar 4.2 Antarmuka Menu Utama Untuk Pemilik Toko

Pada gambar 4.2 diatas merupakan tampilan halaman menu utama

untuk pemilik toko yang berfungsi untuk menampikan informasi penjualan

barang, dan beberapa pilihan informasi seperti data pelanggan, stories

pembelian, dan data supplier. Pemilik Toko memiliki tampilan yang lebih

lengkap daripada Pegawai Toko dan Admin Gudang.

101

c. Menu Utama (Untuk Pegawai Toko)

Gambar 4.3 Antarmuka menu utama untuk Pegawai Toko

Pada gambar 4.3 adalah tampilan menu utama jika login sebagai

pegawai toko/kasir. Yang tampil untuk pegawai toko adalah hal-hal yang

menyangkut tantang transaksi penjualan barang dengan pembeli.

d. Menu Utama (Untuk Admin Gudang)

Gambar 4.4 Antarmuka menu utama untuk Admin Gudang

102

Pada gambar 4.4 adalah tampilan menu utama jika login sebagai admin

gudang. Hal-hal yang terkait hanyalah seputar pembelian barang dengan

supplier.

e. Menu Barang

Gambar 4.5 Antarmuka Menu Barang

Pada gambar diatas adalah tampilan dari menu barang. Memunculkan

list barang-barang yang dijual. Data barang dapat ditambah dan di edit serta

dapat dihapus.

103

f. Tambah Barang

Gambar 4.6 Antarmuka Tambah Data Barang

Gambar diatas adalah tampilan antarmuka saat memilih tombol tambah

barang. Setelah memilih maka akan langsung masuk ke layout ini. Data dapat

ditambah dengan mengisi data-data yang tersedia didalam kolom.

g. Edit Data Barang

Gambar 4.7 Antarmuka Edit Data Barang

104

Gambar diatas adalah tampilan antarmuka dari edit data barang jika kita

memilih tombol edit. Sama dengan tambah data, saat edit, tampilan tidak terlalu

berbeda. Hanya saja sudah terisi data barang yang akan kita edit.

h. Menu Pelanggan

Gambar 4.8 Antarmuka menu pelanggan

Gambar diatas ini adalah gambar dari tampilan antarmuka saat masuk

ke menu pelanggan. Semua list-list nama-nama pelanggan akan muncul dan

semua dapat di edit dan juga dihapus datanya.

105

i. Menu Tambah Pelanggan

Gambar 4.9 Antarmuka menu tambah pelanggan

Gambar diatas adalah antarmuka dari menu tambah pelanggan. Saat kita

menekan tombol tambahkan pelanggan, maka selanjutnya akan muncul ke

tampilan ini dan kita harus mengisi data pelanggan yang ingin ditambahkan.

j. Menu Edit Data Pelanggang

Gambar 4.10 Antarmuka Edit Data Pelanggan

106

Pada gambar diatas adalah tampilan edit data pelanggan jika kita

menargetkan data mana yang ingin diedit, hanya mengklik tombol edit,

selanjutnya akan menuju layout seperti gambar diatas. Setelah itu dapat

mengedit data pelanggan dan memilih simpan.

k. Menu Karyawan

Gambar 4.11 Antarmuka Menu Karyawan

Gambar diatas adalah tampilan yang akan muncul jika kita memilih

menu karyawan. Berisi list pegawai yang bekerja. Termasuk ada pemilik toko

tersebut.

107

l. Menu Tambah Data Karyawan

Gambar 4.12 Antarmuka Tambah Data Karyawan

Gambar diatas ini adalah tampilan antarmuka jika memilih tombol

tambah karyawan, maka dapat menambah data karyawan kedalam aplikasi.

m. Menu Edit Data Karyawan

Gambar 4.13 Antarmuka Edit Data Karyawan

108

Gambar diatas adalah gambar antarmuka edit data karyawan. Kita dapat

mengedit data karyawan jika login menjadi pemilik toko. Mengisi semua data

dan menyimpannya kembali.

n. Menu Data Supplier

Gambar 4.14 Antarmuka Data Supplier

Gambar diatas adalah gambar tampilan antarmuka dari isi menu

supplier. Berisi data-data supplier. Disini dapat mengedit dan menghapus

datanya juga.

o. Menu Tambah Supplier

Gambar 4.15 Antarmuka Tambah Supplier

109

Gambar diatas adalah tampilan jika memilih untuk menambahkan data

supplier baru di aplikasi.

p. Menu Edit Data Supplier

Gambar 4.16 Antarmuka Edit Data Supplier

Gambar diatas adalah tampilan antarmuka saat ingin edit data supplier

didalam aplikasi. Kita dapat merubah data tersebut jika login sebagai pemilik

toko.

q. Menu Laporan

Gambar 4.17 Antarmuka Menu Laporan

110

Gambar diatas adalah isi dari menu laporan. Laporan tersedia dari

berbagai jenis.

r. Menu Laporan Penjualan

Gambar 4.18 Antarmuka Menu Laporan Penjualan

Gambar diatas adalah tampilan antarmuka menu laporan penjualan. Kita

dapat memasukkan tanggal awal dan tanggal akhir dan setelah itu pilih tombol

cari untuk mencari data laporan tersebut.

111

s. Menu Laporan Pembelian

Gambar 4.19 Antarmuka Menu Laporan Pembelian

Gambar diatas tidak berbeda dengan laporan penjualan. Kita dapat

mencari data laporan pembelian dengan memasukkan tanggal awal dan tanggal

akhir.

t. Menu Riwayat Penjualan

Gambar 4.20 Antarmuka Riwayat Penjualan

112

Gambar diatas adalah gambar dari tampilan riwayat penjualan dari

semua baranng yang terdata secara rapih. Detail untuk melihat detail

penjualannya.

u. Menu Riwayat Pembelian

Gambar 4.21 Antarmuka Riwayat Pembelian

Gambar diatas adalah gambar dari tampilan antarmuka dari riwayat

pembelian. Sama seperti dapa gambar sebelumnya di riwayat penjualan, di

riwayat pembelian akan ditampilkan list-list tentang history transaksi

pembelian barang yang sudah pernah dilakukan.

113

v. Menu Transaksi Penjualan

Gambar 4.22 Antarmuka Menu Penjualan

Gambar diatas adalah gambar dari tampilan antarmuka menu penjualan

yang hanya bisa diakses oleh pegawai toko. Pada gambar diatas, terlihat jelas

jika transaksi sedang berlangsung, pegawai toko dapat memasukkan semua

data-data tentang barang yang dibeli oleh pembeli danberapa jumlahnya. Lalu

memilih tombol tambahkan. Setelah itu akan tampil diposisi tengah.

Senlanjutnya memasukan kolom nominal uang sesuai nominal uang yang

pembeli berikan dan jika mendapatkan diskon maka otomatis harga akan

berkurang. Tegantung berapa besar diskon yang digunakan. Selanjutnya dapat

memilih tombol cetak untuk mencetak struk dan memberikannya kepada

pembeli sebagai bukti pembelian barang.

114

w. Tampilan Struk Penjualan

Gambar 4.23 Antarmuka Layout Struk Penjualan

Gambar diatas ini adalah antarmuka dari tampilan struk jika sebelumnya

pegawai toko memilih tombol cetak saat transaksi dengan pembeli. Struk ini

diperlukan untuk pelanggan sebagai bukti kalau pembeli sudah membeli barang

di toko ini.

x. Menu Transaksi Pembelian

Gambar 2.24 Antarmuka Menu Pembelian

115

Gambar 2.24 ini adalah antarmuka dari tampilan menu pembelian. Ini

hanya dapat diakses oleh admin gudang. Menu ini dipakai sendiri untuk

menedata barang apa aja yang harus dibeli, memasukkan nama supplier lalu

berapa jumlah barang yang dibeli. Setelah mengklik tambahkan, maka akan

muncul di tampilan tengah. Tentang barang yang dibeli. Senlanjutnya

memasukka nominal pembayaran dan klik simpan untuk menyimpan datanya.

Terakhir dapat memilih tombol cetak.

y. Tampilan Struk Pembelian

Gambar 2.25 Antarmuka Struk Pembelian Barang

Gambar 2.25 ini adalah gambar antarmuka dari tampilan struk

pembelian barang. Ini dilakukan saat pembelian barang antara admin gudang ke

supplier. Tampilan struknya tidak jauh berbeda dengan tampilan struk untuk

transaksi penjualan.

116

4.1.3 Hasil Pengujian

Berdasarkan rencana pengujian aplikasi seperti diatas, maka dapat dilakukan

pengujian sebagai berikut ini:

Tabel 5 Pengujian Black Box Testing

No Item

Pengujian

Detail

Pengujian

Hasil yang

Diharapkan

Hasil Pengujian

1 From Login Username User dan

admin tidak

dapat

masuk jika

username

salah

atau tidak

sesuai dengan

database

OK

Login User dan

admin tidak

dapat

masuk jika

pasword salah

atau

tidak sesuai di

database

OK

2 Menu Utama Dashboard Menampilkan

Menu yang

diharapkan

OK

3 Layout Barang Menu Barang Menampilkan

List barang-

barang yang

dijual

OK

117

Tombol

Tambah

Barang

Manmbahkan

barang yang

dijual dan

muncul

kolom-kolom

untuk diisi

datanya

OK

Tombol Edit Masuk ke

layout edit

data barang

dan muncul

kolom-kolom

dengan

keterangan

data yang

dipilih tadi

untuk

mengedit data

barang yang

dipilih

OK

Tombol Hapus Langsung

menghapus

data yang

dipilih

OK

Tombol

Simpan

Menyimpan

data barang

yang selesai

diedit

OK

4 Layout

Supplier

Menu Supplier Menampilkan

list supplier

yang

tercantum

didatabase

OK

Kolom Search Dapat mencari

nama

perusahaan

OK

118

supplier

dengan cepat

Tombol

Tambah

Supplier

Menuju layout

untuk

menambah

data supplier

lain

OK

Tombol Edit Menuju

Layout untuk

edit data

supplier

dengan

keterangan

data supplier

yang kita pilih

OK

Tombol

Simpan

Untuk

menyimpan

data supplier

yang selesai

kita ubah

OK

Tombol Hapus Langsung

menghapus

data supplier

OK

5 Layout

Pelanggan

Menu

Pelanggan

Menampilkan

list-list daftar

pelanggan

yang

tercantum

OK

Kolom Search Mencari data

pelanggan

dengan cepat

OK

Tombol

Tambah

Pelanggan

Menuju layout

untuk

menambahkan

data

OK

119

pelanggan

yang lainnya

Tombol Edit Menuju layout

untuk

pengeditan

data

pelanggan

dengan semua

kolom berisi

data-data

pelanggan

yang ingin

kita edit

datanya

OK

Tombol

Simpan

Menyimpan

data

pelanggan

yang selesai

kita edit

OK

Tombol Hapus Langsung

menghapus

data

pelanggan

dalam list

OK

6 Layout

Karyawan

Menu Data

Karyawan

Menampilkan

list-list

karyawan

yang bekerja

OK

Kolom Search Mencari Data

secara cepat

OK

Tombol

Tambah

Karyawan

Menuju layout

tambah data

OK

Tombol

Simpan

Menyimpan

data yang

OK

120

telah di

tambah

Tombol Reset

Akun

Untuk mereset

akun secara

menyeluruh.

Layout akan

berkedip 1

detik

OK

Tombol Edit Menuju layout

edit data

karyawan

OK

Tombol Hapus Langsung

menghapus

data dengan

cepat

OK

7 Layout

Laporan

Menu laporan

dan riwayat

dari penjualan

dan pembelian

Jenis laporan

tampil

OK

Laporan

Penjualan

Dapat tanggal

awal dan

tanggal akhir

untuk

mencetak

laporan

OK

Tombol Cari Mencari

laporan yang

sudah

dimasukkan

tanggal awal

dan tanggal

akhir

OK

Laporan

Pembelian

Dapat tanggal

awal dan

tanggal akhir

OK

121

untuk

mencetak

laporan

Tombol Cari Mencari

laporan yang

sudah

dimasukkan

tanggal awal

dan tanggal

akhir

OK

8 Menu

Transaksi

Penjualan

Layout

Penjualan

Menampilkan

kolom-kolom

data untuk

diisi sesuai

transaksi yang

sedang

berlangsung

OK

Tombol

Tambahkan

Menambahkan

jumlah barang

yang dibeli

OK

Tombol

Simpan

Menyimpan

barang yang

dibeli kedalam

data laporan

OK

Tombol Cetak Mencetak

Struk

Pembelian

OK

9 Menu

Pembelian

(Dilakukan

oleh admin

gudang)

Layout

Pembelian

Menampilkan

kolom-kolom

data untuk

diisi sesuai

pembelian

yang

dilakukan

admin gudang

OK

122

dengan

supplier

Tombol

Tambahkan

Menambahkan

jumlah barang

yang dibeli

OK

Tombol

Simpan

Menyimpan

barang yang

dibeli kedalam

data laporan

OK

Tombol Cetak Mencetak

Struk

Pembelian

OK

10 Logout User Logout Langsung

keluar dari

aplikasi dan

jika ingin

masuk

kembali maka

harus login

kembali

OK

4.2 Pembahasan Hasil Pengujian

Seperti yang sudah dijelaskan sebelumnya, aplikasi point of sale ini dirancang

dengan menggunakan metode prototyping. Karena pengembangannya cepat dan sangat

menghemat waktu. Dan aplikasi ini hanya untuk skala kecil. Yaitu hanya untuk CV.

Multi Citra Kimia. Aplikasi point of sale ini sederhana dan sudah mampu membuat

pendataaan menjadi rapi, dapat mengetahui stok barang dan menjadi neraca/perhitungan

keuangan untuk CV. Multi Citra Kimia.

Menurut penelitian Izharyan Iqbal pada tahun 2015, Aplikasi Point of

Sale/Aplikasi Penjualan yang berbasis web sangat bagus karena mampu

mendokumentasikan dan menghasilkan laporan secara detail mengenai hal-hal yang

123

berkaitan dengan proses jual – beli dan transaksi yang dilakukan oleh pihak customer

dan gudang sehingga mempermudah aktivitas dan pengawasan terhadap unit- unit bisnis

yang dimiliki oleh perusahaan serta dapat mengakomodasi aktivitas jual – beli dan

pelayanan yang dilakukan dengan lebih cepat dan efisien. Admin Gudang dapat

mengetahui stok barang terkini di aplikasi dan customer juga dapat dengan mudah

mendapatkan informasi terkini terkait produk barang yang disediakan oleh perusahaan

[18].

Dalam aplikasi Point of Sale juga dibutuhkan sistem yang dapat menghitung

neraca keuangan secara otomatis sama seperti fungsi dari aplikasi keuangan. Menurut

Heribertus Yulianton dan kawan-kawan pada penelitiannya yang berjudul Rancang

Bangun Sistem Informasi Keuangan Berbasis Area untuk Pengusaha Kecil (Studi Kasus

Batik Wijayanti Semarang) pada tahun 2014, Untuk memudahkan perusahaan dalam

mengelola keuangan dibutuhkan kecermatan dalam pencatatan kejadian-kejadian yang

terkait dengan keuangan. Dengan memanfaatkan teknologi berbasis web

memungkinkan perusahaan yang memiliki wilayah operasional lebih dari satu tempat

dapat membantu perusahaan mengelola transaksi keuangannya dengan tepat, cermat

dan akuntabel dalam waktu yang lebih cepat. Karena sistem informasi keuangan yang

berbasis web dapat diakses secara bersamaan di beberapa tempat sekaligus [19].

124

BAB V

PENUTUP

5.1 Kesimpulan

Berdasarkan dengan uraian-uraian diatas dan pembahasan pada bab

sebelumnya mengenai aplikasi Point Of Sale untuk CV. Multi Citra Kimia, maka dapat

di simpulkan sebagai berikut:

1. Aplikasi yang dirancang menggunakan PHP berbasis web dan MySQLi

serta control panel XAMPP, dalam pengolahan data transaksi penjualan dan

pembelian stok barang, akan secara otomatis berkurang dan bertambah serta

pendataan menjadi lebih rapih dalam aplikasi Point Of Sale ini.

2. Dengan aplikasi ini, admin gudang dapat melihat stok sisa di list barang

tanpa harus menghitung satu persatu. Stok barang dapat dilihat juga oleh

calon pembeli jika dia ingin membeli suatu barang di CV. Multi Citra Kimia

agar tau ada berapa jumlah stok barang yang tersisa. Ini akan mengurangi

masalah jika pembeli ingin membeli barang dan barang telah habis.

3. Dengan aplikasi point of sale ini dapat menghitung pendapatan dan

pengeluaran uang secara otomatis yang ditampilkan di dashboard utama.

Serta menampilkan jumlah transaksi pembelian dan penjualan.

5.2 Saran

Berdasarkan penyusunan laporan dan kesimpulan diatas, penulis akan

memberikan saran yang dapat dijadikan bahan pertimbangan untuk penelitian

selanjutnya, yaitu diantaranya :

1. Untuk tiga aktor aplikasi ini (Pemilik, Pegawai Toko, Admin Gudang)

diharapkan belajar dan berlatih terlebih dahulu sebelum mengoperasikan

125

program ini, agar dapat dengan mudah mengoprasikan program ini dengan

baik.

2. Diharapkan untuk penelitian selanjutnya dapat menyempurnakan aplikasi

point of sale berbasis web dengan semua calon pelanggan yang memesan

lewat alamat link atau membeli secara langsung, dapat menampilkan nama-

nama calon pelanggan di menu laporan penjualan, di struk dan di dalam

aplikasinya.

126

DAFTAR PUSTAKA

[1] D. A. N. Dampaknya and T. Kehidupan, “Perkembangan Teknologi Informasi, Vol. X

No. 2, Juli-Desember 2009 195,” vol. X, no. 2, pp. 195–211.

[2] P. Bisnis, “PENGARUH TEKNOLOGI INFORMASI DALAM PERKEMBANGAN

BISNIS Setyaningsih Sri Utami Fakultas Ekonomi Universitas Slamet Riyadi

Surakarta,” pp. 61–67.

[3] M. Ferdika, H. Kuswara, and K. Kunci, “Sistem Informasi Penjualan Berbasis Web

Pada PT Era Makmur Cahaya Damai Bekasi,” vol. 1, no. 2, pp. 175–188, 2017.

[4] T. Bagi, U. Kecil, and D. A. N. Menengah, “Jurnal Economia ,” vol. 8, 2012.

[5] I. Rizki, R. A. S. P, Y. Yuniati, and A. L. Belakang, “Pembuatan Sistem Informasi

Penjualan Berbasis Web ( Studi Kasus pada Toko Ali Computer ).”

[6] S. C. Cahyodi and R. W. Arifin, “Sistem Informasi Point Of Sales Berbasis Web Pada

Colony Amaranta Bekasi,” vol. 1, no. 2, pp. 189–204, 2017.

[7] S. Aneka, S. Puspasari, and H. Sunardi, “Sistem Informasi Penjualan Pupuk Berbasis

Web,” vol. 14, no. 1, 2018.

[8] T. G. Yuarita, F. Marisa, J. T. Informatika, and U. W. Malang, “PERANCANGAN

APLIKASI POINT OF SALES ( POS ) BERBASIS WEB MENGGUNAKAN

METODE SIKLUS HIDUP,” pp. 167–171, 2010.

[9] P. Pt and M. Jati, “Sistem Informasi Penjualan Berbasis Web,” pp. 43–57, 1970.

[10] P. Cv and G. Multi, “SISTEM INFORMASI PENJUALAN KAWAT BERBASIS

WEB ISBN : 978-602-72850-3-3 INF-577,” pp. 576–581.

[11] S. Dian, H. Permana, F. Telematika, U. Trilogi, and U. M. Language, “ANALISA DAN

PERANCANGAN APLIKASI POINT OF SALE ( POS ) UNTUK MENDUKUNG

MANAJEMEN HUBUNGAN PELANGGAN,” vol. 2, no. 1, pp. 20–28, 2015.

[12] M. John and F. Nash, “Pengertian Sistem Informasi,” 1995.

[13] B. Loardy, B. Bunawan, and P. Hartono, “Aplikasi Point Of Sales Yang Terhubung

Dengan Electronic Data Capture,” no. Lc, pp. 3–6.

[14] B. A. B. Ii and T. Pustaka, “Pengertian Penjualan Basu Swasta,” 2004.

[15] B. A. B. Ii and L. Teori, “Database Menurut Para Ahli,” pp. 1–26.

[16] “Pengertian Basis Data,” pp. 6–56, 2011.

[17] E. Munawaroh et al., “Perancangan aplikasi rekam medis klinik bersalin baiturrahman

menggunakan metode object oriented,” pp. 1–10, 1999.

[18] F. R. Industri, “PERANCANGAN APLIKASI PENJUALAN BERBASIS WEB

DENGAN METODE PROTOTYPING PADA CV KHATULISTIWA,” vol. 2, no. 1,

127

pp. 1083–1097, 2015.

[19] H. Yulianton, F. Andreas, and S. Mulyani, “Rancang Bangun Sistem Informasi

Keuangan Berbasis Area untuk Pengusaha Kecil ( Studi Kasus Batik Wijayanti

Semarang ),” vol. 19, no. 2, pp. 137–143, 2014.

128

LAMPIRAN

1. Wawancara Penelitian

Profil Narasumber

Nama Narasumber : Susanto Santoso

Umur : 54 Tahun

Jenis Kelamin : Laki-laki

Jabatan : Pemilik Toko

Berikut ini adalah sesi wawancara tanya jawab antara peneliti dengan pemilik

toko:

1. Pada tahun berapa pertama kali toko ini didirikan?

Jawab: Pertama kali didirikan pada tahun tahun 2007 dan berlokasi di JL.

Tegal Gede, No. 29 Rt 9, Rw 10, Cikarang Selatan, Bekasi, Jawa Barat,

Indonesia.

2. Ada berapa jumlah pegawai di toko ini:

Jawab: Memiliki 20 orang pegawai

3. Apakah sistem penjualan disini masih menggunakan cara manual?

Jawab: Ya. Semua sistem yang ada disini masih manual. Untuk mendata

transaksi penjualan dan pembelian masih menggunakan buku tulis.

4. Apa kendala yang terjadi selama ini didalam sistem penjualan ditoko ini yang

masih manual?

Jawab: Kendala nya adalah sering terjadinya penumpukan di ruang data

mengingat toko kami masih menggunakan sistem manual untuk pendataan.

Dan untuk mencari laporan yang saya perlukan, terkadang pegawai harus

mencari-cari dulu dan memakan waktu. Dan lagi juga pernah mengalami

129

kerusakan pada buku catatan data yaitu basah terkena hujan. Dan banyak

saya lihat juga pembeli yang datang mau beli barang, barang habis. Lalu

perhitungan pengeluaran dan pendapatan yang setiap sore dihitung, kadang

suka tidak sesuai. Sering terjadi kurang uang. Entah itu Rp.3000 atau berapa

pun tapi itu juga tidak terlalu sering

5. Apakah bapak Santoso selaku pemilik toko, ingin untuk merubah sistem

penjualan menjadi terkomputerisasi?

Jawab: Ya. Karena sudah menggunakan semua secara manual itu sejak toko

ini didirikan. Dan ingin beralih menggunakan aplikasi yang bisa digunakan

untuk mendata barang, pegawai, pelanggan, nama barang, nama supplier,

mendata penjualan dan pembelian dan untuk menampilkan pendapatan dan

pengeluaran secara otomatis.

Profil Narasumber

Nama Narasumber : Mia Indah Mawarni

Umur : 28 Tahun

Jenis Kelamin : Perempuan

Jabatan : Pegawai toko (Kasir)

Berikut ini adalah sesi wawancara tanya jawab antara peneliti dengan pegawai

toko:

1. Sudah berapa lama bekerja di CV. Multi Citra Kimia?

Jawab: Bekerja sejak tahun 2014 dan sudah diposisikan sebagai kasir.

2. Disini yang menjadi kasir ada berapa orang?

130

Jawab: Disini kasir ada 3 orang. Kerjanya terkadang bergantian. Lebih

banyak sisanya ada sebagai pegawai gudang. Memang harus beli barang

banyak ke beberapa supplier.

3. Sebagai kasir, Apakah ada kendala mengingat sistem penjualan di toko ini

masih manual

Jawab: Ya betul. Disini masih manual dan disini mesin kasir pun belum

dimiliki. Jadi setiap ada pembeli, saya bertanya dulu ke admin gudang

apakah barang masih ada atau belum. Lalu setelah terjadi transaksi saya

langsung mencatat di buku barang apa saja yang terjual.

4. Lalu untuk struk bukti pembeliannya bagaimana?

Jawab: Untuk struk kita memang ada kertas khusus tapi itu juga tulis tangan.

5. Jika akan menggunakan sistem komputer, apa yang ingin diharapkan?

Jawab: Yang penting ada sistem kasirnya. Maksudnya untuk mendata

penjualan dan kita juga bisa cetak struk langsung dengan rapi.

Dibandingkan tulis tangan. Dan kalau disuruh untuk mencari laporan dari

tanggal sekian hingga sekian, itu laporan bisa muncul.

Profil Narasumber

Nama Narasumber : Abdul Sakriy

Umur : 28 Tahun

Jenis Kelamin : Laki-laki

Jabatan : Admin Gudang

Berikut ini adalah sesi wawancara tanya jawab antara peneliti dengan admin

gudang:

131

1. Sudah berapa lama bekerja di CV. Multi Citra Kimia sebagai admin

gudang?

Jawab: Sudah 5 tahun bekerja di toko ini. Awalnya menjadi kasir selama 1

bulan, tetapi langsung dipindahkan menjadi admin gudang untuk ngurus

barang-barang digudang

2. Di bagian gudang, pegawai ada berapa orang?

Jawab: ada 17 orang. Karena suka ada pembelian banyak barang ke banyak

supplier, jadi petugas gudang disini lebih banyak.

3. Memangnya, berapa supplier yang didatangi? Apakah supplier tersebut

hanya memproduksi 1 barang saja hingga harus banyak pegawai gudang ke

banyak supplier?

Jawab: yang bekerja sama disini ada sekitar 5 Supplier. Itu yang memang

sudah sangat terpercaya dan barang selalu ready. 1 supplier banyak yang

hanya khusus memproduksi 1 bahan kimia dan ada juga yang 2 jenis barang

4. Sebagai admin gudang, apakah ada kendala mengingat sistem disini masih

menggunakan sistem manual?

Jawab: Ya tentu. Toko ini sudah didirikan sejak 2007, semua hingga tahun

ini masih manual semua. Semua data penjualan ataupun pembelian barang

dicatat menggunakan buku tulis. Pernah terjadi buku yang didalamnya

berisi data pembelian barang, buku rusak dimakan serangga.

5. Jika akan menggunakan sistem komputer, apa yang ingin diharapkan?

Jawab: Yang penting jika menggunakan aplikasi yang terkomputerisasi,

diharapkan bisa meletakkan data-data nama barang beserta stok

didalamnya, mencetak laporan, dan ada penghitung kalau hari ini uang

keluar berapa rupiah. Dan bisa disediain juga untuk customer kalau mau

beli barang, stok bisa dilihat dulu. Karena yang masih manual, petugas

gudang harus hitung barang dulu. Sering Customer beli barang gak Cuma 1

jenis. Tapi banyak. Diharapkan bisa mengandalkan sistem komputer.

132

2. Source Code Login

<?php

session_start();

// $koneksi = mysqli_connect("localhost","root","","db_pos");

include 'koneksi.php';

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta name="description" content="">

<meta name="author" content="">

<title>Login - Point Of Sale</title>

<!-- Bootstrap Core CSS -->

<link href="asset/bootstrap/css/bootstrap.min.css" rel="stylesheet">

<!-- MetisMenu CSS -->

<link href="asset/metisMenu/metisMenu.min.css" rel="stylesheet">

<!-- Custom CSS -->

<link href="asset/dist/css/sb-admin-2.css" rel="stylesheet">

<!-- Custom Fonts -->

<link href="asset/font-awesome/css/font-awesome.min.css"

rel="stylesheet" type="text/css">

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and

media queries -->

<!-- WARNING: Respond.js doesn't work if you view the page via file:// --

>

<!--[if lt IE 9]>

133

<script

src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>

<script

src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>

<![endif]-->

</head>

<body>

<div class="container">

<div class="row">

<div class="col-md-4 col-md-offset-4">

<div class="login-panel panel panel-default">

<div class="panel-heading text-center">

<h3 class="panel-title"><i><img src="asset/icon/cashier-

machine.png" alt=""></i><br> Please Sign In</h3>

</div>

<div class="panel-body">

<form method="post" id="login">

<fieldset>

<div class="form-group">

<input class="form-control" placeholder="Username"

name="username" type="username" autofocus>

</div>

<div class="form-group">

<input class="form-control" placeholder="Password"

name="password" type="password" value="">

</div>

<!-- Change this to a button or input when using this as a

form -->

<input type="submit" name="login" value="Login"

class="btn btn-lg btn-success btn-block">

</fieldset>

</form>

</div>

</div>

</div>

</div>

134

</div>

<!-- jQuery -->

<script src="asset/jquery/jquery.min.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="asset/bootstrap/js/bootstrap.min.js"></script>

<!-- Metis Menu Plugin JavaScript -->

<script src="asset/metisMenu/metisMenu.min.js"></script>

<!-- Custom Theme JavaScript -->

<script src="asset/dist/js/sb-admin-2.js"></script>

<script src="asset/jquery/jquery.validate.min.js"></script>

<script src="asset/jquery/additional-methods.min.js"></script>

<script src="asset/js/main.js"></script>

</body>

</html>

<?php

if(isset($_POST['login'])) {

$username = $_POST['username'];

$password = sha1(md5($_POST['password']));

$query = mysqli_query($koneksi, "SELECT * FROM tb_admin WHERE

username = '$username' AND password = '$password'");

$data = mysqli_fetch_array($query);

if(mysqli_num_rows($query) >= 1) {

$_SESSION['username'] = $data['username'];

$_SESSION['id_karyawan'] = $data['id_karyawan'];

echo "<script>alert('Berhasil Login');</script>";

echo "<meta http-equiv='refresh' content='1;url=index.php' >";

} else {

echo "<script>alert('Gagal Login');</script>";

echo "<meta http-equiv='refresh' content='1;url=login.php' >";

}

135

}

?>

3. Source Code Menu Utama/Dashboard Utama

<?php

error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

include 'random_code.php';

include 'kode_pembelian.php';

include 'format_rupiah.php';

include 'koneksi.php';

include 'autocode.php';

session_start();

// $koneksi = mysqli_connect("localhost","root","","db_pos");

if(!empty($_SESSION['username']) AND

!empty($_SESSION['id_karyawan'])) {

$id_karyawan = $_SESSION['id_karyawan'];

$user = mysqli_query($koneksi, "SELECT * FROM tb_karyawan,

tb_jabatan WHERE tb_karyawan.id_jabatan = tb_jabatan.id_jabatan AND

tb_karyawan.id_karyawan = '$id_karyawan'");

$userData = mysqli_fetch_array($user);

if (isset($_POST['batal'])) {

if ($_POST['btl']!=='') {

$sql=mysqli_query($koneksi, "UPDATE tb_pemesanan SET jadi='b'

where invoice='".$_POST['btl']."'");

if (!$sql) {

echo "<script>alert('gagal update

tb_pemesanan');window.location.href = '?page=beranda';</script>";

}

else{

echo "<script>alert('berhasil update

tb_pemesanan');window.location.href = '?page=beranda';</script>";

}

}

}

?>

136

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta name="description" content="">

<meta name="author" content="">

<link rel="icon" href="asset/icon/cashier-machine.png"/>

<title><?php include "title.php" ?></title>

<!-- Bootstrap Core CSS -->

<link href="asset/bootstrap/css/bootstrap.min.css" rel="stylesheet">

<!-- MetisMenu CSS -->

<link href="asset/metisMenu/metisMenu.min.css" rel="stylesheet">

<!-- Custom CSS -->

<link href="asset/dist/css/sb-admin-2.css" rel="stylesheet">

<!-- Morris Charts CSS -->

<link href="asset/morrisjs/morris.css" rel="stylesheet">

<!-- DataTables CSS -->

<link href="asset/datatables-plugins/dataTables.bootstrap.css"

rel="stylesheet">

<!-- DataTables Responsive CSS -->

<link href="asset/datatables-responsive/dataTables.responsive.css"

rel="stylesheet">

<!-- Custom Fonts -->

<link href="asset/font-awesome/css/font-awesome.min.css"

rel="stylesheet" type="text/css">

<!-- Bootstrap Chosen -->

<link rel="stylesheet" href="asset/chosen/bootstrap-chosen.css"/>

137

<!-- Flatpickr -->

<link rel="stylesheet" href="asset/flatpickr/dist/flatpickr.min.css"/>

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and

media queries -->

<!-- WARNING: Respond.js doesn't work if you view the page via file:// --

>

<!--[if lt IE 9]>

<script

src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>

<script

src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>

<![endif]-->

<script type="text/javascript" src="Chart.js"></script>

</head>

<body>

<div id="wrapper">

<!-- Navigation -->

<nav class="navbar navbar-default navbar-static-top" role="navigation"

style="margin-bottom: 0">

<div class="navbar-header">

<button type="button" class="navbar-toggle" data-toggle="collapse"

data-target=".navbar-collapse">

<span class="sr-only">Toggle navigation</span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

<a class="navbar-brand" href="?page=beranda"><i><img

src="asset/icon/cashier-machine-2.png" alt=""></i> Point Of Sale</a>

</div>

<!-- /.navbar-header -->

<ul class="nav navbar-top-links navbar-right">

<!-- /.dropdown -->

<li class="dropdown">

138

<?php

$tarik=0;

$bar2 = mysqli_query($koneksi, "SELECT COUNT(id_barang)

AS barang FROM `tb_barang` WHERE stok <= 10 ");

$ambil2 = mysqli_fetch_array($bar2);

if($userData['jabatan'] !== "Gudang") {

$bar3 = mysqli_query($koneksi, "SELECT pelanggan FROM

`tb_pemesanan` WHERE jadi='Y' group by invoice");

$ambil3 = mysqli_fetch_array($bar3);

$tarik=mysqli_num_rows($bar3);

}

$total=$ambil2['barang']+$tarik;

?>

<a class="dropdown-toggle" data-toggle="dropdown" href="#">

<b style="color: red"><?php echo $total; ?></b> <i class="fa fa-

bell fa-fw"></i> <i class="fa fa-caret-down"></i>

</a>

<ul class="dropdown-menu dropdown-alerts">

<?php

if($userData['jabatan'] !== "Gudang") {

$bar = mysqli_query($koneksi, "SELECT * FROM

`tb_pemesanan` WHERE jadi='Y' group by invoice order by invoice desc");

while($ambil = mysqli_fetch_array($bar)) {

?>

<li>

<a

href="index.php?page=pemesanan&aksi=preview&id=<?php echo

$ambil['invoice'] ?>">

<div>

<i class="fa fa-user fa-fw"></i> <?php echo

$ambil['pelanggan'] ?>

<span class="pull-right text-muted small"><?php echo

date('d/m/Y',strtotime($ambil['tanggal'])) ?></span>

</div>

</a>

</li>

<li class="divider"></li>

<?php }

139

}

$bar = mysqli_query($koneksi, "SELECT * FROM `tb_barang`

WHERE stok <= 10 ");

while($ambil = mysqli_fetch_array($bar)) {

?>

<li>

<a href="#">

<div>

<i class="fa fa-cube fa-fw"></i> <?php echo

$ambil['nama_barang'] ?>

<span class="pull-right text-muted small">Stok <?php

echo $ambil['stok'] ?></span>

</div>

</a>

</li>

<li class="divider"></li>

<?php } ?>

<li>

<a class="text-center" href="#">

<strong>See All Alerts</strong>

<i class="fa fa-angle-right"></i>

</a>

</li>

</ul>

<!-- /.dropdown-alerts -->

</li>

<li class="dropdown">

<a class="dropdown-toggle" data-toggle="dropdown" href="#">

<i class="fa fa-user fa-fw"></i> <i class="fa fa-caret-

down"></i>

</a>

<ul class="dropdown-menu dropdown-user">

<li><a href="?page=user"><i class="fa fa-user fa-fw"></i>

User Profile</a>

</li>

<li class="divider"></li>

<li><a href="logout.php"><i class="fa fa-sign-out fa-fw"></i>

Logout</a>

140

</li>

</ul>

<!-- /.dropdown-user -->

</li>

<!-- /.dropdown -->

</ul>

<!-- /.navbar-top-links -->

<div class="navbar-default sidebar" role="navigation">

<div class="sidebar-nav navbar-collapse">

<ul class="nav" id="side-menu">

<li class="sidebar-search">

<h4><?php echo $userData['nama'] ?></h4>

<h6>Login Sebagai <b><?php echo $userData['jabatan']

?></b></h6>

<p><b><?php echo date("d/m/Y") ?></b></p>

<!-- /input-group -->

</li>

<?php if($userData['jabatan'] == "Administrator") { ?>

<li>

<a href="?page=beranda"><i class="fa fa-home fa-fw"></i>

Beranda</a>

</li>

<li>

<a href="?page=barang"><i class="fa fa-cubes fa-fw"></i>

Barang</a>

</li>

<li>

<a href="?page=supplier"><i class="fa fa-truck fa-fw"></i>

Supplier</a>

</li>

<li>

<a href="?page=pelanggan"><i class="fa fa-users fa-

fw"></i> Pelanggan</a>

</li>

<li>

<a href="?page=karyawan"><i class="fa fa-male fa-

fw"></i> Karyawan</a>

141

</li>

<li>

<a href="?page=laporan"><i class="fa fa-book fa-fw"></i>

Laporan</a>

</li>

<li>

<a href="?page=pengaturan_aplikasi"><i class="fa fa-gear

fa-fw"></i> Pengaturan Aplikasi</a>

</li>

<?php } elseif($userData['jabatan'] == "Gudang") { ?>

<li>

<a href="?page=beranda"><i class="fa fa-home fa-fw"></i>

Beranda</a>

</li>

<li>

<a href="?page=barang"><i class="fa fa-cubes fa-fw"></i>

Barang</a>

</li>

<li>

<a href="?page=pembelian&kodepb=<?php echo $kodePB

?>"><i class="fa fa-cart-plus fa-fw"></i> Pembelian</a>

</li>

<li>

<a href="?page=supplier"><i class="fa fa-truck fa-fw"></i>

Supplier</a>

</li>

<li>

<a href="?page=laporan"><i class="fa fa-book fa-fw"></i>

Laporan</a>

</li>

<?php } else { ?>

<li>

<a href="?page=beranda"><i class="fa fa-home fa-fw"></i>

Beranda</a>

</li>

<li>

142

<a href="?page=barang"><i class="fa fa-cubes fa-fw"></i>

Barang</a>

</li>

<li>

<a href="?page=penjualan&kodepj=<?php echo $kode

?>"><i class="fa fa-shopping-cart fa-fw"></i> Penjualan</a>

</li>

<li>

<a href="?page=pelanggan"><i class="fa fa-users fa-

fw"></i> Pelanggan</a>

</li>

<li>

<a href="?page=laporan"><i class="fa fa-book fa-fw"></i>

Laporan</a>

</li>

<?php } ?>

</ul>

</div>

<!-- /.sidebar-collapse -->

</div>

<!-- /.navbar-static-side -->

</nav>

<div id="page-wrapper">

<?php include "konten.php"; ?>

</div>

<!-- /#page-wrapper -->

</div>

<footer>

<div class="container-fluid">

<p class="copyright">&copy; 2019 <b>Toko Kimia -

CV. Multi Citra Kimia</b></p>

</div>

</footer>

<div class="modal fade" id="modalbatal" tabindex="-1" role="dialog" aria-

labelledby="exampleModalLabel" aria-hidden="true">

<div class="modal-dialog" >

<div class="modal-content">

143

<form action="index.php?page=pemesanan" method="POST">

<div class="modal-header">

<button class="close" type="button" data-dismiss="modal" aria-

hidden="true">

&times;

</button>

<h4 class="modal-title" id="exampleModalLabel">Batalkan Pesanan

Barang?</h4>

</div>

<div class="modal-body">Apakah Anda yakin ingin membatalkan

pemesanan tersebut?</div>

<input type="hidden" name="pk_hapus" class="pk_hapus">

<div class="modal-footer">

<button class="btn btn-secondary" type="button" data-

dismiss="modal">Tidak</button>

<input class="btn btn-primary dihapus" type="submit"

name="dihapus" value="Ya">

</div>

</form>

</div>

</div>

</div>

<div class="modal fade" id="modalsimpan" tabindex="-1" role="dialog"

aria-labelledby="exampleModalLabel" aria-hidden="true">

<div class="modal-dialog" >

<div class="modal-content">

<form action="index.php?page=pemesanan" method="POST">

<div class="modal-header">

<button class="close" type="button" data-dismiss="modal" aria-

hidden="true">

&times;

</button>

<h4 class="modal-title" id="exampleModalLabel">Kirim permintaan

pesanan?</h4>

</div>

<div class="modal-body">Apakah Anda yakin ingin mengirim

permintaan tersebut?</div>

144

<input type="hidden" name="pk" class="pk">

<div class="modal-footer">

<button class="btn btn-secondary" type="button" data-

dismiss="modal">Tidak</button>

<input class="btn btn-primary save" type="submit" name="save"

value="Ya">

</div>

</form>

</div>

</div>

</div>

<div class="modal fade" id="proses" tabindex="-1" role="dialog" aria-

labelledby="exampleModalLabel" aria-hidden="true">

<div class="modal-dialog" >

<div class="modal-content">

<form action="?page=penjualan&kodepj=<?php echo $kode ?>"

method="POST">

<div class="modal-header">

<button class="close" type="button" data-dismiss="modal" aria-

hidden="true">

&times;

</button>

<h4 class="modal-title" id="exampleModalLabel">Proses

Pesanan</h4>

</div>

<div class="modal-body">Apakah Anda yakin ingin memproses

pesanan?</div>

<input type="hidden" name="proc" class="proc">

<div class="modal-footer">

<button class="btn btn-secondary" type="button" data-

dismiss="modal">Tidak</button>

<input class="btn btn-primary diproses" type="submit"

name="diproses" value="Ya">

</div>

</form>

</div>

</div>

</div>

145

<div class="modal fade" id="batal" tabindex="-1" role="dialog" aria-

labelledby="exampleModalLabel" aria-hidden="true">

<div class="modal-dialog" >

<div class="modal-content">

<form action="?page=beranda" method="POST">

<div class="modal-header">

<button class="close" type="button" data-dismiss="modal" aria-

hidden="true">

&times;

</button>

<h4 class="modal-title" id="exampleModalLabel">Batalkan

Pesanan</h4>

</div>

<div class="modal-body">Apakah Anda yakin ingin membatalkan

pesanan?</div>

<input type="hidden" name="btl" class="btl">

<div class="modal-footer">

<button class="btn btn-secondary" type="button" data-

dismiss="modal">Tidak</button>

<input class="btn btn-primary batal" type="submit" name="batal"

value="Ya">

</div>

</form>

</div>

</div>

</div>

<!-- /#wrapper -->

<!-- jQuery -->

<script src="asset/jquery/jquery.min.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="asset/bootstrap/js/bootstrap.min.js"></script>

<!-- Metis Menu Plugin JavaScript -->

<script src="asset/metisMenu/metisMenu.min.js"></script>

<!-- Morris Charts JavaScript -->

146

<script src="asset/raphael/raphael.min.js"></script>

<script src="asset/morrisjs/morris.min.js"></script>

<script src="../data/morris-data.js"></script>

<!-- DataTables JavaScript -->

<script src="asset/datatables/js/jquery.dataTables.min.js"></script>

<script src="asset/datatables-

plugins/dataTables.bootstrap.min.js"></script>

<script src="asset/datatables-

responsive/dataTables.responsive.js"></script>

<!-- Custom Theme JavaScript -->

<script src="asset/dist/js/sb-admin-2.js"></script>

<!-- Validation form -->

<script src="asset/jquery/jquery.validate.min.js"></script>

<script src="asset/jquery/additional-methods.min.js"></script>

<!-- JS Chosen -->

<script src="asset/chosen/chosen.jquery.min.js"></script>

<!-- JS flatpickr -->

<script src="asset/flatpickr/dist/flatpickr.min.js"></script>

<script src="asset/js/main.js"></script>

<script type="text/javascript">

$(document).on("click", ".batal", function(e){

var pk_hapus=$(this).data('pk_hapus');

$(".pk_hapus").val(pk_hapus);

});

$(document).on("click", ".simpan", function(e){

var pk=$(this).data('pk');

$(".pk").val(pk);

});

$(document).on("click", ".proses", function(e){

var proses=$(this).data('proses');

$(".proc").val(proses);

});

147

$(document).on("click", ".btl", function(e){

var btl=$(this).data('btl');

$(".btl").val(btl);

});

</script>

<script>

$(".chosen-select").chosen();

flatpickr(".flatpickr", {

dateFormat: "Y-m-d",

});

// $(document).ready(function(){

// $(".flatpickr").flatpickr({

// dateFormat: "Y-m-d"

// });

// });

</script>

</body>

</html>

<?php

} else {

echo "<meta http-equiv='refresh' content='1;url=login.php' >";

}

?>

<script>

var nama1 = $("#nama1").val();

var nama2 = $("#nama2").val();

var nama3 = $("#nama3").val();

var nama4 = $("#nama4").val();

var nama5 = $("#nama5").val();

var nama6 = $("#nama6").val();

var nama7 = $("#nama7").val();

var nama8 = $("#nama8").val();

var nama9 = $("#nama9").val();

148

var nama10 = $("#nama10").val();

var jml1 = $("#jml1").val();

var jml2 = $("#jml2").val();

var jml3 = $("#jml3").val();

var jml4 = $("#jml4").val();

var jml5 = $("#jml5").val();

var jml6 = $("#jml6").val();

var jml7 = $("#jml7").val();

var jml8 = $("#jml8").val();

var jml9 = $("#jml9").val();

var jml10 = $("#jml10").val();

var ctx = document.getElementById("myChart").getContext('2d');

var myChart = new Chart(ctx, {

type: 'bar',

data: {

labels: [nama1, nama2, nama3, nama4, nama5, nama6, nama7,

nama8, nama9, nama10],

datasets: [{

label: ' <?php if($userData['jabatan'] == "Gudang") { echo

"Pembelian";}else{echo "Penjualan";} ?>',

data: [jml1, jml2, jml3, jml4, jml5, jml6, jml7, jml8, jml9, jml10],

backgroundColor: [

'rgba(255, 99, 132, 0.2)',

'rgba(48, 9, 99, 0.53)',

'rgba(4, 82, 95, 0.66)',

'rgba(178, 92, 184, 0.62)',

'rgba(243, 247, 6, 0.66)',

'rgba(54, 162, 235, 0.2)',

'rgba(255, 206, 86, 0.2)',

'rgba(75, 192, 192, 0.2)',

'rgba(153, 102, 255, 0.2)',

'rgba(255, 159, 64, 0.2)'

],

borderWidth: 1

}]

149

},

options: {

scales: {

yAxes: [{

ticks: {

beginAtZero:true

}

}]

}

}

});

</script>

<?php if($userData['jabatan'] == "Administrator") { ?>

<script>

var nama1a = $("#nama1a").val();

var nama2a = $("#nama2a").val();

var nama3a = $("#nama3a").val();

var nama4a = $("#nama4a").val();

var nama5a = $("#nama5a").val();

var nama6a = $("#nama6a").val();

var nama7a = $("#nama7a").val();

var nama8a = $("#nama8a").val();

var nama9a = $("#nama9a").val();

var nama10a = $("#nama10a").val();

var jml1a = $("#jml1a").val();

var jml2a = $("#jml2a").val();

var jml3a = $("#jml3a").val();

var jml4a = $("#jml4a").val();

var jml5a = $("#jml5a").val();

var jml6a = $("#jml6a").val();

var jml7a = $("#jml7a").val();

var jml8a = $("#jml8a").val();

var jml9a = $("#jml9a").val();

var jml10a = $("#jml10a").val();

var ctx = document.getElementById("myCharta").getContext('2d');

var myChart = new Chart(ctx, {

150

type: 'bar',

data: {

labels: [nama1a, nama2a, nama3a, nama4a, nama5a, nama6a,

nama7a, nama8a, nama9a, nama10a],

datasets: [{

label: 'pembelian',

data: [jml1a, jml2a, jml3a, jml4a, jml5a, jml6a, jml7a, jml8a,

jml9a, jml10a],

backgroundColor: [

'rgba(255, 99, 132, 0.2)',

'rgba(48, 9, 99, 0.53)',

'rgba(4, 82, 95, 0.66)',

'rgba(178, 92, 184, 0.62)',

'rgba(243, 247, 6, 0.66)',

'rgba(54, 162, 235, 0.2)',

'rgba(255, 206, 86, 0.2)',

'rgba(75, 192, 192, 0.2)',

'rgba(153, 102, 255, 0.2)',

'rgba(255, 159, 64, 0.2)'

],

borderWidth: 1

}]

},

options: {

scales: {

yAxes: [{

ticks: {

beginAtZero:true

}

}]

}

}

});

</script>

<?php } ?>

151

4. Source Code Barang

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-cubes fa-fw"></i> Barang</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<br>

<a href="?page=barang&aksi=tambah" class="btn btn-sm btn-

primary">Tambah Barang</a>

<br>

<br>

<table class="table table-responsive table-bordered" id="tables">

<thead>

<tr>

<th>Kode Barcode</th>

<th>Nama Barang</th>

<th>Stok</th>

<th>Satuan</th>

<th width="8%">Harga Jual</th>

<th width="8%">Harga Beli</th>

<th>Keuntungan</th>

<th>Kategori</th>

<th>Aksi</th>

</tr>

</thead>

<tbody>

<?php

$query = mysqli_query($koneksi, "SELECT * FROM tb_kategori INNER

JOIN tb_barang ON tb_kategori.id_kategori=tb_barang.id_kategori");

while($row = mysqli_fetch_array($query)) {

?>

<tr>

<td><?php echo $row['kode_barcode']; ?></td>

<td><?php echo $row['nama_barang']; ?></td>

<td><?php echo $row['stok']; ?></td>

<td><?php echo $row['satuan']; ?></td>

<td><?php echo $row['harga_jual']; ?></td>

152

<td><?php echo $row['harga_beli']; ?></td>

<td><?php echo $row['keuntungan'] ?></td>

<td><?php echo $row['nama'] ?></td>

<td>

<a href="?page=barang&aksi=edit&id=<?php echo

$row['id_barang'] ?>" class="btn btn-sm btn-warning"><i class="fa fa-pencil-

square fa-fw"></i> Edit</a>

<a href="?page=barang&aksi=hapus&id=<?php echo

$row['id_barang'] ?>" class="btn btn-sm btn-danger"><i class="fa fa-trash fa-

fw"></i> Hapus</a>

</td>

</tr>

<?php

}

?>

</tbody>

</table>

5. Source Code Edit Data Barang

<?php

if(isset($_GET['id'])){

$id = $_GET['id'];

$query1 = mysqli_query($koneksi, "SELECT * FROM tb_barang WHERE

id_barang='$id'");

$data = mysqli_fetch_array($query1);

}

?>

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-cubes fa-fw"></i> Edit

Barang</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<form method="post" id="barang">

<div class="form-group">

<label for="barcode">Kode Barcode</label>

153

<input type="text" name="barcode" id="barcode" class="form-control"

id="barcode" autofocus="" value="<?php echo $data['kode_barcode'] ?>">

</div>

<div class="form-group">

<label for="nama">Nama Barang</label>

<input type="text" name="nama" id="nama" class="form-control"

value="<?php echo $data['nama_barang'] ?>">

</div>

<div class="form-group">

<label for="stok">Stok</label>

<input type="number" name="stok" id="stok" class="form-control"

value="<?php echo $data['stok'] ?>">

</div>

<div class="form-group">

<label for="satuan">Satuan</label>

<select name="satuan" id="satuan" class="form-control">

<?php

$query2 = mysqli_query($koneksi, "SELECT * FROM tb_satuan");

while($row1 = mysqli_fetch_array($query2)) {

?>

<option <?php if($row1['satuan'] == $data['satuan']){echo

"selected"; } ?> value="<?php echo $row1['satuan'] ?>"><?php echo

$row1['satuan'] ?></option>

<?php } ?>

</select>

</div>

<div class="form-group">

<label for="beli">Harga Beli</label>

<input type="number" name="beli" id="beli" class="form-control"

value="<?php echo $data['harga_beli'] ?>" onkeyup="hitung();">

</div>

<div class="form-group">

<label for="jual">Harga Jual</label>

<input type="number" name="jual" id="jual" class="form-control"

value="<?php echo $data['harga_jual'] ?>" onkeyup="hitung();">

</div>

<div class="form-group">

<label for="keuntungan">Keuntungan</label>

154

<input type="number" name="keuntungan" id="keuntungan"

class="form-control" value="<?php echo $data['keuntungan'] ?>" readonly=""

onkeyup="hitung();">

</div>

<div class="form-group">

<label for="kategori">Kategori</label>

<select name="kategori" id="kategori" class="form-control">

<!-- <option value="">---Pilih Kategori---</option> -->

<?php

$query = mysqli_query($koneksi, "SELECT * FROM tb_kategori");

while($row = mysqli_fetch_array($query)){

?>

<option <?php if($data['id_kategori'] == $row['id_kategori']){echo

"selected";} ?> value="<?php echo $row['id_kategori'] ?>"><?php echo

$row['nama'] ?></option>

<?php }

?>

</select>

</div>

<div class="form-group">

<input type="submit" name="simpan" class="btn btn-lg btn-block btn-

success" value="Simpan">

</div>

</form>

<script>

function hitung() {

var beli = document.getElementById("beli").value;

var jual = document.getElementById("jual").value;

var keuntungan = parseInt(jual) - parseInt(beli);

if(!isNaN(keuntungan)) {

var potongan = document.getElementById('keuntungan').value =

keuntungan;

}

}

</script>

<?php

if(isset($_POST['simpan'])) {

$barcode = $_POST['barcode'];

155

$nama = $_POST['nama'];

$stok = $_POST['stok'];

$satuan = $_POST['satuan'];

$beli = $_POST['beli'];

$jual = $_POST['jual'];

$keuntung = $_POST['keuntungan'];

$kategori = $_POST['kategori'];

mysqli_query($koneksi, "UPDATE tb_barang SET kode_barcode =

'$barcode', nama_barang='$nama', stok = '$stok', satuan = '$satuan', harga_jual

= '$jual', harga_beli = '$beli', keuntungan = '$keuntung', id_kategori =

'$kategori' WHERE id_barang='$id'");

echo "<meta http-equiv='refresh' content='1;url=?page=barang'>";

}

?>

6. Source Code Tambah Barang

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-cubes fa-fw"></i> Tambah

Barang</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<form method="post" id="barang">

<div class="form-group">

<label for="barcode">Kode Barcode</label>

<input type="text" name="barcode" id="barcode" class="form-control"

id="barcode" autofocus="">

</div>

<div class="form-group">

<label for="nama">Nama Barang</label>

<input type="text" name="nama" id="nama" class="form-control">

</div>

<div class="form-group">

<label for="stok">Stok</label>

<input type="number" name="stok" id="stok" class="form-control">

156

</div>

<div class="form-group">

<label for="satuan">Satuan</label>

<select name="satuan" id="satuan" class="form-control">

<option value="">--Pilih Satuan--</option>

<?php

$query = mysqli_query($koneksi, "SELECT * FROM tb_satuan");

while($row = mysqli_fetch_array($query)) {

?>

<option value="<?php echo $row['satuan'] ?>"><?php echo

$row['satuan'] ?></option>

<?php } ?>

</select>

</div>

<div class="form-group">

<label for="beli">Harga Beli</label>

<input type="number" name="beli" id="beli" class="form-control"

onkeyup="hitung();">

</div>

<div class="form-group">

<label for="jual">Harga Jual</label>

<input type="number" name="jual" id="jual" class="form-control"

onkeyup="hitung();">

</div>

<div class="form-group">

<label for="keuntungan">Keuntungan</label>

<input type="number" name="keuntungan" id="keuntungan"

class="form-control" readonly="" onkeyup="hitung();">

</div>

<div class="form-group">

<label for="kategori">Kategori</label>

<select name="kategori" id="kategori" class="form-control">

<option value="">---Pilih Kategori---</option>

<?php

$query = mysqli_query($koneksi, "SELECT * FROM tb_kategori");

while($row = mysqli_fetch_array($query)){

?>

<option value="<?php echo $row['id_kategori'] ?>"><?php echo

$row['nama'] ?></option>

157

<?php }

?>

</select>

</div>

<div class="form-group">

<input type="submit" name="simpan" class="btn btn-lg btn-block btn-

success" value="Simpan">

</div>

</form>

<script>

function hitung() {

var beli = document.getElementById("beli").value;

var jual = document.getElementById("jual").value;

var keuntungan = parseInt(jual) - parseInt(beli);

if(!isNaN(keuntungan)) {

var potongan = document.getElementById('keuntungan').value =

keuntungan;

}

}

</script>

<?php

if(isset($_POST['simpan'])) {

$barcode = $_POST['barcode'];

$nama = $_POST['nama'];

$stok = $_POST['stok'];

$satuan = $_POST['satuan'];

$beli = $_POST['beli'];

$jual = $_POST['jual'];

$keuntung = $_POST['keuntungan'];

$kategori = $_POST['kategori'];

mysqli_query($koneksi, "INSERT INTO tb_barang SET kode_barcode =

'$barcode', nama_barang='$nama', stok = '$stok', satuan = '$satuan', harga_jual

= '$jual', harga_beli = '$beli', keuntungan = '$keuntung', id_kategori =

'$kategori'");

echo "<meta http-equiv='refresh' content='1;url=?page=barang'>";

}

158

?>

7. Source Code Hapus Data Barang

<?php

if(isset($_GET['id'])) {

$id = $_GET['id'];

mysqli_query($koneksi, "DELETE FROM tb_barang WHERE id_barang =

'$id'");

echo "<meta http-equiv='refresh' content='1;url=?page=barang'>";

}

8. Source Code Penjualan

<?php

if(isset($_GET['kodepj'])) {

$code = $_GET['kodepj'];

}

if (isset($_POST['diproses'])) {

$sql=mysqli_query($koneksi, "select a.*,b.nama_barang,b.harga_jual,a.qty

* b.harga_jual as jumlah FROM tb_pemesanan a join tb_barang b on

a.barang=b.kode_barcode where a.invoice='".$_POST['proc']."'");

while ($row=mysqli_fetch_array($sql)) {

$bar=$row['barang'];

$sum=$row['qty']*$row['harga_jual'];

$qty=$row['qty'];

$tgl=$row['tanggal'];

$query = mysqli_query($koneksi, "INSERT INTO tb_penjualan SET

kode_penjualan='$code', kode_barcode='$bar', jumlah = '$qty', total = '$sum',

tgl_penjualan ='$tgl', id_pelanggan = '9', id_karyawan = '$id_karyawan'");

}

$query=mysqli_query($koneksi, "update tb_pemesanan set jadi='P' where

invoice='".$_POST['proc']."'");

159

if (!$query) {

echo "<script type='text/javascript'>alert('pesanan gagal

diproses')</script>";

}

}

?>

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-shopping-cart fa-fw"></i>

Penjualan</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<form method="POST">

<div class="form-group">

<label for="kodejual" class="label-control col-md-3">Kode

Penjualan</label>

<div class="col-md-3">

<input type="text" name="kodejual" id="kodejual" readonly

class="form-control" value="<?php echo $code; ?>">

</div>

</div>

<div class="col-md-6"><br><br></div>

<div class="form-group">

<label for="kodejual" class="label-control col-md-3">Barang</label>

<div class="col-md-4">

<select name="barcode" id="barcode" class="chosen-select form-

control" autofocus>

<option value="">Masukkan Barang</option>

<?php

$sql = mysqli_query($koneksi, "SELECT * FROM tb_barang");

while($pecah = mysqli_fetch_array($sql)) {

?>

<option value="<?php echo $pecah['kode_barcode'] ?>"><?php

echo $pecah['kode_barcode']." ".$pecah['nama_barang']."

Rp.".rupiah($pecah['harga_jual']) ?></option>

<?php

}

160

?>

</select>

<!-- <input type="text" name="barcode" id="barcode" class="form-

control" autofocus> -->

</div>

</div>

<div class="form-group">

<label for="jumlah" class="label-control col-md-1">Jumlah</label>

<div class="col-md-3">

<input type="number" name="jumlah" id="jumlah" class="form-

control" >

</div>

</div>

<div class="col-md-12"><br></div>

<div class="form-group">

<label for="pelanggan" class="label-control col-md-3">Nama

Pelanggan</label>

<div class="col-md-4">

<select name="pelanggan" id="pelanggan" class="chosen-select form-

control">

<option >Pilih Pelanggan</option>

<?php

$query4 = mysqli_query($koneksi, "SELECT * FROM

tb_pelanggan");

while($pelanggan = mysqli_fetch_array($query4)){

echo "

<option

value=$pelanggan[id_pelanggan]>$pelanggan[nama]</option>

";

}

?>

</select>

</div>

</div>

<div class="form-group">

<div class="col-md-3">

<input type="submit" name="tambahkan" class="btn btn-sm btn-

primary" value="Tambahkan">

161

</div>

</div>

</form>

<!-- tambah daftar belanja -->

<?php

if(isset($_POST['tambahkan'])) {

$date = date("Y-m-d");

$kodepj = $_POST['kodejual'];

$barcode = $_POST['barcode'];

$pelanggan1 = $_POST['pelanggan'];

$barang = mysqli_query($koneksi, "SELECT * FROM tb_barang WHERE

kode_barcode = '$barcode'");

$data_barang = mysqli_fetch_array($barang);

$harga_jual = $data_barang['harga_jual'];

$jumlah = $_POST['jumlah'];

$total = $jumlah * $harga_jual;

$barang2 = mysqli_query($koneksi, "SELECT * FROM tb_barang WHERE

kode_barcode = '$barcode'");

while($data_barang2 = mysqli_fetch_array($barang2)) {

$sisa = $data_barang2['stok'];

if($sisa == 0) {

?>

<script>alert("Barang Habis");

//window.location.href="?page=penjualan&kodepj=<?php //echo

$code ?>"

</script>

<?php

} elseif($jumlah > $sisa) {

?>

<script>alert("Jumlah Barang Diminta melebihi stok");

//window.location.href="?page=penjualan&kodepj=<?php //echo

$code ?>"

</script>

<?php

} else {

$query = mysqli_query($koneksi, "INSERT INTO tb_penjualan SET

kode_penjualan='$kodepj', kode_barcode='$barcode', jumlah = '$jumlah', total

162

= '$total', tgl_penjualan ='$date', id_pelanggan = '$pelanggan1', id_karyawan =

'$id_karyawan'");

}

}

}

$query3 = mysqli_query($koneksi, "SELECT * FROM tb_penjualan_detail

WHERE kode_penjualan='$code'");

$data3 = mysqli_fetch_array($query3);

?>

<br>

<br>

<br><br><br><br><hr>

<form method="post">

<h3>Daftar Belanjaan</h3>

<hr>

<table class="table table-responsive table-bordered">

<thead>

<tr>

<th>Kode Barcode</th>

<th>Nama Barang</th>

<th>Harga</th>

<th>Jumlah</th>

<th>Total</th>

<th>Aksi</th>

</tr>

</thead>

<tbody>

<?php

$total_bayar=0;

$query2 = mysqli_query($koneksi, "SELECT * FROM tb_penjualan,

tb_barang WHERE tb_penjualan.kode_barcode = tb_barang.kode_barcode

AND kode_penjualan = '$code'");

while($data2 = mysqli_fetch_array($query2)) {

?>

<tr>

<td><?php echo $data2['kode_barcode'] ?></td>

<td><?php echo $data2['nama_barang']?></td>

<td><?php echo rupiah($data2['harga_jual']) ?></td>

<td><?php echo $data2['jumlah'] ?></td>

163

<td><?php echo rupiah($data2['total']) ?></td>

<td>

<a href="?page=penjualan&aksi=tambah&id=<?php echo

$data2['id_penjualan'] ?>&kodepj=<?php echo $data2['kode_penjualan']

?>&harga=<?php echo $data2['harga_jual'] ?>&barcode=<?php echo

$data2['kode_barcode'] ?>" class="btn btn-sm btn-success"><b>+</b></a>

<a href="?page=penjualan&aksi=kurang&id=<?php echo

$data2['id_penjualan'] ?>&kodepj=<?php echo $data2['kode_penjualan']

?>&harga=<?php echo $data2['harga_jual'] ?>&barcode=<?php echo

$data2['kode_barcode'] ?>" class="btn btn-sm btn-success"><b>-</b></a>

<a href="?page=penjualan&aksi=hapus&id=<?php echo

$data2['id_penjualan'] ?>&kodepj=<?php echo $data2['kode_penjualan']

?>&harga=<?php echo $data2['harga_jual'] ?>&barcode=<?php echo

$data2['kode_barcode'] ?>&jumlah=<?php echo $data2['jumlah'] ?>"

class="btn btn-sm btn-danger"><i class="fa fa-trash fa-fw"></i></a>

</td>

</tr>

<?php

$total_bayar = $total_bayar + $data2['total'];

}

?>

</tbody>

</table>

<hr>

<div class="form-group">

<label for="total_bayar" class="label-control col-md-3">Total</label>

<div class="col-md-3">

<input type="number" name="total_bayar" id="total_bayar"

onkeyup="hitung();" readonly="" class="form-control" value="<?php echo

$total_bayar ?>">

</div>

</div>

<div class="form-group">

<label for="s_total" class="label-control col-md-3">Sub Total</label>

<div class="col-md-3">

164

<input type="number" name="s_total" id="s_total" readonly=""

onkeyup="hitung();" class="form-control" value="<?php echo

$data3['sub_total'] ?>">

</div>

</div>

<br>

<div class="form-group">

<label for="diskon" class="label-control col-md-3">Diskon</label>

<div class="col-md-3">

<input type="number" name="diskon" id="diskon"

onkeyup="hitung();" class="form-control" value="<?php echo $data3['diskon']

?>">

</div>

</div>

<div class="form-group">

<label for="bayar" class="label-control col-md-3">Bayar</label>

<div class="col-md-3">

<input type="number" name="bayar" onkeyup="hitung();" id="bayar"

class="form-control" value="<?php echo $data3['bayar'] ?>">

</div>

</div>

<br>

<div class="form-group">

<label for="potongan" class="label-control col-md-3">Potongan

Diskon</label>

<div class="col-md-3">

<input type="number" name="potongan" id="potongan" readonly=""

onkeyup="hitung();" class="form-control" value="<?php echo

$data3['potongan_diskon'] ?>">

</div>

</div>

<div class="form-group">

<label for="kembali" class="label-control col-md-3">Kembalian</label>

<div class="col-md-3">

<input type="number" name="kembali" id="kembali" readonly=""

onkeyup="hitung();" class="form-control" value="<?php echo

$data3['kembalian'] ?>">

</div>

</div><br><br>

165

<input type="submit" name="simpan" class="btn btn-md btn-success"

value="Simpan">

<button type="button" class="btn btn-md btn-primary"

onclick="window.open('penjualan/struk.php?kodepj=<?php echo $code;

?>','mywindow','width=450, height=400')"><i class="fa fa-print fa-fw"></i>

Cetak</button>

</form>

<br>

<?php

if(isset($_POST['simpan'])) {

$total_byr = $_POST["total_bayar"];

$diskon = $_POST['diskon'];

$potongan = $_POST['potongan'];

$sub_total = $_POST['s_total'];

$bayar = $_POST['bayar'];

$kembali = $_POST['kembali'];

$tanggal = date("Y-m-d");

mysqli_query($koneksi, "INSERT INTO tb_penjualan_detail SET

kode_penjualan ='$code', total = '$total_byr', diskon = '$diskon',

potongan_diskon = '$potongan', sub_total = '$sub_total', bayar = '$bayar',

kembalian = '$kembali', tanggal = '$tanggal'");

}

?>

<script>

function hitung() {

var diskon = document.getElementById('diskon').value;

var total_bayar = document.getElementById('total_bayar').value;

var diskon_potongan = parseInt(total_bayar) * parseInt(diskon) /

parseInt(100);

if(!isNaN(diskon_potongan)) {

var potongan = document.getElementById('potongan').value =

diskon_potongan;

}

var sub_total = parseInt(total_bayar) - parseInt(potongan);

if(!isNaN(sub_total)) {

166

var s_total = document.getElementById('s_total').value = sub_total;

}

var bayar = document.getElementById('bayar').value;

var b_bayar = parseInt(bayar) - parseInt(s_total);

if(!isNaN(b_bayar)) {

var kembali = document.getElementById('kembali').value = b_bayar;

}

}

</script>

9. Source Code Struk

<?php

// $koneksi = mysqli_connect("localhost", "root", "", "db_pos");

include '../koneksi.php';

$kode = $_GET['kodepj'];

$query = mysqli_query($koneksi, "SELECT * FROM tb_penjualan,

tb_pelanggan WHERE

tb_penjualan.id_pelanggan=tb_pelanggan.id_pelanggan AND

kode_penjualan='$kode'");

$data = mysqli_fetch_array($query);

$query1 = mysqli_query($koneksi, "SELECT * FROM tb_karyawan WHERE

id_karyawan = '$data[id_karyawan]'");

$data1 = mysqli_fetch_array($query1);

?>

<h1 align="center">CV. MULTI CITRA KIMIA</h1>

<hr>

<table>

<tr>

<td>Kode Penjualan</td>

<td> :&nbsp;&nbsp; </td>

<td><?php echo $kode ?></td>

</tr>

<tr>

<td>Tanggal</td>

167

<td> :&nbsp;&nbsp; </td>

<td><?php echo $data['tgl_penjualan'] ?></td>

</tr>

<tr>

<td>Nama Pelanggan</td>

<td> :&nbsp;&nbsp; </td>

<td><?php echo $data['nama'] ?></td>

</tr>

<tr>

<td>Nama kasir</td>

<td> :&nbsp;&nbsp; </td>

<td><?php echo $data1['nama'] ?></td>

</tr>

</table>

<br>

<?php

$query2 = mysqli_query($koneksi, "SELECT * FROM tb_penjualan,

tb_barang WHERE tb_penjualan.kode_barcode=tb_barang.kode_barcode

AND kode_penjualan='$kode'");

?>

<table border="1" cellpadding="5" cellspacing="0">

<thead>

<tr>

<th width="300px">Nama Barang</th>

<th width="80px">Harga</th>

<th>Jumlah</th>

<th width="80px">Total</th>

</tr>

</thead>

<tbody>

<?php

while($row = mysqli_fetch_array($query2)) {

?>

<tr>

<td><?php echo $row['nama_barang'] ?></td>

<td>Rp. <?php echo $row['harga_jual'] ?></td>

<td><?php echo $row['jumlah'] ?></td>

<td>Rp. <?php echo $row['total'] ?></td>

168

</tr>

<?php

}

?>

</tbody>

</table>

<?php

$query3 = mysqli_query($koneksi, "SELECT * FROM tb_penjualan_detail

WHERE kode_penjualan ='$kode'");

$data2 = mysqli_fetch_array($query3);

?>

<hr>

<table>

<tr>

<td>Total</td>

<td>: &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['total'] ?></td>

</tr>

<tr>

<td>Diskon</td>

<td>: &nbsp;&nbsp;</td>

<td><?php echo $data2['diskon'] ?>%</td>

</tr>

<tr>

<td>Potongan Diskon</td>

<td>: &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['potongan_diskon'] ?></td>

</tr>

<tr>

<td>Sub Total</td>

<td>: &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['sub_total'] ?></td>

</tr>

<tr>

<td>Bayar</td>

<td>: &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['bayar'] ?></td>

</tr>

<tr>

169

<td>Kembalian</td>

<td>: &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['kembalian'] ?></td>

</tr>

</table>

10. Source Code tambah penjualan

<?php

$id = $_GET['id'];

$kodepj = $_GET['kodepj'];

$harga = $_GET['harga'];

$barcode = $_GET['barcode'];

$query = mysqli_query($koneksi, "UPDATE tb_penjualan SET

jumlah=(jumlah+1) WHERE id_penjualan='$id'");

$query2 = mysqli_query($koneksi, "UPDATE tb_penjualan SET

total=(total+$harga) WHERE id_penjualan='$id'");

$query3 = mysqli_query($koneksi, "UPDATE tb_barang SET stok=(stok-1)

WHERE kode_barcode='$barcode'");

?>

<script>

window.location.href="?page=penjualan&kodepj=<?php echo $kodepj ?>"

</script>

11. Source Code Kurang (Diskon Harga)

<?php

$id = $_GET['id'];

$kodepj = $_GET['kodepj'];

$harga = $_GET['harga'];

$barcode = $_GET['barcode'];

$query = mysqli_query($koneksi, "UPDATE tb_penjualan SET

jumlah=(jumlah-1) WHERE id_penjualan='$id'");

170

$query2 = mysqli_query($koneksi, "UPDATE tb_penjualan SET total=(total-

$harga) WHERE id_penjualan='$id'");

$query3 = mysqli_query($koneksi, "UPDATE tb_barang SET stok=(stok+1)

WHERE kode_barcode='$barcode'");

?>

<script>

window.location.href="?page=penjualan&kodepj=<?php echo $kodepj ?>"

</script>

12. Source Code Hapus

<?php

$id = $_GET['id'];

$kodepj = $_GET['kodepj'];

$harga = $_GET['harga'];

$barcode = $_GET['barcode'];

$jumlah = $_GET['jumlah'];

$query = mysqli_query($koneksi, "DELETE FROM tb_penjualan WHERE

id_penjualan='$id'");

$query3 = mysqli_query($koneksi, "UPDATE tb_barang SET

stok=(stok+$jumlah) WHERE kode_barcode='$barcode'");

?>

<script>

window.location.href="?page=penjualan&kodepj=<?php echo $kodepj ?>"

</script>

13. Source Code Supplier

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-truck fa-fw"></i>

Supplier</h1>

</div>

<!-- /.col-lg-12 -->

</div>

171

<a href="?page=supplier&aksi=tambah" class="btn btn-sm btn-info">Tambah

Supplier</a>

<br><br>

<table class="table table-responsive table-bordered" id="tables">

<thead>

<tr>

<th>Nama Supplier</th>

<th>Alamat</th>

<th>No Telepon/Hp</th>

<th>Aksi</th>

</tr>

</thead>

<tbody>

<?php

$query = mysqli_query($koneksi, "SELECT * FROM tb_supplier");

while($row = mysqli_fetch_array($query)) {

?>

<tr>

<td><?php echo $row['nama'] ?></td>

<td><?php echo $row['alamat'] ?></td>

<td><?php echo $row['telepon'] ?></td>

<td>

<a href="?page=supplier&aksi=edit&id=<?php echo

$row['id_supplier'] ?>" class="btn btn-sm btn-warning">Edit</a>

<a href="?page=supplier&aksi=hapus&id=<?php echo

$row['id_supplier'] ?>" class="btn btn-sm btn-danger">Hapus</a>

</td>

</tr>

<?php

}

?>

</tbody>

</table>

14. Source Code Tambah Supplier

<div class="row">

<div class="col-lg-12">

172

<h1 class="page-header"><i class="fa fa-truck fa-fw"></i> Tambah

Supplier</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<form method="post" id="supplier">

<div class="form-group">

<label for="nama">Nama Supplier</label>

<input type="text" name="nama" class="form-control" id="nama">

</div><div class="form-group">

<label for="nama">Alamat Supplier</label>

<textarea name="alamat" id="alamat" cols="15" rows="10" class="form-

control"></textarea>

</div><div class="form-group">

<label for="telp">No Telepon/Hp Supplier</label>

<input type="text" name="telp" class="form-control" id="telp">

</div>

<input type="submit" class="btn btn-lg btn-primary btn-block"

name="simpan" value="Simpan">

</form>

<?php

if(isset($_POST['simpan'])) {

$nama = $_POST['nama'];

$alamat = $_POST['alamat'];

$telp = $_POST['telp'];

mysqli_query($koneksi, "INSERT INTO tb_supplier SET nama = '$nama',

alamat = '$alamat', telepon = '$telp'");

echo "<meta http-equiv='refresh' content='1;url=?page=supplier'>";

}

?>

15. Source Code Hapus Supplier

<?php

if(isset($_GET['id'])) {

$id = $_GET['id'];

173

mysqli_query($koneksi, "DELETE FROM tb_supplier WHERE

id_supplier='$id'");

echo "<meta http-equiv='refresh' content='1;url=?page=supplier'>";

}

16. Source Code Beranda

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-home fa-fw"></i>

Beranda</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<!-- /.row -->

<div class="row">

<?php if($userData['jabatan'] !== "Gudang") { ?>

<div class="col-lg-4 col-md-6">

<div class="panel panel-yellow">

<div class="panel-heading">

<div class="row">

<div class="col-xs-3">

<i><img src="asset/icon/shopping-cart.png" alt=""></i>

</div>

<?php

$date = date("Y-m-d");

$query1 = mysqli_query($koneksi, "SELECT SUM(sub_total) AS

pendapatan, COUNT(kode_penjualan) AS penjualan FROM

tb_penjualan_detail WHERE tanggal ='$date' ");

$data1 = mysqli_fetch_array($query1);

174

?>

<div class="col-xs-9 text-right">

<div class="huge"><?php echo $data1['penjualan'] ?></div>

<div>Penjualan <?php echo date("d/m/Y", strtotime($date));

?></div>

</div>

</div>

</div>

</div>

</div>

<div class="col-lg-8 col-md-6">

<div class="panel panel-green">

<div class="panel-heading">

<div class="row">

<div class="col-xs-3">

<i><img src="asset/icon/rich.png" alt=""></i>

</div>

<div class="col-xs-9 text-right">

<div class="huge">Rp. <?php echo

rupiah($data1['pendapatan']) ?></div>

<div>Pendapatan <?php echo date("d/m/Y", strtotime($date));

?></div>

</div>

</div>

</div>

</div>

</div>

<?php } if($userData['jabatan'] !== "Kasir") { ?>

<div class="col-lg-4 col-md-6">

175

<div class="panel panel-info">

<div class="panel-heading">

<div class="row">

<div class="col-xs-3">

<i><img src="asset/icon/trolley.png" alt=""></i>

</div>

<?php

$query2 = mysqli_query($koneksi, "SELECT SUM(total) AS

pengeluaran, COUNT(kode_pembelian) AS pembelian FROM

tb_pembelian_detail WHERE tanggal = '$date' ");

$data2= mysqli_fetch_array($query2);

?>

<div class="col-xs-9 text-right">

<div class="huge"><?php echo $data2['pembelian'] ?></div>

<div>Pembelian <?php echo date("d/m/Y", strtotime($date));

?></div>

</div>

</div>

</div>

</div>

</div>

<div class="col-lg-8 col-md-6">

<div class="panel panel-red">

<div class="panel-heading">

<div class="row">

<div class="col-xs-3">

<i><img src="asset/icon/payment.png" alt=""></i>

</div>

<div class="col-xs-9 text-right">

176

<div class="huge">Rp. <?php echo

rupiah($data2['pengeluaran']) ?></div>

<div>Pengeluaran <?php echo date("d/m/Y", strtotime($date));

?></div>

</div>

</div>

</div>

</div>

</div>

<?php } ?>

</div>

<div class="row">

<div class="col-md-5">

<h4>Stok Barang Mendekati Habis</h4>

<table class="table table-responsive table-bordered">

<thead>

<tr>

<th>Nama Barang</th>

<th>Stok</th>

</tr>

</thead>

<tbody>

<?php

$query3 = mysqli_query($koneksi, "SELECT * FROM tb_barang

WHERE stok <= 10");

while($data3 = mysqli_fetch_array($query3)) {

?>

<tr>

<td><?php echo $data3['nama_barang'] ?></td>

177

<td><?php echo $data3['stok'] ?></td>

</tr>

<?php

}

?>

</tbody>

</table>

</div>

<div class="col-md-7">

<?php

if($userData['jabatan'] == "Gudang") {

$x=1;

$sql = mysqli_query($koneksi, "SELECT b.nama_barang, sum(p.jumlah)

jumlah FROM tb_pembelian p join tb_barang b WHERE p.kode_barcode =

b.kode_barcode GROUP by p.kode_barcode order by jumlah desc limit 10");

}else{

$x=1;

$sql = mysqli_query($koneksi, "SELECT b.nama_barang, sum(p.jumlah)

jumlah FROM tb_penjualan p join tb_barang b WHERE p.kode_barcode =

b.kode_barcode GROUP by p.kode_barcode order by jumlah desc limit 10");

}

while($cell = mysqli_fetch_array($sql)){

if ($x==1) {

$satu=$cell['jumlah'];

$n_satu=$cell['nama_barang'];

echo'<input type="hidden" id="nama1" value="'.$n_satu.'">';

echo'<input type="hidden" id="jml1" value="'.$satu.'">';

} else if ($x==2) {

$dua=$cell['jumlah'];

178

$n_dua=$cell['nama_barang'];

echo'<input type="hidden" id="nama2" value="'.$n_dua.'">';

echo'<input type="hidden" id="jml2" value="'.$dua.'">';

} else if ($x==3) {

$tiga=$cell['jumlah'];

$n_tiga=$cell['nama_barang'];

echo'<input type="hidden" id="nama3" value="'.$n_tiga.'">';

echo'<input type="hidden" id="jml3" value="'.$tiga.'">';

} else if ($x==4) {

$empat=$cell['jumlah'];

$n_empat=$cell['nama_barang'];

echo'<input type="hidden" id="nama4" value="'.$n_empat.'">';

echo'<input type="hidden" id="jml4" value="'.$empat.'">';

}else if ($x==5) {

$lima=$cell['jumlah'];

$n_lima=$cell['nama_barang'];

echo'<input type="hidden" id="nama5" value="'.$n_lima.'">';

echo'<input type="hidden" id="jml5" value="'.$lima.'">';

} else if ($x==6) {

$enam=$cell['jumlah'];

$n_enam=$cell['nama_barang'];

echo'<input type="hidden" id="nama6" value="'.$n_enam.'">';

echo'<input type="hidden" id="jml6" value="'.$enam.'">';

} else if ($x==7) {

$tujuh=$cell['jumlah'];

$n_tujuh=$cell['nama_barang'];

echo'<input type="hidden" id="nama7" value="'.$n_tujuh.'">';

echo'<input type="hidden" id="jml7" value="'.$tujuh.'">';

}else if ($x==8) {

179

$delapan=$cell['jumlah'];

$n_delapan=$cell['nama_barang'];

echo'<input type="hidden" id="nama8" value="'.$n_delapan.'">';

echo'<input type="hidden" id="jml8" value="'.$delapan.'">';

}else if ($x==9) {

$sembilan=$cell['jumlah'];

$n_sembilan=$cell['nama_barang'];

echo'<input type="hidden" id="nama9" value="'.$n_sembilan.'">';

echo'<input type="hidden" id="jml9" value="'.$sembilan.'">';

}else if ($x==10) {

$sepuluh=$cell['jumlah'];

$n_sepuluh=$cell['nama_barang'];

echo'<input type="hidden" id="nama10" value="'.$n_sepuluh.'">';

echo'<input type="hidden" id="jml10" value="'.$sepuluh.'">';

}

$x++;

}

if($userData['jabatan'] == "Administrator") {

$i=1;

$sql2 = mysqli_query($koneksi, "SELECT b.nama_barang,

sum(p.jumlah) jumlah FROM tb_pembelian p join tb_barang b WHERE

p.kode_barcode = b.kode_barcode GROUP by p.kode_barcode order by jumlah

desc limit 10");

while($row = mysqli_fetch_array($sql2)){

if ($i==1) {

$satu2=$row['jumlah'];

180

$n_satu2=$row['nama_barang'];

echo'<input type="hidden" id="nama1a" value="'.$n_satu2.'">';

echo'<input type="hidden" id="jml1a" value="'.$satu2.'">';

} else if ($i==2) {

$dua2=$row['jumlah'];

$n_dua2=$row['nama_barang'];

echo'<input type="hidden" id="nama2a" value="'.$n_dua2.'">';

echo'<input type="hidden" id="jml2a" value="'.$dua2.'">';

} else if ($i==3) {

$tiga2=$row['jumlah'];

$n_tiga2=$row['nama_barang'];

echo'<input type="hidden" id="nama3a" value="'.$n_tiga2.'">';

echo'<input type="hidden" id="jml3a" value="'.$tiga2.'">';

} else if ($i==4) {

$empat2=$row['jumlah'];

$n_empat2=$row['nama_barang'];

echo'<input type="hidden" id="nama4a" value="'.$n_empat2.'">';

echo'<input type="hidden" id="jml4a" value="'.$empat2.'">';

}else if ($i==5) {

$lima2=$row['jumlah'];

$n_lima2=$row['nama_barang'];

echo'<input type="hidden" id="nama5a" value="'.$n_lima2.'">';

echo'<input type="hidden" id="jml5a" value="'.$lima2.'">';

} else if ($i==6) {

$enam2=$row['jumlah'];

$n_enam2=$row['nama_barang'];

echo'<input type="hidden" id="nama6a" value="'.$n_enam2.'">';

echo'<input type="hidden" id="jml6a" value="'.$enam2.'">';

} else if ($i==7) {

181

$tujuh2=$row['jumlah'];

$n_tujuh2=$row['nama_barang'];

echo'<input type="hidden" id="nama7a" value="'.$n_tujuh2.'">';

echo'<input type="hidden" id="jml7a" value="'.$tujuh2.'">';

}else if ($i==8) {

$delapan2=$row['jumlah'];

$n_delapan2=$row['nama_barang'];

echo'<input type="hidden" id="nama8a"

value="'.$n_delapan2.'">';

echo'<input type="hidden" id="jml8a" value="'.$delapan2.'">';

}else if ($i==9) {

$sembilan2=$row['jumlah'];

$n_sembilan2=$row['nama_barang'];

echo'<input type="hidden" id="nama9a"

value="'.$n_sembilan2.'">';

echo'<input type="hidden" id="jml9a" value="'.$sembilan2.'">';

}else if ($i==10) {

$sepuluh2=$row['jumlah'];

$n_sepuluh2=$row['nama_barang'];

echo'<input type="hidden" id="nama10a"

value="'.$n_sepuluh2.'">';

echo'<input type="hidden" id="jml10a" value="'.$sepuluh2.'">';

}

$i++;

}

}

?>

<div style="width: 100%;height: 300px">

182

<canvas id="myChart"></canvas>

</div>

<?php if($userData['jabatan'] == "Administrator") { ?>

<div style="width: 100%;height: 300px">

<canvas id="myCharta"></canvas>

</div>

<?php } ?>

</div>

</div>

17. Source Code Pembelian

<?php

if(isset($_GET['kodepb'])) {

$kodepb = $_GET['kodepb'];

}

?>

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-cart-plus fa-fw"></i>

Pembelian</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<form method="POST">

<div class="form-group">

<label for="kodejual" class="label-control col-md-3">Kode

Pembelian</label>

<div class="col-md-3">

183

<input type="text" name="kodebeli" id="kodebeli" readonly

class="form-control" value="<?php echo $kodepb; ?>">

</div>

</div>

<div class="col-md-6"><br><br></div>

<div class="form-group">

<label for="kodejual" class="label-control col-md-3">Kode

Barcode</label>

<div class="col-md-4">

<select name="barcode" id="barcode" class="chosen-select form-

control" autofocus>

<option value="">Masukkan Barang</option>

<?php

$sql = mysqli_query($koneksi, "SELECT * FROM tb_barang");

while($pecah = mysqli_fetch_array($sql)) {

?>

<option value="<?php echo $pecah['kode_barcode'] ?>"><?php

echo $pecah['kode_barcode']." ".$pecah['nama_barang']."

Rp.".rupiah($pecah['harga_jual']) ?></option>

<?php

}

?>

</select>

<!-- <input type="text" name="barcode" id="barcode" class="form-

control" autofocus> -->

</div>

</div>

<div class="form-group">

<label for="jumlah" class="label-control col-md-1">Jumlah</label>

184

<div class="col-md-3">

<input type="number" name="jumlah" id="jumlah" class="form-

control" >

</div>

</div>

<div class="col-md-12"><br></div>

<div class="form-group">

<label for="pelanggan" class="label-control col-md-3">Nama

Supplier</label>

<div class="col-md-4">

<select name="supplier" id="supplier" class="chosen-select form-

control">

<option >Pilih Supplier</option>

<?php

$query4 = mysqli_query($koneksi, "SELECT * FROM

tb_supplier");

while($supplier = mysqli_fetch_array($query4)){

echo "

<option

value=$supplier[id_supplier]>$supplier[nama]</option>

";

}

?>

</select>

</div>

</div>

<div class="form-group">

<div class="col-md-3">

185

<input type="submit" name="tambahkan" class="btn btn-sm btn-

primary" value="Tambahkan">

</div>

</div>

</form>

<?php

if(isset($_POST['tambahkan'])) {

$date = date("Y-m-d");

$kodebeli = $_POST['kodebeli'];

$barcode = $_POST['barcode'];

$supplier1 = $_POST['supplier'];

$barang = mysqli_query($koneksi, "SELECT * FROM tb_barang WHERE

kode_barcode = '$barcode'");

$data_barang = mysqli_fetch_array($barang);

$harga_beli = $data_barang['harga_beli'];

$jumlah = $_POST['jumlah'];

$total = $jumlah * $harga_beli;

$query = mysqli_query($koneksi, "INSERT INTO tb_pembelian SET

kode_pembelian='$kodebeli', kode_barcode='$barcode', jumlah = '$jumlah',

total = '$total', tgl_pembelian ='$date', id_supplier = '$supplier1'");

}

$query3 = mysqli_query($koneksi, "SELECT * FROM tb_pembelian_detail

WHERE kode_pembelian='$kodepb'");

$data3 = mysqli_fetch_array($query3);

?>

<br>

<br>

186

<br><br><br><br><hr>

<form method="post">

<h3>Daftar Pembelian</h3>

<hr>

<table class="table table-responsive table-bordered">

<thead>

<tr>

<th>Kode Barcode</th>

<th>Nama Barang</th>

<th>Harga</th>

<th>Jumlah</th>

<th>Total</th>

<th>Aksi</th>

</tr>

</thead>

<tbody>

<?php

$query2 = mysqli_query($koneksi, "SELECT * FROM tb_pembelian,

tb_barang WHERE tb_pembelian.kode_barcode = tb_barang.kode_barcode

AND tb_pembelian.kode_pembelian = '$kodepb'");

while($data2 = mysqli_fetch_array($query2)) {

?>

<tr>

<td><?php echo $data2['kode_barcode'] ?></td>

<td><?php echo $data2['nama_barang']?></td>

<td><?php echo rupiah($data2['harga_beli']) ?></td>

<td><?php echo $data2['jumlah'] ?></td>

<td><?php echo rupiah($data2['total']) ?></td>

<td>

187

<a href="?page=pembelian&aksi=tambah&id=<?php echo

$data2['id_pembelian'] ?>&kodebeli=<?php echo $data2['kode_pembelian']

?>&harga=<?php echo $data2['harga_beli'] ?>&barcode=<?php echo

$data2['kode_barcode'] ?>" class="btn btn-sm btn-success"><b>+</b></a>

<a href="?page=pembelian&aksi=kurang&id=<?php echo

$data2['id_pembelian'] ?>&kodebeli=<?php echo $data2['kode_pembelian']

?>&harga=<?php echo $data2['harga_beli'] ?>&barcode=<?php echo

$data2['kode_barcode'] ?>" class="btn btn-sm btn-success"><b>-</b></a>

<a href="?page=pembelian&aksi=hapus&id=<?php echo

$data2['id_pembelian'] ?>&kodebeli=<?php echo $data2['kode_pembelian']

?>&harga=<?php echo $data2['harga_beli'] ?>&barcode=<?php echo

$data2['kode_barcode'] ?>&jumlah=<?php echo $data2['jumlah'] ?>"

class="btn btn-sm btn-danger"><i class="fa fa-trash fa-fw"></i></a>

</td>

</tr>

<?php

$total_bayar = $total_bayar + $data2['total'];

}

?>

</tbody>

</table>

<hr>

<div class="form-group">

<label for="total_bayar" class="label-control col-md-3">Total</label>

<div class="col-md-3">

188

<input type="number" name="total_bayar" id="total_bayar"

onkeyup="hitung();" readonly="" class="form-control" value="<?php echo

$total_bayar ?>">

</div>

</div>

<div class="col-md-6"><br><br></div>

<div class="form-group">

<label for="bayar" class="label-control col-md-3">Bayar</label>

<div class="col-md-3">

<input type="number" name="bayar" onkeyup="hitung();" id="bayar"

class="form-control" value="<?php echo $data3['bayar'] ?>">

</div>

</div>

<div class="col-md-6"><br><br></div>

<div class="form-group">

<label for="kembali" class="label-control col-md-3">Kembalian</label>

<div class="col-md-3">

<input type="number" name="kembali" id="kembali" readonly=""

onkeyup="hitung();" class="form-control" value="<?php echo

$data3['kembalian'] ?>">

</div>

</div>

<div class="col-md-6"><br><br></div><br><br>

<input type="submit" name="simpan" class="btn btn-md btn-success"

value="Simpan">

<button type="button" class="btn btn-md btn-primary"

onclick="window.open('pembelian/struk.php?kodebeli=<?php echo $kodepb;

?>','mywindow','width=720, height=480')"><i class="fa fa-print fa-fw"></i>

Cetak</button>

189

</form>

<?php

if(isset($_POST['simpan'])) {

$total_bayar = $_POST['total_bayar'];

$bayar = $_POST['bayar'];

$kembalian = $_POST['kembali'];

$tanggal = date("Y-m-d");

mysqli_query($koneksi, "INSERT INTO tb_pembelian_detail SET

kode_pembelian = '$kodepb', total = '$total_bayar', bayar = '$bayar', kembalian

= '$kembalian', tanggal = '$tanggal'");

}

?>

<script>

function hitung() {

var total = document.getElementById("total_bayar").value;

var bayar = document.getElementById("bayar").value;

var kembalian = parseInt(bayar) - parseInt(total);

if(!isNaN(kembalian)) {

document.getElementById("kembali").value = kembalian;

}

}

</script>

18. Source code struk pembelian

<?php

// $koneksi = mysqli_connect("localhost","root","","db_pos");

include '../koneksi.php';

190

if(isset($_GET['kodebeli'])) {

$kode = $_GET['kodebeli'];

$query = mysqli_query($koneksi, "SELECT * FROM tb_pembelian,

tb_supplier WHERE tb_pembelian.id_supplier=tb_supplier.id_supplier AND

kode_pembelian = '$kode'");

$data = mysqli_fetch_array($query);

}

?>

<h1 align="center">CV. MULTI CITRA KIMIA</h1>

<hr>

<table>

<tr>

<td>Kode Beli</td>

<td>: &nbsp;&nbsp;</td>

<td><?php echo $kode ?></td>

</tr>

<tr>

<td>Tanggal</td>

<td>: &nbsp;&nbsp;</td>

<td><?php echo $data['tgl_pembelian'] ?></td>

</tr>

<tr>

<td>Nama Supplier</td>

<td>: &nbsp;&nbsp;</td>

<td><?php echo $data['nama'] ?></td>

</tr>

</table>

<hr>

<table border="1" cellpadding="5" cellspacing="0">

191

<thead>

<tr>

<th width="320px">Nama Barang</th>

<th width="100px">Harga</th>

<th width="80px">Jumlah</th>

<th width="150px">Total</th>

</tr>

</thead>

<tbody>

<?php

$query2 = mysqli_query($koneksi, "SELECT * FROM tb_pembelian,

tb_barang WHERE tb_pembelian.kode_barcode=tb_barang.kode_barcode

AND kode_pembelian='$kode'");

while($row = mysqli_fetch_array($query2)) {

?>

<tr>

<td><?php echo $row['nama_barang'] ?></td>

<td>Rp. <?php echo $row['harga_beli'] ?></td>

<td><?php echo $row['jumlah'] ?></td>

<td>Rp. <?php echo $row['total'] ?></td>

</tr>

<?php

}

?>

</tbody>

</table>

<hr>

<?php

192

$query3 = mysqli_query($koneksi, "SELECT * FROM tb_pembelian_detail

WHERE kode_pembelian ='$kode'");

$data2 = mysqli_fetch_array($query3);

?>

<table>

<tr>

<td>Total</td>

<td>: &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['total'] ?></td>

</tr>

<tr>

<td>Bayar</td>

<td>: &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['bayar'] ?></td>

</tr>

<tr>

<td>Kembalian</td>

<td>: &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['kembalian'] ?></td>

</tr>

</table>

19. Source Code Tambah Pembelian

<?php

$id = $_GET['id'];

$kodepb = $_GET['kodebeli'];

$harga = $_GET['harga'];

$barcode = $_GET['barcode'];

193

$query = mysqli_query($koneksi, "UPDATE tb_pembelian SET

jumlah=(jumlah+1) WHERE id_pembelian='$id'");

$query2 = mysqli_query($koneksi, "UPDATE tb_pembelian SET

total=(total+$harga) WHERE id_pembelian='$id'");

$query3 = mysqli_query($koneksi, "UPDATE tb_barang SET stok=(stok-1)

WHERE kode_barcode='$barcode'");

?>

<script>

window.location.href="?page=pembelian&kodepb=<?php echo $kodepb

?>"

</script>

20. Source Code Layout Karyawan

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-male fa-fw"></i>

Karyawan</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<br>

<a href="?page=karyawan&aksi=tambah" class="btn btn-sm btn-

primary">Tambah Karyawan</a>

<br>

<br>

<table class="table table-bordered table-responsive" id="tables">

<thead>

194

<tr>

<th>Nama</th>

<th>Alamat</th>

<th>Telepon</th>

<th>Jabatan</th>

<th>Aksi</th>

</tr>

</thead>

<tbody>

<?php

$query = mysqli_query($koneksi, "SELECT * FROM tb_karyawan,

tb_jabatan WHERE tb_karyawan.id_jabatan = tb_jabatan.id_jabatan");

while($row = mysqli_fetch_array($query)){

?>

<tr>

<td><?php echo $row['nama'] ?></td>

<td><?php echo $row['alamat'] ?></td>

<td><?php echo $row['telepon'] ?></td>

<td><?php echo $row['jabatan'] ?></td>

<td>

<?php

if($row['status'] == "Belum Aktif") {

?>

<a href="?page=karyawan&aksi=aktif&id=<?php echo

$row['id_karyawan'] ?>" class="btn btn-sm btn-danger">Aktifkan Akun</a>

<?php

} else {

?>

195

<a href="?page=karyawan&aksi=reset&id=<?php echo

$row['id_karyawan'] ?>" class="btn btn-sm btn-warning">Reset Akun</a>

<?php

}

?>

<a href="?page=karyawan&aksi=edit&id=<?php echo

$row['id_karyawan'] ?>" class="btn btn-sm btn-warning">Edit</a>

<a href="?page=karyawan&aksi=hapus&id=<?php echo

$row['id_karyawan'] ?>" class="btn btn-sm btn-danger">Hapus</a>

</td>

</tr>

<?php

}

?>

</tbody>

</table>

21. Source Code Tambah Data Karyawan

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-male fa-fw"></i> Tambah

Karyawan</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<form method="post" id="karyawan">

<div class="form-group">

<label for="nama">Nama</label>

196

<input type="text" name="nama" class="form-control" id="nama">

</div>

<div class="form-group">

<label for="alamat">Alamat</label>

<textarea name="alamat" id="alamat" cols="10" rows="7" class="form-

control"></textarea>

</div>

<div class="form-group">

<label for="telp">Telepon/Hp</label>

<input type="text" name="telp" class="form-control" id="telp">

</div>

<div class="form-group">

<label for="jabatan">Jabatan</label>

<select name="jabatan" id="jabatan" class="form-control">

<option value="">--Pilih Jabatan--</option>

<?php

$query = mysqli_query($koneksi, "SELECT * FROM tb_jabatan");

while($jabatan = mysqli_fetch_array($query)) {

echo "<option

value='$jabatan[id_jabatan]'>$jabatan[jabatan]</option>";

}

?>

</select>

</div>

<input type="submit" name="simpan" value="Simpan" class="btn btn-lg

btn-block btn-primary">

</form>

<br>

<br>

197

<?php

if(isset($_POST['simpan'])) {

$nama = $_POST['nama'];

$alamat = $_POST['alamat'];

$telp = $_POST['telp'];

$jabatan = $_POST['jabatan'];

mysqli_query($koneksi, "INSERT INTO tb_karyawan SET nama = '$nama',

alamat = '$alamat', telepon = '$telp', id_jabatan = '$jabatan'");

echo "<meta http-equiv='refresh' content='1;url=?page=karyawan'>";

}

?>

22. Source Code Edit Data Karyawan

<?php

if(isset($_GET['id'])) {

$id = $_GET['id'];

$query1 = mysqli_query($koneksi, "SELECT * FROM tb_karyawan

WHERE id_karyawan='$id'");

$data = mysqli_fetch_array($query1);

}

?>

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-male fa-fw"></i> Tambah

Karyawan</h1>

</div>

<!-- /.col-lg-12 -->

198

</div>

<form method="post" id="karyawan">

<div class="form-group">

<label for="nama">Nama</label>

<input type="text" name="nama" class="form-control" id="nama"

value="<?php echo $data['nama'] ?>">

</div>

<div class="form-group">

<label for="alamat">Alamat</label>

<textarea name="alamat" id="alamat" cols="10" rows="7" class="form-

control"><?php echo $data['alamat'] ?></textarea>

</div>

<div class="form-group">

<label for="telp">Telepon/Hp</label>

<input type="text" name="telp" class="form-control" id="telp"

value="<?php echo $data['telepon'] ?>">

</div>

<div class="form-group">

<label for="jabatan">Jabatan</label>

<select name="jabatan" id="jabatan" class="form-control">

<?php

$query = mysqli_query($koneksi, "SELECT * FROM tb_jabatan");

while($jabatan = mysqli_fetch_array($query)) {

?>

<option <?php if($data['id_jabatan'] == $jabatan['id_jabatan']){echo

"selected";} ?> value="<?php echo $jabatan['id_jabatan']?>"><?php echo

$jabatan['jabatan'] ?></option>

<?php

}

199

?>

</select>

</div>

<input type="submit" name="simpan" value="Simpan" class="btn btn-lg

btn-block btn-primary">

</form>

<br>

<br>

<?php

if(isset($_POST['simpan'])) {

$nama = $_POST['nama'];

$alamat = $_POST['alamat'];

$telp = $_POST['telp'];

$jabatan = $_POST['jabatan'];

mysqli_query($koneksi, "UPDATE tb_karyawan SET nama = '$nama',

alamat = '$alamat', telepon = '$telp', id_jabatan = '$jabatan' WHERE

id_karyawan='$id'");

echo "<meta http-equiv='refresh' content='1;url=?page=karyawan'>";

}

?>

23. Source Code Hapus Data Karyawan

<?php

if(isset($_GET['id'])) {

$id = $_GET['id'];

mysqli_query($koneksi, "DELETE FROM tb_karyawan WHERE

id_karyawan='$id'");

echo "<meta http-equiv='refresh' content='1;url=?page=karyawan'>";

200

}

24. Source Code Pemesanan

<?php

if (isset($_POST['dihapus'])) {

$query=mysqli_query($koneksi, "delete from tb_pemesanan where

invoice='".$_POST['pk_hapus']."'");

if ($query) {

echo "<script type='text/javascript'>alert('pemesanan berhasil dihapus |

delete from tb_pemesanan where invoice=".$_POST['pk_hapus']."')</script>";

}

else {

echo "<script type='text/javascript'>alert('pemesanan gagal

dihapus')</script>";

}

}

if (isset($_POST['save'])) {

$query=mysqli_query($koneksi, "update tb_pemesanan set jadi='Y'

where invoice='".$_POST['pk']."'");

if ($query) {

echo "<script type='text/javascript'>alert('permintaan anda telah

dikirim')</script>";

}

else {

201

echo "<script type='text/javascript'>alert('permintaan anda gagal

dikirim')</script>";

}

}

?>

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-cubes fa-fw"></i> List Stok

Barang</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<br>

<br>

<form action="index.php?page=pemesanan&aksi=preview&id=<?php echo

$id_Order; ?>" method="POST">

<table class="table table-responsive table-bordered" id="tables">

<thead>

<tr>

<th>Nama Barang</th>

<th>Stok</th>

<th>Satuan</th>

<th width="8%">Harga</th>

<th>Kategori</th>

<th>Jumlah Pesan</th>

</tr>

</thead>

<tbody>

202

<?php

$query = mysqli_query($koneksi, "SELECT * FROM tb_kategori INNER

JOIN tb_barang ON tb_kategori.id_kategori=tb_barang.id_kategori");

while($row = mysqli_fetch_array($query)) {

?>

<tr>

<td><?php echo $row['nama_barang']; ?></td>

<td><?php echo $row['stok']; ?></td>

<td><?php echo $row['satuan']; ?></td>

<td><?php echo $row['harga_jual']; ?></td>

<td><?php echo $row['nama'] ?></td>

<td>

<input type="hidden" name="barang[]" value="<?php echo

$row['kode_barcode']; ?>">

<input type="number" name="qty[]" id="<?php echo

$row['kode_barcode']; ?>" min="0" value="0" style="width: 100%;outline:

none !important;border: 0px">

</td>

</tr>

<?php

}

?>

203

</tbody>

</table>

<input type="text" name="pelanggan">

<br>

<br>

<input class="btn btn-sm btn-primary" value="Pesan" type="submit"

name="add">

</form>

25. Source Code Satuan Barang

<div class="row">

<div class="col-lg-12">

<h1 class="page-header">Satuan Barang</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<br>

<a href="?page=satuan&aksi=tambah" class="btn btn-md btn-

primary">Tambah</a>

<br>

<br>

<table class="table table-responsive table-bordered" id="tables">

<thead>

<tr>

<th>No</th>

<th>Satuan Barang</th>

<th>Aksi</th>

</tr>

204

</thead>

<tbody>

<?php

$no = 1;

$query = mysqli_query($koneksi, "SELECT * FROM tb_satuan");

while($row = mysqli_fetch_array($query)) {

?>

<tr>

<td><?php echo $no; ?></td>

<td><?php echo $row['satuan'] ?></td>

<td>

<a href="?page=satuan&aksi=edit&id=<?php echo

$row['id_satuan'] ?>" class="btn btn-sm btn-warning">Edit</a>

<a href="?page=satuan&aksi=hapus&id=<?php echo

$row['id_satuan'] ?>" class="btn btn-sm btn-danger">Hapus</a>

</td>

</tr>

<?php

$no++;

}

?>

</tbody>

</table>

26. Source Code Tambah Satuan

<div class="row">

<div class="col-lg-12">

<h1 class="page-header">Satuan Barang</h1>

205

</div>

<!-- /.col-lg-12 -->

</div>

<br>

<form method="POST" id="f_satuan">

<div class="form-group">

<label for="">Satuan</label>

<input type="text" name="satuan" id="satuan" class="form-control">

</div>

<input type="submit" name="simpan" class="btn btn-sm btn-success"

value="Simpan">

</form>

<?php

if(isset($_POST['simpan'])) {

$satuan = $_POST['satuan'];

mysqli_query($koneksi, "INSERT INTO tb_satuan SET satuan =

'$satuan'");

echo "<meta http-equiv='refresh' content='1;url=?page=satuan'>";

}

?>

27. Source Code Edit Satuan

<?php

if(isset($_GET['id'])) {

$id = $_GET['id'];

$query = mysqli_query($koneksi, "SELECT * FROM tb_satuan WHERE

id_satuan ='$id'");

206

$data = mysqli_fetch_array($query);

}

?>

<div class="row">

<div class="col-lg-12">

<h1 class="page-header">Satuan Barang</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<br>

<form method="POST" id="f_satuan">

<div class="form-group">

<label for="">Satuan</label>

<input type="text" name="satuan" id="satuan" class="form-control"

value="<?php echo $data['satuan'] ?>">

</div>

<input type="submit" name="simpan" class="btn btn-sm btn-success"

value="Simpan">

</form>

<?php

if(isset($_POST['simpan'])) {

$satuan = $_POST['satuan'];

mysqli_query($koneksi, "UPDATE tb_satuan SET satuan = '$satuan'

WHERE id_satuan='$id'");

echo "<meta http-equiv='refresh' content='1;url=?page=satuan'>";

}

?>

207

28. Source Code Hapus Satuan

<?php

if(isset($_GET['id'])) {

$id = $_GET['id'];

mysqli_query($koneksi, "DELETE FROM tb_satuan WHERE id_satuan

='$id'");

echo "<meta http-equiv='refresh' content='1;url=?page=satuan'>";

}

29. Source Code Laporan

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-book fa-fw"></i>

Laporan</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<div class="row">

<?php if($userData['jabatan'] == "Kasir") { ?>

<div class="col-md-3 col-md-6">

<a href="?page=laporan&aksi=riwayat_penjualan">

<div class="panel panel-info">

<div class="panel-heading text-center">

<i><img src="asset/icon/shopping-cart.png" alt=""></i>

<div class="huge-1">Riwayat Penjualan</div>

</div>

</div>

208

</a>

</div>

<div class="col-md-3 col-md-6">

<a href="?page=laporan&aksi=laporan_penjualan">

<div class="panel panel-red">

<div class="panel-heading text-center">

<i><img src="asset/icon/book.png" alt=""></i>

<div class="huge-1">Laporan Penjualan</div>

</div>

</div>

</a>

</div>

<?php } elseif($userData['jabatan'] == "Gudang") { ?>

<div class="col-md-3 col-md-6">

<a href="?page=laporan&aksi=riwayat_pembelian">

<div class="panel panel-green">

<div class="panel-heading text-center">

<i><img src="asset/icon/trolley.png" alt=""></i>

<div class="huge-1">Riwayat Pembelian</div>

</div>

</div>

</a>

</div>

<div class="col-md-3 col-md-6">

<a href="?page=laporan&aksi=laporan_pembelian">

<div class="panel panel-yellow">

<div class="panel-heading text-center">

<i><img src="asset/icon/book.png" alt=""></i>

<div class="huge-1">Laporan Pembelian</div>

209

</div>

</div>

</a>

</div>

<?php } elseif($userData['jabatan'] == "Administrator"){ ?>

<div class="col-md-3 col-md-6">

<a href="?page=laporan&aksi=riwayat_penjualan">

<div class="panel panel-info">

<div class="panel-heading text-center">

<i><img src="asset/icon/shopping-cart.png" alt=""></i>

<div class="huge-1">Riwayat Penjualan</div>

</div>

</div>

</a>

</div>

<div class="col-md-3 col-md-6">

<a href="?page=laporan&aksi=laporan_penjualan">

<div class="panel panel-red">

<div class="panel-heading text-center">

<i><img src="asset/icon/book.png" alt=""></i>

<div class="huge-1">Laporan Penjualan</div>

</div>

</div>

</a>

</div>

<div class="col-md-3 col-md-6">

<a href="?page=laporan&aksi=riwayat_pembelian">

<div class="panel panel-green">

<div class="panel-heading text-center">

210

<i><img src="asset/icon/trolley.png" alt=""></i>

<div class="huge-1">Riwayat Pembelian</div>

</div>

</div>

</a>

</div>

<div class="col-md-3 col-md-6">

<a href="?page=laporan&aksi=laporan_pembelian">

<div class="panel panel-yellow">

<div class="panel-heading text-center">

<i><img src="asset/icon/book.png" alt=""></i>

<div class="huge-1">Laporan Pembelian</div>

</div>

</div>

</a>

</div>

<?php } ?>

</div>

30. Source Code Laporan Penjualan

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-book fa-fw"></i> Laporan

Penjualan</h1>

</div>

<!-- /.col-lg-12 -->

</div>

211

<form method="post" class="form-horizontal">

<label for="" class="col-md-3">Pilih Tanggal Penjualan</label>

<div class="col-md-3">

<input type="text" class="form-control flatpickr" name="mulai">

</div>

<div class="col-md-3">

<input type="text" class="form-control flatpickr" name="akhir">

</div>

<input type="submit" name="cari" class="btn btn-sm btn-success"

value="Cari">

</form>

<?php

if(isset($_POST['cari'])) {

$mulai = $_POST['mulai'];

$akhir = $_POST['akhir'];

$query = mysqli_query($koneksi, "SELECT * FROM tb_penjualan,

tb_barang WHERE (tgl_penjualan BETWEEN '$mulai' AND '$akhir') AND

tb_penjualan.kode_barcode = tb_barang.kode_barcode");

?>

<br>

<a href="laporan/cetak1.php?mulai=<?php echo $mulai ?>&akhir=<?php

echo $akhir ?>" class="btn btn-sm btn-primary" target="_blank"><i class="fa

fa-print"></i> Cetak</a><br><br>

Tanggal <?php echo $mulai." Sampai ". $akhir ?>

<br>

<br>

<table class="table table-responsive table-bordered">

<thead>

212

<tr>

<th>Tanggal Penjualan</th>

<th>Kode Barcode</th>

<th>Nama Barang</th>

<th>Jumlah</th>

<th>Harga Jual</th>

<th>Total</th>

</tr>

</thead>

<tbody>

<?php

$total = 0;

while($row = mysqli_fetch_array($query)){

?>

<tr>

<td><?php echo $row['tgl_penjualan'] ?></td>

<td><?php echo $row['kode_barcode']; ?></td>

<td><?php echo $row['nama_barang']; ?></td>

<td><?php echo $row['jumlah']; ?></td>

<td><?php echo rupiah($row['harga_jual']); ?></td>

<td><?php echo rupiah($row['total']); ?></td>

</tr>

<?php

$total = $total + $row['total'];

} ?>

<tr>

<td colspan="5">Jumlah Pendapatan</td>

<td><b>Rp. <?php echo rupiah($total) ?></b></td>

</tr>

213

</tbody>

</table>

<?php

}

?>

31. Source Code Laporan Pembelian

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-book fa-fw"></i> Laporan

Pembelian</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<form method="post" class="form-horizontal">

<label for="" class="col-md-3">Pilih Tanggal Pembelian</label>

<div class="col-md-3">

<input type="text" class="form-control flatpickr" name="mulai">

</div>

<div class="col-md-3">

<input type="text" class="form-control flatpickr" name="akhir">

</div>

<input type="submit" name="cari" class="btn btn-sm btn-success"

value="Cari">

</form>

<?php

if(isset($_POST['cari'])) {

214

$mulai = $_POST['mulai'];

$akhir = $_POST['akhir'];

$query = mysqli_query($koneksi, "SELECT * FROM tb_pembelian,

tb_barang WHERE (tgl_pembelian BETWEEN '$mulai' AND '$akhir') AND

tb_pembelian.kode_barcode = tb_barang.kode_barcode");

?>

<br>

<a href="laporan/cetak2.php?mulai=<?php echo $mulai ?>&akhir=<?php

echo $akhir ?>" class="btn btn-sm btn-primary" target="_blank"><i class="fa

fa-print"></i> Cetak</a><br><br>

Tanggal <?php echo $mulai." Sampai ". $akhir ?>

<br>

<br>

<table class="table table-responsive table-bordered">

<thead>

<tr>

<th>Tanggal Pembelian</th>

<th>Kode Barcode</th>

<th>Nama Barang</th>

<th>Jumlah</th>

<th>Harga Jual</th>

<th>Total</th>

</tr>

</thead>

<tbody>

<?php

$total = 0;

while($row = mysqli_fetch_array($query)){

215

?>

<tr>

<td><?php echo $row['tgl_pembelian'] ?></td>

<td><?php echo $row['kode_barcode']; ?></td>

<td><?php echo $row['nama_barang']; ?></td>

<td><?php echo $row['jumlah']; ?></td>

<td><?php echo rupiah($row['harga_beli']); ?></td>

<td><?php echo rupiah($row['total']); ?></td>

</tr>

<?php

$total = $total + $row['total'];

} ?>

<tr>

<td colspan="5">Jumlah Pendapatan</td>

<td><b>Rp. <?php echo rupiah($total) ?></b></td>

</tr>

</tbody>

</table>

<?php

}

?>

32. Source Code Riwayat Penjualan

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-shopping-cart fa-fw"></i>

Riwayat Penjualan</h1>

216

</div>

<!-- /.col-lg-12 -->

</div>

<div class="row">

<table class="table table-responsive table-bordered" id="tables">

<thead>

<tr>

<th>Kode Penjualan</th>

<th>Total Bayar</th>

<th>Tanggal</th>

<th>Aksi</th>

</tr>

</thead>

<tbody>

<?php

$query = mysqli_query($koneksi, "SELECT * FROM

tb_penjualan_detail");

while($row = mysqli_fetch_array($query)) {

?>

<tr>

<td><?php echo $row['kode_penjualan'] ?></td>

<td><?php echo $row['sub_total'] ?></td>

<td><?php echo $row['tanggal'] ?></td>

<td>

<a href="?page=laporan&aksi=detail_penjualan&kode=<?php

echo $row['kode_penjualan'] ?>" class="btn btn-sm btn-primary">Detail</a>

</td>

</tr>

<?php } ?>

217

</tbody>

</table>

</div>

33. Source Code Riyawat Pembelian

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-cart-plus fa-fw"></i> Riwayat

Pembelian</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<div class="row">

<table class="table table-responsive table-bordered" id="tables">

<thead>

<tr>

<th>Kode Pembelian</th>

<th>Total Bayar</th>

<th>Tanggal</th>

<th>Aksi</th>

</tr>

</thead>

<tbody>

<?php

$query = mysqli_query($koneksi, "SELECT * FROM

tb_pembelian_detail");

while($row = mysqli_fetch_array($query)) {

?>

218

<tr>

<td><?php echo $row['kode_pembelian'] ?></td>

<td><?php echo $row['total'] ?></td>

<td><?php echo $row['tanggal'] ?></td>

<td>

<a href="?page=laporan&aksi=detail_pembelian&kode=<?php

echo $row['kode_pembelian'] ?>" class="btn btn-sm btn-primary">Detail</a>

</td>

</tr>

<?php } ?>

</tbody>

</table>

</div>

34. Source Code Detail Penjualan

<?php

if(isset($_GET['kode'])) {

$kodepj = $_GET['kode'];

$query = mysqli_query($koneksi, "SELECT * FROM tb_penjualan,

tb_pelanggan WHERE

tb_penjualan.id_pelanggan=tb_pelanggan.id_pelanggan AND

tb_penjualan.kode_penjualan = '$kodepj'");

$data = mysqli_fetch_array($query);

$query1 = mysqli_query($koneksi, "SELECT * FROM tb_karyawan

WHERE id_karyawan = '$data[id_karyawan]'");

$data1 = mysqli_fetch_array($query1);

}

219

?>

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-shopping-cart fa-fw"></i>

Detail Penjualan</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<div class="row">

<form class="form-horizontal">

<div class="form-group">

<label for="" class="label-control col-md-2">Kode Penjualan</label>

<div class="col-md-5">

<input type="text" value="<?php echo $data['kode_penjualan'] ?>"

class="form-control" readonly>

</div>

</div>

<div class="form-group">

<label for="" class="label-control col-md-2">Tanggal

Pembelian</label>

<div class="col-md-5">

<input type="text" value="<?php echo $data['tgl_penjualan'] ?>"

class="form-control" readonly>

</div>

</div>

<div class="form-group">

<label for="" class="label-control col-md-2">Nama Pelanggan</label>

<div class="col-md-5">

220

<input type="text" value="<?php echo $data['nama'] ?>"

class="form-control" readonly>

</div>

</div>

<div class="form-group">

<label for="" class="label-control col-md-2">Nama Kasir</label>

<div class="col-md-5">

<input type="text" value="<?php echo $data1['nama'] ?>"

class="form-control" readonly>

</div>

</div>

</form>

</div>

<?php

$query2 = mysqli_query($koneksi, "SELECT * FROM tb_penjualan,

tb_barang WHERE tb_penjualan.kode_barcode=tb_barang.kode_barcode

AND kode_penjualan='$kodepj'");

?>

<table class="table table-responsive table-bordered">

<thead>

<tr>

<th>Nama Barang</th>

<th>Harga</th>

<th>Jumlah</th>

<th>Total</th>

</tr>

</thead>

<tbody>

<?php

221

while($row = mysqli_fetch_array($query2)) {

?>

<tr>

<td><?php echo $row['nama_barang'] ?></td>

<td>Rp. <?php echo rupiah($row['harga_jual']) ?></td>

<td><?php echo $row['jumlah'] ?></td>

<td>Rp. <?php echo rupiah($row['total']) ?></td>

</tr>

<?php

}

?>

</tbody>

</table>

<?php

$query3 = mysqli_query($koneksi, "SELECT * FROM tb_penjualan_detail

WHERE kode_penjualan ='$kodepj'");

$data2 = mysqli_fetch_array($query3);

?>

<hr>

<table>

<tr>

<td>Total</td>

<td>&nbsp;&nbsp; : &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['total'] ?></td>

</tr>

<tr>

<td>Diskon</td>

<td>&nbsp;&nbsp; : &nbsp;&nbsp;</td>

222

<td><?php echo $data2['diskon'] ?>%</td>

</tr>

<tr>

<td>Potongan Diskon</td>

<td>&nbsp;&nbsp; : &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['potongan_diskon'] ?></td>

</tr>

<tr>

<td>Sub Total</td>

<td>&nbsp;&nbsp; : &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['sub_total'] ?></td>

</tr>

<tr>

<td>Bayar</td>

<td>&nbsp;&nbsp; : &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['bayar'] ?></td>

</tr>

<tr>

<td>Kembalian</td>

<td>&nbsp;&nbsp; : &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['kembalian'] ?></td>

</tr>

</table>

35. Source Code Detail Pembelian

<?php

if(isset($_GET['kode'])) {

$kodepj = $_GET['kode'];

223

$query = mysqli_query($koneksi, "SELECT * FROM tb_pembelian,

tb_supplier WHERE tb_pembelian.id_supplier=tb_supplier.id_supplier AND

tb_pembelian.kode_pembelian = '$kodepj'");

$data = mysqli_fetch_array($query);

}

?>

<div class="row">

<div class="col-lg-12">

<h1 class="page-header"><i class="fa fa-shopping-cart fa-fw"></i>

Detail Penjualan</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<div class="row">

<form class="form-horizontal">

<div class="form-group">

<label for="" class="label-control col-md-2">Kode Penjualan</label>

<div class="col-md-5">

<input type="text" value="<?php echo $data['kode_penjualan'] ?>"

class="form-control" readonly>

</div>

</div>

<div class="form-group">

<label for="" class="label-control col-md-2">Tanggal

Pembelian</label>

<div class="col-md-5">

<input type="text" value="<?php echo $data['tgl_pembelian'] ?>"

class="form-control" readonly>

</div>

224

</div>

<div class="form-group">

<label for="" class="label-control col-md-2">Nama Pelanggan</label>

<div class="col-md-5">

<input type="text" value="<?php echo $data['nama'] ?>"

class="form-control" readonly>

</div>

</div>

</form>

</div>

<?php

$query2 = mysqli_query($koneksi, "SELECT * FROM tb_pembelian,

tb_barang WHERE tb_pembelian.kode_barcode=tb_barang.kode_barcode

AND tb_pembelian.kode_pembelian='$kodepj'");

?>

<table class="table table-responsive table-bordered">

<thead>

<tr>

<th>Nama Barang</th>

<th>Harga</th>

<th>Jumlah</th>

<th>Total</th>

</tr>

</thead>

<tbody>

<?php

while($row = mysqli_fetch_array($query2)) {

?>

<tr>

225

<td><?php echo $row['nama_barang'] ?></td>

<td>Rp. <?php echo rupiah($row['harga_beli']) ?></td>

<td><?php echo $row['jumlah'] ?></td>

<td>Rp. <?php echo rupiah($row['total']) ?></td>

</tr>

<?php

}

?>

</tbody>

</table>

<?php

$query3 = mysqli_query($koneksi, "SELECT * FROM tb_pembelian_detail

WHERE kode_pembelian ='$kodepj'");

$data2 = mysqli_fetch_array($query3);

?>

<hr>

<table>

<tr>

<td>Total</td>

<td>&nbsp;&nbsp; : &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['total'] ?></td>

</tr>

<tr>

<td>Bayar</td>

<td>&nbsp;&nbsp; : &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['bayar'] ?></td>

</tr>

<tr>

226

<td>Kembalian</td>

<td>&nbsp;&nbsp; : &nbsp;&nbsp;</td>

<td>Rp. <?php echo $data2['kembalian'] ?></td>

</tr>

</table>

36. Source Code Cetak 1 (Penjualan)

<?php

// $koneksi = mysqli_connect('localhost','root','','db_pos');

include '../koneksi.php';

include '../format_rupiah.php';

$mulai = $_GET['mulai'];

$akhir = $_GET['akhir'];

$query = mysqli_query($koneksi, "SELECT * FROM tb_penjualan, tb_barang

WHERE (tgl_penjualan BETWEEN '$mulai' AND '$akhir') AND

tb_penjualan.kode_barcode = tb_barang.kode_barcode");

?>

<head>

<title>Laporan Penjualan</title>

<script type="text/javascript" src="../Chart.js"></script>

</head>

<style>

.container {

width: 80%;

padding-right: 20px;

padding-left: 20px;

margin-right: auto;

margin-left: auto;

227

}

</style>

<div class='container' onclick="window.print()">

<h1 align="center">CV. Multi Citra Kimia</h1>

<br>

<br>

Laporan Penjualan Tanggal <?php echo $mulai." Sampai ". $akhir ?>

<br>

<br>

<table border="1" cellpadding="5" cellspacing="0">

<thead>

<tr>

<th>Tanggal Penjualan</th>

<th width="200px">Kode Barcode</th>

<th width="200px">Nama Barang</th>

<th>Jumlah</th>

<th width="150px">Harga Jual</th>

<th width="200px">Total</th>

</tr>

</thead>

<tbody>

<?php

$total = 0;

while($row = mysqli_fetch_array($query)){

?>

<tr>

<td><?php echo $row['tgl_penjualan'] ?></td>

<td><?php echo $row['kode_barcode']; ?></td>

<td><?php echo $row['nama_barang']; ?></td>

228

<td><?php echo $row['jumlah']; ?></td>

<td><?php echo rupiah($row['harga_jual']); ?></td>

<td><?php echo rupiah($row['total']); ?></td>

</tr>

<?php

$total = $total + $row['total'];

} ?>

<tr>

<td colspan="5">Jumlah Pendapatan</td>

<td><b>Rp. <?php echo rupiah($total) ?></b></td>

</tr>

</tbody>

</table>

<?php

$x=1;

$query = mysqli_query($koneksi, "SELECT b.nama_barang, sum(p.jumlah)

jumlah FROM tb_penjualan p join tb_barang b WHERE (p.tgl_penjualan

BETWEEN '$mulai' AND '$akhir') AND p.kode_barcode = b.kode_barcode

GROUP by p.kode_barcode order by jumlah desc limit 10");

while($row = mysqli_fetch_array($query)){

if ($x==1) {

$satu=$row['jumlah'];

$n_satu=$row['nama_barang'];

echo'<input type="hidden" id="nama1" value="'.$n_satu.'">';

echo'<input type="hidden" id="jml1" value="'.$satu.'">';

} else if ($x==2) {

$dua=$row['jumlah'];

$n_dua=$row['nama_barang'];

229

echo'<input type="hidden" id="nama2" value="'.$n_dua.'">';

echo'<input type="hidden" id="jml2" value="'.$dua.'">';

} else if ($x==3) {

$tiga=$row['jumlah'];

$n_tiga=$row['nama_barang'];

echo'<input type="hidden" id="nama3" value="'.$n_tiga.'">';

echo'<input type="hidden" id="jml3" value="'.$tiga.'">';

} else if ($x==4) {

$empat=$row['jumlah'];

$n_empat=$row['nama_barang'];

echo'<input type="hidden" id="nama4" value="'.$n_empat.'">';

echo'<input type="hidden" id="jml4" value="'.$empat.'">';

}else if ($x==5) {

$lima=$row['jumlah'];

$n_lima=$row['nama_barang'];

echo'<input type="hidden" id="nama5" value="'.$n_lima.'">';

echo'<input type="hidden" id="jml5" value="'.$lima.'">';

} else if ($x==6) {

$enam=$row['jumlah'];

$n_enam=$row['nama_barang'];

echo'<input type="hidden" id="nama6" value="'.$n_enam.'">';

echo'<input type="hidden" id="jml6" value="'.$enam.'">';

} else if ($x==7) {

$tujuh=$row['jumlah'];

$n_tujuh=$row['nama_barang'];

echo'<input type="hidden" id="nama7" value="'.$n_tujuh.'">';

echo'<input type="hidden" id="jml7" value="'.$tujuh.'">';

}else if ($x==8) {

$delapan=$row['jumlah'];

230

$n_delapan=$row['nama_barang'];

echo'<input type="hidden" id="nama8" value="'.$n_delapan.'">';

echo'<input type="hidden" id="jml8" value="'.$delapan.'">';

}else if ($x==9) {

$sembilan=$row['jumlah'];

$n_sembilan=$row['nama_barang'];

echo'<input type="hidden" id="nama9" value="'.$n_sembilan.'">';

echo'<input type="hidden" id="jml9" value="'.$sembilan.'">';

}else if ($x==10) {

$sepuluh=$row['jumlah'];

$n_sepuluh=$row['nama_barang'];

echo'<input type="hidden" id="nama10" value="'.$n_sepuluh.'">';

echo'<input type="hidden" id="jml10" value="'.$sepuluh.'">';

}

$x++;

}

?>

<div style="width: 1000px;height: 500px">

<canvas id="myChart"></canvas>

</div>

<script type="text/javascript" src="https://code.jquery.com/jquery-

3.4.0.min.js"></script>

<script>

var nama1 = $("#nama1").val();

var nama2 = $("#nama2").val();

var nama3 = $("#nama3").val();

231

var nama4 = $("#nama4").val();

var nama5 = $("#nama5").val();

var nama6 = $("#nama6").val();

var nama7 = $("#nama7").val();

var nama8 = $("#nama8").val();

var nama9 = $("#nama9").val();

var nama10 = $("#nama10").val();

var jml1 = $("#jml1").val();

var jml2 = $("#jml2").val();

var jml3 = $("#jml3").val();

var jml4 = $("#jml4").val();

var jml5 = $("#jml5").val();

var jml6 = $("#jml6").val();

var jml7 = $("#jml7").val();

var jml8 = $("#jml8").val();

var jml9 = $("#jml9").val();

var jml10 = $("#jml10").val();

var ctx = document.getElementById("myChart").getContext('2d');

var myChart = new Chart(ctx, {

type: 'bar',

data: {

labels: [nama1, nama2, nama3, nama4, nama5, nama6, nama7,

nama8, nama9, nama10],

datasets: [{

label: 'Penjualan',

data: [jml1, jml2, jml3, jml4, jml5, jml6, jml7, jml8, jml9, jml10],

232

backgroundColor: [

'rgba(255, 99, 132, 0.2)',

'rgba(48, 9, 99, 0.53)',

'rgba(4, 82, 95, 0.66)',

'rgba(178, 92, 184, 0.62)',

'rgba(243, 247, 6, 0.66)',

'rgba(54, 162, 235, 0.2)',

'rgba(255, 206, 86, 0.2)',

'rgba(75, 192, 192, 0.2)',

'rgba(153, 102, 255, 0.2)',

'rgba(255, 159, 64, 0.2)'

],

borderWidth: 1

}]

},

options: {

scales: {

yAxes: [{

ticks: {

beginAtZero:true

}

}]

}

}

});

</script>

233

37. Source Code Cetak 2 (Pembelian)

<?php

// $koneksi = mysqli_connect('localhost','root','','db_pos');

include '../koneksi.php';

include '../format_rupiah.php';

$mulai = $_GET['mulai'];

$akhir = $_GET['akhir'];

$query = mysqli_query($koneksi, "SELECT * FROM tb_pembelian, tb_barang

WHERE (tgl_pembelian BETWEEN '$mulai' AND '$akhir') AND

tb_pembelian.kode_barcode = tb_barang.kode_barcode");

?>

<title>Laporan Pembelian</title>

<script type="text/javascript" src="../Chart.js"></script>

<style>

.container {

width: 80%;

padding-right: 20px;

padding-left: 20px;

margin-right: auto;

margin-left: auto;

}

</style>

<div class='container' onclick="window.print()">

<h1 align="center">CV. Multi Citra Kimia</h1>

<br>

<br>

Laporan Pembelian Tanggal <?php echo $mulai." Sampai ". $akhir ?>

<br>

234

<br>

<table border="1" cellpadding="5" cellspacing="0">

<thead>

<tr>

<th>Tanggal Penjualan</th>

<th width="200px">Kode Barcode</th>

<th width="200px">Nama Barang</th>

<th>Jumlah</th>

<th width="150px">Harga Jual</th>

<th width="200px">Total</th>

</tr>

</thead>

<tbody>

<?php

$total = 0;

while($row = mysqli_fetch_array($query)){

?>

<tr>

<td><?php echo $row['tgl_pembelian'] ?></td>

<td><?php echo $row['kode_barcode']; ?></td>

<td><?php echo $row['nama_barang']; ?></td>

<td><?php echo $row['jumlah']; ?></td>

<td><?php echo rupiah($row['harga_beli']); ?></td>

<td><?php echo rupiah($row['total']); ?></td>

</tr>

<?php

$total = $total + $row['total'];

} ?>

<tr>

235

<td colspan="5">Jumlah Pendapatan</td>

<td><b>Rp. <?php echo rupiah($total) ?></b></td>

</tr>

</tbody>

</table>

<?php

$x=1;

$query = mysqli_query($koneksi, "SELECT b.nama_barang, sum(p.jumlah)

jumlah FROM tb_pembelian p join tb_barang b WHERE (p.tgl_pembelian

BETWEEN '$mulai' AND '$akhir') AND p.kode_barcode = b.kode_barcode

GROUP by p.kode_barcode order by jumlah desc limit 10");

while($row = mysqli_fetch_array($query)){

if ($x==1) {

$satu=$row['jumlah'];

$n_satu=$row['nama_barang'];

echo'<input type="hidden" id="nama1" value="'.$n_satu.'">';

echo'<input type="hidden" id="jml1" value="'.$satu.'">';

} else if ($x==2) {

$dua=$row['jumlah'];

$n_dua=$row['nama_barang'];

echo'<input type="hidden" id="nama2" value="'.$n_dua.'">';

echo'<input type="hidden" id="jml2" value="'.$dua.'">';

} else if ($x==3) {

$tiga=$row['jumlah'];

$n_tiga=$row['nama_barang'];

echo'<input type="hidden" id="nama3" value="'.$n_tiga.'">';

echo'<input type="hidden" id="jml3" value="'.$tiga.'">';

} else if ($x==4) {

$empat=$row['jumlah'];

236

$n_empat=$row['nama_barang'];

echo'<input type="hidden" id="nama4" value="'.$n_empat.'">';

echo'<input type="hidden" id="jml4" value="'.$empat.'">';

}else if ($x==5) {

$lima=$row['jumlah'];

$n_lima=$row['nama_barang'];

echo'<input type="hidden" id="nama5" value="'.$n_lima.'">';

echo'<input type="hidden" id="jml5" value="'.$lima.'">';

} else if ($x==6) {

$enam=$row['jumlah'];

$n_enam=$row['nama_barang'];

echo'<input type="hidden" id="nama6" value="'.$n_enam.'">';

echo'<input type="hidden" id="jml6" value="'.$enam.'">';

} else if ($x==7) {

$tujuh=$row['jumlah'];

$n_tujuh=$row['nama_barang'];

echo'<input type="hidden" id="nama7" value="'.$n_tujuh.'">';

echo'<input type="hidden" id="jml7" value="'.$tujuh.'">';

}else if ($x==8) {

$delapan=$row['jumlah'];

$n_delapan=$row['nama_barang'];

echo'<input type="hidden" id="nama8" value="'.$n_delapan.'">';

echo'<input type="hidden" id="jml8" value="'.$delapan.'">';

}else if ($x==9) {

$sembilan=$row['jumlah'];

$n_sembilan=$row['nama_barang'];

echo'<input type="hidden" id="nama9" value="'.$n_sembilan.'">';

echo'<input type="hidden" id="jml9" value="'.$sembilan.'">';

}else if ($x==10) {

237

$sepuluh=$row['jumlah'];

$n_sepuluh=$row['nama_barang'];

echo'<input type="hidden" id="nama10" value="'.$n_sepuluh.'">';

echo'<input type="hidden" id="jml10" value="'.$sepuluh.'">';

}

$x++;

}

?>

<div style="width: 1000px;height: 500px">

<canvas id="myChart"></canvas>

</div>

</div>

<script type="text/javascript" src="https://code.jquery.com/jquery-

3.4.0.min.js"></script>

<script>

var nama1 = $("#nama1").val();

var nama2 = $("#nama2").val();

var nama3 = $("#nama3").val();

var nama4 = $("#nama4").val();

var nama5 = $("#nama5").val();

var nama6 = $("#nama6").val();

var nama7 = $("#nama7").val();

var nama8 = $("#nama8").val();

var nama9 = $("#nama9").val();

var nama10 = $("#nama10").val();

var jml1 = $("#jml1").val();

238

var jml2 = $("#jml2").val();

var jml3 = $("#jml3").val();

var jml4 = $("#jml4").val();

var jml5 = $("#jml5").val();

var jml6 = $("#jml6").val();

var jml7 = $("#jml7").val();

var jml8 = $("#jml8").val();

var jml9 = $("#jml9").val();

var jml10 = $("#jml10").val();

var ctx = document.getElementById("myChart").getContext('2d');

var myChart = new Chart(ctx, {

type: 'bar',

data: {

labels: [nama1, nama2, nama3, nama4, nama5, nama6, nama7,

nama8, nama9, nama10],

datasets: [{

label: 'Pembelian',

data: [jml1, jml2, jml3, jml4, jml5, jml6, jml7, jml8, jml9, jml10],

backgroundColor: [

'rgba(255, 99, 132, 0.2)',

'rgba(48, 9, 99, 0.53)',

'rgba(4, 82, 95, 0.66)',

'rgba(178, 92, 184, 0.62)',

'rgba(243, 247, 6, 0.66)',

'rgba(54, 162, 235, 0.2)',

'rgba(255, 206, 86, 0.2)',

'rgba(75, 192, 192, 0.2)',

239

'rgba(153, 102, 255, 0.2)',

'rgba(255, 159, 64, 0.2)'

],

borderWidth: 1

}]

},

options: {

scales: {

yAxes: [{

ticks: {

beginAtZero:true

}

}]

}

}

});

</script>

38. Source Code Pengaturan Aplikasi Point Of Sale

<div class="row">

<div class="col-lg-12">

<h1 class="page-header">Pengaturan Aplikasi</h1>

</div>

<!-- /.col-lg-12 -->

</div>

<div class="row">

<div class="col-lg-3 col-md-6">

240

<a href="?page=kategori">

<div class="panel panel-tan">

<div class="panel-heading">

<div class="row">

<div class="col-xs-3">

<i><img src="asset/icon/backend.png" alt=""></i>

</div>

<div class="col-xs-9 text-right">

<!-- <div class="huge">13</div> -->

<div class="huge-2">Kategori Barang</div>

</div>

</div>

</div>

</div>

</a>

</div>

<div class="col-lg-3 col-md-6">

<a href="?page=satuan">

<div class="panel panel-default">

<div class="panel-heading">

<div class="row">

<div class="col-xs-3">

<i><img src="asset/icon/scales.png" alt=""></i>

</div>

<div class="col-xs-9 text-right">

<!-- <div class="huge">13</div> -->

<div class="huge-2">Satuan Barang</div>

</div>

</div>

241

</div>

</div>

</a>

</div>

</div>

39. Source Code Logout Aplikasi

<?php

session_start();

session_destroy();

echo "<meta http-equiv='refresh' content='1;url=login.php' >";

?>