Senin, 10 Desember 2018

TUGAS ALGORITMA UNTUK MASALAH BISNIS

~ Buatlah program lengkap dengan Pseudocode dan Flowchart untuk menampilkan daftar gaji gaji karyawan, dengan ketentuan sebagai berikut :


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JAWABAN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

~#~#~#~#~#~#~#~#~#~#~#~#~
PSEUDOCODE
~#~#~#~#~#~#~#~#~#~#~#~#~

~ Algoritma menampilkan daftar gaji karyawan :

                        Deklarasi :

nama, kode_status, jabatan, status, bulan : character
nip, kode_jab : integer
tunjangan, gapok, total_gaji : long

                         Deskripsi :

Input(jumlah karyawan, bulan, data karyawan)
For(jumlah karyawan)
Input(nip,nama,kode_jab,kode_status)
if kode_jab=1 then 
print(jabatan=Administrator, gapok=800000)
switch kode_status=S then
print(tunjangan=100000, status=Single)
swicth kode_status=M then
print(tunjangan=200000, status=Menikah)
else if kode_jab=2 then
print(jabatan=Operasional, gapok=850000)
switch kode_status=S then
print(tunjangan=100000, status=Single)
swicth kode_status=M then
print(tunjangan=200000, status=Menikah)
else (print"Kode yang anda masukkan salah")
end if
total_gaji = gapok+tunjangan
print(nip, nama, jabatan, status, gapok, tunjangan, total_gaji)
grandtotal = grand_total + total_gaji
print(grandtotal)

~#~#~#~#~#~#~#~#~#~#~#~#~
FLOWCHART
~#~#~#~#~#~#~#~#~#~#~#~#~



~#~#~#~#~#~#~#~#~#~#~#~#~
HIERARCHY CHART
~#~#~#~#~#~#~#~#~#~#~#~#~


~#~#~#~#~#~#~#~#~#~#~#~#~
CODINGAN 
INPUT DAN OUTPUT
C++
~#~#~#~#~#~#~#~#~#~#~#~#~

#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;

int main()
{
    struct
 {
  char nama[30],kode_status,jabatan[20],status[10],bulan[15];
  int nip, nakar, kode_jab;
  long tunjangan, gapok, total_gaji;
 }karyawan[10];

 long grandtotal=0;
 char bulan[15], lagi;
 int a, b;

 awal:
 cout<<endl;
 cout<<"Jumlah Karyawan    : ";cin>>b;
 cout<<"Bulan              : ";cin>>bulan;
 cout<<endl;
 cout<<"Input Data Karyawan"<<endl;
 cout<<"----------------------------------"<<endl;
 cout<<endl;

 for(a=1;a<=b;a++)
 {
  cout<<"Data karyawan ke-"<<a<<endl;
  cout<<"NIP Karyawan       : ";cin>>karyawan[a].nip;
  cout<<"Nama Karyawan      : ";cin>>karyawan[a].nama;
  cout<<"Kode Jabatan [1/2] : ";cin>>karyawan[a].kode_jab;
  atas:
  cout<<"Kode Status [S/M]  : ";cin>>karyawan[a].kode_status;
  cout<<endl;

  if (karyawan[a].kode_jab==1)
  {
        strcpy(karyawan[a].jabatan, "Administrasi");
        karyawan[a].gapok = 800000;

        switch(karyawan[a].kode_status)
   {
     case 'S':
     case 's':
         karyawan[a].tunjangan = 100000;
         strcpy(karyawan[a].status, "Single");
     break;

     case 'M':
     case 'm':
         karyawan[a].tunjangan = 200000;
         strcpy(karyawan[a].status, "Menikah");
    break;
    default:
         cout<<"Anda salah kode"<<endl;
    goto atas;
   }
  }
  else if (karyawan[a].kode_jab == 2)
  {
   strcpy(karyawan[a].jabatan, "Operasional");
   karyawan[a].gapok = 850000;

   switch(karyawan[a].kode_status)
     {
      case 'S':
      case 's':
          karyawan[a].tunjangan = 100000;
          strcpy(karyawan[a].status, "Single");
      break;

      case 'M':
      case 'm':
          karyawan[a].tunjangan = 200000;
          strcpy(karyawan[a].status, "Menikah");
      break;
      default:
          cout<<"Anda salah kode"<<endl;
      goto atas;
     }
   }

  else
    cout<<"Kode yang anda masukkan salah"<<endl;
    cout<<endl;
  karyawan[a].total_gaji = karyawan[a].gapok + karyawan[a].tunjangan;
 }

 puts("\t\t\t      Daftar Gaji Karyawan");
 puts("\t\t            ''PT YUVERTY SEJAHTERA''");
 cout<<endl;
 cout<<"Bulan = "<<bulan<<endl;
 cout<<"==============================================================================="<<endl;
 cout<<"No  NIP        Nama        Jabatan     Status    Gaji      Tunjangan   Total"<<endl;
 cout<<"    Karyawan   Karyawan                          Pokok                 Gaji"<<endl;
 cout<<"==============================================================================="<<endl;

 for(a=1;a<=b;a++)
 {
  cout<<setiosflags(ios::left)<<setw(4)<<a;
  cout<<setiosflags(ios::left)<<setw(11)<<karyawan[a].nip;
  cout<<setiosflags(ios::left)<<setw(11)<<karyawan[a].nakar;
  cout<<setiosflags(ios::left)<<setw(13)<<karyawan[a].jabatan;
  cout<<setiosflags(ios::left)<<setw(10)<<karyawan[a].status;
  cout<<setiosflags(ios::left)<<setw(12)<<karyawan[a].gapok;
  cout<<setiosflags(ios::left)<<setw(10)<<karyawan[a].tunjangan;
  cout<<setiosflags(ios::left)<<setw(11)<<karyawan[a].total_gaji;
  grandtotal = grandtotal + karyawan[a].total_gaji;
  cout<<endl;
 }
 cout<<"==============================================================================="<<endl;
 cout<<"\t\t\t\t\t\     Total Gaji Karyawan Rp. "<<grandtotal<<endl;
 cout<<endl;
 cout<<"\t\t\tIngin input lagi [Y/T]: ";cin>>lagi;
 if(lagi =='Y'||lagi == 'y')
 goto awal;
 else
 goto akhir;
 getch();
 akhir:

    return 0;
}

TUGAS ALGORITMA UNTUK MASALAH BISNIS ~ Buatlah program lengkap dengan Pseudocode dan Flowchart untuk menampilkan daftar gaji gaji kary...