Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Coding Concepts
Code

Sistem Angka: Sebuah Pengenalan Pada Biner, Heksadesimal, dan Lainnya

by
Length:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Yosef Andreas (you can also view the original English article)

Pernahkah melihat angka biner yang gila dan penasaran dengan maknanya? Pernahkah melihat angka bercampur huruf dan penasaran dengan apa yang terjadi? Kamu akan menemukan semua ini dan lainnya di dalam artikel ini. Heksadesimal tidak harus menakutkan.


Pendahuluan: Apakah Sistem Angka Itu?

Kamu mungkin telah mendengar mengenai sistem angka - pernah mendengar angka biner atau angka heksadesimal? Sederhananya, sebuah sistem angka adalah cara untuk menyatakan angka. Kita terbiasa menggunakan sistem angka basis 10, yang juga disebut desimal. Sistem angka yang lazim lainnya mencakup basis 16 (heksadesimal), basis 8 (oktal), dan basis 2 (biner).

Di dalam artikel ini, saya akan menjelaskan mengenai sistem yang berbeda ini, cara berkerja, dan mengapa mengetahuinya akan membantumu.


Aktifitas

Sebelum kita mulai, mari kita bersenang-senang dengan sebuah aktifitas kecil. Ada banyak cara untuk menyatakan sebuah warna, namun yang paling umum adalah model warna RGB. Dengan menggunakan model ini, setiap warna dibuat dari sebuah kombinasi jumlah yang berbeda antara merah, hijau, dan biru.

Kamu mungkin bertanya bagaimana warna bisa terkait dengan sistem angka. Singkatnya, pada sebuah komputer, tiap warna disimpan sebagai sebuah angka besar: sebuah kombinasi merah, hijau, dan biru. (Kita akan membahas ini lebih detail nantinya). Karena itu hanyalah sebuah angka, itu bisa dinyatakan dalam berbagai cara dengan menggunakan sistem angka yang berbeda.

Tugasmu adalah menebak seberapa banyak merah, hijau, dan biru di dalam warna latar belakang pada aktifitas di bawah. Nilai-nilai untuk merah, hijau, dan biru bisa bervariasi dari 0 hingga 255.

Silahkan menggunakan berbagai petunjuk yang disediakan untuk membantumu. Jika kamu belum mengerti petunjuk numeris, tidak masalah! Kamu bisa melihat seperti apa tebakanmu dengan menggunakan tombol Check Guess. Dan jika warna latar belakang membuat teks sulit dibaca, tekan New Color. Saat ini, itu mungkin tampak sulit, namun semoga di akhir artikel ini, itu akan tampak mudah.

Melihat Basis 10

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11... Kamu telah menghitung dalam basis 10 sepanjang hidupmu. Cepat, berapa 7+5? Jika kamu menjawab 12, kamu sedang berfikir dalam basis 10. Mari kita lihat lebih dekat mengenai apa yang telah kamu lakukan bertahun-tahun tanpa memikirkinnya.

Mari kita lihat sekilas mengenai berhitung. Pertama-tama, kamu melakukan semua digit: 0, 1, 2... Setelah mencapai 9, kamu tidak lagi memiliki digit yang mewakili angka berikutnya. Jadi, kamu mengubahnya kembali ke 0, dan menambahkan 1 untuk digit puluhan, sehingga menjadi 10. Proses ini berulang terus-menerus, dan akhirnya kamu mencapai 99, dimana kamu tidak bisa lagi membuat angka yang lebih besar dengan dua digit, sehingga kamu menambahkan yang lainnya, menjadi 100.

Walaupun itu semua sangat mendasar, kamu tidak seharusnya meremehkan apa yang sedang terjadi. Digit paling kanan menyatakan angka satuan, digit berikutnya menyatakan angka puluhan, dan angka berikutnya adalah ratusan, dll.


Memvisualisasikan Basis 10

Bingung dengan deskripsi tersebut? Tidak masalah, mari kita visualisasikan itu. Bayangkan sebuah angka besar, seperti 2347. Kita bisa menyatakan itu dengan dua kelompok ribuan, tiga kelompok ratusan, empat kelompok puluhan, dan tujuh blok.

Visualizing Base-10
Memvisualisasikan Basis 10 dengan menggunakan blok

Gunakan tool di bawah untuk memberikan output sebuah angka menjadi "kelompok".

Basis 10 Secara Matematis

Kamu mungkin telah menyadari polanya sekarang. Mari kita lihat apa yang terjadi secara matematis, dengan menggunakan 2347 sebagai contoh.

  • Seperti yang kamu lihat, ada 2 kelompok ribuan. Tidak secara kebetulan, 1000 = 10*10*10 yang bisa juga ditulis sebagai 103.
  • Ada 3 kelompok ratusan. Sekali lagi, tidak secara kebetulan 100 = 10*10 or 102.
  • Ada 4 kelompok sepuluh, dan, 10 = 101.
  • Terakhir, ada 7 kelompok satuan, dan 1 = 100. (Itu mungkin tampak aneh, namun tiap angka berpangkat 0 sama dengan 1, secara definisi.)

Ini pada dasarnya adalah definisi basis 10. Untuk mendapatkan nilai dalam basis 10, kita mengikuti pola tersebut. Berikut beberapa contoh lainnya:

  • 892 = 8*102+9*101+2*100
  • 1147 = 1*103+1*102+4*101+7*100
  • 53 = 5*101+3*100

Diakui, ini semua tampak sedikit konyol. Kita semua tahu seperti apa nilai angka berbasis 10 karena kita selalu menggunakan basis 10, dan itu menjadi alami bagi kita. Seperti yang akan segera kita lihat, jika kita mengerti pola di dalam latar belakang basis 10, kita bisa mengerti basis lainnya dengan lebih baik.


Basis 8

Menuju ke basis 8, juga disebut oktal. Basis 8 berarti seperti yang terdengar: sistem ini berdasarkan delapan angka (dibandingkan dengan sepuluh). Ingat bagaimana dalam basis 10 kita memiliki sepuluh digit? Sekarang, dalam basis 8, kita hanya terbatas pada delapan digit: 0, 1, 2, 3, 4, 5, 6, dan 7. Tidak ada yang namanya 8 atau 9.

Kita menghitung dengan cara yang sama seperti normalnya, kecuali hanya dengan delapan digit. Alih-alih sebuah penjelasan panjang, coba demo di bawah dengan mengklik Count Up 1 untuk melihat cara kerja menghitung dalam basis 8.

Kamu harusya menyadari pola serupa seperti sebelumnya; setelah kita mencapai 7, kita kehabisan digit unik untuk angka yang lebih tinggi. Kita memerlukan sebuah cara untuk menyatakan delapan dari sesuatu. Jadi kita menambahkan digit lainnya, mengubah 7 kembali menjadi 0, dan berakhir dengan 10. Jawaban 10 dalam basis 8 sekarang menunjukkan apa yang kita pikir secara normal sebagai 8 dalam basis 10.

Berbicara tentang angka-angka yang ditulis dalam bermacam basis bisa membingungkan. Sebagai contoh, seperti yang telah kita lihat, 10 dalam basis 8 tidak sama dengan 10 dalam basis 10. Jadi, dari poin ini, saya akan menggunakan catatan standar dimana sebuah subskrip menunjukkan basis angka jika diperlukan. Sebagai contoh, versi basis 8 dari 10 sekarang tampak seperti 108.

(Catatan editor: Saya merasa jauh lebih mudah untuk memahami ini jika saya mengubah cara saya membaca angka-angka ini di dalam kepala saya. Sebagai contoh, untuk 108, saya membaca "octal one-oh" atau ("one-oh dalam basis delapan". Untuk 1010 saya membaca "desimal one-oh" atau "one-oh dalam basis sepuluh".)

Bagus, jadi sekarang kita tahu bahwa 108 mewakili delapan item. (Silahkan memasukkan sebuah angka pada tool pertama untuk visualisasi). Angka berapa setelah 778? Jika kamu mengatakan 1008, kamu benar. Kita tahu dari apa yang telah kita pelajari sejauh ini bahwa 7 pertama dalam 778 mewakili kelompok 8, dan 7 kedua mewakili item individual. Jika kita menambahkan ini semua, kita memiliki 7*8 + 7*1 = 63. Jadi kita memiliki total 6310. Sehingga 778=6310. Kita semua tahu 6410 muncul setelah 6310.


Konversi Dari Basis 8 Menjadi Basis 10

Mari sekarang kita lihat contoh dengan kalimat. John menawarkan untuk memberimu 478 kuki, dan Jane menawarkan untuk memberimu 4310 kuki. Tawaran mana yang kamu ambil? Jika kamu ingin, slihakan dan buat grafik untuk 478 dengan tool pertama. Mari kita cari tahu nilai basis 10 untuk itu sehingga kita bisa membuat keputusan terbaik!

Seperti yang kita lihat ketika berhitung, empat di dalam 478 menyatakan angka kelompok delapan. Ini masuk akal - kita berada di dalam basis 8. Jadi, secara total, kita memiliki empat kelompok delapan dan 7 kelompok satu. Jika kita menambahkan ini semua, kita mendapatkan 4*8 + 7*1 = 3910. Jadi, 478 kuki sama persis jumlahnya dengan 3910 kuki. Tawaran Jane tampaknya merupakan yang terbaik sekarang!

Pola yang kita lihat sebelumnya dengan basis 10 juga benar di sini. Kita akan melihat 5238. Ada lima kelompok 82, dua kelompok 81 dan tiga kelompok 80 (ingat, 80=1) Jika kita menambahkan ini semua, 5*82 + 2*81 + 3*80 = 5*64+2*8+3 = 339, kita mendapatkan 33910 yang berupa jawaban akhir kita. Diagram di bawah menunjukkan hal yang sama secara visual:

Converting 523 from base-8 to base-10
Konversi 523 dari basis 8 ke basis 10

Berikut beberapa contoh lainnya:

  • 1118 = 1*82+1*81+1*80 = 64+8+1 = 7310
  • 438 = 4*81+3*80 = 32+3 = 3510
  • 61238 = 6*83+1*82+2*81+3*80 = 3072+64+16+3 = 315510

Konversi Dari Basis 10 ke Basis 8

Konversi dari basis 10 menjadi basis 8 sedikit lebih sulit, namun tetap jelas. Kita pada dasarnya harus membalikkan proses di atas. Mari kita mulai dengan sebuah contoh: 15010.

Kita pertama-tama menemukan pangkat terbesar dari 8 yang lebih kecil dari angka kita. Di sini, ini adalah 82 atau 64 (83 adalah 512). Kita menghitung berapa banyak kelompok 64 yang bisa kita ambil dari 150. Ini adalah 2, jadi digit pertama dalam angka basis 8 kita adalah 2. Kita sekarang telah menyumbang 128 dari 150, sehingga tersisa 22.

Pangkat terbesar dari 8 yang lebih kecil dari 22 adalah 81 (yaitu 8). Berapa banyak kelompok 8 yang bisa kita ambil dari 22? Dua kelompok lagi, sehingga digit kedua adalah 2.

Terakhir, kita memiliki sisa 6, dan bisa dengan jelas mengambil 6 kelompok satuan dari sini, digit terakhir kita. Kita berakhir dengan 2268.

Nyatanya, kita bisa membuat proses ini menjadi sentuhan yang lebih jelas dengan matematika. Berikut adalah langkah-langkahnya:

  1. 150/82 = 2 sisa 22
  2. 22/81 = 2 sisa 6
  3. 6/80 = 6

Jawaban akhir kita adalah semua digit diluar sisa, atau 226. Perhatikan bahwa kita tetap memulai dengan membagi pangkat terbesar dari 8 yang lebih kecil dari angka kita.


Menangani Basis Manapun

Penting untuk bisa menerapkan konsep yang telah kita pelajari tentang basis 8 dan basis 10 menjadi basis manapun. Sama seperti basis 8 yang memiliki delapan digit dan basis 10 memiliki sepuluh digit, tiap basis memiliki jumlah digit yang sama seperti basisnya. Jadi basis 5 memiliki lima digit (0-4), basis 7 memiliki tujuh digit (0-6), dll.

Sekarang mari kita lihat cara menemukan nilai basis 10 angka berapapun dalam basis apapun. Katakanlah kita berkerja dalam basis b, dimana b bisa berupa bilangan bulat positif berapapun. Kita memiliki sebuah angka d4d3d2d1d0 dimana masing-masing d adalah sebuah digit dalam sebuah angka. (Subskrip di sini tidak mengacu pada basis angka namun hanya membedakan tiap digit.) Nilai basis 10 kita adalah d4*b4 + d3*b3 + d2*b2 + d1*b1 + d0*b0.

Berikut contoh lainnya: kita memiliki angka 32311 dalam basis 4. Perhatikan bahwa angka kita hanya memiliki digit dari nol hingga tiga karena basis 4 hanya memiliki empat digit. Nilai basis 10 kita adalah 3*44 + 2*43 + 3*42 + 1*41 + 1*40= 3*256 + 2*64 + 3*16 + 1*4 + 1*1 = 949. Kita bisa, tentu saja, mengikuti pola ini dengan digit berapa pun dalam angka.


Basis 16

Basis 16 juga disebut heksdesimal. Itu umumnya digunakan dalam pemrograman komputer, sehingga sangat penting untuk memahami itu. Mari kita mulai dengan berhitung dalam heksadesimal untuk memastikan kita bisa menerapkan apa yang telah kita pelajari mengenai basis lainnya sejauh ini.

Karena kita berkerja dengan basis 16, kita memiliki 16 digit. Jadi, kita memiliki 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ... dan yikes! Kita kehabisan digit, namun kita masih memerlukan enam lagi. Barangkali kita bisa menggunakan sesuatu seperti 10 yang dilingkari?

Kenyataannya adalah, kita bisa, namun ini akan sulit untuk diketik. Sebagai gantinya, kita cukup menggunakan huruf alfabet, dimulai dari A dan dilanjutkan hingga F. Berikut tabel dengan semua digit basis 16:

Basis 16 Nilai Digit
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15

Selain dari digit ekstra ini, heksadesimal hanyalah seperti basis lainnya, mari konversi 3D16 menjadi basis 10. Dengan mengikuti aturan sebelumnya, kita memiliki: 3D16 = 3*161 + 13*160 = 48 + 13 = 61. Sehingga 3D16 setara dengan 6110. Perhatikan bagaimana kita menggunakan nilai D sebagai 13 di dalam perhitungan kita.

Kita bisa mengubah dari basis 10 menjadi basis 16 dengan cara serupa seperti pada basis 8. Mari ubah 69610 menjadi basis 16. Pertama-tama, kita menemukan pangkat terbesar dari 16 yang kurang dari 69610. Ini adalah 162, atau 296. Maka:

  1. 696/162 = 2 sisa 184
  2. 184/161 = 11 sisa 8
  3. 8/161 = 8 sisa 0

Kita harus mengganti 11 dengan digit yang mewakili B, dan kita mendapatkan 2B816.

Silahkan mencoba beberapa konversi lainnya untuk latihan. Kamu bisa menggunakan aplikasi di bawah untuk memeriksa jawabanmu:

Biner! (Basis 2)

Sekarang pada basis 2 yang terkenal, juga disebut biner. Sementara setiap orang mengetahui biner dibentuk dari 0 dan 1, penting untuk mengerti bahwa itu secara matematis tidak berbeda dari basis lainnya. Ada lelucon lama yang mengatakan seperti ini:

"Hanya ada 10 jenis orang di dunia: mereka yang mengerti biner dan mereka yang tidak mengerti."

Bisakah kamu pahami maknanya?

Mari kita coba beberapa konversi dengan basis 2. Pertama-tama, kita akan mengubah 1011002 menjadi basis 10. Kita memiliki: 101100 = 1*25 + 1*23 + 1*22 = 32 + 8 + 4 = 4410.

Sekarang mari ubah 65 menjadi biner. 26 adalah pangkat tertinggi dari 2 yang kurang dari 65, sehingga:

  1. 65/26 = 1 sisa 1
  2. 1/25 = 0 sisa 1
  3. 1/24 = 0 sisa 1
  4. 1/23 = 0 sisa 1
  5. 1/22 = 0 sisa 1
  6. 1/21 = 0 sisa 1
  7. 1/20 = 1 sisa 0

Dan dengan demikian kita mendapatkan angka biner, 1000001.

Memahami biner itu super penting. Saya telah mencantumkan sebuah tabel di bawah untuk menunjukkan nilai digit.

Powers of Two

Sebagai contoh, nilai dari 10001 adalah 17, yang merupakan jumlah dari nilai-nilai dua digit 1 (16+1). Ini tidak ada bedanya dengan apa yang telah kita lakukan sebelumnya, hanya saja dinyatakan dalam cara yang mudah dibaca.


Trik dan Tips

Normalnya, ketika mengkonversi antara dua basis yang bukan merupakan basis 10, kamu akan melakukan sesuatu seperti ini:

  1. Konversi angka menjadi basis 10
  2. Konversi hasil ke basis yang diinginkan

Namun, ada trik yang akan memungkinkanmu mengkonversi antara biner dan heksadesimal dengan cepat. Pertama-tama, pilih angka biner apapun dan bagi digitnya menjadi kelompok empat. Sehingga, katakanlah kita memiliki angka 10111012. Setelah dibagi kita memiliki 0101 1101. Perhatikan bagaimana kita bisa menambahkan nol ekstra untuk membuat kelompok 4 yang seimbang. Kita sekarang menemukan nilai untuk tiap kelompok seolah itu adalah angka tersendiri, yang memberikan nilai 5 dan 13. Terakhir, kita cukup menggunakan digit heksadesimal yang sesuai untuk menuliskan angka basis 16, 5D16.

Kita juga bisa pergi ke arah lainnya, dengan mengkonversi tiap digit heksadesimal menjadi empat digit biner. Coba untuk mengkonversi B716 menjadi biner. Kamu harusnya mendapatkan 101101112.

Trik ini berfungsi karena 16 adalah hasil pangkat dari 2. Ini berarti bahwa kita menggunakan trik serupa untuk basis 8, yang juga merupakan hasil pangkat dari 2:

Base-8 to Binary

Tentu saja, kamu juga bisa membalikkan proses untuk berjalan dari basis 8 menjadi biner.


Kesimpulan

Mari kita kembali dan mengunjungi ulang permainan tebak warna.

Ketika dikonversi ke heksadesimal, dua digit pertama menyatakan nilai merah, dua berikutnya adalah jumlah hijau, dan dua terakhir merupakan jumlah biru. Jadi, jika warna kita adalah 17FF1816 kita bisa dengan mudah mengatakan bahwa komponen merah adalah 1716 atau 2310. Komponen hijau adalah FF16, atau 25510. Terakhir komponen biru adalah 1816 atau 2410. Jika kita diberikan warna dengan versi basis 10, 157263210, kita perlu mengkonversi itu menjadi heksadesimal sebelum kita bisa mengerti itu.

Coba lagi permainannya, dan lihat seberapa baik yang bisa kamu lakukan!

Dengan memahami sistem angka yang berbeda sangat berguna dalam banyak bidang terkait komputer. Biner dan heksadesimal sangatlah umum, dan saya mendorongmu untuk menjadi sangat terbiasa dengan mereka. Terima kasih telah membaca - saya harap kamu telah belajar banyak dari artikel ini! Jika kamu memiliki pertanyaan, silahkan ajukan di bawah.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.