Wednesday, October 27, 2010

Program konversi binary to decimal C++

Posted on 3:10 PM by Agazhw

Listing Program:


#include
#include
#include



int main(void) {
int dec=0,flag=0.0;
int bin, bit;
double exp=0.0;


printf("masukkan binary : ");
scanf("%d", &bin);
while(bin) {
bit=bin%10;
if (bit !=0 && bit !=1) {
flag=1;
}
bin=bin/10;
dec=dec+bit*pow(2, exp);
exp++;
}
if(flag) {printf("\n+++ Not a binary number !!! \n");
printf("Silahkan ulangi lagi! \n");}
else {printf("\n+++ Number in decimal : %d\n", dec);}
getch();
return 0;
}

Logika Program: 



Program ini merupakan program untuk konversi sebuah nilai dari bentuk binary ke decimal. Di dalam program ini, dilakukan beberapa pendeklarasian. Ada beberapa variable yang akan digunakan, yaitu bin, bit dan dec dalam tipe Integer ( int ), kemudian exp dalam double, dan flag.
Pada saat dijalankan, program akan meminta masukkan angka biner. Kemudian, program akan masuk ke dalam blok perulangan WHILE. Di dalam blok perulangan tersebut, akan dilakukan pengecekan nilai yang diinputkan oleh user. Cara pengecekannya adalah dengan membagi nilai user dengan angka 10. Perintahnya adalah bit = bin%10 . Apabila “sisa pembagiannya” (bit) tidak sama dengan 1 atau 0, maka program akan merubah nilai flag menjadi 1 kemudian langsung keluar dari perulangan tanpa menjalankan perintah selanjutnya. Bila sisa pembagian dari nilai user adalah 1 atau 0, maka program akan menjalankan proses perhitungan berikut :



bin=bin/10;
dec=dec+bit*pow(2,exp);
exp++;

setelah nilai dari bin menjadi 0, maka program akan keluar dari perulangan While.

Setelah keluar dari perulangan, ada statement kondisi untuk menyeleksi nilai dari variable flag. Untuk menyeleksi nilai flag tersebut, kita menggunakan perintah IF … Else. Jika nilai dari flag tersebut adalah 1, maka program akan memberitahukan user bahwa nilai yang diinputkan bukanlah nilai binary. Kemudian, program akan mengulang kembali ke awal untuk meminta user memasukkan nilai binary, Jika nilai flag adalah 0, maka program akan mencetak hasil dari perhitungan di atas. Kemudian program akan selesai karena ada perintah RETURN.


Output program : 











©agazhw™

No Response to "Program konversi binary to decimal C++"

Leave A Reply