TUGAS 2 Memperbaiki Masalah dalam Program Penjualan

  1. 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
  2. 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.
  3. 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

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

    End Sub
 

No comments:

Post a Comment