Minggu, 15 November 2009

Bilangan Biner Diubah Menjadi Bilangan Decimal

Dibawah ini adalah contoh program bahasa yang membuat bilangan biner diubah menjadi ke bilangan decimal.

#include
#include
#include

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

printf("masukan 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");}
else {printf("\n+++number in decimal:%d\n",dec);}
getch();
return 0;
}


Logika Progam

o #include
#include
#include
#include berarti meyatakan pada kompiler agar membaca file bernama stdio.h saat pelaksanaan kompilasi. Pada file stdio.h biasanya menggunakan input-output / menggunkan printf. #include berarti menyatakan pada compiler agar membaca file dan dapat melakukan operasi hitung. #include berarti menyatakan compiler agar dapat mengetahui compiler c pada library conio.h,seperti perintah getch().

o int main(void) {
clrscr();
int dec=0,flag=0.0;
int bin, bit;
double exp=0.0;
int main(void) { berarti main digunakan untuk mendeklarasikan integer dan di kembalikan dalam keadaan void. clrscr(); digunakan untuk membersihkan atau menghapus layar out put. int dec=0,flag=0.0; berarti pendeklarasian dec=0 dan flag =0.0 dalam bentuk integer. int bin, bit; berarti pendeklarasian bin dan bit dalam bentuk integer. double exp=0.0; berarti menggunakan operasi hitungan dengan koma atau desimal.
o printf("masukan binary : ");
scanf("%d", & bin);
printf("masukan binary : "); berarti akan mencetak pada layarmasukan binary :”. scanf("%d", & bin); berarti memasukan data tersebut menjadi suatu bentuk variable bin.berbentuk %d (decimal),menggunakan “&” menerima input berupa integer.

o while(bin){
bit=bin%10;
if(bit!=0 && bit!=1) {
flag = 1;
}
bin=bin/10;
dec=dec+bit*pow(2,exp);
exp++;
}
Bit dideklarasikan dengan bilangan yang terdapat pada variabel bin. Jika bit sama dengan 0 dan bit sama dengan 1 maka flag sama dengan 1. maka bilangan yang terdapat pada variabel bin aka dibagi 10. dec didapat dec+bit*pow(2,exp)(dipangkatkan 2 karena dec=0 jadi dec pertama =0.

o if(flag) {printf("\n+++ not a binary number!!!\n");}
else {printf("\n+++number in decimal:%d\n",dec);}
getch();
return 0;
}
Jika flag sama dengan 1 maka akan mencetak pada layar “n+++ not binary number!!!”. Jika flag sama dengan 0 maka akan mencetak ” n+++number in decimal”. Berarti jika flag sama dengan 0 maka program akan berjalan dan melakukan operasi hitung. Dan return digunakan untuk kembali ke awal atau ke semula.

Tidak ada komentar:

Posting Komentar