Minggu, 04 November 2012

Analisa kesalahan Program Visual Studio


Soal latihan 1

1.   Apa yang menyebabkan program error pada btalamat1_click baris program alamat = “Kuningan”?
2.   Kenapa saat ditekan tombol nama1 dan nama2 nama yang ditampilkan pada textbox nama berbeda sedangkan saat ditakan tombol alamat1  dan alamat2 alamat yang ditampilkan pada textbox alamat sama?
3.   Kenapa saat ditekan tombol tambah umur 1  umur selalu keluar angka 1 sedangkan saat ditekan tombol umur 2 umur selalu bertambah 1 dari umur sebelumnya?
4.    Berilah analisa anda untuk form 2?

Hasil Analisa Program:

1.   Menurut pengamatan saya yang menjadikan program error pada  btalamat1_click baris program alamat = “Kuningan” yaitu pada btalamat1_click tidak ada pendeklarasiannya yaitu kurang ditambahkan “Dim alamat As String”/ type const tidak dapat mewakili untuk alamat.

2.   *Untuk  nama1 dan nama2 berbeda karena nama dalam form1 hanya menggunakan “Dim....” yang hanya dikenal di variabel itu saja, sedangkan pada module menggunakan “Public Const.....” sehingga dikenal disemua program.
      * Sedangkan pada alamat dalam form1 sudah menggunakan “Const...” dan pada module “ Public Const....” digunakan kembali sehingga untuk alamat itu tidak berpengaruh.

3.  Karena pada tombol umur 1 hanya menggunakan;
Dim umur As Integer
      Umur +=1
 Sehingga hanya angka 1 yang muncul, dan apabila angka 1 diganti 2, begitu juga angka 2 saja yang muncul.
Sedangakan, pada tombol umur 2 menggunakan;
Static umur As Integer
       umur += 1
Sehingga angka tersebut akan bertambah secara urut sampai tak terhingga dan tak hilang selama program dijalankan.


4.    Karena terdapat Coding Option Explicit Off yang berarti bahwa variabel pada FrmDua tidak perlu kita definisikan dan program akan langsung mengambil definisi variabel-variabel itu dari variabel Public yang terdapat dimanapun. Pada program ini variabel-variable tersebtu terdapat pada Module1. Sehingga pada saat kita menekan tombol Nama atau Alamat atau Umur, nilai yang keluar adalah nilai yang terdapat pada Module1.

Soal latihan 2

Kelemahan & Kesalahan program pada latihan dua If dan Case

Kelemahan dari program 2 menurut saya:
kata “TAS” dalam comboBox(daftar kode barang) belum ada nilainya sehingga tampak tak ada fungsinya, lebih baik di hapus atau kalau tidak ingin dihapus di beri nilai pada select case.
Properti bagian enable dari TextBox-TextBox yang digunakan untuk output seperti namaBarang, hargaBarang, totalHarga, diskon dan total bayar hendaknya di falsekan  agar user tidak bisa menginputkan data di bagian tsb, sehingga memperjelas dalam penginputkan data.

 
Ganbar coding belum di perbaiki
 
Misal coding tetap sama hanya dengan menambahkan
Case "TAS"
                namaBarang = "tas"
                harga = 700000
di bagaian select case sebelum case else pada cmbKode.



hasil program 2 setelah di perbaiki:



gambar setelah coding di perbaiki

coding:

Public Class Form1

   
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       
cmbKode.Items.Add("SPT")
       
cmbKode.Items.Add("SND")
       
cmbKode.Items.Add("TST")
       
cmbKode.Items.Add("TOP")
       
cmbKode.Items.Add("TAS")
   
End Sub

   
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-Sirt"
               
harga = 1500000
           
Case "TOP"
               
namaBarang = "Topi"
               
harga = 500000
           
Case "TAS"
               
namaBarang = "Tas"
               
harga = 700000
           
Case Else
               
namaBarang = "-"
               
harga = 0
       
End Select

       
txtNama.Text = namaBarang
       
txtHarga.Text = harga
   
End Sub

   
Private Sub txtJumlah_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtJumlah.TextChanged
       
txtTotal.Text = Val(txtHarga.Text) * Val(txtJumlah.Text)
       
txtBayar.Text = Val(txtTotal.Text) - Val(txtDiskon.Text)
   
End Sub

   
Private Sub radioTunai_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles radioTunai.CheckedChanged
       
txtDiskon.Text = Val(txtTotal.Text) * 10 / 100
       
txtBayar.Text = Val(txtTotal.Text) - Val(txtDiskon.Text)
   
End Sub

   
Private Sub radioKredit_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles radioKredit.CheckedChanged
       
txtDiskon.Text = 0
       
txtBayar.Text = Val(txtTotal.Text) - Val(txtDiskon.Text)
   
End Sub

   
Private Sub btClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btClear.Click
       
txtDiskon.Clear()
       
txtHarga.Clear()
       
txtJumlah.Clear()
       
txtTotal.Clear()
       
txtNama.Clear()
       
cmbKode.Text = ""
       
Me.radioTunai.Checked = False
       
Me.radioKredit.Checked = False

   
End Sub

   
Private Sub btTutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btTutup.Click
       
Me.Close()
   
End Sub
End Class



Tidak ada komentar:

Posting Komentar