Day 1 — Numbering System: Radix, Decimal, Binary, Hexadecimal, and Conversion
Catatan materiNumbering System. Materi menjelaskan radix sebagai jumlah simbol per digit, mekanisme naik nilai pada decimal, binary, dan hexadecimal, hubungan value yang sama dengan representasi berbeda, alasan komputer memakai binary, alasan programmer memakai hexadecimal, contoh penggunaan hex untuk warna RGB/CSS, serta formula konversi digit × radix^posisi untuk mengubah binary/hexadecimal ke decimal.
Hari ini adalah kelas programming pertama tentang numbering system. Materi ini membangun fondasi cara komputer dan programmer merepresentasikan angka. Fokus utamanya bukan sekadar menghafal angka binary atau hexadecimal, tetapi memahami mekanisme di balik semua sistem bilangan.
Numbering system adalah sistem bilangan atau sistem angka. Setiap sistem bilangan punya karakteristik penting bernama radix. Radix adalah jumlah total simbol yang dipakai untuk merepresentasikan satu digit. Dalam sistem decimal, simbol yang dipakai adalah 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. Karena jumlah simbolnya 10, decimal punya radix 10. Angka seperti 15, 17, 8, 200, dan 215 yang dipakai sehari-hari adalah bilangan decimal.
Materi menekankan bahwa digit adalah posisi/simbol di dalam sebuah bilangan. Pada angka 25, angka 2 adalah digit dan angka 5 juga digit. Dalam decimal, setiap digit dapat memakai salah satu dari 10 simbol. Saat nilai dinaikkan, simbol bergerak ke simbol berikutnya: 0 ke 1, 1 ke 2, 2 ke 3, dan seterusnya. Ketika simbol terakhir 9 sudah mentok dan tidak ada simbol berikutnya, digit kanan direset ke simbol pertama yaitu 0, lalu digit di sebelah kiri dinaikkan satu. Karena itu setelah 09 menjadi 10, setelah 19 menjadi 20, dan setelah 99 menjadi 100.
Mekanisme ini sama seperti jam digital. Ketika detik mencapai 59 dan naik lagi, digit kanan kembali ke 0 dan digit kiri atau unit berikutnya naik. Ini menunjukkan bahwa sistem bilangan bukan hafalan, tetapi mekanisme simbol dan posisi. Kalau mekanisme ini dipahami, sistem bilangan lain seperti binary dan hexadecimal menjadi jauh lebih mudah.
Binary adalah sistem bilangan dengan dua simbol: 0 dan 1. Karena hanya memakai dua simbol untuk satu digit, radix binary adalah 2. Mekanisme naik nilainya sama seperti decimal. Dari 0 naik ke 1. Setelah 1 sudah mentok, digit kanan direset ke 0 dan digit kiri ditambahkan, sehingga setelah 1 menjadi 10. Setelah 10 menjadi 11. Setelah 11 mentok lagi, ditambah digit baru dan menjadi 100.
Hubungan decimal dan binary adalah hubungan value yang sama dengan representasi berbeda. Decimal 0 direpresentasikan sebagai binary 0, decimal 1 sebagai binary 1, decimal 2 sebagai binary 10, decimal 3 sebagai binary 11, decimal 4 sebagai binary 100, dan seterusnya. Nilainya naik satu-satu, tetapi cara menuliskannya berbeda karena jumlah simbol di setiap sistem berbeda.
Komputer memakai binary karena komputer bekerja dengan kondisi listrik: ada tegangan atau tidak ada tegangan, on atau off. Kondisi ini cocok direpresentasikan dengan 1 dan 0. Manusia memakai decimal karena sejak kecil terbiasa dengan 10 simbol. Komputer tidak cocok memakai 10 simbol secara langsung karena hardware paling dasarnya lebih mudah memisahkan dua keadaan: ada listrik dan tidak ada listrik.
Hexadecimal adalah sistem bilangan dengan 16 simbol: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F. Karena memakai 16 simbol, radix hexadecimal adalah 16. Simbol A merepresentasikan value 10, B adalah 11, C adalah 12, D adalah 13, E adalah 14, dan F adalah 15. Setelah F mentok, digit kanan direset ke 0 dan digit kiri naik, sehingga setelah 0F menjadi 10 dalam hexadecimal.
Hexadecimal berguna karena semakin banyak simbol yang tersedia, semakin pendek representasi angka yang dibutuhkan. Binary hanya punya 2 simbol sehingga untuk angka besar butuh banyak digit. Hexadecimal punya 16 simbol sehingga angka besar bisa ditulis lebih ringkas. Dalam programming, hexadecimal sering muncul pada warna CSS/RGB, memory address,
Bug notes
Tidak tahu angka sedang dibaca sebagai decimal, binary, atau hexadecimal
Tanpa konteks base, digit yang sama bisa diinterpretasikan salah.
Solusi: Selalu identifikasi atau deklarasikan base sebelum mengonversi atau membaca angka.
Membaca binary dengan hafalan, bukan rumus posisi
Binary yang panjang menjadi sulit dibaca dan rawan salah.
Solusi: Tentukan posisi dari kanan ke kiri, lalu hitung kontribusi setiap digit.
Keliru membedakan radix dan nilai digit
Akibatnya bingung saat menentukan apakah sebuah sistem memakai radix 2, 10, atau 16.
Solusi: Hitung jumlah simbol dalam sistem: binary punya 2, decimal punya 10, hexadecimal punya 16.
Salah membaca simbol hexadecimal A-F
Value seperti FF atau F20C sulit dikonversi jika A-F tidak dipetakan dengan benar.
Komentar pembaca
Komentar akan muncul setelah disetujui admin.
Belum ada komentar yang disetujui.
Tulis komentar
debugging
, dan representasi data low-level.
Contoh yang dibahas adalah warna CSS seperti #FFFFFF. Warna ini sebenarnya terdiri dari tiga komponen RGB: red, green, dan blue. FF dalam hexadecimal sama dengan 255 dalam decimal. Jadi #FFFFFF sama dengan red 255, green 255, blue 255, yaitu warna putih. Menulis #FFFFFF jauh lebih pendek daripada menulis 255,255,255. Inilah salah satu alasan hexadecimal sering dipakai dalam desain dan coding.
Materi
lalu masuk ke formula konversi antar sistem bilangan. Untuk memahami nilai sebuah bilangan, setiap digit punya posisi. Posisi dihitung dari kanan ke kiri dan dimulai dari 0. Pada decimal 215, digit 5 ada di posisi 0, digit 1 di posisi 1, dan digit 2 di posisi 2. Formula umumnya adalah digit × radix^posisi. Untuk 215 decimal: 2 × 10^2 = 200, 1 × 10^1 = 10, dan 5 × 10^0 = 5. Totalnya 200 + 10 + 5 = 215.
Formula yang sama bisa dipakai untuk binary. Misalnya binary 1101. Posisi dari kanan adalah 0, 1, 2, 3. Karena radix binary adalah 2, perhitungannya: 1 × 2^3 = 8, 1 × 2^2 = 4, 0 × 2^1 = 0, dan 1 × 2^0 = 1. Totalnya 8 + 4 + 0 + 1 = 13. Jadi binary 1101 merepresentasikan decimal 13.
Formula yang sama juga dipakai untuk hexadecimal. Contoh FF: F bernilai 15. F yang kiri berada di posisi 1, F yang kanan berada di posisi 0. Karena radix hexadecimal adalah 16, perhitungannya: 15 × 16^1 = 240 dan 15 × 16^0 = 15. Totalnya 240 + 15 = 255. Jadi FF hexadecimal sama dengan 255 decimal.
Materi
juga membahas contoh hexadecimal yang lebih panjang seperti F20C. Posisi dihitung dari kanan: C posisi 0, 0 posisi 1, 2 posisi 2, dan F posisi 3. Setiap digit dikalikan dengan 16^posisi. Dengan cara ini, angka hexadecimal dapat dikonversi menjadi decimal tanpa menghafal.
Q&A memperjelas beberapa konsep. Radix bukan nilai digit tertentu, tetapi jumlah simbol yang tersedia dalam sistem bilangan. Binary tetap radix 2 karena simbolnya ada dua: 0 dan 1. Decimal radix 10 karena simbolnya ada 10. Hexadecimal radix 16 karena simbolnya ada 16. Jika ada sistem custom dengan simbol berbeda, radix-nya mengikuti jumlah simbol yang tersedia.
Materi
juga menjelaskan bahwa angka seperti 215 tidak bisa langsung diketahui apakah decimal atau hexadecimal tanpa konteks. Programmer atau komputer harus diberi tahu basis/radix angka tersebut. Dalam coding, ada cara tertentu untuk menunjukkan apakah angka dibaca sebagai decimal, hexadecimal, binary, atau sistem lain.
Kesimpulan
nya,
numbering system
adalah fondasi penting untuk programming. Dengan memahami radix, digit, posisi, dan formula digit × radix^posisi, aku bisa memahami decimal, binary, hexadecimal, dan sistem bilangan lain tanpa menghafal. Konsep ini penting untuk memahami cara komputer menyimpan angka, cara binary bekerja di hardware, cara hexadecimal dipakai untuk warna/memory/
debugging
, dan kenapa programmer perlu memahami dasar sebelum langsung memakai tools atau library.
Binary hanya memakai 0 dan 1
Binary memakai dua simbol, sehingga radix-nya adalah 2.
• Hexadecimal memakai 16 simbol Hexadecimal memakai 0-9 dan A-F, sehingga radix-nya adalah 16.
• A-F merepresentasikan value 10-15 di hexadecimal A adalah 10, B adalah 11, C adalah 12, D adalah 13, E adalah 14, dan F adalah 15.
• Radix menentukan sistem bilangan Radix adalah jumlah simbol yang dipakai untuk merepresentasikan satu digit.
• Decimal memakai radix 10 Decimal memakai 10 simbol, yaitu 0 sampai 9, sehingga radix-nya adalah 10.
• FF hexadecimal sama dengan 255 decimal F bernilai 15, sehingga FF = 15×16^1 + 15×16^0 = 255.
• Digit direset saat simbol tertinggi sudah tercapai Saat simbol terakhir sudah mentok, digit kanan kembali ke simbol pertama dan digit kiri naik.
• Hexadecimal membuat penulisan angka besar lebih ringkas Karena punya lebih banyak simbol, hexadecimal bisa menulis angka besar lebih pendek daripada binary.
• Komputer memakai binary karena hardware punya dua keadaan sederhana Komputer cocok dengan binary karena listrik dapat direpresentasikan sebagai on/off atau ada/tidak ada tegangan.
• Binary dan decimal bisa merepresentasikan value yang sama Value yang sama dapat ditulis berbeda tergantung sistem bilangannya.
Solusi: Petakan A=10, B=11, C=12, D=13, E=14, F=15 sebelum konversi.