Tuesday, July 11, 2017

Contoh Pemrograman Bahasa C++ "Program Gabungan"

Contoh Pemrograman Bahasa C++ "Program Gabungan"


Hai Sob Disini saya Akan mebagi sedikit ilmu tentang Pemrograman Bahasa C++ yaitu tentang "Program Gerbang Gabungan" dibawah merupakan Contoh nya Simak Baik Baik yah Gans :
#include<iostream>
#include<stdlib.h>
#include<string.h>
#define max 20

using namespace std;

typedef struct queue
{
      int head;
      int tail;
      char data [20][20];
}antrian;
queue antri;
struct stack
{
      int top;
      char tmp[20][max];
}stack;
void inisialisasi()
{
      antri.head=antri.tail=-1;
}
int isFull()
{
      if(antri.tail==max-1)
      return 1;
      else
      return 0;
}
int isEmpty()
{
      if(antri.tail==-1)
      {
            antri.head=-1;
            return 1;
      }
      else
      return 0;
}
void enqueue(char d[20])
{
      system("cls");
      antri.head=0;
      antri.tail++;
      strcpy(antri.data[antri.tail],d);
}
void dequeue()
{
      system("cls");
      cout<<"Data terambil"<<"  "<<antri.data[antri.head]<<endl;
      for(int i=antri.head;i<=antri.tail;i++)
      strcpy(antri.data[i],antri.data[i+1]);
      antri.tail--;
}
void cari(string d)
{
    system("cls");
      for(int i=antri.head;i<=antri.tail;i++)
      {
            if(antri.data[i]==d)
            {
                  cout<<"Data "<<d<<" di temukan di urutan "<<i+1<<endl;
            }
      }
}

void clear()
{
    system("cls");
      antri.head=antri.tail=-1;
      cout<<"Semua data terhapus";
}
int kosong()
{
      if(stack.top==-1)
      return 1;
      else
      return 0;
}
int penuh()
{
      if(stack.top==max-1)
      return 1;
      else
      return 0;
}
void push (char data[max])
{
      if(!penuh())
      {
            stack.top=stack.top+1;
            strcpy(stack.tmp[stack.top],data);
      }
      else
      cout<<"Tumpukan dalam stack penuh";

}
void pop()
{
      if (!kosong())
      {
            stack.top--;
            cout<<"data pada tumpukan ke-"<<stack.top+2<<"sudah di ambil";
      }
      else
      cout<<"Data dalam stcak kosong";
}
void awal()
{
      stack.top=-1;
}
int main()
{

      int pil;
      lagi:
      system("cls");
      cout<<"=================================="<<endl;
      cout<<"|            MENU UTAMA          |"<<endl;
      cout<<"=================================="<<endl;
      cout<<"\t1. TUMPUKAN"<<endl;
      cout<<"\t2. ANTRIAN"<<endl;
      cout<<"\t3. Exit"<<endl;
      cout<<"=================================="<<endl;
      cout<<"Masukan pilihan : ";
      cin>>pil;
      switch(pil)
      {
            case 1:
                  int pilih;
                  char data[max];
                  awal();

                        do
                        {
                              system("cls");
                              cout<<"=================================="<<endl;
                              cout<<"|        PROGRAM TUMPUKAN        |"<<endl;
                              cout<<"=================================="<<endl;
                              cout<<"\t1. PUSH\n";
                              cout<<"\t2. POP\n";
                              cout<<"\t3. Menu\n";
                              cout<<"=================================="<<endl;
                              if(!isEmpty())
                                    {
                                          for(int i=stack.top;i>=0;i--)
                                          {
                                                cout<<"["<<stack.tmp[i]<<"]"<<endl;
                                          }
                                    }
                              else
                              {
                                    cout<<"[stack dalam kondisi kosong]";
                              }
                                    cout<<"\nMasukan pilihan : ";
                                    cin>>pilih;
                                    switch(pilih)
                                    {
                                          case 1:
                                                cout<<"Masukan data kolom stack : ";
                                                cin>>data;
                                                push(data);
                                                break;

                                          case 2:
                                                pop();
                                                break;

                                          case 3:
                                                goto lagi;
                                                break;

                                          default:
                                                cout<<"Error!";
                                                break;
                                    }
                        }
                        while(pilih!=3);
            break;
            case 2:
                  int pil;
                  inisialisasi();
                  char dt[20];
                  string d;
                  do
                  {
                        system("cls");
                        cout<<"=================================="<<endl;
                        cout<<"|         PROGRAM ANTRIAN        |"<<endl;
                        cout<<"=================================="<<endl;
                        cout<<"\t1. Masukan antrian"<<endl;
                        cout<<"\t2. Layani antrian"<<endl;
                        cout<<"\t3. Cari antrian"<<endl;
                        cout<<"\t4. Bersihkan antrian"<<endl;
                        cout<<"\t5. Menu"<<endl;
                        cout<<"=================================="<<endl;
                        cout<<"   Antrian"<<endl;
                        cout<<"Exit | ";
                        for(int i=0;i<=antri.tail;i++)
                        cout<<"["<<antri.data[i]<<"] ";
                        cout<<"|";
                        cout<<"\nPilihan : ";
                        cin>>pil;
                              switch(pil)
                              {
                                    case 1:
                                          if(!isFull())
                                          {
                                                cout<<"Data = ";
                                                cin>>dt;
                                                enqueue(dt);
                                          }
                                          else
                                          cout<<"\nSudah penuh!"<<endl;
                                    break;
                                    case 2:
                                          if(!isEmpty())
                                          dequeue();
                                          else
                                          cout<<"\nMasih kosong!"<<endl;
                                    break;
                                    case 3:
                                          cout<<"Masukan data yang ingin dicari : ";
                                          cin>>d;
                                          cari(d);
                                          break;
                                    case 4:
                                          clear();
                                          cout<<"\nSudah kosong!"<<endl;
                                    break;
                              case 5:
                        goto lagi;
                        break;
                              default :
                              system("cls");
                                          cout<<"Error!";
                                          break;
                              }
                  }
                  while(pil !=5);
            break;
      }
      while(pil !=3);
}

Nah Itulah Contoh Perogramnya Gans silahkan tinggal dicoba semoga tutorial Ini dapat Bermanfaat Bagi Anda Gan dan jangan Lupa Share Yah thank

Untuk Informasi Dan seputar tip Silahkan Kunjungi http://musikgit.blogspot.com/  

No comments:

Post a Comment

Cara Ampuh Tingkatkan Domain Authority dan Page Authority Website

Cara Meningkatkan MOZ DA PA Domain Pada Website Untuk memaksimalkan perkembangan situs atau blog tentu saja banyak hal yang harus Sobat t...