Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Program untuk menghitung besar persentase pajak dari total gaji pegawai.
- /* Programmer : William Handi Wijaya Tanggal diselesaikan : 22 November 2019
- NRP : 05111940000087 Kelas : Dasar Pemograman C */
- #include <stdio.h>
- #define TAX 3.625
- double get_double(void);
- int get_int(void);
- int main(void)
- {
- int i, //process - untuk membantu process looping
- nomor_id, //input/ouput - Nomor id pegawai
- pegawai;// input - jumlah pegawai yang akan dihitung gajinya
- double gaji_pokok, //input - besar tarif gaji pokok per jam
- gaji_lembur, //process - besar tarif gaji lembur per jam
- jam_kerja, //input - banyaknya jam kerja yang telah dilakukan pegawai
- jam_lembur, //process- banyaknya jam lembur yang dilakukan oleh pekerja
- upah, //process - untuk menyimpan sementara total gaji yang didapatkan pegawai
- total_biaya, //output - total gaji keseluruhan pegawai
- biaya_lembur, //process - besar gaji dari jam lembur yang dilakukan oleh pegawai
- total_gaji_pegawai = 0,//output - jumlah total gaji keseluruhan pegawai
- rata_rata;// output - nilai rata - rata total gaji seluruh pegawai
- printf("-----------------Penghitung Gaji Pegawai-----------------------\n\n");
- //Masukkan jumlah pegawai yang akan dicek besar gajinya
- printf("\nMasukkan jumlah pegawai => ");
- scanf("%d", &pegawai);
- //Perulangan sebanyak jumlah pegawai
- for(i = 0; i < pegawai; i++)
- {
- //Masukkan nomor id dari pegawai yang dicek
- printf("\nMasukkan Nomor ID Pegawai => ");
- nomor_id = get_int();
- //Masukkan besar upah yang diterima pegawai selama satu jam bekerja
- printf("\nMasukkan besar upah per jam => ");
- gaji_pokok = get_double();
- //Masukkan total jam kerja yang dilakukan
- printf("\nMasukkan banyaknya jam kerja => ");
- jam_kerja = get_double();
- //Jika jam kerja kurang dari 40 jam, maka...
- if (jam_kerja <= 40)
- {
- //Hitung nilai upah pokok yang diterima
- upah = jam_kerja * gaji_pokok;
- }
- if (jam_kerja > 40)
- {
- //Hitung besar gaji lembur per jam yang akan diterima
- gaji_lembur = 1.5 * gaji_pokok;
- //Hitung besar jam lembur yang dilakukan oleh pegawai
- jam_lembur = jam_kerja - 40;
- //Hitung besar gaji lembur yang diterima oleh pegawai dengan mengalikan jam lembur dengan gaji lembur per jamnya
- biaya_lembur = jam_lembur * gaji_lembur;
- //Hitung total upah yang akan diterima pegawai tersebut
- upah = ((jam_kerja - jam_lembur) * gaji_pokok) + biaya_lembur;
- }
- //Hitung pajak yang harus dibayarkan oleh pegawai dari keseluruhan gaji baik lembur maupun tidak lembur
- total_biaya = upah - (upah * (TAX / 100));
- //Jumlahkan keseluruhan gaji pegawai total dengan total yang sebelumnya
- total_gaji_pegawai += total_biaya;
- //Tampilkan hasil perhitungan gaji salah seorang karyawan pada monitor
- printf("\nNomor Id => %d", nomor_id);
- printf("\nTotal Gaji => %.2f", total_biaya);
- }
- //Hitung rata - rata keseluruhan gaji pegawai
- rata_rata = total_gaji_pegawai / pegawai;
- //Tampilkan hasilnya pada layar monitor
- printf("\nTotal gaji pegawai seluruhnya => %.2f", total_gaji_pegawai);
- printf("\nRata - rata gaji yang diterima tiap pegawai => %.2f\n", rata_rata);
- return 0;
- }
- int get_int(void)
- {
- int a;
- scanf("%d", &a);
- return a;
- }
- double get_double(void)
- {
- double a;
- scanf("%lf", &a);
- return a;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement