diff --git a/SEMESTER 2/CPP/Tugas 19062023 b/SEMESTER 2/CPP/Tugas 19062023 new file mode 100644 index 0000000..4880c19 --- /dev/null +++ b/SEMESTER 2/CPP/Tugas 19062023 @@ -0,0 +1,195 @@ +#include +#include +using namespace std; + +class Karyawan { +protected: + float gaji; +public: + string NIP; + string Nama; + string DeptName; + + void setGaji(float x) { + gaji = x; + } +}; + +class Manajer : public Karyawan { +private: + float tunjangan; + float bonus; + float HitGaji() { + return gaji + tunjangan + bonus; + } +public: + void displayResult() { + cout << "========SLIP GAJI========" << endl; + cout << "NIP\t\t\t: " << NIP << endl; + cout << "Nama\t\t: " << Nama << endl; + cout << "Departemen\t: " << DeptName << endl; + cout << "Gaji anda\t: " << HitGaji() << endl; + } + + void setTunjangan(float x) { + tunjangan = x; + } + + void setBonus(float x) { + bonus = x; + } +}; + +class Staf : public Karyawan { +private: + float lembur; + float HitGaji() { + return gaji + lembur; + } +public: + void displayResult() { + cout << "========SLIP GAJI========" << endl; + cout << "NIP\t\t\t: " << NIP << endl; + cout << "Nama\t\t: " << Nama << endl; + cout << "Departemen\t: " << DeptName << endl; + cout << "Gaji anda\t: " << HitGaji() << endl; + } + + void setLembur(float x) { + lembur = x; + } +}; + +int main() { + cout.precision(100); + string pilihan; + cout << "Pilihlah M=Manajer, S=Staf ? "; + cin >> pilihan; + + switch (pilihan[0]) { + case 'M': { + Manajer manajer; + string nip, nama, deptName; + float gaji, tunjangan, bonus; + + cout << "Masukkan NIP\t\t\t: "; + cin >> nip; + manajer.NIP = nip; + + cout << "Masukkan Nama\t\t\t: "; + cin >> nama; + manajer.Nama = nama; + + cout << "Masukkan Nama Dept\t\t: "; + cin >> deptName; + manajer.DeptName = deptName; + + cout << "Masukkan Gaji Anda\t\t: "; + cin >> gaji; + manajer.setGaji(gaji); + + cout << "Masukkan Tunjangan Anda\t: "; + cin >> tunjangan; + manajer.setTunjangan(tunjangan); + + cout << "Masukkan Bonus Anda\t\t: "; + cin >> bonus; + manajer.setBonus(bonus); + + manajer.displayResult(); + break; + } + case 'm': { + Manajer manajer; + string nip, nama, deptName; + float gaji, tunjangan, bonus; + + cout << "Masukkan NIP\t\t\t: "; + cin >> nip; + manajer.NIP = nip; + + cout << "Masukkan Nama\t\t\t: "; + cin >> nama; + manajer.Nama = nama; + + cout << "Masukkan Nama Dept\t\t: "; + cin >> deptName; + manajer.DeptName = deptName; + + cout << "Masukkan Gaji Anda\t\t: "; + cin >> gaji; + manajer.setGaji(gaji); + + cout << "Masukkan Tunjangan Anda\t: "; + cin >> tunjangan; + manajer.setTunjangan(tunjangan); + + cout << "Masukkan Bonus Anda\t\t: "; + cin >> bonus; + manajer.setBonus(bonus); + + manajer.displayResult(); + break; + } + case 'S': { + Staf staf; + string nip, nama, deptName; + float gaji, lembur; + + cout << "Masukkan NIP\t\t\t: "; + cin >> nip; + staf.NIP = nip; + + cout << "Masukkan Nama\t\t\t: "; + cin >> nama; + staf.Nama = nama; + + cout << "Masukkan Nama Dept\t\t: "; + cin >> deptName; + staf.DeptName = deptName; + + cout << "Masukkan Gaji Anda\t\t: "; + cin >> gaji; + staf.setGaji(gaji); + + cout << "Masukkan Lembur Anda\t: "; + cin >> lembur; + staf.setLembur(lembur); + + staf.displayResult(); + break; + } + case 's': { + Staf staf; + string nip, nama, deptName; + float gaji, lembur; + + cout << "Masukkan NIP\t\t\t: "; + cin >> nip; + staf.NIP = nip; + + cout << "Masukkan Nama\t\t\t: "; + cin >> nama; + staf.Nama = nama; + + cout << "Masukkan Nama Dept\t\t: "; + cin >> deptName; + staf.DeptName = deptName; + + cout << "Masukkan Gaji Anda\t\t: "; + cin >> gaji; + staf.setGaji(gaji); + + cout << "Masukkan Lembur Anda\t: "; + cin >> lembur; + staf.setLembur(lembur); + + staf.displayResult(); + break; + } + default: + cout << "Pilihan tidak valid." << endl; + } + + return 0; +}