Sistem inventasisasi gadgets dan consumables.
Program pada tugas besar kali ini merupakan program inventarisasi gadget dan consumable dengan menggunakan bahasa Python. Terdapat dua jenis role dalam program ini, yaitu Admin dan User. Fitur–fitur pada program ini juga terbagi menjadi beberapa jenis, yaitu fitur untuk Admin saja, User saja, serta fitur Admin dan User. Fitur untuk Admin saja adalah registrasi, menambahkan item ke databases, mengubah jumlah item, menghapus item, melihat riwayat peminjaman dan pengembalian gadget, dan melihat riwayat permintaan consumable. Fitur yang hanya boleh diakses oleh User di antaranya fitur peminjaman gadget, pengembalian gadget, dan permintaan consumable. Sedangkan fitur yang dapat diakses oleh keduanya adalah fitur pencarian gadget berdasarkan rarity dan tahun ditemukan, fitur save, fitur help dan exit.
Untuk mengakses aplikasi ini, User harus diregistrasikan terlebih dahulu oleh Admin menggunakan fitur registrasi. Setelah diregistrasikan, User harus login terlebih dahulu untuk bisa mengakses fitur user yang tersedia. Setelah berhasil login, baik User ataupun Admin, riwayat login akan ditambahkan ke active_account di database.
Setiap fitur pada program akan mengidentifikasi role akun terlebih dahulu melalui riwayat login dari active_account di database. Sehingga pemilik akun tidak akan dapat mengakses fitur yang tidak sesuai dengan role-nya. Pada setiap fitur, program akan meminta Admin atau User untuk memasukkan input sesuai dengan kebutuhan pada fitur. Setiap adanya kesalahan input, atau input tidak valid, maka program akan langsung diterminasikan untuk menghindari program loop yang tidak diinginkan. Penggunaan program dapat diakhiri dengan menggunakan fungsi exit. Pada fungsi ini, program akan bertanya pada pemilik akun apakah ingin menyimpan perubahan data yang telah dilakukan atau tidak. Program akan melakukan penyimpanan sesuai input pemilik akun.
-
File User (user.csv)
Column Data Type id string username string nama string alamat string password string role string -
File Gadget (gadget.csv)
Column Data Type id string nama string deskripsi string jumlah integer rarity string tahun_ditemukan integer -
File Consumable (consumable.csv)
Column Data Type id string nama string deskripsi string jumlah integer rarity string -
File Pengambilan Consumable(consumable_history.csv)
Column Data Type id string id_pengambil integer id_consumable string tanggal_pengambilan string jumlah integer -
File Riwayat Peminjaman Gadget (gadget_borrow_history.csv)
Column Data Type id string id_peminjam integer id_gadget string tanggal_peminjaman string jumlah integer is_returned boolean