PROJEK INDIVIDU 

Berikut link video youtube berisi penjelasan mengenai projek individu saya :
https://youtu.be/zHQacNp46kY

Source Code :

//Judul : pendataan toko baju
//oleh akfi rozada
#include <iomanip>
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;


//kamus
class Barang {
public:
    string nama_barang;
    string jenis;
    string id_barang;
    double stock;
    double harga;

    void input_data() {
        cout << "Id Barang      : ";
        cin >> id_barang;
        cout << "Nama Barang    : ";
        cin.ignore();
        getline(cin, nama_barang);
        cout << "Jenis Kain     : ";
        getline(cin, jenis);
        cout << "Stock          : ";
        cin >> stock;
        cout << "Harga          : ";
        cin >> harga;
        cout << "Data berhasil ditambahkan." << endl;
    }

    void edit_data() {
        cout << "Data Barang saat ini:" << endl;
        cout << "ID Barang      : " << id_barang << endl;
        cout << "Nama Barang    : " << nama_barang << endl;
        cout << "Jenis Kain     : " << jenis << endl;
        cout << "Stock          : " << stock << endl;
        cout << "Harga          : " << harga << endl;
        cout << endl;

        cout << "Masukkan data baru:" << endl;
        cout << "ID Barang      : ";
        cin >> id_barang;
        cout << "Nama Barang    : ";
        cin.ignore();
        getline(cin, nama_barang);
        cout << "Jenis Kain     : ";
        getline(cin, jenis);
        cout << "Stock          : ";
        cin >> stock;
        cout << "Harga          : ";
        cin >> harga;
        cout << "Data berhasil diubah." << endl;
    }

    void hapus_data() {
    nama_barang = "";
    jenis = "";
    stock = 0;
    harga = 0;
    id_barang = "";
    cout << "Data berhasil dihapus." << endl;
    }

    void tampilkan_data() {
        cout << "===========================================================================" << endl;
        cout << "| ID Barang |   Nama Barang    |  Jenis Kain  | Stock | Harga |" << endl;
        cout << "===========================================================================" << endl;
        cout << "|" << setw(10) << id_barang << " |" << setw(17) << nama_barang << " |" << setw(13) << jenis << " |" << setw(6) << stock << " |" << setw(6) << harga << " |" << endl;
        cout << "---------------------------------------------------------------------------" << endl;
    }

    bool cari_data(string keyword) {
        if (id_barang == keyword || nama_barang == keyword || jenis == keyword) {
            return true;
        }
        return false;
    }

    static bool compare_nama(const Barang& b1, const Barang& b2) {
        return b1.nama_barang < b2.nama_barang;
    }

    static bool compare_harga(const Barang& b1, const Barang& b2) {
        return b1.harga < b2.harga;
    }

    static bool compare_id(const Barang& b1, const Barang& b2) {
        return b1.id_barang < b2.id_barang;
    }
};

//deskrispi
int main() {
    Barang barang[100];
    int jumlah_barang = 0;

    int pilihan;
    string keyword;

    do {
        cout << "=== PROGRAM PENDATAAN BARANG ===" << endl;
        cout << "1. Input Data" << endl;
        cout << "2. Edit Data" << endl;
        cout << "3. Hapus Data" << endl;
        cout << "4. Tampilkan Data" << endl;
        cout << "5. Cari Data" << endl;
        cout << "6. Urutkan Data" << endl;
        cout << "7. Keluar" << endl;
        cout << "Pilih menu (1-7): ";
        cin >> pilihan;
        cout << endl;

        switch (pilihan) {
            case 1:
                if (jumlah_barang < 100) {
                    int jml;
                    cout << "Masukkan jumlah barang: ";
                    cin >> jml;
                    int i = 0;
                    while ( i < jml ) {
                        barang[jumlah_barang].input_data();
                        jumlah_barang++;
                        i =i+1;
                    }
                } else {
                    cout << "Kapasitas data barang telah penuh." << endl;
                }
                break;

            case 2:
                if (jumlah_barang > 0) {
                    string idBarang;
                    cout << "Masukkan ID Barang yang akan diubah: ";
                    cin >> idBarang;

                    int indeks = -1;
                    int i = 0;
                    while( i < jumlah_barang) {
                        if (barang[i].id_barang == idBarang) {
                            indeks = i;
                            break;
                        } i= i+1;
                    }

                    if (indeks != -1) {
                        barang[indeks].edit_data();
                    } else {
                        cout << "ID Barang tidak ditemukan." << endl;
                    }
                } else {
                    cout << "Belum ada data barang yang tersimpan." << endl;
                }
                break;

            case 3:
    if (jumlah_barang > 0) {
        string idBarang;
        cout << "Masukkan ID Barang yang akan dihapus: ";
        cin >> idBarang;

        int indeks = -1;
        int i = 0;
        while ( i < jumlah_barang) {
            if (barang[i].id_barang == idBarang) {
                indeks = i;
                break;
            } i= i+1;
        }

        if (indeks != -1) {
            barang[indeks].hapus_data();
            jumlah_barang--; // Kurangi jumlah_barang setelah menghapus data
        } else {
            cout << "ID Barang tidak ditemukan." << endl;
        }
    } else {
        cout << "Belum ada data barang yang tersimpan." << endl;
    }
    break;

            case 4:

    if (jumlah_barang > 0) {
        bool ada_data = false;
        int i = 0;
        while ( i < jumlah_barang) {
            barang[i].tampilkan_data();
            ada_data = true;
            i = i+1;
        }

    } else {
        cout << "Belum ada data barang yang tersimpan." << endl;
    }
    break;


            case 5:
                if (jumlah_barang > 0) {
                    cout << "Masukkan kata kunci: ";
                    cin.ignore();
                    getline(cin, keyword);

                    bool ditemukan = false;
                    int i = 0;
                    while (i < jumlah_barang) {
                        if (barang[i].cari_data(keyword)) {
                            barang[i].tampilkan_data();
                            ditemukan = true;
                        } i = i+1;
                    }

                    if (!ditemukan) {
                        cout << "Data tidak ditemukan." << endl;
                    }
                } else {
                    cout << "Belum ada data barang yang tersimpan." << endl;
                }
                break;

            case 6:
                if (jumlah_barang > 0) {
                    int pilihan_urutan;
                    cout << "Urutkan data berdasarkan: " << endl;
                    cout << "1. Id Barang" << endl;
                    cout << "2. Nama Barang" << endl;
                    cout << "3. Harga" << endl;
                    cout << "Pilih menu (1-3): ";
                    cin >> pilihan_urutan;

                    switch (pilihan_urutan) {
                        case 1:
                            sort(barang, barang + jumlah_barang, Barang::compare_id);
                            cout << "Data berhasil diurutkan berdasarkan Id Barang." << endl;
                            break;
                        case 2:
                            sort(barang, barang + jumlah_barang, Barang::compare_nama);
                            cout << "Data berhasil diurutkan berdasarkan Nama Barang." << endl;
                            break;
                        case 3:
                            sort(barang, barang + jumlah_barang, Barang::compare_harga);
                            cout << "Data berhasil diurutkan berdasarkan Harga." << endl;
                            break;
                        default:
                            cout << "Pilihan tidak valid." << endl;
                            break;
                    }
                } else {
                    cout << "Belum ada data barang yang tersimpan." << endl;
                }
                break;

            case 7:
                cout << "Terima kasih telah menggunakan program ini." << endl;
                break;

            default:
                cout << "Pilihan tidak valid." << endl;
                break;
        }

        cout << endl;
        cout << "Tekan enter untuk melanjutkan...";
        cin.ignore();
        cin.get();
        system("cls");

    } while (pilihan != 7);

    return 0;
}


Komentar

Postingan populer dari blog ini