Jason Mraz - I'm Yours

Thursday 13 March 2014

MEMBUAT APLIKASI KONVERSI BILANGAN DENGAN PROGRAM VB


MEMBUAT APLIKASI KONVERSI BILANGAN DENGAN PROGRAM Visual Basic


Konversi bilangan adalah perubahan bilangan yang biasanya kita kenal seperti bilangan biner, hexadesimal, desimal dan oktal. Dimana sistem bilangan ini wajib kita pahami untuk seorang mahasiswa Teknik Elektro apalagi ingin menjadi seorang Programmer.
1.    Desimal
Bilangan desimal adalah bilangan yang mempunyai sepuluh simbol angka yaitu 0,1,2,3,4,5,6,7,8,9.
2.    Heksadesimal
Bilangan heksadesimal adalah bilangan yang mempunyai enam belas simbol angka yaitu 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
3.    Biner
Bilangan Biner adalah bilangan yang mempunyai dua simbol 0 dan 1
4.    Oktal
Bilangan heksadesimal adalah bilangan yang mempunyai delapan simbol angka yaitu 0,1,2,3,4,5,6,7

Berikut tabel konversi bilangan :

Desimal
Biner
Oktal
Hexadesimal
0
0
0
0
1
1
1
1
2
10
2
2
3
11
3
3
4
100
4
4
5
101
5
5
6
110
6
6
7
111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
Baiklah kita akan membuat program Aplikasi Konversi Bilangan dengan VB dimana aplikasi ini akan membantu anda mengkonversikan bilangan secara cepat dan tepat :
1.    Seperti biasa buatlah New Project pada software VB anda kemudian tambahkan 11 label, 2 textbox, 2 frame, 8 optionbutton, dan 3 commandbutton.
2.    Desainlah menjadi seperti gambar dibawah ini :

Aplikasi konversi bilangan dengan VB
Gambar Form Aplikasi Konversi Bilangan dengan program VB
3.    Kemudian ketikkan kode/script/listing program dibawah ini :
Option Explicit
Private Sub command2_Click()
Text1.Text = ""
Text2.Text = ""
End Sub

Private Sub command3_Click()
End
End Sub
Private Sub command1_Click()
  If Option2.Value And Option5.Value Then Text2.Text = BinToDes(Text1.Text)
  If Option2.Value And Option6.Value Then Text2.Text = Text1.Text
  If Option2.Value And Option7.Value Then Text2.Text = BinToOk(Text1.Text)
  If Option2.Value And Option8.Value Then Text2.Text = BinToHex(Text1.Text)
  If Option1.Value And Option6.Value Then Text2.Text = DesToBin(Text1.Text)
  If Option1.Value And Option5.Value Then Text2.Text = Text1.Text
  If Option1.Value And Option7.Value Then Text2.Text = DesToOk(Text1.Text)
  If Option1.Value And Option8.Value Then Text2.Text = DesToHex(Text1.Text)
  If Option3.Value And Option6.Value Then Text2.Text = OkToBin(Text1.Text)
  If Option3.Value And Option8.Value Then Text2.Text = OkToHex(Text1.Text)
  If Option3.Value And Option5.Value Then Text2.Text = OkToDes(Text1.Text)
  If Option3.Value And Option7.Value Then Text2.Text = Text1.Text
  If Option4.Value And Option6.Value Then Text2.Text = HexToBin(Text1.Text)
  If Option4.Value And Option5.Value Then Text2.Text = HexToDes(Text1.Text)
  If Option4.Value And Option7.Value Then Text2.Text = HexToOk(Text1.Text)
  If Option4.Value And Option8.Value Then Text2.Text = Text1.Text

  With Text1
    .SelStart = 0
    .SelLength = Len(Text1.Text)
  End With
End Sub

Public Function BinToDes(ByVal NBiner As String) As Long
  Dim A         As Integer
  Dim B         As Long
  Dim Nilai    As Long
  On Error GoTo ErrorHandler
  B = 1
  For A = Len(NBiner) To 1 Step -1
    If Mid(NBiner, A, 1) = "1" Then Nilai = Nilai + B
    B = B * 2
  Next
  BinToDes = Nilai
  Exit Function
ErrorHandler:
  BinToDes = 0
End Function

Public Function DesToBin(ByVal NDesimal As Long) As String
  Dim C        As Byte
  Dim D        As Long
  Dim Nilai    As String
  On Error GoTo ErrorHandler
  D = (2 ^ 31) - 1
  While D > 0
    If NDesimal - D >= 0 Then
      NDesimal = NDesimal - D
      Nilai = Nilai & "1"
    Else
      If Val(Nilai) > 0 Then Nilai = Nilai & "0"
    End If
    D = D / 2
  Wend
  DesToBin = Nilai
  Exit Function
ErrorHandler:
  DesToBin = 0
End Function

Public Function DesToHex(ByVal NDesimal As Long) As String
  DesToHex = Hex(NDesimal)
End Function

Public Function HexToDes(ByVal NHexa As String) As Long
  Dim E         As Integer
  Dim Nilai     As Long
  Dim F         As Long
  Dim CharNilai As Byte
  On Error GoTo ErrorHandler
  For E = Len(NHexa) To 1 Step -1
    Select Case Mid(NHexa, E, 1)
      Case "0" To "9": CharNilai = CInt(Mid(NHexa, E, 1))
      Case Else: CharNilai = Asc(Mid(NHexa, E, 1)) - 55
    End Select
    Nilai = Nilai + ((16 ^ F) * CharNilai)
    F = F + 1
  Next E
  HexToDes = Nilai
  Exit Function
ErrorHandler:
  HexToDes = 0
End Function
Public Function DesToOk(ByVal NDesimal As Long) As String
  DesToOk = Oct(NDesimal)
End Function

Public Function OkToDes(ByVal NOktal As String) As Long
  Dim G          As Integer
  Dim H          As Long
  Dim Nilai      As Long
  On Error GoTo ErrorHandler
  For G = Len(NOktal) To 1 Step -1
    Nilai = Nilai + (8 ^ H) * CInt(Mid(NOktal, G, 1))
    H = H + 1
  Next G
  OkToDes = Nilai
  Exit Function
ErrorHandler:
  OkToDes = 0
End Function

Public Function BinToOk(ByVal bin As Long) As String
 BinToOk = DesToOk(BinToDes(bin))
End Function

Public Function BinToHex(ByVal NBiner As Long) As String
 BinToHex = DesToHex(BinToDes(NBiner))
End Function

Public Function OkToBin(ByVal NOktal As Double) As String
    OkToBin = DesToBin(OkToDes(NOktal))
End Function
Public Function OkToHex(ByVal NOktal As Double) As String
    OkToHex = DesToHex(OkToDes(NOktal))
End Function

Public Function HexToBin(ByVal NHexa As String) As String
    HexToBin = DesToBin(HexToDes(NHexa))
End Function
'
Public Function HexToOk(ByVal NHexa As String) As Double
    HexToOk = DesToOk(HexToDes(NHexa))
End Function

Private Sub Form_Load()
Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2
  Text1.Text = ""
  Text2.Text = ""
End Sub

4. Simpan dan Jalankan Program anda dengan menekan tombol F5, kemudian coba masukkan nilai 15 (terserah anda), kemudian pilih Desimal untuk masukan dan Biner untuk keluaran
5.    Hasilnya seperti berikut:

program konversi bilangan menggunakan Visual basic


Gambar Hasil Aplikasi Konversi Bilangan dengan program VB