LISTING PROGRAM


LOGIKA PROGRAM
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <iomanip.h>
main()
{
int jkar, I, total=0, gp = 700000;
int
jam[50],tunjangan[50],hlembur[50],pajak[50],pbersih[50];
char nama[50][50],gol[50];
· Program ini meggunakan include
iostream, conio dan stdio yang bertujuan untuk menerima inputan dan include
iomanip ditujukan untuk pembuatan setiosflag yang bertujuan agar teks pada
layar output ditempatkan sesuai dengan yang di inginkan.. agar pada saat menampilkan
output terlihat rapih dan mudah di mengerti.
·
Pendeklarasian variable dalam
main program dengan nama variable jkar, i, gp atau gaji pokok dengan nilai Rp 700.000,- dan total dengan nilai 0..
lalu ada pendeklarasian array dengan indeks 50 dengan nama variable jam,
tunjangan, hlembur, pajak, pbersih dengan tipe data integer..
·
Pembuatan array dengan tipe
data char, dan bernama nama dengan indeks 50 karakter dan 50 data dan variable
gol dengan indeks 50.
cout<<"program hitung honor karyawan
kontrak\n";
cout<<"PT.STAY COOL\n\n";
cout<<"Masukan jumlah karyawan:
";cin>>jkar;
for(i=1;i<=jkar;i++)
{
·
Pembuatan layar output
pertamayang di gunakan untuk meminta inputan jumlah karyawannya yang akan
disimpan pada variable jkar, lalu pembuatan variable for yang digunakan untuk
membuat perulangan degan variable I yang di tujukan agar program tetap meminta
data karyawan sebanyak jumlah karyawan yang telah di inputkan sebelumnya.
cout<<"Karyawan ke- "<<i<<endl;
cout<<"Nama Karyawan : ";gets(nama[i]);
cout<<"Golongan(1/2/3)
: ";cin>>gol[i];
cout<<"Jumlah Jam Kerja: ";cin>>jam[i];
·
Ini juga pembuatan layar output
untuk meminta masukkan Nama Karyawan, Golongan, Jumlah Jam Kerja.. dengan kata
lain disini pembuatan array dengan menggunakan indeks variable I yang
tergantung seberapa banyak memasukkan jumlah karyawannya..
·
Nama Karyawan akan disimpan
pada variable nama dengan indeks variable I dikarenakan jumlah karyawan
tergantung dengan seberapa banyak nilai inputan jumlah karyawannya.. oleh
karena itu dibuat array karena tidak hanya satu data karyawan saja yang di
inputkan dalam program ini.
Menggunakan
statement gets agar scanner mengenal
karakter spasi.
·
Golongan akan disimpan pada
variable gol, dan Jumlah Jam Kerja akan disimpa pada variable jam, semua variable
disini dibuat menjadi array.. dengan menggunakan indeks variable i
if(gol[i]=='1')
{tunjangan[i]=(gp*5)/100;}
else if(gol[i]=='2')
{tunjangan[i]=(gp*10)/100;}
else if(gol[i]=='3')
{tunjangan[i]=(gp*15)/100;}
else
{tunjangan[i]=0;}
·
Ini adalah percabangan dengan
menggunakan statement if else yang digunakan untuk penyeleksian golongan yang
telah di input sebelumnya, jika yang dimasukkan adalah satu maka akan ada
pemberian nilai untuk variable tunjangan dengan indeks variable I dimana gaji
pokok (variable gp) dikalikan dengan 5%, jika yang di inputkan dua dikalikan
dengan 10% dan jika yang dimasukkan 3 dikalikan dengan 15%..
·
Jika golongan yang dimasukkan
selain dengan yang di atas maka nilai dari variable tunjangan adalah nol.
hlembur[i]=(jam[i]-240)*2500;
pajak[i]=(10*(gp+tunjangan[i]+hlembur[i]))/100;
pbersih[i]=(gp+tunjangan[i]+hlembur[i])-pajak[i];
total=total+pbersih[i];
}
·
Pemberian nilai untuk variable
hlembur yang digunakan
untuk pemberian honor lembur dengan ketentuan jumlah jam dikurang dengan 240
dikalikan dengan Rp 2500,-
·
Pajak dengan ketentuan 10% yang
di ambil dari (gaji pokok + tunjangan + honor lembur)
·
((gaji pokok + tunjangan +
honor lembur) – pajak ) adalah rumus yang digunakan untuk menentukan pendapatan
bersih dari setiap karyawan..
·
Yang terakhir adalah variable
total yang digunakan untuk menampilkan total gaji yang dikeluarkan, dari
seluruh karyawan yang berdasarkan penginputan jumlah karyawannya.
clrscr();
cout<<"\n\n\t\t\t\tPT. STAY
COOL"<<endl;
cout<<"-----------------------------------------------------------------------------"<<endl;
cout<<"No\tNama"<<endl;
cout<<"
\tKaryawan\t\tTunjangan\tHonor\t\t Pendapatan"<<endl;
cout<<"
\t\t\t\tJabatan\t\tLembur\t Pajak\t Bersih"<<endl;
cout<<"-----------------------------------------------------------------------------"<<endl;
for(i=1;i<=jkar;i++)
{
cout<<setiosflags(ios::left)<<setw(6)<<i;
cout<<setiosflags(ios::left)<<setw(26)<<nama[i];
cout<<setiosflags(ios::left)<<setw(14)<<tunjangan[i];
cout<<setiosflags(ios::left)<<setw(10)<<hlembur[i];
cout<<setiosflags(ios::left)<<setw(9)<<pajak[i];
cout<<setiosflags(ios::left)<<setw(8)<<pbersih[i];
cout<<endl;
}
cout<<"-----------------------------------------------------------------------------\n";
cout<<"Total Gaji Yang Dikeluarkan\t\t\t\t Rp "<<total;
getch()
{
·
Ini adalah pembuatan layar
output yang kedua dimana ada penjelasan mengenai nama karyawan, tunjangan
jabatan, honor lembur dan pendapatan bersih.
·
Membuat perulangan for yang
digunakan untuk membuat indeks array yang akan menampilkan seluruh isi data
karyawan dan jumlah gajinya (isi array).
·
Setiosflags disini digunakan
untuk membuat teks rata.. sebagai contoh à
(ios::left) adalah rata kiri dan statement (setw(6)) setw ini ditujukan untuk
memberikan ruang digit atau space untuk suatu isi variabel sebanyak 6
digit/space.
OUTPUT PROGRAM

