Pada
pembahasan kali ini, saya akan menjabarkan beberapa hasil analisa mengenai
Program If dan Case yang sudah ditentukan oleh Pak Nandang. Sebagai gambaran,
Wujud Program tersebut adalah sebagai berikut
Dan
untuk kode sumbernya adalah sebagai berikut
Program
ini digunakan sebagai alat hitung kasir seserhana. Cara kerjanya:
1. Pilih
kode barang yang ada pada combo box
2. Isikan
banyaknya barang yang dibeli pada text box Jumlah Barang
3. Pilih
cara pembayaran (Tunai/Kredit)
4. Untuk
menghapus data gunakan tombol Clear sementara untuk menutup aplikasi gunakan
tombol Tutup
Setelah saya melakukan beberapa percobaan terhadap
aplikasi tersebut dengan berbagai kemungkinan, saya menemukan beberapa
kelemahan dalam aplikasi tersebut.Berikut kelemahan-kelemahan yang berhasil
saya temukan :
1.
Tampilan visual yang masih sangat
sederhana.
2.
Tombol alternatif/tab order yang tidak
berfungsi.
3.
Item Combo Box tidak tersusun secara
abjad.
4. Item TAS tidak
memiliki nama barang dan harga.
1. Semua
textbox masih bisa diubah-ubah nilainaya melalui keyboard.
2. Masih
bisa menginputkan karakter selain angka pada text box jumlah barang.
3. Fokus
kursor kurang efisien.
4. Tombol
Clear tidak menghapus semua nilai
pada textbox. Nilai pada textbox diskon dan total bayar tidak terhapus (tetap
menyisakan angka 0)
5. Ketika
Form dimuat Form tidak terletak di tengah-tengah layar.
6. Ketika
Form dimaximize, tampilan form menjadi tidak proporsional.
7. Ketika
kita akan menutup aplikasi, tidak ada permintaan konfirmasi untuk keluar, dan
ini berbahaya ketika kita tidak sengaja menekan tombol tutup.
Setelah saya berhasil
menemukan beberapa kelemahan pada aplikasi tersebut, saya melakukan beberapa
perbaikan terhadap aplikasi tersebut. Beberapa perbaikan yang saya lakukan
adalah:
1. Memperindah
tampilan form sedemikian rupa sehingga form terlihat lebih menarik.
2. Memperbaiki
tab order sehingga tombol alternatif dapat digunakan dengan baik.
3. Mengatur
properties Sorted=True pada combo
box sehingga item pada combo box
tersusun secara abjad.
4. Menambah
case item TAS beserta nama barang
dan harganya. Nama barang=Tas, harga=250000.
5. Mengubah
properties ReadOnly pada semua text
box kecuali text box jumlah barang ke mode True.
6. Memperbaiiki
sintaks pada txtjumlah_TextChanged menjadi
berikut
If
(txtjumlah.Text = "") Then
Else
Dim
jumlah As Integer
Try
jumlah = Convert.ToInt32(txtjumlah.Text)
Catch
ex As Exception
jumlah = 0
MsgBox("Jumlah
barang harus berupa angka", MsgBoxStyle.Critical,
"Peringatan")
End
Try
txttotal.Text =
Val(txtharga.Text) * jumlah
txtbayar.Text =
Val(txttotal.Text) - Val(txtdiskon.Text)
End
If
Dengan
sintaks tersebut membuat text box jumlah barang hanya bisa menerima inputan
angka saja dan jika text box dipaksa untuk mendapat masukkan selain karakter
angka maka akan muncul peringatan “Jumlah barang harus berupa angka”.
7.
Memperbaiiki
sistem fokus pada cursor. Setelah pengguna menentukan kode barang, kursor akan
secara otomatis berada di text box jumlah barang. Hal tersebut dilakukan dengan
menambah sintaks txtjumlah.Focus() pada
bagian cmbkode_SelectedIndexChanged.
8.
Memperbaiiki
fungsi tombol Clear agar bisa
mereset semua komponen pada aplikasi tersebut. Hal tersebut dilakukan dengan
cara mengganti susunan sintaks pada Btclear_Click
menjadi seperti berikut
My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Asterisk)
Me.radiotunai.Checked
= False
Me.radiokredit.Checked
= False
txtbayar.Clear()
txtdiskon.Clear()
txtharga.Clear()
txtjumlah.Clear()
txtnama.Clear()
txttotal.Clear()
cmbkode.Text = ""
9.
Untuk
membuat Form agar berada di tengah layar pada saat dimuat, maka properties StartPosition milik Form diganti ke
mode CenterScreen.
10. Untuk mengatasi
masalah maximize, maka saya mematikan fungsi maximize yang dimiliki oleh Form
melalui properties milik form dengan mengganti mode MaximizeBox ke mode False.
11. Menambahkan kode
sumber sebuah Message Box konfirmasi agar sebelum pengguna menutup aplikasi,
program akan meminta konfirmasi dari pengguna atas perintah menutup aplikasi
yang diberikan oleh pengguna tersebut.
Dan inilah
sintaks yang saya gunkan untuk membuat Message Box tersebut.
If
(MsgBox("Apa Anda yakin untuk menutup aplikasi ini?", vbQuestion +
vbYesNo + vbDefaultButton2, "Konfirmasi")) = vbYes Then
Me.Close()
End If
Berikut
adalah beberapa cntoh perubahan yang dilakukan pada pad program if dan case
tersebut.
Dan untuk kode sumber program tersebut secara
keseluruhan adalah sebagai berikut :
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-Shirt"
harga = 150000
Case "TOP"
namabarang = "Topi"
harga = 50000
Case "TAS"
namabarang = "Tas"
harga = 250000
Case Else
namabarang = "-"
harga = 0
End Select
txtnama.Text = namabarang
txtharga.Text = harga
Me.radiotunai.Checked = False
Me.radiokredit.Checked = False
txtbayar.Clear()
txtdiskon.Clear()
txtjumlah.Clear()
txttotal.Clear()
txtjumlah.Focus()
End Sub
Private Sub txtjumlah_TextChanged(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles
txtjumlah.TextChanged
If (txtjumlah.Text = "") Then
Else
Dim jumlah As Integer
Try
jumlah = Convert.ToInt32(txtjumlah.Text)
Catch ex As Exception
jumlah = 0
MsgBox("Jumlah barang
harus berupa angka", MsgBoxStyle.Critical, "Peringatan")
End Try
txttotal.Text =
Val(txtharga.Text) * jumlah
txtbayar.Text =
Val(txttotal.Text) - Val(txtdiskon.Text)
End If
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
My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Asterisk)
Me.radiotunai.Checked = False
Me.radiokredit.Checked = False
txtbayar.Clear()
txtdiskon.Clear()
txtharga.Clear()
txtjumlah.Clear()
txtnama.Clear()
txttotal.Clear()
cmbkode.Text = ""
End Sub
Private Sub Button2_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles Button2.Click
My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Hand)
If (MsgBox("Apa Anda yakin untuk
menutup aplikasi ini?", vbQuestion + vbYesNo + vbDefaultButton2,
"Konfirmasi")) = vbYes Then
Me.Close()
End If
End Sub
End Class
Tidak ada komentar:
Posting Komentar