- 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 - 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.
- 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.ClickStatic umur As Integer
umur += 1
txtumur.Text = umur
End Sub
- 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
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 = " "
No comments:
Post a Comment