Program Analogi Queue


Program Analogi Queue

Algoritma 

1. Start
2. Deklarasi class
3. Deklarasi fungsi queue untuk inisialisasi
4. Deklarasi fungsi insert queue
5. Deklarasi fungsi delete queue
6. Deklarasi fungsi cetak queue
7. Deklarasi fungsi menu queue
8. Deklarasi fungsi utama
9. Pemanggilan fungsi menu
10.End

Penjelasan Program

1. Prinsip dasar pada program diatas sebenarnya sama dengan program Queue pada bagian latihan, hanya saja pada program Queue diatas memiliki struktur yang lebih kompleks.
2. Terdapat pilihan menu yaitu pilihan ‘I’ yaitu insert untuk memasukkan sebuah nilai pada array dengan indeks terdepan.
3. Menu dengan pilihan ‘D’ yaitu delete untuk menghapus nilai dengan indeks terdepan atau indeks awal secara satu-persatu.
4. Menu dengan pilihan ‘P’ yaitu cetak untuk mencetak hasil input nilai yang ada maupun yang tersisa dari sebuah Queue.
5. Menu pilihan terakhir merupakan ‘E’, yakni exit, yang digunakan untuk keluar dari program.



Script Program

#include <iostream>
#include <conio.h>
#include <stdlib.h>

using namespace std;

class Queue
{
private:
    struct kue
    {
        int data;
        kue*kuebaru;
    };
    kue*tail;
    kue*entry;
    kue*print;
    kue*head;

public:
    Queue();
    void Delete();
    void Insert();
    void cetak();
    void menu();
};

Queue::Queue()
{
    tail=NULL; //ganti 1 jadi NULL
    head=NULL;
}

void Queue::Insert()
{
    int num;
    cout<<"\n\n\n\n\n\t Masukkan data dalam Queue : ";cin>>num;
    entry=new kue;
    if (tail==NULL) //ganti 1 jadi NULL
    {
        entry->data=num; //(*entry).data=num
        entry->kuebaru=NULL; //(*entry).kuebaru=null
        tail=entry;
        head=tail;
    }

    else
    {
        entry->data=num;//(*eentry).data=num      ganti * jadi ->
        entry->kuebaru=NULL;
        tail->kuebaru=entry;//(*entry).kuebaru=entry
        tail=entry;
    }
    cout<<"\n\n\t*** "<<num<<" sudah masuk dalam Queue."<<endl;
    getch();//getch:bwan conio
}

void Queue::Delete()
{
    if (head==NULL)
        cout<<"\n\n\n\t***Error:Queue is empty.\n"<<endl;
    else
    {
        int deleted_element=head->data;//(*head).data=deleted_element
        kue*temp;//kue:nm struct, *temp=data yg ditunjuk olh tbl   ganti tulisan kuebaru jadi kue
        temp=head;
        head=head->kuebaru;
        delete temp;
        cout<<"\n\n\n\t*** "<<deleted_element<<" dihapus dari queue."<<endl;
    }
    cout<<"\n\n\n\t\t press any key to return to menu";
    getch();
}

void Queue::cetak()
{
    print=head;
    if (print!=NULL)
        cout<<"\n\n\n\n\t angka-angka yang ada didalam queue adalah : \n"<<endl;
    else
        cout<<"\n\n\n\n\t***tidak ada yang ditampilkan"<<endl;
     while (print!=NULL)//while cek dulu+logikanya diganti dari == adi !=
        {
            cout<<"\t"<<print->data<<endl;
            print=print->kuebaru;
        }
    cout<<"\n\n\n\t\t press any key to return to menu. ";
    getch();
}

void Queue::menu()
{
    char Key=NULL; //ganti key jadi Key
    do
    {
        system("cls");
        cout<<"**Implementasikan Queue**"<<endl;
        cout<<"pilih salah satu menu : "<<endl;
        cout<<"Tekan\'I\' to Masukkan data dalam Queue"<<endl;
        cout<<"Tekan\'D\' to hapus data dari Queue"<<endl;
        cout<<"Tekan\'P'\'to Tampilkan data dari Queue"<<endl;
        cout<<"Tekan\'E\'to Exit"<<endl;
        Input:

            cout<<"Masukkan pilihan";
            Key=getche();
            if (Key=='e'||Key=='E')/*untuk fungsi exit*/
                break;
            else if (Key=='i'||Key=='I')
                Insert();
            else if (Key=='d'||Key=='D')
                Delete();
            else if (Key=='p'||Key=='P')
                cetak();
            else
                goto Input;
    }
    while(1);//ganti while 0 jadi 1
}

int main()
{
    Queue obj;
    obj.menu();
    return 0; //ganti 1 jadi 0

}


Berlangganan update artikel terbaru via email:

0 Response to "Program Analogi Queue"

Post a Comment

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel