JUST SHARE, LEARN, TOGETHER, LET'S RAWKER

Minggu, 07 Juni 2015

Program Gaji Karyawan C++

  1. Source code :
    1. #include <cstdlib>
    2. #include <iostream>
    3. using namespace std;
    4. struct karyawan{
    5.        string nik;
    6.        string nama;
    7.        string jk;
    8.        int jamkerja;
    9.        double gaji;
    10. };
    11. karyawan kary[200];
    12. void Baca_Pegawai(int n){
    13.      int i;
    14.    
    15.      for (i=0;i<n;i++){
    16.          cout<<"Masukan NIK Karyawan :";
    17.          cin>>kary[i].nik;
    18.          cout<<"Masukan Nama Karyawan :";
    19.          cin>>kary[i].nama;
    20.          cout<<"Masukan Jenis Kelamin Karyawan :";
    21.          cin>>kary[i].jk;
    22.          cout<<"Masukan Jam Kerja Karyawan :";
    23.          cin>>kary[i].jamkerja;
    24.            
    25.      }
    26. }
    27. void HitungGaji(int n){
    28.      int i;
    29.      double gapok=800000;
    30.      double lembur=25000;
    31.    
    32.      for (i=0;i<n;i++){
    33.        
    34.          if (kary[i].jamkerja > 48){
    35.               kary[i].gaji = gapok + ((kary[i].jamkerja -48)*lembur);
    36.          }else{
    37.               kary[i].gaji = gapok ;
    38.          }
    39.            
    40.      }
    41. }
    42. void Tampil_Pegawai(int n){
    43.      int i;
    44.      cout<<"NIK       Nama       JenKel       Jam Kerja      Gaji"<<endl;
    45.      for (i=0;i<n;i++){
    46.          cout<<kary[i].nik<<"\t";
    47.          cout<<kary[i].nama<<"\t\t";
    48.          cout<<kary[i].jk<<"\t    ";
    49.          cout<<kary[i].jamkerja<<"\t     ";
    50.          cout<<kary[i].gaji<<"\t\n";
    51.            
    52.      }
    53. }
    54. int Min_jm_kerja(int n){
    55.     int i,banding,indek;
    56.     banding=kary[0].jamkerja;
    57.     indek=0;
    58.     for (i=1;i<n;i++){
    59.         if (kary[i].jamkerja<banding) {
    60.             banding=kary[i].jamkerja;
    61.             indek=i;
    62.         }
    63.     }
    64.     return indek;
    65. }
    66. int Max_jm_kerja(int n){
    67.     int i,banding,indek;
    68.     banding=kary[0].jamkerja;
    69.     indek=0;
    70.     for (i=1;i<n;i++){
    71.         if (kary[i].jamkerja>banding) {
    72.             banding=kary[i].jamkerja;
    73.             indek=i;
    74.         }
    75.     }
    76.     return indek;
    77. }
    78. float Rata2Jamkerja(int n){
    79.     int i,tJam;
    80.     tJam=0;
    81.     for (i=0;i<n;i++){
    82.         tJam=tJam+kary[i].jamkerja;
    83.     }
    84.     return (tJam/n);
    85. }
    86. int BanyakLembur(int n){
    87.     int i,nKaryLembur;
    88.     nKaryLembur=0;
    89.     for (i=0;i<n;i++){
    90.         if (kary[i].jamkerja>48){
    91.             nKaryLembur=nKaryLembur+1;
    92.         }
    93.     }
    94.     return (nKaryLembur);
    95. }
    96. int Jamkerja48(int n){
    97.     int i,nKary48;
    98.     nKary48=0;
    99.     for (i=0;i<n;i++){
    100.         if (kary[i].jamkerja==48){
    101.             nKary48=nKary48+1;
    102.         }
    103.     }
    104.     return (nKary48);
    105. }
    106. bool searchnikx(int n, string x){
    107.     int i=0;
    108.     bool ketemu=false;
    109.   
    110.     while ((i<n) and (ketemu == false)){
    111.         if (kary[i].nik==x){
    112.            ketemu = true;}
    113.         i=i+1;
    114.     }      
    115.     return ketemu;
    116. }
    117. int main(int argc, char *argv[])
    118.     int x;
    119.     int min,maks;
    120.     float rata2;
    121.     int nkarylembur,nkary48;
    122.     string cari;
    123.     bool ada;
    124.   
    125.     cout<<"Masukan banyak data karyawan : ";
    126.     cin>>x;
    127.   
    128.     Baca_Pegawai(x);
    129.     HitungGaji(x);
    130.     Tampil_Pegawai(x);
    131.     min=Min_jm_kerja(x);
    132.     maks=Max_jm_kerja(x);
    133.     rata2=Rata2Jamkerja(x);
    134.     nkarylembur=BanyakLembur(x);
    135.     nkary48=Jamkerja48(x);
    136.   
    137.     cout<<"Jam Kerja Paling sedikit adalah : "<<kary[min].jamkerja<<endl;
    138.     cout<<"Dengan Nama dan NIK Karyawan : "<<kary[min].nama<<"/"<<kary[min].nik<<endl;
    139.     cout<<"Dan memiliki Gaji : "<<kary[min].gaji<<endl<<endl;
    140.   
    141.     cout<<"Jam Kerja Paling banyak adalah : "<<kary[maks].jamkerja<<endl;
    142.     cout<<"Dengan Nama dan NIK Karyawan : "<<kary[maks].nama<<"/"<<kary[maks].nik<<endl;
    143.     cout<<"Dan memiliki Gaji : "<<kary[maks].gaji<<endl;
    144.   
    145.     cout<<"Rata rata Jam Kerja Karyawa : "<<rata2<<endl;
    146.     cout<<"Banyak Karyawan yang lembur : "<<nkarylembur<<endl;
    147.     cout<<"Banyak Karyawan yang jam kerjanya 48 jam : "<<nkary48<<endl;
    148.   
    149.     cout<<"Input NIK yang dicari : ";
    150.     cin>>cari;
    151.   
    152.     ada = searchnikx(x,cari);
    153.     if (ada==true)
    154.        cout<<"Data Ada"<<endl;
    155.     else
    156.        cout<<"Data Tidak Ada"<<endl;
    157.   
    158.     system("PAUSE");
    159.     return EXIT_SUCCESS;
    160. }
     
  2. Running :
Share:

0 komentar:

Posting Komentar

Popular Posts

Copyright © Diantarawk! | Powered by Blogger

Design by ThemePacific | Blogger Theme by NewBloggerThemes.com