Skip to content

randifajar/super-cashier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Python Super Cashier

Latar Belakang

Andi adalah seorang pemilik supermarket besar yang memiliki rencana untuk melakukan perbaikan proses bisnis. Andi membutuhkan sebuah sistem kasir yang self-service. Sehingga customer bisa membeli barang dari supermarket tersebut dari mana saja tanpa harus datang ke supermarket.

Tujuan

Merancang dan membangun sebuah sistem kasir self-service untuk supermarket Andi untuk mempermudah transaksi pembelian melalui sisem.

Kebutuhan

Adapun fitur atau kebutuhan yang diperlukan untuk sistem kasir ini adalah:

  1. Membuat ID transaksi.
  2. Memasukkan nama item, jumlah item, dan harga barang.
  3. Memperbarui nama item.
  4. Memperbarui jumlah item.
  5. Memperbarui harga item.
  6. Menghapus item.
  7. Membatalkan (me-reset) semua item.
  8. Mengecek item.
  9. Menghitung total belanja.
  10. Menghitung diskon.

Flowchart

Flowchart

Penjelasan Alur Program

  1. Customer masuk ke dalam sistem kasir dan akan ditampilkan menu utama pada sistem
  2. Customer memasukkan nama, jumlah, dan harga item dan menyimpannya.
  3. Customer dapat mengecek daftar item yang sudah dimasukkan di atas menu.
  4. Customer dapat mengubah nama, jumlah, dan harga item jika ingin mengubah data pesanan.
  5. Customer dapat menghapus satu atau lebih item.
  6. Customer dapat membatalkan semua pesanan dan kembali ke menu utama.
  7. Sistem akan menghitung total belanja.
  8. Sistem akan menghitung diskon berdasarkan total belanja yang telah dihitung.
  9. Jika total belanja lebih dari Rp 500.000, maka akan mendapatkan diskon sebesar 10%.
  10. Jika total belanja lebih dari Rp 300.000, maka akan mendapatkan diskon sebesar 8%.
  11. Jika total belanja lebih dari Rp 200.000, maka akan mendapatkan diskon sebesar 5%.
  12. Sistem akan menghitung total bayar yang didapat dari total belanja dikurang diskon.
  13. Sistem akan menampilkan total belanja, diskon, dan total bayar.

Penjelasan Kode Program

  • menu() : Function yang berguna menampilkan menu utama dan switch case yang dipilih user.
  • submenu() : FUnction yang berguna menampilkan sub-menu dan menampilkan switch case yang dipilih user.
  • Transaction() : Class yang berguna menyimpan seluruh Function untuk menjalankan proses transaksi pada sistem kasir.
  • check_order() : Function yang berguna mengecek apakah ada items yang tersimpan.
  • print_items() : Function yang berguna menampilkan daftar items yang tersimpan.
  • add_item() : Function yang berguna menambahkan dan menyimpan item.
  • update_item_name() : Function yang berguna memperbarui nama item.
  • update_item_qty() : Function yang berguna memperbarui jumlah item.
  • update_item_price() : Function yang berguna memperbarui harga item.
  • delete_item() : Function yang berguna menghapus satu atau lebih item.
  • reset_transaction() : Function yang berguna menghapus semua atau me-reset item.
  • total_price() : Function yang berguna menghitung dan menampilkan total belanja, diskon, dan total bayar.
  • check_name() : Function yang berguna mengecek apakah ada data nama yang diimputkan user yang tersimpan.
  • validate_name() : Function yang berguna sebagai tempat input dan validasi data nama dari user.
  • validate_jumlah() : Function yang berguna sebagai tempat input dan validasi data jumlah dari user.
  • validate_harga() : Function yang berguna sebagai tempat input dan validasi data harga dari user.
  • validate_delete() : Function yang berguna sebagai tempat validasi apakah user yakin ingin menghapus item atau tidak.

Test Case

Gambar di bawah merupakan tampilan menu utama sistem.

image

Gambar di bawah merupakan tempilan sub-menu sistem yang dapat diakses ketika user memilih '1' pada menu utama.

image

Test Case 1

Customer ingin menambahkan dua item baru, di mana item yang ingin ditambahkan adalah:

  • Nama Item: Ayam Goreng, Jumlah: 2, Harga: 20000
  • Nama Item: Pasta Gigi, Jumlah: 3, Harga: 15000
  • Nama Item: Es Teh, Jumlah: 10, Harga: 3000
  • Nama Item: Tahu, Jumlah: 10, Harga: 1000

image

Daftar item setelah semua item ditambahkan:

image

Test Case 2

Customer ingin mengubah beberapat item, di mana item yang ingin diubah adalah:

  • Mengubah Nama Item: Tahu menjadi Gorengan

    image

  • Mengubah Jumlah: 2 pada Nama Item: Ayam Goreng menjadi 5

    image

  • Mengubah Harga: 3000 pada Nama Item: Es Teh menjadi 4000

    image

Daftar item setelah beberapa item diubah:

image

Test Case 3

Customer tidak jadi memesan Es Teh dan ingin menghapusnya:

image

Daftar item setelah item Es Teh dihapus:

image

Test Case 4

Customer membatalkan pesanannya dan ingin menghapus semua itemnya:

image

Daftar item setelah semua item di-reset:

image

Test Case 5

Customer telah menambahkan item sesuai keinginannya, di mana daftar item yang ingin dia beli:

image

Customer ingin menghitung total belanja dan total bayar:

image

Kesimpulan

Sistem kasir self-service ini dibuat untuk membantu dan mengelola supermarket milik Andi. Dengan sistem kasir ini, customer dapat memilih dan mengelola pesanannya sendiri tanpa harus datang ke supermarket. Fitur yang dapat digunakan adalah menambahkan item, mengubah nama item, mengubah jumlah item, mengubah harga item, menghapus item, mereset pesanan, dan menghitung total belanja. Di dalam sistem ini juga terdapat validasi input dari customer, sehingga memperkecil kemungkinan kesalahan input dari user. Pada saat menghapus atau mereset item, customer akan mendapatkan pertanyaan validasi sebelum menghapus item, yang ditujukan agar ketika customer salah menginputkan item, customer dapat membatalkan proses hapus atau reset. Sehingga membuat customer dapat berbelanja di supermarket milik Andi dengan mudah, cepat, efektif, dan efisien.

About

Python Project Super Cashier

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages