Pada hari ini, saya akan menjawab
sekaligus menganalisa soal dari dosen saya Pak Nandang mengenai kesalahan error
pada visual basic 2010. Langsung saja ya..
Jawaban
Latihan 1 soal no 3
a.) Yang menyebabkan program error pada
btalamat1_Click baris program alamat="Kuningan " karena sudah
terdapat konstanta yang terletak di Public Class frmsatu yaitu Const
alamat="Kuningan", kemudian tidak dideklarasikan varabel Dim di dalam
btalamat1_Click. Maka source code perbaikannya seperti ini:
Private Sub btalamat1_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
btalamat1.Click
Dim alamat As String
alamat = "kuningan"
txtalamat.Text = alamat
End Sub
b.) Tombol Nama1 dan Nama2 jika ditekan hasilnya berbeda saat
ditampilkan pada textbox nama karena pada btnama1_Click menggunakan variabel
Dim yang hanya dapat dikenal ditempat variabel tersebut dipesan. Sedangkan pada
btnama2_Click hanya mencantumkan baris program txtnama.Text=nama karena
variabel nilainya diambil dari Module1 yaitu Public Const nama As String =
"Nandang Hermanto". Kemudian saat menekan tombol Alamat1 dan Alamat2
alamat yang ditampilkan alamatnya sama, disebabkan karena di Public Class frmsatu
terdapat Const alamat="Kuningan". Seharusnya konstanta dihilangkan
kemudian pada btalamat1_Click diberi variabel Dim, pada btalamat2_Click source
code programnya tetap seperti itu saja sebab variabel nilainya diambil dari
Module1. Maka apabila programnya
dijalankan, textbox alamat akan menampilkan hasil yang berbeda apabila menekan
tombol Alamat1 dan Alamat2.
c.) Saat menekan tombol Tambah Umur1 hasil pada textbox selalu
keluar angka 1, namun saat menekan tombol Tambah Umur2 hasilnya selalu
bertambah 1 dari umur sebelumnya. Hal ini disebabkan pada bttambahumur1_Click
menggunakan variabel Dim, yang hanya dapat dikenal ditempat variabel tersebut
dipesan walaupun pada listing programnya sudah diberi umur+=1. Sedangkan pada
bttambahumur2_Click menggunakan variabel Static yang nilainya tidak akan hilang
selama program dijalankan, sehingga nilainya akan terus bertambah. Maka listing
program pada bttambahumur1_Click seharusnya diganti menjadi:
Private Sub bttambahumur1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttambahumur1.Click
Static umur As Integer
umur += 1
txtumur.Text = umur
End Sub
d.) Analisa pada Form dua menurut saya yaitu terdapat perintah Option
Explicit Off pada Public Class frmdua, tidak mengharuskan variabel dipesan
terlebih dahulu. Kemudian terdapat tombol Nama, Alamat, dan Umur. Ketiga button
ini, masing-masing mempunyai variabel nilai yang telah ditampung pada Module1.
Sehingga apabila kita menekan ketiga tombol tersebut akan menampilkan hasil
yang sesuai dengan nilai pada Module1. Terdapat tombol Tutup apabila ditekan
maka kita akan keluar dari Form dua dan kembali ke Form satu.
Jawaban
Latihan 2 If dan Case
Menurut
analisa saya kelemahan pada latihan 2 If dan Case yaitu tidak ada tombol
Hitung. Pada program ini saya rasa user atau orang awam akan merasa kebingungan
saat menggunakannya, apabila akan menginputkan datanya. Maka saya sedikit
merubah posisi radio button "Tunai" dan "Kredit" serta
menambahkan tombol Hitung. Sehingga tampilannya akan menjadi seperti ini:
Tampilan
Awal setelah program diperbaiki
Listing
program dari tombol Hitung yaitu:
Private Sub bthitung_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
bthitung.Click
txttotal.Text = Val(txtharga.Text) * Val(txtjumlah.Text)
txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)
If Me.radiotunai.Checked
= True Then
txtdiskon.Text = Val(txttotal.Text) * 10 / 100
txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)
ElseIf Me.radiokredit.Checked
= True Then
txtdiskon.Text = 0
txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)
End If
End Sub
Kelemahan
selanjutnya pada pilihan Kode Barang "TAS" listing programnya belum
sempurna, pada saat program dijalankan hasilnya 0. Seharusnya seperti ini:
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 Single
kdbarang = cmbkode.Text
Select Case
kdbarang
Case "SPT"
namabarang = "Sepatu"
harga = 200000
Case "SND"
namabarang = "Sandal"
harga = 100000
Case "TST"
namabarang = "T-Shirt"
harga = 1500000
Case "TOP"
namabarang = "Topi"
harga = 500000
Case "TAS"
namabarang = "Tas"
harga = 130000
Case Else
namabarang = "-"
harga = 0
End Select
txtnama.Text = namabarang
txtharga.Text = harga
End Sub
Tampilan setelah kita memilih Kode Barang "TAS" dan
menginputkan Jumlah Barang
Kemudian kelemahan yang saya temukan lagi yaitu pada tombol Clear
apabila kita menekannya maka semua hasil yang ditampilkan texbox akan hilang,
akan tetapi pada radio button Cara Beli akan berubah menjadi FALSE.
Tampilan pada program sebelumnya pada saat menekan tombol
Clear
Perbaikannya
seperti ini:
Private Sub btclear_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
btclear.Click
txtnama.Clear()
txtharga.Clear()
txtjumlah.Clear()
txttotal.Clear()
txtdiskon.Clear()
txtbayar.Clear()
radiotunai.Text = "Tunai"
radiokredit.Text = "Kredit"
cmbkode.Text = " "
Tampilan program setelah diperbaiki pada saat menekan
tombol Clear
Demikian jawaban saya mengenai penanganan kesalahan error pada
visual basic 2010, semoga bermanfaat bagi para pembaca. Terima Kasih.
Wassalamu'alaikum...
Melu komentar kakak : untuk perbaikan part 1 mungkin tidak perlu, cuma yang latihan if case doang kan?
BalasHapus