Pengelola Inventaris

Aplikasi terminal untuk mengelola produk dengan operasi CRUD, pencarian, pengurutan, dan persistensi ke file CSV.

Struktur Kode #

FileTanggung Jawab
product.h/.cModel data Product + validasi
inventory.h/.cKoleksi produk, CRUD, pencarian, sort
storage.h/.cSimpan/muat dari file CSV
main.cMenu interaktif
tests.cUnit test tanpa framework eksternal

Build #

bash
make           # Bangun aplikasi utama
make test      # Jalankan unit test
./inventory    # Jalankan aplikasi

Penggunaan #

Aplikasi memuat otomatis inventory.csv bila ada. Pilihan menu:

  1. Tambah produk
  2. Daftar semua produk
  3. Cari produk (id)
  4. Cari produk (nama, substring case-insensitive)
  5. Update harga/stok
  6. Hapus produk
  7. Urutkan berdasarkan nama
  8. Urutkan berdasarkan harga
  9. Simpan ke file
  10. Muat dari file Q. Keluar

Format File CSV #

Baris diawali # diperlakukan sebagai komentar. Setiap baris data:

csv
id,name,price,stock
1,Beras 5kg,65000.00,10
2,Gula Pasir,15000.00,5

Catatan #

  • Kapasitas maksimum 256 produk (lihat INVENTORY_CAPACITY).
  • Aplikasi ini contoh pembelajaran; tidak ada autentikasi pengguna.