Soal:
INPUT = NIP, Nama, Jumlah Anak, Golongan
PROSES:
Jika Golongan = 1, maka Gaji Pokok = 1.000.000
Jika Golongan = 2, maka Gaji Pokok = 2.000.000
Jika Golongan = 3, maka Gaji Pokok = 3.000.000
Jika Golongan = 4, maka Gaji Pokok = 4.000.000
Jika Jumlah Anak >= 2, maka Tunjangan = 10% x Gaji Pokok.
Jika Jumlah Anak < 2, maka Tunjangan = 0.
Gaji Bersih = Gaji Pokok + Tunjangan.
OUTPUT = Tampilkan semua variabel
Jawaban:
1. Algoritma Flowchart
2. Source Code
#include struct Pegawai { char nama[20], nip[10]; int jml_anak, golongan; float gaji_pokok, tunjangan, gaji_bersih; } pgw; void main() { clrscr(); printf("Masukkan NIP: ");scanf("%s", &pgw.nip); printf("Masukkan Nama: ");scanf("%s", &pgw.nama); printf("Masukkan Jumlah Anak: ");scanf("%d", &pgw.jml_anak); printf("Masukkan Golongan (1-4): ");scanf("%d", &pgw.golongan); /*** hitung gaji pokok ***/ if (pgw.golongan == 1) { pgw.gaji_pokok = 1000000; } else if (pgw.golongan == 2) { pgw.gaji_pokok = 2000000; } else if (pgw.golongan == 3) { pgw.gaji_pokok = 3000000; } else { pgw.gaji_pokok = 4000000; } /*** hitung tunjangan ***/ if (pgw.jml_anak >= 2) { pgw.tunjangan = 0.1 * pgw.gaji_pokok; } else { pgw.tunjangan = 0; } /*** hitung gaji bersih ***/ pgw.gaji_bersih = pgw.gaji_pokok + pgw.tunjangan; /*** cetak semua variabel ***/ printf("\n"); printf("NIP : %s \n", pgw.nip); printf("Nama : %s \n", pgw.nama); printf("Jumlah Anak : %d \n", pgw.jml_anak); printf("Golongan : %d \n", pgw.golongan); printf("Gaji Pokok : %.2f \n", pgw.gaji_pokok); printf("Tunjangan : %.2f \n", pgw.tunjangan); printf("Gaji Bersih : %.2f \n", pgw.gaji_bersih); getch(); }
3. Tampilan