Sabtu, 28 Maret 2020

PBKK A - UTS Membuat Aplikasi POS/Kasir dengan CodeIgniter

Aplikasi POS/Kasir Toko Chewy Juice.
Aplikasi ini adalah aplikasi kasir untuk transaksi pembelian jus pada toko Chewy Juice.
Seperti aplikasi kasir pada umumnya, pada fitur mesin kasir aplikasi ini kita dapat menginputkan menu jus yang dipesan, jumlahnya, user juga dapat menginputkan besaran diskon untuk potongan harga, serta mencetak struk transaksi pembelian.

Selain fitur kasir, aplikasi ini memiliki fitur-fitur lainnya yaitu :
- Login*
- Dashboard*
- Menu Gudang
- Menu Kasir
- Manajer Toko
- Grafik
- Laporan
- Logout*
Fitur-fitur ini akan dibahas lebih rinci pada penjelasan di bawah.
* fitur dimiliki oleh semua jenis user.

User dari aplikasi ini terbagi menjadi 4 :
1. Manager : memiliki akses untuk semua fitur pada aplikasi seperti list di atas.
2. Admin : hanya memiliki akses untuk fitur Menu Gudang dan Menu Kasir.
3. Kasir : hanya memiliki akses untuk fitur Menu Kasir.
4. Gudang : hanya memiliki akses untuk fitur menu Gudang.

Sebelum membahas fitur-fitur dari aplikasi ini lebih lanjut, saya akan menjelaskan secara singkat proses untuk pengimplementasian hosting untuk aplikasi ini.
langkah 1:
Registrasi akun di website free hosting yaitu https://www.000webhost.com/


Namun pada website free hosting ini, kita hanya dapat membuat 1 hosting secara gratis per akunnya.

Langkah 2:
Klik menu Learn Web Development

Langkah 3:
Buat project baru dengan menginputkan nama website yang akan digunakan sebagai alamat website kita, lalu simpan password yang telah diberikan.


Langkah 4:
Klik menu Upload your site ,


Lalu akan muncul halaman folder seperti di bawah ini


Langkah 5:
Hapus file .htaccess di bawah, kemudian klik Upload File di kanan atas,



Siapkan folder website yang telah kita buat dalam bentuk zip, kemudian upload file zip tersebut.



Langkah 6:
Extract file zip tersebut dan letakkan seluruh file hasil extract pada folder root yaitu public_html.


Langkah 7:
Kita buat database untuk website kita pada server milik 000webhost dengan membuka https://www.000webhost.com/members/website/chewy-juice/database


Inputkan data seperti di bawah ini



Database berhasil terbentuk.

Langkah 8:
Pada menu Manage, buka menu Phpmyadmin


Importkan file .sql untuk website kita pada database yang telah terbentuk.


Langkah 9:
Sesuaikan konfigurasi database pada file database.php




Langkah 10:
Ubah base_url pada file config.php dengan menyesuaikan alamat hosting 


Selesai.
Web saya dapat diakses secara publik melalui http://chewy-juice.000webhostapp.com/




Langsung saja kita masuk ke pembahasan rinci fitur-fitur yang ada pada aplikasi ini.
1. Login
Untuk dapat mengoperasikan aplikasi ini, user harus melakukan login pada halaman ini, dengan menginputkan username dan password yang sudah terdaftar.
Penambahan user hanya dapat dilakukan oleh role Manager.

Daftar user :
1) Manager
username : manager
password : manager
2) Admin
username : admin
password : admin
3) Kasir
username : kasir
password : kasir
4) Gudang
username : gudang
password : gudang




Setelah menginputkan username dan password, klik tombol Login, maka user akan diarahkan ke halaman Dashboard

2. Dashboard
Pada halaman ini, user akan melihat informasi bahwa user melakukan login sebagai role apa.





3. Menu Gudang
Menu Gudang ini mengatur tentang persediaan bahan di gudang.
Menu Gudang yang dimiliki oleh role Manager, Admin, dan Gudang adalah sama.
Menu ini terdiri dari beberapa sub menu, sebagai berikut :


    3.1. Satuan Bahan
    Pada halaman ini, kita dapat menyimpan satuan-satuan bahan yang digunakan dalam mengelola data. misalnya satuan kilogram(KG), kotak(BOX), dst.
Kita juga dapat menambahkan data satuan bahan baru pada sidebar Tambah Data di sebelah kanan layar.
Selain itu, kita juga dapat melakukan search pada Search Bar dengan menginputkan Kode Satuan atau Nama Satuan.







    3.2. Entry Bahan Baku
    Halaman ini menampilkan daftar bahan yang digunakan dalam bisnis penjualan Chewy Juice.
Data Porsi/Satuan di bawah ini maksudnya dalam 1 satuan, bahan tersebut dapat menghasilkan sebanyak berapa porsi. Sehingga didapatkan perhitungan Modal/Porsi nya.
Kita juga dapat menambahkan data baru pada sidebar di kanan layar.






    3.3. Daftar Menu
    Halaman ini menampilkan Daftar Menu yang dijual pada Toko Chewy Juice.
Data Item Bahan di bawah maksudnya adalah menu tersebut dibuat dengan sejumlah jenis bahan.
Pada Search Bar kita dapat mencari suatu menu dengan input Kode Menu atau Nama Menu.
Untuk menambahkan menu baru, klik Tambah Menu dan inputkan data yang diperlukan.
Kita juga dapat mencetak/Print daftar menu langsung dari web.






    3.4. Pembelian Bahan
    Pada halaman ini kita menginputkan data pembelian bahan, dengan memasukkan Kode Bahan dan Jumlah. Dengan ini, jumlah stok bahan akan otomatis menyesuaikan.




    3.5. Stok Bahan
    Pada halaman ini kita dapat melihat list ketersediaan bahan untuk berjualan. Kita juga dapat melakukan Filterasi Data pada kotak berwarna biru, Search Data dengan berdasarkan semua atribut pada tabel pada kotak warna hijau dan mendownload data sebagai PDF atau CSV pada kotak berwarna merah seperti gambar di bawah ini. Selain itu kita juga dapat mencetak/Print list data tersebut.




    3.6. Bahan Rusak/Busuk
    Di sini kita dapat menginputkan data bahan-bahan yang rusak dengan menginputkan Kode Bahan, jumlah stok akan otomatis menyesuaikan dan riwayat ini akan tercatat pada fitur Kartu Stok.



    3.7. Bahan Mau Habis
    Kita dapat melihat list-list bahan yang jumlah stoknya menipis/habis. List ini dapat kita download dalam format Excel,CSV, dan PDF.  Kita dapar melakukan Search Data pada Search Bar. Selain itu, kita juga dapat mencetaknya / Print.




4. Menu Kasir
Menu kasir ini terdiri dari beberapa sub fitur sebagai berikut :


    4.1. Menu Kasir
    Seperti mesin Kasir pada umumnya, di menu ini kita dapat menginputkan menu jus yang dibeli dengan menginputkan Kode Menu atau Nama Menu, kemudian klik Enter. 




Kita dapat langsung mengubah jumlah menu yang dipesan.


Untuk menambahkan menu baru, lakukan langkah yang sama seperti sebelumnya.


Kita dapat memberikan diskon untuk menu tertentu, dengan langsung menginputkan besaran diskon dalam satuan persen(%).


Kita juga dapat memberikan diskon keseluruhan yang berlaku untuk pemotongan total belanja pada layar sebelah kiri, dengan langsung menginputkan nominalnya dalam rupiah (Rp). Kemudian klik Hitung Diskon.



Apabila transaksi tersebut belum selesai, kita dapat menyimpannya terlebih dahulu sebagai draft dan dapat dilanjuti kembali, dengan mengklik tombol Pending di bawah tabel rincian belanja.


Jika penginputan pesanan telah selesai, selanjutnya yaitu bayar dengan klik tombol Bayar. Kemudian inputkan jumlah uang yang dibayar dan klik Hitung.


Klik Print untuk mencetak struk. Setelah itu transaksi selesai. Histori transaksi akan tercatat di Menu Rekapan Hari Ini.



    4.2. Input Biaya
   Menu ini digunakan untuk menginput pengeluaran biaya seperti Operasional, Tenaga Kerja, Investasi, dll. Histori ini akan tercatat di Menu Rekapan Hari Ini.



    4.3. Rekap Hari Ini
    Seluruh transaksi pengeluaran dan penjualan tercatat di sini. Dan dapat diprint dengan mengklik tombol Cetak Rekap.




    4.4. Bahan Masuk Hari Ini
    Halaman ini berisikan rincian bahan yang dibeli hari ini, list ini juga dapat diprint dengan mengklik tombol Cetak.




5. Manajer Toko
Pada menu ini, Manager dapat melakukan manajemen data mengenai toko, user, stok bahan, dll.
Terdapat sub-sub fitur dalam menu ini yaitu sebagai berikut :


    5.1. Toko
    Menu ini mengatur informasi mengenai Toko Chewy Juice


    5.2. User
    Menu ini mengatur daftar user-user yang memiliki akses untuk mengoperasikan aplikasi ini.
Kita juga dapat menambahkan user baru dengan menginputkan data-data yang dibutuhkan.



    5.3. Stok Bahan
    Menu ini sama seperti sub fitur Stok Bahan pada Menu Gudang.

    5.4. Kartu Stok
    Menu ini mencatat record suatu bahan, dari jumlah barang masuk dan keluar.


    5.5. Bahan Mau Habis
    Menu ini sama seperti sub fiturr Bahan Mau Habis pada Menu Gudang.

6. Grafik
Menu ini menampilkan grafik-grafik dari data porsi bahan, profit toko, dan penjualan.
Berikut adalah sub-sub fiturnya:

    6.1. Grafik Porsi Bahan
    Menu ini akan menampilkan grafik persediaan bahan dalam jumlah per porsi.


    6.2. Grafik Profit Bulanan
    Menu ini menampilkan grafik profit/keuntungan yang diperolah Toko Chewy Juice dalam sebulan.


  
    6.3 Grafik Penjualan Bulanan
    Menu ini menampilkan grafik jumlah penjualan Toko Chewy Juice selama sebulan.



    6.4. Grafik Penjualan Tahunan
    Menu ini menampilkan grafik jumlah penjualan Toko Chewy Juice selama setahun.





7. Laporan
Menu ini menampilkan laporan laporan yang dapat dicetak/diprint.
Berikut sub-sub fiturnya :

    7.1. Biaya-biaya
    Menu ini menampilkan histori pengeluaran biaya. Terdapat dua versi yaitu Rinci dan Rekap. Keduanya dapat dicetak/diprint.








    7.2. Persediaan Bahan
    Menu ini menampilkan laporan persediaan bahan dalam satuan porsi, dan dapat diprint.



    7.3. Pembelian Bahan
    Menu ini menampilkan laporan transaksi pembelian bahan, dan dapat difilter rentang waktunya dan diprint.



    7.4. Penjualan per Transaksi
    Menu ini menampilkan laporan penjualan per transaksinya, dapat difilter rentang waktunya dan diprint, dan juga dapat dilihat struk dari masing-masing transaksi.




    7.5. Penjualan per Menu
    Menu ini menampilkan laporan hasil penjualan untuk per menunya, dapat difilter rentang waktunya dan diprint.



    7.6. Profit Penjualan
    Menu ini menampilkan laporan profit yang diperoleh Toko Chewy Juice, dapat difilter rentang waktunya dan diprint.



    7.7. Rekapitulasi Penjualan
    Menu ini menampilkan laporan rekapitulasi penjualan Toko Chewy Juice, dan dapat diprint.




8. Logout / Keluar Aplikasi
Menu ini untuk logout dari akun. Maka user akan ditujukan kembali ke halaman Login.


Berikut adalah dokumentasi source code dari Aplikasi ini.
Aplikasi ini dibangun dengan framework CodeIgniter (CI), dengan arsitektur Model-View-Controller(MVC).

Untuk View, aplikasi ini terdiri dari 6 folder dan 52 file. Folder-foldernya sesuai dengan fitur-fitur dari aplikasi ini. Berikut adalah potongan struktur folder views dari aplikasi ini

views

  • grafik
    • grafik_penjualan_perbulan.php
    • grafik_penjualan_pertahun.php
    • .......
  • gudang
    • bahan_rusak.php
    • barang.php
    • edit_stok.php
    • .......
  • kasir
    • barang_masuk.php
    • biaya.php
    • cetak_barang_masuk.php
    • .........
  • laporan
    • biaya.php
    • profit.php
    • pembelian.php
    • ..........
  • manajer
    • kartu_stok.php
    • mutasi.php
    • ..........
  • dashboard.php
  • error404.php
  • header.php
  • v_login.php
Berikut adalah sebagian dokumentasi untuk file-file views :

file biaya.php

file dashboard.php

file v_login.php

Untuk Controller, terdiri dari 8 files, dengan struktur folder sebagai berikut :

controllers
  • Dashboard.php
  • Error404.php
  • Grafik.php
  • Gudang.php
  • Kasir.php
  • Laporan.php
  • Login.php
  • Manajer.php
Berikut adalah sebagian dokumentasi untuk file-file controllers :

file Dashboard.php

file Grafik.php

file Gudang.php

Untuk Model, terdiri dari 7 files, dengan struktur folder sebagai berikut :

models
  • Dashboard_model.php
  • Grafik_model.php
  • Gudang_model.php
  • Kasir_model.php
  • Laporan_model.php
  • Login_model.php
  • Manajer_model.php
Berikut adalah sebagian dokumentasi untuk file-file models:

file Dashboard_model.php

file Grafik_model.php

file Gudang_model.php

Full Source Code dari Aplikasi ini dapat diakses di sini

Selesai.
Terima Kasih.