Gerakan Digital

Jumat, 08 April 2016

BAB 4 (Diktat)

Kasus 4.1

Penyelesaian menggunakan Dev c++ dan Flowchart


#include <iostream>
 using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class Banding{
    friend istream&operator>>(istream&,Banding&);
    public:
        Banding(){};
        void bandingkan(){
            if(A>B)
            cout<<"Bilangan terbesar = "<<A;
            else
            cout<<"Bilangan terbesar = "<<B;
       
        }
       
        private:
            int A,B;
};
istream& operator>>(istream&in, Banding& bilangan){
    cout<<"Bilangan Pertama =";
    in>>bilangan.A;
    cout<<"Bilangan Kedua = ";
    in>>bilangan.B;
    return in;
};
int main(int argc, char** argv) {
    Banding bilangan;
    cin>>bilangan;
    bilangan.bandingkan();

   
    return 0;
}

Kasus 4.2

#include <iostream>

using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class Banding{
    friend istream& operator>>(istream&,Banding&);
    public:
    Banding(){};
    void bandingkan(){
        if((x>y)&&(x>z))
        cout<<"Bilangan terbesar = "<<x;
        else if((y>x)&&(y>z))
        cout<<"Bilangan terbesar = "<<y;
        else
        cout<<"Bilangan terbesar = "<<z;
       
    }
    private:
    int x,y,z;   
};
istream& operator>>(istream& in, Banding& bilangan){
    cout<<"Bilangan pertama = ";
    in>>bilangan.x;
    cout<<"Bilangan kedua = ";
    in>>bilangan.y;
    cout<<"Bilangan ketiga = ";
    in>>bilangan.z;
    return in;
};
int main(int argc, char** argv) {
    Banding bilangan;
    cin>>bilangan;
    bilangan.bandingkan();
   
    return 0;
}

Kasus 4.2 B

#include <iostream>
using namespace std;

class Banding{
    friend istream& operator>>(istream&, Banding&);
    public:
        Banding(){};
        void bandingkan(){
            int maks = x;
            if (y>maks)maks=y;
            if (z>maks)maks=z;
            cout<<"Bilangan terbesar = "<<maks;
        }
        private:
            int x,y,z;};
            istream& operator>>(istream&in,Banding&bilangan){
                cout<<"Bilangan pertama = ";
                in>>bilangan.x;
                cout<<"Bilangan kedua = ";
                in>>bilangan.y;
                cout<<"Biangan ketiga = ";
                in>>bilangan.z;
                return in;
           
};
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
    Banding bilangan;
    cin>>bilangan;
    bilangan.bandingkan();

}







Kasus 4.3

#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class Akar{
    friend ostream& operator<<(ostream&,Akar&);
    friend istream& operator>>(istream&, Akar&);
    public:
        Akar();
        int disk(){return B*B-4*A*C;}
        float akar1(){return(-B+sqrt(disk()))/(2*A);}
        float akar2(){return(-B-sqrt(disk()))/(2*A);}
        void hitung_akar();
        void cetak_disk(){cout<<"diskriminan = "<<disk()<<endl;}
        void cetak_akar(){
        cout<<"x1 = "<<akar1()<<endl;
        cout<<"x2 = "<<akar2()<<endl;
    }
    private:
        int A,B,C;
        float x1,x2;
};
ostream& operator<<(ostream&out,Akar& keluaran){
    keluaran.cetak_disk();
    if(keluaran.disk()>=0)keluaran.cetak_akar();
    else out<<"Akar imajiner";
    return out;
}
istream& operator>>(istream&in,Akar& masukan){
    cout<<"Koefisien pangkat 2 = ";in>>masukan.A;
    cout<<"Koefisien pangkat 1 = ";in>>masukan.B;
    cout<<"Koefisien pangkat 0 = ";in>>masukan.C;
    return in;
}
Akar::Akar(){
    cout<<"Menghitung akar persamaan kuadrat\n";
}
void Akar::hitung_akar(){
    if(A==0){
        cout<<"Bukan pers.kuadrat.\n";
        cout<<"Harga akar = "<<-C/B;
    }else{
        if(disk()>0){
            x1=akar1();
            x2=akar2();
        }else if(disk()==0){
            x1=akar1();
            x2=x1;
        }
    }
}
int main(int argc, char** argv) {
    Akar kasus;
    cin>>kasus;
    kasus.hitung_akar();
    cout<<kasus;
    return 0;
}

Kasus 4.4










#include <iostream>
using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class Nilai{
    friend ostream&operator<<(ostream&,Nilai&);
    friend istream&operator>>(istream&,Nilai&);
    public:
        Nilai(){};
        void konversikan(){
            if((nilai>0)&&(nilai<=20))
            nilai_huruf='E';
            else if ((nilai>20)&&(nilai<=40))
            nilai_huruf='D';
            else if((nilai>40)&&(nilai<=60))
            nilai_huruf='C';
            else if((nilai>60)&&(nilai<=80))
            nilai_huruf='B';
            else
            nilai_huruf='A';
        }
        private:
            int nilai;
            char nilai_huruf;
};
istream&operator>>(istream&in, Nilai& masukan){
    cout<<"Masukkan nilai angka = ";
    in>>masukan.nilai;
    return in;
};
ostream&operator<<(ostream&out,Nilai&keluaran){
    out<<"Nilai angka = "<<keluaran.nilai<<endl;
    out<<"Nilai huruf = "<<keluaran.nilai_huruf;
}
int main(int argc, char** argv) {
    Nilai angka;
    cin>>angka;
    angka.konversikan();
    cout<<angka;
    return 0;
}






Kasus 4.5

#include <iostream>
using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class Kalender{
    friend ostream&operator<<(ostream&,Kalender&);
    friend istream&operator>>(istream&,Kalender&);
    public:
        Kalender(){};
        void adalah();
        private:
            int hari_ke;
            char*hari;
};
void Kalender::adalah(){
    switch (hari_ke){
        case 1: hari = "Senin";break;
        case 2: hari = "Selasa";break;
        case 3: hari = "Rabu";break;
        case 4: hari = "Kamis";break;
        case 5: hari = "Jumat";break;
        case 6: hari = "Sabtu";break;
        default : hari = "Minggu";break;
       
    }
}
istream&operator>>(istream&in,Kalender&masukan){
    cout<<"Masukkan hari ke-";
    in>>masukan.hari_ke;
    return in;
}
ostream&operator<<(ostream&out,Kalender&keluaran){
    out<<"Hari ke-"<<keluaran.hari_ke<<" adalah "<<keluaran.hari<<endl;
    return out;
}
int main(int argc, char** argv) {
    Kalender tanggal;
    cin>>tanggal;
    tanggal.adalah();
    cout<<tanggal;
   
    return 0;
}







Latihan


1. Algoritma:

1.      Algoritma menentukan_bilangan_terbesar
            {mencari bilangan terbesar dari 3 bilangan yang diinput}
Deklarasi
            Integer a,b,c,terbesar;
Deskripsi
            Write(“Masukkan Bilangan Pertama : ”);
            Read(a);
            Write(“Masukkan Bilangan Kedua : ”);
            Read(b);
            Write(“Masukkan Bilangan Ketiga : ”);
            Read(c);
            if (a>b) then
                        if (a>c)
                                    then write(“Terbesar = ”,a);
                                    else wrie(“Terbesar = ”,c);
                        endif
            else if (b>c)
                        then write(“Terbesar = ”,b);
                        else write(“Terbesar = ”,c);
            endif
            endif

Dev:
#include <iostream>
#include <conio.h>
using namespace std;
class Banding {
friend istream& operator>>(istream&, Banding&);
public:
Banding() {};
void bandingkan() {
int maks = x;
if (y > maks) maks = y;
if (z > maks) maks = z;
cout << "Bilangan terbesar : " << maks;
}
private:
int x, y, z; };
istream& operator>>(istream& in, Banding& bilangan){
cout << "Bilangan pertama = ";
in >> bilangan.x;
cout << "Bilangan kedua = ";
in >> bilangan.y;
cout << "Bilangan ketiga = ";
cin >> bilangan.z;
return in;
};
main() {
Banding bilangan;
cin >> bilangan;
bilangan.bandingkan();
getch();
return 0;
}

Flow:



2. Algoritma:


1.      Algoritma Menghitung akar-akar persamaan kuadrat

{Input: a,b,c, mencari akar-akar persamaan kuadrat dan mencari akar-akar persamaan kuadrat}

Deklarasi:
a,b,c : integer{Input}
disk : longint{output}
x1,x2 : real{output}
Deskripsi:
read(a,b,c)
disk<--b*b-4a*c
if (a=0) then write('Bukan persamaan kuadrat')
else if disk>0 then
  x1<---(-b)+sqrt(disk)/2*a
  x2<---(-b)-sqrt(disk)/2*a
else if disk=0 then
  x1<---(-b)/2*a
  x2<---x1
else write('Akar Imajiner')
end if
write(x1,x2)
Dev:
#include<cstdlib>
#include<iostream>
#include <conio.h>
#include<math.h>
using namespace std;

class persamaan{

public:
 void persamaan_kuadrat();
 float rumus();
private:
 int  x,y,z;
 float x1,x2;
 float disk;
};

void persamaan::persamaan_kuadrat(){
 cout<<"masukkan nilai A :";
 cin>>x;
 cout<<"masukkan nilai B :";
 cin>>y;
 cout<<"masukkan nilai C :";
 cin>>z;

}
float persamaan::rumus(){
 disk=y*y-4*x*z;

 if (disk>0)
  {
   cout<<"Diskriminan="<<disk<<" Maka akar-akarnya adalah:"<<endl;
   x1=(-y+(sqrt(disk)))/(2*x);
    cout<<"x1 :"<<x1;
    cout<<endl;
   x2=(-y-(sqrt(disk)))/(2*x);
    cout<<"x2 :"<<x2;
  }
 else if(disk=0)
  {
   cout<<"Diskriminan="<<disk<<" Maka akar-akarnya adalah:"<<endl;
   x1=-y/2*x;
    cout<<"x1 :"<<x1;
    cout<<endl;
   x2=x1;
    cout<<"x2 :"<<x2;
  }
 else
  cout<<"akar imajiner";

}

int main(int argc, char *argv[])

{
persamaan X;
X.persamaan_kuadrat();
X.rumus();

return 0;

}

Flow:



3. Algoritma:
1.      Algoritma konversi nilai
{dibaca nilai angka kemudian di konversi ke nilai huruf}
Deklarasi :
nilai   : integer
nilai_huruf : char
Deskripsi
read(nilai)
if (nilai>0) and (nilai <=20) then nilai_huruf <- E
else if (nilai > 21) and (nilai<=40)then nilai_huruf <-  D
else if (nilai > 41) and (nilai<=60)then nilai_huruf <-  C
else if (nilai > 61) and (nilai<=80)then nilai_huruf <-  B
else nilai_huruf <- A
end if
write(nilai_huruf)

Dev:
# include <iostream>
# include <conio.h>
#include <windows.h>
using namespace std;
int main()
{
    int NILAI;

    system("clrscr");

    cout<<"\n============================================\n";
    cout<<"Kode         Range Nilai\n";
    cout<<"\n============================================\n";
    cout<<" 1         00-20\n";
    cout<<" 2         21-40\n";
    cout<<" 3         41-60\n";
    cout<<" 4         61-80\n";
    cout<<" 5         81-100\n";
    cout<<"\n-------------------------------------------\n";
    cout<<"Silahkan pilih kode dari nilai anda =";cin>>NILAI;

    switch(NILAI)
    {
        case 1:
            cout<<"E";
        break;

        case 2:
            cout<<"D";
        break;

        case 3:
            cout<<"C";
        break;

        case 4:
            cout<<"B";
        break;

        case 5:
            cout<<"A";
        break;

        default:
            cout<<"Invalid";
        break;
    }

    getch();
}

Flow:
4. Algoritma:


     Algoritma_menentukan_bil_bulat/bil_real
{menentukan bilangan bulat atau real dari input yang di masukan}  
deklarasi
a    =float
b   = integer
bil  = char
deskripsi
b=a
read(a)
if(a=b) then bil <-- 'adalah bil bulat'
else bil<-- 'adalah bi real'
endif
write(bil)
 Dev:
#include <iostream>
#include <windows.h>
#include <string>



using namespace std;

int main()

{

  

   int B;

   float A;



   cout <<" masukan bilangan" << endl;

   cin >> A;

   B =A;

   if (A==B)

   {

      cout << "BilanganBulat" << endl;   }

   else

   {

      cout << "BilanganReal" << endl;   }

   system("PAUSE");

   return 0;

}

Flow:
5. Algoritma:


1.      Algoritma menentukan hari dalam satu bulan
{ input bulan dan tahun kemudian output jumlah hari dalam satu bulan
Deklarasi
   AngkaBulan : integer;           { 1 . . 12 }
   Tahun      : integer;          { > 0 }
   JumlahHari : integer;
Deskripsi
begin
     write('Bulan (1-12) = ');
     write('Tahun = ');
     case AngkaBulan of
          1, 3, 5, 7, 8, 10, 12   : JumlahHari:=31;
           4, 6, 9, 11            : JumlahHari:=30;
           2                      : if Tahun mod 4 = 0 then
                                        JumlahHari:=29
                                    else
                                        JumlahHari:=28;
                                   {endif}
    end;

Dev:
 #include <cstdlib>

#include <iostream>

#include <stdio.h>




using namespace std;

int main()

{

 int bulan, tahun, hari;

 int jum_hari[12]=

 {31,28,31,30,31,30,31,31,30,31,30,31};

 char b1[10],b2[10],b3[10],b4[10],b5[10],b6[10],b7[10],

 b8[10],b9[10],b10[10],b11[10],b12[10];

 cout<<"\t\t--------------------------------------------\n";

 cout<<"\t\t>>MENENTUKAN JUMLAH HARI DALAM SUATU BULAN<<\n";

 cout<<"\t\t--------------------------------------------\n";

 cout<<"\n";

 cout<<"\t\tKeterangan\n";

 cout<<"\t\t-------------------------------------------\n";

 cout<<"\t\tBulan 1: Januari   | Bulan 7 :Juli\n";

 cout<<"\t\tBulan 2: Februari  | Bulan 8 :Agustus\n";

 cout<<"\t\tBulan 3: Maret     | Bulan 9 :September\n";

 cout<<"\t\tBulan 4: April     | Bulan 10:Oktober\n";

 cout<<"\t\tBulan 5: Mei       | Bulan 11:November\n";

 cout<<"\t\tBulan 6: Juni      | Bulan 12:Desember\n";

 cout<<"\t\t-------------------------------------------\n";

 cout<<"\t\tMasukkan Bulan (1--12) :";

 cin>>bulan;

 cout<<"\t\tMasukkan Tahun         :";

 cin>>tahun;



 if(bulan==2)

  {if(tahun &4==0)

   hari=29;

  else

   hari=28;

}

 else

  hari=jum_hari[bulan-1];

 cout<<"\t\t-------------------------------------------\n";

 cout<<"\t\tJumlah hari dalam bulan   :";

 cout<<bulan<<endl;

 cout<<"\t\tPada tahun                :";

 cout<<tahun<<endl;

 cout<<"\t\tDalam Satu Bulan Terdapat :",

 cout<<hari;

 cout<<"hari\n";

 cout<<endl;

 system("pause");

 return 0;

}

Flow:
6. Algoritma:


1.      Algoritma mengecek karakter yang dimasukkan termasuk huruf kapital, huruf kecil atau digit
{input karakter kemudian di cek apakah huruf besar, kecil atau digit}
Deklarasi
            karakter : string {input, output}
Deskripsi
            Read(karakter)
            if(karakter>=’A’ && karakter<=’Z’) ß Huruf kapital
            else if(karakter>=’a’ && karakter<=’z’) ß huruf kecil
            else(karakter>=’0’ && karakter<=’9’) ß digit
            endif
write(karakter )


Dev:
#include <iostream>
 #include <conio.h>
 using namespace std;
 class Karakter
 {
 private:
     char karakter;
 public:
  void Proses ();
  void Output ();
 };

 void Karakter::Proses()
 {
 cout<<"Masukkan Karakter = ";cin>>karakter;
 };

 void Karakter::Output(){
 if (karakter >='A' && karakter <='Z')
 cout<<"Huruf Besar"<<endl;
 else if (karakter >= 'a' && karakter <='z')
 cout<<"Huruf Kecil"<<endl;
 else if (karakter >= '0' && karakter <= '9')
 cout<<"Digit (Bilangan)"<<endl;
 else
 cout<<"Simbol"<<endl;
 };
 main ()
 {
 Karakter bilhur;
 bilhur.Proses();
 bilhur.Output();
 getch ();
 return 0;
 }
Flow:
7. Algoritma:


1.      Algoritma konversi nilai
{dibaca nilai angka kemudian di konversi ke nilai huruf}
Deklarasi :
nilai   : integer
nilai_huruf : char
Deskripsi
read(nilai)
if (nilai>0) and (nilai <=60) then nilai_huruf <- E
else if (nilai > 61) and (nilai<=70)then nilai_huruf <-  D
else if (nilai > 71) and (nilai<=80)then nilai_huruf <-  C
else if (nilai > 81) and (nilai<=90)then nilai_huruf <-  B
else nilai_huruf <- A
end if
write(nilai_huruf)


Dev:
#include <iostream>
#include <conio.h>
using namespace std;
class Nilai {
    friend ostream& operator<<(ostream&, Nilai&);
    friend istream& operator>>(istream&, Nilai&);
    public:
        Nilai() {};
        void konversikan() {
        if ((nilai > 0) && (nilai <= 60))
        nilai_huruf = 'F';
        else if ((nilai > 60) && (nilai <= 70))
        nilai_huruf = 'D';
        else if ((nilai > 70) && (nilai <= 80))
        nilai_huruf = 'C';
        else if ((nilai > 80) && (nilai <= 90))
        nilai_huruf = 'B';
        else nilai_huruf = 'A';
    }
    private:
        int nilai;
        char nilai_huruf;
};
istream& operator>>(istream& in, Nilai& masukan) {
    cout << "Masukkan nilai angka = ";
    in >> masukan.nilai;
return in;
};
ostream& operator<<(ostream& out, Nilai& keluaran) {
    out << "Nilai angka : " << keluaran.nilai << endl;
    out << "Nilai huruf : " << keluaran.nilai_huruf;
return out;
}
int main() {
    Nilai angka;
    cin >> angka;
    angka.konversikan();
    cout << angka;
}
Flow:
8. Algoritma:


1.      Algoritma membaca nilai bilangan dengan Pangkat
{Diberikan masukan x dan y, dihitung nilai dari x pangkat y}
Deklarasi
x, y, i : integer { input }
pangkat : integer { output }
Deskripsi
read (x,y)
pangkat ß 1
for i ß 1 to y do
pangkat ß pangkat * x
enfor
write (pangkat)


Dev:
#include <iostream>

using namespace std;




void first (int n) {

      switch (n) {

      case 1: cout << "satu "; break;

      case 2: cout << "dua "; break;

      case 3: cout << "tiga "; break;

      case 4: cout << "empat "; break;

      case 5: cout << "lima "; break;

      case 6: cout << "enam "; break;

      case 7: cout << "tujuh "; break;

      case 8: cout << "delapan "; break;

      case 9: cout << "sembilan "; break;

      case 10: cout << "sepuluh "; break;

      case 11: cout << "sebelas "; break;

      default: break;

      }

}




void second (int n) {

      int bul, sisa;

      bul = n / 10;

      sisa = n % 10;




      if (bul == 0)

            first (sisa);




      else if (bul == 1) {

            if (sisa <= 1)

                  first (n);




            else {

                  first (sisa);

                  cout << "belas ";

            }

      }




      else {

            first (bul);

            cout << "puluh ";

            first (sisa);

      }

}




void third (int n) {

      int bul, sisa;

      bul = n / 100;

      sisa = n % 100;




      if (bul == 0)

            second (sisa);




      else if (bul == 1) {

            if (sisa == 0)

                  cout << "seratus ";




            else {

                  cout << "seratus ";

                  second (sisa);

            }

      }




      else {

            first (bul);

            cout << "ratus ";

            second (sisa);

      }

}




void fourth (int n) {

      int bul, sisa;

      bul = n / 1000;

      sisa = n % 1000;




      if (bul == 0)

            third (sisa);




      else if (bul == 1) {

            if (sisa == 0)

                  cout << "seribu ";




            else {

                  cout << "seribu ";

                  third (sisa);

            }

      }




      else {

            third (bul);

            cout << "ribu ";

            third (sisa);

      }

}




void fifth (int n) {

      int bul, sisa;

      bul = n / 1000000;

      sisa = n % 1000000;




      if (bul == 0)

            fourth (sisa);




      else if (bul == 1) {

            if (sisa == 0)

                  cout << "satu juta ";




            else {

                  cout << "satu juta ";

                  fourth (sisa);

            }

      }




      else {

            third (bul);

            cout << "juta ";

            fourth (sisa);

      }

}




int main () {

      int n = 1;

      while (n == 1) {

            int num1;

     

            do {

                  cout << "";

                  cin >> num1;

            } while (num1 < 1);




            fifth (num1);

            cout << "\n";

      }

}
Flow:





9. Algoritma:


1.      Algoritma menghitung Gaji Pegawai
Deklarasi
NIK, Nama : String
Jhk, tunj.jabatan, tunj.makan, tunj.transport, gaji_kotor, pajak, gaji_bersih : Real
Deskripsi
READ (NIK, Nama, gaji_pokok, tunj.jabatan, Jhk)
tunj.makan = 10000 * Jhk
tunj.transport = 5000 * Jhk
gaji_kotor = (gaji_pokok + tunj.jabatan + tunj.makan + tunj.transport)
pajak = 0.1 * gaji_kotor
gaji_bersih = (gaji_kotor – pajak)

write (tunj.makan, tunj.transport, gaji_kotor, pajak, gaji_bersih)
end

Dev:
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <iomanip>
#include <windows.h>
/**-----------------------------------------------------------------------------
*gatewan.com
*Wawan Beneran
*Penggajian
------------------------------------------------------------------------------*/
using namespace std;
int main(){
char nama[99],pddkn[10],sn,yes;
int tsn,gol,lk,th,hr;
long thr,jml;
float tpddkn,tlk,tt,tgol;
int const gj_pkk=950000;

atas:
cout<<" Program Hitung Gaji Karyawan"<<endl<<endl;
cout<<" PT. ABCD"<<endl;
cout<<"----------------------------------"<<endl<<endl;
cout<<"Nama Karyawan : "<<setw(5);gets(nama);
cout<<"Status Nikah (Y/T) : "<<setw(5);cin>>sn;
cout<<"Golongan (1/2/3) : "<<setw(5);cin>>gol;
cout<<"Pendidikan (D3/S1/S2/S3) : "<<setw(5);cin>>pddkn;
cout<<"Lama Kerja : "<<setw(5);cin>>lk;
cout<<"Jumlah Hari Masuk kerja : "<<setw(5);cin>>hr;
//--------------------------------klrga--------------------------------------
if(sn=='y'|| sn=='Y'){
tsn=150000;
}
else if(sn=='t'|| sn=='T'){
tsn=0;
}
else{
system("cls");
cout<<" Maaf Kode Status Nikah Anda Salah!!!"<<endl<<endl;
goto bawah;
}
//--------------------------------jabatan------------------------------------
if(gol==1){
tgol=0.05*gj_pkk;
tt=10000*hr;
}
else if(gol==2){
tgol=0.1*gj_pkk;
tt=20000*hr;
}
else if(gol==3){
tgol=0.15*gj_pkk;
tt=25000*hr;
}
else{
system("clrscr");
cout<<" Maaf Kode Jabatan Anda Salah!!!"<<endl<<endl;
goto bawah;
}
//--------------------------------pddkn----------------------------------------
if(strcmp(pddkn,"d3")==0||strcmp(pddkn,"D3")==0){
tpddkn=0.05*gj_pkk;
}
else if(strcmp(pddkn,"s1")==0||strcmp(pddkn,"S1")==0){
tpddkn=0.075*gj_pkk;
}
else if(strcmp(pddkn,"s2")==0||strcmp(pddkn,"S2")==0){
tpddkn=0.1*gj_pkk;
}
else if(strcmp(pddkn,"s3")==0||strcmp(pddkn,"S3")==0){
tpddkn=0.125*gj_pkk;
}
else{
system("clrscr");
cout<<" Maaf Kode Pendidikan Anda Salah!!!"<<endl<<endl;
goto bawah;
}
//----------------------------------bonus------------------------------------
if(lk==0){
tlk=0;
}
else if(lk==1){
tlk=0.025*gj_pkk;
}
else if(lk==2){
tlk=0.05*gj_pkk;
}
else if(lk==3){
tlk=0.075*gj_pkk;
}
else if(lk>=4){
tlk=0.1*gj_pkk;
}
else {
system("clrscr");
cout<<" Maaf Kode Lama Kerja Anda Salah!!!"<<endl<<endl;
goto bawah;
}
//-------------------------------jmlhr----------------------------------------
if(hr>20){
thr = hr / 20 * gj_pkk + gj_pkk;
}
else if(hr<=20){
thr= gj_pkk;
}
else {
system("clr");
cout<<" Maaf Kode Lama Kerja Anda Salah!!!"<<endl<<endl;
goto bawah;
}
jml= thr+tgol+tpddkn+tt+tsn+tlk;
//------------------------------------------------------------------------------
cout<<endl<<endl;
cout<<"Karyawan yang bernama : "<<setw(5)<<nama<<endl<<endl;
cout<<"Gaji Yang Diterima"<<endl<<endl;
cout<<"Gaji Pokok + Lembur :Rp."<<setw(5)<<thr<<endl;
cout<<"Tunjangan Jabatan :Rp."<<setw(5)<<tgol<<endl;
cout<<"Tunjangan Pendidikan :Rp."<<setw(5)<<tpddkn<<endl;
cout<<"Tunjangan Transportasi :Rp."<<setw(5)<<tt<<endl;
cout<<"Tunjangan Keluarga :Rp."<<setw(5)<<tsn<<endl;
cout<<"Bonus :Rp."<<setw(5)<<tlk<<endl;
cout<<"-------------------------------------------- +"<<endl<<endl;
cout<<"Gaji Yang Diterima :Rp."<<setw(5)<<jml<<endl<<endl;
bawah:
cout<<"Entry Data lagi (Y/T) ?";cin>>yes;
if(yes=='Y'||yes=='y'){
system("clrscr");
goto atas;
}
else if(yes=='N'||yes=='n'){
system("clrscr");
cout<<"\n THANK YOU";
}
else{
system("clrscr");
cout<<"\n THANK YOU";
}
getch();
}
Flow:
 9b. Dev:
#include <iostream>
 #include <conio.h>
 #include <stdio.h>
 #include <string.h>
 #include <windows.h>
 using namespace std;
 main()
 {
 //input

 char nama_kar [20], pendidikan[5];
 float tunjangan, total;
 double gaji, jam_kerja, tot_kerja, uang_lembur, jam_lembur, kode;
 system("clrscr");
 cout<<"Program untuk menghitung gaji karyawan kontrak"<<endl;
 cout<<"PT. Master SSD"<<endl;
 cout<<"======================================="<<endl<<endl;
 cout<<"Masukan nama karyawan: ";
 gets(nama_kar);
 cout<<"Masukan kode pendidikan karyawan [1/2/3]: ";
 cin>>kode;
 cout<<"Masukan jumlah jam kerja: ";
 cin>>tot_kerja;

 //proses

 if (kode==1)
 {strcpy (pendidikan,"SMU adalah sebesar: Rp. ");
 tunjangan=800000*2.5/100;}
 else if (kode==2)
 {strcpy(pendidikan,"D3 adalah sebesar: Rp. ");
 tunjangan=800000*5/100;}
 else
 {strcpy(pendidikan,"S1 adalah sebesar: Rp. ");
 tunjangan=800000*7.5/100;}
 gaji=800000;

 //Total jam kerja per bulan adalah 192 jam.
 /*Minimal memasukan jam kerja 192 jam, karena dibawah itu
 akan menyebabkan nilai lembur menjadi minus
 dan akan mempengaruhi nilai total honor yang diterima.*/

 jam_kerja=8*6*4;
 jam_lembur=tot_kerja-jam_kerja;
 uang_lembur=jam_lembur*2500;
 total=uang_lembur+gaji+tunjangan;

 //output

 cout<<""<<endl<<endl;
 cout<<"Karyawan yang bernama: "<<nama_kar<<endl;
 cout<<"Honor yang diterima sebagai berikut:"<<endl<<endl;
 cout<<"Honor tetap Rp. "<<gaji<<endl;
 cout<<"Tunjangan pendidikan "<<pendidikan<<tunjangan<<endl;
 cout<<"Jumlah lembur: "<<jam_lembur;
 cout<<" jam x 2500 adalah sebesar Rp. "<<uang_lembur<<endl<<endl;
 cout<<"Total honor yang diterima Rp."<<total<<endl;
 getch();
 }
Flow:




Tidak ada komentar:

Posting Komentar

Translate

Popular Posts

Postingan Populer

Recent Posts