Okeh langsung saja dari pada kelamaan kali ini saya coba menganalisa masalah yang terjadi pada program 1.  Pertama buat 2 buah  form terlebih dahulu  kemudian masukan kode dibawah ini pada form 1

Public Class Frmsatu
    Const alamat = "kuningan"
    Private Sub Btalamat1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btalamat1.Click
        Dim alamat = "nandang"
        txtnama.Text = alamat
    End Sub

    Private Sub Btnama1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnama1.Click
        Dim nama As String
        nama = " Nandang "
        txtnama.Text = nama

    End Sub

    Private Sub Btnama2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnama2.Click

        txtnama.Text = nama
    End Sub

    Private Sub Btalamat2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btalamat2.Click
        Txtalamat.Text = alamat
    End Sub

    Private Sub Btumur1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btumur1.Click
        Dim umur As Integer
        umur += 1
        Txtumur.Text = umur
    End Sub

    Private Sub Btumur2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btumur2.Click
        Static umur As Integer
        umur += 1
        Txtumur.Text = umur
    End Sub

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        Frmdua.ShowDialog()
    End Sub
End Class

Langah berikutnya kita jalankan program dan ternyata ada keganjilan yang terjadi dari program tersebut yaitu  saat ditekan tombol nama1 dan nama1 nama yang ditampilkan pada textbox nama berbeda sedangkan saat ditekan tombol alamat1 dan alamat2 yang ditampilkan pada textbox alamat sama kenapa bisa begitu??

hal ini terjadi karena Pada tombol nama 1 dideklarasikan yaitu dengan dim as nama string yang berisi "nandang" sedangkan pada tombol nama 2 deklarasi menggambil dari deklarasi global yang terdapat pada modul program.

Pada tambah umur 1 selalu keluar angka satu karena pendeklarasiannya menggunakan DIM yang artinya tidak menyimpan nilai, maka nilai akan selalu keluar 1.  untuk itu DIM seharusnya diganti dengan STATIC agar nilainya tidak hilang saat program dijalankan.


Selanjutnya saya coba analisa program ke 2  coba buat form dengan tampilan sebagai berikut untuk menganalisa program if dan case


selanjutnya beri poperti dan masukan kode berikut :

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cmbkode.Items.Add("SPT")
        cmbkode.Items.Add("SND")
        cmbkode.Items.Add("TST")
        cmbkode.Items.Add("TOP")
        cmbkode.Items.Add("TAS")

    End Sub
'========================================================='
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        txtbayar.Clear()
        txtdiskon.Clear()
        txtharga.Clear()
        txtjumlah.Clear()
        txtnama.Clear()
        txttotal.Clear()
        Me.radiotunai.Checked = False
        Me.radiokredit.Checked = False
        cmbkode.Text = ""

    End Sub

'========================================================='
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtjumlah.TextChanged
        txttotal.Text = Val(txtharga.Text) * Val(txtjumlah.Text)
        txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)
    End Sub

    Private Sub cmbkode_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbkode.SelectedIndexChanged
        Dim kdbarang, namabarang As String
        Dim harga As Integer
        kdbarang = cmbkode.Text
        Select Case kdbarang
            Case "SPT"
                namabarang = " sepatu "
                harga = 20000
            Case "SND"
                namabarang = " sendal"
                harga = 10000
            Case "TST"
                namabarang = " T-Shirt "
                harga = 15000
            Case "TOP"
                namabarang = " topi "
                harga = 50000
            Case Else
                namabarang = " - "
                harga = 0
        End Select
        txtnama.Text = namabarang
        txtharga.Text = harga
        txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)

    End Sub

'========================================================='
    Private Sub radiotunai_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles radiotunai.CheckedChanged
        txtdiskon.Text = Val(txttotal.Text) * 10 / 100
        txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)
    End Sub

'========================================================='
    Private Sub radiokredit_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles radiokredit.CheckedChanged
        txtdiskon.Text = 0
        txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)
    End Sub

'========================================================='
    Private Sub txtbayar_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtbayar.TextChanged

    End Sub

'========================================================='
    Private Sub bttutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttutup.Click
        Me.Close()
    End Sub

'========================================================='
    Private Sub txttotal_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txttotal.TextChanged

    End Sub

End Class
selanjutnya jalankan progam. maka progam berjalan dengan lancar tapi sebenarnya ada kekurangan dari program tersebut. antara lain


  • Tombol clear tidak menghapus semua textbox untuk itu kita tambahkan perintah untuk menghapus textbox yang masih isi dengan perintah namatxtbox.clear() 
  • Item barang tas tidak memilliki nilai untuk mengatasinya kita harus memberikan nilai tas pada select case agar nantinya nilai dapat diketahui
Demikian analisa untuk tugas pemrogaman 2 terimakasih ^^



Leave a Reply

Diberdayakan oleh Blogger.