Senin, 13 Maret 2017

Tugas Workshop Algoritma Dan Pemrograman BAB III

Tugas Workshop Bab III
Dalam workshop bab iii ini kita akan mecoba berlatih tentang sekuen. Membuat analisis, membuat algoritma, pendeklarasian, dan deksripsi.

1. Buatlah analisis dan algoritma untuk mencari titik tengah sebuah garis yang ujung titiknya adalah A(x1,y1) dan B(x2,y2).

Kasus 1.

Analisis : Mencari titik tengah pada sebuah garis yang ujung titiknya adalah A (X1,Y1) dan B (X2,Y2).
Input : Menginputkan garis x1,y1 dan x2,y2.
Rumus jarak 2 titik :  A=((X1+Y1)/2)
                               B=((X2+Y2)/2)

Algoritma     : Mencari titik tengah {Mencari dua titik tengah pada garis dimana kita menginputka x1,y1 dan x2,y2}.
Deklarasi      : a,b (Rumus)
                      x1,y1,x2,y2 (Inputan)
Deskripsi      : (a,b,x1,y1,x2,y2)
                      Titik Tengah
                      A=((X1+Y1)/2)
                      B=((X2+Y2)/2)
                      (x1,y1) dan (x2,y2)

Flowchart 1


Translasi 1

#include <iostream>
#include <string>

using namespace std;
class titeng{
private:
string raptor_prompt_variable_zzyz;
   int x1,y1,a,b,x2,y2;
public:
titeng(){
   cout << "Mencari Titik Tengah Pada Sebuah Garis" << endl;   
   cout << "Jika Diketahui Titiknya A(x1,y1) dan B(x2,y2)" << endl;   
   raptor_prompt_variable_zzyz ="Masukan x1";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> x1;
   raptor_prompt_variable_zzyz ="Masukan y1";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> y1;
   raptor_prompt_variable_zzyz ="Masukan x2";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> x2;
   raptor_prompt_variable_zzyz ="Masukan y2";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> y2;
   a =(x1+x2)/2;
   b =(y1+y2)/2;
}
void output();
};
void titeng::output(){
 cout << "Titik Sebuah Garis "<<x1<<","<<y1<<" dan "<<x2<<","<<y2<<" Adalah "<<a<<","<<b << endl;
}
int main()
{
   titeng x;
   x.output();
   return 0;

}

Hasil kasus 1


2. Buatlah algoritma untuk mencari isi bola bila diketahui jari-jari bola.

Kasus 2.
Analisis : Untuk mencari isi bola, yang sudah kita inputkan jari-jarinya maka kita harus tau rumus mencari isi bola atau volume. Kemudian membuat ketetapan phi yaitu 3.14.
Input : Menginputkan jari-jari sebagi r.
Rumus isi bola : 4/3*phi*r*r

Algoritma     : Mencari volume bola {mencari volume bola, algoritma menerima masukan berupa jari-jari, menetapkan phi dan memasukan rumus}.
Deklarasi      : phi 3.14 (ketetapan)
                      r jari-jari (input)
                      v volume (output)
Deskripsi      : (phi,r,v)
                        v         (4*phi*r*r)/3
                      volume

Flowchart 2

Translasi 2

#include <iostream>
#include <string>

using namespace std;
class volum{
private:
   string raptor_prompt_variable_zzyz;
   float r;
   float phi=3.14;
   float v;
public:
volum(){

   raptor_prompt_variable_zzyz ="Masukan Jari-Jari Bola";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> r;
   v =(4*phi*r*r)/3;
   
}
void output();
};
void volum::output(){
cout << "Volume Bola Adalah "<<v << endl;
}
int main()
{
volum x;
x.output();

   return 0;
}

Hasil kasus 2


3. Buatlah analisis dan algoritma untuk mencari hipotenusa dari segitiga Pythagoras bila diketahui sisi siku-sikunya.

Kasus 3
Analisis : Untuk mencari hipotenusa dari segitiga phytagoras jika di ketahui siku-sikunya, kita akan menginputkan alas dan tinggi segitiga kita harus tau rumus tersebut.
Input : Menginputkan alas dan tinggi pada segitiga.
Rumus hipotunesa : sqrt ((x*x)+(y*y))

Algoritma     : Mencari hipotenusa {menginputkan alas dan tinggi segitiga kemudian kita masukan rumus phytagoras}.
Deklarasi      :     sqrt (akar)
                          x alas segitiga (input)
                          y tinggi segitiga (input)
                          r (Rumus)
Deskripsi      :   (sqrt)
                        x
                        y
                        (r) hipotenusa phytagoras 

Flowchart 3


Translasi 3

#include <iostream>
#include <string>
#include <math.h>

using namespace std;
class phgs{
private:

   string raptor_prompt_variable_zzyz;
   float r;
   int x,y;
public:
phgs(){
   raptor_prompt_variable_zzyz ="Mencari Hipotenusa Phytagoras";
   cout << raptor_prompt_variable_zzyz << endl<<endl;
   raptor_prompt_variable_zzyz ="Masukan Alas Segitiga";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> x;
   raptor_prompt_variable_zzyz ="Masukan Tinggi Segitiga";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> y;
   r =sqrt((x*x)+(y*y));
}
void output();
};
void phgs::output(){
cout << "Hipotenusa Phytagoras "<<r << endl;
}
int main()
{
phgs a;
a.output();

   return 0;
}

Hasil kasus 3


4. Buatlah analisis dan algoritma untuk menghitung konversi detik menjadi format jam : menit : detik.

Kasus 4
Analisis : Untuk mengkonversikan waktu, kita akan menginputkan waktu dalam bentuk detik yang diinginkan dan kemudian akan membentuk format menjadi jam.... menit.... detik.
Input : Menginputkan waktu dalam bentuk detik.
Rumus Konversi waktu :   Jam      : detik/3600
                                     Sisa      : detik%3600
                                     Menit   : detik/60
                                     Sisa      : detik%60

Algoritma     : Konversi waktu {Konversi dari sebuah waktu detik di ubah menjadi jam... menit.... detik....}.
Deklarasi      : d (inputan detik)
                      j jam
                      m menit
                      s hanya sebagai pembantu pendeklarasian, saya sebutkan sebagi Sisa
Deskripsi      : (d,j,m,s)
                      Konversi waktu
                      Jam      : detik/3600
                      Sisa      : detik%3600
                      Menit    : detik/60
                      Sisa      : detik%60

Flowchart 4


Translasi 4

#include <iostream>
#include <string>

using namespace std;
class waktu{
private:
   string raptor_prompt_variable_zzyz;
   int m;
   int s;
   int d;
   int j;
public:
waktu(){
   cout << "Program Konversi Waktu" << endl;   raptor_prompt_variable_zzyz ="Masukan Waktu Dalam Bentuk Detik";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> d;
   j=d/3600;
   s=d%3600;
   m=d/60;
   s=d%60;
}
void output();
};
void waktu::output(){
   cout << "Hasil Konversi Waktu :  "<<j<<" Jam : "<<m<<" Menit : "<<s<<" Detik" << endl;
}
int main()
{
waktu y;
y.output();
   return 0;
}

Hasil kasus 4


5. Buatlah analisis dan algoritma untuk menghitung konversi dari jam:menit:detik ke detik buat contoh kasus, misalnya konversikan 2 jam 13 menit 43 detik menjadi … detik.

Kasus 5
Analisis : Untuk mengkonversikan waktu, kita akan menginputkan data berupa jam, menit, detik  yang diinginkan dan kemudian akan di konversikan menjadi detik.
Input : Menginputkan waktu dalam bentuk jam, menit, detik.
Rumus Konversi waktu :   Jam      : Jam1*3600
                                     Menit   : 60*Menit1
                                     Waktu  : Jam+Menit+Detik

Algoritma     : Konversi waktu {Konversi dari sebuah waktu jam, menit, detik di ubah dalam bentuk detik}.
Deklarasi      : j1(inputan  jam)
                      m1 menit (inputan menit)
                      d (inputan detik)
                      j jam (tipe data rumus)
                      m menit (tipe data rumus)
                      w (tipe data menjumlah waktu)

Deskripsi      : (j1,m1,d,j,m,w)
                       Konversi waktu
                       Jam      : Jam1*3600
                       Menit   : 60*Menit1
                       Waktu  : Jam+Menit+Detik

Flowchart 5


Translasi 5

#include <iostream>
#include <string>

using namespace std;
class waktu{
private:
   string raptor_prompt_variable_zzyz;
   int m,d,w,j1,j,m1;
public:
waktu(){
   raptor_prompt_variable_zzyz ="Masukan Jam";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> j1;
   raptor_prompt_variable_zzyz ="Masukan Menit";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> m1;
   raptor_prompt_variable_zzyz ="Masukan Detik";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> d;
   j =j1*3600;
   m =60*m1;
   w =j+m+d;
}
void output();
};
void waktu::output(){
 cout << "Konversi Ke Detik : "<<w<<" Detik" << endl;
}
int main()
{
waktu a;
a.output();
  
   return 0;

}

Hasil kasus 5


6. Buatlah analisis dan algoritma untuk menghitung selisih 2 waktu. Output ditampilkan dalam bentuk jam : menit : detik. Asumsikan menggunakan sistem jam 24-an.

Kasus 6
Analisis : Untuk mengkonversikan waktu, kita akan menginputkan data berupa waktu yaitu jam, menit, detik sebanyak 2x, karena 2x kita akan menghitung selisih 2 waktu yang kita inputkan dan kemudian mengkonversikan dari sebuah waktu jam, menit, detik di ubah dalam bentuk detik setiap masing-masing waktu sebelum kita mengetahui selisih akhir sesuai dengan ouput}.
Input : Menginputkan waktu dalam bentuk jam, menit, detik sebanyak 2x karena akan mencari selisih.
Rumus mencari selisih waktu :    d3 =(j1*3600)+(m1*60)+d1
                                               d4=(j2*3600)+(m2*60)+d2
                                               d5=d3-d4
                                               w=d5/3600
                                               x=d5%3600
                                               y=x/60
                                               z=x%60

Algoritma     : Konversi waktu {Menginputkan 2 waktu untuk mencari selisih kemudian mengkonversi dari sebuah waktu jam, menit, detik di ubah dalam bentuk detik setiap masing-masing waktu sebelum kita mengetahui selisih akhir sesuai dengan ouput}.
Deklarasi      :   j1,m1,d1 dan j2,m2,d2 (inputan  jam)
                        d3 (Rumus waktu 1 dalam bentuk detik)
                        d4 (Rumus waktu 2 dalam bentuk detik)
                        d5 (Rumus selisih)
                        w,x,y,z (Rumus Konversi waktu)
Deskripsi      : (j1,m1,d1,j2,m2,d2,d3,d4,d5,w,x,y,z) Sebagai variabel
                       Selisih Waktu
                       d3 =(j1*3600)+(m1*60)+d1
                       d4=(j2*3600)+(m2*60)+d2
                       d5=d3-d4
                       w=d5/3600
                       x=d5%3600;
                       y=x/60;
                       z=x%60;

Flowchart 6



Translasi 6

#include <iostream>
#include <string>

using namespace std;
class jam{
private:
 string raptor_prompt_variable_zzyz;
   int y,j2,d1,m2,x,d4,z,d5,d2,w,j1,m1,d3;
public:
jam(){
   cout << "\nProgram Mencari Selisih waktu" << endl;   cout << "Masukan Waktu 1" << endl;   raptor_prompt_variable_zzyz ="Jam";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> j1;
   raptor_prompt_variable_zzyz ="Menit";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> m1;
   raptor_prompt_variable_zzyz ="Detik";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> d1;
   d3 =(j1*3600)+(m1*60)+d1;
   cout << "\nKonversi waktu 1 ke detik "<<d3 << endl;   
   cout << "Masukan waktu ke dua" << endl;   raptor_prompt_variable_zzyz ="Jam";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> j2;
   raptor_prompt_variable_zzyz ="Menit";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> m2;
   raptor_prompt_variable_zzyz ="Detik";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> d2;
   d4=(j2*3600)+(m2*60)+d2;
   cout << "\nKonversi waktu 2 ke detik "<<d4 << endl;   
   d5=d3-d4;
   cout << "\nKonversi Selisih waktu" << endl;   
   w=d5/3600;
   x=d5%3600;
   y=x/60;
   z=x%60;
}
void output();
};
void jam::output(){
 cout << w<<" Jam "<<y<<" Menit "<<z<<" Detik" << endl;
}
int main()
{
  jam x;
  x.output();

   return 0;

}

Hasil kasus  6




7. Buatlah analisis dan algoritma untuk menghitung jumlah komponen sejumlah uang menjadi pecahan-pecahannya.

Kasus 7
Analisis : Menghitung jumlah komponen sejumlah uang menjadi pecahan-pecahannya. Kita akan menginputkan jumlah uang dalam bentuk angka kemudian uang yang kita masukan akan terpecah sesuai dengan kategori masing-masing dan mengetahui jumlah lembar dari masing-masing uang.

Input : Memasukan jumlah uang sesuai keinginan.

Rumus Tukar Nilai :   jika uang dalam Ratusan ribu maka uang yang diinputkan dibagi seratus  ribu uang/10000tus ribu, kemudian sisa akan di mod seratus ribu, jika  uang dalam bentuk puluh ribuan maka akan langsung di bagi dan di mod  dengan uang itu sendiri.                                           

Algoritma     : Menghitung jumlah komponen sejumlah uang menjadi pecahan-pecahannya {User diminta untuk memasukan jumlah uang kemudian akan di pecah-pecah sesuai dengan jenisnya dan berpa banyak jumlah lembaran}

Deklarasi      :   u5ratus,u50rb,u100rb,u1rb,u20rb,u10rb,u2rb,u5rb (untuk rumus)
                        sisa (untuk sisa)
                        Ug (inputan jumlah uang)
Deskripsi      :   u5ratus,u50rb,u100rb,u1rb,u20rb,u10rb,u2rb,u5rb (Variabel Rumus)
                        sisa (rumus untuk sisa)
                        ug (inputan jumlah uang)

Flowchart 7

        
Translasi 7

#include <iostream>
#include <string>

using namespace std;
class uang{
private:
string raptor_prompt_variable_zzyz;
   int u5ratus,u50rb,u100rb,u1rb,u20rb,u10rb,u2rb,sisa,u5rb,ug;
public:
uang(){
   raptor_prompt_variable_zzyz ="Masukan Uang";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> ug;
   u100rb =ug/100000;
   sisa =ug%100000;
   u50rb =sisa/50000;
   sisa =sisa%50000;
   u20rb =sisa/20000;
   sisa =sisa%20000;
   u10rb =sisa/10000;
   sisa =sisa%10000;
   u5rb =sisa/5000;
   sisa =sisa%5000;
   u2rb =sisa/2000;
   sisa =sisa%2000;
   u1rb =sisa/1000;
   sisa =sisa%1000;
   u5ratus =sisa/500;
}
void output();
};
void uang::output(){
   cout<<"Uang Anda Rp "<<ug << endl;   
   cout<<"Terdiri Dari" << endl;   
   cout<<"Lembar Rp.100.000: "<<u100rb<<endl;
   cout<<"Lembar Rp. 50.000: "<<u50rb<<endl;
   cout<<"Lembar Rp.20.000: "<<u20rb<<endl;
   cout<<"Lembar Rp.10,000: "<<u10rb<<endl;
   cout<<"Lembar Rp.5000: "<<u5rb<<endl;
   cout<<"Lembar Rp.2000: "<<u2rb<<endl;
   cout<<"Lembar Rp.1000: "<<u1rb<<endl;
   cout<<"Lembar Rp.500: "<<u5ratus<<endl;
}
int main()
{
   uang x;
   x.output();
   return 0;
}

Hasil Kasus 7

8. Buatlah analisis dan algoritma untuk menghitung luassebuah plat CD.Diameter lingkaran luar = …. cm.Diameter lingkaran dalam= …. cm.

Kasus 8
Analisis : Mencari luas plat cd, user diminta untuk mengetahui diameter lingkaran cd luar dan dalam dan kemudian mengitung manual untuk mengetahui jari-jarinya. Disini saya langsung meminta untuk langsung memasukan jari-jarinya dengan asumsi diameter sudah dihitung manual dengan cara diameter x 2.
Input : Menghitung luas sebuah plat cd.
Rumus Tukar Nilai :   Membuat ketetapan phi=3.14
                             cd luar = phi*r*r
                             cd dalam = phi*r*r
                             luas akhir = luas cd luar-cd dalam
                                              
Algoritma     : Mencari Luas pada sebuah plat cd{User Menginputkan 2 jari-jari luar dan dalam kemudian menghitung luas masing-masing dan kemudian mengurangkan antara luas cd luar dengan dalam untuk mengetahui luas akhirnya}.
Deklarasi      :   (luar,dlm) sebagai inputan jari-jari
                        dluar adalah rumus luas plat cd luar
                        ddlm adalah rumus luas plat cd dalam
                        luascd adalah rumus akhir pada luas plat cd
Deskripsi      :   (luar,dlm,dluar,ddlm,luascd) variabel
                        luar inputan jari-jari lingkaran luar
                        dlm inputan jari-jari dalam
                        lainnya sebagai variabel rumus

Flowchart 8


Translasi 8

#include <iostream>
#include <string>
#include <math.h>

using namespace std;
class diamet{
private:
string raptor_prompt_variable_zzyz;
   int luar,dlm;
   float dluar,luascd,ddlm,phi;
  
 public:
 diamet(){
   phi =3.14;
   raptor_prompt_variable_zzyz ="Masukan Jari-jari luar cd";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> luar;
   raptor_prompt_variable_zzyz ="Masukan Jari-jari dalam cd";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >>dlm;
   dluar =phi*luar*luar;
   ddlm =phi*dlm*dlm;
   luascd =dluar-ddlm;
}
void output();
};
void diamet::output(){
   cout << "Luas Plat Cd "<<luascd<<" cm" << endl;
}
int main()
{
   diamet x;
   x.output();
   return 0;
}

Hasil Kasus 8

9. Buatlah analisis dan algoritma untuk menghitung operasi bilangan rasional : penjumlahan, pengurangan, perkalian, pembagian dan kebalikan.

Kasus 9
Analisis : Operasi Bilangan Rasional, user diminta untuk memasukan 2 buah bilangan rasional dengan membedakan anatar pembilang dan penyebut, setelah memasukan 2 bilangan tersebut kita akan mencari jumlah, kurang, kali dan bagi dari 2 buah bilangan rasional yang kita inputkan, namun sebelum kita mencari hitung operasi kita akan mengubah bilangan rasional dalam bentuk desimal.
Input : Menginputkan 2 buah bilangan rasional.
Rumus Tukar Nilai :   Membagi angka pembilang dengan penyebut untuk menjadi bilangan desimal dari kedua bilangan rasional a/al dan b/bl
                             Jumlah= rasional 1 + rasioanal 2 (bil.dalam bentuk desimal)
                             Kurang= rasional 1 - rasioanal 2 (bil.dalam bentuk desimal)
                             Kali= rasional 1 * rasioanal 2 (bil.dalam bentuk desimal)
                             Bagi= rasional 1 / rasioanal 2 (bil.dalam bentuk desimal)
                                              
Algoritma     : Operasi Bilangan Rasional {User Menginputkan 2 buah bilangan rasional dan mengubah menjadi pecahan sebelum melalukan proses operasional jumlah,kurang,kali dan bagi}
Deklarasi      :   (a/al) dan (b/bl) inputan pembilang dan peneyebut
                          bagi1 merubah bil.rasional pertama a/al
                          bagi2 merubah bil.rasional kedua b/bl
                          t jumlah bagi1+bagi2
                          ku  kurang bagi1-bagi2
                          ka  kali bagi1*bagi2
                          b bagi bagi1+bagi 2
Deskripsi      :   (a,al,bagi1,bagi2,t,ku,ka,b) variabel
                          bagi1 bentuk desimal hasil perhitungan
                          bagi2 bentuk desimal hasil perhitungan
                          Rumus:
                          t jumlah
                          ku  kurang
                          ka  kali
                          b bagi

Flowchart 9


Translasi 9

#include <iostream>
#include <string>

using namespace std;
class rasio{
private:
string raptor_prompt_variable_zzyz;
   float ku,t,bagi1,bagi2,ka,a1,b1,a,b;
public:
rasio(){
   raptor_prompt_variable_zzyz ="Masukan Angka Pembilang Kesatu";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> a;
   raptor_prompt_variable_zzyz ="Masukan Angka Penyebut Kesatu";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> a1;
   raptor_prompt_variable_zzyz ="Masukan Angka Pembilang Kedua";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> b;
   raptor_prompt_variable_zzyz ="Masukan Angka Pembilang Kedua";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> b1;
   bagi1 =a/a1;
   bagi2 =b/b1;
   cout << "Konversi Bil Rasio Ke Des 1: "<<bagi1<<" || Konversi Bil Rasio Ke Des 2: "<<bagi2 << endl;  
   t=bagi1+bagi2;
   ku=bagi1-bagi2;
   ka=bagi1*bagi2;
   b=bagi1/bagi2;
}
void output();
};
void rasio::output(){
   cout << "Penjumlahan "<<t<<" || Pengurangan "<<ku<<" || Perkalian "<<ka<<" || Pembagian "<<b << endl;
}
int main()
{
   rasio r;
   r.output();
   return 0;
}

Hasil Kasus 9


10. Buatlah analisis dan algoritma untuk mengkonversi bilangan biner 4 digit menjadi bilangan desimal. Operator overloading input mencegah user untuk memasukkan bilangan selain 0 dan 1.

Kasus 10
Analisis :  Mengkonversikan dari Biner ke desimal. User diminta untuk memasukan bilangan biner 4 digit dan akan di konversikan dalam bentuk desimal
Input : Menginputkan bilangan biner
Rumus Konversi : while (bin[i]!=0){
                         if (bin[i]=='0'||bin[i]=='1')
                         des=des*2+bin[i]-48
                         i++;                                                         
Algoritma     : Mengkonversikan bilangan dari biner ke dalam bentuk desimal, {user memasukan 4 digit bilangan biner dan akan diubah dalam bentuk desimal.}
Deklarasi      :   int bin (inputan)
                        des (Variabel untuk rumus)
Deskripsi      :   int des=0, i=0;
                        char bin[8];
                        des=des*2+bin[i]-48;

Flowchart 10



Translasi 10

#include <iostream>
#include <string>

using namespace std;
class biner{
private:
string raptor_prompt_variable_zzyz;
int des=0, i=0;
char bin[8];
public:
biner(){
raptor_prompt_variable_zzyz ="Masukan Bilangan Biner: ";
cout << raptor_prompt_variable_zzyz;
cin>>bin;

while (bin[i]!=0){
if (bin[i]=='0'||bin[i]=='1'){
des=des*2+bin[i]-48;
}i++;
}cout<<endl;
cout<<des;
}
void output();
};
void biner::output(){
cout<<" Hasil Konversi Ke Desimal";
}
int main()
{
biner y;
y.output();
return 0;
}

Hasil Kasus 10

11. Buatlah analisis dan algoritma untuk menjumlah dua bilangan scientific berbentuk aEb dengan 0<a<10 dan 0 <= b<= 4

Kasus 11
Analisis : Menjumlahakan dua buah Bilangan Scientific sesuai dengan ketentuan yang ada berbentuk aEb dengan 0 < a < 10 dan 0 <= b <= 4. User diminta untuk memasukan bilangan pertama dan kedua. Sesuai dengan ketentuan, kedua buah bilangan tersebut jika jumlah kedua bilangan <10 makan akan di proses jika jumlah >10 maka akan muncul bukan bilangan scientific.
input : Menginputkan 2 angka.
Rumus Tukar Nilai :   0 < a < 10 dan 0 <= b <= 4.
                              hasil a+b
                                              
Algoritma     : Menjumlahkan dua Bilangan Scientific {User Menginputkan 2 angka, jika kedua angka di jumlahkan melebihi 10 maka akan mucul bukan Bilangan scientific
Deklarasi      :   a bil pertama
                        b bil kedua
                        0 < a < 10 dan 0 <= b <= 4 (Rumus)
                        hasil a+b (penjumlahan)

Deskripsi      :   (a,b,hasil) variabel input dan jumlah
                        0 < a < 10 dan 0 <= b <= 4 (Rumus)

                        hasil a+b (penjumlahan)

Flowchart 11


Translasi 11

#include <iostream>
#include <string>

using namespace std;
class bil{
private:
   string raptor_prompt_variable_zzyz;
   int hasil,a,b;
public:
bil(){
   raptor_prompt_variable_zzyz ="Masukan Bilangan Scientific Pertama";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> a;
   raptor_prompt_variable_zzyz ="Masukan Bilangan Scientific Kedua";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> b;
}
void output();
};
void bil::output(){
   if (0<a && a<10 && 0<=b && b<=4)
   {
      hasil =a+b;
      cout <<"Bilangan Scientific " <<hasil << endl;   }
   else
   {
      cout << "Bukan Bilangan Scientific " << endl;   }
  }
int main()
{
  bil x;
  x.output();
   return 0;
}

Hasil kasus 11

12. Buatlah analisis dan algoritma untuk menghitung jumlah dari dari dua tanggal yang dimasukkan user.


Kasus 12
Analisis : Menghitung jumlah dari dua tanggal yang dimasukkan user. User diminta untuk memasukan tahun,bulan,tanggal secara dua kali yaitu date awal dan date akhir. Keduanya akan muncul berapa jumlah selisih dari awal tahun sampai tahun akhir, diasumsikan komponen awal kecil dari pada komponen akhir.
input : menginputka 2 tanggal yang terdiri dari tahun, bulan, tanggal.
Rumus Tukar Nilai :   tanggal akhir-tanggal awal<0 maka akan ditambah 30, selain itu langsung kan di kurangkan, begitu juga dengan bulan, bulan akhir-bulan<0 maka akan ditambah 12, selain itu langsung di kurang
                            Jika tahun akhir-tahun awal<0 maka akan di minus 1, selain itu akan langsung di minus tanpa mengurang lagi dengan 1.
                                              
Algoritma     : Menghitung jumlah dari dua tanggal {User Menginputkan User diminta untuk memasukan tahun,bulan,tanggal secara dua kali yaitu date awal dan date akhir dan kita akan mengetahui selsihnya}
Deklarasi      :   th,b,ta adalah tahun,bulan,tanggal awal
                        tn,bn,tg adalah tahun,bulan,tanggal akhir
                        jika tg-ta<0 maka 30+tg-ta, lainnya tg-ta (Tanggal)
                        jika bn-b<0 maka 12+bn-b, lainnya bn-b (Bulan)
                        jika tn-th<0 maka tn-th-1, lainnya tn-th (Bulan)
Deskripsi      :   (th,b,ta) variabel inputan awal tahun,bulan,tanggal
                        (tn,bn,tg) variabel inputan akhir tahun,bulan,tanggal
                        selisiht (variabel rumus tanggal)
                        selisihb (variabel rumus bulan)
                        selisihth (variabel rumus tahun)

Flowchart 12



Translasi 12


#include <iostream>
#include <string>

using namespace std;
class selisih{
private:
   string raptor_prompt_variable_zzyz;
   int tg,selisiht,th,b,ta,tn,bn,selisihb,selisihth,slh;
public:
selisih(){

   cout << "Date Awal" << endl;   raptor_prompt_variable_zzyz ="Masukan Tahun";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> th;
   raptor_prompt_variable_zzyz ="Masukan Bulan";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> b;
   raptor_prompt_variable_zzyz ="Masukan Tanggal";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> ta;
   cout << "Date Akhir" << endl;   raptor_prompt_variable_zzyz ="Masukan Tahun";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> tn;
   raptor_prompt_variable_zzyz ="Masukan Bulan";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> bn;
   raptor_prompt_variable_zzyz ="Masukan Tanggal";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> tg;
   if (tg-ta<0)
   {
      selisiht =30+tg-ta;
   }
   else
   {
      selisiht =tg-ta;
   }
   if (bn-b<0)
   {
      selisihb =12+bn-b;
      selisihth =tn-th-1;
   }
   else
   {
      selisihb =bn-b;
      selisihth =tn-th;
   }
   slh =selisihth*360+selisihb*30+selisiht;
}
void output();
};
void selisih::output(){
   cout << "Selisih Dalam Hari= "<<slh<<" Tahun "<<selisihth<<" Bulan "<<selisihb<<" Tanggal "<<selisiht << endl;
}
int main()
{
            selisih x;
            x.output();
 
   return 0;
}

Hasil kasus 12














0 komentar:

Posting Komentar

Popular Posts

Diberdayakan oleh Blogger.