Algoritma Pemrograman I : C++ Program Penggajian Karyawan(study KASUS)

07/12/2012 11:24

Soal Latihan

2. PT. STAY COOL, memberikan Honor tetap kepada karyawan kontraknya
sebesar Rp. 700,000,- per bulan, dengan memperoleh tujangan-tunjangan
sebagai berikut:
• Tunjangan Jabatan
Golongan    |    Persentase
       1                       5%
       2                      10%
       3                      15%
· Honor Lembur Jumlah jam kerja normal dalam satu bulan sebanyak 240 Jam
Kerja. Honor lembur diberikan jika jumlah jam kerja sebih dari 240 jam,
maka kelebihkan jam kerja tersebut dikalikan dengan honor lembur perjam
sebesar Rp. 2,500 untuk setiap kelebihan jam kerja dalam satu bulannya.
· Pendapatan Bersih = Honor tetap + Tunjangan Jabatan+Honor lembur – Pajak
10%
· Total Gaji yang dikeluarkan = akumulasi dari pendapatan bersih karyawan
• Tampilan yang diinginkan sebagai berikut :
Layar Masukkan dan Keluaran
Program Hitung Honor Karyawan Kontrak
PT. STAY COOL
Masukkan Jumlah Karyawan : ... <diinput>
Karyawan Ke - ... <proses counter>
Nama Karyawan : ... <di input>
Golongan (1/2/3) : ... <di input>
Jumlah Jam Kerja : ... <di input>
<<Terus berulang tergantung Jumlah Karyawan>>
PT. STAY COOL
-------------------------------------------------------------------------------------------
No. Nama Tunjangan
Karyawan Jabatan Honor Pendapatan
Lembur Pajak Bersih
-------------------------------------------------------------------------------------------
... ........ ............... ..... ..... ........
... ........ ............... ..... ..... ........
------------------------------------------------------------------------------------------
Total Gaji yang dikeluarkan Rp. ........

 

 

LISTING PROGRAM

#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
   /*DEKLARASI VARIABLE*/
    char namkar[10][20], gol[10][2], lagi;
   int jml, i, jumker, tunjab[10], pajak[10], honor[10],pendapatan[10];
   int gapok=700000, lembur=2500,  total;
main()
{
    atas:
    clrscr();
   cout<<"Program Hitung Honor Karyawan Kontrak"<<endl;
   cout<<"PT.STAY COOL"<<endl;
   cout<<endl;
   cout<<"Masukkan Jumlah Karyawan : "; cin>>jml;
   for(i=1; i<=jml; i++)
   {
       cout<<"Karyawan ke- "<<i<<endl;
      cout<<"Nama Karyawan    : "; gets(namkar[i]);
      cout<<"Golongan(1/2/3)  : "; cin>>gol[i];
      cout<<"Jumlah Jam Kerja : "; cin>>jumker;

/*Kondisi Golongan*/
       if(!strcmp(gol[i],"1"))
           tunjab[i] = 0.05 * gapok;
       else if(!strcmp(gol[i],"2"))
           tunjab[i] = 0.1 * gapok;
       else
           tunjab[i] = 0.15 * gapok;

/*Kondisi Lembur*/
       if(jumker>240)
          honor[i] = (jumker-240)*lembur;
      else
          honor[i] = 0;

/*Kondisi Pajak*/
        pajak[i]=tunjab[i]*0.1;

/*Kondisi pendapatan*/
        pendapatan[i]=(gapok+tunjab[i]+honor[i])-pajak[i];

/*kondisi total*/
    total=pendapatan[i]+total;

    }
//Tampilan Output
   clrscr();
   cout<<"\t\t PT.STAY COOL"<<endl;
   cout<<"-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"<<endl;
   cout<<"No  Nama         Tunjangan  Honor   Pajak   Pendapatan"<<endl;
   cout<<"    Karyawan     Jabatan    Lembur          Bersih "<<endl;
   cout<<"-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"<<endl;
   for(i=1; i<=jml; i++)
   {
       cout<<"\n"<<setiosflags(ios::left)<<setw(4)<<i;
        cout<<setiosflags(ios::left)<<setw(12)<<namkar[i];
        cout<<"Rp."<<setiosflags(ios::left)<<setw(10)<<tunjab[i];
        cout<<"Rp."<<setiosflags(ios::left)<<setw(8) <<honor[i];
      cout<<"Rp."<<setiosflags(ios::left)<<setw(8) <<pajak[i];
        cout<<setiosflags(ios::left)<<setw(2) <<"Rp."<<pendapatan[i]<<endl;
    }

  cout<<"\n            Total Gaji Yang Dikeluarkan= Rp. "<<total<<endl;
  cout<<"-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"<<endl;
    cout<<"\n\nMau Input Data Lagi [Y/T]= ";cin>>lagi;
        if (lagi=='Y' || lagi=='y')
          goto atas;
   getch();
 }