Repetisi
Kasus 29: Loop Do While
Public Class
Form1
Private Sub
tombolDemo_Click(sender As Object, e As EventArgs)
Handles tombolDemo.Click
Dim intKounter As Integer
= 0
Do While intKounter
< 10
listKeluaran.Items.Add("Teknik
Elektro")
intKounter += 1
Loop
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
listKeluaran.Items.Clear()
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 30: Aplikasi Penjualan dengan Loop
Do While
Public Class
Form1
Private Sub
tombolPenjualan_Click(sender As Object, e As EventArgs)
Handles tombolPenjualan.Click
Const intJUM_HARI As Integer
= 5 ' Jumlah hari
Dim intKounter As Integer
= 1 ' Kounter loop
Dim decPenjualan As Decimal
= 0 ' untuk menampung penjualan harian
Dim decTotal As Decimal
= 0 ' untuk memuat penjualan total
Dim strMasukan As String
' untuk menampung string masukan
' membaca penjualan tiap hari
Do While intKounter
<= intJUM_HARI
' membaca penjualan per hari dari
pengguna
strMasukan = InputBox("Masukkan
penjualan hari ini: " &
intKounter.ToString())
' Mengkonversi masukan menjadi
Decimal.
If
Decimal.TryParse(strMasukan, decPenjualan) Then
' Menambahkan penjualan
harian pada penjualan total
decTotal += decPenjualan
' Menambahkan 1 pada kounter
loop
intKounter += 1
Else
' Menampilkan pesan error
jika masukan tak-valid
MessageBox.Show("Masukkan
angka numerik")
End If
Loop
' Menampilkan penjualan total
teksHasil.Text = "Rp.
" & decTotal.ToString("N")
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 31: Penjumlahan Dengan Loop Do
While
Public Class
tombolJumlah
Private Sub
Button1_Click(sender As Object, e As EventArgs)
Handles Button1.Click
Dim intA As Integer
Dim intX As Integer
Dim intY As Integer
Dim intZ As Integer
Dim strInput As String
intX = 0
intY = 0
strInput = InputBox("Berapa
banyak angka yang akan dijumlahkan?")
intZ = CInt(strInput)
Do While intX < intZ
strInput = InputBox("Masukkan
sebuah angka: ")
intA = CInt(strInput)
intY += intA
intX += 1
Loop
MessageBox.Show("Penjumlahan
atas angka-angka tersebut adalah " &
intY.ToString())
End Sub
End Class
|
Kasus 32: Tahun Leap Dengan Loop Do
While
Public Class
Form1
Private Sub
tombolPeriksa_Click(sender As Object, e As EventArgs)
Handles tombolPeriksa.Click
Dim tahun As Integer
= CInt(teksTahun.Text)
Dim i As Integer
= 1
'Do while i kurang dari atau sama
dengan 10
Do While i <= 10
If tahun Mod 4 = 0 And
(tahun Mod 100 <> 0 Or tahun Mod 400 = 0) Then
kotakList.Items.Add(tahun
& " adalah tahun Leap")
i += 1
Else
kotakList.Items.Add(tahun
& " bukan tahun Leap")
End If
tahun += 1
Loop
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
kotakList.Items.Clear()
End Sub
End Class
|
Kasus 33: Tahun Leap Dengan Loop Do
While: Bagian 2
Program ini akan menambahkan Try Catch pada kode sebelumnya untuk
pemeriksaan error.
Public Class
Form1
Private Sub
tombolPeriksa_Click(sender As Object, e As EventArgs)
Handles tombolPeriksa.Click
Try
Dim tahun As Integer
= CInt(teksTahun.Text)
Dim i As Integer
= 1
'Do while i kurang dari atau sama
dengan 10
Do While i <= 10
If tahun < 0 Then
kotakList.Items.Add(tahun
& "Tahun tidak valid!")
Exit Do
End If
If tahun Mod 4 = 0 And
(tahun Mod 100 <> 0 Or tahun Mod 400 =
0) Then
kotakList.Items.Add(tahun & " adalah
tahun Leap")
i += 1
Else
kotakList.Items.Add(tahun
& " bukan tahun Leap")
End If
tahun += 1
Loop
Catch
MsgBox("Masukkan sedikitnya satu dijit")
End Try
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
kotakList.Items.Clear()
End Sub
End Class
|
Kasus 34: Runtun Fibonacci Dengan Loop
Do While
Public Class
Form1
Private Sub
tombolJalankan_Click(sender As Object, e As EventArgs)
Handles tombolJalankan.Click
Dim angka1 As Integer
= 0 'angka pertama
Dim angka2 As Integer
= 1 'angka kedua
Dim jumAngka As Integer
= 0 'penjumlahan atas angka pertama dan angka kedua
Dim angkaFib As Integer
= CInt(teksAngka.Text)
Do While jumAngka <=
angkaFib
'menambahkan dua angka pertama (0
dan 1)
jumAngka = angka1 + angka2
'melewatkan angka2 kepada angka1
angka1 = angka2
'melewatkan total (jumAngka)
kepada angka2
angka2 = jumAngka
kotakList.Items.Add(jumAngka.ToString)
Loop
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
kotakList.Items.Clear()
End Sub
End Class
|
Kasus 35: Menghitung Rerata dengan Loop
Do Until
Public Class
Form1
Private Sub
tombolSkor_Click(sender As Object, e As EventArgs)
Handles tombolSkor.Click
' Prosedur ini membaca skor, kemudian
menghitung dan
' menampilkan rerata
Dim intBanyakSkor As Integer
' Banyaknya skor
Dim dblSkorUji As Double
' menampung skor uji
Dim dblTotal As Double
= 0 ' akumulator, diinisialisasi dengan 0
Dim dblRerata As Double
' Rerata dari skor-skor uji
Dim strMasukan As String
' menampung masukan pengguna
Dim intKounter As Integer
= 1 ' variabel kounter, diinisialisasi dengan 1
' Meminta pengguna memasukkan
banyaknya skor
strMasukan = InputBox("Berapa
banyak skor yang ingin direratakan?")
' Konversi masukan menjadi integer
If Integer.TryParse(strMasukan,
intBanyakSkor) Then
' Membaca skor uji
Do Until intKounter
> intBanyakSkor
' Meminta pengguna memasukkan
skor
strMasukan = InputBox("Masukkan
skor uji: " &
intKounter.ToString())
' Konversi masukan menjadi
sebuah Double.
If
Double.TryParse(strMasukan, dblSkorUji) Then
' Menambahkan skor pada
akumulator
dblTotal += dblSkorUji
' Menambahkan 1 pada
kounter
intKounter += 1
Else
' skor uji tak-valid
MessageBox.Show("Masukkan
skor uji numerik")
End If
Loop
' Menghitung dan menampilkan rerata
If intBanyakSkor > 0 Then
dblRerata = dblTotal /
intBanyakSkor
teksRerata.Text =
dblRerata.ToString()
End If
Else
' Banyak skor uji tak-valid
MessageBox.Show("Masukkan
nilai integer")
End If
End Sub
Private Sub
teksKeluar_Click(sender As Object, e As EventArgs)
Handles teksKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 36: Tahun Leap Dengan Loop For
Next
Public Class
Form1
Private Sub
tombolPeriksa_Click(sender As Object, e As EventArgs)
Handles tombolPeriksa.Click
Try
Dim tahun As Integer
= CInt(teksTahun.Text)
Dim i As Integer
= 1
‘Dari i sama dengan 1 sampai i sama
dengan 20
For i = 1 To 20
If tahun < 0 Then
kotakList.Items.Add(tahun
& "Tahun tidak valid!")
Exit For
End If
If tahun Mod
4 = 0 And (tahun Mod 100 <> 0 Or tahun Mod 400 =
0) Then
kotakList.Items.Add(tahun
& " adalah tahun Leap")
i += 1
Else
kotakList.Items.Add(tahun
& " bukan tahun Leap")
End If
tahun += 1
Next
Catch
MsgBox("Masukkan
sedikitnya satu dijit")
End Try
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
kotakList.Items.Clear()
End Sub
End Class
|
Kasus 37: Menghitung Rerata dengan Loop
For Next
Public Class
Form1
Private Sub
tombolSkor_Click(sender As Object, e As EventArgs)
Handles tombolSkor.Click
' Prosedur ini membaca skor, kemudian
menghitung dan
' menampilkan rerata
Dim intBanyakSkor As Integer
' Banyaknya skor
Dim dblSkorUji As Double
' menampung skor uji
Dim dblTotal As Double
= 0 ' akumulator, diinisialisasi dengan 0
Dim dblRerata As Double
' Rerata dari skor-skor uji
Dim strMasukan As String
' menampung masukan pengguna
Dim intKounter As Integer
= 1 ' variabel kounter, diinisialisasi dengan 1
' Meminta pengguna memasukkan
banyaknya skor
strMasukan = InputBox("Berapa
banyak skor yang ingin direratakan?")
' Konversi masukan menjadi integer
If
Integer.TryParse(strMasukan, intBanyakSkor) Then
' Membaca skor uji
For intKounter = 1 To intBanyakSkor
' Meminta pengguna memasukkan
skor
strMasukan = InputBox("Masukkan
skor uji: " &
intKounter.ToString())
' Konversi masukan menjadi
sebuah Double.
If
Double.TryParse(strMasukan, dblSkorUji) Then
' Menambahkan skor pada
akumulator
dblTotal += dblSkorUji
' Menambahkan 1 pada
kounter
intKounter += 1
Else
' skor uji tak-valid
MessageBox.Show("Masukkan
skor uji numerik")
End If
Next
' Menghitung dan menampilkan
rerata
If intBanyakSkor > 0 Then
dblRerata = dblTotal /
intBanyakSkor
teksRerata.Text =
dblRerata.ToString()
End If
Else
' Banyak skor uji tak-valid
MessageBox.Show("Masukkan
nilai integer")
End If
End Sub
Private Sub
teksKeluar_Click(sender As Object, e As EventArgs)
Handles teksKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 38: Mengekstrak Karakter dengan
Loop For Each
Public Class
Form1
Private Sub
tombolEkstrak_Click(sender As Object, e As EventArgs)
Handles tombolEkstrak.Click
Dim strKata As String
Dim chrHuruf As Char
strKata = teksString.Text
For Each chrHuruf In strKata
kotakList.Items.Add(chrHuruf)
Next
End Sub
Private Sub
TombolBersih_Click(sender As Object, e As EventArgs)
Handles TombolBersih.Click
kotakList.Items.Clear()
End Sub
End Class
|
Kasus 39: Aplikasi Kalkulator Tabel
Perkalian dengan For Next
Public Class
Form1
Private Sub
tombolTabel_Click(sender As Object, e As EventArgs)
Handles tombolTabel.Click
kotakList.Items.Clear()
Dim angkaAnda, pengali,
jumBerjalan As Single
angkaAnda = CSng(teksAngka.Text)
pengali = CSng(teksKali.Text)
Dim i As Integer
For i = 1 To CInt(pengali)
Dim jawaban As Single
jawaban = i * angkaAnda
kotakList.Items.Add(i & " X
" & angkaAnda & " = " & jawaban)
jumBerjalan = jumBerjalan +
jawaban
Next
kotakList.Items.Add("Total
" & jumBerjalan)
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
kotakList.Items.Clear()
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 40: Aplikasi Melempar Dadu dengan
For Next
Public Class
Form1
Private Sub
Form1_Activated(sender As Object, e As EventArgs)
Handles MyBase.Activated
Dim i As Integer
For i = 1 To 6
CBDadu.Items.Add(i)
Next
End Sub
Private Sub
tombolLempar_Click(sender As Object, e As EventArgs)
Handles tombolLempar.Click
Dim angkaAcak1 As Integer
Dim angkaAcak2 As Integer
' Menginisialisasi pembangkit angka
acak
Randomize()
' Menghitng angka acak antara 1 dan 6
angkaAcak1 = CInt(Int(1 + 6 * Rnd()))
angkaAcak2 = CInt(Int(1 + 6 * Rnd()))
Dim simpan As String
Dim nilaiHenti As Integer
Dim dblKounter As Integer
' mengosongkan kotak list
kotakList.Items.Clear()
' mendapatkan nilai henti
nilaiHenti =
CInt(CBDadu.SelectedItem)
' sekarang melempar dadu
Do
' Menghitng angka acak antara 1
dan 6
angkaAcak1 = CInt(1 + 6 * Rnd())
angkaAcak2 = CInt(1 + 6 * Rnd())
' membuat string dan
menambahkannya pada kotak list
simpan = angkaAcak1.ToString
& " " & angkaAcak2.ToString
' memeriksa apakah double dan
memodifikasi string
' jika terjadi double, dan
menghitungnya
If angkaAcak1 = angkaAcak2
Then
simpan &= " Double!"
dblKounter += 1
End If
' menyimpannya pada kotak list
kotakList.Items.Add(simpan)
Loop Until (angkaAcak1
= angkaAcak2) And (dblKounter = nilaiHenti)
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
kotakList.Items.Clear()
CBDadu.Items.Clear()
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 41: Kalkulator Suku Bunga dengan
For Next
Pada properti Tag pada keempat tombol radio ditetapkan 1, 12, 52 dan 65 di dalam Groupbox Bunga Dibayarkan.
Public Class
Form1
'berapa kali dibayarkan dalam setahun
Dim intPeriodeBunga As Integer
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
kotakList.Items.Clear()
Dim sngInvestasi As Single
= CSng(teksInvestasi.Text)
'berapa suku bunga
Dim sngSukuBunga As Single
= CSng(teksBunga.Text)
'Berapa banyak tahun
Dim intJumTahun As Integer
= CInt(teksJumTahun.Text)
'total jumlah periode pembayaran
Dim intPeriodePembayaran As
Integer = intJumTahun * intPeriodeBunga
'suku bunga tiap periode pembayaran
Dim sngSukuBungaPerPeriode As
Single
sngSukuBungaPerPeriode =
(sngSukuBunga / 100) / intPeriodeBunga
For i As Integer
= 1 To intPeriodePembayaran
Dim sng_NilaiSekarang As
Single
sng_NilaiSekarang = sngInvestasi
* sngSukuBungaPerPeriode
sngInvestasi = sngInvestasi +
sng_NilaiSekarang
kotakList.Items.Add(i &
": " &
sngInvestasi.ToString("N"))
Next i
teksKeluaran.Text = "Anda
mendapatkan Rp. " & sngInvestasi.ToString("N")
End Sub
Private Sub
RBTahun_CheckedChanged(sender As Object, e As EventArgs)
Handles RBTahun.CheckedChanged,
RBBulan.CheckedChanged,
RBMinggu.CheckedChanged,
RBHari.CheckedChanged
Dim tombolRadioPalsu As
New RadioButton
tombolRadioPalsu = CType(sender,
RadioButton)
intPeriodeBunga =
CInt(tombolRadioPalsu.Tag)
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
teksInvestasi.Clear()
teksBunga.Clear()
teksJumTahun.Clear()
kotakList.Items.Clear()
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 42: Kalkulator Penghitung
Kembalian dengan Loop Do Until
Public Class
Form1
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
Dim sngHargaBarang As
Single
Dim sngUangDibayar As
Single
Dim sngKembalian As Single
Dim seratusRibu As Integer
Dim limaPuluhRibu As Integer
Dim duaPuluhRibu As Integer
Dim sepuluhRibu As Integer
Dim limaRibu As Integer
Dim duaRibu As Integer
Dim seRibu As Integer
Dim limaRatus As Integer
Dim seRatus As Integer
sngHargaBarang = CSng(teksHarga.Text)
sngUangDibayar = CSng(teksBayar.Text)
sngKembalian = sngUangDibayar -
sngHargaBarang
If sngKembalian < 0 Then
MsgBox("Tidak ada uang
kembalian minus")
End If
Do Until sngKembalian
< 100
If sngKembalian > 99999
Then
seratusRibu += 1
sngKembalian = sngKembalian -
100000
ElseIf sngKembalian >
49999 Then
limaPuluhRibu += 1
sngKembalian = sngKembalian -
50000
ElseIf sngKembalian >
19999 Then
duaPuluhRibu += 1
sngKembalian = sngKembalian -
20000
ElseIf sngKembalian >
9999 Then
sepuluhRibu += 1
sngKembalian = sngKembalian -
10000
ElseIf sngKembalian >
4999 Then
limaRibu += 1
sngKembalian = sngKembalian -
5000
ElseIf sngKembalian >
1999 Then
duaRibu += 1
sngKembalian = sngKembalian -
2000
ElseIf sngKembalian >
999 Then
seRibu += 1
sngKembalian = sngKembalian -
1000
ElseIf sngKembalian >
499 Then
limaRatus += 1
sngKembalian = sngKembalian -
500
ElseIf sngKembalian >
99 Then
seRatus += 1
sngKembalian = sngKembalian -
100
End If
Loop
teksSeratusRibu.Text =
CStr(seratusRibu)
teksLimaPuluhRibu.Text =
CStr(limaPuluhRibu)
teksDuaPuluhRibu.Text = CStr(duaPuluhRibu)
teksSepuluhRibu.Text =
CStr(sepuluhRibu)
teksLimaRibu.Text = CStr(limaRibu)
teksDuaRibu.Text = CStr(duaRibu)
teksSeribu.Text = CStr(seRibu)
teksLimaRatus.Text = CStr(limaRatus)
teksSeratus.Text = CStr(seRatus)
teksSisa.Text = CStr(sngKembalian)
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 43: Ujian Tabel Perkalian
Public Class
Form1
Dim intKounter As Integer
Dim sngAngkamu, sngJawabanmu,
sngJawaban As Single
Dim strTepat As String
Dim intPengali As Integer
Dim intJumlahTepat As Integer
= 0
Dim teksPertanyaan As String
Private Sub
tombolMulai_Click(sender As Object, e As EventArgs)
Handles tombolMulai.Click
kotakList.Items.Clear()
intKounter = 1
'melewatkan data kepada variabel
sngAngkamu = CSng(teksAngka.Text)
kodeJawab()
End Sub
Sub kodeJawab()
Dim intKounter As Integer
Dim strJawabanmu As String
'loop sampai kounter sama dengan
Angkamu
Do Until intKounter =
sngAngkamu
intKounter += 1
teksPertanyaan = intKounter &
" X " & sngAngkamu
'menggunakan kotak Input
strJawabanmu = InputBox("Masukan
Angka Anda: " &
teksPertanyaan, "")
sngJawabanmu = CSng(strJawabanmu)
'Menghitung jawaban yang tepat
sngJawaban = intKounter *
sngAngkamu
'Jika jawabanmu sama dengan
jawaban yang tepat
If sngJawaban =
sngJawabanmu Then
strTepat = " tepat"
intJumlahTepat += 1
Else
strTepat = " salah"
End If
kotakList.Items.Add(intKounter &
" X " & sngAngkamu & " = " &
sngJawaban & " : "
& sngJawabanmu & strTepat)
Loop
kotakList.Items.Add("Skor
Anda " & intJumlahTepat & " tepat")
intKounter = 0
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
kotakList.Items.Clear()
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 44: Password Cracker
Public Class
Form1
Public Function
PWCrackerSecaraAcak(ByVal strPanjang As Integer) As
String
Dim strHuruf As String
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
Dim hurufAcak As New
Random()
'menggunakan string builder untuk
string panjang
'dan Append() dapat digunakan
Dim strHasil As New
System.Text.StringBuilder()
'sampai panjang kata yang akan dicari
For i = 1 To strPanjang
strHasil.Append(strHuruf(hurufAcak.Next(1, strHuruf.Length)))
Next i
'mengembalikan jawaban kepada program
Return strHasil.ToString()
End Function
Private Sub
tombolTebak_Click(sender As Object, e As EventArgs)
Handles tombolTebak.Click
Dim strPW As String
= teksMasukan.Text
Dim strTebak As String
Dim intHitung As Integer
Do
strTebak =
PWCrackerSecaraAcak(strPW.Length)
intHitung += 1
Me.Text = intHitung &
" " & strPW
'Melambatkan program
Application.DoEvents()
'Menjelajah sampai tebakan = password
Loop Until strPW =
strTebak
kotakList.Items.Add("Memerlukan
" & intHitung &
" tebakan
untuk mencocokkan " & strPW & " dengan " & strTebak)
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
kotakList.Items.Clear()
End Sub
End Class
|
Kasus 45: Password Cracker dengan
Progress Bar
Public Class
Form1
Public Function
PWCrackerSecaraAcak(ByVal strPanjang As Integer) As String
Dim strHuruf As String
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
Dim hurufAcak As New
Random()
'menggunakan string builder untuk
string panjang
'dan Append() dapat digunakan
Dim strHasil As New
System.Text.StringBuilder()
'sampai panjang kata yang akan dicari
For i = 1 To strPanjang
strHasil.Append(strHuruf(hurufAcak.Next(1,
strHuruf.Length)))
Next i
'mengembalikan jawaban kepada program
Return strHasil.ToString()
End Function
Private Sub
tombolTebak_Click(sender As Object, e As EventArgs)
Handles tombolTebak.Click
Dim strPW As String
= teksMasukan.Text
Dim strTebak As String
Dim intHitung, intProgHitung,
intProgressBar As Integer
Do
strTebak =
PWCrackerSecaraAcak(strPW.Length)
intHitung += 1
Me.Text = intHitung &
" " & strPW
'Melambatkan program
Application.DoEvents()
intProgHitung += 1
ProgressBar1.Value =
intProgHitung
If ProgressBar1.Value
= 100 Then
ProgressBar1.Value = 0
intProgHitung = 0
End If
intProgressBar += 1
labelProgressBar.Width =
intProgressBar
labelProgressBar.Text =
CStr(intHitung)
If labelProgressBar.Width
+ labelProgressBar.Left = Me.Width Then
intProgressBar = 0
End If
'Menjelajah sampai tebakan =
password
Loop Until strPW =
strTebak
ProgressBar1.Value = 0
intProgHitung = 0
kotakList.Items.Add("Memerlukan
" & intHitung &
" tebakan
untuk mencocokkan " & strPW & " dengan " & strTebak)
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
kotakList.Items.Clear()
End Sub
End Class
|
Kasus 46: Menggunakan Checked List Box
Public Class
Form1
Private Sub
tombolOK_Click(sender As Object, e As EventArgs)
Handles tombolOK.Click
Dim intIndeks As Integer
' indeks kotak list
For intIndeks = 0 To
CLBKota.Items.Count - 1
If
CLBKota.GetItemChecked(intIndeks) = True Then
LBKota.Items.Add(CLBKota.Items(intIndeks))
End If
Next
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
LBKota.Items.Clear()
End Sub
End Class
|
Kasus 47: Menggunakan Combo Box
Public Class
Form1
Private Sub
tombolTampil_Click(sender As Object, e As EventArgs)
Handles tombolTampil.Click
' Menampilkan seleksi Combo Box
kotakTeksNegara.Text = CBNegara.Text
kotakTeksFilm.Text = CBFilm.Text
kotaTeksArtist.Text = CBArtis.Text
End Sub
Private Sub
tombolReset_Click(sender As Object, e As EventArgs)
Handles tombolReset.Click
' Mereset Combo Box
CBNegara.SelectedIndex = -1
CBNegara.Text = String.Empty
CBFilm.SelectedIndex = -1
CBFilm.Text = String.Empty
CBArtis.SelectedIndex = -1
CBArtis.Text = String.Empty
' Mereset TextBox
kotakTeksNegara.Clear()
kotakTeksFilm.Clear()
kotaTeksArtist.Clear()
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 48: Melempar Koin
Public Class
Form1
Private Sub
tombolLempar_Click(sender As Object, e As EventArgs)
Handles tombolLempar.Click
Dim intSisi As Integer
' Mengindikasikan sisi
Dim acak As New
Random ' Pembangkit angka acak
' Membaca angka acak dalam rentang
0-1
' 0 berarti ekor, 1 berarti kepala
intSisi = acak.Next(2)
' Menampilkan sisi yang berada di
atas
If intSisi = 0 Then
' 0 berarti ekor, jadi
menampilkan ekor
' citra kepala disembunyikan
PB2.Visible = True
PB1.Visible = False
Else
' 1 berarti kepala, jadi
menampilkan kepala
' citra ekor disembunyikan
PB1.Visible = True
PB2.Visible = False
End If
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
Me.Close()
End Sub
End Class
|
Kasus 49: Menggunakan Kontrol ToolTip
Kasus 50: Kalkulator Pinjaman
Public Class
Form1
' Konstanta-konstanta level-kelas
Const dblJUM_BULAN As Double
= 12 ' Jumlah bulan setahun
Const dblSUKU_BARU As Double
= 0.05 ' Suku bunga untuk kendaraan baru
Const dblSUKU_BEKAS As Double
= 0.08 ' Suku bunga untuk kendaraan bekas
' Variabel level-kelas untuk menampung
suku bunga pertahun
Dim dblBUNGA_PER_TAHUN As Double
= dblSUKU_BARU
Private Sub
tombolHitung_Click(sender As Object, e As EventArgs)
Handles tombolHitung.Click
Dim dblHargaKendaraan As
Double ' Harga kendaraan
Dim dblUangMuka As Double
' Uang muka
Dim intJumBulan As Integer
' Jumlah bulan untuk pinjaman
Dim dblPinjaman As Double
' Jumlah pinjaman
Dim dblPembayaranBulanan As
Double ' Jumlah pembayaran bulanan
Dim dblBunga As Double
' Bunga hutang yang dibayarkan pada periode tertentu
Dim dblPokokHutang As Double
' Pokok hutang yang dibayarkan pada periode tertentu
Dim intHitung As Integer
' Kounter untuk loop
Dim strKeluaran As String
' digunakan untuk memuat sebaris keluaran
Dim blnInputOk As Boolean
= True
' Membaca biaya kendaraan
If Not Double.TryParse(kotakTeksHarga.Text,
dblHargaKendaraan) Then
kotakTeksPesan.Text = "Harga
kendaraan harus berupa angka"
blnInputOk = False
End If
' Membaca uang muka
If Not Double.TryParse(kotakTeksUM.Text,
dblUangMuka) Then
kotakTeksPesan.Text = "Uang
muka harus berupa angka"
blnInputOk = False
End If
' Membaca jumlah bulan
If Not Integer.TryParse(kotakTeksJumBulan.Text,
intJumBulan) Then
kotakTeksPesan.Text = "Jumlah
bulan harus integer"
blnInputOk = False
End If
If blnInputOk = True Then
' Menghitung jumlah pinjaman dan
pembayaran bulanan
dblPinjaman = dblHargaKendaraan -
dblUangMuka
dblPembayaranBulanan = Pmt(dblBUNGA_PER_TAHUN / dblJUM_BULAN,
intJumBulan, -dblPinjaman)
' Membersihkan kotak list dan
kotakTeksPesan
kotakList.Items.Clear()
kotakTeksPesan.Clear()
For intHitung = 1 To
intJumBulan
' Menghitung jumlah bunga
hutang untuk periode tertentu
dblBunga = IPmt(dblBUNGA_PER_TAHUN / dblJUM_BULAN,
intHitung, intJumBulan,
-dblPinjaman)
' Menghitung pokok hutang
untuk periode tertentu
dblPokokHutang =
PPmt(dblBUNGA_PER_TAHUN / dblJUM_BULAN,
intHitung, intJumBulan, -dblPinjaman)
' Mengawali string yang akan
ditampilkan dengan Bulan
strKeluaran = "Bulan
" & intHitung.ToString("d2")
' Menampilkan jumlah
pembayaran
strKeluaran &=
": pembayaran = " &
dblPembayaranBulanan.ToString("n2")
' Menampilkan jumlah bunga
strKeluaran &= ", bunga
= " & dblBunga.ToString("n2")
' Menampilkan pokok hutang
pada periode tertentu
strKeluaran &= ", pokok
hutang = " &
dblPokokHutang.ToString("n2")
' Menampilkan string keluaran
pada kotak list
kotakList.Items.Add(strKeluaran)
Next
End If
End Sub
Private Sub
tombolBersih_Click(sender As Object, e As EventArgs)
Handles tombolBersih.Click
' Mereset suku bunga, membersihkan
semua kotak teks,
' dan kotak list. Menetapkan suku
bunga default
' untuk pinjaman kendaraan baru.
RBBaru.Checked = True
dblBUNGA_PER_TAHUN = dblSUKU_BARU
kotakTeksBunga.Text =
dblSUKU_BARU.ToString("p")
kotakTeksHarga.Clear()
kotakTeksUM.Clear()
kotakTeksJumBulan.Clear()
kotakList.Items.Clear()
kotakTeksPesan.Clear()
' Mereset fokus ke kotakTeksHarga
kotakTeksHarga.Focus()
End Sub
Private Sub
tombolKeluar_Click(sender As Object, e As EventArgs)
Handles tombolKeluar.Click
' Menutup form
Me.Close()
End Sub
Private Sub
RBBaru_CheckedChanged(sender As Object, e As EventArgs)
Handles RBBaru.CheckedChanged
' Jika tombol radio Baru diklik, maka
' pengguna telah menyeleksi pinjaman
kendaraan baru
If RBBaru.Checked = True Then
dblBUNGA_PER_TAHUN = dblSUKU_BARU
kotakTeksBunga.Text =
dblSUKU_BARU.ToString("p")
kotakList.Items.Clear()
End If
End Sub
Private Sub
RBBekas_CheckedChanged(sender As Object, e As EventArgs)
Handles RBBekas.CheckedChanged
' Jika tombol radio Bekas diklik,
maka
' pengguna telah menyeleksi pinjaman
kendaraan bekas
If RBBekas.Checked = True
Then
dblBUNGA_PER_TAHUN =
dblSUKU_BEKAS
kotakTeksBunga.Text = dblSUKU_BEKAS.ToString("p")
kotakList.Items.Clear()
End If
End Sub
End Class
|
No comments:
Post a Comment