#include
#include
// Definisikan struct untuk data pegawai
struct Pegawai {
char nip[20];
char nama[50];
char alamat[100];
char no_hp[15];
char jabatan[50];
char golongan[5];
int gaji_pokok;
};
// Fungsi untuk menampilkan informasi pegawai
void tampilkanInfoPegawai(struct Pegawai pegawai) {
printf("Nip = %s\n", pegawai.nip);
printf("Nama = %s\n", pegawai.nama);
printf("Alamat = %s\n", pegawai.alamat);
printf("No HP = %s\n", pegawai.no_hp);
printf("Jabatan = %s\n", pegawai.jabatan);
printf("Golongan = %s\n", pegawai.golongan);
printf("Gaji = %d\n", pegawai.gaji_pokok);
}
// Fungsi untuk menghitung total gaji bulanan
int hitungTotalGaji(int gaji_pokok, int jam_lembur, char golongan[5]) {
int gaji_lembur_perjam;
if (strcmp(golongan, "D1") == 0) {
gaji_lembur_perjam = 10000;
} else if (strcmp(golongan, "D2") == 0) {
gaji_lembur_perjam = 5000;
} else if (strcmp(golongan, "D3") == 0) {
gaji_lembur_perjam = 2500;
} else {
printf("Golongan tidak valid.\n");
return -1;
}
int total_gaji = gaji_pokok + (jam_lembur * gaji_lembur_perjam);
return total_gaji;
}
int main() {
struct Pegawai pegawai;
// Input data pegawai
printf("Input 1:\n");
printf("Masukkan NIP: ");
scanf("%s", pegawai.nip);
printf("Masukkan Nama: ");
scanf("%s", pegawai.nama);
printf("Masukkan Alamat: ");
scanf("%s", pegawai.alamat);
printf("Masukkan No HP: ");
scanf("%s", pegawai.no_hp);
printf("Masukkan Jabatan: ");
scanf("%s", pegawai.jabatan);
printf("Masukkan Golongan (D1/D2/D3): ");
scanf("%s", pegawai.golongan);
// Set gaji pokok berdasarkan golongan
if (strcmp(pegawai.golongan, "D1") == 0) {
pegawai.gaji_pokok = 2500000;
} else if (strcmp(pegawai.golongan, "D2") == 0) {
pegawai.gaji_pokok = 2000000;
} else if (strcmp(pegawai.golongan, "D3") == 0) {
pegawai.gaji_pokok = 1500000;
} else {
printf("Golongan tidak valid.\n");
return 1;
}
// Tampilkan informasi pegawai
printf("\nTampilan Input 1:\n");
tampilkanInfoPegawai(pegawai);
// Input data lembur
char nip_input2[20];
char golongan_input2[5];
int jam_lembur;
printf("\nInput 2:\n");
printf("Masukkan NIP: ");
scanf("%s", nip_input2);
printf("Masukkan Golongan (D1/D2/D3): ");
scanf("%s", golongan_input2);
printf("Masukkan Jumlah Jam Lembur: ");
scanf("%d", &jam_lembur);
// Hitung total gaji bulanan
int total_gaji = hitungTotalGaji(pegawai.gaji_pokok, jam_lembur, golongan_input2);
if (total_gaji != -1) {
printf("\nTampilan Input 2:\n");
printf("Nip = %s\n", nip_input2);
printf("Golongan = %s\n", golongan_input2);
printf("Lembur = %d\n", jam_lembur);
printf("Total Gaji Bulan ini = %d\n", total_gaji);
}
return 0;
}