Latihan Kode Program C++: Konversi Bilangan Desimal ke Biner

Dalam latihan kode program C++ kali ini kita akan bahas cara mengkonversi angka desimal ke angka biner. Materi ini berhubungan dengan logika matematika, array, serta konsep perulangan for.


Soal Konversi Bilangan Desimal ke Biner

Buatlah kode program C++ yang menerima satu inputan angka desimal (basis 10), dan menampilkan output dalam bentuk angka biner (basis 2).


Tips Membuat Kode Program Konversi Desimal ke Biner

Soal ini melatih pemahaman terkait logika matematika, tipe data array dan konsep perulangan (looping). Berikut tutorial pendahuluan yang bisa diikuti:

Pemecahan dari soal ini sangat bergantung ke rumus cara konversi angka desimal menjadi angka biner. Salah satu solusi yang sering dipakai adalah menyimpan sisa hasil bagi dengan angka 2 hingga tidak ada lagi yang bisa di bagi.

Sebagai contoh, berapa angka biner dari 25 desimal? berikut rumusnya =

25/2 = 12, sisa 1
12/2 = 6, sisa 0
6/2 = 3, sisa 0
3/2 = 1, sisa 1
1/2 = 0, sisa 1

Baca angka sisa dari bawah ke atas = 11001, maka 25 desimal = 11001 biner.

Contoh lain, berapa angka binar dari 123?

123/2 = 61, sisa 1
61/2 = 30, sisa 1
30/2 = 15, sisa 0
15/2 = 7, sisa 1
7/2 = 3, sisa 1
3/2 = 1, sisa 1
1/2 = 0, sisa 1

Baca angka sisa dari bawah ke atas = 1111011, maka 123 desimal = 1111011 biner.

Di dalam kode program nanti, kita perlu perulangan untuk mencari angka sisa. Karena angka ini cukup banyak, bisa disimpan ke dalam array. Selanjutnya proses pembacaan array harus dilakukan dari angka terakhir (perulangan menurun).


Kode Program C++Konversi Desimal ke Biner

Berikut salah satu solusi dari soal konversi bilangan desimal ke bilangan biner menggunakan bahasa pemrograman C++:

#include <iostream>

using namespace std;

int main()
{
  cout << "##  Program C++ Konversi Desimal ke Biner ##" << endl;
  cout << "============================================" << endl;
  cout << endl;

  int a[10], n, i;

  cout << "Input angka desimal: ";
  cin >> n;

  for(i=0; n>0; i++){
    a[i] = n%2;
    n = n/2;
  }

  cout << "Angka binernya adalah: ";

  for(i=i-1 ;i>=0 ;i--) {
    cout << a[i];
  }
  cout << endl;

  return 0;
}

Di baris 11, terdapat pendefinisian 3 buah variabel, yakni array a untuk menampung 10 element, n untuk menampung nilai awal (angka desimal yang diinput user), dan i sebagai variabel bantu yang dipakai untuk proses perulangan.

Di baris 12, inputan user akan ditampung ke dalam variabel n.

Perulangan for di baris 16-19 dipakai untuk mencari sisa hasil bagi. Angka sisa ini disimpan ke dalam array a[i] dalam setiap iterasi.

Adapun perulangan for kedua di baris 23-25 berfungsi untuk menampilkan sisa hasil bagi yang tersimpan di dalam array a. Namun kali ini prosesnya menurun, mulai dari i = i-1, hingga i>0.

Contoh kode program Konversi Bilangan Desimal ke Biner C++

Dalam kode ini saya menggunakan array a[10], maka maksimal angka yang bisa dikonversi adalah 210 – 1 = 1023 desimal. Akan tetapi beberapa compiler bisa melewati batasan ini. Sebagai contoh, compiler GNU GCC bawaan Code::Block tidak masalah saat mengkonversi angka yang lebih besar.

Demikian kode program konversi bilangan desimal ke bilangan biner menggunakan bahasa pemrograman C++. Semoga tutorial ini bisa bermanfaat.

Add Comment