Skip to main content

Program Login dan Manajemen Toko dalam C dan C++

 

Pendahuluan

Program login dan manajemen toko adalah sistem sederhana yang menggabungkan autentikasi pengguna dan pengelolaan transaksi toko. Dengan sistem ini, hanya pengguna yang memiliki akses valid yang bisa mengelola data pembelian barang.

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

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

  2. Manajemen toko untuk mencatat daftar belanjaan pelanggan dan menghitung total pembayaran.


Konsep Program Login dan Manajemen Toko

  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 barang yang ingin dibeli.

    • Program menghitung total pembayaran berdasarkan harga barang yang dipilih.

  3. Menampilkan rincian transaksi

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


Program dalam Bahasa C

Berikut adalah implementasi program dalam bahasa C:

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

// Data login yang valid
#define USER "admin"
#define PASS "12345"

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() {
    char nama[30];
    int pilihan, jumlah;
    float harga, total = 0;
    
    printf("\nMasukkan nama pelanggan: ");
    scanf("%s", nama);
    
    printf("Pilihan Barang:\n");
    printf("1. Beras - Rp10.000/kg\n");
    printf("2. Minyak Goreng - Rp15.000/liter\n");
    printf("3. Gula - Rp12.000/kg\n");
    
    while (1) {
        printf("Masukkan pilihan (0 untuk selesai): ");
        scanf("%d", &pilihan);
        if (pilihan == 0) break;
        
        printf("Masukkan jumlah: ");
        scanf("%d", &jumlah);
        
        switch (pilihan) {
            case 1: harga = 10000 * jumlah; break;
            case 2: harga = 15000 * jumlah; break;
            case 3: harga = 12000 * jumlah; break;
            default: printf("Pilihan tidak valid!\n"); continue;
        }
        
        total += harga;
    }
    
    printf("\nRincian Transaksi:\n");
    printf("Pelanggan: %s\n", nama);
    printf("Total Pembayaran: Rp%.2f\n", total);
}

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

Penjelasan Program dalam C

  1. Fungsi login(): Memeriksa username dan password.

  2. Fungsi toko():

    • Menerima input nama pelanggan.

    • Memungkinkan pelanggan memilih beberapa barang dan jumlahnya.

    • Menghitung total pembayaran.

  3. Fungsi main():

    • Memanggil login(), jika berhasil lanjut ke toko().

    • Jika gagal login, program berhenti.


Program dalam Bahasa C++

Berikut adalah implementasi program dalam bahasa C++:

#include <iostream>
using namespace std;

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

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() {
    string nama;
    int pilihan, jumlah;
    float harga, total = 0;
    
    cout << "\nMasukkan nama pelanggan: ";
    cin >> nama;
    
    cout << "Pilihan Barang:\n";
    cout << "1. Beras - Rp10.000/kg\n";
    cout << "2. Minyak Goreng - Rp15.000/liter\n";
    cout << "3. Gula - Rp12.000/kg\n";
    
    while (true) {
        cout << "Masukkan pilihan (0 untuk selesai): ";
        cin >> pilihan;
        if (pilihan == 0) break;
        
        cout << "Masukkan jumlah: ";
        cin >> jumlah;
        
        switch (pilihan) {
            case 1: harga = 10000 * jumlah; break;
            case 2: harga = 15000 * jumlah; break;
            case 3: harga = 12000 * jumlah; break;
            default: cout << "Pilihan tidak valid!\n"; continue;
        }
        
        total += harga;
    }
    
    cout << "\nRincian Transaksi:\n";
    cout << "Pelanggan: " << nama << "\n";
    cout << "Total Pembayaran: Rp" << total << "\n";
}

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

Perbedaan dengan C

  • Menggunakan string dan cin/cout untuk input-output.

  • Struktur lebih sederhana dan lebih mudah dibaca.

Contoh Output

Masukkan username: admin
Masukkan password: 12345
Login berhasil!

Masukkan nama pelanggan: Budi
Pilihan Barang:
1. Beras - Rp10.000/kg
2. Minyak Goreng - Rp15.000/liter
3. Gula - Rp12.000/kg
Masukkan pilihan: 1
Masukkan jumlah: 5
Masukkan pilihan: 0

Rincian Transaksi:
Pelanggan: Budi
Total Pembayaran: Rp50000.00

Kesimpulan

  • Program ini memiliki dua fitur utama: login dan transaksi toko.

  • Membutuhkan username dan password yang valid sebelum masuk ke sistem.

  • Menghitung total pembayaran berdasarkan pilihan pelanggan.

  • Cocok untuk pemula yang ingin belajar struktur login dan pengolahan input-output 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 :