Saturday 31 December 2016

Program Hitung Honor Guru Dengan Struct Di C++


Pada kesempatan kali ini saya akan membuat program menghitung honorium guru honorer dengan menggunakan struct, dan juga memiliki ketentuan untuk tabel data guru dan tabel data golongan. Dari pada panjang penjelasannya langsung saja kita masuk pada pembahasannya, berikut keterangan dan output dari program.



Ketentuan program :


Program :

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

struct guru
{
int nim,jammengajar;
   long hnr;
};

struct honor
{
int jmldtguru;

   guru* x;
};

honor z;

char* namapegawai(int c)
{
char* p;
   if(z.x[c].nim==13540121)
    {p="Eva Meilinda, S.Kom ";}
   else if(z.x[c].nim==13540424)
    {p="Ade Hendini, S.Kom";}
   else if(z.x[c].nim==13540488)
    {p="Deni Maulana, ST";}
   else if(z.x[c].nim==13540773)
    {p="Abdul Majid, S,Si ";}
   else if(z.x[c].nim==13540999)
    {p="Desy R Sari, M.Msi";}

   return p;
}

char* golngan(int d)
{
char* l;
      if(z.x[d].nim==13540121)
    {l="I";}
   else if(z.x[d].nim==13540424)
    {l="I";}
   else if(z.x[d].nim==13540488)
    {l="II";}
   else if(z.x[d].nim==13540773)
    {l="II";}
   else if(z.x[d].nim==13540999)
    {l="III";}
   return l;
}

long  honor(int e)
{
long r;
   if (!strcmp(golngan(e),"I"))
    {r=15000;}
   else if (!strcmp(golngan(e),"II"))
    {r=26500;}
   else if (!strcmp(golngan(e),"III"))
    {r=88000;}

   return r;
}

long total(int a)
{
long  t;
   t=honor(a) *z.x[a].jammengajar;

   return t;
}

long totkes()
{
long k;
   k=0;
   for(int i=0;i<z.jmldtguru;i++)
    {k+=total(i);}
   return k;
}

long tothnrtrtg()
{
long h;
   h=total(0);
   for(int i=0;i<z.jmldtguru;i++)
    {
      if(total(i)>h)
          {h=total(i);}
      }
   return h;
}

long nrk()
{
long j;
   j=total(0);
   for(int i=0;i<z.jmldtguru;i++)
    {
      if(total(i)<j)
          {j=total(i);}
      }
   return j;

}

void tampil(int b)
{
cout<<setiosflags(ios::right)<<setw(4)<<(b+1)<<" ";
   cout<<setw(12)<<z.x[b].nim;
   cout<<setiosflags(ios::left)<<setw(20)<<namapegawai(b);
   cout<<setw(5)<<golngan(b);
   cout<<setiosflags(ios::right)<<setw(10)<<honor(b);
   cout<<setw(10)<<z.x[b].jammengajar;
   cout<<setw(15)<<total(b)<<endl;
}

void in(int q)
{
     cout<<endl;
cout<<"Data Ke-"<<(q+1)<<endl;
   cout<<"NIP                 : ";cin>>z.x[q].nim;
   cout<<"Nama                : "<<namapegawai(q)<<endl;
   cout<<"Golongan            : "<<golngan(q)<<endl;
   cout<<"Jumlah Jam Mengajar : ";cin>>z.x[q].jammengajar;
}

int main(void)
{
cout<<"========================================="<<endl;
   cout<<"  PROGRAM HITUNG HONORIUM GURU HONORER"<<endl;
   cout<<"========================================="<<endl;
   cout<<"Jumlah Data Guru : ";cin>>z.jmldtguru;
   z.x=new guru[z.jmldtguru];
   for(int i=0;i<z.jmldtguru;i++)
    {in(i);}

   system ("CLS");
   cout<<"================================================================="<<endl;
   cout<<"No NIP     Nama        Golongan Honor Jam       Total"<<endl;
   cout<<"             Guru                           Mengajar "<<endl;
   cout<<"================================================================="<<endl;
   for(int i=0; i<z.jmldtguru;i++)
{tampil(i);}
   cout<<"================================================================="<<endl;
   cout<<"                  Total Keseluruhan     : "<<totkes()<<endl;
   cout<<"                  Total Honor Tertinggi : "<<tothnrtrtg()<<endl;
   cout<<"                  Total Honor Terendah  : "<<nrk();

   getch();
}

Output program :


Demikianlah program tentang program hitung honor guru dengan menggunakan struct di c++ semoga artikel ini dapat membantu anda dalam belajar c++ dan juga untuk menyelesaikan tugas anda, apabila ada pertanyaan maupun kesalahan silahkan tinggalkan komentar di bawah ini. Sekian dan terima kasih telah berkunjung di Blog Fakhri.


Silahkan berkomentar yang sesuai dengan topik, Terima Kasih.

EmoticonEmoticon