Senin, 16 November 2009

Program Konversi Bilangan Biner dengan Menggunakan Bahasa C


Pada pertemuan kali ini kita akan membuat program tentang konversi nilai bilangan basis biner ke bilangan basis yang lain (octal, decimal dan heksadesimal). Listing dan Logika programnya dapat dilihat di bawah ini...



Listing Program


#include "stdio.h"
#include "math.h"
int main(void)

{

int dec=0,flag=0.0;
int bin, bit;
double exp=0.0;

printf("masukkan binary : ");
scanf("%d", &bin);
fflush(stdin);

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);}
getchar();
return 0;

}



Logika Program



#include "stdio.h"
#include "math.h"
merupakan prototype yang kita gunakan.

int main(void)
{
memulai program utama tanpa disertai pengembalian nilai.

int dec=0,flag=0.0;
int bin, bit;
double exp=0.0;

merupakan pendeklarasian variabel dec, flag, bin bit dan exp

printf("masukkan binary : "); /*mencetak masukan binary:*/
scanf("%d", &bin); /*mengimput nilai dan dimasukan ke var bin*/
fflush(stdin);

mencetak masukan binary: dan nilai (integer) yang diberikan diberikan akan dimasukan ke dalam variabel bin

while(bin)
{
bit=bin%10; /*bit=sisa hasil bagi bin dengan 10*/
if (bit !=0 && bit !=1)
{
flag=1;
}
bin=bin/10; /*bin= nilai bin dibagi 10*/
dec=dec+bit*pow(2, exp);
exp++; /*nilai meningkat sebanyak 1*/
}

Maka nilai bit merupakan sisa hasil bagi nilai bin dengan 10. Jika nilai bit tidak samadengan 0 dan tidak samadengan 1 maka program akan melewati perintah flag=1 dan menjalankan perintah selanjutna sedangkan jika keadaan tersebut terpenuhi maka perintah flag akn dikerjakan juga

if(flag) {printf("\n+++ Not a binary number !!! \n");}
else {printf("\n+++ Number in decimal : %d\n", dec);}

jika flag mempunyai nilai maka program akan mencetak +++ Not a binary number !!! pada baris baru namun jika kondisi tersebut tidak terpenuhi maka kan mencetak +++ Number in decimal : dan nilai variabel dec pada baris yang baru

getchar(); /*digunakan untuk membaca data bertipe karakter*/
return 0;
}

Maka secara otomatis akan mrlakukan pergantian baris

Tidak ada komentar:

Posting Komentar