- Source
code :
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- struct karyawan{
- string nik;
- string nama;
- string jk;
- int jamkerja;
- double gaji;
- };
- karyawan kary[200];
- void Baca_Pegawai(int n){
- int i;
-
- for (i=0;i<n;i++){
- cout<<"Masukan NIK Karyawan :";
- cin>>kary[i].nik;
- cout<<"Masukan Nama Karyawan :";
- cin>>kary[i].nama;
- cout<<"Masukan Jenis Kelamin Karyawan :";
- cin>>kary[i].jk;
- cout<<"Masukan Jam Kerja Karyawan :";
- cin>>kary[i].jamkerja;
-
- }
- }
- void HitungGaji(int n){
- int i;
- double gapok=800000;
- double lembur=25000;
-
- for (i=0;i<n;i++){
-
- if (kary[i].jamkerja > 48){
- kary[i].gaji = gapok + ((kary[i].jamkerja -48)*lembur);
- }else{
- kary[i].gaji = gapok ;
- }
-
- }
- }
- void Tampil_Pegawai(int n){
- int i;
- cout<<"NIK Nama JenKel Jam Kerja Gaji"<<endl;
- for (i=0;i<n;i++){
- cout<<kary[i].nik<<"\t";
- cout<<kary[i].nama<<"\t\t";
- cout<<kary[i].jk<<"\t ";
- cout<<kary[i].jamkerja<<"\t ";
- cout<<kary[i].gaji<<"\t\n";
-
- }
- }
- int Min_jm_kerja(int n){
- int i,banding,indek;
- banding=kary[0].jamkerja;
- indek=0;
- for (i=1;i<n;i++){
- if (kary[i].jamkerja<banding) {
- banding=kary[i].jamkerja;
- indek=i;
- }
- }
- return indek;
- }
- int Max_jm_kerja(int n){
- int i,banding,indek;
- banding=kary[0].jamkerja;
- indek=0;
- for (i=1;i<n;i++){
- if (kary[i].jamkerja>banding) {
- banding=kary[i].jamkerja;
- indek=i;
- }
- }
- return indek;
- }
- float Rata2Jamkerja(int n){
- int i,tJam;
- tJam=0;
- for (i=0;i<n;i++){
- tJam=tJam+kary[i].jamkerja;
- }
- return (tJam/n);
- }
- int BanyakLembur(int n){
- int i,nKaryLembur;
- nKaryLembur=0;
- for (i=0;i<n;i++){
- if (kary[i].jamkerja>48){
- nKaryLembur=nKaryLembur+1;
- }
- }
- return (nKaryLembur);
- }
- int Jamkerja48(int n){
- int i,nKary48;
- nKary48=0;
- for (i=0;i<n;i++){
- if (kary[i].jamkerja==48){
- nKary48=nKary48+1;
- }
- }
- return (nKary48);
- }
- bool searchnikx(int n, string x){
- int i=0;
- bool ketemu=false;
-
- while ((i<n) and (ketemu == false)){
- if (kary[i].nik==x){
- ketemu = true;}
- i=i+1;
- }
- return ketemu;
- }
- int main(int argc, char *argv[])
- {
- int x;
- int min,maks;
- float rata2;
- int nkarylembur,nkary48;
- string cari;
- bool ada;
-
- cout<<"Masukan banyak data karyawan : ";
- cin>>x;
-
- Baca_Pegawai(x);
- HitungGaji(x);
- Tampil_Pegawai(x);
- min=Min_jm_kerja(x);
- maks=Max_jm_kerja(x);
- rata2=Rata2Jamkerja(x);
- nkarylembur=BanyakLembur(x);
- nkary48=Jamkerja48(x);
-
- cout<<"Jam Kerja Paling sedikit adalah : "<<kary[min].jamkerja<<endl;
- cout<<"Dengan Nama dan NIK Karyawan : "<<kary[min].nama<<"/"<<kary[min].nik<<endl;
- cout<<"Dan memiliki Gaji : "<<kary[min].gaji<<endl<<endl;
-
- cout<<"Jam Kerja Paling banyak adalah : "<<kary[maks].jamkerja<<endl;
- cout<<"Dengan Nama dan NIK Karyawan : "<<kary[maks].nama<<"/"<<kary[maks].nik<<endl;
- cout<<"Dan memiliki Gaji : "<<kary[maks].gaji<<endl;
-
- cout<<"Rata rata Jam Kerja Karyawa : "<<rata2<<endl;
- cout<<"Banyak Karyawan yang lembur : "<<nkarylembur<<endl;
- cout<<"Banyak Karyawan yang jam kerjanya 48 jam : "<<nkary48<<endl;
-
- cout<<"Input NIK yang dicari : ";
- cin>>cari;
-
- ada = searchnikx(x,cari);
- if (ada==true)
- cout<<"Data Ada"<<endl;
- else
- cout<<"Data Tidak Ada"<<endl;
-
- system("PAUSE");
- return EXIT_SUCCESS;
- }
- Running :

0 komentar:
Posting Komentar