feel so lonely

sepi bgt,,, sekarang...
sebenarnya jg ga sepenuhnya hp rusak jg si,,,
huft.... ngerasa akhir2 ini ga terlalu bisa ngendaliin emosi
karna acapek di kerjaan semua masalah jadi kebawa2,,,
rasanya pengen share tapi ga tau harus share ke siapa...
sama keluarga takut memberati.. sama kakak2 disini ga mgkin,,
mereka jg punya keluarga masing2,, ga mgkin nambah beban mereka disini..
sama dia?? ga mgkin jg... rasanya terlalu cengeng dan manja...
huft.. mana teman yang enak di ajak curhat jauh lagi,,,,
feel so lonely,,,,,,,,,,
:(

Pengenalan tentang Grafika Komputer(bahasa OpenGL)

pembahasan ini merupakan pengenalan dari gafika komputer sebagai dasar dalam pembuatan program OpenGL. Grafika komputer adalah semua aspek tentang pembuatan gambar dengan komputer menyangkut hardware,software dan aplikasi.
misalnya pada gambar dibawah ini,, darimana gambar ini bisa ada atau hardware atau software apa yang dibutuhkan untuk memproduksinya?



disinilah kita perlu mempelajari tentang grafika komputer.. karena aplikasi dan program dalam komputer menggunakan image2 yang bisa di buat dengan menggunakan pemprograman OpenGL.image itu dibentuk didalam frame buffer yang akan menghubungkan antara prosesor dan output device(contohnya layar monitor).nah untuk menampilkan isi dari frame buffer ini kita menggunakan CRT.dikenal juga istilah raster grafik yaitu image di produksi sebagai array(raster)dari elemen gambar di dalam frame buffer. seperti gambar dibawah ini :






jadi gambar itu di bagi2 lagi dalam2 pixel2 yang lebih kecil ..aplikasi grafika komputer ini dapat dilihat dalam photorealism, grafik card, games boxes, untuk film dan pemprograman pipeline... nah untuk code nya digunakan bahasa pemprograman OpenGL.

segitu aja dulu perkenalan dari grafika komputer :)

Langkah-Langkah Awal Membuat Program dengan OpenGL di Microsoft Visual C++ 6.0

pengen share aja tentang OpenGL.. Sekalian belajar lagi,,, kata orang,, "alah bisa karena biasa "... :)... berikut merupakan langkah2 awal untuk membuat program OpenGL.Software yang harus di instal di computer adalah Microsoft Visual C++ 6.0. selain itu di file yang berisi program ini juga di include glut.h dalam satu file dengan program agar bisa mencakup semua library.tampilan pada program ini masih yang sedrhana ,, kita bisa membuat animasi contohnya robot dengan menggunakan rotasi, refleksi dan tekhnik dilatasi menggunakan OpenGL :)

1. Buka Microsoft Visual C++ 6.0
berikut merupakan contoh tampilannya




2. Buat Project Baru
2.1. Pilih menu File submenu New

Setelah IDE terbuka, tampilan akan kurang lebih seperti ini


2.2. Pada tab Projects pilih Win32 Console
Application







2.4. Pilih empty project, lalu klik Finish



2.5. Klik OK



3. Buat dan simpan file teks baru
3.1. Klik icon New Text File




3.2. Ketik kode program yang ingin dimasukkan


3.3. Simpan file teks


3.4. Ketikkan nama file teks, lalu klik Save



4. Sisipkan file teks ke dalam project



4.2. Klik tanda +


4.3. Klik kanan Source Files, lalu klik Add Files to Folder


4.4. Ketikkan nama atau pilih file teks berisi kode sumber yang ingin disisipkan ke
dalam project, lalu klik OK



5. Compile kode sumber
5.1. Klik tanda +



5.2. Klik file kode sumber, lalu klik Compile


6. Jalankan!
6.1. Build project



6.2. Execute project


6.3. Lihat hasil

Program C untuk barcode versi EAN 13


Kali ini saya ingin membuat barcode dengan program c dimana untuk konsep dasarnya menggunakan barcode versi EAN 13...program ini akan meminta input dari user berupa sebuah kode yang terdiri dari 12 digit desimal.. dan kode yang dimasukkan akan di validassi seperlunya,,dengan merubah sting ke integer dengan parse int.kemudian akan menghitung chek digitnya melalui konsep EAN serta menampilkan code barcode EAN untuk 12 digit tersebut beserta chek digitnya dalam windows tersendiri.. nah untuk menampilkan windows ini kita perlu program OpenGL dimana akan membantu untuk menampilkan barcode. barcode ini sangat berguna dalam dunia pemasaran dimana di supermarket/pusat pembelanjaan , barcode dipakai untuk mendeteksi code dari barang2 misalnya buku, penghapus dan lain2,,, berikut merupakan salah satu program untuk menampilkan barcode.. oh iya terlebih dahulu instal glut.h di komputer untuk menjalankan program ini karna program ini merupakan gabungan dari bahasa C dan OpenGL...


langsung aja ya ke programnya :


/*

@author : Deswati

@rogram : Program untuk menampilkan barcode versi EAN-13

*/

#include /*include file library stdio.h di blog ini ga bisa menampilkan program untuk include ini
#include "GL/glut.h"/*include file library GL/gluth.h untuk OpenGL
#include /* include file library string.h .untuk menangani karakter dan string

int kode[13]; /*deklarasi variabel kode sebagai variabel penyimpan angka-angka anggota barcode*/

void init (void)
{
glClearColor(1.0,1.0,1.0,1.0); /* Window berwarna putih. */
glMatrixMode(GL_PROJECTION); /* Menentukan parameter2 proyeksi */
gluOrtho2D(0.0, 600.0, 0.0, 500.0);
}

/* Fungsi untuk membuat graphics*/

void barChart (void)
{

int i, k;
GLint x=70; /*mengeset letak awal absis*/

glClear (GL_COLOR_BUFFER_BIT); /* Bersihkan window. */

glColor3f (0.0, 0.0, 0.0); /* Warna bar dan tulisan di-set ke hitam. */


int digit1 [10][6] = {0, 0, 0, 0, 0, 0, /*Direktori pola penerjemahan kode yang ditentukan oleh angka pertama barcode*/
0, 0, 1, 0, 1, 1, /*pola L diwakilkan dengan angka 0, sedangkan pola G diwakilkan dengan angka 1*/
0, 0, 1, 1, 0, 1,
0, 0, 1, 1, 1, 0,
0, 1, 0, 0, 1, 1,
0, 1, 1, 0, 0, 1,
0, 1, 1, 1, 0, 0,
0, 1, 0, 1, 0, 1,
0, 1, 0, 1, 1, 0,
0, 1, 1, 0, 1, 0 };

int kodeL [10][7] = {0, 0, 0, 1, 1, 0, 1, /*Direktori L, dimana setiap angka di-convert menjadi 7 bit yang berbeda*/
0, 0, 1, 1, 0, 0, 1,
0, 0, 1, 0, 0, 1, 1,
0, 1, 1, 1, 1, 0, 1,
0, 1, 0, 0, 0, 1, 1,
0, 1, 1, 0, 0, 0, 1,
0, 1, 0, 1, 1, 1, 1,
0, 1, 1, 1, 0, 1, 1,
0, 1, 1, 0, 1, 1, 1,
0, 0, 0, 1, 0, 1, 1 };

int kodeG [10][7] = {0, 1, 0, 0, 1, 1, 1, /*Direktori G, dimana setiap angka di-convert menjadi 7 bit yang berbeda*/
0, 1, 1, 0, 0, 1, 1,
0, 0, 1, 1, 0, 1, 1,
0, 1, 0, 0, 0, 0, 1,
0, 0, 1, 1, 1, 0, 1,
0, 1, 1, 1, 0, 0, 1,
0, 0, 0, 0, 1, 0, 1,
0, 0, 1, 0, 0, 0, 1,
0, 0, 0, 1, 0, 0, 1,
0, 0, 1, 0, 1, 1, 1 };


glRasterPos2i (x-30, 110); /*menge-set letak pencetakan angka pertama dari barcode yang dimasukkan*/
glutBitmapCharacter (GLUT_BITMAP_HELVETICA_12, (GLubyte) kode[0]+'0'); /*mencetak angka pertama barcode*/
/*dengan meng-convert angka dari int ke char.*/
/*GLubyte = char*/


for (i=0; i<2; i++) /*penggambaran dua garis Middle bars dengan letak lebih
rendah dibanding bar yang lain*/
{
glRecti (x, 130, x+5, 450);
x+=10; /*memberi jarak agar dua garis tidak berdampingan*/
}


for (i=1; i<7; i++) /*loop untuk angka barcode kesatu s.d keenam*/
{
glRasterPos2i (x+10, 110); /*menge-set letak pencetakan
angka barcode selanjutnya*/
glutBitmapCharacter (GLUT_BITMAP_HELVETICA_12, (GLubyte) kode[i]+'0');
/*mencetak angka barcode selanjutnya*/

switch (digit1[kode[0]][i - 1]) /*memilih pola barcode tergantung dr angka
pertama barcode yang disimpan dalam kode[0]*/
{
case 0: /*0 berarti memakai pola L*/
for (k = 0; k < 7; k++)/*dimana 1 angka diwakilkan 7 bit
berbeda*/
{
if (kodeL[kode[i]][k] == 1) /*penggambaran dilakukan bila
bit == 1*/
{
glRecti (x, 150, x+5, 450 );/*menggambar garis
dengan lebar koordinat persegi x1,y1,x2,y2*/
}
x+=5; /*mengeset x1 baru = x2*/

}
break;

case 1: /*1 berarti memakai pola G*/
for (k = 0; k < 7; k++) /* dimana 1 angka diwakilkan 7 bit berbeda*/
{
if (kodeG[kode[i]][k] == 1)/*penggambaran dilakukan bila bit
== 1*/
{
glRecti (x, 150, x+5, 450 );/*menggambar garis dengan
lebar koordinat persegi x1,y1,x2,y2*/
}
x+=5; /*mengeset x1 baru = x2*/

}
break;
}

}

x+=5; /*memberi jarak untuk menggambar Middle bars*/

for (i=0; i<2; i++) /*penggambaran dua garis Middle bars dengan letak lebih
rendah dibanding bar yang lain*/
{
glRecti (x, 130, x+5, 450);
x+=10; /*memberi jarak agar dua garis tidak berdampingan*/
}


for (i=7; i<13; i++)
{

glRasterPos2i (x+10, 110); /*menge-set letak pencetakan angka barcode
selanjutnya*/
glutBitmapCharacter (GLUT_BITMAP_HELVETICA_12, (GLubyte) kode[i]+'0');
/*mencetak angka barcode selanjutnya*/


for (k=0; k<7; k++) /*angka barcode ketujuh s.d ke ke-13 memakai pola R*/
{
if ( (1-kodeL[kode[i]][k]) == 1) /*direktori R adalah komplemen dari
directori kode L*/
{
glRecti (x, 150, x+5, 450 );
}
x+=5;
}
}

for (i=0; i<2; i++) /*penggambaran dua garis End bars dengan letak lebih
rendah dibanding bar yang lain*/
{
glRecti (x, 130, x+5, 450);
x+=10; /*memberi jarak agar dua garis tidak berdampingan*/
}

x = 70; /*menge-set kembali absis agar letak pencetakan angka tidak berubah*/

glFlush(); /* Proses semua tampilan dengan secepat mungkin */
}

int main(int argc, char** argv) {

int i, k;
char input[13];


glutInit(&argc, argv); /* Inisialisasi GLUT */

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); /* Tentukan display-mode */

glutInitWindowPosition(100, 100); /* Tentukan posisi kiri-atas window */

glutInitWindowSize(300, 300); /* Tentukan lebar dan tinggi window */

glutCreateWindow("Menampilkan Bar-Chart"); /* Buat window. */

init(); /* Laksanakan prosedur inisialisasi */

printf ("Masukkan kode berupa 12 digit\n");

gets(input); /*menyimpan masukan user sebagai string*/

for (i=0; i<12; i++) /*validasi masukan*/
{
if (input[i]<'0' || input[i]>'9') /*mengakhiri program jika ada unsur
masukan diluar angka*/
{
printf("Masukan yang anda masukkan salah\nTekan spasi untuk keluar");

getchar();
return 0;
}

if (strlen (input) != 12) /*mengakhiri program jika angka yang dimasukan
tidak berjumlah 12*/
{
printf("\nMasukan yang anda masukkan salah\nTekan spasi untuk keluar");

getchar();
return 0;
}

}

for (i=0; i<12; i++) /*menyimpan nilai int yang sebenarnya dari masukan*/
{
kode[i] = (int) input[i] - '0';
}

for (i=0; i<12; i+=2) /*proses perhitungan cheksum digit (digit ke-13)*/
{
kode[12] += kode[i]; /*angka ganjil mempunyai bobot 1*/
}
for (i=1; i<12; i+=2)
{
kode[12] += kode[i]*3; /*angka genap mempunyai bobot 3*/
}
kode[12] = (10 - (kode[12]%10)) % 10;

glutDisplayFunc(barChart); /* Menampilkan graphics ke window */

glutMainLoop(); /* Membuat tampilan dan tunggu */

return 0;
}

NICE PROGRAMMING :)

program c mengubah bilangan desimal ke hexadecimal, biangan decimal ke two's complement.

Pengen berbagi aja,, sekalainingin mengulang2 ilmu yang sudah dipelajari,, kali ini saya membuat program c yang bisa mengubah bilangan decimal ke hexadecimal dan ke two's complement.. untuk tahap awal ..program ini belum menggunakan iterasi agar lebih mudah mengerti step by step perubahan bit2nya...

/*

Authors : Deswati
Deskription : Mengkonversi bilangan desimal ke hexadesimal,
serta desimal ke tow's komplement, untuk mengubah dari desimal ke
twos complement dilakukan algoritma sbb;
terlebih dahulu dalakukan konversi ke binary, kemudian melakukan
ones complement, setelah itu di jumlahkan dengan angka 1
*/

#include // akan meng- include library stdo.h karena di blog ini ga bisa nampilin include stdio.h

int main()
{
//deklarasi variabel yang digunakan
int desimal,hasil_bagi;
int angka1,angka2,angka3,angka4,angka5,angka6,angka7,angka8,angka9,angka10;
int angka11,angka12,angka13,angka14,angka15,angka16,angka17,angka18,angka19,angka20;
int angka21,angka22,angka23,angka24,angka25,angka26,angka27,angka28,angka29,angka30;
int angka31,angka32;

int sisa13, sisa14,sisa15,sisa16,sisa17, sisa18,sisa19,sisa20,sisa21, sisa22,sisa23,sisa24,sisa25,sisa26,sisa27,sisa28,sisa29,sisa30,sisa31,sisa32;

int sisa12, sisa11,sisa10,sisa9,sisa8, sisa7,sisa6,sisa5,sisa4, sisa3,sisa2,sisa1;



printf("Konversi Bilangan Desimal ke Hexadesimal dan Biner Two's Complement\n");
printf("===================================================================\n");

printf("Ketik sebuah bilangan bulat desimal (maksimum 9 digit):\n");
scanf("%d", &desimal);//


if(desimal < 1000000000)
{
//untuk mengubah bilangan decimal ke hexadecimal menggunakan %.8X, karena hanya 8 digit
printf("Dalam basis 16 (hexadecimal), bilangan tersebut =\n%.8X\n\n", desimal);


//convert decimal ke binary
angka1=desimal%2;//1 , memberikan sisa pemebagian
hasil_bagi=desimal/2;//1 , temp = tempat menyimpan sementara nilai pembagian dengan 2


angka2=hasil_bagi%2;//1
hasil_bagi=hasil_bagi/2;//0


angka3=hasil_bagi%2;//0
hasil_bagi=hasil_bagi/2;//0


angka4=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka5=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;

angka6=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka7=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka8=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka9=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka10=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka11=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka12=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka13=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka14=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka15=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka16=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka17=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka18=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka19=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka20=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka21=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;

angka22=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka23=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka24=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka25=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka26=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;

angka27=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;

angka28=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;


angka29=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;

angka30=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;

angka31=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;

angka32=hasil_bagi%2;
hasil_bagi=hasil_bagi/2;

//untuk mendapatkan one's complement dari bilangan desimal negatif
if(desimal<0)
{
if(angka32==0) // jika digit32 bernilai 0, maka akan di komplemen menjadi 1, begitu seterusnya
{
angka32=1;
//
}
else
{
angka32=0;
}

if(angka31==0)
{
angka31=1;
}
else
{
angka31=0;
}

if(angka30==0)
{
angka30=1;
}
else
{
angka30 =0;
}

if(angka29==0)
{
angka29=1;
}
else
{
angka29=0;
}

if(angka28==0)
{
angka28=1;
}
else
{
angka28=0;
}

if(angka27==0)
{
angka27=1;
}
else
{
angka27 =0;
}

if(angka26==0)
{
angka26=1;
}
else
{
angka26=0;
}

if(angka25==0)
{
angka25=1;
}
else
{
angka25=0;
}

if(angka24==0)
{
angka24=1;
}
else
{
angka24=0;
}

if(angka23==0)
{
angka23=1;
}
else
{
angka23=0;
}

if(angka22==0)
{
angka22=1;
}
else
{
angka22=0;
}

if(angka21==0)
{
angka21=1;
}
else
{
angka21=0;
}

if(angka20==0)
{
angka20=1;
}
else
{
angka20=0;
}

if(angka19==0)
{
angka19=1;
}
else
{
angka19 =0;
}

if(angka18==0)
{
angka18=1;
}
else
{
angka18=0;
}

if(angka17==0)
{
angka17=1;
}
else
{
angka17=0;
}

if(angka16==0)
{
angka16=1;
}
else
{
angka16=0;
}

if(angka15==0)
{
angka15=1;
}
else
{
angka15=0;
}

if(angka14==0)
{
angka14=1;
}
else
{
angka14=0;
}

if(angka13==0)
{
angka13=1;
}
else
{
angka13=0;
}

if(angka12==0)
{
angka12=1;
}
else
{
angka12=0;
}

if(angka11==0)
{
angka11=1;
}
else
{
angka11=0;
}

if(angka10==0)
{
angka10=1;
}
else
{
angka10=0;
}

if(angka9==0)
{
angka9=1;
}
else
{
angka9 =0;
}

if(angka8==0)
{
angka8=1;
}
else
{
angka8=0;
}

if(angka7==0)
{
angka7=1;
}
else
{
angka7=0;
}

if(angka6==0)
{
angka6=1;
}
else
{
angka6=0;
}

if(angka5==0)
{
angka5=1;
}
else
{
angka5=0;
}


if(angka4==0)
{
angka4=1;
}
else
{
angka4=0;
}


if(angka3==0)
{
angka3=1;
}
else
{
angka3=0;
}

if(angka2==0)
{
angka2=1;
}
else
{
angka2=0;
}

if(angka1==0)
{
angka1=1;

}

else
{
angka1=0;
}

//untuk mendapatkan hasil dari two's complement dimana one's complement ditambahkan dengan 1
angka1+=1;
if(angka1==2)
{
angka1=0;
sisa1=1;
}
else
{
angka1=1;
sisa1=0;
}



angka2+=sisa1;

if(angka2==2)
{
angka2=0;
sisa2=1;
}
else
{
angka2=1;
sisa2=0;
}



angka3+=sisa2;
if(angka3==2)
{
angka3=0;
sisa3=1;
}
else
{
angka3=1;
sisa3=0;
}


angka4+=sisa3;
if(angka4==2)
{
angka4=0;
sisa4=1;
}
else
{
angka4=1;
sisa4=0;
}


angka5+=sisa4;
if(angka5==2)
{
angka5=0;
sisa5=1;
}
else
{
angka5=1;
sisa5=0;
}

angka6+=sisa5;
if(angka6==2)
{
angka6=0;
angka6=1;
}
else
{
angka6=1;
sisa6=0;
}

angka7+=sisa6;
if(angka7==2)
{
angka7=0;
sisa7=1;
}
else
{
angka7=1;
sisa7=0;
}

angka8+=sisa7;
if(angka8==2)
{
angka8=0;
sisa8=1;
}
else
{
angka8=1;
sisa8=0;
}

angka9+=sisa8;
if(angka9==2)
{
angka9=0;
sisa9=1;
}
else
{
angka9=1;
sisa9=0;
}

angka10+=sisa9;
if(angka10==2)
{
angka10=0;
sisa10=1;
}
else
{
angka10=1;
sisa10=0;
}

angka11+=sisa10;
if(angka11==2)
{
angka11=0;
sisa11=1;
}
else
{
angka11=1;
sisa11=0;
}


angka12+=sisa11;
if(angka12==2)
{
angka12=0;
sisa10=1;
}
else
{
angka12=1;
sisa12=0;
}

angka13+=sisa12;
if(angka13==2)
{
angka13=0;
sisa13=1;
}
else
{
angka13=1;
sisa13=0;
}


angka14+=sisa13;
if(angka14==2)
{
angka14=0;
sisa14=1;
}
else
{
angka14=1;
sisa14=0;
}

angka15+=sisa14;
if(angka15==2)
{
angka15=0;
sisa15=1;
}
else
{
angka15=1;
sisa15=0;
}

angka16+=sisa15;
if(angka16==2)
{
angka16=0;
sisa16=1;
}
else
{
angka16=1;
sisa16=0;
}

angka17+=sisa16;
if(angka17==2)
{
angka17=0;
sisa17=1;
}
else
{
angka17=1;
sisa17=0;
}

angka18+=sisa17;
if(angka18==2)
{
angka18=0;
sisa18=1;
}
else
{
angka18=1;
sisa18=0;
}

angka19+=sisa18;
if(angka19==2)
{
angka19=0;
sisa19=1;
}
else
{
angka19=1;
sisa19=0;
}

angka20+=sisa19;
if(angka20==2)
{
angka20=0;
sisa20=1;
}
else
{
angka20=1;
sisa20=0;
}
angka21+=sisa20;
if(angka21==2)
{
angka21=0;
sisa21=1;
}
else
{
angka21=1;
sisa21=0;
}

angka21+=sisa20;
if(angka21==2)
{
angka21=0;
sisa21=1;
}
else
{
angka21=1;
sisa21=0;
}

angka22+=sisa21;
if(angka22==2)
{
angka22=0;
sisa22=1;
}
else
{
angka22=1;
sisa22=0;
}
angka23+=sisa22;
if(angka23==2)
{
angka23=0;
sisa23=1;
}
else
{
angka23=1;
sisa23=0;
}
angka24+=sisa23;
if(angka24==2)
{
angka24=0;
sisa24=1;
}
else
{
angka24=1;
sisa24=0;
}

angka25+=sisa24;
if(angka25==2)
{
angka25=0;
sisa25=1;
}
else
{
angka25=1;
sisa25=0;
}

angka26+=sisa25;
if(angka26==2)
{
angka26=0;
sisa26=1;
}
else
{
angka26=1;
sisa26=0;
}
angka27+=sisa26;
if(angka26==2)
{
angka26=0;
sisa26=1;
}
else
{
angka26=1;
sisa26=0;
}

angka27+=sisa26;
if(angka27==2)
{
angka27=0;
sisa27=1;
}
else
{
angka27=1;
sisa27=0;
}

angka28+=sisa27;
if(angka28==2)
{
angka28=0;
sisa28=1;
}
else
{
angka28=1;
sisa28=0;
}

angka29+=sisa28;
if(angka29==2)
{
angka29=0;
sisa29=1;
}
else
{
angka29=1;
sisa29=0;
}

angka30+=sisa29;
if(angka30==2)
{
angka30=0;
sisa30=1;
}
else
{
angka30=1;
sisa30=0;
}

angka31+=sisa30;
if(angka31==2)
{
angka31=0;
sisa31=1;
}
else
{
angka31=1;
sisa31=0;
}

angka32+=sisa31;
if(angka32==2)
{
angka32=0;
sisa32;
}
else
{
angka32=1;
sisa10=0;
}
}

/*mencetak hasil dari two's complement*/
printf("Dalam basis 2 (two's complement, 32 bit binary), bilangan tersebut =\n%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d\n", angka32,angka31,angka30,angka29,angka28,angka27,angka26,angka25,angka24,angka23,
angka22,angka21,angka20,angka19,angka18,angka17,angka16,angka15,angka14,angka13,
angka12,angka11,angka10,angka9,angka8,angka7,angka6,angka5,angka4,angka3
,angka2,angka1);

}

else
{
printf("digit yang anda masukkan lebih dari 9, silahkan masukkan kembali\n");
scanf("%d", &desimal);
main();
}

getchar();
getchar();
return 0;

}

sebenarnya program ini bisa di buat lebih sederhana,,, untuk pertama ga pa2 seperti ini,,, :)