Keputusan
Kasus 1: Statemen If
Public Class
Form1
Dim nilai As Integer
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
nilai = CInt(teksNilai.Text)
If nilai < 50 Then
kotakList.Text = "Gagal"
ElseIf nilai < 60 Then
kotakList.Text = "C"
ElseIf nilai < 80 Then
kotakList.Text = "B"
ElseIf nilai < 101 Then
kotakList.Text = "A"
End If
kotakList.Items.Add(nilai &
" ==> " &
kotakList.Text)
End Sub
End Class
|
Kasus 2: Mencari Nilai Maksimum
Public Class
Form1
Private Sub
tombolTentukan_Click(sender As Object, e As EventArgs)
Handles tombolTentukan.Click
Dim angkaTerbesar As Single
If (CSng(teksPertama.Text)
> CSng(teksKedua.Text)) Then
angkaTerbesar = CSng(teksPertama.Text)
Else
angkaTerbesar =
CSng(teksKedua.Text)
End If
teksNilaiMaks.Text = "Angka
terbesar adalah: " & angkaTerbesar
End Sub
End Class
|
Kasus 3: Menghitung Rerata Tiga Angka
dengan If
Public Class
Form1
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
' Variabel-variabel untuk menampung
data
Dim dblSkor1 As Double
Dim dblSkor2 As Double
Dim dblSkor3 As Double
Dim dblRerata As Double
' Konstanta-konstanta
Const JUM_SKOR As Integer
= 3
Const dblSKOR_TINGGI As
Double = 95.0
Try
' Salin
ketiga skor pada kotak teks ke dalam variabel-variabel.
dblSkor1 = CDbl(teksSkor1.Text)
dblSkor2 = CDbl(teksSkor2.Text)
dblSkor3 = CDbl(teksSkor3.Text)
' Menghitung skor rerata.
dblRerata = (dblSkor1 + dblSkor2
+ dblSkor3) / JUM_SKOR
' Menampilkan
rerata, membulatkannya menjadi 2 dijit di belakang desimal.
teksRerata.Text =
dblRerata.ToString("n2")
' Jika skor tinggi, berikan
pujian.
If dblRerata >
dblSKOR_TINGGI Then
labelPesan.Text = "Selamat!
Kerja keras membuahkan hasil!"
End If
Catch
' Menampilkan pesan error.
labelPesan.Text = "Skor
harus numerik"
End Try
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As
EventArgs)
Handles tombolBersih.Click
teksSkor1.Text = ""
teksSkor2.Text = ""
teksSkor3.Text = ""
teksRerata.Text = ""
labelPesan.Text = ""
End Sub
End Class
|
Kasus 4: Menghitung Rerata Tiga Angka
dengan If...Else
Public Class
Form1
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
' Variabel-variabel untuk menampung
data
Dim dblSkor1 As Double
Dim dblSkor2 As Double
Dim dblSkor3 As Double
Dim dblRerata As Double
' Konstanta-konstanta
Const JUM_SKOR As Integer
= 3
Const dblSKOR_TINGGI As
Double = 95.0
Try
' Salin
ketiga skor pada kotak teks ke dalam variabel-variabel.
dblSkor1 = CDbl(teksSkor1.Text)
dblSkor2 = CDbl(teksSkor2.Text)
dblSkor3 = CDbl(teksSkor3.Text)
' Menghitung skor rerata.
dblRerata = (dblSkor1 + dblSkor2
+ dblSkor3) / JUM_SKOR
' Menampilkan
rerata, membulatkannya menjadi 2 dijit di belakang desimal.
teksRerata.Text =
dblRerata.ToString("n2")
' Jika skor tinggi, berikan pujian.
If dblRerata > dblSKOR_TINGGI Then
labelPesan.Text = "Selamat!
Kerja keras membuahkan hasil!"
Else
labelPesan.Text = "Tetap
Semangat!"
End If
Catch
' Menampilkan pesan error.
labelPesan.Text = "Skor
harus numerik"
End Try
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As
EventArgs)
Handles tombolBersih.Click
teksSkor1.Text = ""
teksSkor2.Text = ""
teksSkor3.Text = ""
teksRerata.Text = ""
labelPesan.Text = ""
End Sub
End Class
|
Kasus 5: Menghitung Rerata Tiga Angka
dengan If...Else
Public Class
Form1
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
' Variabel-variabel untuk menampung
data
Dim dblSkor1 As Double
Dim dblSkor2 As Double
Dim dblSkor3 As Double
Dim dblRerata As Double
' Konstanta-konstanta
Const JUM_SKOR As Integer
= 3
Const dblSKOR_TINGGI As
Double = 95.0
Try
' Salin
ketiga skor pada kotak teks ke dalam variabel-variabel.
dblSkor1 = CDbl(teksSkor1.Text)
dblSkor2 = CDbl(teksSkor2.Text)
dblSkor3 = CDbl(teksSkor3.Text)
' Menghitung skor rerata.
dblRerata = (dblSkor1 + dblSkor2
+ dblSkor3) / JUM_SKOR
' Menampilkan
rerata, membulatkannya menjadi 2 dijit di belakang desimal.
teksRerata.Text =
dblRerata.ToString("n2")
' Menampilkan nilai huruf
If dblRerata < 60 Then
teksNilai.Text =
"F"
ElseIf dblRerata < 70 Then
teksNilai.Text =
"D"
ElseIf dblRerata < 80 Then
teksNilai.Text =
"C"
ElseIf dblRerata < 90 Then
teksNilai.Text =
"B"
ElseIf dblRerata <= 100
Then
teksNilai.Text =
"A"
End If
' Jika skor tinggi, berikan
pujian.
If dblRerata >
dblSKOR_TINGGI Then
labelPesan.Text = "Selamat!
Kerja keras membuahkan hasil!"
Else
labelPesan.Text = "Tetap
Semangat!"
End If
Catch
' Menampilkan pesan error.
labelPesan.Text = "Skor
harus numerik"
End Try
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
teksSkor1.Clear()
teksSkor2.Clear()
teksSkor3.Clear()
teksRerata.Text = String.Empty
labelPesan.Text = String.Empty
teksNilai.Text = String.Empty
' Reset fokus.
teksSkor1.Focus()
End Sub
End Class
|
Kasus 6: Penggunaan Lain Statemen If...Else
Program
berikut akan membaca biaya dan pendapatan pada sebuah perusahaan dan
menampilkan pesan “Impas” jika biaya dan pendapatan sama atau sebaliknya
menampilkan “Untung” atau “Rugi”.
Public Class
Form1
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
Dim biaya As Single,
pendapatan As Single,
Dim keuntungan As Single,
kerugian As Single
biaya = CSng(teksBiaya.Text)
pendapatan =
CSng(teksPendapatan.Text)
If (biaya = pendapatan) Then
teksHasil.Text = "Impas"
ElseIf biaya < pendapatan Then
keuntungan = pendapatan - biaya
teksHasil.Text = "Keuntungan
sebesar Rp. " & keuntungan
Else
kerugian = biaya - pendapatan
teksHasil.Text = "Kerugian
sebesar Rp. " & kerugian
End If
End Sub
End Class
|
Kasus 7: Statemen If Bersarang
Public Class
Form1
Private Sub
tombolPeriksa_Click(sender As Object, e As EventArgs)
Handles tombolPeriksa.Click
' Variabel-variabel untuk menampung
data masukan.
Dim dblGaji As Double
Dim intTahunKerja As Integer
Try
' Membaca masukan pengguna
dblGaji =
CDbl(teksGajiPerTahun.Text)
intTahunKerja =
CInt(teksJumThnKerja.Text)
' Menentukan apakah aplikan
memenuhi kualifikasi
' untuk pinjaman tertentu
If dblGaji > 30000000 Then
If intTahunKerja >
2 Then
teksKualifikasi.Text =
"Aplikan” &
“ memenuhi
kualifikasi untuk meminjam."
Else
teksKualifikasi.Text =
"Aplikan “ &
“tidak memenuhi
kualifikasi untuk meminjam."
End If
Else
If intTahunKerja >
5 Then
teksKualifikasi.Text =
"Aplikan” &
“ tidak memenuhi
kualifikasi untuk meminjam."
Else
teksKualifikasi.Text =
"Aplikan” &
“ memenuhi
kualifikasi untuk meminjam."
End If
End If
Catch ex As Exception
' Menampilkan pesan error.
teksKualifikasi.Text = "Masukkan
nilai-nilai numerik."
End Try
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
teksGajiPerTahun.Clear()
teksJumThnKerja.Clear()
teksKualifikasi.Text = String.Empty
' Reset fokus.
teksGajiPerTahun.Focus()
End Sub
End Class
|
Kasus 8: Statemen If dengan Operator
Logikal
Statemen
If pada program berikut memiliki
operator logikal dalam kondisinya.
Public Class
Form1
Private Sub
tombolEvaluasi_Click(sender As Object, e As EventArgs) Handles
tombolEvaluasi.Click
Dim jawaban As Single
jawaban =
CSng(CStr(teksJawaban.Text))
If (jawaban >= 30) And
(jawaban <= 35) Then
teksHasil.Text = "Bagus,
Taksiran Anda hampir benar.” &
“ Ada 33 propinsi di
Indonesia"
Else
teksHasil.Text = "Tebakan Anda
masih jauh dari jawaban "
End If
End Sub
End Class
|
Kasus 9: Kode Pertahanan: Menggunakan
Try/Catch
Pemrograman defensif merupakan pemrograman
terpadu yang mengutamakan kehati-hatian. Untuk mengkonstruksi perangkat-lunak
yang handal, Anda perlu merancang setiap komponen sistem sehingga setiap
komponen dapat memproteksi secara mandiri sebisa mungkin. Pada kasus ini,
Try/Catch akan menghentikan sembarang error, tetapi ini bukanlah mekanisme yang
ideal. Adakalanya Anda ingin melihat error yang dibangkitkan kompiler sehingga
Anda dapat memperbaikinya dengan tepat menggunakan teknik-teknik tertentu.
Kode apapun di antara Try dan Catch akan
dijalankan oleh kompiler dan jika kode tersebut menyebabkan error Anda dapat
menampilkannya pada sebuah kotak pesan yang ditempatkan setelah Catch.
Public Class
Form1
Dim nilai As Integer
Private Sub tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
Try
nilai = CInt(teksNilai.Text)
If nilai < 50 Then
kotakList.Text = "Gagal"
ElseIf nilai < 60 Then
kotakList.Text = "C"
ElseIf nilai < 80 Then
kotakList.Text = "B"
ElseIf nilai < 101 Then
kotakList.Text = "A"
End If
kotakList.Items.Add(nilai &
" ==> " &
kotakList.Text)
Catch
MsgBox("Silahkan
masukkan angka " & teksNilai.Text & " salah!!")
teksNilai.Text = " "
End Try
End Sub
End Class
|
Kasus 10: Menghitung Rerata Yang
Dimasukkan
Public Class
Form1
Dim nilai As Integer
Dim
nilaiRerata As Single
Dim
kounter As Integer = 0
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
Try
nilai = CInt(teksNilai.Text)
nilaiRerata += nilai ' menambahkan nilai pada total
kounter += 1 ' bertambah satu setiap kali
tombolHitung diklik
teksRerata.Text = "Rerata: " & nilaiRerata /
kounter
If nilai < 50 Then
kotakList.Text = "Gagal"
ElseIf nilai < 60 Then
kotakList.Text = "C"
ElseIf nilai < 80 Then
kotakList.Text = "B"
ElseIf nilai < 101 Then
kotakList.Text = "A"
End If
kotakList.Items.Add(nilai &
" ==> " &
kotakList.Text)
Catch
MsgBox("Silahkan
masukkan angka " & teksNilai.Text & " salah!!")
teksNilai.Text = " "
End Try
End Sub
End Class
|
Kasus 11: Menghitung Nilai Maksimum dan
Minimum dengan If
Public Class
Form1
Dim nilai As Integer
Dim nilaiRerata As Single
Dim kounter As Integer
= 0
Dim
nilaiMaks As Integer
Dim
nilaiMin As Integer
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
Try
nilai = CInt(teksNilai.Text)
nilaiRerata += nilai '
menambahkan nilai pada total
kounter += 1 ' bertambah satu setiap kali tombolHitung diklik
teksRerata.Text = "Rerata:
" & nilaiRerata / kounter
If kounter = 1 Then
nilaiMaks = nilai ' hanya
untuk pertama kali
nilaiMin = nilai
End If
If nilai > nilaiMaks Then ' jika nilai lebih besar dari nilaiMaks
nilaiMaks = nilai '
memperbarui nilaiMaks
End If
teksMaks.Text = "Nilai Maksimum: " &
nilaiMaks ' menampilkan
If nilai < nilaiMin Then ' jika nilai lebih kecil dari nilaiMin
nilaiMin = nilai '
memperbarui nilaiMin
End If
teksMin.Text = "Nilai Minimum: " & nilaiMin '
menampilkan
If nilai < 50 Then
kotakList.Text = "Gagal"
ElseIf nilai < 60 Then
kotakList.Text = "C"
ElseIf nilai < 80 Then
kotakList.Text = "B"
ElseIf nilai < 101 Then
kotakList.Text = "A"
End If
kotakList.Items.Add(nilai &
" ==> " &
kotakList.Text)
Catch
MsgBox("Silahkan masukkan angka " &
teksNilai.Text & " salah!!")
teksNilai.Text = " "
End Try
End Sub
End Class
|
Kasus 12: If dengan And
Anda dapat memiliki pelbagai kriteria pada
statemen If menggunakan And dan Or di dalam kondisi. Misalnya, untuk menyalakan mobil, Anda
memerlukan baterei dan bahan bakar dan kunci mobil.
Public Class
Form1
Private Sub
tombolNyalakan_Click(sender As Object, e As EventArgs)
Handles tombolNyalakan.Click
'Mendefinisikan 3 variabel untuk
memuat kondisi-kondisi
Dim strBaterei, strKunci,
strBhnBakar As String
'Melewatkan data dalam ketiga kotak teks kepada variabel-variabel
strBaterei = teksBaterei.Text
strKunci = teksKunci.Text
strBhnBakar = teksBahanBakar.Text
'Statemen If dengan AND untuk
menyalakan mobil
If strBaterei = "baterei" And
strKunci = "kunci" And strBhnBakar = "bensin" Then
MsgBox("Bummmmmm, Gas
terus!!")
Else
MsgBox("Tidak bisa nyala
...")
End If
End Sub
End Class
|
Kasus 13: If dengan Or
Public Class
Form1
Private Sub
tombolNyalakan_Click(sender As Object, e As EventArgs)
Handles tombolNyalakan.Click
'Mendefinisikan 3 variabel untuk
memuat kondisi-kondisi
Dim strBaterei, strKunci,
strBhnBakar As String
'Melewatkan data dalam ketiga kotak teks kepada variabel-variabel
strBaterei = teksBaterei.Text
strKunci = teksKunci.Text
strBhnBakar = teksBahanBakar.Text
'Statemen If dengan OR dan AND untuk
menyalakan mobil
If (strBaterei = "baterei" Or strBaterei = "Baterei"
Or
strBaterei = "ya") And (strKunci = "kunci" And
strBhnBakar = "bensin")
Then
MsgBox("Bummmmmm, Gas
terus!!")
Else
MsgBox("Tidak bisa nyala
...")
End If
End Sub
End Class
|
Kasus 14: Aplikasi Pencari String
Public Class
Form1
Private Sub
tombolGo_Click(sender As Object, e As EventArgs)
Handles tombolGo.Click
' Deklarasi variabel-variabel
Dim intIndeksAwal As
Integer ' indeks awal pencarian
Dim intIndeksTemu As
Integer ' indeks dari substring yang ditemukan
' Menentukan apakah indeks awal
numerik.
If IsNumeric(teksIndeks.Text) Then
' Menentukan apakah string
pencarian telah dimasukkan.
If
teksSubstring.Text.Length > 0 Then
' Membaca indeks awal
pencarian.
intIndeksAwal =
CInt(teksIndeks.Text)
' Pencarian substring.
intIndeksTemu = teksCari.Text.IndexOf(teksSubstring.Text, intIndeksAwal)
' Apakah substring yang
dicari ditemukan
If intIndeksTemu = -1 Then
teksHasil.Text = "Substring
tidak ditemukan."
Else
teksHasil.Text = "Substring
ditemukan pada indeks " &
intIndeksTemu
End If
Else
' Menampilkan pesan error
jika string kosong
MessageBox.Show("Masukkan
string pencarian")
End If
Else
' Menampilkan pesan error jika
indeks non-numerik.
MessageBox.Show("Indeks
harus berupa angka.")
End If
End Sub
End Class
|
Kasus 15: Statemen Select Case
Dengan Case,
Anda dapat menetapkan kelompok-kelompok nilai tertentu. Pada kasus ini, semua
angka antara 0 sampai 50 dan antara 51 sampai 100. Sebuah tombol lain
diciptakan, dengan nama tombolCase,
yang menggunakan statemen Case.
Public Class
Form1
Dim nilai As Integer
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
nilai = CInt(teksNilai.Text)
If nilai < 50 Then
kotakList.Text = "Gagal"
ElseIf nilai < 60 Then
kotakList.Text = "C"
ElseIf nilai < 80 Then
kotakList.Text = "B"
ElseIf nilai < 101 Then
kotakList.Text = "A"
End If
kotakList.Items.Add(nilai &
" ==> " &
kotakList.Text)
End Sub
Private Sub
tombolCase_Click(sender As Object, e As EventArgs)
Handles tombolCase.Click
nilai = CInt(teksNilai.Text)
Select Case nilai
Case 0 To 50
teksCase.Text = "Mengulang"
Case 51 To 100
teksCase.Text = "Lulus"
End Select
End Sub
End Class
|
Kasus 16: Aplikasi Penjualan dengan
Statemen Select Case
Public Class
Form1
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
' Deklarasi variabel-variabel
Dim decTotalPenjualan As
Decimal 'jumlah penjualan bulan ini
Dim decKomisiYangTelahDibayar
As Decimal
Dim decPersenKomisi As Decimal
' persen komisi
Dim decJumlahKomisi As Decimal
' besar komisi
Dim decKomisiDibayar As
Decimal ' komisi bersih yang diterima
Try
' Membaca jumlah penjualan
decTotalPenjualan =
CDec(teksPenjualan.Text)
' Membaca komisi yang telah
dibayarkan
decKomisiYangTelahDibayar =
CDec(teksKomisiTelahDibayar.Text)
' Menentukan persen komisi
Select Case
decTotalPenjualan
Case Is <
1000000
decPersenKomisi = 0.05D
Case 1000000 To
1499900
decPersenKomisi = 0.1D
Case 1500000 To
1799900
decPersenKomisi = 0.12D
Case 1800000 To
2199900
decPersenKomisi = 0.14D
Case Is >=
2200000
decPersenKomisi = 0.15D
End Select
' Menghitung komisi bersih yang
diterima
decJumlahKomisi =
decTotalPenjualan * decPersenKomisi
decKomisiDibayar =
decJumlahKomisi - decKomisiYangTelahDibayar
' Menampilkan
persen komisi, total komisi, dan komisi bersih yang diterima
teksPersenKomisi.Text =
decPersenKomisi.ToString("p")
teksKomisi.Text = "Rp.
" & decJumlahKomisi.ToString()
teksKomisiDibayar.Text =
"Rp. " & decKomisiDibayar.ToString()
Catch
' Menampilkan pesan error
teksStatus.Text = "Masukkan
nilai-nilai numerik"
End Try
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
teksPenjualan.Clear()
teksKomisiTelahDibayar.Clear()
teksStatus.Clear()
teksPersenKomisi.Clear()
teksKomisiDibayar.Clear()
teksKomisi.Clear()
' Reset fokus.
teksPenjualan.Focus()
End Sub
End Class
|
Kasus 17: Menggunakan Event TextChanged
Ada beberapa cara untuk membaca teks atau
angka yang dimasukkan. Anda bisa menggunakan fungsi IsNumeric yang menghasilkan nilai balik True atau False. Anda
menempatkannya di dalam sebuah statemen If
untuk memeriksa masukan ketika pengguna mengetikkannya di dalam sebuah kotak
teks. Gunakan statemen tersebut di dalam teksNilai.TextChanged,
yang dapat dibuka dengan mengklik-ganda kotak teks.
Public Class
Form1
Private Sub
teksNilai_TextChanged(sender As Object, e As EventArgs)
Handles teksNilai.TextChanged
If Not IsNumeric(teksNilai.Text) Then
MessageBox.Show("Silahkan
Masukkan Angka...")
End If
End Sub
End Class
|
Kasus 18: Menggunakan Event KeyPress
Public Class
Form1
Private
Sub teksData_KeyPress(sender As
Object, e As KeyPressEventArgs)
Handles teksData.KeyPress
Dim strSkrg As String
' menampung karakter terkini
Dim strSalin As String
' salinan dari teks pada kotak teks
Dim strBackSpace As String
= Chr(8) ' karakter backspace untuk blok Case
strSalin = teksData.Text ' membaca
teks terkini
strSkrg = e.KeyChar ' membaca
karakter terkini
e.KeyChar = CChar("") ' mengeliminasi karakter dari penyangga KeyChar
Select Case strSkrg '
memastikan dijit atau tanda titik
Case "0" To
"9", "."
strSalin &= strSkrg '
menyambung karakter
teksData.Text = strSalin ' mengganti lama dengan baru
' memastikan kursor pada
posisi tepat
teksData.SelectionStart =
teksData.Text.Length
e.Handled = True ' menghentikan KeyChar diproses sistem
' backspace
dideteksi, jadi hapus karakter terakhir
Case strBackSpace
If strSalin <>
"" Then
strSalin = strSalin.Substring(0, strSalin.Length - 1)
teksData.Text = strSalin
' mengganti teks
' memindahkan kursor
teksData.SelectionStart =
teksData.Text.Length
' stop beep dengan
menghentikan KeyChar handler
e.Handled = True
End If
Case Else
' sembarang kunci lain,
diproses secara normal
e.KeyChar =
CChar("")
End Select
End Sub
End Class
|
Kasus 19: Menggunakan Kotak Periksa
Public Class
Form1
Private Sub
tombolNyalakan_Click(sender As Object, e As EventArgs)
Handles tombolNyalakan.Click
'Mendefinisikan 3 variabel untuk
memuat kondisi-kondisi
Dim strBaterei, strKunci,
strBhnBakar As String
If periksaBhnBakar.Checked = True And
periksaBaterei.Checked = True
And periksaKunci.Checked = True Then
MsgBox("Bummmmmm, Gas terus!!")
Else
MsgBox("Tidak bisa nyala ...")
End If
'Melewatkan data
dalam ketiga kotak teks kepada variabel-variabel
strBaterei = teksBaterei.Text
strKunci = teksKunci.Text
strBhnBakar = teksBahanBakar.Text
'Statemen If dengan OR untuk
menyalakan mobil
If (strBaterei = "baterei"
Or strBaterei = "Baterei" Or
strBaterei = "ya") And
(strKunci = "kunci"
And strBhnBakar = "bensin") Then
MsgBox("Bummmmmm, Gas
terus!!")
Else
MsgBox("Tidak bisa nyala
...")
End If
End Sub
End Class
|
Kasus 20: Kalkulator Sederhana
Public Class
Form1
Dim angka1 As Double
Dim angka2 As Double
Dim angkaJawaban As Double
Private Sub
tombolKali_Click(sender As Object, e As EventArgs)
Handles tombolKali.Click
angka1 = CDbl(teksAngka1.Text)
angka2 = CDbl(teksAngka2.Text)
angkaJawaban = angka1 * angka2
teksJawaban.Text = CStr(angkaJawaban)
listJawaban.Items.Add(angka1 & " x " &
angka2 & " = " & angkaJawaban)
End Sub
Private Sub
tombolBagi_Click(sender As Object, e As EventArgs)
Handles tombolBagi.Click
angka1 = CDbl(teksAngka1.Text)
angka2 = CDbl(teksAngka2.Text)
angkaJawaban = CDbl(angka1 / angka2)
teksJawaban.Text = CStr(angkaJawaban)
listJawaban.Items.Add(angka1 & " / " &
angka2 & " = " & angkaJawaban)
End Sub
Private Sub
tombolKurang_Click(sender As Object, e As EventArgs)
Handles tombolKurang.Click
angka1 = CDbl(teksAngka1.Text)
angka2 = CDbl(teksAngka2.Text)
angkaJawaban = angka1 - angka2
teksJawaban.Text = CStr(angkaJawaban)
listJawaban.Items.Add(angka1
& " - " & angka2 & " = " & angkaJawaban)
End Sub
Private Sub
tombolTambah_Click(sender As Object, e As EventArgs)
Handles tombolTambah.Click
angka1 = CDbl(teksAngka1.Text)
angka2 = CDbl(teksAngka2.Text)
angkaJawaban = angka1 + angka2
teksJawaban.Text = CStr(angkaJawaban)
listJawaban.Items.Add(angka1
& " + " & angka2 & " = " & angkaJawaban)
End Sub
End Class
|
Kasus 21: Konversi Suhu
Berikut akan diciptakan sebuah program
konversi suhu. Anda dapat memasukkan sebuah angka, sebagai suhu Celcius atau
Fahrenheit, dan program akan mengkonversinya dari satu suhu menjadi suhu lain.
Public Class
Form1
Private Sub
tombolKonversi_Click(sender As Object, e As EventArgs)
Handles tombolKonversi.Click
Dim suhuFah As Single
Dim suhuCel As Single
suhuFah = CSng(CDbl(teksSuhu.Text) -
32 * 5 / 9)
suhuCel = CSng(CDbl(teksSuhu.Text) *
(9 / 5) + 32)
If tombolRadio1.Checked Then
teksHasil.Text = teksSuhu.Text & " Fahrenheit sama
dengan "
& suhuFah & " Celsius"
ElseIf tombolRadio2.Checked Then
teksHasil.Text = teksSuhu.Text & " Celsius sama
dengan " &
suhuCel & " Fahrenheit"
End If
End Sub
End Class
|
Kasus 22: Penggunaan Sender
Dalam VB .NET, ada dua pembaruan yang membuat
VB.NT lebih tangguh:
1.
Klausa Handles
mengendalikan pemanggilan subrutin.
2.
Parameter sender
dan e dilewatkan kepada subrutin.
Tengoklah contoh sederhana berikut untuk
melihat perbedaannya dalam VB.NET.
Private Sub Button1_Click(sender As Object, e As
EventArgs) Handles Button1.Click
End Sub
Subrutin event selalu menerima sebuah objek sender dan sebuah parameter EventArgs e. Anda perlu mengetahui bahwa EventArgs
merupakan kelas basis untuk semua kelas yang memuat data event.
Apa yang dapat Anda lakukan dengan kedua
parameter ini? Dimisalkan bahwa Anda ingin mengetahui apakah sebuah string,
misalnya yang dimasukkan ke dalam kotak teks, ada pada sembarang koleksi kotak
teks atau tidak.
Pertama-tama, Anda perlu menciptakan sebuah
kotak teks ‘palse’ untuk menampung data:
Dim kotakTeksKu As
TextBox
Kemudian, dilakukan penugasan
kotakTeksKu = sender
Parameter sender akan menentukan kotak teks
mana yang telah diklik. Perhatikan kode berikut:
Public Class
Form1
Dim strTeks As String
= "test"
Private Sub Cari(sender
As Object, e As EventArgs)
Handles teksMasukan.Enter,
teksMasukan2.Enter
Dim kotakTeksKu As
TextBox
kotakTeksKu = CType(sender, TextBox)
Dim indeksChar As Integer =
kotakTeksKu.Text.IndexOf(strTeks)
If indeksChar = -1 Then
Me.Text = "Tidak Ditemukan!!!"
Else
Me.Text = "Ditemukan!!!"
End If
End Sub
End Class
|
Kasus 23: Kalkulator Menggunakan Sender
Public Class
Form1
Dim teksDouble1 As Double
= 0.0
Dim teksDouble2 As Double
= 0.0
Dim teksJawabanDouble As Double
= 0.0
' Ini melewatkan data dari kotak teks
pertama ke variabel
' dan menangkan eksepsi jika terjadi
error.
Private Sub
teksAngka1_TextChanged(sender As Object, e As EventArgs)
Handles teksAngka1.TextChanged
Try
teksDouble1 =
CDbl(teksAngka1.Text)
Catch ex As Exception
teksDouble1 = 0.0
End Try
End Sub
' Ini melewatkan data dari kotak teks
kedua ke variabel
' dan menangkan eksepsi jika terjadi
error.
Private Sub
teksAngka2_TextChanged(sender As Object, e As EventArgs)
Handles teksAngka2.TextChanged
Try
teksDouble2 =
CDbl(teksAngka2.Text)
Catch ex As Exception
teksDouble2 = 0.0
End Try
End Sub
'Subrutin ini memuat semua kode tombol
radio.
'Anda hanya perlu mengklik satu tombol
radio dan
'menggunakan
kodenya untuk memuat semua detil untuk tombol radio lain.
Private Sub SemuaTombol(sender
As Object, e As EventArgs)
Handles
rbnPenjumlahan.CheckedChanged,
rbnPengurangan.CheckedChanged,
rbnPerkalian.CheckedChanged,
rbnPembagian.CheckedChanged
If teksAngka1.Text <>
"" And teksAngka2.Text <> "" Then
'pertama-tama ciptakan tombol
radio palsu untuk
'untuk menampung semua properti
dari tombol radio
'yang baru saja Anda klik
Dim tombolRadioPalsu As
RadioButton
'Kemudian melewatkan semua
properti dari tombol radio
'yang baru Anda klik kepada
tombol radio palsu oleh Sender
tombolRadioPalsu = CType(sender, RadioButton)
'Kemudian tengok pada
tombolRadioPalsu.Text
'apakah ada teks atau tidak, baik
pada + - * /
Select Case
tombolRadioPalsu.Text
Case "+"
teksJawabanDouble =
teksDouble1 + teksDouble2
Case "-"
teksJawabanDouble =
teksDouble1 - teksDouble2
Case "/"
'Ada potensi error ketika
pembagian dengan nol
Try
teksJawabanDouble =
teksDouble1 / teksDouble2
Catch ex As
Exception
MessageBox.Show("Tidak dapat membagi dengan nol")
End Try
Case "*"
teksJawabanDouble =
teksDouble1 * teksDouble2
End Select
'Terakhit menampilkan keluaran
pada layar
teksJawaban.Text =
CStr(teksJawabanDouble)
End If
End Sub
End Class
|
Kasus 24: Permainan Batu Gunting Kertas
Program ini merupakan permainan Batu Gunting
Kertas. Inti dari program ini adalah sebuah statemen Case yang membandingkan pilihan Anda (Batu, Gunting, atau Kertas)
dengan pilihan orang lain (pada kasus ini, diwakili oleh komputer.)
Public Class
tombolMain
Dim menang, kalah, seri As Integer
Private Sub
Button1_Click(sender As Object, e As EventArgs)
Handles Button1.Click
'Membangkitkan angka acak
Dim TebakanKomputer As New
Random()
'Kode ini membangkitkan angka integer
acak antara 1 dan 3,
'jadi, hanya adalh tiga kemungkinan:
1, 2 dan 3
'1 merepresentasikan Batu, 2 Gunting,
dan 3 Kertas
Dim intPilihanKomputer As
Integer = TebakanKomputer.Next(1, 4)
If RBBatu.Checked Then
'Memeriksa apakah pengguna
memiliki pilihan "Batu"
Select Case
intPilihanKomputer
'Memilih variabel "intPilihanKomputer" untuk dicocokkan
Case 1 'Batu
MessageBox.Show("Pilihan
Anda: Batu, Pilihan Komputer:
Batu, Seri!!!.")
seri = seri + 1
teksSeri.Text =
CStr(seri)
Case 2 'Gunting
MessageBox.Show("Pilihan
Anda: Batu, Pilihan Komputer:
Gunting, Anda menang!.")
menang = menang + 1
teksMenang.Text =
CStr(menang)
Case 3 'Kertas
MessageBox.Show("Pilihan
Anda: Batu, Pilihan Komputer:
Kertas, Anda
Kalah!")
kalah = kalah + 1
teksKalah.Text =
CStr(kalah)
Case Else
MessageBox.Show("Error, sesuatu
terjadi pada komputer")
End Select
End If
If RBGunting.Checked Then
'Memeriksa apakah pengguna
memiliki pilihan "Batu"
Select Case
intPilihanKomputer
'Memilih variabel
"intPilihanKomputer" untuk dicocokkan
Case 1 'Batu
MessageBox.Show("Pilihan
Anda: Gunting, Pilihan
Komputer: Batu,
Anda Kalah!!!.")
kalah = kalah + 1
teksKalah.Text =
CStr(kalah)
Case 2 'Gunting
MessageBox.Show("Pilihan
Anda: Gunting, Pilihan
Komputer: Gunting,
Seri!!!.")
seri = seri + 1
teksSeri.Text = CStr(seri)
Case 3 'Kertas
MessageBox.Show("Pilihan
Anda: Gunting, Pilihan
Komputer: Kertas,
Anda Menang!!!")
menang = menang + 1
teksMenang.Text =
CStr(menang)
Case Else
MessageBox.Show("Error,
sesuatu terjadi pada komputer")
End Select
End If
If RBKertas.Checked Then
'Memeriksa apakah pengguna
memiliki pilihan "Batu"
Select Case
intPilihanKomputer
'Memilih variabel
"intPilihanKomputer" untuk dicocokkan
Case 1 'Batu
MessageBox.Show("Pilihan Anda:
Kertas, Pilihan Komputer:
Batu, Anda
Menang!!!.")
menang = menang + 1
teksMenang.Text =
CStr(menang)
Case 2 'Gunting
MessageBox.Show("Pilihan
Anda: Kertas, Pilihan Komputer:
Gunting, Anda
Kalah!!!.")
kalah = kalah + 1
teksKalah.Text =
CStr(kalah)
Case 3 'Kertas
MessageBox.Show("Pilihan
Anda: Kertas, Pilihan Komputer:
Kertas, Seri!!!")
seri = seri + 1
teksSeri.Text =
CStr(seri)
Case Else
MessageBox.Show("Error,
sesuatu terjadi pada komputer")
End Select
End If
End Sub
End Class
|
Kasus 25: Menambah Citra pada Resource
File
Anda dapat menambahkan citra pada program dan
menggunakannya pada tombol atau dimana saja. Penambahan citra merupakan
perangkat yang penting agar program tampak menyenangkan secara visual.
Dengan mengklik-kanan pada projek Anda, Anda
kemudian memilih Add dan New Item. Selanjutnya Anda memilih Resource
File. Resource File merupakan tempat
dimana Anda akan menyimpan semua citra.
Sehingga dihasilkan:
Kasus 26: Permainan Tebakan
Public Class
Form1
Dim angkaAcak As New
Random()
Dim intAcak As Integer
Dim intTebakan As Integer
= 0
Private Sub
tombolPermainan_Click(sender As Object, e As EventArgs)
Handles tombolPermainan.Click
'membersihkan kotak list
kotakListTebak.Items.Clear()
'membangkitkan sebuah integer acak
baru
intAcak = angkaAcak.Next(1, 11)
'menampilkan pada kotak list
'kotakListTebak.Items.Add("Angka
Acak: " & intAcak)
End Sub
Private Sub
tombolTebak_Click(sender As Object, e As EventArgs)
Handles tombolTebak.Click
If
IsNumeric(teksTebakAngka.Text) Then 'apakah sebuah angka?
'jika ya, lewatkan kepada variabel
intTebakan =
CInt(teksTebakAngka.Text)
'memeriksa apakah berhasil
Me.Text = "Tebakan saya:
" & intTebakan
'membersihkan kotak teks dan
menempatkan
'kursor kembali ke kotak teks
untuk tebakan berikutnya
teksTebakAngka.Text =
""
teksTebakAngka.Focus()
End If
' jika angka sama dengan integer acak
If intTebakan = intAcak Then
kotakListTebak.Items.Add("Selamat!
Anda menemukannya!")
kotakListTebak.Items.Add("Angka acak
adalah " & intAcak)
'jika angka kurang dari integer
acak
ElseIf intTebakan < intAcak
Then
kotakListTebak.Items.Add("Terlalu
rendah!")
Else
'jika angka lebih dari integer
acak
kotakListTebak.Items.Add("Terlalu
tinggi!")
End If
End Sub
End Class
|
Kasus 27: Kalkulator Gaji
Public Class
Form1
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
' Mendeklarasikan variabel-variabel
Dim intJamKerja As Integer
' Jumlah jam kerja
Dim decGajiPerJam As
Decimal ' gaji per jam
Dim decGajiKotor As Decimal
' pendapatan kotor
' Membersihkan pesan sebelumnya
teksStatus.Text = String.Empty
' Membaca jam kerja
If
Integer.TryParse(teksJamKerja.Text, intJamKerja) Then
' Membaca gaji per jam
If Decimal.TryParse(teksGajiPerJam.Text,
decGajiPerJam) Then
' menghitung pendapatan kotor
decGajiKotor = intJamKerja *
decGajiPerJam
' menampilkan pendapatan
kotor
teksGajiKotor.Text = "Rp.
" & decGajiKotor.ToString("N")
Else
' Menampilkan pesan error
teksStatus.Text = "Masukkan
nilai yang valid untuk gaji per jam"
End If
Else
' menampilkan pesan error
teksStatus.Text = "Masukkan
nilai yang valid untuk jumlah jam kerja"
End If
End Sub
End Class
|
Kasus 28: Kalkulator Biaya Keanggotaan
Public Class
Form1
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
Dim decBulanan As Decimal
' Biaya bulanan
Dim decTotal As Decimal
' biaya total
Dim intJumBulan As Integer
' jumlah bulan
Dim blnMasukanOk As Boolean
= True
' Konstanta-konstanta
Const decBIAYA_DEWASA As
Decimal = 40000D
Const decBIAYA_ANAK As Decimal
= 20000D
Const decBIAYA_PELAJAR As
Decimal = 25000D
Const decBIAYA_ORTU As Decimal
= 30000D
' Konstanta-konstanta opsi
Const decBIAYA_YOGA As Decimal
= 10000D
Const decBIAYA_KARATE As
Decimal = 30000D
Const decBIAYA_PELATIH As
Decimal = 50000D
' Memvalidasi dan mengkonversi
teksStatus.Text = String.Empty
If
Integer.TryParse(teksJumBulan.Text, intJumBulan) = False Then
teksStatus.Text = "Jumlah
bulan harus integer."
blnMasukanOk = False
End If
' Memvalidasi jumlah bulan
If intJumBulan < 1 Or
intJumBulan > 24 Then
teksStatus.Text = "Jumlah bulan
harus dalam rentang 1 - 24."
blnMasukanOk = False
End If
If blnMasukanOk = True Then
' Menentukan biaya bulanan
If RBDewasa.Checked = True
Then
decBulanan = decBIAYA_DEWASA
ElseIf RBANak.Checked = True
Then
decBulanan = decBIAYA_ANAK
ElseIf RBPelajar.Checked =
True Then
decBulanan = decBIAYA_PELAJAR
ElseIf RBOrtu.Checked = True
Then
decBulanan = decBIAYA_ORTU
End If
' Memeriksa layanan tambahan
If CBYoga.Checked = True
Then
decBulanan += decBIAYA_YOGA
End If
If CBKarate.Checked = True
Then
decBulanan += decBIAYA_KARATE
End If
If CBPelatih.Checked = True
Then
decBulanan +=
decBIAYA_PELATIH
End If
' Menghitung biaya total
decTotal = decBulanan *
intJumBulan
' Menampilkan biaya-biaya
teksBiayaBulanan.Text = "Rp.
" & decBulanan.ToString("N")
teksTotal.Text = "Rp.
" & decTotal.ToString("N")
End If
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
' Mereset tombol radio dewasa
RBDewasa.Checked = True
' Menghapus kotak-kotak periksa
CBYoga.Checked = False
CBKarate.Checked = False
CBPelatih.Checked = False
' Menghapus jumlah bulan
teksJumBulan.Clear()
' Menghapus kotak teks lainnya
teksBiayaBulanan.Text = String.Empty
teksTotal.Text = String.Empty
teksStatus.Text = String.Empty
' Mengembalikan fokus pada
teksJumBulan.
teksJumBulan.Focus()
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
'Menutup form
Me.Close()
End Sub
End Class
|
No comments:
Post a Comment