Jawaban latihan Visual Basic
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
Tidak ada komentar:
Posting Komentar