Skip to content

Instantly share code, notes, and snippets.

@oktavianto
Last active October 16, 2022 12:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oktavianto/1b8858a4d8d64992da6d9e566d8c23ba to your computer and use it in GitHub Desktop.
Save oktavianto/1b8858a4d8d64992da6d9e566d8c23ba to your computer and use it in GitHub Desktop.
#include <iostream>
#include <string>
using namespace std;
struct Pegawai {
string nip;
string nama;
string alamat;
string telepon;
string kategori;
int jam_kerja_harian;
};
int main(){
Pegawai pegawai[5];
int pilih;
int i = 0;
string cari_nip;
do{
cout << "==============================" << endl;
cout << "Program Penggajian Pegawai" << endl;
cout << "==============================" << endl;
cout << "1. Input Data" << endl;
cout << "2. Entry jam kerja harian" << endl;
cout << "3. Print slip gaji" << endl;
cout << "4. Exit" << endl;
cout << "Pilih : ";
cin >> pilih;
switch(pilih){
case 1:
// Input Data
cout << "Input Data Pegawai" << endl;
cout << "NIP : ";
cin >> pegawai[i].nip;
cout << "Nama : ";
cin >> pegawai[i].nama;
cout << "Alamat : ";
cin >> pegawai[i].alamat;
cout << "Telepon : ";
cin >> pegawai[i].telepon;
cout << "Kategori (D1, D2, D3) : ";
cin >> pegawai[i].kategori;
i++;
break;
case 2:
// Entry jam kerja harian
cout << "==============================" << endl;
cout << "Entry jam kerja harian" << endl;
cout << "==============================" << endl;
cout << "Cari NIP : ";
cin >> cari_nip;
for(int j = 0; j < i; j++){
if(cari_nip == pegawai[j].nip){
cout << "NIP : " << pegawai[j].nip << endl;
cout << "Nama : " << pegawai[j].nama << endl;
cout << "Alamat : " << pegawai[j].alamat << endl;
cout << "Telepon : " << pegawai[j].telepon << endl;
cout << "Kategori : " << pegawai[j].kategori << endl;
// 2. input jam kerja harian
cout << "Jam kerja harian : ";
cin >> pegawai[j].jam_kerja_harian;
// 3. tampilkan data pegawai beserta jam lembur harian (jam kerja harian - 8) dan jam lembur bulanan (jam lembur harian * 20)
int jam_lembur_harian = pegawai[j].jam_kerja_harian - 8;
int jam_lembur_bulanan = jam_lembur_harian * 20;
cout << "Jam lembur harian : " << jam_lembur_harian << endl;
cout << "Jam lembur bulanan : " << jam_lembur_bulanan << endl;
} else {
cout << "Data tidak ditemukan" << endl;
}
}
break;
case 3:
// Print slip gaji
cout << "==============================" << endl;
cout << "Print slip gaji" << endl;
cout << "==============================" << endl;
cout << "Cari NIP : ";
cin >> cari_nip;
for(int j = 0; j < i; j++){
if(cari_nip == pegawai[j].nip){
// tampilkan slip gaji
cout << "Slip Gaji" << endl;
cout << "NIP : " << pegawai[j].nip << endl;
cout << "Nama : " << pegawai[j].nama << endl;
cout << "Alamat : " << pegawai[j].alamat << endl;
cout << "Telepon : " << pegawai[j].telepon << endl;
cout << "Kategori : " << pegawai[j].kategori << endl;
cout << "Jam kerja harian : " << pegawai[j].jam_kerja_harian << endl;
// jam lembur
int jam_lembur_harian = pegawai[j].jam_kerja_harian - 8;
int jam_lembur_bulanan = jam_lembur_harian * 20;
cout << "Jam lembur harian : " << jam_lembur_harian << endl;
cout << "Jam lembur bulanan : " << jam_lembur_bulanan << endl;
// hitung gaji pokok
int gaji_pokok;
if(pegawai[j].kategori == "D1"){
gaji_pokok = 2500000;
} else if(pegawai[j].kategori == "D2"){
gaji_pokok = 2000000;
} else if(pegawai[j].kategori == "D3"){
gaji_pokok = 1500000;
}
cout << "Gaji Pokok : " << gaji_pokok << endl;
// hitung gaji lembur
int gaji_lembur = jam_lembur_bulanan * 20000;
cout << "Gaji Lembur : " << gaji_lembur << endl;
// hitung gaji total
int gaji_total = gaji_pokok + gaji_lembur;
cout << "Gaji Total : " << gaji_total << endl;
} else {
cout << "Data tidak ditemukan" << endl;
}
}
break;
case 4:
break;
default:
cout << "Pilihan tidak ada" << endl;
}
}while(pilih != 3);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment