Skip to main content

Tampilkan biner dari sebuah karakter (C++)

pada bahasa C tidak ad intruksi untuk menampilkan nilai biner sehingga jika kita ingin tau nilai biner dari sebuah karakter atau angka, maka kita harus menghitung sendiri.

kali ini akan saya bahas bagaimana cara tampilkan nilai biner dari sebuah karakter walaupun nilai yg akan tampil nanti juga sebuah karakter 0 atau 1.

jika karakter 0 dan 1 tersebut diurut maka akan membentuk urutan biner, sekali lagi saya ingatkan bahwa urutan angka 0 dan 1 bukan merupakan biner melainkan sebuah karakter.

langsung aja kita liat proses yg dikerjakan oleh program ini.
1. menunggu data dari keyboard berupa sebuah karakter
2. mengubah menjadi hexa dan ditampilakan
3. melakukan pembagian 2 untuk mendapatkan nilai akhir (LSB) seperti pada program yg telah saya bahas sebelumnya.
4. menyimpan data sisa pembagian tersebut ke sebuah variable (ada 8 variable untuk 8 bit biner)
5. melakukan pergeseran kekanan untuk bit berikutnya (lihat ilustrasi)
6. mengulangi langkah 3 sampai 5 sampai pengulangan yg ke delapan (untuk 8 bit biner)

programnya adalah seperti dibawah ini:


#include
#include
main()
{ char karakter;
int geser,bit,simpan,data=0,
d1,d2,d3,d4,d5,d6,d7,d8;
clrscr();
printf("masukkan karakter = ");
scanf("%c",&karakter);
printf("nilai hexa nya adalah : %xh\n",karakter);
geser=karakter;
for(bit=0;bit<8;bit++)
{
simpan=geser%2;
data=data++;
if(data==1)
{
d1=simpan;
}
if(data==2)
{
d2=simpan;
}
if(data==3)
{
d3=simpan;
}
if(data==4)
{
d4=simpan;
}
if(data==5)
{
d5=simpan;
}
if(data==6)
{
d6=simpan;
}
if(data==7)
{
d7=simpan;
}
if(data==8)
{
d8=simpan;
}
geser=geser>>1;
}
printf("nilai biner dari karakter yang anda masukkan adalah : \n\n");
printf("%d%d%d%d %d%d%d%d",d8,d7,d6,d5,d4,d3,d2,d1);
getch();
}

alur ilustrasi program dengan contoh karakter "A" tanpa tanda kutip:
A = 41 hexa
biernya:
step 1.
0100 0001
-----------%2---sisa 1

step 2.
geser kanan
0010 0000
-----------%2---sisa 0

step 3.
geser kanan
0001 0000
-----------%2---sisa 0

step 4.
geser kanan
0000 1000
-----------%2---sisa 0

step 5.
geser kanan
0000 0100
-----------%2---sisa 0

step 6.
geser kanan
0000 0010
-----------%2---sisa 0

step 7.
geser kanan
0000 0001
-----------%2---sisa 1

step 8.
geser kanan
0000 0000
-----------%2---sisa 0

selesai.......

jika diurutkan mulai dari step 8 sapai step 1
maka akan terlihat seperti berikut ini
[step8][step7][step6][step5] [step4][step3][step2][step1]
0 1 0 0 0 0 0 1

bernilai 41 benar kan?
selamat mencoba...........

Comments

Popular posts from this blog

PCB Jam Digital 7 Segmen Mengunakan ATmega8 (PCB,SCH dan Firmware Download)

akhirnya tercapai juga ni......
mau upload yang satu ini. langsung ke TKP aja. semoga bermanfaat.



rangkaian skematicnya seperti berikut ini


rangkaian diatas menggunakan NET sehingga dengan hanya mengganti nama pada tiap PIN komponen maka dengan mudah langsung terhubung secara otomatis. terlihat lebih rapi kan..........? jika kita menggunakan kabel semuanya. mungkin yg liatnya udah pusing duluan. tp jangan panik.......... disini saya sertakan link download PCB dan skematic diatas.
Download..... PCB jam digital ATmega8Skematik Jam Digital ATmega8Firmware jam digital ATmega8Main Program jam digital ATmega8 (sudah OK)Sub rutin program jam digital ATmega8Project file programListing komponencara gabung program karkulasi.c dan program utamaHasil rangkaian Jam digital ATmega8 Semua file download diatas terutama pada main program dan sub rutin harus di gabungkan untuk dapat di kompilasi menjadi file [dot]HEX,  atau bisa langsung gunakan file firmware dan diisi ke mikrokontroller ATmega8. terima…

Minimum System ATmega8535/16/32 PCB Menggunakan Software Eagle

perhatkan screen shot berikut ini, mungkin dah pada tau kalo ngeliat ni rangkaian. soalnya sangat - sangat simple and sangat mudah untuk dibuat apalagi kalau menggunakan cara membuat PCB seperti yang telah saya jelaskan pada posting sebelum - sebelumnya.


gambar diatas merupakan PCBminimum system ATmega8535 / ATmega16 / ATmega32. kenapa demikian?
karena konfigurasi pin dari jenis Microcontroller diatas adalah sama, hanya dibedakan pada memorinya saja.
perhatikan juga tata letak komponennya yang hanya sedikit he he he...

untuk posisi port udah tersusun rapi dikaenakan konfigurasi pin mikrokontroller ini sudah berurutan jadi gak susah - susah deh...
untuk lebih jelasnya bisa langsung lihat data sheetnya aja oke? berikut juga saya sertakan PCB nya menggunakan eagle versi 5.0.0

download
[1] ATmega8535
[2] ATmega16
[3] ATmega32
[4] Minimum system Mikrokontroller ATmega8535/16/32

ada pertanyaan? silahkan....
ada permintaan? monggo......
salam anak pulau aje ye......:-)

Related Article
[1] Mini…

Perbaiki Baterai Lithium Polymer (li-po)

kalo ngetik ni key word seperti diatas tu....bakalan nyasar kesini...
nah......

gak usah banyak basa-basi deh.
malam ini ada masalah besar yang terjadi pada baterai line tracer kesayanganku, sebuah Lithium Polymer di nyatakan rusak oleh chargernya sendiri... begitu tega dia mengkhianati pasangannya... ngaur aja ni....

tu....kasus ini udah buat saya rugi sampe Rp. 180 Rb untuk sebuah harga baterai Lithium Polymer yang memiliki tegangan 7,4 dimana terdapat 2 buah cell baterai didalamnya.

ada beberapa hal yang perlu diperhatikan kalau pakai baterai Li-po ini.

pada baterai
1. baterai akan rusak jika tegangan di tiap cellnya dibawah 3,5 Volt. normalnya 3.7.

2. mengisi ulang baterai hanya bisa dilakukan dengan charger khusus yang telah diatur khusus menjaga tegangan tetap stabil, jika menggunakan charger biasa maka baterai dalam jangka waktu panjang akan menggelembung.

pada charger (yang murahan ni....)
1. tegangan input charger menggunakan 12 DC
2. led merah akan menyala jika power input charger…