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
- 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 ^^