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