Tuesday, November 6, 2012

Visual Basic and Trying to Simple Program for troubleshooting

Pelajaran kali ini, kita akan mempelajari sebuah program sederhana yang telah disiapkan oleh Mr. Nandang Hermanto , program ini akan menjelaskan dan mencoba mengatasi trouble program yang memang sengaja diErrorkan oleh beliau untuk kita bisa belajar menganalisanya Variabel Constanta Type Data, IF and Case. .  yuk langsung aja kita coba dan belajar bersama, siapkan aplikasinya dan ikuti panduannya sesuai perintah yang ada, dan kemudian kita jawab pertanyaannya tapi sebelumnya download materinya di siniatau ikuti aja dibawah ini :

Variabel Constanta Type Data
1. Buat Poject baru
2. Buatlah form baru dengan tampilan seperti dibawah ini

@Atur Properties masing masing object seperti pada tabel berikut :


Atur Properties masing masing object seperti pada tabel berikut :
Tulis kode program berikut ini

Tambahkan form baru dengan cara pilih menu Project – add windows form – add
Rancang tampilan form yang baru ditambahkan seperti gambar dibawah ini
 
Atur Properties masing masing object seperti pada tabel berikut :
 
Tulis Kode berikut
Tambahkan sebuah module dengan cara pilih menu project – add module – add
Tulis program berikut ini
Analisa 1

a. Apa yang menyebabkan program error pada btalamat1_Click baris program alamat = "Kuningan"

Const alamat = “Kuningan” yang benar Public alamat = “Kuningan”,  Jika (alamat = “Kuningan”) belum dideklarasikan terjadi eror pada pendeklarasian yang seharusnya :
               Dim alamat As String
               alamat = “Kuningan”
              Txtalamat.Text = alamat
       Ini bisa berlaku,,apabila variabelnya masih ‘Const’. Jika  tidak ada ‘Const’maka cukup dengan Txtalamat.text = alamat

b. Kenapa saat ditekan tombol nama1 dan nama2 nama yang ditampilkan pada textbox nama
berbeda sedangkan saat ditekan tombol alamat1 dan alamat2 alamat yang ditampilkan pada
textbox alamat sama
Karena btnama1 langsung dideklarasikan dengan nama “nandang” sedangkan pada btnama2, tidak dideklarasikan variabel nama sehingga mengambil dari variabel nama di modul 1

c. Kenapa saat ditekan tombol tambah umur 1 umur selalu keluar angka 1 sedangkan saat ditekan
tombol tambah umur 2 umur selalu bertambah 1 dari umur sebelumnya
Bttambahumur1, menghasilkan nilai 1 karena telah dideklarasikan dengan variable Dim yang hanya mengoutputkan isi pesan yang telah ditulis yakni angka 1. Sedangkan output Bttambahumur2 selalu bertambah 1 karena isi pesan “umur +=1” dengan variable Static, yang artinya jika di klick akan selalu bertambah 1 ,kelipatan dari yang dipesan sebelumnya.

d. Berikan analisa anda untuk form dua
 Form2 tidak bisa di jalankan sebelum form1 di jalankan karena form2 hanya dapat di panggil melalui tombol show form 2 yang ada di form1. Pada form 2 terdapat statement di atas public class form2, yaitu Option Explicit off, artinya tidak mengharuskan variable dipesan terlebih dahulu, karena akan mengambil di public form manapun, di program ini output Form2 mengambil public dari Module yang telah dibuat, sehingga output button Nama, Alamat, Umur pada Form 2, akan sama dengan isi pesan pada module.



IF dan Case

1. Buat Poject baru
2. Buatlah form baru dengan tampilan seperti dibawah ini

Atur Properties : silakan atur sendiri dengan mengacu tampilan form diatas dan program dibawah ini


Analisa 2
Analisa kelemahan program pada latihan 2 if dan case kemudian perbaiki
Kelemahan pada program latihan if and case adalah pada saat program di jalankan nilai perhitungan pada total harga, discount, total bayar, nilainya tidak berubah 
ketika kode barng diganti(nilai sama pada saat pertama kali nilai di inputkan), kesalahan tersebut terjadi karena ada kekurangan koding pada event cmbkode
Hasil Perbaikan program


pada hasil yang sudah benar ada sedikit penambahan koding pd cmbbox seperti yang terdapat pada gambar dan saya blok, dan berikut penjelasannya :

ket: pada txttotalhargabayar nilainya belum terkurangi dengan discount karena radio button belum terseleksi 

 txttotalharga.Text = Val(txthrgbarang.Text) * Val(txtjmlhbarang.Text)
        txthrgbayar.Text = Val(txttotalharga.Text) - Val(txtdiscount.Text)

ket:ketika radio button tunai terseleksi maka total harga=harga barang x jumlah barang,  total harga bayar=total harga - discount, discount=total harga x 10/100 dan ketika yang terseleksi bukan radio tunai maka total harga=harga barang x jumlah barang,  total harga bayar=total harga - discount, discount=0

        If btrdiotunai.Checked Then
            txttotalharga.Text = Val(txthrgbarang.Text) * Val(txtjmlhbarang.Text)
            txthrgbayar.Text = Val(txttotalharga.Text) - Val(txtdiscount.Text)
            txtdiscount.Text = Val(txttotalharga.Text) * 10 / 100
        Else
            txtdiscount.Text = 0
            txttotalharga.Text = Val(txthrgbarang.Text) * Val(txtjmlhbarang.Text)
            txthrgbayar.Text = Val(txttotalharga.Text) - Val(txtdiscount.Text)

        End If

Ketika ada penambahan koding tersebut maka secara otomatis nilai total harga, discount, total bayar, akan berubah ketika kode barang diganti.

dan akhirnya selesai sudah materi kali ini, , , mudah kan hehehehe