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.
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
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
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 a
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 a
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 = "-"
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