Belajar Java Konversi Hexadesimal Ke Desimal

Belajar Java Konversi Hexadesimal Ke Desimal

Belajar Java Konversi Hexadesimal Ke Desimal – Untuk dapat melakukan konversi ini, kita harus mengetahui, apa itu bilangan desimal dan bilangan hexadesimal.

Belajar Java Konversi Hexadesimal Ke Desimal
Konversi hexadecimal

Setelah itu kita dapat mencoba untuk mengkonversi bilangan heksadesimal menjadi bilangan desimal secara perhitungan manual ataupun menggunakan program Java.

  • Bilangan Desimal
    Bilangan desimal adalah bilangan dengan basis 10 atau bisa disebut per-sepuluhan. Bilangan ini menggunakan sepuluh simbol berbeda untuk menyatakan nilai dari nol sampai sembilan. Sepuluh simbol yang digunakan dalam sistem angka desimal membentuk basis dari sistem angka desimal.
    Note :
    Perlu diperhatikan pangkatnya, seperti di bawah ini :
    100 = 1
    102 = 100
    103 = 1000
    104 = 10000 dan seterusnya.
    Sedangkan angka subscript digunakan untuk menunjukkan basis yang digunakan.
    Jadi, misalkan : 4786410
    Bilangan ini berada dalam basis 10, dan dapat ditulis :
    4786410 =  4 x 104 + 7 x 103 + 8 x 102 + 6 x 101 + 4 x 100
  • Bilangan Hexadesimal
    Sedangkan bilangan hexadesimal adalah bilangan dengan basis 16 atau per-enam belasan, bilangan ini menggunakan 16 simbol berbeda untuk menyatakan nilai dari nol sampai lima belas. 16 simbol angka hexadesimal tersebut akan membentuk basis dari sistem hexadesimal. Di bawah ini adalah cara memulai menghitung hexadesimal :
    a) 0 – 15 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
    b)16 – 32 :  10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20.
    Perhatikan nilai di bawah ini :
    160 = 1
    161 = 16
    162 = 256
    163 = 4096
    164= 65536
    165= 1048576
    jika kita menunjukkan ini dalam hexadesimal, maka ditulis 1016, 100, 1000 dan seterusnya.
    Sedangkan angka subscript digunakan untuk menunjukkan basis yang digunakan. Misalkan :10016 adalah ‘100 dalam basis 16’.

Cara Konversi Dari Hexadesimal Ke Desimal Cara Manual

Berlatih secara menual mengkonversi bilangan dari hexadesimal ke desimal adalah cara yang sangat baik untuk cepat memahami dan familiar dengan basis ini.

Misalkan :

AF7116, jika dikonversi ke bilangan desimal :

  • Tulis setiap digit terpisah, lihat nilai perpangkatan hexadesimal di atas.
    AF7116= A x 409610 + F x 25610 + 7 x 1610 + 1 x 1
  • Kemudian konversi nilai non-desimal menjadi nilai desimal :
    A x 409610 = 1010 x 409610
    F x 25610 = 1510 x 25610
  • Hitung jumlah keseluruhan :
    AF7116 = 40960 + 3840 + 112 + 1
    AF7116 = 44913, maka 44913  adalah nilai desimalnya.
    Misalkan 1D :
    1D = 1 x 16 + 13
    1D = 29
    Jadi nilai desimal dari 1D adalah 29.

Cara Konversi Dari Hexadesimal Ke Desimal Menggunakan Program Java

Bagaimana bila konversi menggunakan program Java?

Algoritma yang digunakan untuk konversi hexadesimal ke desimal adalah algoritma Horner, kode dengan algoritma ini terkenal cukup efisien.

Algoritmanya adalah :

  • Mengkonversi setiap hex char menjadi angka desimal
  • Mengalikannya dengan 16i untuk digit hexadecimal  pada posisi i
  • Menjumlahkan semuanya secara keseluruhan untuk mendapatkan  nilai desimal yang equivalen untuk angka hexadesimal tersebut.

Misal :

A8FD16

Nilai dari ((10*16+8)*16+15) *16 + 13 = 43261, dan ini
adalah nilai konversi dari A8FD menjadi desimal.
Bila dituangkan kedalam coding, algoritma ini menjadi :

Di bawah ini adalah contoh program untuk mengkonversi angka hexadecimal menjadi angka desimal :

Penjelasan :

  • Pada line 14, program akan membaca nilai String.
  • Pada line 22, program akan memanggil method konversiHexadecimal untuk mengkonversi hex String menjadi nilai desimal. Character ini dapat berupa lowercase ataupun uppercase. Mereka dikonversi menjadi uppercase terlebih dahulu sebelum method konversiHexadecimal dipanggil.
  • Pada line 26 – 40, method konversiHexadecimal, program akan mengembalikan nilai integer. Panjang dari string ditetapkan dengan memanggil method hex.length pada line 30.
  • Pada line 43 – 49, akan mengembalikan nilai desimal untuk hex character. Character dapat sebagai uppercase ataupun lowercase. Harap diingat bahwa untuk pengurangan dua character adalah dengan mengurangi Unicodenya.
    Contoh : ‘4’ – ‘0’ adalah 4.

Demikianlah Belajar Java Konversi Hexadesimal Ke Desimal, semoga bisa menambah pengetahuan kita semua.

Be the first to comment

Leave a Reply

Your email address will not be published.


*