tag:blogger.com,1999:blog-24204736303416745352024-03-13T09:48:24.920-07:00cara-membuat-kalkulator-dengan-Visual- Basickomputerhttp://www.blogger.com/profile/15723879528323914152noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-2420473630341674535.post-58090746229706554002009-12-26T00:58:00.001-08:002009-12-26T01:06:19.514-08:00Cara Membuat Kalkulator dengan Visual Basic 6.0<br />| Komputer, Visual Basic | 6 comments ยป<br /><br />Program kalkulator adalah program standar yang sudah tersedia di Microsoft Windows. Tetapi, tak ada salahnya jika kita mencoba membuat kalkulator sendiri dengan Microsoft Visual Basic 6.0.<br />Pertama-tama, buatlah sebuah form sesuai selera Anda, yang bentuknya kurang lebih seperti<br />kalkulator standar Windows, seperti ini:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_RJ18_vxntOI/SzXQkgDvt_I/AAAAAAAAAAM/Olgs36n43Ew/s1600-h/kalkulator.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 290px;" src="http://1.bp.blogspot.com/_RJ18_vxntOI/SzXQkgDvt_I/AAAAAAAAAAM/Olgs36n43Ew/s320/kalkulator.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5419467052109772786" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Untuk properties dari masing-masing objek, saya contohkan seperti dibawah ini, dengan letak<br />masing-masing objek disesuaikan dengan gambar diatas.<br />Textbox 1:<br />(Name) : txtDisplay<br />Alignment: 1-Right Justify<br />Text : (kosongkan)<br />Maxlength : 12<br /><br />Command Button 1:<br />(Name) : cmdAngka<br />Index : 1<br />Caption : 1<br /><br />Command Button 2:<br />(Name) : cmdAngka<br />Index : 2<br />Caption : 2<br /><br />Command Button 3:<br />(Name) : cmdAngka<br />Index : 3<br />Caption : 3<br /><br />Command Button 4:<br />(Name) : cmdAngka<br />Index : 4<br />Caption : 4<br /><br />Command Button 5:<br />(Name) : cmdAngka<br />Index : 5<br />Caption : 5<br /><br />Command Button 6:<br />(Name) : cmdAngka<br />Index : 6<br />Caption : 6<br /><br />Command Button 7:<br />(Name) : cmdAngka<br />Index : 7<br />Caption : 7<br /><br />Command Button 8:<br />(Name) : cmdAngka<br />Index : 8<br />Caption : 8<br /><br />Command Button 9:<br />(Name) : cmdAngka<br />Index : 9<br />Caption : 9<br /><br />Command Button 10:<br />(Name) : cmdAngka<br />Index : 0<br />Caption : 0<br /><br />Command Button 11:<br />(Name) : cmdPlusMinus<br />Caption : +/-<br /><br />Command Button 12:<br />(Name) : cmdKoma<br />Caption : .<br /><br />Command Button 13:<br />(Name) : cmdOperator<br />Index : 1<br />Caption : +<br /><br />Command Button 14:<br />(Name) : cmdOperator<br />Index : 2<br />Caption : -<br /><br />Command Button 15:<br />(Name) : cmdOperator<br />Index : 3<br />Caption : x<br /><br />Command Button 16:<br />(Name) : cmdOperator<br />Index : 4<br />Caption : /<br /><br />Command Button 17:<br />(Name) : cmdClearEntry<br />Caption : CE<br /><br />Command Button 18:<br />(Name) : cmdClear<br />Caption : C<br /><br />Command Button 19:<br />(Name) : cmdSamaDengan<br />Caption : =<br /><br />Berikutnya, Anda tinggal membuat coding dari kalkulator tersebut. Jika Anda mengikuti semua<br />setting properties seperti diatas, maka codingnya saya contohkan seperti ini:<br /><br />Option Explicit<br />Private Hasil As Double<br />Private Const opNol = 0<br />Private Const opTambah = 1<br />Private Const opKurang = 2<br />Private Const opKali = 3<br />Private Const opBagi = 4<br />Private Operator As Integer<br />Private NilaiBaru As Boolean<br /><br />' untuk menghapus karakter terakhir<br />Private Sub Hapus()<br />Dim txt As String<br />Dim min_len As Integer<br />txt = txtDisplay.Text<br />If Left$(txt, 1) = "-" Then<br />min_len = 2<br />Else<br />min_len = 1<br />End If<br />If Len(txt) > min_len Then<br />txtDisplay.Text = Left$(txt, Len(txt) - 1)<br />Else<br />txtDisplay.Text = "0"<br />End If<br />End Sub<br /><br />' hapus angka, hasil terakhir dan operator<br />Private Sub cmdClear_Click()<br />cmdClearEntry_Click<br />Hasil = 0<br />Operator = opNol<br />End Sub<br />' hapus angka<br />Private Sub cmdClearEntry_Click()<br />txtDisplay.Text = ""<br />End Sub<br />' menambahkan koma (desimal)<br />Private Sub cmdKoma_Click()<br />If InStr(txtDisplay.Text, ".") Then<br />Beep<br />Else<br />If NilaiBaru Then<br />txtDisplay.Text = "."<br />NilaiBaru = False<br />Else<br />txtDisplay.Text = txtDisplay.Text & "."<br />End If<br />End If<br />End Sub<br /><br />' Menghitung<br />Private Sub cmdSamaDengan_Click()<br />Dim HasilBaru As Double<br />If txtDisplay.Text = "" Then<br />HasilBaru = 0<br />Else<br />HasilBaru = CDbl(txtDisplay.Text)<br />End If<br />Select Case Operator<br />Case opNol<br />Hasil = HasilBaru<br />Case opTambah<br />Hasil = Hasil + HasilBaru<br />Case opKurang<br />Hasil = Hasil - HasilBaru<br />Case opKali<br />Hasil = Hasil * HasilBaru<br />Case opBagi<br />'Tidak bisa dibagi nol<br />If HasilBaru = 0 Then<br />MsgBox "Tidak bisa dibagi 0", vbOKOnly + vbCritical, "Kalku ERROR"<br />Call cmdClear_Click<br />Else<br />Hasil = Hasil / HasilBaru<br />End If<br />End Select<br />Operator = opNol<br />NilaiBaru = True<br />txtDisplay.Text = Format$(Hasil)<br />End Sub<br /><br />' menuliskan angka<br />Private Sub cmdAngka_Click(Index As Integer)<br />If NilaiBaru Then<br />txtDisplay.Text = Format$(Index)<br />NilaiBaru = False<br />Else<br />txtDisplay.Text = _<br />txtDisplay.Text & Format$(Index)<br />End If<br />End Sub<br />' tombol tambah/kurang/bagi/kali<br />Private Sub cmdOperator_Click(Index As Integer)<br />cmdSamaDengan_Click<br />Operator = Index<br />NilaiBaru = True<br />End Sub<br /><br />' merubah tanda +/-<br />Private Sub cmdPlusMinus_Click()<br />If NilaiBaru Then<br />txtDisplay.Text = "-"<br />ElseIf Left$(txtDisplay.Text, 1) = "-" Then<br />txtDisplay.Text = Right$(txtDisplay.Text, 2)<br />Else<br />txtDisplay.Text = "-" & txtDisplay.Text<br />End If<br />End Sub<br /><br />' filter untuk angka saja yg dapat diketikkan<br />Private Sub Form_KeyPress(KeyAscii As Integer)<br />txtDisplay_KeyPress KeyAscii<br />End Sub<br />Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)<br />txtDisplay_KeyUp KeyCode, Shift<br />End Sub<br />' supaya kursor tetap di kanan<br />Private Sub txtDisplay_Change()<br />txtDisplay.SelStart = Len(txtDisplay.Text)<br />End Sub<br />Private Sub txtDisplay_GotFocus()<br />txtDisplay_Change<br />End Sub<br /><br />' untuk mengetikkan angka di keyboard<br />Private Sub txtDisplay_KeyPress(KeyAscii As Integer)<br />Dim ch As String<br />ch = Chr$(KeyAscii)<br />Select Case ch<br />Case "0"<br />cmdAngka_Click 0<br />Case "1"<br />cmdAngka_Click 1<br />Case "2"<br />cmdAngka_Click 2<br />Case "3"<br />cmdAngka_Click 3<br />Case "4"<br />cmdAngka_Click 4<br />Case "5"<br />cmdAngka_Click 5<br />Case "6"<br />cmdAngka_Click 6<br />Case "7"<br />cmdAngka_Click 7<br />Case "8"<br />cmdAngka_Click 8<br />Case "9"<br />cmdAngka_Click 9<br />Case "*", "x", "X"<br />cmdOperator_Click opKali<br />Case "+"<br />cmdOperator_Click opTambah<br />Case vbCrLf, vbCr, "="<br />cmdSamaDengan_Click<br />Case "-"<br />cmdOperator_Click opKurang<br />Case "."<br />cmdKoma_Click<br />Case "/"<br />cmdOperator_Click opBagi<br />Case "C", "c"<br />cmdClearEntry_Click<br />End Select<br />KeyAscii = 0<br />End Sub<br /><br />' untuk ketikan angka di numpad<br />Private Sub txtDisplay_KeyUp(KeyCode As Integer, Shift As Integer)<br />Select Case KeyCode<br />Case vbKeyNumpad0<br />cmdAngka_Click 0<br />Case vbKeyNumpad1<br />cmdAngka_Click 1<br />Case vbKeyNumpad2<br />cmdAngka_Click 2<br />Case vbKeyNumpad3<br />cmdAngka_Click 3<br />Case vbKeyNumpad4<br />cmdAngka_Click 4<br />Case vbKeyNumpad5<br />cmdAngka_Click 5<br />Case vbKeyNumpad6<br />cmdAngka_Click 6<br />Case vbKeyNumpad7<br />cmdAngka_Click 7<br />Case vbKeyNumpad8<br />cmdAngka_Click 8<br />Case vbKeyNumpad9<br />cmdAngka_Click 9<br />Case vbKeyMultiply<br />cmdOperator_Click opKali<br />Case vbKeyAdd<br />cmdOperator_Click opTambah<br />Case vbKeySeparator<br />cmdSamaDengan_Click<br />Case vbKeySubtract<br />cmdOperator_Click opKurang<br />Case vbKeyDivide<br />cmdOperator_Click opBagi<br />Case vbKeyDecimal<br />cmdKoma_Click<br />Case vbKeyBack, vbKeyDelete<br />Hapus<br />End Select<br />KeyCode = 0<br />End Subkomputerhttp://www.blogger.com/profile/15723879528323914152noreply@blogger.com0