Setelah saya kemarin berbagi tantang Program Katalog Perpustakaan, kali ini saya ingin berbagi mini program yang tidak terlalu ribet dan mudah dibuat..Tentunya masih dalam Bahasa C. Bagi teman yang belajar Bahasa C pasti mendengar kata Biner sudah tidak asing lagi. Ya, angka biner yang terdiri dari 0 dan 1 sering kita jumpai pada notepad atau command prompt. Teori Biner yang saya ketahui cukup panjang juga tetapi saya yakin bagi anda yang tertarik dengan mini program saya dibawah ini, pasti sebelumnya telah paham tentang teori Biner dan banyak sumber yang menyediakan teori. Jadi cukup saya menyediakan contoh programnya saja, mungkin dari anda ada yang punya program yang lebih menarik jadi saya mohon bimbingannya. Okey silakan cermati programnya...
#include <stdio.h>
#define maks 100
typedef struct tstack {
int top;
int maks_elemen;
int elemen[maks];
}tstack;
tstack stack;
void inisialisasi (tstack *stack)
{
stack->top=-1;
stack->maks_elemen=maks;
}
int isempty (tstack stack)
{
if (stack.top==-1)
return 1;
else
return 0;
}
int isfull (tstack stack)
{
if(stack.top==(stack.maks_elemen-1))
return 1;
else
return 0;
}
int pop (tstack *stack)
{
int data;
if(!isempty (*stack))
{
data=stack->elemen [stack->top];
stack->top--;
return data;
}
else
return 0;
}
void push (tstack *stack, int baru)
{
if(!isfull (*stack))
{
stack->top++;
stack->elemen [stack->top]=baru;
}
else
{
printf ("Stack Full. Push Gagal.\n");
}
}
int main ()
{
int bin,b=0,c=0,d,i,j;
double z=0;
int y[8];
do
{
printf ("Masukan Bilangan Biner : ");
scanf ("%d",&bin);
}while (bin>11111111);
for (i=0;;i++)
{
if (bin==1)
{
y[i=bin];
c=1;
break;
}
if (bin>=10)
{
y[i]=bin%10;
b=b+1;
}
bin=bin/10;
if(bin<10)
{
y[i+1]=bin;
c=c+1;
break;
}
}
d=b+c;
for (j=0;j<d;j++)
{
if (y[j]==0)
continue;
if (y[j]==1)
{
z=z+pow(2,j);
}
}
printf ("Bilangan Desimal =%.0f",z);
return 0;
}
Sob,saya sangat tertarik dengan dunia programmer terutama tentang Java tapi selama ini saya belum bisa apa",semoga dari sini saya bisa belajar sedikit demi sedikit.
ReplyDeleteoia,saya mw menjawab pertanyaan di blog saya sob mengenai lintasme"Lintasme itu situs social bookmark dimana kalo kita share disitu nanti traffict blog bisa bertambah dan blog juga mendapatkan backlink sob"
Saya masih tahap belajar mas, seperti C++ diatas saya hanya bisa buat program saja karena teorinya saya belum paham & masih ingat2 lupa.hehe
ReplyDelete