Kalkulator Konversi Basis
Konversi bilangan bulat ke biner, oktal, desimal, dan heksadesimal.
Cara menggunakan kalkulator konversi basis ini
- Masukkan bilangan bulat
Ketik bilangan bulat non-negatif ke dalam kolom Bilangan bulat (misalnya 255 atau 4096).
- Baca nilai biner
Hasil nilai Biner menunjukkan representasi basis-2.
- Periksa oktal dan heksa
Tinjau hasil Oktal dan Heksadesimal untuk representasi yang ringkas.
- Verifikasi desimal
Output Desimal mengonfirmasi nilai asli untuk pengecekan silang.
Cara kerja kalkulator konversi basis ini
Kalkulator konversi basis ini mengambil bilangan bulat dalam desimal (basis 10) dan merepresentasikannya dalam biner (basis 2), oktal (basis 8), dan heksadesimal (basis 16) — empat sistem bilangan yang paling sering digunakan dalam komputasi. Setiap sistem bilangan posisional bekerja dengan cara yang sama: setiap posisi digit mewakili pangkat berurutan dari basis tersebut, dan nilai bilangan adalah jumlah dari setiap digit dikalikan dengan bobot posisinya. Konversi antar basis adalah operasi mendasar dalam pemrograman tingkat rendah, desain logika digital, teknik jaringan (alamat MAC dan IPv6), kode warna dalam CSS, masker izin file di Unix, dan inspeksi alamat memori selama debugging.
Pembagian berulang: bagi N dengan radiks target R, catat sisanya, ulangi dengan hasil bagi hingga mencapai 0, lalu baca sisa pembagian dalam urutan terbalik Konversi bilangan desimal 255 ke biner, oktal, dan heksadesimal. Untuk biner (R = 2): 255 ÷ 2 = 127 sisa 1, 127 ÷ 2 = 63 S 1, 63 ÷ 2 = 31 S 1, 31 ÷ 2 = 15 S 1, 15 ÷ 2 = 7 S 1, 7 ÷ 2 = 3 S 1, 3 ÷ 2 = 1 S 1, 1 ÷ 2 = 0 S 1. Membaca sisa dari bawah ke atas: 11111111. Untuk oktal (R = 8): 255 ÷ 8 = 31 S 7, 31 ÷ 8 = 3 S 7, 3 ÷ 8 = 0 S 3 → 377. Untuk heksadesimal (R = 16): 255 ÷ 16 = 15 S 15 (F), 15 ÷ 16 = 0 S 15 (F) → FF.
Desimal 4096 → biner 1000000000000, oktal 10000, heksa 1000. Berguna untuk memahami 4 KiB = 4096 bita.
Desimal 15 → biner 1111, oktal 17, heksa F. Setiap digit heksa memetakan tepat ke empat bit; F = 1111.
- ✓ Input adalah bilangan bulat non-negatif (nol atau bilangan bulat positif). Nilai pecahan dan bilangan negatif memerlukan algoritma tambahan (misalnya, komplemen dua untuk biner bertanda) yang berada di luar cakupan alat ini.
- ✓ Digit heksadesimal di atas 9 diwakili menggunakan huruf besar A–F, mengikuti konvensi di sebagian besar bahasa pemrograman, RFC, dan dokumentasi perangkat keras.
- ✓ Nol di depan dihilangkan dari hasil. Untuk representasi lebar tetap (misalnya, biner 8-bit atau 32-bit), tambahkan padding pada hasil secara manual ke lebar yang diinginkan.
- ✓ Kalkulator ini hanya menerima bilangan bulat non-negatif. Nilai di atas 2^53 − 1 (Number.MAX_SAFE_INTEGER JavaScript) ditolak agar digit yang ditampilkan tetap akurat.
- Setiap digit heksadesimal dipetakan ke tepat empat digit biner (bit), dan setiap digit oktal dipetakan ke tepat tiga bit. Hubungan ini membuat konversi mental antara heksa, oktal, dan biner menjadi cepat setelah Anda menghafal 16 pola nibble.
- Nilai umum yang layak dihafal: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4.294.967.295 (bilangan bulat 32-bit tanpa tanda maksimum).
- Izin berkas Unix menggunakan oktal: 755 berarti rwxr-xr-x (pemilik baca/tulis/eksekusi, grup dan lainnya baca/eksekusi). Setiap digit oktal mengodekan tiga bit izin.
- Kode warna hex CSS adalah tiga nilai bita heksadesimal berurutan yang mewakili saluran merah, hijau, dan biru — misal, #FF8800 adalah 255 merah, 136 hijau, 0 biru.
- Teori sistem bilangan posisional — Knuth, D. E., The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Bagian 4.1
- IEEE 754-2019 — Standar untuk Aritmetika Titik Mengambang (konteks representasi integer)
- RFC 4291 — Arsitektur Pengalamatan IP Versi 6 (notasi heksadesimal untuk IPv6)
Memahami sistem bilangan dalam komputasi
Setiap sistem bilangan posisional menggunakan basis (radiks) dan memberikan bobot pada setiap digit berdasarkan posisinya. Dalam desimal (basis 10), digit paling kanan adalah satuan, berikutnya puluhan, lalu ratusan. Biner (basis 2) hanya menggunakan 0 dan 1, yang memetakan langsung ke status transistor on/off. Oktal (basis 8) mengelompokkan tiga bit per digit, dan heksadesimal (basis 16) mengelompokkan empat bit per digit, menggunakan A–F untuk nilai 10–15. Konversi antar basis menggunakan pembagian berulang: bagi angka dengan radiks target, catat sisanya, ulangi dengan hasil bagi hingga nol, lalu baca sisa pembagian dalam urutan terbalik. Algoritma ini mendasari semua konversi basis dalam pemrograman.
Kasus penggunaan praktis konversi basis bagi pengembang
Pengembang menggunakan konversi basis saat memeriksa memory dump, men-debug operasi bitwise, menginterpretasikan izin file, dan bekerja dengan kode warna. Izin file Unix (misalnya 755) adalah oktal: setiap digit mengodekan baca/tulis/eksekusi untuk pemilik, grup, dan lainnya. Warna heksa CSS seperti #FF8800 adalah tiga bita yang digabungkan dalam heksadesimal. Alamat IPv6 ditulis dalam heksa. Bitmask dan flag sering dinyatakan dalam heksa untuk keterbacaan (0xFF untuk mask bita, 0xFFFF untuk 16 bit). Saat men-debug kode tingkat rendah atau protokol jaringan, konversi antara desimal, heksa, dan biner dengan cepat mengungkapkan pola bit yang mendasarinya.
FAQ kalkulator konversi basis
Mengapa biner, oktal, dan heksadesimal digunakan dalam komputasi?
Biner memetakan langsung ke status on/off transistor, menjadikannya bahasa asli perangkat keras. Oktal dan heksadesimal adalah singkatan ringkas untuk biner — satu digit hex mewakili tepat empat bit dan satu digit oktal mewakili tiga bit — sehingga pemrogram menggunakannya untuk menyatakan alamat, bitmask, dan kode warna dengan lebih ringkas daripada string biner yang panjang.
Bagaimana cara mengonversi ke arah sebaliknya (misal, hex ke desimal)?
Kalikan setiap digit dengan pangkat posisional dari basisnya dan jumlahkan hasilnya. Contohnya, hex 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419 dalam desimal.
Apa yang terjadi dengan angka yang sangat besar?
Kalkulator ini hanya menerima nilai hingga batas integer aman JavaScript: 2^53 − 1 (9.007.199.254.740.991). Angka yang lebih besar ditolak karena dapat kehilangan digit paling tidak signifikan di peramban.
Dapatkah saya mengonversi bilangan negatif atau pecahan?
Alat ini menangani bilangan bulat non-negatif. Bilangan bulat negatif dalam komputasi biasanya direpresentasikan menggunakan komplemen dua dalam lebar bit tetap, dan nilai pecahan menggunakan pengodean floating-point IEEE 754 — keduanya memerlukan parameter tambahan yang tidak dikumpulkan oleh kalkulator ini.
Mengapa awalan 0x muncul dalam kode tetapi tidak dalam hasil?
Awalan 0x (dan 0b untuk biner, 0o untuk oktal) adalah sintaks literal khusus bahasa yang memberi tahu kompiler atau interpreter basis mana yang diharapkan. Kalkulator ini menghasilkan string digit mentah tanpa awalan sehingga dapat digunakan dalam konteks apa pun.