Skip to main content

Menghitung Gaji Pegawai dengan C++

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



Comments

Popular posts from this blog

Deteksi wajah dengan html5 dan javascript

pas artikel ini dibuat ane lg browsing2 gimana caranya buka kamera laptop plus pengen bikin face recognation atau pengenalan wajah. kebetulan nemu nih... tapi belum tak coba wkkwkwk barang kali mau nyoba ya munggoh.... link github : https://github.com/wesbos/HTML5-Face-Detection Demo Video:  http://www.youtube.com/watch?v=YYES9Qd094o&hd=1 Working Demo :  http://wesbos.com/demos/html5-face-detection/ Tutorial :  http://www.wesbos.com/html5-video-face-detection-canvas-javascript

Menghilangkan Icon recycle bin di desktop

Menghilangkan Icon recycle bin di desktop Ketika kita ingin mengurangi jumlah icon desktop , kita tidak bisa menghilangkan icon Recycle Bin di desktop kita karena pada saat kita klik kanan pada icon tersebut tidak terdapat menu Delete. Selain itu, pada desktop properties juga tidak terdapat pilihan untuk menampilkan atau tidak icon Recycle Bin layaknya icon My Computer, My Documents atau icon My Network Places. Tetapi dengan langkah yang diberikan dibawah ini anda dapat menghilangkan icon recyclebin dari desktop anda, sehingga tidak tampak lagi icon tersebut di desktop. Untuk Windows Xp Ikuti saja langkah-langkah berikut:

FIX 4G MIUI 8 REDMI 3/Pro #rivvai

PATCH FIX 4G CAMERA FEATURE Fitur : * Fix 4G ( dial *#*#4636#*#* tersedia opsi network ) * Camera features ( opsi camera ,save ke SD tidak hilang,  LED aman , semua fitur normal ) Note : ** Cocok untuk yang tidak ingin root atau menggunakan Xposed. ** Menggunakan cara ini akan menghilangkan fungsi app lock menggunakan fingerprint, jika ingin app lock berfungsi gunakan metode fix menggunakan Xposed ( Cek postingan Fix 4G Xposed  ) DOWNLOAD FIX 4G Flash via TWRP tanpa Wipe. tidak perlu edit ini itu, semua bekerja otomatis. >>>>**********<<<<< File Pembantu >>>> Ramdisk permissive buat yg bootloop klo abis install SuperSu (Jika ada ) https://drive.google.com/file/d/0B5fZIdHA5gAhV2RaTER4bHhadWM/view?usp=sharing >>> SuperSu 2.68 https://drive.google.com/file/d/0B5fZIdHA5gAhRVA3NHgySmJLTzQ/view?usp=sharing Tested di MIUI 8.1.3.0 GLOBAL STABIL. untuk coba di rom lai