Site icon SainsPop

Angka Biner: Bagaimana Komputer Menyimpan dan Mengolah Data

Pada artikel sebelumnya, sudah kita singgung sedikit tentang sistem bilangan biner beserta perbandingannya dengan sistem bilangan lain. Pada artikel kali ini kita akan fokus membahas bagaimana komputer menyimpan dan mengolah data dalam deretan angka-angka biner.

Di komputer, segala jenis data (mulai dari teks, angka-angka, musik dan video) harus direpresentasikan oleh deretan angka biner. Disini kita akan membedah bagaimana komputer merepresentasikan berbagai jenis data dalam bentuk angka biner.

Data numerik dalam biner

Pada artikel sebelumnya, kita sudah memberi contoh bagaimana angka 0 sampai 9 dikonversi ke dalam deretan angka biner. Disini kita sajikan lagi:

DesimalBiner
00
11
210
311
4100
5101
6110
7111
81000
91001

Kalau diperhatikan, jumlah angka biner (sebutan umumnya: bit, singkatan dari binary digit) yang dibutuhkan untuk merepresentasikan sebuah angka berbeda satu sama lain. Angka 2 dan 3 hanya butuh 2 bit. Sementara angka 4 sampai 7 butuh 3 bit. Angka-angka yang lebih besar tentu butuh jumlah bit yang lebih banyak. 

Untuk mempermudah pemrosesan angka-angka ini di prosesor, jumlah bit yang dipakai harus diseragamkan. Jumlah bit yang biasa dipakai di komputer adalah 8, 16, 32 atau 64 bit. Untuk angka-angka kecil yang hanya butuh kurang dari jumlah bit yang dipakai, maka di bagian depannya kita sumpel dengan angka 0. 

Jadi seandainya kita pilih representasi 8 bit. Maka untuk angka 4 yang sebenarnya cukup direpresentasikan dengan 100, kita harus tambahkan 5 angka 0 didepannya agar jadi 8 bit: 0000 0100. 

Bilangan riil dalam biner

Sejauh ini kita baru bicara bilangan bulat (tanpa koma-komaan). Untuk bilangan riil (angka pecahan atau yang ada komanya), cara merepresentasikannya beda lagi. IEEE sudah membuat standar tersendiri untuk angka fraksional ini. Berikut ini contoh representasi angka 0,15625 dalam format IEEE 754 single-precision floating-point.

Bisa dilihat bit pertama digunakan untuk tanda positif atau negatif, 0 berarti positif, sementara 1 berarti negatif. 8 bit berikutnya untuk merepresentasikan angka eksponennya. Sisanya untuk merepresentasikan nilai pecahannya.

Representasi teks dalam biner

Pada data berupa teks. Setiap huruf dan karakter dikonversikan menjadi angka-angka biner. Hal ini disebut pengkodean karakter (character encoding). Saat ini ada banyak standar pengkodean karakter yang dipakai. Yang paling banyak dipakai adalah UTF-8. UTF-8 menggunakan 8 bit untuk merepresentasikan berbagai huruf dan karakter. Namun berbeda dengan representasi angka yang harus seragam, pada UTF, jumlah bit yang dipakai bisa kurang dari 8 bit. Untuk huruf alfabet yang sering dipakai, UTF memilih jumlah bit yang lebih sedikit. Dengan begitu ukuran file-file teks dengan pengkodean UTF-8 bisa lebih kecil.

Perlu diingat, direpresentasikan disini bukan cuma alfabet dan karakter-karakter umum saja. Tapi juga banyak huruf asing dan simbol lain. Misal, di dalam UTF-8, ada representasi huruf cina, huruf arab, aksara jawa, simbol-simbol, emoticon dan lain sebagainya. Berikut ini beberapa contoh pengkodean beberapa karakter ke dalam angka biner dalam UTF-8. 

KarakterRepresentasi BinerKeterangan
A01000001A kapital
B01000010B kapital
C01000011C kapital
a01100001A kecil
b01100010B kecil
c01100011C kecil
+00101011Tanda plus
00101101Tanda minus
%00100101Karakter persen
&00100110Karakter dan
ش11011000 10110100Huruf arab syin
11100110 10101001 10011111Karakter cina (Jī) yang artinya mesin
11101010 10100111 10010011Angka 3 dalam karakter jawa
11100010 10000111 10101000Simbol panah ke kanan
🙂11110000 10011111 10011001 10000010Emoji smiley

Untuk lengkapnya, silakan cek disini: https://www.utf8-chartable.de/unicode-utf8-table.pl

Data-data lain dalam biner

Di komputer, tentunya kita tidak cuma berkutat dengan angka dan teks. Kita kan sering juga liatin instagram, nonton filem, main game dan dengerin musik. Gimana caranya gambar, suara, video dan aneka jenis data lainnya direpresentasikan oleh komputer dalam angka biner? Tunggu postingan berikutnya 🙂

Referensi

https://www3.ntu.edu.sg/home/ehchua/programming/java/datarepresentation.html

Exit mobile version