Tugas Workshop Bab III
Dalam workshop bab iii ini kita akan mecoba berlatih tentang sekuen. Membuat analisis, membuat algoritma, pendeklarasian, dan deksripsi.
Analisis : Mencari titik tengah pada sebuah garis yang ujung titiknya adalah A (X1,Y1) dan B (X2,Y2).
#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
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)
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)
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)
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
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
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.
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.
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.
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