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