Konversi Bilangan Bulat Menjadi Bilangan Scientific
Assalamualaikum wr.wb
Hello Brokz
Oke kali ini saya akan membuat postingan tentang konversi
bilangan dari bilangan bulat menjadi bilangan scientific, contohnya saat
kita menginputkan angka 12,3 maka akan menjadi 1,23E1, semoga
bermanfaat bagi kita semua.
Analisis :
a = 12,3
scientific = 1,23E1
Algoritma scientific
Deklarasi :
a : real
b : integer
scientific : real
konversi : real
Deskripsi :
read (a)
scientific <-- if(a>=10000) then
write (b=4,scientific=a/10000)
else if(a>=1000) then
write (b=3,scientific=a/1000)
else if(a>=100) then
write (b=2,scientific=a/100)
else if(a>=10) then
write (b=1,scientific=a/10)
else (a>=1) then
write (b=0,scientific=a/1)
Seperti biasa sebelum kita membuat program, kita buat terlebih dahulu algoritma urutan penyelesaian masalahnya dengan menggunakan flowchart agar lebih mudah saat membuat program dengan bahasa C++ nantinya, oke langsung saja ke flowchartnya.
a = 12,3
scientific = 1,23E1
Algoritma scientific
Deklarasi :
a : real
b : integer
scientific : real
konversi : real
Deskripsi :
read (a)
scientific <-- if(a>=10000) then
write (b=4,scientific=a/10000)
else if(a>=1000) then
write (b=3,scientific=a/1000)
else if(a>=100) then
write (b=2,scientific=a/100)
else if(a>=10) then
write (b=1,scientific=a/10)
else (a>=1) then
write (b=0,scientific=a/1)
Seperti biasa sebelum kita membuat program, kita buat terlebih dahulu algoritma urutan penyelesaian masalahnya dengan menggunakan flowchart agar lebih mudah saat membuat program dengan bahasa C++ nantinya, oke langsung saja ke flowchartnya.
Berdasarkan flowchart diatas, bisa kita lihat, pertama kita masukkan
dulu bilangan bulat, lalu kita konversi ke bilangan scientificnya dengan
cara diatas bisa dilihat disana ada banyak kondisinya, oke langsung
saja kita ke programnya, disini saya membuat dengan operator overload
untuk input dan outputnya, dan overload hanya bisa digunakan dengan
menggunakan class, dan untuk proses percabangannya kita perlu membuat
function didalam class untuk prosesnya. Oke ini dia codingannya.
#include<iostream>
using namespace std;
class bilangan{
friend istream& operator >> (istream&, bilangan&);
friend ostream& operator << (ostream&, bilangan&);
private:
float scientific, a;
int b;
public:
void konversi(){
if(a>=10000){
b=4;
scientific =a/10000;
}else if(a>=1000){
b=3;
scientific =a/1000;
}else if(a>=100){
b=2;
scientific =a/100;
}else if(a>=10){
b=1;
scientific =a/10;
}else if(a>=1){
b=0;
scientific =a/1;
}else{
cout<<"Anda salah memasukkan bilangan bulat"<<endl;
}
}
};
istream& operator >>(istream& in, bilangan& data){
cout<<"Masukkan bilangan bulat 4 digit : ";
in>>data.a;
return in;
}
ostream& operator <<(ostream& out, bilangan& data){
out<<"Bilangan bulat : "<<data.a<<endl;
out<<"Scientificnya : "<<data.scientific<<"e"<<data.b<<endl;
return out;
}
int main(){
bilangan x;
cin>>x;
x.konversi();
cout<<x;
return 0;
}
#include<iostream>
using namespace std;
class bilangan{
friend istream& operator >> (istream&, bilangan&);
friend ostream& operator << (ostream&, bilangan&);
private:
float scientific, a;
int b;
public:
void konversi(){
if(a>=10000){
b=4;
scientific =a/10000;
}else if(a>=1000){
b=3;
scientific =a/1000;
}else if(a>=100){
b=2;
scientific =a/100;
}else if(a>=10){
b=1;
scientific =a/10;
}else if(a>=1){
b=0;
scientific =a/1;
}else{
cout<<"Anda salah memasukkan bilangan bulat"<<endl;
}
}
};
istream& operator >>(istream& in, bilangan& data){
cout<<"Masukkan bilangan bulat 4 digit : ";
in>>data.a;
return in;
}
ostream& operator <<(ostream& out, bilangan& data){
out<<"Bilangan bulat : "<<data.a<<endl;
out<<"Scientificnya : "<<data.scientific<<"e"<<data.b<<endl;
return out;
}
int main(){
bilangan x;
cin>>x;
x.konversi();
cout<<x;
return 0;
}
Komentar
Posting Komentar