Jumat, 24 Mei 2013

tugas struktur data : struktur pohon & kunjungan pohon biner


PURWATI
1.    Root (Akar) : P
2.    U > P , maka U di kanan P
3.    R > P, dan R < U, maka R di kiri U
4.    W >P, dan W>U, maka W di kanan U
5.    A < P, maka A di kiri P
6.    T  > P, T < U, dan T > R, maka T di kanan R
7.    I < P, dan I > A, maka I di kiri A

LESTARI
1.    Root (Akar) : L
2.    E < L, maka E di kiri L
3.    S > L, maka S di kanan L
4.    T > S, dan T > S, maka T di kanan S
5.    A < L, dan A < E, maka A di kiri E
6.    R > L, dan R < S, maka R di kiri S
7.    I < L, dan I > E, maka I di kanan E


SUGITO
Root (Akar) : S

  1. U > S, maka U di kanan S
  2. G < S, maka G di kiri S
  3. I < S, dan I > G, maka I di kanan G
  4. T > S, dan T < U, maka T di kiri U
  5. O < S, O > G, dan O > I, maka O di kanan I


TRIVENA
Root (Akar) : T


  1. R < T, maka R di kiri T
  2. I < R, dan I < R, maka I di kiri R
  3. V > T, maka V di kanan T
  4. E < T,  E < R, dan E < I maka E di kiri I
  5. N < T,  N < R, dan N > I maka N di kanan I
  6. A < T,  A < R, dan A < E, maka A di kiri E

MUKHLIS
Root (Akar) : M

  1. U > M, maka  U di kanan M
  2. K > M, dan K < U, maka K di kiri U
  3. H < M, maka H di kiri M
  4. L < M, dan L < H, maka L di kiri H
  5. I < M,  I < H, dan I < L maka I di kiri L
  6. S > M,  S < U, dan S > K, maka S di kanan K






Senin, 29 April 2013

Contoh Program Stack


#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <iomanip.h>

main()
{
int plh;
   int top=-1, i;

   int nim[20], kls[20]; // variabel strack
char nm[20][20];      // variabel strack

do{

clrscr();

cout<<"===================================\n";
cout<<"           MENU PILIHAN\n";
cout<<"===================================\n";
cout<<"1.PUSH\n";
cout<<"2.POP\n";
cout<<"3.ISFULL\n";
cout<<"4.ISEMPTY\n";
cout<<"5.CLEAR\n";
cout<<"6.VIEW\n";
cout<<"7.EXIT\n";
cout<<"===================================\n";
cout<<"Masukan pilihan : "; cin>>plh;

switch(plh)
{
case 1: //menu push
      if(top==9)
      {
      clrscr();
      cout<<"maaf stack telah penuh";
      }
else
      {
      cout<<"\nMasukan Nama    : "; gets(nm[top+1]);
cout<<"Masukan NIM     : ";   cin>>nim[top+1];
    cout<<"Masukan Kelas   : ";   cin>>kls[top+1];

      top++;
      }
   break;

   case 2: //menu pop

    if(top<0)
{
      clrscr();
      cout<<"maaf stack masih kosong";
      }
      else
{
     cout<<"\nData yang dihapus adalah :\n\n";
    cout<<"Nama   : "<<nm[top]<<endl;
         cout<<"NIM    : "<<nim[top]<<endl;
         cout<<"Kelas  : "<<kls[top]<<endl;
         top--;
      }
      getch();
      break;

   case 3: //menu isfull
  if(top==9)
      cout<<"Sekarang strack yang ada telah penuh";
      else
      cout<<"Sekarang strack yang ada masih belum penuh";
      getch();
   break;

   case 4: //menu isempty
    if(top==-1)
cout<<"Sekarang strack kosong";
      else
      cout<<"Sekarang strack tidak kosong";
      getch();
   break;

   case 5: //menu clear
      top=-1;
      cout<<"strack telah dihapus semua";
      getch();
   break;  

   case 6: //menu view
    cout<<"NO   NAMA    NIM     KELAS\n";

for(i=top; i>=0; i--)
         {
          cout<<setiosflags(ios::left)<<setw(5)<<i;
            cout<<setiosflags(ios::left)<<setw(8)<<nm[i];
            cout<<setiosflags(ios::left)<<setw(8)<<nim[i];
            cout<<setiosflags(ios::left)<<setw(10)<<kls[i]<<endl;
         }

      getch();
   break;

    case 7: //menu exit
    cout<<"\n\nEXIT.........";
    getch();
   break;

}
}while(plh!=7);
}

Kamis, 25 April 2013

Contoh Program Queue Sederhana


#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <iomanip.h>
#define max 6

typedef struct
{
int head;
   int tail;
}mmmm;

mmmm ue;

typedef struct
{
   int umr[max];
   int tgi[max];
   int brt[max];
   char *nm[max];
} qqqq;

qqqq qu;


void creat()
{
ue.head=ue.tail=-1;
}

empty()
{
if(ue.tail==-1)
      return 1;
   else
      return 0;
}

full()
{
if(ue.tail==max-1)
      return 1;
   else
      return 0;
}

void en(char *n, int a, int b, int c)
{
if(empty()==1)
   {
      ue.head=ue.tail=0;
      qu.nm[ue.tail]=n;
      qu.brt[ue.tail]=a;
      qu.umr[ue.tail]=b;
      qu.tgi[ue.tail]=c;
   }

   else if(full()==0)
   {
    ue.tail++;
      qu.nm[ue.tail]=n;
      qu.brt[ue.tail]=a;
      qu.umr[ue.tail]=b;
      qu.tgi[ue.tail]=c;
   }

   else if(full()==1)
   {
    cout<<"QUEUE PENUH";
   }
}

de()
{
if(empty()==0)
{
int i;
      char *nn=qu.nm[ue.tail];
      int aa=qu.brt[ue.tail];
      int bb=qu.umr[ue.tail];
      int cc=qu.tgi[ue.tail];

      for(i=ue.head; 1<=ue.tail-1; i++)
    {
      qu.nm[i]=qu.nm[i+1];
    qu.brt[i]=qu.brt[i+1];
         qu.umr[i]=qu.umr[i+1];
         qu.tgi[i]=qu.tgi[i+1];
  }

    ue.tail--;
      cout<<"DATA YANG DIHAPUS ADALAH : \n";
      cout<<"NAMA   : "<<nn<<endl;
      cout<<"BERAT  : "<<aa<<endl;
      cout<<"UMUR   : "<<bb<<endl;
      cout<<"TINGGI : "<<cc<<endl;
   }


   else if(empty()==1)
   { cout<<"DATA EROR......QUEUE KOSONG"; }

   return 1;
}

void clear()
{
   ue.head=ue.tail=-1;
   cout<<"QUEUE CLEAR";
}

void view()
{
if(empty()==0)
   {
  cout<<"NO NAMA   BERAT   UMUR   TINGGI\n";

   for(int i=ue.head; i<=ue.tail; i++)
   {
    cout<<setiosflags(ios::left)<<setw(3)<<i;
      cout<<setiosflags(ios::left)<<setw(7)<<qu.nm[i];
      cout<<setiosflags(ios::left)<<setw(8)<<qu.brt[i];
      cout<<setiosflags(ios::left)<<setw(7)<<qu.umr[i];
      cout<<setiosflags(ios::left)<<setw(9)<<qu.tgi[i]<<endl;
   }
   }
   else
   { cout<<"NO NAMA   BERAT   UMUR   TINGGI\n"; }
}

main()
{

int menu;
   int umr, tgi, brt;
   char nm[20];

creat();

do{

clrscr();

cout<<"===========================\n";
cout<<"    MENU PROGRAM QUEUE\n";
cout<<"===========================\n";
cout<<"1.ENQUEUE\n";
cout<<"2.DEQUEUE\n";
cout<<"3.CLEAR\n";
cout<<"4.VIEW\n";
cout<<"5.EXIT\n";
cout<<"===========================\n";
cout<<"PILIH MENU : "; cin>>menu;

switch(menu)
{
   case 1:
    cout<<"MASUKAN NAMA   : ";  gets(nm);
    cout<<"MASUKAN BERAT  : ";  cin>>brt;
         cout<<"MASUKAN UMUR   : ";      cin>>umr;
         cout<<"MASUKAN TINGGI : ";      cin>>tgi;
    en(nm, brt, umr, tgi);
    break;

   case 2:
de();
    break;

   case 3:
    clear();
    break;

case 4:
    view();
    break;

   case 5:
    cout<<"exiiitttt......";
    break;
}
getch();

}while(menu!=5);

}