Tuesday 14 February 2012

       Berikut ini saya akan menampilkan contoh program sorting dalam bahasa C++. Program ini bertujuan agar data yang telah kita inputkan sebelumnya, diurutkan dari yang paling kecil sampai yang paling besar maupun sebaliknya.
       Banyak cara yang bisa digunakan untuk melakukan pengurutan, yaitu: Bubble Short, Exchange Short, Selection Short dan Insertion Short. Berikut ini adalah listing programnya (berupa tampilan menu yang mengurutkan data dari yang terkecil sampai yang terbesar).

#include "stdio.h"
#include "conio.h"
#include "iostream.h"

void main()

{
  clrscr();
  int A[5];
  int i,j,tampung,pos;
  int pilih;

   for (pilih=5; pilih<=5; pilih++)
   {
   printf("\n\n\t\tMenu Utama\n");
   printf("\t==========================\n");
   printf("\t|| 1. Bubble Short      || \n");
   printf("\t|| 2. Exchange Short    || \n");
   printf("\t|| 3. Selection Short   || \n");
   printf("\t|| 4. Insertion Short   || \n");
   printf("\t|| 5. Keluar            || \n");
   printf("\t==========================\n");
   printf("\n Masukan Pilihan Anda (1-5)... "); scanf("%i",&pilih);
   switch (pilih)
   { case 1:
         printf("\n\n1. Bubble Short \n");
         for (i=0; i<5; i++)
         {  printf("\tData ke-%i : ",i+1);
        scanf("%i",&A[i]);
         }

        printf("\n\tSebelum Sorting : ");
        for (i=0; i<5; i++)
        {  printf("%i ",A[i]);
         }

         for (i=1; i<5; i++)
         {  for (j=5-1; j>=i; j--)
        {  if (A[j] < A[j-1])
           {  tampung = A[j];
              A[j] = A[j-1];
              A[j-1] = tampung;
           }
        }
         }

         printf("\n\tSetelah Sorting : ");
         for (i=0; i<5; i++)
         {  printf("%i ",A[i]);
         }
         break;

     case 2:
         printf("\n\n2. Exchange \n");
         for (i=0; i<5; i++)
         {  printf("\tData ke-%i : ",i+1);
        scanf("%i",&A[i]);
         }

         printf("\n\tSebelum Sorting : ");
         for (i=0; i<5; i++)
         {  printf("%i ",A[i]);
         }

         for (i=0; i<5-1; i++)
         {  for (j=i+1; j<5; j++)
        {  if (A[i] < A[j])
           {  tampung = A[i];
              A[i] = A[j];
              A[j] = tampung;
           }
        }
         }

         printf("\n\tSetelah Sorting : ");
         for (i=4; i>0-1; i--)
         {  printf("%i ",A[i]);
         }
         break;

     case 3:
         printf("\n\n3. Selection Short \n");
         for (i=0; i<5; i++)
         {  printf("\tData ke-%i : ",i+1);
        scanf("%i",&A[i]);
         }

         printf("\n\tSebelum Sorting : ");
         for (i=0; i<5; i++)
         {  printf("%i ",A[i]);
         }

         for (i=0; i<5-1; i++)
         {  pos=i;
        for (j=i+1; j<5; j++)
        {  if (A[j] < A[pos])
           {  pos=j;
           }
        }

        if (pos != i)
        {  tampung = A[pos];
           A[pos] = A[i];
           A[i] = tampung;
        }
         }

         printf("\n\tSetelah Sorting : ");
         for (i=0; i<5; i++)
         {  printf("%i ",A[i]);
         }
         break;

     case 4:
         printf("\n\n4. Insertion Short \n");
         for (i=0; i<5; i++)
         {  printf("\tData ke-%i : ",i+1);
        scanf("%i",&A[i]);
         }

         printf("\n\tSebelum Sorting : ");
         for (i=0; i<5; i++)
         {  printf("%i ",A[i]);
         }

         for (i=1; i<5; i++)
         {  tampung=A[i];
        j = i-1;

        while (A[j] > tampung && j >= 0)
        {  A[j+1] = A[j];
           j--;
        }
        A[j+1] = tampung;
         }

         printf("\n\tSetelah Sorting : ");
         for (i=0; i<5; i++)
         {  printf("%i ",A[i]);
         }
         break;

     case 5:
         printf("\n\nAnda Keluar... \n Tekan Enter!!");
         break;
   }}
   getch();
}

Semoga bermanfaat dan selamat mencoba... :)

Thursday 9 February 2012

     Berikut ini saya akan memberikan sebuah contoh program Graph dalam bahasa C++,, dan langsung saja Listing Programnya yaitu:

#include "stdio.h"
#include "conio.h"

typedef struct Node
  {int data;
   Node *kiri;
   Node *kanan;
  };

void tambah(Node **root,int databaru)
  {
   if((*root) == NULL)
   {
     Node *baru;
     baru = new Node;
     baru->data = databaru;
     baru->kiri = NULL;
     baru->kanan = NULL;
     (*root) = baru;
     (*root)->kiri = NULL;
     (*root)->kanan = NULL;
     printf("Data bertambah!");
   }
   else if(databaru < (*root)->data)
     tambah(&(*root)->kiri,databaru);
   else if(databaru > (*root)->data)
     tambah(&(*root)->kanan,databaru);
   else if(databaru == (*root)->data)
     printf("Data sudah ada!");
  }

void preOrder(Node *root)
  {
   if(root != NULL){ printf("%d ",root->data);
   preOrder(root->kiri);
   preOrder(root->kanan);
  }}

void inOrder(Node *root)
  {
   if(root != NULL){ inOrder(root->kiri);
   printf("%d ",root->data);
   inOrder(root->kanan);
  }}

void postOrder(Node *root)
  {
   if(root != NULL){ postOrder(root->kiri);
   postOrder(root->kanan);
   printf("%d ",root->data);
  }}

void main()
{
  int c, data;
  Node *pohon,*t;
  pohon = NULL;
  char pil;
  do {
    clrscr();
    printf("1. Tambah\n");
    printf("2. Lihat Pre-order\n");
    printf("3. Lihat In-order\n");
    printf("4. Lihat Post-order\n");
    printf("5. Keluar\n");
    printf("Silahkan masukkan pilihan anda (1-5)...  ");
    pil=getche();

      if(pil!='1' && pil !='2' && pil !='3' && pil!='4' && pil!='5' )
          printf("\n\nAnda salah mengetikkan inputan...\n");
          else
          {
        if(pil=='1')
        {
          printf("\n");
          printf("\nData baru : ");scanf("%d", &data);
          tambah(&pohon,data);
        }
          else
          {
        if(pil=='2')
        {
          printf("\n");
          if(pohon!=NULL) preOrder(pohon);
          else printf("Masih kosong!");
          getch();
        }
          else
        {
        if(pil=='3')
        {
          printf("\n");
          if(pohon!=NULL) inOrder(pohon);
          else printf("Masih kosong!");
          getch();
        }
          else
        {
        if(pil=='4')
        {
          printf("\n");
          if(pohon!=NULL) postOrder(pohon);
          else printf("Masih kosong!");
          getch();
        }}}
        }}}
          while(pil!='5');

}

Semoga bermanfaat dan selamat mencoba... :)
       Berikut ini saya akan memberikan sebuah contoh program Tree dalam bahasa C++,, dan langsung saja Listing Programnya yaitu:

#include "stdio.h"
#include "conio.h"

typedef struct Node
  {int data;
   Node *kiri;
   Node *kanan;
  };

void tambah(Node **root,int databaru)
  {
   if((*root) == NULL)
   {
     Node *baru;
     baru = new Node;
     baru->data = databaru;
     baru->kiri = NULL;
     baru->kanan = NULL;
     (*root) = baru;
     (*root)->kiri = NULL;
     (*root)->kanan = NULL;
     printf("Data bertambah!");
   }
   else if(databaru < (*root)->data)
     tambah(&(*root)->kiri,databaru);
   else if(databaru > (*root)->data)
     tambah(&(*root)->kanan,databaru);
   else if(databaru == (*root)->data)
     printf("Data sudah ada!");
  }

void preOrder(Node *root)
  {
   if(root != NULL){ printf("%d ",root->data);
   preOrder(root->kiri);
   preOrder(root->kanan);
  }}

void inOrder(Node *root)
  {
   if(root != NULL){ inOrder(root->kiri);
   printf("%d ",root->data);
   inOrder(root->kanan);
  }}

void postOrder(Node *root)
  {
   if(root != NULL){ postOrder(root->kiri);
   postOrder(root->kanan);
   printf("%d ",root->data);
  }}

void main()
{
  int c, data;
  Node *pohon,*t;
  pohon = NULL;
  char pil;
  do {
    clrscr();
    printf("1. Tambah\n");
    printf("2. Lihat Pre-order\n");
    printf("3. Lihat In-order\n");
    printf("4. Lihat Post-order\n");
    printf("5. Keluar\n");
    printf("Silahkan masukkan pilihan anda (1-5)...  ");
    pil=getche();

      if(pil!='1' && pil !='2' && pil !='3' && pil!='4' && pil!='5' )
          printf("\n\nAnda salah mengetikkan inputan...\n");
          else
          {
        if(pil=='1')
        {
          printf("\n");
          printf("\nData baru : ");scanf("%d", &data);
          tambah(&pohon,data);
        }
          else
          {
        if(pil=='2')
        {
          printf("\n");
          if(pohon!=NULL) preOrder(pohon);
          else printf("Masih kosong!");
          getch();
        }
          else
        {
        if(pil=='3')
        {
          printf("\n");
          if(pohon!=NULL) inOrder(pohon);
          else printf("Masih kosong!");
          getch();
        }
          else
        {
        if(pil=='4')
        {
          printf("\n");
          if(pohon!=NULL) postOrder(pohon);
          else printf("Masih kosong!");
          getch();
        }}}
        }}}
          while(pil!='5');

}

Semoga bermanfaat dan selamat mencoba... :)
       Berikut ini saya akan memberikan sebuah contoh program Stack dalam bahasa C++,, dan langsung saja Listing Programnya yaitu:

#include "iostream.h"
#include "stdio.h"
#include "conio.h"
#define size 5

struct stack
  {
   int a[size];
   int top;
  };

typedef struct stack STACK;

void push(STACK *p,int value) /* PUSH OPERATION */
  {
   if(p->top==size-1)
     cout<<"Stack Penuh!";
   else
     p->a[++p->top]=value;
  }

int pop(STACK *p) /* POP OPERATION */
  {
   if (p->top==-1)
   {
    cout<<"Stack Kosong!";
    return -1;
   }
   else
    return p->a[p->top--];
  }


void display (STACK *p) /*DISPLAY OPERATION */
  {
   int i;
   if(p->top==-1)
    cout<<"\nStack Kosong!\n";
   else
    cout<<"\nIsi Stack Adalah: \n";
   for (i=p->top;i>=0; --i)
    cout<<p->a[i]<<"\n";
  }


void main()
{
  STACK s ;
  int x,i;
  s.top=-1;
  char pil;
  do {
    clrscr();
    printf("1. Tambah\n");
    printf("2. Ambil Datar\n");
    printf("3. Lihat Data\n");
    printf("4. Hapus Data\n");
    printf("5. Keluar\n");
    printf("Silahkan masukkan pilihan anda (1-5)...  ");
    pil=getche();

      if(pil!='1' && pil !='2' && pil !='3' && pil!='4' && pil!='5' )
          printf("\n\nAnda salah mengetikkan inputan...\n");
          else
          {
        if(pil=='1')
        {
          cout<<"\nMasukkan Element: ";cin>>x;
              push (&s,x);
        }
          else
          {
        if(pil=='2')
        {
          x=pop(&s);
          if(x!=-1)
              cout<<"\nElement yang Dihapus: "<<x;
          getch();
        }
          else
        {
        if(pil=='3')
        {
          display(&s);
          getch();
        }
          else
        {
        if(pil=='4')
        {
          if(s.top==-1)
          printf("\nStack Kosong!\n");
          else
          printf("\nStack Dihapus!\n");
          for (i=s.top;i>=0; --i)
          printf("Element Yang Dihapus adalah %d\n",pop(&s));
          s.top=-1;
          getch();
        }}}
        }}}
          while(pil!='5');

}

Semoga bermanfaat dan selamat mencoba... :)
       Berikut ini saya akan memberikan sebuah contoh program antrian (Queue) dalam bahasa C++,, dan langsung saja Listing Programnya yaitu:

#include "stdio.h"
#include "conio.h"
void main()
{
  int cek=0, data[20], x, hapus;
  char pil;
  do {
      clrscr();
      printf("1. Tambah Antrian\n");
      printf("2. Hapus Antrian\n");
      printf("3. Lihat Antrian\n");
      printf("4. Keluar\n");
      printf("Silahkan masukkan pilihan anda...  ");
      pil=getche();


  if(pil!='1' && pil !='2' && pil !='3' && pil!='4' )
      printf("\n\nAnda salah mengetikkan inputan...\n");
      else
      {
    if(pil=='1')   //PUSH
    {
      if(cek==20)
        printf("\nAntrian Penuh\n\n");
        else
        {
          printf("\nMasukkan nilai-->");scanf("%i",&x);
          data[cek]=x;
          cek++;
        }}
        else
        {
          if(pil=='2')     //POP
          {
        if(cek==0)
          printf("\nAntrian kosong\n\n");
          else
          {
            hapus=data[0];
            for(int v=0;v<cek;v++)
            data[v]=data[v+1];
            data[cek-1]=NULL;
            cek--;
            printf("\nData dgn nilai=%i terhapus.",hapus);
          }
          getch();
          }
        else
        {
          if(pil=='3')   //CEK DATA
          {
            if(cek==0)


            printf("\nAntrian Kosong.\n\n");

            else
            {
              printf("\n");
              for(int z=0;z<cek;z++)
              {
            printf(" | ");
            printf("%i",data[z]);
            printf(" | ");
              }

            }
            getch();
            }
          }
        }
          }

    }while(pil!='4');
}

Program diatas akan menghasilkan Output,, seperti pada gambar berikut (Berupa tampilan Menu):


Semoga bermanfaat dan selamat mencoba... :)

Mutiara Hati

"Maha Suci Allah yang menjadikan di langit gugusan bintang-bintang dan Dia juga menjadikan padanya matahari dan bulan yang bersinar" (QS. Al-Furqan 25 : 61)

Your System

IP
"Mohon maaf.. Lagi maintenance..."

Popular Posts