Berikut adalah contoh program Sistem Manajemen Inventori Sederhana dengan C++. Program ini memungkinkan pengguna untuk:
- Menambahkan item ke inventori.
- Menampilkan semua item di inventori.
- Menghapus item berdasarkan ID.
- Mencari item berdasarkan nama.
- Memperbarui jumlah item.
Kode Lengkap
#include <iostream>
#include <vector>
#include <string>
using namespace std;
// Struktur untuk menyimpan data item
struct Item {
int id;
string nama;
int jumlah;
double harga;
};
// Vektor untuk menyimpan daftar item
vector<Item> inventori;
int nextId = 1; // ID unik untuk setiap item
// Fungsi untuk menambahkan item ke inventori
void tambahItem() {
Item item;
item.id = nextId++;
cout << "\nMasukkan nama item: ";
cin.ignore();
getline(cin, item.nama);
cout << "Masukkan jumlah item: ";
cin >> item.jumlah;
cout << "Masukkan harga item: ";
cin >> item.harga;
inventori.push_back(item);
cout << "Item berhasil ditambahkan ke inventori!\n";
}
// Fungsi untuk menampilkan semua item di inventori
void tampilkanInventori() {
if (inventori.empty()) {
cout << "\nInventori kosong.\n";
return;
}
cout << "\nDaftar Inventori:\n";
cout << "ID\tNama\t\tJumlah\tHarga\n";
for (const auto& item : inventori) {
cout << item.id << "\t" << item.nama << "\t\t" << item.jumlah << "\t" << item.harga << "\n";
}
}
// Fungsi untuk menghapus item berdasarkan ID
void hapusItem() {
int id;
cout << "\nMasukkan ID item yang ingin dihapus: ";
cin >> id;
for (auto it = inventori.begin(); it != inventori.end(); ++it) {
if (it->id == id) {
inventori.erase(it);
cout << "Item dengan ID " << id << " berhasil dihapus dari inventori.\n";
return;
}
}
cout << "Item dengan ID " << id << " tidak ditemukan.\n";
}
// Fungsi untuk mencari item berdasarkan nama
void cariItem() {
string nama;
cout << "\nMasukkan nama item yang ingin dicari: ";
cin.ignore();
getline(cin, nama);
bool ditemukan = false;
cout << "\nHasil Pencarian:\n";
cout << "ID\tNama\t\tJumlah\tHarga\n";
for (const auto& item : inventori) {
if (item.nama.find(nama) != string::npos) { // Pencarian sebagian
cout << item.id << "\t" << item.nama << "\t\t" << item.jumlah << "\t" << item.harga << "\n";
ditemukan = true;
}
}
if (!ditemukan) {
cout << "Item dengan nama \"" << nama << "\" tidak ditemukan.\n";
}
}
// Fungsi untuk memperbarui jumlah item
void perbaruiJumlah() {
int id, jumlahBaru;
cout << "\nMasukkan ID item yang ingin diperbarui: ";
cin >> id;
for (auto& item : inventori) {
if (item.id == id) {
cout << "Masukkan jumlah baru untuk item \"" << item.nama << "\": ";
cin >> jumlahBaru;
item.jumlah = jumlahBaru;
cout << "Jumlah item berhasil diperbarui.\n";
return;
}
}
cout << "Item dengan ID " << id << " tidak ditemukan.\n";
}
// Menu utama
void menuUtama() {
int pilihan;
do {
cout << "\n=== Sistem Manajemen Inventori ===\n";
cout << "1. Tambah Item\n";
cout << "2. Tampilkan Inventori\n";
cout << "3. Hapus Item\n";
cout << "4. Cari Item\n";
cout << "5. Perbarui Jumlah Item\n";
cout << "6. Keluar\n";
cout << "Pilih opsi: ";
cin >> pilihan;
switch (pilihan) {
case 1:
tambahItem();
break;
case 2:
tampilkanInventori();
break;
case 3:
hapusItem();
break;
case 4:
cariItem();
break;
case 5:
perbaruiJumlah();
break;
case 6:
cout << "Terima kasih telah menggunakan sistem manajemen inventori!\n";
break;
default:
cout << "Pilihan tidak valid. Silakan coba lagi.\n";
}
} while (pilihan != 6);
}
// Program utama
int main() {
menuUtama();
return 0;
}
Penjelasan Kode
- Struktur Data Item
struct Item
: Menyimpan informasi item, termasuk ID, nama, jumlah, dan harga.
- Vektor
inventori
- Digunakan untuk menyimpan daftar semua item yang dimasukkan ke dalam sistem.
- Fungsi Utama
tambahItem()
: Menambahkan item baru ke inventori.tampilkanInventori()
: Menampilkan semua item di inventori dalam format tabel.hapusItem()
: Menghapus item berdasarkan ID dengan menggunakan iterator.cariItem()
: Mencari item berdasarkan nama (mendukung pencarian sebagian).perbaruiJumlah()
: Memperbarui jumlah item berdasarkan ID.
- Menu Utama
- Menyediakan antarmuka untuk pengguna mengakses fungsi-fungsi manajemen inventori.
Contoh Output
=== Sistem Manajemen Inventori ===
1. Tambah Item
2. Tampilkan Inventori
3. Hapus Item
4. Cari Item
5. Perbarui Jumlah Item
6. Keluar
Pilih opsi: 1
Masukkan nama item: Laptop
Masukkan jumlah item: 10
Masukkan harga item: 15000000
Item berhasil ditambahkan ke inventori!
=== Sistem Manajemen Inventori ===
1. Tambah Item
2. Tampilkan Inventori
3. Hapus Item
4. Cari Item
5. Perbarui Jumlah Item
6. Keluar
Pilih opsi: 2
Daftar Inventori:
ID Nama Jumlah Harga
1 Laptop 10 15000000
Fitur Tambahan
- Simpan dan Muat dari File: Gunakan pustaka
fstream
untuk menyimpan inventori ke file dan membacanya saat program dimulai. - Sortir Item: Tambahkan opsi untuk menyortir inventori berdasarkan nama, jumlah, atau harga.
- Validasi Input: Tambahkan validasi agar jumlah dan harga tidak boleh negatif.
Jika Anda ingin menambahkan fitur lain atau mengembangkan lebih lanjut, beri tahu saya! 😊
Leave a Reply