Source Code Konversi 4 Basis Bilangan Biner Desimal Oktal Dan Hexadesimal Dengan Bahasa Pemrograman C++
Di Era yang begitu canggih ini bahasa pemrograman menjadi salah satu bahasa yang sangat diminati, ada banyak sekali bahasa pemrograman yang sampai saat ini, semakin kedepan bahasa pemograman pun juga akan menjadi lebih canggih lagi, bahasa pemrograman saat ini saja sudah lebih mudah daripada bahasa pemrograman pada beberapa tahun yang lalu, bahasa pemrograman yang dahulu sangat sulit sekali untuk dipelajari sekarang menjadi sangat mudah dipelajari karena bahasa pemrograman itu sendiri.
Mungkin saya akan share pada lain kesempatan :).
Langsung saja tanpa panjang lebar silahkan di copas codenya dan dipelajari lagi :)
Thanks for coming on my House.. I'll Pleasure if You give a comment for my House ..
Dari tadi ngomongin bahasa pemrograman mulu lalu apa itu bahasa pemrograman?
Mungkin saya akan share pada lain kesempatan :).
Langsung saja tanpa panjang lebar silahkan di copas codenya dan dipelajari lagi :)
Klik Sekali Aja Pada Source Codenya Maka Semua Codenya Akan Terseleksi
Source Code Konversi Bilangan Semua Basis
// Source code original by : Dodot Nanda Trihanggoro
// http://www.globein.id
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <cmath>
#include <bits/stdc++.h>
#define cls system("cls");
#define istirahat getch();
#define keluar system("exit");
#define blue system("color 9f");
struct konversiBilangan{
int long long bindes,binoct,binhex;
int long long desbin,desoct,deshex;
int long long octbin,octdes,octhex;
int long long hexbin,hexdes,hexoct;
int long long in;
char ic;
};
konversiBilangan kb;
using namespace std;
void PkonversiJam();
void PkonversiUkur();
void menus();
void PKBil();
void reset(){
int bindes=0,binoct=0,binhex=0;
int desbin=0,desoct=0,deshex=0;
int octbin=0,octdes=0,octhex=0;
int hexbin=0,hexdes=0,hexoct=0;
int in=0;
}
int konversi(float n,int m){
cls
float detik=3600,menit=60,x=0,z=0,Mjam=1/60,Jdetik=1/3600;
if(m==0){
x=n*menit;
z=n*detik;
printf("Maka konversi %2.2f Jam = %2.2f Menit dan %2.2.f Detik",n,x,z);
}else if(m==1){
x=n*Mjam;
z=n*menit;
printf("Maka konversi %2.2f Menit = %2.2f Jam dan %2.2.f Detik",n,x,z);
}else if(m==2){
x=n*Jdetik;
z=n*Mjam;
printf("Maka konversi %2.2f Detik = %2.2f Jam dan %2.2.f Menit",n,x,z);
}
istirahat cls
PkonversiJam();
}
void PkonversiJam (){
cls
char pil;
int m;
float n;
printf("\n\tMenus : \n\t\t1. Konversi Jam ke menit dan detik \n\t\t2. Konversi Menit ke jam dan detik \n\t\t3. Konversi detik ke Jam dan Menit \n\t\t4. Menu Utama \n\t\t5. Keluar program\n\tMasukan Pilihan : ");
scanf("%s",&pil);
switch(pil){
case '1':
cout<<"Masukan jumlah dalam hitungan jam : ";
cin>>n;
m=0;
konversi(n,m);
break;
case '2':
cout<<"Masukan jumlah dalam hitungan menit : ";
cin>>n;
m=1;
konversi(n,m);
break;
case '3':
cout<<"Masukan jumlah dalam hitungan detik : ";
cin>>n;
m=2;
konversi(n,m);
break;
default : cout<<"Pilihan Error!";
}
}
int konversiukur(float n, float z){
cls
float km,hm,dkm,m,dm,cm,mm;
float a=1000000,b=100000,c=10000,d=1000,e=100,f=10;
if(z==0){
km=n;
hm=n*f;
dkm=n*e;
m=n*d;
dm=n*c;
cm=n*b;
mm=n*a;
printf("Maka konversi %2.2f KM = %2.2f hm, %2.2.f dkm %2.2f m, %2.2.f dm %2.2f cm, %2.2.f mm",km,hm,dkm,m,dm,cm,mm);
}else if(z==1){
km=n/f;
hm=n;
dkm=n*f;
m=n*e;
dm=n*d;
cm=n*c;
mm=n*b;
printf("Maka konversi %2.2f HM = %2.2f km, %2.2.f dkm %2.2f m, %2.2.f dm %2.2f cm, %2.2.f mm",hm,km,dkm,m,dm,cm,mm);
}else if(z==2){
km=n/e;
hm=n/f;
dkm=n;
m=n*f;
dm=n*e;
cm=n*d;
mm=n*c;
printf("Maka konversi %2.2f dkm = %2.2f km, %2.2.f hm %2.2f m, %2.2.f dm %2.2f cm, %2.2.f mm",dkm,km,hm,m,dm,cm,mm);
}else if(z==3){
km=n/d;
hm=n/e;
dkm=n/f;
m=n;
dm=n*f;
cm=n*e;
mm=n*d;
printf("Maka konversi %2.2f m = %2.2f km, %2.2.f hm %2.2f dkm, %2.2.f dm %2.2f cm, %2.2.f mm",m,km,hm,dkm,dm,cm,mm);
}else if(z==4){
km=n/c;
hm=n/d;
dkm=n/e;
m=n/f;
dm=n;
cm=n*f;
mm=n*e;
printf("Maka konversi %2.2f dm = %2.2f km, %2.2.f hm %2.2f dkm, %2.2.f m %2.2f cm, %2.2.f mm",dm,km,hm,dkm,m,cm,mm);
}else if(z==5){
km=n/b;
hm=n/c;
dkm=n/d;
m=n/e;
dm=n/f;
cm=n;
mm=n*f;
printf("Maka konversi %2.2f cm = %2.2f km, %2.2.f hm %2.2f dkm, %2.2.f m %2.2f dm, %2.2.f mm",cm,km,hm,dkm,m,dm,mm);
}else if(z==6){
km=n/a;
hm=n/b;
dkm=n/c;
m=n/d;
dm=n/e;
cm=n/f;
mm=n;
printf("Maka konversi %2.2f mm = %2.2f km, %2.2.f hm %2.2f dkm, %2.2.f m %2.2f dm, %2.2.f cm",mm,km,hm,dkm,m,dm,cm);
}else {
printf("Error!");
istirahat cls
}
istirahat cls
PkonversiUkur();
}
void PkonversiUkur () {
cls
char pil;
int m;
float n;
printf("\n\tMenus : \n\t\t1. Konversi KM menjadi hm, dkm, m, dm, cm, mm \n\t\t2. Konversi HM menjadi km, dkm, m, dm, cm, mm \n\t\t3. Konversi DKM menjadi hm, km, m, dm, cm, mm \n\t\t4. Konversi M menjadi hm, dkm, km, dm, cm, mm \n\t\t5. Konversi DM menjadi hm, dkm, m, km, cm, mm \n\t\t6. Konversi CM menjadi hm, dkm, m, dm, km, mm \n\t\t7. Konversi MM menjadi hm, dkm, m, dm, cm, km \n\t\t8. Keluar program\n\tMasukan Pilihan : ");
scanf("%s",&pil);
switch(pil){
case '1':
cout<<"Masukan nilai dalam KM : ";
cin>>n;
m=0;
konversiukur(n,m);
break;
case '2':
cout<<"Masukan jumlah dalam hitungan menit : ";
cin>>n;
m=1;
konversi(n,m);
break;
case '3':
cout<<"Masukan jumlah dalam hitungan detik : ";
cin>>n;
m=2;
konversi(n,m);
break;
case '4':
cout<<"Masukan jumlah dalam hitungan jam : ";
cin>>n;
m=0;
konversi(n,m);
break;
case '5':
cout<<"Masukan jumlah dalam hitungan menit : ";
cin>>n;
m=1;
konversi(n,m);
break;
case '6':
cout<<"Masukan jumlah dalam hitungan detik : ";
cin>>n;
m=2;
konversi(n,m);
break;
case '7':
cout<<"Masukan jumlah dalam hitungan jam : ";
cin>>n;
m=0;
konversi(n,m);
break;
case '8':
cout<<"Masukan jumlah dalam hitungan menit : ";
cin>>n;
m=1;
konversi(n,m);
break;
default : cout<<"Pilihan Error!";
}
}
void dectobin(int long long input){
int long long m=0,z=0,i=0,counter=0,c[100];
for(int x=0; x<input;){
++counter;
c[counter] = input % 2;
input = input / 2;
}
while(counter>0){
z=c[i+1]*pow(10,i);
// cout<<"\nz "<<z;
m+=z;
// cout<<"\nm "<<m;
i++;
--counter;
}
kb.desbin=m;
kb.octbin=kb.desbin;
kb.hexbin=kb.desbin;
}
void dectohex(int input){
int counter=0,c[100];
for(int x=0; x<input;){
++counter;
c[counter] = input % 16;
input = input / 16;
}
while(counter>0){
if(c[counter]==15){
cout<<"F";
}else if(c[counter]==14){
cout<<"E";
}else if(c[counter]==13){
cout<<"D";
}else if(c[counter]==12){
cout<<"C";
}else if(c[counter]==11){
cout<<"B";
}else if(c[counter]==10){
cout<<"A";
}else{
cout<<c[counter];
}
--counter;
}
cout<<"\n";
}
void dectooc(int long long input){
int long long i=0,counter=0,c[100],z;
for(int x=0; x<input;){
++counter;
c[counter] = input % 8;
input = input / 8;
}
while(counter>=0){
z=c[i]*pow(10,i-1);
kb.desoct+=z;
i++;
--counter;
}
// cout<<"kb : "<<kb.desoct;
kb.hexoct=kb.desoct;
}
void bintodec(long long input){
long long counter=0,c=0;
int i=0;
while(input!=0){
c = input%10;
input /=10;
counter+= c * pow(2,i);
i++;
}
kb.bindes=counter;
cout<<"\n";
}
void bintooct(long long input){
long long counter=0,c=0,z=0;
int i=0,y=0,x=0;
while(input!=0){
i = 0;
x = 0;
c = 0;
while(i<3){
x = input%10;
if(x==1){
c += pow(2,i);
}
input /=10;
i++;
}
if(y>0){
c*=pow(10,y);
}
kb.binoct += c;
y++;
}
cout<<"\n";
}
void bintohex(long long input){
long long counter=0,cb=0,z=0,c[100];
int i=0,y=0,x=0;
while(input!=0){
cb = input%10;
input /=10;
z+= cb * pow(2,i);
i++;
}
for(x=0; x<z;){
++counter;
c[counter] = z % 16;
z = z / 16;
}
//cout<<" bin to hex nya : ";
while(counter>0){
if(c[counter]==15){
cout<<"F";
}else if(c[counter]==14){
cout<<"E";
}else if(c[counter]==13){
cout<<"D";
}else if(c[counter]==12){
cout<<"C";
}else if(c[counter]==11){
cout<<"B";
}else if(c[counter]==10){
cout<<"A";
}else{
cout<<c[counter];
}
--counter;
}
cout<<"\n";
}
void cekangka(int input){
int x, z = input;
while(z!=0){
x = z%10;
z /= 10;
if(x==1){
continue;
}else
if(x>1&&z<10){
printf("Error!, Masukan Bilangan Biner 1 / 0");
istirahat
PKBil();
}
}
}
void cekangkaoct(int long long input){
int long long x, z = input;
while(z!=0){
x = z%10;
z /= 10;
if(x<8){
continue;
}else{
printf("Error!, Bilangan 8 dan 9 bukan bilangan oktal");
istirahat
PKBil();
}
}
}
void octtodes(int long long input){
int long long g=0,f=0,x,counter=0,c[100],cx=0,h[100];
for(int x=0; x<input;){
++counter;
c[counter] = input % 10;
// cout<<"\n c coun "<<c[counter];
h[counter] = c[counter]*pow(8,g);
// cout<<" h coun "<<h[counter]<<"\n";
input = input / 10;
// cout<<" | counter "<<counter;
g++;
}
f=1;
while(counter>0){
//cout<<" | cx "<<cx;
cx+=h[f];
--counter;
f++;
}
//cout<<cx;
kb.octdes=cx;
// cout<<kb.octdes;
dectobin(kb.octdes);
}
void hextoall(string input){
int long long c[100],x[100],h[100],cx;
int count=0;
int n = input.length();
char r[n+1];
strcpy(r, input.c_str());
while(count<input.length()){
if(r[count]=='0'){
c[count] = r[count] - '0';
}else if(r[count]=='1'){
c[count] = r[count] - '0';
}else if(r[count]=='2'){
c[count] = r[count] - '0';
}else if(r[count]=='3'){
c[count] = r[count] - '0';
}else if(r[count]=='4'){
c[count] = r[count] - '0';
}else if(r[count]=='5'){
c[count] = r[count] - '0';
}else if(r[count]=='6'){
c[count] = r[count] - '0';
}else if(r[count]=='7'){
c[count] = r[count] - '0';
}else if(r[count]=='8'){
c[count] = r[count] - '0';
}else if(r[count]=='9'){
c[count] = r[count] - '0';
}else if(r[count]=='A'){
c[count] = r[count] - '7';
}else if(r[count]=='B'){
c[count] = r[count] - '7';
}else if(r[count]=='C'){
c[count] = r[count] - '7';
}else if(r[count]=='D'){
c[count] = r[count] - '7';
}else if(r[count]=='E'){
c[count] = r[count] - '7';
}else if(r[count]=='F'){
c[count] = r[count] - '7';
}else{
printf("Error!, Inputan Error !");
printf("\nInputan Harus Menggunakan Huruf KAPITAL !");
istirahat
PKBil();
count++;
continue;
}
// cout<<"\nNilai x : "<<c[count];
count++;
}
int f=0;
while(count>0){
count--;
h[count] = c[count]*pow(16,f);
cx += h[count];
f++;
}
// cout<<"\nNilai CX : "<<cx;
kb.hexdes=cx;
dectobin(kb.hexdes);
dectooc(kb.hexdes);
}
void sync(){
system( "start http://www.globein.id" );
}void cekhex(string input){
int count=0;
int n = input.length();
char r[n+1];
strcpy(r, input.c_str());
while(count<input.length()){
if(r[count]=='0'){
count++;
}else if(r[count]=='1'){
count++;
}else if(r[count]=='2'){
count++;
}else if(r[count]=='3'){
count++;
}else if(r[count]=='4'){
count++;
}else if(r[count]=='5'){
count++;
}else if(r[count]=='6'){
count++;
}else if(r[count]=='7'){
count++;
}else if(r[count]=='8'){
count++;
}else if(r[count]=='9'){
count++;
}else if(r[count]=='A'){
count++;
}else if(r[count]=='B'){
count++;
}else if(r[count]=='C'){
count++;
}else if(r[count]=='D'){
count++;
}else if(r[count]=='E'){
count++;
}else if(r[count]=='F'){
count++;
}else{
printf("Error!, Inputan Error !");
printf("\nInputan Harus Menggunakan Huruf KAPITAL !");
istirahat
PKBil();
}
count++;
}
}
void PKBil(){
cls
reset();
char pil;
string xz;
int input=0;
printf("\n\t\t\tProgram Konversi Bilangan\n\tMenus : \n\t\t1. Konversi Dari Bilangan Biner \n\t\t2. Konversi Dari Bilangan Decimal \n\t\t3. Konversi Dari Bilangan Oktal \n\t\t4. Konversi Dari Bilangan Hexadecimal \n\t\t5. Menu Utama\n\tMasukan Pilihan : ");
scanf("%s",&pil);
switch(pil){
case '1':
reset();
cls
printf("Masukan Bilangan Biner : ");
scanf("%d",&kb.in);
cekangka(kb.in);
bintodec(kb.in);
bintooct(kb.in);
printf("Maka Nilai Konversinya Desimal : %d , Oktal : %d , Hexadesimal : ",kb.bindes,kb.binoct);
bintohex(kb.in);
istirahat
PKBil();
break;
case '2':
reset();
cls
printf("Masukan Bilangan Desimal : ");
scanf("%d",&kb.in);
dectobin(kb.in);
dectooc(kb.in);
printf("\nMaka Nilai Konversinya Biner : %d , Oktal : %d , Hexadesimal : ",kb.desbin,kb.desoct);
dectohex(kb.in);
istirahat
PKBil();
break;
case '3':
reset();
cls
printf("Masukan Bilangan Oktal : ");
scanf("%d",&kb.in);
cekangkaoct(kb.in);
octtodes(kb.in);
printf("\nMaka Nilai Konversinya Biner : %d , Desimal : %d , Hexadesimal : ",kb.octbin,kb.octdes);
dectohex(kb.octdes);
istirahat
PKBil();
break;
case '4':
reset();
cls
cout<<"MAX 8 Bit";
cout<<"Masukan Bilangan Hexadesimal : ";
cin>>xz;
//cekhex(xz);
hextoall(xz);
printf("\nMaka Nilai Konversinya Biner : %d , Desimal : %d , Oktal : %d\n",kb.hexbin,kb.hexdes,kb.hexoct);
istirahat
PKBil();
break;
case '5':
cls menus();
break;
default :
cls
cout<<"Pilihan Error!";
PKBil();
}
istirahat
cls
menus();
}
void menus(){
cls
char pil;
float n;
printf("\nMenus : \n1. Konversi Waktu Jam ke menit dan detik \n2. Konversi Ukuran km,hm,dkm,m,dm,cm,mm \n3. Konversi Bilangan Biner, Decimal, Oktal, Hexadecimal \n4. Keluar Program\nMasukan Pilihan : ");
scanf("%c",&pil);
switch(pil){
case '1':
cls
PkonversiJam();
break;
case '2':
cls
PkonversiUkur();
break;
case '3':
cls
PKBil();
istirahat
break;
case '4':
cls keluar
break;
default :
cls
cout<<"Pilihan Error!";
menus();
}
}
int main(){
blue
cls
sync();
menus();
// string xx;
// cout<<"Masukan HEX : ";
// scanf("%s",&xx);
// cin>>xx;
// hextoall(xx);
// printf("\nMaka Nilai Konversinya Biner : %d , Desimal : %d , Oktal : %d\n",kb.hexbin,kb.hexdes,kb.hexoct);
istirahat
}
// http://www.globein.id
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <cmath>
#include <bits/stdc++.h>
#define cls system("cls");
#define istirahat getch();
#define keluar system("exit");
#define blue system("color 9f");
struct konversiBilangan{
int long long bindes,binoct,binhex;
int long long desbin,desoct,deshex;
int long long octbin,octdes,octhex;
int long long hexbin,hexdes,hexoct;
int long long in;
char ic;
};
konversiBilangan kb;
using namespace std;
void PkonversiJam();
void PkonversiUkur();
void menus();
void PKBil();
void reset(){
int bindes=0,binoct=0,binhex=0;
int desbin=0,desoct=0,deshex=0;
int octbin=0,octdes=0,octhex=0;
int hexbin=0,hexdes=0,hexoct=0;
int in=0;
}
int konversi(float n,int m){
cls
float detik=3600,menit=60,x=0,z=0,Mjam=1/60,Jdetik=1/3600;
if(m==0){
x=n*menit;
z=n*detik;
printf("Maka konversi %2.2f Jam = %2.2f Menit dan %2.2.f Detik",n,x,z);
}else if(m==1){
x=n*Mjam;
z=n*menit;
printf("Maka konversi %2.2f Menit = %2.2f Jam dan %2.2.f Detik",n,x,z);
}else if(m==2){
x=n*Jdetik;
z=n*Mjam;
printf("Maka konversi %2.2f Detik = %2.2f Jam dan %2.2.f Menit",n,x,z);
}
istirahat cls
PkonversiJam();
}
void PkonversiJam (){
cls
char pil;
int m;
float n;
printf("\n\tMenus : \n\t\t1. Konversi Jam ke menit dan detik \n\t\t2. Konversi Menit ke jam dan detik \n\t\t3. Konversi detik ke Jam dan Menit \n\t\t4. Menu Utama \n\t\t5. Keluar program\n\tMasukan Pilihan : ");
scanf("%s",&pil);
switch(pil){
case '1':
cout<<"Masukan jumlah dalam hitungan jam : ";
cin>>n;
m=0;
konversi(n,m);
break;
case '2':
cout<<"Masukan jumlah dalam hitungan menit : ";
cin>>n;
m=1;
konversi(n,m);
break;
case '3':
cout<<"Masukan jumlah dalam hitungan detik : ";
cin>>n;
m=2;
konversi(n,m);
break;
default : cout<<"Pilihan Error!";
}
}
int konversiukur(float n, float z){
cls
float km,hm,dkm,m,dm,cm,mm;
float a=1000000,b=100000,c=10000,d=1000,e=100,f=10;
if(z==0){
km=n;
hm=n*f;
dkm=n*e;
m=n*d;
dm=n*c;
cm=n*b;
mm=n*a;
printf("Maka konversi %2.2f KM = %2.2f hm, %2.2.f dkm %2.2f m, %2.2.f dm %2.2f cm, %2.2.f mm",km,hm,dkm,m,dm,cm,mm);
}else if(z==1){
km=n/f;
hm=n;
dkm=n*f;
m=n*e;
dm=n*d;
cm=n*c;
mm=n*b;
printf("Maka konversi %2.2f HM = %2.2f km, %2.2.f dkm %2.2f m, %2.2.f dm %2.2f cm, %2.2.f mm",hm,km,dkm,m,dm,cm,mm);
}else if(z==2){
km=n/e;
hm=n/f;
dkm=n;
m=n*f;
dm=n*e;
cm=n*d;
mm=n*c;
printf("Maka konversi %2.2f dkm = %2.2f km, %2.2.f hm %2.2f m, %2.2.f dm %2.2f cm, %2.2.f mm",dkm,km,hm,m,dm,cm,mm);
}else if(z==3){
km=n/d;
hm=n/e;
dkm=n/f;
m=n;
dm=n*f;
cm=n*e;
mm=n*d;
printf("Maka konversi %2.2f m = %2.2f km, %2.2.f hm %2.2f dkm, %2.2.f dm %2.2f cm, %2.2.f mm",m,km,hm,dkm,dm,cm,mm);
}else if(z==4){
km=n/c;
hm=n/d;
dkm=n/e;
m=n/f;
dm=n;
cm=n*f;
mm=n*e;
printf("Maka konversi %2.2f dm = %2.2f km, %2.2.f hm %2.2f dkm, %2.2.f m %2.2f cm, %2.2.f mm",dm,km,hm,dkm,m,cm,mm);
}else if(z==5){
km=n/b;
hm=n/c;
dkm=n/d;
m=n/e;
dm=n/f;
cm=n;
mm=n*f;
printf("Maka konversi %2.2f cm = %2.2f km, %2.2.f hm %2.2f dkm, %2.2.f m %2.2f dm, %2.2.f mm",cm,km,hm,dkm,m,dm,mm);
}else if(z==6){
km=n/a;
hm=n/b;
dkm=n/c;
m=n/d;
dm=n/e;
cm=n/f;
mm=n;
printf("Maka konversi %2.2f mm = %2.2f km, %2.2.f hm %2.2f dkm, %2.2.f m %2.2f dm, %2.2.f cm",mm,km,hm,dkm,m,dm,cm);
}else {
printf("Error!");
istirahat cls
}
istirahat cls
PkonversiUkur();
}
void PkonversiUkur () {
cls
char pil;
int m;
float n;
printf("\n\tMenus : \n\t\t1. Konversi KM menjadi hm, dkm, m, dm, cm, mm \n\t\t2. Konversi HM menjadi km, dkm, m, dm, cm, mm \n\t\t3. Konversi DKM menjadi hm, km, m, dm, cm, mm \n\t\t4. Konversi M menjadi hm, dkm, km, dm, cm, mm \n\t\t5. Konversi DM menjadi hm, dkm, m, km, cm, mm \n\t\t6. Konversi CM menjadi hm, dkm, m, dm, km, mm \n\t\t7. Konversi MM menjadi hm, dkm, m, dm, cm, km \n\t\t8. Keluar program\n\tMasukan Pilihan : ");
scanf("%s",&pil);
switch(pil){
case '1':
cout<<"Masukan nilai dalam KM : ";
cin>>n;
m=0;
konversiukur(n,m);
break;
case '2':
cout<<"Masukan jumlah dalam hitungan menit : ";
cin>>n;
m=1;
konversi(n,m);
break;
case '3':
cout<<"Masukan jumlah dalam hitungan detik : ";
cin>>n;
m=2;
konversi(n,m);
break;
case '4':
cout<<"Masukan jumlah dalam hitungan jam : ";
cin>>n;
m=0;
konversi(n,m);
break;
case '5':
cout<<"Masukan jumlah dalam hitungan menit : ";
cin>>n;
m=1;
konversi(n,m);
break;
case '6':
cout<<"Masukan jumlah dalam hitungan detik : ";
cin>>n;
m=2;
konversi(n,m);
break;
case '7':
cout<<"Masukan jumlah dalam hitungan jam : ";
cin>>n;
m=0;
konversi(n,m);
break;
case '8':
cout<<"Masukan jumlah dalam hitungan menit : ";
cin>>n;
m=1;
konversi(n,m);
break;
default : cout<<"Pilihan Error!";
}
}
void dectobin(int long long input){
int long long m=0,z=0,i=0,counter=0,c[100];
for(int x=0; x<input;){
++counter;
c[counter] = input % 2;
input = input / 2;
}
while(counter>0){
z=c[i+1]*pow(10,i);
// cout<<"\nz "<<z;
m+=z;
// cout<<"\nm "<<m;
i++;
--counter;
}
kb.desbin=m;
kb.octbin=kb.desbin;
kb.hexbin=kb.desbin;
}
void dectohex(int input){
int counter=0,c[100];
for(int x=0; x<input;){
++counter;
c[counter] = input % 16;
input = input / 16;
}
while(counter>0){
if(c[counter]==15){
cout<<"F";
}else if(c[counter]==14){
cout<<"E";
}else if(c[counter]==13){
cout<<"D";
}else if(c[counter]==12){
cout<<"C";
}else if(c[counter]==11){
cout<<"B";
}else if(c[counter]==10){
cout<<"A";
}else{
cout<<c[counter];
}
--counter;
}
cout<<"\n";
}
void dectooc(int long long input){
int long long i=0,counter=0,c[100],z;
for(int x=0; x<input;){
++counter;
c[counter] = input % 8;
input = input / 8;
}
while(counter>=0){
z=c[i]*pow(10,i-1);
kb.desoct+=z;
i++;
--counter;
}
// cout<<"kb : "<<kb.desoct;
kb.hexoct=kb.desoct;
}
void bintodec(long long input){
long long counter=0,c=0;
int i=0;
while(input!=0){
c = input%10;
input /=10;
counter+= c * pow(2,i);
i++;
}
kb.bindes=counter;
cout<<"\n";
}
void bintooct(long long input){
long long counter=0,c=0,z=0;
int i=0,y=0,x=0;
while(input!=0){
i = 0;
x = 0;
c = 0;
while(i<3){
x = input%10;
if(x==1){
c += pow(2,i);
}
input /=10;
i++;
}
if(y>0){
c*=pow(10,y);
}
kb.binoct += c;
y++;
}
cout<<"\n";
}
void bintohex(long long input){
long long counter=0,cb=0,z=0,c[100];
int i=0,y=0,x=0;
while(input!=0){
cb = input%10;
input /=10;
z+= cb * pow(2,i);
i++;
}
for(x=0; x<z;){
++counter;
c[counter] = z % 16;
z = z / 16;
}
//cout<<" bin to hex nya : ";
while(counter>0){
if(c[counter]==15){
cout<<"F";
}else if(c[counter]==14){
cout<<"E";
}else if(c[counter]==13){
cout<<"D";
}else if(c[counter]==12){
cout<<"C";
}else if(c[counter]==11){
cout<<"B";
}else if(c[counter]==10){
cout<<"A";
}else{
cout<<c[counter];
}
--counter;
}
cout<<"\n";
}
void cekangka(int input){
int x, z = input;
while(z!=0){
x = z%10;
z /= 10;
if(x==1){
continue;
}else
if(x>1&&z<10){
printf("Error!, Masukan Bilangan Biner 1 / 0");
istirahat
PKBil();
}
}
}
void cekangkaoct(int long long input){
int long long x, z = input;
while(z!=0){
x = z%10;
z /= 10;
if(x<8){
continue;
}else{
printf("Error!, Bilangan 8 dan 9 bukan bilangan oktal");
istirahat
PKBil();
}
}
}
void octtodes(int long long input){
int long long g=0,f=0,x,counter=0,c[100],cx=0,h[100];
for(int x=0; x<input;){
++counter;
c[counter] = input % 10;
// cout<<"\n c coun "<<c[counter];
h[counter] = c[counter]*pow(8,g);
// cout<<" h coun "<<h[counter]<<"\n";
input = input / 10;
// cout<<" | counter "<<counter;
g++;
}
f=1;
while(counter>0){
//cout<<" | cx "<<cx;
cx+=h[f];
--counter;
f++;
}
//cout<<cx;
kb.octdes=cx;
// cout<<kb.octdes;
dectobin(kb.octdes);
}
void hextoall(string input){
int long long c[100],x[100],h[100],cx;
int count=0;
int n = input.length();
char r[n+1];
strcpy(r, input.c_str());
while(count<input.length()){
if(r[count]=='0'){
c[count] = r[count] - '0';
}else if(r[count]=='1'){
c[count] = r[count] - '0';
}else if(r[count]=='2'){
c[count] = r[count] - '0';
}else if(r[count]=='3'){
c[count] = r[count] - '0';
}else if(r[count]=='4'){
c[count] = r[count] - '0';
}else if(r[count]=='5'){
c[count] = r[count] - '0';
}else if(r[count]=='6'){
c[count] = r[count] - '0';
}else if(r[count]=='7'){
c[count] = r[count] - '0';
}else if(r[count]=='8'){
c[count] = r[count] - '0';
}else if(r[count]=='9'){
c[count] = r[count] - '0';
}else if(r[count]=='A'){
c[count] = r[count] - '7';
}else if(r[count]=='B'){
c[count] = r[count] - '7';
}else if(r[count]=='C'){
c[count] = r[count] - '7';
}else if(r[count]=='D'){
c[count] = r[count] - '7';
}else if(r[count]=='E'){
c[count] = r[count] - '7';
}else if(r[count]=='F'){
c[count] = r[count] - '7';
}else{
printf("Error!, Inputan Error !");
printf("\nInputan Harus Menggunakan Huruf KAPITAL !");
istirahat
PKBil();
count++;
continue;
}
// cout<<"\nNilai x : "<<c[count];
count++;
}
int f=0;
while(count>0){
count--;
h[count] = c[count]*pow(16,f);
cx += h[count];
f++;
}
// cout<<"\nNilai CX : "<<cx;
kb.hexdes=cx;
dectobin(kb.hexdes);
dectooc(kb.hexdes);
}
void sync(){
system( "start http://www.globein.id" );
}void cekhex(string input){
int count=0;
int n = input.length();
char r[n+1];
strcpy(r, input.c_str());
while(count<input.length()){
if(r[count]=='0'){
count++;
}else if(r[count]=='1'){
count++;
}else if(r[count]=='2'){
count++;
}else if(r[count]=='3'){
count++;
}else if(r[count]=='4'){
count++;
}else if(r[count]=='5'){
count++;
}else if(r[count]=='6'){
count++;
}else if(r[count]=='7'){
count++;
}else if(r[count]=='8'){
count++;
}else if(r[count]=='9'){
count++;
}else if(r[count]=='A'){
count++;
}else if(r[count]=='B'){
count++;
}else if(r[count]=='C'){
count++;
}else if(r[count]=='D'){
count++;
}else if(r[count]=='E'){
count++;
}else if(r[count]=='F'){
count++;
}else{
printf("Error!, Inputan Error !");
printf("\nInputan Harus Menggunakan Huruf KAPITAL !");
istirahat
PKBil();
}
count++;
}
}
void PKBil(){
cls
reset();
char pil;
string xz;
int input=0;
printf("\n\t\t\tProgram Konversi Bilangan\n\tMenus : \n\t\t1. Konversi Dari Bilangan Biner \n\t\t2. Konversi Dari Bilangan Decimal \n\t\t3. Konversi Dari Bilangan Oktal \n\t\t4. Konversi Dari Bilangan Hexadecimal \n\t\t5. Menu Utama\n\tMasukan Pilihan : ");
scanf("%s",&pil);
switch(pil){
case '1':
reset();
cls
printf("Masukan Bilangan Biner : ");
scanf("%d",&kb.in);
cekangka(kb.in);
bintodec(kb.in);
bintooct(kb.in);
printf("Maka Nilai Konversinya Desimal : %d , Oktal : %d , Hexadesimal : ",kb.bindes,kb.binoct);
bintohex(kb.in);
istirahat
PKBil();
break;
case '2':
reset();
cls
printf("Masukan Bilangan Desimal : ");
scanf("%d",&kb.in);
dectobin(kb.in);
dectooc(kb.in);
printf("\nMaka Nilai Konversinya Biner : %d , Oktal : %d , Hexadesimal : ",kb.desbin,kb.desoct);
dectohex(kb.in);
istirahat
PKBil();
break;
case '3':
reset();
cls
printf("Masukan Bilangan Oktal : ");
scanf("%d",&kb.in);
cekangkaoct(kb.in);
octtodes(kb.in);
printf("\nMaka Nilai Konversinya Biner : %d , Desimal : %d , Hexadesimal : ",kb.octbin,kb.octdes);
dectohex(kb.octdes);
istirahat
PKBil();
break;
case '4':
reset();
cls
cout<<"MAX 8 Bit";
cout<<"Masukan Bilangan Hexadesimal : ";
cin>>xz;
//cekhex(xz);
hextoall(xz);
printf("\nMaka Nilai Konversinya Biner : %d , Desimal : %d , Oktal : %d\n",kb.hexbin,kb.hexdes,kb.hexoct);
istirahat
PKBil();
break;
case '5':
cls menus();
break;
default :
cls
cout<<"Pilihan Error!";
PKBil();
}
istirahat
cls
menus();
}
void menus(){
cls
char pil;
float n;
printf("\nMenus : \n1. Konversi Waktu Jam ke menit dan detik \n2. Konversi Ukuran km,hm,dkm,m,dm,cm,mm \n3. Konversi Bilangan Biner, Decimal, Oktal, Hexadecimal \n4. Keluar Program\nMasukan Pilihan : ");
scanf("%c",&pil);
switch(pil){
case '1':
cls
PkonversiJam();
break;
case '2':
cls
PkonversiUkur();
break;
case '3':
cls
PKBil();
istirahat
break;
case '4':
cls keluar
break;
default :
cls
cout<<"Pilihan Error!";
menus();
}
}
int main(){
blue
cls
sync();
menus();
// string xx;
// cout<<"Masukan HEX : ";
// scanf("%s",&xx);
// cin>>xx;
// hextoall(xx);
// printf("\nMaka Nilai Konversinya Biner : %d , Desimal : %d , Oktal : %d\n",kb.hexbin,kb.hexdes,kb.hexoct);
istirahat
}
Thanks for coming on my House.. I'll Pleasure if You give a comment for my House ..
0 Response to "Source Code Konversi 4 Basis Bilangan Biner Desimal Oktal Dan Hexadesimal Dengan Bahasa Pemrograman C++"
Post a Comment