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.
Pada artikel sebelumnya, kita sudah memberi contoh bagaimana angka 0 sampai 9 dikonversi ke dalam deretan angka biner. Disini kita sajikan lagi:
Desimal | Biner |
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
9 | 1001 |
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.
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.
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.
Karakter | Representasi Biner | Keterangan |
A | 01000001 | A kapital |
B | 01000010 | B kapital |
C | 01000011 | C kapital |
a | 01100001 | A kecil |
b | 01100010 | B kecil |
c | 01100011 | C kecil |
+ | 00101011 | Tanda plus |
– | 00101101 | Tanda minus |
% | 00100101 | Karakter persen |
& | 00100110 | Karakter dan |
ش | 11011000 10110100 | Huruf arab syin |
機 | 11100110 10101001 10011111 | Karakter cina (Jī) yang artinya mesin |
꧓ | 11101010 10100111 10010011 | Angka 3 dalam karakter jawa |
⇨ | 11100010 10000111 10101000 | Simbol panah ke kanan |
🙂 | 11110000 10011111 10011001 10000010 | Emoji smiley |
Untuk lengkapnya, silakan cek disini: https://www.utf8-chartable.de/unicode-utf8-table.pl
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 🙂
https://www3.ntu.edu.sg/home/ehchua/programming/java/datarepresentation.html
dan dapatkan konten-konten menarik tentang sains dan teknologi langsung di inbox email kamu