♠ Posted by Unknown in Binary C++,Networking at 19.30
Program konversi binary to decimal C++
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 :





0 komentar:
Posting Komentar