Konversi Biner Ke Desimal

4 Juni 2009

Bilangan biner tersusun atas 2 digit yaitu 0 dan 1. Dari segi pemrograman komputer, bilangan biner memiliki peranan yang sangat berarti karena bilangan biner semua kode akan direpresentasikan dalam bentuk biner. Sebagai contoh angka A memiliki kode desimal 65 dalam iplementasi mesinnya akan diterjemahkan kedalam bilangan biner 01000001. Kode yang tersusun atas rangkaian 0 dan 1 tentu akan menyulitkan untuk memahaminya. Untuk itu adakalanya kita merubah kode biner tersebut kedalam desimal.
Misalkan terdapat kode biner 01000001 maka tiap digit dapat kita representasikan dalam desimal seperti berikut:

128    64   32   16   8     4      2     1

  0       1     0      0   0     0      0      1

Setiap angka 1 kita jumlahkan representasi desimalnya sehingga diperoleh:
64 + 1 = 65

Representasi tersebut diperoleh melalui rumus seperti berikut:
1 X 2^0 = 1
1 X 2^1 = 2
1 X 2^2 = 4
1 X 2^3 = 8
1 X 2^4 = 16
1 X 2^5 = 32
1 X 2^6 = 64
1 X 2^7 = 128

Algoritma
0.Mulai
1.Tentukan bilangan biner, Bin
2.Tentukan panjang Bil mis N
3.Tentukan Hasil=0
4. Ulangi I = 0 To N-1 Step 1
Hasil=Hasil + Bil(I) * 2 ^ I
5. Ulangi I
6. Cetak Hasil
7. Selesai

Implementasi

Private Sub Form_Activate()
  Dim I,N,Hasil As Byte
  Bin="01000001"
  N=Len(Bin)
  Hasil=0
  For I = 0 To N-1 Step 1
    Hasil = Hasil + Bil(I) * 2 ^ I
  Next I
  Print Bin;" Adalah : ";Hasil
End Sub

Menentukan Posisi Digit Dalam Bilangan

4 Juni 2009

Misalkan diketahui suatu bilangan 10 maka digit pembentuk bilangan tersebut dapat diuraikan sebagai berikut:
0 –> satuan
1 –> puluhan

Misalkan diketahui bilangan 275 maka posisi digit dalam bilangan tersebut dapat diurai sebagai berikut:
5 –> satuan
7 –> puluhan
2 –> ratusan

Algoritma
0. Mulai
1. tentukan variabel penyimpan satuan, puluhan, ratusan, ribuan
2. tentukan bilangan, mis N
3. tentukan panjang N
4. Ulangi I mulai dari N s.d panjang 1
5. Cetak keterangan I
6. Ulangi Ke I
7. Selesai

Implementasi

Private Sub Form_Activate()
  Dim N,I as Byte
  Dim Bil,Digit(9) as String*15
  Digit(1)="Satuan"
  Digit(2)="Ratusan"
  Digit(3)="Ribuan"
  Digit(4)="Puluhan Ribu"
  Digit(5)="Ratusan Ribu"
  Digit(6)="Satu Juta"
  Digit(7)="Sepuluh Juta"
  Digit(8)="Seratus Juta"
  Digit(9)="Satu Milyar"

  Bil="275"
  N=Len(Bil)
  For I = N-1 To 1 Step 1
    Print Bil(I-1);Digit(N-I)
  Next I
End Sub