Menu

Konverter Basis Bilangan

Konversi angka antara biner, oktal, desimal, dan heksadesimal.

Oleh Nethanel Bar, Co-founder & CEO

Terakhir diperbarui

Siap benar-benar belajar coding?

Coddy mengajarimu dengan menulis kode sungguhan di browser: pelajaran interaktif, umpan balik instan, dan bantuan AI saat kamu buntu.

Apa itu konverter basis bilangan?

Konverter basis bilangan mengambil angka yang ditulis dalam satu sistem bilangan, yaitu biner, oktal, desimal, atau heksadesimal, lalu menuliskannya ulang dalam sistem lainnya. Developer memakainya saat membaca bitmask, debug kode warna, mengurai flag di paket protokol, bekerja dengan register hardware, dan berpindah antara hex dan desimal di mana-mana, dari CSS sampai assembly dan kriptografi.

Angkanya sendiri tidak berubah antarbasis, hanya *representasinya* yang berubah. 255 dalam desimal adalah 0xFF dalam hex, 0b11111111 dalam biner, dan 0o377 dalam oktal. Keempatnya adalah cara berbeda untuk menulis nilai yang sama.

Alat modern harus bisa menangani angka besar tanpa kehilangan presisi. parseInt biasa di JavaScript diam-diam membulatkan angka di atas 2⁵³, dan ini memicu bug halus pada nilai register 64-bit, ID, dan timestamp. Konverter yang andal memakai BigInt di balik layar, sehingga nilai hex 256-bit bisa dikonversi bolak-balik tanpa berubah sedikit pun.

Yang kamu pelajari saat mengonversi basis

  • Biner memakai 2 digit (0, 1), oktal memakai 8, desimal memakai 10, dan heksadesimal memakai 16 (0 sampai 9, a sampai f).
  • Setiap digit biner adalah satu *bit*. 4 bit = 1 digit hex. 8 bit = 1 byte = 2 digit hex.
  • Hex hanyalah cara ringkas untuk membaca biner. 0xCAFE dalam biner adalah 1100 1010 1111 1110, dan bentuk hex jauh lebih mudah dibaca.
  • Angka di atas 2⁵³ kehilangan presisi di JavaScript standar. Pakai BigInt (123n) saat bekerja dengan bilangan bulat besar.

Cara mengonversi antarbasis langkah demi langkah

  1. Pilih basis input

    Pilih biner, oktal, desimal, atau heksadesimal, sesuai angka yang kamu punya.

  2. Ketik nilainya

    Hex menerima ff maupun 0xff. Biner menerima 1010 maupun 0b1010. Konverter menghapus prefiksnya secara otomatis.

  3. Baca semua basis sekaligus

    Keempat representasi dari angka yang sama langsung muncul. Klik salah satunya untuk menyalinnya.

  4. Aktifkan pengelompokan digit agar mudah dibaca

    Kelompokkan biner per 4 bit (1100 1010 1111 1110) dan hex per 2 karakter (CA FE). Berguna untuk memeriksa bitfield dan dump.

Referensi cepat basis bilangan

Nilai referensi umum di keempat basis. BigInt dan tata bahasa literal angka di JavaScript menjelaskan sintaks yang dipakai di bawah.

DesimalBinerOktalHex
0000
1111
81000108
10101012A
16100002010
321000004020
64100000010040
100110010014464
1281000000020080
25511111111377FF
256100000000400100
1024100000000002000400
655351111111111111111177777FFFF

Contoh konversi basis bilangan untuk dicoba

Kode warna RGB

Hex
color: #ff8800;
Desimal
color: rgb(255, 136, 0);

Setiap pasangan digit hex adalah satu byte (0–255) untuk satu channel. ff = 255, 88 = 136, 00 = 0.

Membaca bitmask izin

Desimal

5

Biner

0b101

Membaca bit-bitnya

Bit 0 (read) menyala, bit 2 (execute) menyala, bit 1 (write) tidak. Jadi izinnya adalah read + execute.

Mode file Unix (chmod), feature flag, dan paket protokol semuanya menyimpan beberapa nilai boolean sebagai bit dalam satu integer. Tampilan biner membuat hal itu terlihat.

Konversi presisi dengan BigInt

Hex (sangat besar)

0xFFFFFFFFFFFFFFFF

Desimal

18446744073709551615

Ini adalah integer 64-bit unsigned terbesar. parseInt biasa di JavaScript akan kehilangan presisi; BigInt menanganinya dengan rapi.

Kesalahan umum saat konversi basis

  • Mencampuradukkan *angka* dengan *literal*. 0x10 dan 10 terlihat mirip, tapi nilainya 16 dan 10. Selalu tulis prefiks basisnya di kode.
  • Membaca hex dari kiri ke kanan dan lupa urutan byte (endianness) pada dump memori mentah.
  • Memakai parseInt(big, 16) di JavaScript untuk nilai di atas 2⁵³. Pakai BigInt('0x' + hex) sebagai gantinya.
  • Salah memberi padding pada byte. 0xF yang ditulis sebagai satu byte adalah 0x0F, bukan 0xF0. Nol di depan penting untuk field dengan lebar tetap.
  • Mencampur interpretasi signed dan unsigned. Hex 0xFFFF_FFFF bernilai 4294967295 sebagai unsigned, tapi -1 sebagai signed (two's complement).

FAQ Konverter Basis Bilangan

Bagaimana cara mengubah biner ke desimal?
Kalikan setiap digit biner dengan pangkat 2 yang sesuai, mulai dari kanan. Untuk 1010: 1·8 + 0·4 + 1·2 + 0·1 = 10. Atau tempel angkanya ke konverter basis untuk jawaban instan.
Bagaimana cara mengubah desimal ke hex?
Bagi angka desimal dengan 16 berulang kali, dan catat sisanya (0 sampai 15, dengan 10 sampai 15 ditulis sebagai A sampai F). Baca sisa pembagiannya dari bawah ke atas. 255 ÷ 16 = 15 remainder 15 → FF.
Untuk apa heksadesimal dipakai?
Hex dipakai di mana pun bentuk biner yang ringkas dan mudah dibaca itu berguna: kode warna (#ff8800), alamat memori, dump file, alamat MAC, hash, dan sebagian besar sistem tingkat rendah.
Apa bedanya oktal dan heksadesimal?
Oktal adalah basis 8 (digit 0 sampai 7); heksadesimal adalah basis 16 (digit 0 sampai 9, A sampai F). Oktal jarang dipakai sekarang, tapi masih muncul di izin file Unix (0755) dan beberapa literal angka di keluarga bahasa C.
Kenapa angka biner bertambah panjang begitu cepat?

Setiap digit baru menggandakan jumlah nilai yang bisa dinyatakan. 8 bit mewakili 256 nilai; 16 bit mewakili 65.536; 32 bit mewakili lebih dari 4 miliar. Itulah sebabnya bitmask bisa memuat banyak makna dalam satu angka kecil.

Pelajari lebih lanjut

Alat developer lainnya

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai