Pada postingan kali ini saya akan menshare bagaimana caranya menghitung gaji pegawai dengan ketentuan sebagai berikut :
1. Gaji Pokok :
- Jika Golongan 1 : Rp. 800.000
- Jika Golongan 2 : Rp. 1.200.000
- Jika Golongan 3 : Rp. 2.500.000
2. Gaji Lembur/Jam : Rp. 50.000
3. Total Gaji Lembur : Lama Lembur*Gaji Lembur/Jam
4. Gaji Kotor : Gaji Pokok + Total Gaji Kotor
5. Potongan, terdiri dari :
- Pajak : 2.5% dari Total Gaji Kotor
- Asuransi : 5% dari Total Gaji Kotor
6. Gaji Bersih : Gaji Kotor-Potongan
Berikut ini adalah source code untuk menghitung gaji pegawai sesuai dengan ketentuan diatas :
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv)
{
char nama[31];
int jam_lembur,gol;
long int gaji_pokok,gaji_kotor,total_gaji_lembur;
float pajak,asuransi,gaji_bersih;
while(gol<1 || gol>3)
{
system("cls");
printf("Nama Pegawai : ") ; fflush(stdin);gets(nama);
printf("Golongan : ") ; scanf ("%i",&gol);
printf("Lama Lembur : "); scanf("%i",&jam_lembur);
total_gaji_lembur=(long int)50000*jam_lembur;
if (gol <1 || gol>3)
{
cout<<"\n\nGolongan Tidak Ada.\n Silakan Masukan Ulang !\n\n\n";system("PAUSE");
}
}
//penentuan gaji pokok
if(gol==1) {gaji_pokok=800000;}
else if(gol==2){gaji_pokok=1200000;}
else if(gol==3){gaji_pokok=2500000;}
//konversi tipe data
gaji_kotor=gaji_pokok+total_gaji_lembur;
pajak=0.025*gaji_kotor;
asuransi=0.05*gaji_kotor;
gaji_bersih=gaji_kotor-(pajak+asuransi);
system("cls");
printf("DAFTAR PERHITUNGAN GAJI PEGAWAI\n");
printf(" \n");
printf("==================================================================\n");
printf(" \n");
printf("Nama Pegawai : %s\n",nama);
printf("Golongan : %10li\n",gol);
printf(" \n");
printf("Gaji Pokok : Rp. %10li\n",gaji_pokok);
printf("Lama Lembur : %i jam\n",jam_lembur);
printf("Total Gaji Lembur : Rp. %10li\n",total_gaji_lembur);
printf("Gaji Kotor : Rp. %10li\n",gaji_kotor);
printf(" \n");
printf("POTONGAN\n");
printf("Pajak (2.5%%) : Rp. %10.0f\n",pajak);
printf("Asuransi (5%%) : Rp. %10.0f\n",asuransi);
printf("Gaji Bersih : Rp. %10.0f\n\n",gaji_bersih);
system("PAUSE");
return 0;
}
Keterangan :
Pada awalnya program akan meminta kita untuk menginputkan nama,
Setelah selesai menginputkan, kita disuruh mengisi memasukan golongan.
Kemudian kita inputkan jam lembur.
Diatas terdapat pengulangan.Pengulangan akan terjadi apabila kita memasukan angka pada golongan selain angka 1 / 2 / 3 .Sebagai contoh saya inputkan angka 9 pada golongan.
Oh iya,
Apabila golongan yang kita masukan lebih dari 3 / kurang dari 1 , maka program akan mengulang eksekusi dengan mengeksekusi source yang berada di wilayah while.
while(gol<1 || gol>3)
{
system("cls");
printf("Nama Pegawai : ") ; fflush(stdin);gets(nama);
printf("Golongan : ") ; scanf ("%i",&gol);
printf("Lama Lembur : "); scanf("%i",&jam_lembur);
total_gaji_lembur=(long int)50000*jam_lembur;
if (gol <1 || gol>3)
{
cout<<"\n\nGolongan Tidak Ada.\n Silakan Masukan Ulang !\n\n\n";system("PAUSE");
}
}
Source diatas adalah wilayah source while(yg berwarna hijau).
Tetapi, apabila angka yang kita inputkan adalah angka diantara 1 - 3 , maka program akan langsung melanjutkan eksekusi ke source berikutnya dan tidak melakukan perulangan lagi.
Nah setelah kita memasukan data yang sesuai (nama,golongan,dan lama lembur). Maka program akan melanjutkan eksekusinya ke :
gaji_kotor=gaji_pokok+total_gaji_lembur;
pajak=0.025*gaji_kotor;
asuransi=0.05*gaji_kotor;
gaji_bersih=gaji_kotor-(pajak+asuransi);
system("cls");
printf("DAFTAR PERHITUNGAN GAJI PEGAWAI\n");
printf(" \n");
printf("==================================================================\n");
printf(" \n");
printf("Nama Pegawai : %s\n",nama);
printf("Golongan : %10li\n",gol);
printf(" \n");
printf("Gaji Pokok : Rp. %10li\n",gaji_pokok);
printf("Lama Lembur : %i jam\n",jam_lembur);
printf("Total Gaji Lembur : Rp. %10li\n",total_gaji_lembur);
printf("Gaji Kotor : Rp. %10li\n",gaji_kotor);
printf(" \n");
printf("POTONGAN\n");
printf("Pajak (2.5%%) : Rp. %10.0f\n",pajak);
printf("Asuransi (5%%) : Rp. %10.0f\n",asuransi);
printf("Gaji Bersih : Rp. %10.0f\n\n",gaji_bersih);
system("PAUSE");
return 0;
}
Masih bingung sama penjelasan saya ?, Ini screenshootnya...... :
1. Saya inputkan Eko Purnomo Bayu Aji( pada nama).
Dan saya masukan 9 pada golongan.lalu saya inputkan angka 1 pada lama lembur.
2. Setelah saya selesai menginputkan semuanya, saya tekan ENTER. yang terjadi adalah :
Kenapa tampilanya seperti itu? itu karena golongan yang kita masukan bukan golongan 1 / 2 / 3.
3. Tekan sembarang tombol., maka yang tampil :
Akan kembali ke awal lagi.Ini dikarenakan fungsi whle yang kita berikan sudah bekerja. yang mengharuskan kita menginout ulang.
4. OK kita inputkan data-datanya sekali lagi.Tapi sekarang di isi dengan benar :D
Tekan ENTER.
5. Akan muncul :
Muncul seperti diatas karena kita sudah menginputkan data-data dengan benar( golongan 1 / 2 / 3),sehingga tidak ada proses pengulangan dan menyebabkan program akan mengeksekusi source yang berada diluar wilayah while.
Masih kurang paham dengan penjelasan saya ? :D ...... kalau belum saya jelaskan lagi, tapi sayangnya saya sudah cape ngetik :D udahan dulu ya ,dadahhhhhhhhh
1. Gaji Pokok :
- Jika Golongan 1 : Rp. 800.000
- Jika Golongan 2 : Rp. 1.200.000
- Jika Golongan 3 : Rp. 2.500.000
2. Gaji Lembur/Jam : Rp. 50.000
3. Total Gaji Lembur : Lama Lembur*Gaji Lembur/Jam
4. Gaji Kotor : Gaji Pokok + Total Gaji Kotor
5. Potongan, terdiri dari :
- Pajak : 2.5% dari Total Gaji Kotor
- Asuransi : 5% dari Total Gaji Kotor
6. Gaji Bersih : Gaji Kotor-Potongan
Berikut ini adalah source code untuk menghitung gaji pegawai sesuai dengan ketentuan diatas :
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv)
{
char nama[31];
int jam_lembur,gol;
long int gaji_pokok,gaji_kotor,total_gaji_lembur;
float pajak,asuransi,gaji_bersih;
while(gol<1 || gol>3)
{
system("cls");
printf("Nama Pegawai : ") ; fflush(stdin);gets(nama);
printf("Golongan : ") ; scanf ("%i",&gol);
printf("Lama Lembur : "); scanf("%i",&jam_lembur);
total_gaji_lembur=(long int)50000*jam_lembur;
if (gol <1 || gol>3)
{
cout<<"\n\nGolongan Tidak Ada.\n Silakan Masukan Ulang !\n\n\n";system("PAUSE");
}
}
//penentuan gaji pokok
if(gol==1) {gaji_pokok=800000;}
else if(gol==2){gaji_pokok=1200000;}
else if(gol==3){gaji_pokok=2500000;}
//konversi tipe data
gaji_kotor=gaji_pokok+total_gaji_lembur;
pajak=0.025*gaji_kotor;
asuransi=0.05*gaji_kotor;
gaji_bersih=gaji_kotor-(pajak+asuransi);
system("cls");
printf("DAFTAR PERHITUNGAN GAJI PEGAWAI\n");
printf(" \n");
printf("==================================================================\n");
printf(" \n");
printf("Nama Pegawai : %s\n",nama);
printf("Golongan : %10li\n",gol);
printf(" \n");
printf("Gaji Pokok : Rp. %10li\n",gaji_pokok);
printf("Lama Lembur : %i jam\n",jam_lembur);
printf("Total Gaji Lembur : Rp. %10li\n",total_gaji_lembur);
printf("Gaji Kotor : Rp. %10li\n",gaji_kotor);
printf(" \n");
printf("POTONGAN\n");
printf("Pajak (2.5%%) : Rp. %10.0f\n",pajak);
printf("Asuransi (5%%) : Rp. %10.0f\n",asuransi);
printf("Gaji Bersih : Rp. %10.0f\n\n",gaji_bersih);
system("PAUSE");
return 0;
}
Keterangan :
Setelah selesai menginputkan, kita disuruh mengisi memasukan golongan.
Kemudian kita inputkan jam lembur.
Diatas terdapat pengulangan.Pengulangan akan terjadi apabila kita memasukan angka pada golongan selain angka 1 / 2 / 3 .Sebagai contoh saya inputkan angka 9 pada golongan.
Oh iya,
Apabila golongan yang kita masukan lebih dari 3 / kurang dari 1 , maka program akan mengulang eksekusi dengan mengeksekusi source yang berada di wilayah while.
while(gol<1 || gol>3)
{
system("cls");
printf("Nama Pegawai : ") ; fflush(stdin);gets(nama);
printf("Golongan : ") ; scanf ("%i",&gol);
printf("Lama Lembur : "); scanf("%i",&jam_lembur);
total_gaji_lembur=(long int)50000*jam_lembur;
if (gol <1 || gol>3)
{
cout<<"\n\nGolongan Tidak Ada.\n Silakan Masukan Ulang !\n\n\n";system("PAUSE");
}
}
Source diatas adalah wilayah source while(yg berwarna hijau).
Tetapi, apabila angka yang kita inputkan adalah angka diantara 1 - 3 , maka program akan langsung melanjutkan eksekusi ke source berikutnya dan tidak melakukan perulangan lagi.
Nah setelah kita memasukan data yang sesuai (nama,golongan,dan lama lembur). Maka program akan melanjutkan eksekusinya ke :
gaji_kotor=gaji_pokok+total_gaji_lembur;
pajak=0.025*gaji_kotor;
asuransi=0.05*gaji_kotor;
gaji_bersih=gaji_kotor-(pajak+asuransi);
system("cls");
printf("DAFTAR PERHITUNGAN GAJI PEGAWAI\n");
printf(" \n");
printf("==================================================================\n");
printf(" \n");
printf("Nama Pegawai : %s\n",nama);
printf("Golongan : %10li\n",gol);
printf(" \n");
printf("Gaji Pokok : Rp. %10li\n",gaji_pokok);
printf("Lama Lembur : %i jam\n",jam_lembur);
printf("Total Gaji Lembur : Rp. %10li\n",total_gaji_lembur);
printf("Gaji Kotor : Rp. %10li\n",gaji_kotor);
printf(" \n");
printf("POTONGAN\n");
printf("Pajak (2.5%%) : Rp. %10.0f\n",pajak);
printf("Asuransi (5%%) : Rp. %10.0f\n",asuransi);
printf("Gaji Bersih : Rp. %10.0f\n\n",gaji_bersih);
system("PAUSE");
return 0;
}
Masih bingung sama penjelasan saya ?, Ini screenshootnya...... :
1. Saya inputkan Eko Purnomo Bayu Aji( pada nama).
Dan saya masukan 9 pada golongan.lalu saya inputkan angka 1 pada lama lembur.
2. Setelah saya selesai menginputkan semuanya, saya tekan ENTER. yang terjadi adalah :
Kenapa tampilanya seperti itu? itu karena golongan yang kita masukan bukan golongan 1 / 2 / 3.
3. Tekan sembarang tombol., maka yang tampil :
Akan kembali ke awal lagi.Ini dikarenakan fungsi whle yang kita berikan sudah bekerja. yang mengharuskan kita menginout ulang.
4. OK kita inputkan data-datanya sekali lagi.Tapi sekarang di isi dengan benar :D
Tekan ENTER.
5. Akan muncul :
Muncul seperti diatas karena kita sudah menginputkan data-data dengan benar( golongan 1 / 2 / 3),sehingga tidak ada proses pengulangan dan menyebabkan program akan mengeksekusi source yang berada diluar wilayah while.
Masih kurang paham dengan penjelasan saya ? :D ...... kalau belum saya jelaskan lagi, tapi sayangnya saya sudah cape ngetik :D udahan dulu ya ,dadahhhhhhhhh
Comments
Post a Comment
Untuk berkomentar wajib sopan, OK.