Jumat, 16 September 2016

PROGRAM GAJI_KARYAWAN (menggunakan C++)



#include <iostream>
#include <cstdlib>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
struct karyawan{
    string nik;
    string nama;
    string jk;
    int jam_kerja;
    int gaji;
};
karyawan kary[200];

void Baca_Kry(int n){
    int i;
    for(i=0;i<n;i++){
        cout<<"Masukan NIK : ";
        cin>>kary[i].nik;
        cout<<"Masukan Nama Karyawan : ";
        cin>>kary[i].nama;
        cout<<"Masukan JenisKelamin Karyawan : ";
        cin>>kary[i].jk;
        cout<<"Masukan JamKerja Karyawan : ";
        cin>>kary[i].jam_kerja;
    }
    cout<<endl;
}
void GajiTotal(int n){
    int i;
    int gapok=1000000;
    int lembur=25000;
    for (i==0;i<n;i++){
        if(kary[i].jam_kerja > 48){
            kary[i].gaji=gapok+((kary[i].jam_kerja-48)*lembur);
        }
        else if(kary[i].jam_kerja = 48){
            kary[i].gaji=gapok;
        }
        else{
            kary[i].gaji=gapok/48*kary[i].jam_kerja;
            }
    }
}
void Tampil(int n){
    int i;
    cout<<"-NIK-    -Nama-    -JK-    -JamKerja-    -Gaji-"<<endl;
    for (i=0;i<n;i++){
        cout<<kary[i].nik<<"\t";
        cout<<kary[i].nama<<"\t";
        cout<<kary[i].jk<<"\t";
        cout<<kary[i].jam_kerja<<"\t";
        cout<<kary[i].gaji<<"\t\t"<<endl;
    }
}
int Min_jam_kerja(int n){
    int i,banding,index;
    banding=kary[0].jam_kerja;
    index=0;
    for(i=1;i<n;i++){
        if(kary[i].jam_kerja < banding){
            banding=kary[i].jam_kerja;
            index=i;
        }
    }
    return index;
}
int Maks_jam_kerja(int n){
    int i,banding,index;
    banding=kary[0].jam_kerja;
    index=0;
    for(i=1;i<n;i++){
        if(kary[i].jam_kerja > banding){
            banding=kary[i].jam_kerja;
            index=i;
        }
    }
    return index;
}
float rata_jam_kerja(int n){
    int i,tJam;
    tJam=0;
    for(i=0;i<n;i++){
        tJam=tJam+kary[i].jam_kerja;
    }
    return(tJam/n);
}
int Byk_jam_lembur(int n){
    int i,nKaryLembur;
    nKaryLembur=0;
    for(i=0;i<n;i++){
        if(kary[i].jam_kerja > 48){
        nKaryLembur=nKaryLembur+1;
        }
    }
    return(nKaryLembur);
}
int JamKerja48(int n){
    int i,nkary48;
    nkary48=0;
    for(i=0;i<n;i++){
        if(kary[i].jam_kerja==48){
            nkary48=nkary48 + 1;
        }
    }
    return(nkary48);
}
bool cari_nikx(int n, string x){
    int i=0;
    bool find=false;
    while((i<n)and(find==false)){
        if(kary[i].nik==x){
            find=true;
        }
        i=i+1;
    }
    return find;
}
int main(int argc,char*argv[]){
    int x;
    int min,maks;
    float rata;
    int nkarylembur,nkary48;
    string search;
    bool available;
    
    cout<<"Masukan banyak data Pegawai : ";
    cin>>x;
    
    Baca_Kry(x);
    GajiTotal(x);
    Tampil(x);
    min=Min_jam_kerja(x);
    maks=Maks_jam_kerja(x);
    rata=rata_jam_kerja(x);
    nkarylembur=Byk_jam_lembur(x);
    nkary48=JamKerja48(x);
    
    cout<<"Jam Kerja paling sedikit = "<<kary[min].jam_kerja<<endl;
    cout<<"Nama Pegawai yang jam kerja paling sedikit adalah { "<<kary[min].nama<<" } ";
    cout<<" dan NIK(Nomor Induk karyawan) [ "<<kary[min].nik<<" ] ";
    cout<<" dengan Gaji : Rp."<<kary[min].gaji<<",00"<<endl<<endl;
    
    cout<<"Jam Kerja paling banyak = "<<kary[maks].jam_kerja<<endl;
    cout<<"Nama Pegawai yang jam kerja paling banyak adalah { "<<kary[maks].nama<<" } ";
    cout<<" dan NIK(Nomor Induk karyawan)"<<kary[maks].nik;
    cout<<" dengan Gaji : "<<kary[maks].gaji<<endl<<endl;
    
    cout<<"Rata2 jam kerja Pegawai : "<<rata<<endl;
    cout<<"Banyak Pegawai yang lembur : "<<nkarylembur<<"sedangkan Banyak Pegawai yang jam kerja 48 jam : "<<nkary48<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Tidak ada komentar:

Posting Komentar