Kami akan Melakukan Update di hari Tertentu, Kunjungin Terus Blog Kami :D salam Blogger :D

Program Dev C++, antrian pembelian double link list

 


Berikut adalah program dalam C++ menggunakan Dev-C++ yang mengimplementasikan Double Linked List untuk Antrian Pembelian. Program ini mencakup fungsi menambah antrian, menghapus antrian, menampilkan antrian, dan mengosongkan antrian.

Penjelasan Program:

  1. Struktur Node berisi nama, jumlah, next, dan prev.
  2. enqueue() menambahkan pembeli ke antrian.
  3. dequeue() memproses pembeli dari antrian dengan efek animasi.
  4. display() menampilkan seluruh antrian.
  5. clearQueue() menghapus semua antrian sebelum keluar.
  6. Menu Interaktif untuk memilih opsi.

Coba jalankan program ini di Dev-C++ dan lihat bagaimana antrian bekerja secara visual dengan efek Sleep(). 🚀


#include <iostream>

#include <string>

#include <windows.h> // Untuk Sleep() agar terlihat animasi


using namespace std;


// Struktur Node

struct Node {

    string nama;

    int jumlah;

    Node* next;

    Node* prev;

};


Node* head = NULL;

Node* tail = NULL;


// Fungsi untuk menambahkan ke antrian

void enqueue(string nama, int jumlah) {

    Node* newNode = new Node();

    newNode->nama = nama;

    newNode->jumlah = jumlah;

    newNode->next = NULL;

    newNode->prev = tail;

    

    if (tail == NULL) {

        head = newNode;

        tail = newNode;

    } else {

        tail->next = newNode;

        tail = newNode;

    }

    cout << "\nMenambahkan: " << nama << " dengan jumlah " << jumlah << " ke antrian.\n";

    Sleep(1000);

}


// Fungsi untuk menghapus dari antrian

void dequeue() {

    if (head == NULL) {

        cout << "\nAntrian kosong!\n";

        return;

    }

    

    Node* temp = head;

    cout << "\nMemproses pembelian: " << temp->nama << " (" << temp->jumlah << " barang)...\n";

    Sleep(1500);

    

    head = head->next;

    if (head != NULL) {

        head->prev = NULL;

    } else {

        tail = NULL;

    }

    

    delete temp;

    cout << "Pembelian selesai!\n";

}


// Fungsi untuk menampilkan antrian

void display() {

    if (head == NULL) {

        cout << "\nAntrian kosong!\n";

        return;

    }

    

    Node* temp = head;

    cout << "\nAntrian Pembelian:\n";

    while (temp != NULL) {

        cout << "Nama: " << temp->nama << ", Jumlah: " << temp->jumlah << "\n";

        temp = temp->next;

        Sleep(500);

    }

}


// Fungsi untuk mengosongkan antrian

void clearQueue() {

    while (head != NULL) {

        dequeue();

    }

}


int main() {

    int pilihan, jumlah;

    string nama;

    

    do {

        system("cls");

        cout << "==== Antrian Pembelian (Double Linked List) ====" << endl;

        cout << "1. Tambah ke Antrian" << endl;

        cout << "2. Proses Antrian" << endl;

        cout << "3. Tampilkan Antrian" << endl;

        cout << "4. Kosongkan Antrian" << endl;

        cout << "5. Keluar" << endl;

        cout << "Pilihan: ";

        cin >> pilihan;

        cin.ignore();

        

        switch (pilihan) {

            case 1:

                cout << "Masukkan nama pembeli: ";

                getline(cin, nama);

                cout << "Masukkan jumlah barang: ";

                cin >> jumlah;

                enqueue(nama, jumlah);

                break;

            case 2:

                dequeue();

                break;

            case 3:

                display();

                system("pause");

                break;

            case 4:

                clearQueue();

                break;

            case 5:

                cout << "Keluar dari program...\n";

                clearQueue();

                break;

            default:

                cout << "Pilihan tidak valid!";

        }

    } while (pilihan != 5);

    

    return 0;

}



----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Subscribe to receive free email updates:

Related Posts :

0 Response to "Program Dev C++, antrian pembelian double link list"

Post a Comment