Skip to main content

Program Login dan Manajemen Toko Donat dalam C dan C++

 

Pendahuluan

Program login dan manajemen toko donat adalah sistem yang memungkinkan pengguna untuk melakukan autentikasi login sebelum mengelola daftar pembelian donat dengan berbagai pilihan rasa.

Dalam artikel ini, kita akan membuat program dalam C dan C++ yang memiliki fitur utama:

  1. Login pengguna untuk memastikan hanya admin yang bisa mengakses sistem.

  2. Manajemen toko donat dengan 20 pilihan rasa dan harga yang berbeda.

  3. Menghitung total pembelian pelanggan berdasarkan jumlah donat yang dipilih.


Konsep Program Login dan Manajemen Toko Donat

  1. Login pengguna

    • Pengguna memasukkan username dan password.

    • Jika valid, akses diberikan. Jika tidak, akses ditolak.

  2. Input daftar belanja pelanggan

    • Pengguna memasukkan nama pelanggan dan memilih jenis donat.

    • Program mencatat jumlah dan harga setiap donat yang dibeli.

    • Program menghitung total pembayaran pelanggan.

  3. Menampilkan rincian transaksi

    • Nama pelanggan, daftar donat, dan total harga ditampilkan.


Program dalam Bahasa C

Berikut adalah implementasi program dalam bahasa C:

#include <stdio.h>
#include <string.h>

#define USER "admin"
#define PASS "12345"

// Daftar donat
char *donat[20] = {
    "Coklat", "Vanila", "Strawberry", "Matcha", "Tiramisu",
    "Blueberry", "Kopi", "Keju", "Pandan", "Madu",
    "Karamel", "Oreo", "Mocca", "Kacang", "Kelapa",
    "Durian", "Mangga", "Apel", "Anggur", "Lemon"
};
int harga[20] = {8000, 7500, 8500, 9000, 9500, 8700, 8900, 8200, 8800, 9300,
                 9200, 9100, 8600, 8300, 8700, 9100, 9200, 8800, 8900, 9400};

int login() {
    char username[20], password[20];
    printf("Masukkan username: ");
    scanf("%s", username);
    printf("Masukkan password: ");
    scanf("%s", password);
    
    if (strcmp(username, USER) == 0 && strcmp(password, PASS) == 0) {
        printf("Login berhasil!\n");
        return 1;
    } else {
        printf("Login gagal!\n");
        return 0;
    }
}

void toko_donat() {
    char nama[30];
    int pilihan, jumlah;
    float total = 0;
    
    printf("\nMasukkan nama pelanggan: ");
    scanf("%s", nama);
    
    printf("\nDaftar Donat:\n");
    for (int i = 0; i < 20; i++) {
        printf("%d. %s - Rp%d\n", i + 1, donat[i], harga[i]);
    }
    
    while (1) {
        printf("Masukkan pilihan (0 untuk selesai): ");
        scanf("%d", &pilihan);
        if (pilihan == 0) break;
        
        printf("Masukkan jumlah: ");
        scanf("%d", &jumlah);
        
        if (pilihan >= 1 && pilihan <= 20) {
            total += harga[pilihan - 1] * jumlah;
        } else {
            printf("Pilihan tidak valid!\n");
        }
    }
    
    printf("\nRincian Transaksi:\n");
    printf("Pelanggan: %s\n", nama);
    printf("Total Pembayaran: Rp%.2f\n", total);
}

int main() {
    if (login()) {
        toko_donat();
    }
    return 0;
}

Program dalam Bahasa C++

Berikut adalah implementasi program dalam bahasa C++:

#include <iostream>
using namespace std;

string USER = "admin";
string PASS = "12345";

string donat[20] = {
    "Coklat", "Vanila", "Strawberry", "Matcha", "Tiramisu",
    "Blueberry", "Kopi", "Keju", "Pandan", "Madu",
    "Karamel", "Oreo", "Mocca", "Kacang", "Kelapa",
    "Durian", "Mangga", "Apel", "Anggur", "Lemon"
};
int harga[20] = {8000, 7500, 8500, 9000, 9500, 8700, 8900, 8200, 8800, 9300,
                 9200, 9100, 8600, 8300, 8700, 9100, 9200, 8800, 8900, 9400};

bool login() {
    string username, password;
    cout << "Masukkan username: ";
    cin >> username;
    cout << "Masukkan password: ";
    cin >> password;
    
    if (username == USER && password == PASS) {
        cout << "Login berhasil!\n";
        return true;
    } else {
        cout << "Login gagal!\n";
        return false;
    }
}

void toko_donat() {
    string nama;
    int pilihan, jumlah;
    float total = 0;
    
    cout << "\nMasukkan nama pelanggan: ";
    cin >> nama;
    
    cout << "\nDaftar Donat:\n";
    for (int i = 0; i < 20; i++) {
        cout << i + 1 << ". " << donat[i] << " - Rp" << harga[i] << "\n";
    }
    
    while (true) {
        cout << "Masukkan pilihan (0 untuk selesai): ";
        cin >> pilihan;
        if (pilihan == 0) break;
        
        cout << "Masukkan jumlah: ";
        cin >> jumlah;
        
        if (pilihan >= 1 && pilihan <= 20) {
            total += harga[pilihan - 1] * jumlah;
        } else {
            cout << "Pilihan tidak valid!\n";
        }
    }
    
    cout << "\nRincian Transaksi:\n";
    cout << "Pelanggan: " << nama << "\n";
    cout << "Total Pembayaran: Rp" << total << "\n";
}

int main() {
    if (login()) {
        toko_donat();
    }
    return 0;
}


Kesimpulan

  • Program ini memiliki fitur login dan manajemen toko donat dengan 20 rasa.

  • Hanya pengguna dengan akses valid yang bisa mengelola transaksi.

  • Menghitung total pembelian pelanggan secara otomatis.

  • Cocok sebagai latihan bagi pemula dalam C dan C++.

Semoga bermanfaat! 🚀

Comments

Popular posts from this blog

Membuat Segitiga dengan "*" dalam Bahasa C/C++

 Dalam pemrograman, mencetak pola seperti segitiga menggunakan karakter * adalah latihan dasar yang sering digunakan untuk memahami konsep perulangan ( loop ). Pada artikel ini, kita akan belajar cara membuat segitiga menggunakan bahasa pemrograman C/C++. Konsep Dasar Kita akan menggunakan perulangan bersarang ( nested loop ) untuk mencetak segitiga. Struktur dasarnya terdiri dari: Loop luar : Mengatur jumlah baris segitiga. Loop dalam pertama : Mencetak spasi untuk merapikan segitiga. Loop dalam kedua : Mencetak karakter * membentuk segitiga. Kode Program dalam C Berikut adalah kode lengkap dalam bahasa C: #include <stdio.h> int main() { int i, j, tinggi; // Meminta pengguna memasukkan tinggi segitiga printf("Masukkan tinggi segitiga: "); scanf("%d", &tinggi); // Loop untuk baris for (i = 1; i <= tinggi; i++) { // Loop untuk mencetak spasi (agar segitiga rata tengah) for (j = 1; j <= tinggi - i; ...

Contoh program radix sort untuk C++ || Borland C++

     Sesuai dengan judulnya kali ini saya akan membagikan Contoh program radix sort untuk C++ atau Borland C++, langsung saja kalian download filenya dibawah ini : DOWNLOAD #include <stdio.h> #include <conio.h> #define MAX 100 #define SHOWPASS void print(int *a, int n) {      int i;      for (i = 0; i < n; i++)       printf("%d\t", a[i]); } void radix_sort(int *a, int n) {      int i, b[MAX], m = 0, exp = 1;      for (i = 0; i < n; i++) {      if (a[i] > m)         m = a[i];  }     while (m / exp > 0)     {         int box[10] = { 0 };         for (i = 0; i < n; i++)             box[a[i] / exp % 10]++;   ...

Contoh program penggabungan dua string untuk C++ || Borland C++

    Sesuai dengan judulnya kali ini saya akan membagiakan program penggabungan atau menyatukan dua buat kata ( string ) menjadi satu kalimat, langsung saja kalian lihat sourcode dibawah ini : #include <stdio.h> #include <string.h> #include <conio.h> void concat(char[], char[]); int main() {    char s1[50], s2[30];    printf("\nMasukkan kata pertama : ");    gets(s1);    printf("\nMasukkan kata kedua : ");    gets(s2);    concat(s1, s2);    printf("\nKalimat yang terbentuk adalah : %s", s1);    getch(); } void concat(char s1[], char s2[]) {    int i, j;    i = strlen(s1);    for (j = 0; s2[j] != '\0'; i++, j++)    {       s1[i] = s2[j];    }    s1[i] = '\0'; }     Tampilan program :