Tugas Pemrograman 3 (Modifikasi Program dan Puzzle Game)
Tugas Bagian 1
Pada postingan kali ini, saya akan menampilkan hasil modifikasi program yang telah dibuat pada tugas pertemuan kedua mata kuliah Pemrograman Visual. Langsung saja saya tampilkan hasilnya :
Jadi dalam program ini diberi tambahan berupa 3 buah tombol. Aturannya, ketika program dijalankan maka semua macam bidang inputan seperti TextBox, ComboBox, dan RadioButton tidak dapat diisi. Ketika kita mengklik tomblo "Isi Data", barulah dapat diisi. Selanjutnya, jika tombol "Clear" diklik maka keadaannya sepert saat program dijalankan.
Kita menggunakan perulangan for each pada tombol "Isi Data" dan dan "Clear".
Secara lengkap saya sajikan listingnya di bawah ini :
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Mendaftarkan kode barang'
cmb_kdbarang.Items.Add("SPT")
cmb_kdbarang.Items.Add("SND")
cmb_kdbarang.Items.Add("TOP")
cmb_kdbarang.Items.Add("TST")
cmb_kdbarang.Items.Add("TAS")
'Mengatur kontrol yang disembunyikan
Dim kentrul As Windows.Forms.Control
For Each kentrul In Me.Controls
If kentrul.GetType.Name = "TextBox" Or kentrul.GetType.Name = "ComboBox" Or kentrul.GetType.Name = "RadioButton" Then
kentrul.Enabled = False
tb_clear.Enabled = False
tb_tutup.Enabled = True
End If
Next kentrul
End Sub
Private Sub cmbkode_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_kdbarang.SelectedIndexChanged
Dim kdbarang, nmbarang As String
Dim harga As Single
kdbarang = cmb_kdbarang.Text
Select Case kdbarang
Case "SPT"
nmbarang = "Sepatu"
harga = 75000
Case "SND"
nmbarang = "Sandal"
harga = 10000
Case "TST"
nmbarang = "T-Shirt"
harga = 85000
Case "TOP"
nmbarang = "Top"
harga = 14000
Case Else
nmbarang = "-"
harga = 0
End Select
teks_nmbarang.Text = nmbarang
teks_hrgbarang.Text = harga
End Sub
Private Sub txtjumlah_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles teks_jmlbarang.TextChanged
teks_totalhrg.Text = Val(teks_hrgbarang.Text) * Val(teks_jmlbarang.Text)
teks_bayar.Text = Val(teks_totalhrg.Text) - Val(teks_disk.Text)
End Sub
Private Sub radiotunai_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rd_tunai.CheckedChanged
teks_disk.Text = Val(teks_totalhrg.Text) * 10 / 100
teks_bayar.Text = Val(teks_totalhrg.Text) - Val(teks_disk.Text)
End Sub
Private Sub radiokredit_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rd_kredit.CheckedChanged
teks_disk.Text = 0
teks_bayar.Text = Val(teks_totalhrg.Text)
End Sub
Private Sub btclear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_clear.Click
Dim kentrul As Windows.Forms.Control
teks_bayar.Clear()
teks_hrgbarang.Clear()
teks_jmlbarang.Clear()
teks_nmbarang.Clear()
teks_totalhrg.Clear()
teks_disk.Clear()
Me.rd_tunai.Checked = False
Me.rd_kredit.Checked = False
cmb_kdbarang.Text = " "
For Each kentrul In Me.Controls
If kentrul.GetType.Name = "TextBox" Or kentrul.GetType.Name = "ComboBox" Or kentrul.GetType.Name = "RadioButton" Then
kentrul.Enabled = False
tb_clear.Enabled = False
tb_tutup.Enabled = True
tb_isi.Enabled = True
End If
Next kentrul
End Sub
Private Sub btisi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_isi.Click
Dim kentrul As Windows.Forms.Control
For Each kentrul In Me.Controls
If kentrul.GetType.Name = "TextBox" Or kentrul.GetType.Name = "ComboBox" Or kentrul.GetType.Name = "RadioButton" Then
kentrul.Enabled = True
tb_clear.Enabled = True
tb_tutup.Enabled = True
tb_isi.Enabled = False
End If
Next kentrul
End Sub
Private Sub bttutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_tutup.Click
If MsgBox("Anda yakin akan keluar ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi Pesan Keluar ") = vbYes Then
Me.Close()
End If
End Sub
End Class
Jika tombol "Isi Data" diklik, hasilnya seperti ini :
Keterangan :
- Listing yang berfungsi untuk menyembunyikan Control seperti TextBox, ComboBox, RadioButton dan 2 button (clear dan tutup) adalah listing berikut :
Dim kentrul As Windows.Forms.Control
For Each kentrul In Me.Controls
If kentrul.GetType.Name = "TextBox" Or kentrul.GetType.Name = "ComboBox" Or kentrul.GetType.Name = "RadioButton" Then
kentrul.Enabled = False
tb_clear.Enabled = False
tb_tutup.Enabled = True
End If
Next kentrul
Penempatan listing ini berada di bawah Form1_Load bla bla bla, karena jalan ketika form didebug.
- Listing untuk menampilkan bidang isian yang tadinya disembunyikan :
Dim kentrul As Windows.Forms.Control
For Each kentrul In Me.Controls
If kentrul.GetType.Name = "TextBox" Or kentrul.GetType.Name = "ComboBox" Or kentrul.GetType.Name = "RadioButton" Then
kentrul.Enabled = True
tb_clear.Enabled = True
tb_tutup.Enabled = True
tb_isi.Enabled = False
End If
Next kentrul
Di sini jelas terlihat hanya ada pembalikan nilai Boolean untuk tiap kontrol. Penempatannya ada di bawah perintah tombol isi data.
- Yang terakhir, pada tombol Clear. Listingnya sama dengan listing saat form dijalankan, karena tugasnya untuk menyembunyikan kemabli bidang isian. Namun jangan lupa isian yang terdapat di dalam TextBox, RadioButton, dan ComboBox dihapus / dihilangkan.
Demikian hasil modifikasi dari Program pertemuan kedua.
Tugas Bagian 2
Desain puzzlenya seperti ini :
Lalu sesuaikan Properties setiap object pada form dengan koding di bawah ini :
Public Class tbreset
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each kotak In Me.box1.Controls
If kotak.GetType.Name = "Button" Then
kotak.Enabled = False
tb_acak.Enabled = False
End If
Next
End Sub
Private Sub tb_mulai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_mulai.Click
For Each kotak In Me.box1.Controls
If kotak.GetType.Name = "Button" Then
kotak.Enabled = True
tb_mulai.Enabled = False
tb_acak.Enabled = True
End If
Next
Dim swap As String
swap = bt1.Text
bt1.Text = bt2.Text
bt2.Text = swap
swap = bt2.Text
bt2.Text = bt3.Text
bt3.Text = swap
swap = bt4.Text
bt4.Text = bt5.Text
bt5.Text = swap
swap = bt5.Text
bt5.Text = bt6.Text
bt6.Text = swap
swap = bt6.Text
bt6.Text = bt7.Text
bt7.Text = swap
swap = bt7.Text
bt7.Text = bt8.Text
bt8.Text = swap
swap = btblank.Text
btblank.Text = bt1.Text
bt1.Text = swap
swap = btblank.Text
btblank.Text = bt4.Text
bt4.Text = swap
End Sub
Private Sub tb_keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_keluar.Click
If MsgBox("Berhenti mainnya ?", vbQuestion + vbYesNo + vbDefaultButton2, "Pesan") = vbYes Then
Me.Close()
End If
End Sub
'Perintah untuk mengacak button'
Private Sub tb_acak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_acak.Click
Dim swap As String
swap = bt1.Text
bt1.Text = bt2.Text
bt2.Text = swap
swap = bt2.Text
bt2.Text = bt3.Text
bt3.Text = swap
swap = bt4.Text
bt4.Text = bt5.Text
bt5.Text = swap
swap = bt5.Text
bt5.Text = bt6.Text
bt6.Text = swap
swap = bt6.Text
bt6.Text = bt7.Text
bt7.Text = swap
swap = bt7.Text
bt7.Text = bt8.Text
bt8.Text = swap
swap = btblank.Text
btblank.Text = bt1.Text
bt1.Text = swap
swap = btblank.Text
btblank.Text = bt4.Text
bt4.Text = swap
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Application.Restart()
End Sub
Private Sub bt1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt1.Click
Dim swap1 As String
If bt2.Text = " " Then
swap1 = bt2.Text
bt2.Text = bt1.Text
bt1.Text = swap1
ElseIf bt4.Text = " " Then
swap1 = bt4.Text
bt4.Text = bt1.Text
bt1.Text = swap1
End If
If bt1.Text = "1" And bt2.Text = "2" And bt3.Text = "3" And bt4.Text = "4" And bt5.Text = "5" And bt6.Text = "6" And bt7.Text = "7" And bt8.Text = "8" And btblank.Text = " " Then
MsgBox("Berhasil",vbInformation, "Pesan ")
End If
End Sub
Private Sub bt2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt2.Click
Dim swap2 As String
If bt1.Text = " " Then
swap2 = bt1.Text
bt1.Text = bt2.Text
bt2.Text = swap2
ElseIf bt3.Text = " " Then
swap2 = bt3.Text
bt3.Text = bt2.Text
bt2.Text = swap2
ElseIf bt5.Text = " " Then
swap2 = bt5.Text
bt5.Text = bt2.Text
bt5.Text = swap2
End If
If bt1.Text = "1" And bt2.Text = "2" And bt3.Text = "3" And bt4.Text = "4" And bt5.Text = "5" And bt6.Text = "6" And bt7.Text = "7" And bt8.Text = "8" And btblank.Text = " " Then
MsgBox("Berhasil", vbInformation, "Pesan ")
End If
End Sub
Private Sub bt3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt3.Click
Dim swap3 As String
If bt2.Text = " " Then
swap3 = bt2.Text
bt2.Text = bt3.Text
bt3.Text = swap3
ElseIf bt6.Text = " " Then
swap3 = bt6.Text
bt6.Text = bt3.Text
bt3.Text = swap3
End If
If bt1.Text = "1" And bt2.Text = "2" And bt3.Text = "3" And bt4.Text = "4" And bt5.Text = "5" And bt6.Text = "6" And bt7.Text = "7" And bt8.Text = "8" And btblank.Text = " " Then
MsgBox("Berhasil", vbInformation, "Pesan ")
End If
End Sub
Private Sub bt4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt4.Click
Dim swap4 As String
If bt1.Text = " " Then
swap4 = bt1.Text
bt1.Text = bt4.Text
bt4.Text = swap4
ElseIf bt5.Text = " " Then
swap4 = bt5.Text
bt5.Text = bt4.Text
bt4.Text = swap4
ElseIf bt7.Text = " " Then
swap4 = bt7.Text
bt7.Text = bt4.Text
bt4.Text = swap4
End If
If bt1.Text = "1" And bt2.Text = "2" And bt3.Text = "3" And bt4.Text = "4" And bt5.Text = "5" And bt6.Text = "6" And bt7.Text = "7" And bt8.Text = "8" And btblank.Text = " " Then
MsgBox("Berhasil", vbInformation, "Pesan ")
End If
End Sub
Private Sub bt5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt5.Click
Dim swap5 As String
If bt2.Text = " " Then
swap5 = bt2.Text
bt2.Text = bt5.Text
bt5.Text = swap5
ElseIf bt4.Text = " " Then
swap5 = bt4.Text
bt4.Text = bt5.Text
bt5.Text = swap5
ElseIf bt6.Text = " " Then
swap5 = bt6.Text
bt6.Text = bt5.Text
bt5.Text = swap5
ElseIf bt8.Text = " " Then
swap5 = bt8.Text
bt8.Text = bt5.Text
bt5.Text = swap5
End If
If bt1.Text = "1" And bt2.Text = "2" And bt3.Text = "3" And bt4.Text = "4" And bt5.Text = "5" And bt6.Text = "6" And bt7.Text = "7" And bt8.Text = "8" And btblank.Text = " " Then
MsgBox("Berhasil", vbInformation, "Pesan ")
End If
End Sub
Private Sub bt6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt6.Click
Dim swap6 As String
If bt3.Text = " " Then
swap6 = bt3.Text
bt3.Text = bt6.Text
bt6.Text = swap6
ElseIf bt5.Text = " " Then
swap6 = bt5.Text
bt5.Text = bt6.Text
bt6.Text = swap6
ElseIf btblank.Text = " " Then
swap6 = btblank.Text
btblank.Text = bt6.Text
bt6.Text = swap6
End If
If bt1.Text = "1" And bt2.Text = "2" And bt3.Text = "3" And bt4.Text = "4" And bt5.Text = "5" And bt6.Text = "6" And bt7.Text = "7" And bt8.Text = "8" And btblank.Text = " " Then
MsgBox("Berhasil", vbInformation, "Pesan ")
End If
End Sub
Private Sub bt7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt7.Click
Dim swap7 As String
If bt4.Text = " " Then
swap7 = bt4.Text
bt4.Text = bt7.Text
bt7.Text = swap7
ElseIf bt8.Text = " " Then
swap7 = bt8.Text
bt8.Text = bt7.Text
bt7.Text = swap7
End If
If bt1.Text = "1" And bt2.Text = "2" And bt3.Text = "3" And bt4.Text = "4" And bt5.Text = "5" And bt6.Text = "6" And bt7.Text = "7" And bt8.Text = "8" And btblank.Text = " " Then
MsgBox("Berhasil", vbInformation, "Pesan ")
End If
End Sub
Private Sub bt8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt8.Click
Dim swap8 As String
If bt5.Text = " " Then
swap8 = bt5.Text
bt5.Text = bt8.Text
bt8.Text = swap8
ElseIf bt7.Text = " " Then
swap8 = bt7.Text
bt7.Text = bt8.Text
bt8.Text = swap8
ElseIf btblank.Text = " " Then
swap8 = btblank.Text
btblank.Text = bt8.Text
bt8.Text = swap8
End If
If bt1.Text = "1" And bt2.Text = "2" And bt3.Text = "3" And bt4.Text = "4" And bt5.Text = "5" And bt6.Text = "6" And bt7.Text = "7" And bt8.Text = "8" And btblank.Text = " " Then
MsgBox("Berhasil", vbInformation, "Pesan ")
End If
End Sub
Private Sub btblank_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btblank.Click
Dim swap9 As String
If bt6.Text = " " Then
swap9 = bt6.Text
bt6.Text = btblank.Text
btblank.Text = swap9
ElseIf bt8.Text = " " Then
swap9 = bt8.Text
bt8.Text = btblank.Text
btblank.Text = swap9
End If
If bt1.Text = "1" And bt2.Text = "2" And bt3.Text = "3" And bt4.Text = "4" And bt5.Text = "5" And bt6.Text = "6" And bt7.Text = "7" And bt8.Text = "8" And btblank.Text = " " Then
MsgBox("Berhasil", vbInformation, "Pesan ")
End If
End Sub
End Class
Setelah selesai, jalankan program :
1.Ketika program dijalankan
2.Kemudian, acak-acak susunan angkanya dengan menekan tombol acak sampai diacak seruwet mungkin.
3.Lalu,susun angka-angkanya sampai seperti ini :
Catatan :
- Program ini belum sepenuhnya selesai, bari sekitar 70% tapi karena logika saya mentok dan ternyata banyak yang mirip jadi saya tidak berani copas. Mungkin bisa saya revisi di postingan selanjutnya.Terima kasih ^ ^
Komentar
Posting Komentar