Penjelasan :
1. Pemrograman Modular
Pemrograman modular adalah salah satu teknik dalam pemrograman yang mana program modular adalah sub atau satu bagian dalam sebuah program utama. Subprogram dalam sebuah program utama hanya mengerjakan satu permasalahan saja, misal subprogram pengurutan, maka subprogram tersebut hanya berfungsi untuk mengurutkan saja.
Dengan penggunaan subprogram maka dapat menghindari pengulangan penulisan source code yang sama, dan dapat mempermudah mencari kesalahan atau bug dalam sebuah program. Misal sebuah program terdiri dari subprogram input bilangan dan subprogram pengurutan, ketika dijalankan program tersebut berjalan lancar dalam penginputan tetapi ketika pengurutan melakukan kesalahan. Untuk mengecek kesalahan ini, tak perlu menganalisa seluruh source code program tetapi cukup menganalisa pada subprogram pengurutan saja.
2. Prosedur
Dalam Bahasa Pascal dikenal 2 macam program modular, yaitu procedure dan function. Sebuah procedure tidak dapat dieksekusi apabila procedure tersebut tidak dipanggil atau diakses. Pemanggilan sebuah procedure dapat dilakukan pada sebuah subprogram atau pada bagian program utama. Pemanggilan procedure dilakukan dengan menuliskan nama procedure beserta parameternya jika ada.
Dalam pascal terdapat dua jenis prosedur, pertama prosedur yang sudah ditentukan oleh kompilernya, seperti CLRSCR , GOTOXY (parameter1,parameter2) dan lain-lain. Kedua prosedur user defined yaitu prosedur yang dibuat oleh user/programmer, yang memiliki fungsinya ditentukan oleh perintah atau source code yang ditulis oleh programmernya. Dalam pembuatan prosedure user define berikut adalah deklarasinya.
Procedure NamaProcedure (parameter)
Var
NamaVariabel1 : tipedata;
NamaVariabel2 : tipedata;
Begin
. . . . . . . . . . . . .
. . . . . . . . . . . . .
End.
Maka dalam pemanggilannya ditulis NamaProcedure(Parameter);
3. Parameter (Variabel Lokal dan Global)
Parameter adalah variabel yang akan dikirim dari sebuah program utama atau subprogram yang memanggil procedure menuju procedure tersebut untuk dieksekusi. Dalam Wikipedia.com parameter adalah sebuah jenis variabel khusus, yang digunakan dalam sebuah subprogram untuk merujuk pada salah satu bagian data yang diberikan sebagai masukan/inputan untuk subprogram.
Dalam sebuah program terdapat parameter lokal dan global.
Variabel Global adalah variabel yang dapat dikenali diseluruh bagian program biasanya variabel ini merupakan variabel yang dideklarasikan pada deklarasi program umum.
Variabel lokal adalah variabel yang dikenal pada lingkup yang lebih sempit dari pada variabel global dan dikenal dalam subprogram yang mendeklarasikan variabel tersebut.
Untuk parameter dalam procedure ataupun function yang memiliki nama variable yang sama dengan variable global, maka nilai yang akan diload adalah dalam scope (ruang lingkupnya) masing-masing.
Pesoalan:
[muhh.ridwann jelanginfo.blogspot.com]
Coding Tertulis:
#include <iostream>
#include <conio.h>
using namespace std;
int makan(int d)
{return (d * 10000); }
int kesehatanjalan(int j)
{return (j* 100000); }
int kesehataninap(int i)
{return (i * 250000); }
int lembur (int l)
{return (l * 25000);}
int gajibersih (int r, int s, int t, int u, int v, int w,
int x, int y)
{return ((r+s+t+u+v+w+x+y)*0,5);}
main()
{
int day;
int jalan;
int inap;
int lbr;
int gajilembur;
int
lembur;
int
gjkotor,gjbersih,ank,tj,ta,jk,gapok,anak;
int
pend,status,ht,pjk,ttransport,trumah;
cout<<"=============================================Pendidikan"<<endl;
cout<<"1.
SMA/SMK "<<endl;
cout<<"2.
Diploma 3 "<<endl;
cout<<"3.
Strata 1 "<<endl;
cout<<"4.
Strata 2 "<<endl;
cout<<"5.
Strata 3 "<<endl;
cout<<"masukkan
nomor pendidikan\t:";
cin>>pend;
if
(pend==1)
{
gapok=500000;
cout<<"gaji
pokok anda\t\t\t:Rp."<<gapok<<endl;
}
else if
(pend==2)
{
gapok=750000;
cout<<"gaji
pokok anda\t\t\t:Rp."<<gapok<<endl;
}
else if
(pend==3)
{
gapok=1000000;
cout<<"gaji
pokok anda\t\t\t:Rp."<<gapok<<endl;
}
else if
(pend==4)
{
gapok=1500000;
cout<<"gaji
pokok anda\t\t\t:Rp."<<gapok<<endl;
}
else if
(pend==5)
{
gapok=2000000;
cout<<"gaji
pokok anda\t\t\t:Rp."<<gapok<<endl;
}
else {
cout<<"pendidikan
tidak terdaftar"<<endl;
}
cout<<"=============================================Jenis
Kelamin"<<endl;
cout<<"1.
Laki-laki "<<endl;
cout<<"2.
Perempuan "<<endl;
cout<<"Input
no.jenis kelamin\t\t:";cin>>jk;
cout<<"=============================================Status"<<endl;
cout<<"1.
menikah"<<endl;
cout<<"2.
single"<<endl;
cout<<"Input
status\t\t\t:";
cin>>status;
//tunjangan
anak hanya akan mucul apabila jenis kelamin laki-laki dan sudah menikah//
if(jk==1
&& status==1)
{
tj=100000;
cout<<"Tunjangan
Istri\t\t\t:Rp."<<tj<<endl;
cout<<"=============================================Tunj.
anak"<<endl;
cout<<"Jumlah
anak\t\t\t "<<endl;
cout<<"1
anak "<<endl;
cout<<"2
anak "<<endl;
cout<<"Input
anak\t\t\t:";cin>>ank;
//cout<<"\n"<<endl;//
//cout<<"ket:"<<endl;//
//cout<<"Tunjangan
Rp.60000/anak"<<endl;//
if
(status==1 && ank==1||2);
{
ta=60000*ank;
cout<<"Tunjangan
anak\t\t\t:Rp."<<ta<<endl;
}
if
(status==1 && ank==0)
{
cout<<"berstatus
menikah atau maksimal anak 2"<<endl;
}
}
else
{
tj=0;
cout<<"Tunjangan
anda\t\t\t:Rp."<<tj<<endl;
}
cout<<"=============================================Tunj.
Transport"<<endl;
ttransport=350000;
cout<<"Tunj.
Transport anda\t\t:Rp."<<ttransport<<endl;
cout<<"\n"<<endl;
cout<<"=============================================Tunj.
Perumahan"<<endl;
trumah=500000;
cout<<"Tunj.
Perumahan anda\t\t:Rp."<<trumah<<endl;
cout<<"\n"<<endl;
//====================================================================//
cout<<"=============================================Tunj.Makan"<<endl;
// cout<<"maksimal 6 hari
per minggu "<<endl; //
// cout<<"maksimal 24 hari
per bulan "<<endl; //
cout<<"Masukan banyaknya hari
kerja\t:";cin>>day;
if (day>=24){
day
= 24;
}
cout<<"Tunjangan
makan\t\t\t:Rp."<<makan(day);
cout<<"\n"<<endl;
//====================================================================//
cout<<"=============================================Tunj.
Kesehatan Semua Keluarga"<<endl;
//cout<<"Ket:"<<endl;//
//cout<<"Rawat
Jalan Rp.100000/hari, max.30 hari/tahun "<<endl;//
//cout<<"Rawat
Inap Rp250000/hari, max.30 hari/tahun "<<endl;//
// cout<<"\n"<<endl;//
cout<<"Masukan total rawat jalan\t:";cin>>jalan;
if
(jalan>=30){
jalan
= 30;
}
cout<<"masukkan
hari Rawat Inap\t:";cin>>inap;
if (inap>=30){
inap
= 30;
}
//====================================================================//
cout<<"=============================================Potongan"<<endl;
cout<<"Hutang
Kerja\t\t\t:Rp.";cin>>ht;
//====================================================================//
cout<<"=============================================Lembur"<<endl;
cout<<"\nMasukan
total jam kerja\t\t:";cin>>lbr;
lbr= lbr-192;
//192 dari jam
kerja wajib 8 jam 24 hari
//====================================================================//
cout<<"=============================================Total
Gaji perbulan"<<endl;
// cout<<"Setelah
Potongan Pajak 5% dari Total Gaji kotor"<<endl;//
cout<<"\n"<<endl;
cout<<"gaji
pokok anda\t\t\t:Rp."<<gapok<<endl;
cout<<"Tunjangan
Istri\t\t\t:Rp."<<tj<<endl;
cout<<"Tunjangan
anak\t\t\t:Rp."<<ta<<endl;
cout<<"Tunj.
Transport anda\t\t:Rp."<<ttransport<<endl;
cout<<"Tunj.
Perumahan anda\t\t:Rp."<<trumah<<endl;
cout<<"\nTunjangan
makan\t\t\t:Rp."<<makan(day);
cout<<"\nTunjangan
rawat jalan\t\t:Rp."<<kesehatanjalan(jalan);
cout<<"\nTunjangan
rawat inap\t\t:Rp."<<kesehataninap(inap);
cout<<"\nHutang
Kerja\t\t\t:Rp."<<ht<<endl;
cout<<"gaji
bersih\t\t\t:Rp."<<makan(day)+kesehatanjalan(jalan)+gapok+tj+ta+ttransport+trumah+kesehatanjalan(inap)+ht;
cout<<"\n"<<endl;
cout<<"=============================================Data
Akhir"<<endl;
return
0;
}