Dalam dunia matematika dan ilmu komputer, konsep bilangan pokok, atau sering juga disebut basis atau radix, merupakan fondasi yang fundamental untuk memahami bagaimana angka direpresentasikan dan diproses. Tanpa pemahaman yang kuat tentang bilangan pokok, banyak aspek teknologi modern, dari cara kerja komputer hingga enkripsi data, akan terasa misterius dan sulit untuk dipelajari. Artikel ini akan membawa Anda menyelami lebih dalam tentang apa itu bilangan pokok, mengapa ia begitu penting, bagaimana berbagai sistem bilangan bekerja, dan bagaimana kita dapat mengonversinya satu sama lain.
Kita terbiasa menggunakan sistem bilangan desimal (basis 10) dalam kehidupan sehari-hari. Namun, di balik layar, komputer mengandalkan sistem biner (basis 2), dan programmer sering menggunakan oktal (basis 8) serta heksadesimal (basis 16) untuk mempermudah pekerjaan mereka. Setiap sistem ini memiliki bilangan pokok yang berbeda, yang menentukan jumlah digit unik yang tersedia untuk merepresentasikan suatu nilai. Mari kita uraikan seluk-beluknya.
Secara sederhana, bilangan pokok dari suatu sistem bilangan adalah jumlah digit unik, termasuk nol, yang digunakan oleh sistem tersebut untuk merepresentasikan angka. Dalam sistem bilangan berbasis posisi (positional numeral system), nilai dari setiap digit tidak hanya ditentukan oleh simbolnya sendiri, tetapi juga oleh posisinya dalam angka. Posisi tersebut mewakili pangkat dari bilangan pokok.
Misalkan kita memiliki sebuah angka $N$ yang direpresentasikan dalam sistem bilangan pokok $b$. Angka tersebut dapat ditulis sebagai $d_n d_{n-1} \dots d_1 d_0$, di mana $d_i$ adalah digit pada posisi $i$. Nilai desimal dari angka $N$ ini dapat dihitung menggunakan rumus:
N = $d_n \times b^n + d_{n-1} \times b^{n-1} + \dots + d_1 \times b^1 + d_0 \times b^0$
Di sini:
b
adalah bilangan pokok atau basis.d_i
adalah digit pada posisi ke-i
. Setiap digit d_i
harus lebih kecil dari b
(yaitu, 0 <= d_i < b
).b^i
adalah bobot posisi atau nilai tempat untuk digit d_i
.Konsep ini adalah kunci untuk memahami bagaimana satu angka dapat memiliki representasi yang berbeda dalam sistem bilangan yang berbeda, tetapi tetap mempertahankan nilai intrinsik yang sama.
Bilangan pokok bukan sekadar konsep matematis abstrak. Ia memiliki aplikasi praktis yang luas:
Meskipun secara teoritis ada bilangan pokok tak terbatas (setiap bilangan bulat lebih besar dari 1 dapat menjadi basis), ada empat sistem bilangan pokok yang paling sering digunakan dan menjadi dasar bagi banyak teknologi dan pemahaman matematis modern.
Sistem desimal adalah sistem bilangan yang paling akrab bagi kita semua. Kata "desimal" berasal dari bahasa Latin "decem" yang berarti sepuluh. Sistem ini menggunakan sepuluh digit unik: 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. Bilangan pokoknya adalah 10.
Angka desimal 245
dapat diuraikan sebagai:
24510 = (2 × 102) + (4 × 101) + (5 × 100) = (2 × 100) + (4 × 10) + (5 × 1) = 200 + 40 + 5 = 245
Sistem desimal telah digunakan oleh manusia selama ribuan tahun, kemungkinan besar karena kemudahan menghitung menggunakan sepuluh jari tangan.
Sistem biner adalah sistem bilangan yang paling mendasar dalam ilmu komputer dan elektronik digital. Kata "biner" berasal dari bahasa Latin "bini" yang berarti dua. Sistem ini hanya menggunakan dua digit unik: 0 dan 1. Bilangan pokoknya adalah 2.
Komputer menggunakan biner karena sangat cocok dengan representasi fisik sirkuit elektronik. "0" dapat diartikan sebagai tidak ada tegangan atau kondisi "off", dan "1" sebagai ada tegangan atau kondisi "on". Ini membuat desain dan implementasi sirkuit digital menjadi sangat efisien dan andal.
Angka biner 1011
dapat diuraikan sebagai:
10112 = (1 × 23) + (0 × 22) + (1 × 21) + (1 × 20) = (1 × 8) + (0 × 4) + (1 × 2) + (1 × 1) = 8 + 0 + 2 + 1 = 1110
Sistem oktal menggunakan delapan digit unik: 0, 1, 2, 3, 4, 5, 6, dan 7. Bilangan pokoknya adalah 8. Sistem ini sering digunakan di masa lalu dalam komputasi karena kemudahannya dalam merepresentasikan angka biner dalam bentuk yang lebih ringkas.
Karena $8 = 2^3$, setiap digit oktal dapat direpresentasikan dengan tepat tiga digit biner (bit). Ini membuat konversi antara oktal dan biner sangat mudah, hanya dengan mengelompokkan atau memecah bit-bit biner menjadi kelompok tiga.
Angka oktal 37
dapat diuraikan sebagai:
378 = (3 × 81) + (7 × 80) = (3 × 8) + (7 × 1) = 24 + 7 = 3110
Sistem heksadesimal adalah salah satu sistem bilangan pokok yang paling umum digunakan dalam pemrograman komputer dan teknologi digital saat ini. Kata "heksa" berarti enam dan "desimal" berarti sepuluh, jadi heksadesimal berarti enam belas. Sistem ini menggunakan enam belas digit unik. Karena kita hanya memiliki sepuluh simbol angka (0-9), enam simbol tambahan diambil dari huruf alfabet: A, B, C, D, E, dan F.
Sama seperti oktal, heksadesimal memudahkan representasi angka biner yang panjang dalam bentuk yang lebih ringkas. Karena $16 = 2^4$, setiap digit heksadesimal dapat direpresentasikan dengan tepat empat digit biner (bit). Ini sangat berguna untuk alamat memori, nilai warna (misalnya, dalam CSS, #RRGGBB
), dan representasi data dalam debugging atau protokol jaringan.
Angka heksadesimal 2AF
dapat diuraikan sebagai:
2AF16 = (2 × 162) + (A × 161) + (F × 160) = (2 × 256) + (10 × 16) + (15 × 1) = 512 + 160 + 15 = 68710
Kemampuan untuk mengonversi angka dari satu sistem bilangan pokok ke sistem bilangan pokok lainnya adalah keterampilan yang esensial, terutama dalam ilmu komputer. Mari kita pelajari metode konversi untuk pasangan sistem bilangan yang paling umum.
Metode ini adalah yang paling mendasar dan sudah kita lihat dalam contoh-contoh di atas. Kita menggunakan rumus nilai tempat:
N = $d_n \times b^n + d_{n-1} \times b^{n-1} + \dots + d_1 \times b^1 + d_0 \times b^0$
Konversikan 110112
ke desimal.
110112 = (1 × 24) + (1 × 23) + (0 × 22) + (1 × 21) + (1 × 20) = (1 × 16) + (1 × 8) + (0 × 4) + (1 × 2) + (1 × 1) = 16 + 8 + 0 + 2 + 1 = 2710
Konversikan 4728
ke desimal.
4728 = (4 × 82) + (7 × 81) + (2 × 80) = (4 × 64) + (7 × 8) + (2 × 1) = 256 + 56 + 2 = 31410
Konversikan A5F16
ke desimal (ingat A=10, F=15).
A5F16 = (A × 162) + (5 × 161) + (F × 160) = (10 × 256) + (5 × 16) + (15 × 1) = 2560 + 80 + 15 = 265510
Untuk mengonversi bilangan desimal ke sistem bilangan pokok $b$ lainnya, kita menggunakan metode pembagian berulang dengan $b$ dan mencatat sisa pembagiannya. Digit-digit hasil konversi dibaca dari sisa terakhir hingga sisa pertama.
Konversikan 2710
ke biner.
Operasi | Hasil Pembagian | Sisa |
---|---|---|
27 ÷ 2 | 13 | 1 (digit terakhir) |
13 ÷ 2 | 6 | 1 |
6 ÷ 2 | 3 | 0 |
3 ÷ 2 | 1 | 1 |
1 ÷ 2 | 0 | 1 (digit pertama) |
Membaca sisa dari bawah ke atas: 110112
.
Konversikan 31410
ke oktal.
Operasi | Hasil Pembagian | Sisa |
---|---|---|
314 ÷ 8 | 39 | 2 (digit terakhir) |
39 ÷ 8 | 4 | 7 |
4 ÷ 8 | 0 | 4 (digit pertama) |
Membaca sisa dari bawah ke atas: 4728
.
Konversikan 265510
ke heksadesimal.
Operasi | Hasil Pembagian | Sisa | Digit Heksadesimal |
---|---|---|---|
2655 ÷ 16 | 165 | 15 | F (digit terakhir) |
165 ÷ 16 | 10 | 5 | 5 |
10 ÷ 16 | 0 | 10 | A (digit pertama) |
Membaca sisa dari bawah ke atas: A5F16
.
Karena 8 ($2^3$) dan 16 ($2^4$) adalah pangkat dari 2, konversi antara sistem-sistem ini sangatlah mudah dan tidak memerlukan pembagian atau perkalian yang kompleks. Kita hanya perlu mengelompokkan bit-bit biner.
Kelompokkan bit biner menjadi grup tiga, mulai dari kanan. Jika kelompok paling kiri tidak lengkap tiga bit, tambahkan nol di depannya.
Contoh: Konversikan 1101101002
ke oktal.
110 110 100 6 6 4
Jadi, 1101101002
= 6648
.
Contoh lain: Konversikan 10110112
ke oktal.
Pad: 001 011 011 1 3 3
Jadi, 10110112
= 1338
.
Ganti setiap digit oktal dengan representasi biner 3-bit-nya.
Contoh: Konversikan 5378
ke biner.
5 3 7 101 011 111
Jadi, 5378
= 1010111112
.
Kelompokkan bit biner menjadi grup empat, mulai dari kanan. Jika kelompok paling kiri tidak lengkap empat bit, tambahkan nol di depannya.
Contoh: Konversikan 1101101001112
ke heksadesimal.
1101 1010 0111 D A 7
Jadi, 1101101001112
= DA716
.
Contoh lain: Konversikan 10111012
ke heksadesimal.
Pad: 0101 1101 5 D
Jadi, 10111012
= 5D16
.
Ganti setiap digit heksadesimal dengan representasi biner 4-bit-nya.
Contoh: Konversikan F3C16
ke biner (ingat F=15, C=12).
F 3 C 1111 0011 1100
Jadi, F3C16
= 1111001111002
.
Prinsip-prinsip aritmatika dasar (penjumlahan, pengurangan, perkalian, pembagian) berlaku di semua sistem bilangan. Perbedaannya terletak pada berapa banyak "yang dibawa" atau "meminjam" ketika digit melampaui atau kurang dari bilangan pokok.
Aturan dasar penjumlahan biner adalah:
11012 (1310) + 10112 (1110) ------- 110002 (2410) Langkah-langkah: 1. Paling kanan: 1 + 1 = 0, bawa 1. 2. Posisi kedua: 0 + 1 + 1 (bawaan) = 0, bawa 1. 3. Posisi ketiga: 1 + 0 + 1 (bawaan) = 0, bawa 1. 4. Posisi paling kiri: 1 + 1 (bawaan) = 0, bawa 1. 5. Paling kiri (digit tambahan): 1 (bawaan) = 1.
Aturan dasar pengurangan biner adalah:
11012 (1310) - 01102 ( 610) ------- 01112 ( 710) Langkah-langkah: 1. Paling kanan: 1 - 0 = 1. 2. Posisi kedua: 0 - 1. Kita pinjam dari kolom kiri. Kolom ketiga (1) menjadi 0. Kolom kedua menjadi 2 (dalam desimal), jadi 2 - 1 = 1. 3. Posisi ketiga: 0 - 1. Kita pinjam dari kolom kiri. Kolom keempat (1) menjadi 0. Kolom ketiga menjadi 2 (dalam desimal), jadi 2 - 1 = 1. 4. Posisi paling kiri: 0 - 0 = 0.
Perkalian biner mirip dengan perkalian desimal, tetapi lebih sederhana karena kita hanya berurusan dengan 0 dan 1.
1012 (510) x 112 (310) ------- 101 (101 * 1) + 1010 (101 * 1, digeser satu posisi ke kiri) ------- 11112 (1510)
Pembagian biner juga mengikuti prinsip yang sama dengan pembagian panjang desimal, tetapi dengan operasi yang disederhanakan.
112 (310) ____ 10)1102 (610) -10 --- 10 -10 --- 0
Pemahaman tentang bilangan pokok meluas jauh melampaui konversi dan aritmatika dasar. Konsep ini adalah tulang punggung dari banyak teknologi yang kita gunakan setiap hari.
Setiap informasi dalam komputer, mulai dari teks, gambar, suara, hingga video, disimpan dan diproses sebagai rangkaian bit (binary digit). Setiap bit adalah 0 atau 1. Kelompok bit membentuk byte (biasanya 8 bit), word (misalnya, 16, 32, atau 64 bit), dan seterusnya.
0xFC00A
lebih mudah dibaca daripada rangkaian biner panjang 11111100000000001010
. Ini memungkinkan programmer dan insinyur untuk menunjuk lokasi memori dengan cepat.010000012
atau 4116
.#FF0000
, dan putih adalah #FFFFFF
.Dalam jaringan komputer, bilangan pokok memainkan peran krusial:
192.168.1.1
). Namun, secara internal, ini adalah biner. Setiap oktet biner dapat berjumlah dari 000000002
(0 desimal) hingga 111111112
(255 desimal).00:1A:2B:3C:4D:5E
).Algoritma kriptografi modern sering kali melibatkan operasi matematika pada bilangan bulat yang sangat besar. Terkadang, bilangan pokok yang sangat besar digunakan dalam teori di balik algoritma ini, meskipun implementasinya mungkin tetap dalam biner pada tingkat mesin. Misalnya, sistem kriptografi kunci publik seperti RSA mengandalkan kesulitan faktorisasi bilangan bulat yang sangat besar. Bilangan-bilangan ini secara konseptual dapat dianggap berada dalam basis yang sangat tinggi.
Mikrokontroler dan sistem embedded berinteraksi langsung dengan dunia fisik melalui input dan output digital (0 atau 1). Pemrograman perangkat keras ini sering melibatkan manipulasi bit secara langsung, seperti mengatur register atau membaca status sensor, yang semuanya memerlukan pemahaman biner dan heksadesimal.
Meskipun desimal, biner, oktal, dan heksadesimal adalah yang paling dominan, ada sistem bilangan pokok lain yang memiliki relevansi historis, teoritis, atau niche tertentu.
Sistem ternary menggunakan tiga digit: 0, 1, dan 2. Beberapa upaya telah dilakukan untuk membuat komputer ternary (disebut komputer triter), karena secara teoritis ternary dapat lebih efisien dalam menyimpan informasi per digit dibandingkan biner (log base 2 dari 3 > 1.58). Namun, kesulitan dalam membangun sirkuit yang stabil dengan tiga keadaan berbeda telah menghambat adopsi luas.
Contoh: 1203
= $1 \times 3^2 + 2 \times 3^1 + 0 \times 3^0 = 1 \times 9 + 2 \times 3 + 0 \times 1 = 9 + 6 + 0 = 15_{10}$.
Sistem duodecimal menggunakan dua belas digit. Karena sepuluh simbol angka tidak cukup, biasanya ditambahkan simbol seperti 'A' (untuk 10) dan 'B' (untuk 11). Sistem ini memiliki beberapa keuntungan karena 12 dapat dibagi habis oleh 2, 3, 4, dan 6 (sedangkan 10 hanya oleh 2 dan 5). Beberapa budaya kuno menggunakan basis 12 untuk perhitungan (misalnya, jumlah ruas jari kecuali ibu jari pada satu tangan). Waktu (12 jam, 60 menit) dan sudut (360 derajat) juga memiliki sisa-sisa pengaruh basis 12 dan 60.
Contoh: 1A12
= $1 \times 12^1 + 10 \times 12^0 = 12 + 10 = 22_{10}$.
Sistem sexagesimal (basis 60) adalah sistem yang sangat tua, berasal dari peradaban Sumeria dan Babilonia kuno. Meskipun tidak lagi digunakan untuk perhitungan umum, pengaruhnya tetap ada dalam cara kita mengukur waktu (60 detik dalam semenit, 60 menit dalam satu jam) dan sudut (360 derajat dalam lingkaran, yang dibagi menjadi 60 menit busur dan 60 detik busur). Keuntungannya adalah 60 memiliki banyak faktor, membuatnya mudah untuk dibagi.
Secara teoritis, ada juga sistem bilangan dengan basis pecahan (misalnya, basis 1.5) atau basis negatif (misalnya, basis -2). Ini adalah topik yang lebih maju dalam teori bilangan dan tidak memiliki aplikasi praktis yang luas dalam komputasi sehari-hari, namun menunjukkan fleksibilitas konsep bilangan pokok.
Memahami bilangan pokok terkadang bisa membingungkan, terutama ketika seseorang pertama kali beralih dari dominasi desimal. Beberapa tantangan dan kesalahpahaman umum meliputi:
Kunci untuk mengatasi tantangan ini adalah latihan dan konsistensi. Semakin sering Anda bekerja dengan berbagai sistem bilangan pokok, semakin intuitif konsep-konsepnya akan menjadi.
Dengan perkembangan komputasi kuantum dan teknologi baru lainnya, mungkin akan ada eksplorasi sistem bilangan pokok di luar biner dan heksadesimal. Namun, untuk saat ini dan masa depan yang dapat diprediksi, biner akan tetap menjadi dasar bagi komputasi digital karena sifat fisiknya yang efisien (dua keadaan: on/off). Sistem seperti heksadesimal akan terus berfungsi sebagai jembatan yang praktis bagi manusia untuk berinteraksi dengan representasi biner yang kompleks.
Pemahaman yang mendalam tentang bilangan pokok bukan hanya tentang menghafal aturan konversi; ini adalah tentang memahami struktur fundamental dari representasi numerik. Ini membuka pintu untuk memahami bagaimana komputer berpikir, bagaimana data diorganisasikan, dan bagaimana algoritma bekerja pada tingkat yang paling mendasar. Ini adalah keterampilan yang memberdayakan, tidak hanya bagi mereka yang berkecimpung dalam ilmu komputer atau teknik, tetapi juga bagi siapa saja yang ingin memahami dunia digital di sekitar mereka dengan lebih baik.
Bilangan pokok adalah konsep sentral yang mendukung seluruh arsitektur komputasi dan pemahaman kita tentang representasi kuantitas. Dari sistem desimal yang kita gunakan sehari-hari, biner yang menjadi bahasa mesin, hingga oktal dan heksadesimal yang menyederhanakan interaksi manusia dengan data komputer, setiap sistem memiliki peran dan pentingnya masing-masing. Kemampuan untuk mengonversi antar sistem dan melakukan aritmatika dalam basis yang berbeda adalah keterampilan yang tak ternilai dalam dunia digital modern.
Dengan menguasai konsep bilangan pokok, kita tidak hanya meningkatkan kemampuan matematis kita tetapi juga memperoleh wawasan yang lebih dalam tentang bagaimana dunia digital beroperasi pada tingkat dasarnya. Ini adalah perjalanan yang menarik dari angka 0 dan 1 hingga kompleksitas superkomputer, semuanya berakar pada prinsip sederhana namun kuat dari bilangan pokok.
Semoga artikel ini memberikan pemahaman yang komprehensif dan mencerahkan tentang dunia bilangan pokok yang sering kali dianggap remeh namun esensial ini.