Jawaban
Praktikum 2 (Latihan Pertama)
1.a.
Ketika program dijalankan akan muncul “Constant tidak bisa ditarget untuk
penugasan”. Kita memanggil alamat sebagai event pada btalamat1 tetapi
const alamat sudah dideklarasikan di baris awal sehingga akan dibaca pemesanan
yang nilainya tetap (Constant). Dan sebenarnya yang dipanggil adalah pemesanan
Const bukan pemesanan ” alamat=”Kuningan” “.
b. Penyebab
munculnya nama berbeda karena ada pemesanan pada modul, dengan ruang lingkup
variabel Public
Static artinya
pemesanan variabel ini akan dikenali di seluruh project dengan nama variabel
sama baik di form1 dan form2. Btnama1 akan memanggil “Nandang” karena pemesanan
lokal dan hanya dikenali oleh btnama1, namun ketika btnama2 diklik akan muncul
nama “Nandang Hermanto” karena memanggil pemesanan dengan ruang lingkup “Public” yang
tersimpan pada modul.
c. btumur1
tidak menyimpan nilai / value variabel “umur” karena tidak diberikan ruang
lingkup variabel “Static” namun “Dim” sehingga
ketika dipanggil hanya akan menampilkan nilai 1 saja dan diulang berapa kali
pun tetap sama.
Btumur2
mengalami pertambahan nilai / value secara teratur karena diberi pemesanan
ruang lingkup variabel “static” artinya tetap. Pertambahan akan sesuai dengan
kode yang diberikan, misal :
Static
umur as Integer
umur+=1
txtumur.Text
= umur
Artinya
akan menambahkan nilai 1 pada umur secara teratur.
d. Pada
awal kode terdapat “Option Explicit Off” sehingga
tidak mengizinkan penggunaan pemesanan variabel tanpa ruang lingkup. Karena
untuk melakukan pemanggilan nama, alamat, dan umur semuanya tidak menggunakan
ruang lingkup maka pemanggilan akan menggunakan pendekarasian variabel pada
Module1 yang semua variabelnya menggunakan pemesanan dengan ruang lingkup
variabel “Public”.
Jawaban
Praktikum 2 (Analisis
latihan if case)
àKetika kita mencoba menjalankan program
dan menginput semua isian maka akan dihitung sesuai dengan masukan kita,
semisal kita menggunkan kode barang “SND” seperti di bawah ini :
àNamun ketika kita
mengubah kode barangnya menjadi “SPT” dan tidak mengubah jumlah barangnya maka
tidak akan terjadi perubahan perhitungan sesuai harga tiap kode barang,
sehingga kita harus berkali-kali menekan Clear untuk mengulang perhitungan.
Private Sub btperbarui_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btperbarui.Click
txttotal.Text = Val(txtharga.Text) * Val(txtjumlah.Text)
txtdiskon.Text = Val(txttotal.Text) * 10 / 100
If radiotunai.Checked = True Then
txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)
ElseIf radiokredit.Checked = True Then
txtdiskon.Text = 0
txtbayar.Text = Val(txttotal.Text)
End If
Maka Tampilan Formnya :
Pada “radiokredit”. Terdapat penulisan rumus “ txtbayar.Text = Val(txttotal.Text) - Val(txtdiskon.Text)” . Karena pada ketentuannya jika dibayar kredit pasti tidak diberi diskon, maka penghitungan total bayar sama dengan total harga.
Hasil perbaikan keseluruhan :
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, nmbarang As String
Dim harga As Single
kdbarang = cmbkode.Text
Select Case kdbarang
Case “SPT”
nmbarang = “Sepatu”
harga = 200000
Case “SND”
nmbarang = “Sandal”
harga = 100000
Case “TST”
nmbarang = “T-Shirt”
harga = 1500000
Case “TOP”
nmbarang = “Top”
harga = 500000
Case Else
nmbarang = “-”
harga = 0
End Select
txtnama.Text = nmbarang
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)
End Sub
Private Sub btclear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btclear.Click
txtbayar.Clear()
txtharga.Clear()
txtjumlah.Clear()
txtnama.Clear()
txttotal.Clear()
txtdiskon.Clear()
Me.radiotunai.Checked = False
Me.radiokredit.Checked = False
cmbkode.Text = ” “
End Sub
Private Sub bttutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttutup.Click
If MsgBox(“Apakah yakin akan keluar ?”, vbQuestion + vbYesNo + vbDefaultButton2, “Konfirmasi”) = vbYes Then
Me.Close()
End If
End Sub
Private Sub btperbarui_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btperbarui.Click
txttotal.Text = Val(txtharga.Text) * Val(txtjumlah.Text)
txtdiskon.Text = Val(txttotal.Text) * 10 / 100
If radiotunai.Checked = True Then
txtbayar.Text = Val(txttotal.Text) – Val(txtdiskon.Text)
ElseIf radiokredit.Checked = True Then
txtdiskon.Text = 0
txtbayar.Text = Val(txttotal.Text)
End If
End Sub
End Class
Tidak ada komentar:
Posting Komentar