Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.46 KB | None | 0 0
  1. // Program untuk menghitung besar persentase pajak dari total gaji pegawai.
  2.  
  3. /*  Programmer  : William Handi Wijaya      Tanggal diselesaikan : 22 November 2019
  4.     NRP         : 05111940000087            Kelas                : Dasar Pemograman C */
  5.  
  6. #include <stdio.h>
  7. #define TAX 3.625
  8.  
  9. double get_double(void);
  10. int get_int(void);
  11.  
  12. int main(void)
  13. {
  14.     int     i, //process - untuk membantu process looping
  15.             nomor_id, //input/ouput - Nomor id pegawai
  16.             pegawai;// input - jumlah pegawai yang akan dihitung gajinya
  17.    
  18.     double  gaji_pokok, //input - besar tarif gaji pokok per jam
  19.             gaji_lembur, //process - besar tarif gaji lembur per jam
  20.             jam_kerja, //input - banyaknya jam kerja yang telah dilakukan pegawai
  21.             jam_lembur, //process- banyaknya jam lembur yang dilakukan oleh pekerja
  22.             upah, //process - untuk menyimpan sementara total gaji yang didapatkan pegawai
  23.             total_biaya, //output - total gaji keseluruhan pegawai
  24.             biaya_lembur, //process - besar gaji dari jam lembur yang dilakukan oleh pegawai
  25.             total_gaji_pegawai = 0,//output - jumlah total gaji keseluruhan pegawai
  26.             rata_rata;// output - nilai rata - rata total gaji seluruh pegawai
  27.    
  28.     printf("-----------------Penghitung Gaji Pegawai-----------------------\n\n");
  29.    
  30.     //Masukkan jumlah pegawai yang akan dicek besar gajinya
  31.     printf("\nMasukkan jumlah pegawai => ");
  32.     scanf("%d", &pegawai);
  33.        
  34.     //Perulangan sebanyak jumlah pegawai
  35.         for(i = 0; i < pegawai; i++)
  36.         {
  37.             //Masukkan nomor id dari pegawai yang dicek
  38.             printf("\nMasukkan Nomor ID Pegawai => ");
  39.             nomor_id = get_int();
  40.    
  41.             //Masukkan besar upah yang diterima pegawai selama satu jam bekerja
  42.             printf("\nMasukkan besar upah per jam => ");
  43.             gaji_pokok = get_double();
  44.    
  45.             //Masukkan total jam kerja yang dilakukan
  46.             printf("\nMasukkan banyaknya jam kerja => ");
  47.             jam_kerja = get_double();
  48.    
  49.                 //Jika jam kerja kurang dari 40 jam, maka...
  50.                 if (jam_kerja <= 40)
  51.                 {
  52.                     //Hitung nilai upah pokok yang diterima
  53.                     upah = jam_kerja * gaji_pokok;
  54.                 }
  55.        
  56.                 if (jam_kerja > 40)
  57.                 {  
  58.                     //Hitung besar gaji lembur per jam yang akan diterima
  59.                     gaji_lembur = 1.5 * gaji_pokok;
  60.                    
  61.                     //Hitung besar jam lembur yang dilakukan oleh pegawai
  62.                     jam_lembur = jam_kerja - 40;
  63.                    
  64.                     //Hitung besar gaji lembur yang diterima oleh pegawai dengan mengalikan jam lembur dengan gaji lembur per jamnya
  65.                     biaya_lembur = jam_lembur * gaji_lembur;
  66.                
  67.                     //Hitung total upah yang akan diterima pegawai tersebut
  68.                     upah = ((jam_kerja - jam_lembur) * gaji_pokok) + biaya_lembur;
  69.                 }
  70.            
  71.             //Hitung pajak yang harus dibayarkan oleh pegawai dari keseluruhan gaji baik lembur maupun tidak lembur
  72.             total_biaya = upah - (upah * (TAX / 100));
  73.                            
  74.             //Jumlahkan keseluruhan gaji pegawai total dengan total yang sebelumnya
  75.             total_gaji_pegawai += total_biaya;
  76.            
  77.             //Tampilkan hasil perhitungan gaji salah seorang karyawan pada monitor
  78.             printf("\nNomor Id => %d", nomor_id);
  79.             printf("\nTotal Gaji => %.2f", total_biaya);
  80.         }
  81.    
  82.     //Hitung rata - rata keseluruhan gaji pegawai  
  83.     rata_rata = total_gaji_pegawai / pegawai;
  84.    
  85.     //Tampilkan hasilnya pada layar monitor
  86.     printf("\nTotal gaji pegawai seluruhnya => %.2f", total_gaji_pegawai);
  87.     printf("\nRata - rata gaji yang diterima tiap pegawai => %.2f\n", rata_rata);
  88.    
  89.     return 0;
  90. }
  91.  
  92. int get_int(void)
  93. {
  94.     int a;
  95.     scanf("%d", &a);
  96.     return a;
  97. }
  98.  
  99. double get_double(void)
  100. {
  101.     double a;
  102.     scanf("%lf", &a);
  103.     return a;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement