--- title: "Membaca Binary Secara Manual" description: "Bagaimana membaca sekumpulan angka 0 dan 1 (Binary) menjadi decimal. Kemudian cara menggunakan angka desimal tersebut diterjemahkan ke text (ASCII) menggunakan ASII table" summary: "Bagaimana membaca sekumpulan angka 0 dan 1 (Binary) menjadi decimal. Kemudian cara menggunakan angka desimal tersebut diterjemahkan ke text (ASCII) menggunakan ASII table" # linkTitle: date: 2012-01-08T04:29:52+07:00 lastmod: draft: false noindex: false # comments: false nav_weight: 1000 # nav_icon: # vendor: bootstrap # name: toggles # color: '#e24d0e' series: - Ilmu Komputer categories: - TIL tags: - Binary images: # menu: # main: # weight: 100 # params: # icon: # vendor: bs # name: book # color: '#e24d0e' authors: - ditatompel - jasmerah1966 --- Tulisan ini diadopsi dari tulisan om **ditatompel** dari **devilzc0de** yang berjudul Membaca [Binary Secara Manual](https://rtd.ditatompel.com/membaca-binary-secara-manual/) dan diadaptasi seperlunya. Semoga berguna terutama buat kamu yang ingin mulai masuk di bidang ilmu komputer. Sebenarnya artikel ini udah lama. Beberapa saya pungut dari tulisannya om **Capsoel** di **X-Code Magazine edisi 6**, om **ditatompel** dari **devilzc0de** dan sisanya _Googling_. Semoga berguna terutama buat kamu yang ingin mulai masuk di bidang ilmu komputer. ## Apa itu bilangan Binary? ``` 01000100011001010111011001101001011011000111101001100011001100000110010001100101 ``` Apa itu? kenapa hanya angka `0` dan `1`? Saya yakin tidak semua orang (bahkan yang setiap harinya utak atik komputer) mengerti bagimana membaca **Binary**. Bahkan orang-orang yang _"ahli"_ berkecimpung di bidang trading Binomo seperti **Indra Kenz** atau **Doni Salmanan** yang baru viral belakangan ini mengerti cara menerjemahkan _binary_ ke _decimal_, karena memang tidak ada hubungannya dengan _trading_ mereka :laughing:. Sederetan angka 0 dan 1 ini adalah kode **binary**. Pertama, saya akan menunjukan bagaimana membaca sekumpulan angka 0 dan 1 tersebut sebagai angka **desimal**. Kemudian saya baru menunjukan bagaimana cara menggunakan angka tersebut diterjemahkan ke text (ASCII) menggunakan **ASCII table**. ## Menerjemahkan Binary ke Decimal Sebagai contoh mudah: ``` 10101 ``` pertama, bayangkan 5 digit di atas adalah sebuah slot kosong (tolong, ini bukan judi slot gacor ya :wink:): ``` _ _ _ _ _ ``` Cara membaca **binary** adalah dari kanan ke kiri. - Slot **pertama** dari kanan mewakili nilai **1**, - slot **kedua** dari kanan mewakili nilai **2**, - slot **ketiga** mewakili nilai **4**, - slot **keempat** mewakili nilai **8**, - slot **kelima** mewakili **16**, - dan seterusnya hingga slot ke 8. ``` slot 1 = 1 slot 2 = 2 slot 3 = 4 slot 4 = 8 slot 5 = 16 slot 6 = 32 slot 7 = 64 slot 8 = 128 ``` Dengan memberikan angka `1` atau `0` pada slot-slot tersebut, kita menentukan nilai pada slot tersebut. 1 bernilai "`true`", dan 0 bernilai "`false`". Sebagai contoh: - nilai bilangan **desimal** `1` dalam **binary** adalah `1`, - nilai bilangan **desimal** `2` dalam **binary** adalah `10`, - nilai bilangan **desimal** `4` dalam **binary** adalah `100`. Kenapa bisa begitu? Kembali lagi ke slot-slot di atas. Slot pertama dari kanan bernilai `1`, jadi jika slot pertama adalah angka `1` maka nilainya juga `1` dan bilangan binernya adalah `1`. ``` _ _ _ _ 1 ``` Untuk **desimal** `2`, bilangan **biner** = `10` karena slot pertama bernilai 1 diberi angka 0 (_false_) dan slot ke 2 diberi angka 1 (_true_) ``` _ _ _ 1 0 ``` Untuk **desimal** `4`, bilangan **biner** = `100` karena slot pertama bernilai 1 diberi angka 0 (_false_) dan slot ke 2 diberi angka 0 (_false_) dan baru slot ketiga yg bernilai 4 diberi angka 1 (_true_) ``` _ _ 1 0 0 ``` Lalu gimana klo **desimal** `3`? Kan ga ada nilainya pada slot? `1 + 2 = 3`. Jadi, nilai **desimal** `3` pada **binary** adalah `11` ``` _ _ _ 1 1 ``` klo desimal `5`? `1 + 4 = 5` berarti bilangan _binernya_ `101`. ``` _ _ 1 0 1 ``` Lalu jika kode binernya panjang banget seperti ini? Gimana bacanya ke **ASCII** / _text_? ``` 01000100011001010111011001101001011011000111101001100011001100000110010001100101 ``` Pisahkan dulu menjadi 8 digit: ``` 01000100 01100101 01110110 01101001 01101100 01111010 01100011 00110000 01100100 01100101 ``` Lalu convert ke bilangan **decimal** ``` 01000100 = 68 01100101 = 101 01110110 = 118 01101001 = 105 01101100 = 108 01111010 = 122 01100011 = 99 00110000 = 48 01100100 = 100 01100101 = 101 ``` ## Menerjemahkan Decimal ke ASCII Lalu ASCIInya mana? Untuk menerjemahkan Decimal ke ASCII, bisa menggunakan ASCII table berikut (gunakan kolom `Dec` dan `Char`): ![ASCII table](ascii-table.png#center "ASCII table") Atau jika menggunakan Windows bisa coba gunakan Notepad pada Windows, caranya tahan ALT + Bilangan decimal yang sudah ditranslate. (terakhir saya coba di Notepad Windows XP, kurang tau sekarang masih bisa atau tidak). Misal : ALT + 68 = `D` ALT + 101 = `e` dan seterusnya, silahkan dicoba dan dibuktikan.