Friday, November 2, 2018

Program C++ Konversi Bilangan Hexadesimal ke Desimal

Pada kesempatan ini, anakit akan memposting dan juga menjelaskan contoh program c++ konversi bilangan  Hexadesimal ke Desimal. Hexadesimal sendiri merupakan sistem bilangan berbasis 16, dimana sistem bilangan ini terdiri dari susunan angka dari 0 – 9 dan dilanjutkan A – F, sedangkan sistem bilangan Desimal tentunya sudah sangat familiar untuk sebagian teman-teman. Sistem bilangan desimal merupakan sistem bilangan berbasis 10, dimana sistem bilangan ini terdiri dari susunan angka 0 – 9.

Pada artikel lainnya sudah ada juga tersedia program konversi bilangan

1. Konversi Desimal Ke Biner dan Sebaliknya
2. Konversi Bilangan Oktal ke Biner dan Sebaliknya

Baiklah kembali ke point atau pokok pembahasan. Yaitu membuat program c++ konversi bilangan Hexadesimal ke Desimal.  

Baca Juga : program c++ konversi bilangan Desimal ke Hexadesimal

Untuk  programnya seperti yang terdapat dibawah ini.

#include<iostream>
#include<string.h>
using namespace std;
int hexadecimalToDecimal(char hexVal[])
{   
    int len = strlen(hexVal);
    int base = 1;   
    int dec_val = 0;
    for (int i=len-1; i>=0; i--)
    {   
        if (hexVal[i]>='0' && hexVal[i]<='9')
        {
            dec_val += (hexVal[i] - 48)*base;
            base = base * 16;
        }
        else if (hexVal[i]>='A' && hexVal[i]<='F')
        {
            dec_val += (hexVal[i] - 55)*base;
            base = base*16;
        }
    }
     
    return dec_val;
}
int main()
{
char heksa[5];
cout<<"Masukkan Bilangan Heksadesimal :";gets(heksa);
    char hexNum[5];
    strcpy(hexNum,heksa);
 
    cout <"Maka Dalam Desimal Adalah :"<< hexadecimalToDecimal(hexNum) << endl;
}

Anakit menggunakan aplikasi Dev-C++ dalam membuat program diatas, jika anda juga menggunakan aplikasi yang sama, anda tinggal create halaman editor yang baru dengan Ctrl+N dan pastekan program diatas yaitu program konversi bilangan hexadesimal ke biner.

Namun jika anda masih menggunakan aplikasi seperti Turbo C++, saya sarankan anda untuk memahami struktur Turbo C++ tersebut, apalagi jika menggunakan Borland C++, sedikit banyaknya ada perbedaan bentuk atau perintah dari ketiga aplikasi tersebut. 

Kita Masuk Pada Bedah Program ;
Dalam program ini perlu sebuah Fungsi untuk dipanggil hasilnya pada int main().  Yaitu pada bagian 

int hexadecimalToDecimal(char hexVal[]) {

}
Didalam fungsi inilah terjadi konversi dari hexadesimal ke desimal. Dan kemudian dari fungsi tersebut dipanggila atau dikembalikan sebuah variabel yang menampung dari proses fungsi tersebut. yaitu “return dec_val;”

Sedangkan pada bagian int main(), terdapat ;
cout<<"Masukkan Bilangan Heksadesimal :";gets(heksa); 
Bagian diatas untuk menerima input dari keyboard dalam bentuk array 1 dimensi.

Kemudian pada bagian int main() terdapat lagi
strcpy(hexNum,heksa);
perhatikan perintah “strcpy”, ini berfungsi untuk mengcopy string. Jika dilihat dari program/perintah tersebut bahwa string dari variable input tadi yaitu “heksa” akan dimasukkan dalam variable “hexNum”.

Alur programnya seperti dibawah ini;

  1. Program meminta untuk memasukkan bilangan Hexadesimal dalam varibale heksa
  2. Kemudian yang bertipe string (huruf) dicopy ke varibale hexNum
  3. Kedua nilai varibale hexNum dibawah ke fungsi hexadecimalToDecimal (char hexVal[]) melalui  variable array sementara yaitu hexVal pada fungsi
  4. Kemudian terjadi perhitungan panjang string pada strlen(hexVal); dan setiap digit dipisahkan dengan array
  5. Kemudian terjadi pengecekan apakah setiap digit yang dimasukkan antara 0 – 9 dan A – F, kemudian dikalikan dengan basis 16. Agar tercipta menjadi bilangan desimal.
  6. Kemudian ditampung dalam variable dec_val; untuk dikembalikan pada int main yaitu   

 cout <"Maka Dalam Desimal Adalah :"<< hexadecimalToDecimal(hexNum) << endl;

maka hasil akhir dari program diatas akan menghasilkan program konversi bilangan Hexadesimal ke Desimal seperti dibawah ini;


contoh program c++ konversi bilangan  Hexadesimal ke Desimal. Untuk  programnya seperti yang terdapat dibawah ini.  hasil akhir dari program diatas akan menghasilkan program konversi bilangan Hexadesimal ke Desimal seperti dibawah ini;
Gambar hasil program c++ konversi bilangan Hexadesimal ke Desimal

Demikianlah pembahasan tentang membuat program c++ untuk konversi bilangan Hexadesimal ke Desimal, semoga artikel ini bermanfaat.


EmoticonEmoticon