Jumat, 30 November 2012

PROGRAM PEMBUATAN KALKULATOR SYNTIC


“Kalkulator Sains”
Tujuan :
Tujuan dari pembuatan program aplikasi ini adalah untuk memenuhi tugas penugasan modul 2 yang diberikan oleh asissten, selain itu tujuan dari aplikasi ini adalah untuk membantu user untuk memcahkan atau menghitung sebuah system atau fungsi matematika sains sederhana.

Sasaran
Sasaran dari pembuatan aplikasi ini bisa dibilang mencangkup berbagai tingkat siswa ataupun mahasiswa,karena aplikasi ini dapat membantu mereka dalam menyelesaikan masalah matematika atau masalah sains lainnya.

Deskripsi program

Program ini merupakan aplikasi yang berfungsi sebagai alat bantu hitung, aplikasi ini berbentuk kalkulator sains sederhana, karena hanya memuat beberapa operasi hitung sains sederhana, seperti operasi trigonometri seperti sinus, cosinus, dan tangen selain itu juga ada operasi hitung pangkat seperti log dan pangkat kuadrat.
Cara kerja operasi ini sama dengan kalkulator pada umumnya, namun yg membedakan hanya pada cara kerja operasi trigonometri, pada program ini nilai derajat yg diinginkan terlebih dahulu di input, baru dapat dicari nilai sin , cos atau tan dari nilai yg dicari, selebihnya cara kerja program ini sama dengan kalkulator yang biasa

TUTORIAL : 
1.      Membuka Aplikasi Visual Basic 2010

2.     Klik  ok maka akan mucul tampilan seperti berikut
3. Menampilkan Toolbox yang akan digunakan untuk memunculkan toolbox, bisa dimunculkan dari menu bar -view – other windows – toolbox


4. Ubah nama Button dengan angka dan operator aritmatika yang diinginkan

Komponen toolbox yang digunakan :
Komponen
Properties
Keterangan
Form1

Name
Text
Form1
RichTextBox1

Name
Text
RichTextBox1
Button1
Name
Text
Button1
1
Button2
Name
Text
Button2
2
Button3
Name
Text
Button3
3
Button4
Name
Text
Button4
4
Button5
Name
Text
Button5
5
Button6
Name
Text
Button6
6
Button7
Name
Text
Button7
7
Button8
Name
Text
Button8
8
Button9
Name
Text
Button9
9
Button10
Name
Text
Button10
0
Button11
Name
Text
Button11
.
Button12
Name
Text
Button12
Clear
Button13
Name
Text
Button13
-
Button14
Name
Text
Button14
+
Button15
Name
Text
Button15
/
Button16
Name
Text
Button16
*
Button17
Name
Text
Button17
=
Button18
Name
Text
Button18
Cos
Button19
Name
Text
Button19
Sin
Button20
Name
Text
Button20
Asin
Button21
Name
Text
Button21
Tan
Button22
Name
Text
Button22
Acos
Button23
Name
Text
Button23
Atan
Button24
Name
Text
Button24
X2
Button25
Name
Text
Button25
Log
Button26
Name
Text
Button26

Button27
Name
Text
Button27
Ln


5. Masukkan listing kode nya

Option Explicit On

Public rClass Form1

    Dim angkapertama As Single
    Dim angkakedua As Single
    Dim jawaban As Single
    Dim proses As String
    Dim hasil As Double
    Dim setara As Single



    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = Label1.Text & "1"
        Label2.Text = Label2.Text & "1"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol angka 1 maka pada label1 dan label2 akan memunculkan angka 1.

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Label1.Text = Label1.Text & "2"
        Label2.Text = Label2.Text & "2"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol angka 2 maka pada label1 dan label2 akan memunculkan angka 2.

    Private Sub button3_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Label1.Text = Label1.Text & "3"
        Label2.Text = Label2.Text & "3"
    End Sub
Deskripsi : Listing ini berguna apabila kita menekan tombol angka 3 maka pada label1 dan label2 akan memunculkan angka 3.

    Private Sub button4_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Label1.Text = Label1.Text & "4"
        Label2.Text = Label2.Text & "4"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol angka 4 maka pada label1 dan label2 akan memunculkan angka 4.


    Private Sub button5_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Label1.Text = Label1.Text & "5"
        Label2.Text = Label2.Text & "5"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol angka 5 maka pada label1 dan label2 akan memunculkan angka 5.

    Private Sub button6_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Label1.Text = Label1.Text & "6"
        Label2.Text = Label2.Text & "6"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol angka 6 maka pada label1 dan label2 akan memunculkan angka 6.

    Private Sub button7_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        Label1.Text = Label1.Text & "7"
        Label2.Text = Label2.Text & "7"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol angka 7 maka pada label1 dan label2 akan memunculkan angka 7.

    Private Sub button8_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        Label1.Text = Label1.Text & "8"
        Label2.Text = Label2.Text & "8"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol angka 8 maka pada label1 dan label2 akan memunculkan angka 8.

    Private Sub button9_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        Label1.Text = Label1.Text & "9"
        Label2.Text = Label2.Text & "9"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol angka 9 maka pada label1 dan label2 akan memunculkan angka 9.

    Private Sub button10_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        Label1.Text = Label1.Text & "0"
        Label2.Text = Label2.Text & "0"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol angka 1 maka pada label1 dan label2 akan memunculkan angka 1.

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        Label1.Text = Label1.Text & "."
        Label2.Text = Label2.Text & "."
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol . maka pada label1 dan label2 akan memunculkan tombol .
Tombol . ini berguna sebagai tanda koma.


    Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
        Label1.Text = ""
        Label2.Text = ""
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan tombol clear maka pada angka yang tertera pada label1 dan label2 akan terhapus.

    Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
        angkapertama = Val(Label1.Text)
        Label1.Text = ""
        Label2.Text = Label2.Text & "+"
        proses = "+"   
    End Sub

Deskripsi : Listing ini berguna ketika kita menekan angka dan angka tersebut akan muncul pada label pertama, lalu ketika kita menekan operator + maka angka tersebut akan berpindah ke label2 dan label1 akan terisi oleh operator + .

    Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
        angkapertama = Val(Label1.Text)
        Label1.Text = ""
        Label2.Text = Label2.Text & "-"
        proses = "-"
    End Sub

Deskripsi : Listing ini berguna ketika kita menekan angka dan angka tersebut akan muncul pada label pertama, lalu ketika kita menekan operator - maka angka tersebut akan berpindah ke label2 dan label1 akan terisi oleh operator - .


    Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
        angkapertama = Val(Label1.Text)
        Label1.Text = ""
        Label2.Text = Label2.Text & " X "
        proses = "X"
    End Sub

Deskripsi : Listing ini berguna ketika kita menekan angka dan angka tersebut akan muncul pada label pertama, lalu ketika kita menekan operator x maka angka tersebut akan berpindah ke label2 dan label1 akan terisi oleh operator x .

    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        angkapertama = Val(Label1.Text)
        Label1.Text = ""
        Label2.Text = Label2.Text & " / "
        proses = "/"
    End Sub

Deskripsi : Listing ini berguna ketika kita menekan angka dan angka tersebut akan muncul pada label pertama, lalu ketika kita menekan operator / maka angka tersebut akan berpindah ke label2 dan label1 akan terisi oleh operator / .

    Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click

        angkakedua = Val(Label1.Text)

        If proses = "+" Then
            jawaban = angkapertama + angkakedua
        End If
        If proses = "sin" Then

            hasil = angkakedua * Math.PI / 180
            jawaban = Math.Sin(hasil)

        End If
        If proses = "cos" Then

            hasil = angkakedua * Math.PI / 180
            jawaban = Math.Cos(hasil)

        End If
        If proses = "tan" Then
            hasil = angkakedua * Math.PI / 180
            jawaban = Math.Tan(hasil)
        End If
        If proses = "arcsin" Then
            hasil = Math.Asin(angkakedua)
            jawaban = hasil * 180 / Math.PI

        End If
        If proses = "arctan" Then
            hasil = Math.Atan(angkakedua)
            jawaban = hasil * 180 / Math.PI
        End If
        If proses = "arccos" Then
            hasil = Math.Acos(angkapertama)
            jawaban = hasil * 180 / Math.PI
        End If
        If proses = "log" Then
            jawaban = Math.Log(angkapertama)
        End If

        If proses = "-" Then
            jawaban = angkapertama - angkakedua
        End If
        If proses = "X" Then
            jawaban = angkapertama * angkakedua
        End If
        If proses = "/" Then
            If angkakedua = "0" Then
                MsgBox("canot devide by zero", 0, "warning")
                Label1.Text = ""
                Exit Sub
            End If
            jawaban = angkapertama / angkakedua
        End If

        Label1.Text = jawaban

    End Sub

Deskripsi :
·         Pada listing tersebut menjelaskan jika operator yang digunakan “+” maka hasil yang didapatkan adalah angka pertama dijumlahkan dengan angka yang kedua.
·         Pada listing tersebut menjelaskan jika operator yang digunakan “-” maka hasil yang didapatkan adalah angka pertama dikurangi dengan angka yang kedua.
·         Pada listing tersebut menjelaskan jika operator yang digunakan “x” maka hasil yang didapatkan adalah angka pertama dikalikan dengan angka yang kedua.
·         Pada listing tersebut menjelaskan jika operator yang digunakan “/” maka hasil yang didapatkan adalah angka pertama dibagikan dengan angka yang kedua dan dalam operator bagi angka kedua tidak dapat ditulis angka 0, apabila ditulis angka 0 maka tidak akan terdefinisi
·         Pada listing tersebut menjelaskan jika operator yang digunakan “sin” maka hasil yang didapatkan angka kedua akan dikalikan dengan phi dan dibagi dengan 180.
·         Pada listing tersebut menjelaskan jika operator yang digunakan “cos” maka hasil yang didapatkan angka kedua akan dikalikan dengan phi dan dibagi dengan 180.
·         Pada listing tersebut menjelaskan jika operator yang digunakan “tan” maka hasil yang didapatkan angka kedua akan dikalikan dengan phi dan dibagi dengan 180.
·         Pada listing tersebut menjelaskan jika operator yang digunakan “archsin” maka hasil yang didapatkan angka kedua akan dikalikan dengan 180 dan dibagi dengan phi.
·         Pada listing tersebut menjelaskan jika operator yang digunakan “archcos” maka hasil yang didapatkan angka kedua akan dikalikan dengan 180 dan dibagi dengan phi.
·         Pada listing tersebut menjelaskan jika operator yang digunakan “archtan” maka hasil yang didapatkan angka kedua akan dikalikan dengan 180 dan dibagi dengan phi.
·         Pada listing tersebut menjelaskan jika operator yang digunakan “log” maka hasil yang didapatkan adalah .log dari angka pertama.


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        CenterToScreen()

    End Sub

Deskripsi : listing berguna untuk menampilkan aplikasi berada ditengah.

    Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click

        Label2.Text = "sin" & Label1.Text
        proses = "sin"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan button pada label2 maka akan muncul sin, dan sin itu akan diproses dengan angka dari label1.

    Private Sub Button24_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button24.Click
        angkapertama = Val(Label1.Text)
        Label2.Text = Label1.Text & "^2"
        Label1.Text = angkapertama * angkapertama
    End Sub

Deskripsi : Listing ini berguna ketika kita menekan angka dan angka tersebut akan muncul pada label pertama, lalu ketika kita menekan operator ^2 maka angka tersebut akan berpindah ke label2 dan label1 akan terisi oleh operator ^2 . Maka dalam label1 angka pertama akan dikalikan dengan angka pertama juga.

    Private Sub Button25_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button25.Click
        angkapertama = Val(Label1.Text)
        Label2.Text = "log10" & Label1.Text
        Label1.Text = Math.Log10(angkapertama)
    End Sub


Deskripsi : Listing ini berguna ketika kita menekan angka dan angka tersebut akan muncul pada label pertama, lalu ketika kita menekan operator log maka angka tersebut akan berpindah ke label2 dan label1 akan terisi oleh operator log . Maka dalam label1 akan didapat hasil dari log angka pertama.

    Private Sub Button26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button26.Click
        angkapertama = Val(Label1.Text)
        Label2.Text = Label1.Text & "^1/2"
        Label1.Text = angkapertama ^ (1 / 2)
    End Sub


Deskripsi : Listing ini berguna ketika kita menekan angka dan angka tersebut akan muncul pada label pertama, lalu ketika kita menekan operator ^1/2 maka angka tersebut akan berpindah ke label2 dan label1 akan terisi oleh operator ^1/2 . Maka dalam label1 angka pertama akan dikalikan dengan 1/2.

    Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
       
        Label2.Text = "cos" & Label1.Text
        proses = "cos"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan button pada label2 maka akan muncul cos, dan cos itu akan diproses dengan angka dari label1.

    Private Sub Button21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button21.Click

        Label2.Text = "tan" & Label1.Text
        proses = "tan"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan button pada label2 maka akan muncul tan, dan tan itu akan diproses dengan angka dari label1.

    Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
        Label2.Text = "Arcsin" & Label1.Text
        proses = "arcsin"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan button pada label2 maka akan muncul arcsin, dan arcsin itu akan diproses dengan angka dari label1.

    Private Sub Button23_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button23.Click
        Label2.Text = "arctan" & Label1.Text
        proses = "arctan"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan button pada label2 maka akan muncul arctan, dan arctan itu akan diproses dengan angka dari label1.

    Private Sub Button22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button22.Click
        Label2.Text = "arcCos" & Label1.Text
        proses = "arccos"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan button pada label2 maka akan muncul arccos, dan arccos itu akan diproses dengan angka dari label1.

    Private Sub Button27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button27.Click
        Label2.Text = "log" & Label1.Text
        proses = "log"
    End Sub

Deskripsi : Listing ini berguna apabila kita menekan button pada label2 maka akan muncul log, dan log itu akan diproses dengan angka dari label1.

End Class








4 komentar:

  1. gan button no 17 kok ngk bisa ya? udh ane copy punya agan trus ane edit sesuai dengan ane buat, waktu di test jdi 0 smuanya, di tambah jdi 0, klo sin jdi error, gmn dong?
    mohon bantuannya

    BalasHapus
  2. Berhasil semua souce code nya bang terimakasih banyak

    BalasHapus