CCCPaste

Gaji Pegawai

#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;
}