Sabtu, 10 November 2012 By: Gusti Yoga

Program Konversi Bilangan


          Program ini adalah program yang berguna dalam pengkonversian suatu bilangan desimal. Program ini dibuat dengan bahasa pemrograman C++ dimana user nantinya diminta menginput bilangan desimal dan memilih akan dikonversi ke bilangan apa, apakah biner, oktadesimal atau heksadesimal.





  1. Algoritma
1.       Mulai
2.      Input sebuah bilangan
3.      Masukkan pilihan konversi, ke biner, okta, atau heksa
4.      Jika pilihan ke biner maka lakukan perulangan berikut
selama bilangan bernilai > 0 maka lakukan:
·         Jika bilangan dibagi 2 sisanya 0 maka temp_biner = 0
·         Jika bilangan dibagi 2 sisanya 1 maka temp_biner = 1
·         Bilangan=bilangan dibagi 2
·         Biner=temp_biner ditambah biner
Menampilkan bilangan biner
5.      Jika pilihan ke okta maka lakukan perulangan berikut
Selama bilangan  bernilai > 0 maka lakukan:
·         Jika bilangan  dibagi 8 sisanya 0 maka temp_okta = 0
·         Jika bilangan  dibagi 8 sisanya 1 maka temp_okta = 1
·         Jika bilangan  dibagi 8 sisanya 2 maka temp_okta = 2
·         Jika bilangan  dibagi 8 sisanya 3 maka temp_okta = 3
·         Jika bilangan  dibagi 8 sisanya 4 maka temp_okta = 4
·         Jika bilangan  dibagi 8 sisanya 5 maka temp_okta = 5
·         Jika bilangan  dibagi 8 sisanya 6 maka temp_okta = 6
·         Jika bilangan  dibagi 8 sisanya 7 maka temp_okta = 7
·         Bilangan=bilangan  dibagi 8
·         Okta=temp_okta+okta
Menampilkan bilangan okta
6.      Jika pilihan ke heksa maka lakukan perulangan berikut
Selama bilangan  > 0 maka lakukan:
·         Jika bilangan  dibagi 16 sisanya 0 maka temp_heksa = 0
·         Jika bilangan  dibagi 16 sisanya 1 maka temp_heksa = 1
·         Jika bilangan  dibagi 16 sisanya 2 maka temp_heksa = 2
·         Jika bilangan  dibagi 16 sisanya 3 maka temp_heksa = 3
·         Jika bilangan  dibagi 16 sisanya 4 maka temp_heksa = 4
·         Jika bilangan  dibagi 16 sisanya 5 maka temp_heksa = 5
·         Jika bilangan  dibagi 16 sisanya 6 maka temp_heksa = 6
·         Jika bilangan  dibagi 16 sisanya 7 maka temp_heksa = 7
·         Jika bilangan  dibagi 16 sisanya 8 maka temp_heksa = 8
·         Jika bilangan  dibagi 16 sisanya 9 maka temp_heksa = 9
·         Jika bilangan  dibagi 16 sisanya 10 maka temp_heksa = a
·         Jika bilangan  dibagi 16 sisanya 11 maka temp_heksa = b
·         Jika bilangan  dibagi 16 sisanya 12 maka temp_heksa = c
·         Jika bilangan  dibagi 16 sisanya 13 maka temp_heksa = d
·         Jika bilangan  dibagi 16 sisanya 14 maka temp_heksa = e
·         Jika bilangan  dibagi 16 sisanya 15 maka temp_heksa = f
·         Bilangan=bilangan dibagi 16
·         Heksa=temp_heksa ditambah heksa
Menampilkan bilangan heksa
7.      Jika user tidak memilih pilihan selain yang disediakan maka tampilkan sebuah teks
8.      Selesai

  1. Program dalam C++

#include
#include
using namespace std;

int main()
{
                int angka,pil;
                string temp_biner,temp_okta,temp_heksa,biner,okta,heksa;
                cout << "# ##Program Mengkonversi Bilangan Desimal ke Biner, Okta, Heksa ###\n\n\n";
                cout << "Masukkan sebuah bilangan  : "; cin >> angka;
                cout << "\njenis konversi : \n";
                cout << "1) Biner \n";
                cout << "2) Okta \n";
                cout << "3) Heksa \n\n";
                cout << "Masukkan pilihan : "; cin >> pil;

                switch (pil)
                {
                case 1:
                {
                                cout <<"Bilangan biner dari bilangan " << angka << " adalah ";
                                while (angka>0)
                                {
                                                if (angka%2==0)
                                                                temp_biner='0';
                                                if (angka%2==1)
                                                                temp_biner='1';
                                                angka=angka/2;
                                                biner=temp_biner+biner;
                                }
                                cout << biner;
                                break;
                }
                case 2:
                {
                                cout << "Bilangan okta  dari bilangan"<< angka <<" adalah  ";
                                while (angka>0)
                                {
                                                if (angka%8==0)
                                                                temp_okta='0';
                                                if (angka%8==1)
                                                                temp_okta='1';

                                                if (angka%8==2)
                                                                temp_okta='2';
                                                if (angka%8==3)
                                                                temp_okta='3';
                                                if (angka%8==4)
                                                                temp_okta='4';
                                                if (angka%8==5)
                                                                temp_okta='5';
                                                if (angka%8==6)
                                                                temp_okta='6';
                                                if (angka%8==7)
                                                                temp_okta='7';
                                                angka=angka/8;
                                                okta=temp_okta+okta;
                                }
                                cout << okta;
                                break;
                }
                               
                case 3:
                {
                                cout << "Bilangan heksa dari bilangan "<< angka <<" adalah ";
                                while (angka>0)
                                {
                                                if (angka%16==0)
                                                                temp_heksa='0';
                                                if (angka%16==1)
                                                                temp_heksa='1';
                                                if (angka%16==2)
                                                                temp_heksa='2';
                                                if (angka%16==3)
                                                                temp_heksa='3';
                                                if (angka%16==4)
                                                                temp_heksa='4';
                                                if (angka%16==5)
                                                                temp_heksa='5';
                                                if (angka%16==6)
                                                                temp_heksa='6';
                                                if (angka%16==7)
                                                                temp_heksa='7';
                                                if (angka%16==8)
                                                                temp_heksa='8';
                                                if (angka%16==9)
                                                                temp_heksa='9';
                                                if (angka%16==10)
                                                                temp_heksa='a';
                                                if (angka%16==11)
                                                                temp_heksa='b';
                                                if (angka%16==12)
                                                                temp_heksa='c';

                                                if (angka%16==13)
                                                                temp_heksa='d';
                                                if (angka%16==14)
                                                                temp_heksa='e';
                                                if (angka%16==15)
                                                                temp_heksa='f';
                                                angka=angka/16;
                                                heksa=temp_heksa+heksa;
                                }
                                cout << heksa;
                                break;
                }
                default:
                {
                                cout << “Anda tidak memilih salah satu dari pilihan”
                }
                };
                return 0;
}

  1. Penjelasan langkah – langkah

Ø  #include
Berfungsi memasukkan fileheader iostream(menggunakan fungsi input output stream)
Ø  #include
Berfungsi memasukkan file header string(menggunakan fungsi-fungsi string)
Ø  using namespace std;
Menggunakan namespace std,karena ada banyak perintah cout maka agar tidak menulis std:: di depan cout maka saya menggunakan perintah ini
Ø  int main()
Mendeklarasikan fungsi utama program
Ø  int angka,pil;
variabel angka dan pil bernilai integer
Ø  string temp_biner,temp_okta,temp_heksa,biner,okta,heksa;
variabel temp_biner, temp_okta, temp_heksa, biner, okta, dan heksa bernilai string
Ø  cout << "# ##Program Mengkonversi Bilangan Desimal ke Biner, Okta, Heksa ###\n\n\n";
Menampilkan teks "# ##Program Mengkonversi Bilangan Desimal ke Biner, Okta, Heksa ###” dan memberi enter 3x
Ø  cout << "Masukkan sebuah bilangan  : "; cin >> angka;
Menampilkan teks “Masukkan sebuah bilangan :” dan kemudian user menginput bilangan yang nantinya disimpan di variabel angka
Ø  cout << "\njenis konversi : \n";
Memberi enter kemudian menampilkan teks “jenis konversi: “ kemudian memberi enter lagi
Ø  cout << "1) Biner \n";
Menampilkan teks “1) Biner” kemudian memberi enter
Ø  cout << "2) Okta \n";
Menampilkan teks “2) Okta” kemudian memberi enter
Ø  cout << "3) Heksa \n\n";
Menampilkan teks “3) Heksa” kemudian memberi enter 2x


Ø  cout << "Masukkan pilihan : "; cin >> pil;
Menampilkan teks “Masukkan pilihan :” kemudian user menginput pilihan yang nantinya disimpan di variabel pil
Ø  switch (pil)
melakukan pemilihan pada kondisi yaitu pilihan yang di input oleh user
Ø  case 1:
Jika pilihan 1 yang di input user maka akan melakukan perintah-perintah yang ada di dalam case 1
Ø  cout <<"Bilangan biner dari bilangan " << angka << " adalah ";
Menampilkan teks “Bilangan biner dari bilangan angka (bilangan yang diinput user) adalah “
Ø  while (angka>0)
Selama angka atau bilangan yang di input user bernilai lebih dari pada 0 maka lakukan perulangan
Ø  if (angka%2==0)
temp_biner='0';
Jika angka di bagi 2 sisanya = 0 maka simpan 0 ke temp_biner
Ø  if (angka%2==1)
temp_biner='1';
Jika angka di bagi 2 sisanya = 1 maka simpan 1 ke temp_biner
Ø  angka=angka/2;
angka=angka di bagi 2
Ø  biner=temp_biner+biner;
biner=temp_biner ditambah dengan biner, berfungsi mengurutkan dan menyimpan temp_biner

akhir dari perulangan
Ø  cout << biner;
Menampilkan bilangan biner
Ø  break;
Loncat ke akhir program, agar tidak melakukan perintah di bawahnya
Ø  case 2:
Jika pilihan 2 yang di input user maka akan melakukan perintah-perintah yang ada di dalam case 2
Ø  cout << "Bilangan okta  dari bilangan"<< angka <<" adalah  ";
Menampilkan teks “Bilangan okta dari bilangan angka (bilangan yang diinput user) adalah “
Ø  while (angka>0)
Selama angka lebih besar dari pada 0 maka lakukan perulangan
Ø  if (angka%8==0)
temp_okta='0';
Jika angka di bagi 8 sisanya = 0 maka simpan 0 ke temp_okta
Ø  if (angka%8==1)
temp_okta='1';
Jika angka di bagi 8 sisanya = 1 maka simpan 1 ke temp_okta
Ø  if (angka%8==2)
temp_okta='2';
Jika angka di bagi 8 sisanya = 2 maka simpan 2 ke temp_okta
Ø  if (angka%8==3)
temp_okta='3';
Jika angka di bagi 8 sisanya = 3 maka simpan 3 ke temp_okta
Ø  if (angka%8==4)
temp_okta='4';
Jika angka di bagi 8 sisanya = 4 maka simpan 4 ke temp_okta
Ø  if (angka%8==5)
temp_okta='5';
Jika angka di bagi 8 sisanya = 5 maka simpan 5 ke temp_okta
Ø  if (angka%8==6)
temp_okta='6';
Jika angka di bagi 8 sisanya = 6 maka simpan 6 ke temp_okta
Ø  if (angka%8==7)
temp_okta='7';
Jika angka di bagi 8 sisanya = 7 maka simpan 7 ke temp_okta
Ø  angka=angka/8;
angka = angka dibagi 8
Ø  okta=temp_okta+okta;
okta=temp_okta ditambah okta, berfungsi mengurutkan dan menyimpan temp_okta ke okta

akhir dari perulangan
Ø  cout << okta;
Menampilkan bilangan okta
Ø  break;
Loncat ke akhir program, agar tidak melakukan perintah di bawahnya
Ø  case 3:
Jika pilihan 3 yang di input user maka akan melakukan perintah-perintah yang ada di dalam case 3
Ø  cout << "Bilangan heksa dari bilangan "<< angka <<" adalah ";
Menampilkan teks “Bilangan okta dari bilangan angka (bilangan yang diinput user) adalah “
Ø  while (angka>0)
Ø  if (angka%16==0)
temp_heksa='0';
Jika angka di bagi 16 sisanya = 0 maka simpan 0 ke temp_heksa
Ø  if (angka%16==1)
temp_heksa='1';
Jika angka di bagi 16 sisanya = 1 maka simpan 1 ke temp_heksa
Ø  if (angka%16==2)
temp_heksa='2';
Jika angka di bagi 16 sisanya = 2 maka simpan 2 ke temp_heksa
Ø  if (angka%16==3)
temp_heksa='3';
Jika angka di bagi 16 sisanya = 3 maka simpan 3 ke temp_heksa
Ø  if (angka%16==4)
temp_heksa='4';
Jika angka di bagi 16 sisanya = 4 maka simpan 4 ke temp_heksa
Ø  if (angka%16==5)
temp_heksa='5';
Jika angka di bagi 16 sisanya = 5 maka simpan 5 ke temp_heksa
Ø  if (angka%16==6)
temp_heksa='6';
Jika angka di bagi 16 sisanya = 6 maka simpan 6 ke temp_heksa
Ø  if (angka%16==7)
temp_heksa='7';
Jika angka di bagi 16 sisanya = 7 maka simpan 7 ke temp_heksa
Ø  if (angka%16==8)
temp_heksa='8';
Jika angka di bagi 16 sisanya = 8 maka simpan 8 ke temp_heksa
Ø  if (angka%16==9)
temp_heksa='9';
Jika angka di bagi 16 sisanya = 9 maka simpan 9 ke temp_heksa
Ø  if (angka%16==10)
temp_heksa='a';
Jika angka di bagi 16 sisanya = 10 maka simpan a ke temp_heksa
Ø  if (angka%16==11)
temp_heksa='b';
Jika angka di bagi 16 sisanya = 11 maka simpan b ke temp_heksa
Ø  if (angka%16==12)
temp_heksa='c';
Jika angka di bagi 16 sisanya = 12 maka simpan c ke temp_heksa
Ø  if (angka%16==13)
temp_heksa='d';
Jika angka di bagi 16 sisanya = 13 maka simpan d ke temp_heksa
Ø  if (angka%16==14)
temp_heksa='e';
Jika angka di bagi 16 sisanya = 14 maka simpan e ke temp_heksa
Ø  if (angka%16==15)
temp_heksa='f';
Jika angka di bagi 16 sisanya = 15 maka simpan f ke temp_heksa
Ø  angka=angka/16;
angka = angka dibagi 16
Ø  heksa=temp_heksa+heksa;
heksa=temp_heksa ditambah heksa, berfungsi mengurutkan dan menyimpan temp_heksa ke heksa

akhir dari perulangan
Ø  cout << heksa;
Menampilkan bilangan heksa
Ø  break;
Loncat ke akhir program, agar tidak melakukan perintah di bawahnya
Ø  default:
Jika user melakukan pilihan lain selain yang disediakan maka akan masuk ke default
Ø  cout << “Anda tidak memilih salah satu dari pilihan”
Menampilkan teks “Anda tidak memilih salah satu dari pilihan”
Ø  return 0;
Menyatakan fungsi utama program telah berakhir dan program telah berhasil dieksekusi tanpa terjadi error


  1. Kesimpulan dan Kegunaan
Kesimpulan dari program diatas adalah untuk mengkonversi dari bilangan desimal ke bilangan yang di inginkan user, yaitu biner, okta, atau heksa. Kegunaannya agar kita bisa lebih cepat dalam melakukan konversi dibandingkan dengan cara manual.

0 komentar:

Posting Komentar