Tugas Pemprograman Visual Basic 2
Program 1
1.
Apa yang menyebabkan error pada Btalamat1_Click baris program “alamat=Kuningan”?
jawab :
Muncul
pesan error Constant Cannot Be The Target
Of The Assignment. Yang artinya konstanta tersebut bukan target dari alamat=kuningan,
dimana nilai dari konstanta tidak bisa dirubah-rubah. Sebelumnya pada saat
pendeklarasian konstanta sudah ada value atau nilai. Yang codenya Const alamat=”Kuningan”jadi tidak usah
ada pengulangan pemberian nilai, atau pemberian nilai alamat=”Kuningan” pada Btalamat1_Click dijadikan komentar
saja yaitu dengan menambahkan tanda petik didepan kata alamat=”Kuningan”.
Konstanta
tersebut diletakan dibawah class langsung yang artinya ia bisa dikenali di
class tersebut oleh berbagai komponen.
Selain
dengan konstanta, ia bisa juga dirubah menjadi variabel lokal yaitu Dim alamat as string = “Kuningan” yang
ditempatkan dibawah class langsung atau tidak masuk ke komponen lain.Jadi semua
komponen didalam class tersebut bisa memanggil nilai tersebut.
2.
Kenapa saat ditekan tombol nama 1 dan nama 2
yang ditampilkan pada textbox nama berbeda sedangkan saat ditekan tombol alamat
1 dan alamat 2 yang ditampilkan pada textbox alamat sama ?
Jawab :
Nama 1 : Nandang
Nama 2 : Nandang Hermanto
Karena
Nama 1 itu menggunakan variabel dim yang ditempatkan pada nama 1 saja yang
artinya hanya dikenali disitu saja (hanya variabel lokal) sedang nama 2 dia
hanya memanggil value dari nama dan ia langsung mengambil dari module, yang
pendeklarasiannya menggunakan Public
Const nama As String =” Nandang Hermanto” sehingga ia bisa dikenali oleh
semua komponen dalam class tersebut asal penulisan nama variabelnya sama. Beda
lagi kalau pendeklarasian variabel Dim
nama As String =”Nandang” diletakan di bawah class langsung maka baik nama
1 ataupun alamat 2 ia akan tetap menampilkan Nandang karna prinsipnya dia akan
memanggil yang paling terdekat.
Alamat 1 : Kuningan
Alamat 2 : Kuningan
Karena
kedua-duanya mengambil value yang terdekat yaitu yang terdeklarasi di dalam
classnya sendiri yaitu Const alamat
=”Kuningan”. Jadi tidak usah ngambil nilai dari module.
3.
Kenapa saat ditekan tombol tambah umur 1 selalu
keluar angka 1 sedangkan saat ditekan tombol tambah umur 2 selalu bertambah
satu dari umr sebelumnya ?
Jawab :
Karena
tombol tambah umur 1 menggunakan variabel lokal dim, yang kodenya seperti
berikut
Dim
umur as integer
Umur+=1
Txtumur.text=umur
Code diatas
mempunyai arti dimana umur dideklarasikan dengan nilai awal 1 dan ia tidak akan
menambahkan dirinya alias akan selalu tetap. Atau sama saja Dim umur As Integer = 1
Karna
tombol tambah 2 memakai static. Yang artinya ia akan selalu menambahkan dirinya
sesuai incremennya berapa selama program dijalankan / nilainya tidak akan
hilang selama program berjalan.
4.
Analisa form2
Jawab :
Form
2 bisa dipanggil dengan mengklik tombol show form 2 pada form 1 dengan mengisi
codenya yaitu FrmDua.ShowDialog(). Pada
saat form 2 kebuka, form 1 masih tetap ada dan jika kita pilih tombol tutup
maka hanya form 2 saja yang di tutup. Tampilan form 2 seperti dibawah ini
Didalam form 2 ada kotak isian
nama, alamat dan umur. Yang didalam code masing-masing komponen berisikan code
seperti ini
Jadi
didalam btnama / btalamat / btumur ia hanya memanggil nama variabel nya saja.
Dan value nya terdapat di module yang pendeklarasiannya menggunakan public,
sehingga nama variabel tersebut bisa dikenali di form 2. Codenya seperti
berikut
Sebelumnya
pada code editor form 2 ada Option
Explisit Off, artinya tidak mengharuskan variabel dipesan terlebih
dahulu / secara implisit (tidak langsung / tersirat)
Pada module, pendeklarasian
konstanta langung diberi valuenya.
Program 2 If-Case
Kelemahan program if-case serta
perbaikan
Jawab :
1.
Tidak
usah ada penambahan items TAS pada combobox, sehingga pada code nya tidak
perlu else case. Karna memang barang yang ditawarkan Cuma ada empat buah
2.
Pada code
txtjumlah_TextChanged
sebaiknya tidak perlu di isi txtbayar, karna pada saat kita mengisikan
angka pada kotak jumlah tsb maka otomatis kotak bayar terisi dengan harga yang
belum akhir alias belum diketahui cara beli dan ada diskonnya atau tidak. Jadi
lebih baik, pada txtjumlah_textChanged
code txtbayar jangan ada. Code txtbayar bisa
diisikan pada radio button tunai dan kredit.
3.
Kalau mau
memilih kode yang lain dengan jumlah barang yang sama, kita tidak langsung
memilih cara beli tetapi kita harus mengisi ulang. Karena event yang
digunakan adalah TextChanged, artinya dia akan merespon setelah diisi sehingga
nilai yang dihasilkan juga benar. Kalau kita langsung memilih cara beli tanpa
mengisi ulang jumlah barang maka nilai yang dihasilkan adalah nilai yang
sebelumnya.
4.
Jika kita
klik tombol clear, kotak-kotak isian pada form tersebut tidak langsung bersih.
Ada kotak isian diskon dan total bayar yang belum bersih atau masih ada angka 0
dan untuk menghilangkan angka 0 tersebut kita harus mengklik tombol clear lagi.
5.
Kalau
kita mengklik tombol tutup maka langsung menutup, seharusnya ada konfirmasi
penutupan form. Sehingga jika kita tidak sengaja memencet tombol tutup bisa di cancel.
Solusinya tinggal tambah codenya seperti ini
Contoh tampilan perbaikan





Tidak ada komentar:
Posting Komentar