GAME KARTU PEMBELAJARAN BERBASIS VB6

Muhammad Rofiul Alim
5 min readDec 19, 2023

--

Pembelajaran yang interaktif dan inovatif diharapkan menciptakan suasana belajar pembelajaran yang bermakna. Belajar pembelajaran dengan didukung konsep kelas digital, bukan sekedar konsep paperless dan tidak sekedar ikut trand. Namun menghadirkan technology-based learning dilingkungan siswa dengan optimalisasi teknologi informasi komunikasi sebagai pendukung utama. Guru harus responsible and adaptable untuk memilih dan mengembangkan sumber dan media pembelajaran yang sesuai situasi, karakter serta tujuan pembelajaran. Pengunaan game dalam belajar pembelajaran diharapkan dapat meningkatkan kesadaran, menambah motivasi, melatih ketrampilan, mengembangkan pengetahuan, komunikasi, kolaborasi dan mengintegrasikan pengalaman belajar (Wachowicz, et.al., 2002).

Perasaan nyaman dan senang dalam pembelajaran sangatlah penting. Motivasi dan lingkungan belajar berpengaruh positif dan signifikan terhadap prestasi belajar siswa (Asvio, et. al., 2017). Penggunaan game sebagai media pembelajaran dapat mempengaruhi situasi dan motivasi serta dinilai efektif. Konsep game edukasi dapat menyesuaikan pembelajaran berbagai dengan berbagai model termasuk combined learning models, hybrid learning Models, dan bended learning models. Hal perlu diperhatikan pemilihan dan pengembangan media berbasis digital yakni nilai aksesibilitas.

Pengembangan media pembelajaran berbasis vb 6 kali ini tentang game kartu pembelajaran. Game ini secara garis besar mengajak siswa menjodohkan gambar dan deskripsinya. Contohnya pengembangan media game pada pembelajaran sejarah pada materi pra-aksara. Tujuan game kartu pembelajaran melatih siswa cermat dan teliti. Langkah-langkah membuat game kartu pembelajaran sebagai berikut:

1. Buka aplikasi visual basic 6 dan pilih standard exe

2. Layout dengan menu image dengan ukuran sama (3 commandbutton dan 1 timer).

3. Layout kurang lebih seperti berikut!

4. Selanjutnya, buat dan layout pada form2 (form baru)!

5. Layout kurang lebih seperti berikut! Perhatikan jumlah kotak form1 pada form 2. Gambar yang digunakan adalah type “BMP”.

6. Selanjutnya masukkan berikut source code pada form1.

Masukan pada General

Option Explicit

Private mintGameCards(0 To 23) As Integer

Private mintClickCount As Integer

Private mintFirstCard As Integer

Private mintSecondCard As Integer

Private mintMatches As Integer

Private mintElapsedMins As Integer

Private mintElapsedSecs As Integer

Private mintNbrOfTurns As Integer

Private mstrFileName As String

Private mstrBestTime As String

Private mintBestTurns As Integer

Masukan kode berikut pada Form

Private Sub Form_Load()

Dim strBackSlash As String

CenterForm Me

strBackSlash = IIf(Right$(App.path, 1) = “\”, “”, “\”)

mstrFileName = App.path & strBackSlash & “CONBEST.TXT”

If Dir(mstrFileName) = “” Then

Open mstrFileName For Output As #1

Write #1, “99:99”, 9999

Close #1

End If

cmdNewGame_Click

End Sub

Private Sub Form_Unload(Cancel As Integer)

Unload frmCards

End Sub

Coding pada image (kotak-kotak)

Private Sub imgGameCard_Click(Index As Integer)

Dim strMsg As String

mintClickCount = mintClickCount + 1

If mintClickCount = 1 Then

mintFirstCard = Index

imgGameCard(Index) = frmCards.imgCard(mintGameCards(Index))

Else

mintSecondCard = Index

imgGameCard(Index) = frmCards.imgCard(mintGameCards(Index))

mintNbrOfTurns = mintNbrOfTurns + 1

lblNbrOfTurns = mintNbrOfTurns

WaitASecond

If mintGameCards(mintFirstCard) = mintGameCards(mintSecondCard) Then imgGameCard(mintFirstCard).Enabled = False

imgGameCard(mintSecondCard).Enabled = False

mintMatches = mintMatches + 1

If mintMatches = 12 Then

tmrGamePlay.Enabled = False

If lblElapsedTime < mstrBestTime _

Or mintNbrOfTurns < mintBestTurns Then

Open mstrFileName For Output As #1

If lblElapsedTime < mstrBestTime _

And mintNbrOfTurns < mintBestTurns Then

strMsg = “Congratulations! You set new records for both “ _

& “best time and fewest number of turns.”

lblRecTime = lblElapsedTime

lblRecTurns = lblNbrOfTurns

ElseIf lblElapsedTime < mstrBestTime Then

strMsg = “Congratulations! You set a new record for “ _

& “best time.”

lblRecTime = lblElapsedTime

Else

strMsg = “Congratulations! You set a new record for “ _

& “fewest number of turns.”

lblRecTurns = lblNbrOfTurns

End If

Write #1, lblRecTime, Val(lblRecTurns)

Close #1

MsgBox strMsg, vbExclamation, “New Record”

End If

End If

Else

imgGameCard(mintFirstCard) = frmCards.imgCard(0) imgGameCard(mintFirstCard).Enabled = True

imgGameCard(mintSecondCard) = frmCards.imgCard(0) imgGameCard(mintSecondCard).Enabled = True

End If

mintClickCount = 0

End If

End Sub

Masukan Pada General lagi

Private Sub cmdReset_Click()

If MsgBox(“Are you sure you want to reset the best scores?”, _

vbQuestion + vbYesNo + vbDefaultButton2, _

“Reset Best Scores”) = vbNo Then

Exit Sub

End If

Open mstrFileName For Output As #1

Write #1, “99:99”, 9999

Close #1

End Sub

Private Sub WaitASecond()

Dim sngStart As Single

Me.Enabled = False

sngStart = Timer

Do While Timer < sngStart + 1

DoEvents

Loop

Me.Enabled = True

End Sub

Masukan pada Timer

Private Sub tmrGamePlay_Timer()

mintElapsedSecs = mintElapsedSecs + 1

If mintElapsedSecs > 59 Then

mintElapsedMins = mintElapsedMins + 1

If mintElapsedMins > 59 Then

If MsgBox(“Time’s Up! Do you want to start a new game?”, _

vbQuestion + vbYesNo, “Concentration”) = vbYes Then

cmdNewGame_Click

Else

Unload Me

End If

Exit Sub

End If

mintElapsedSecs = 0

End If

lblElapsedTime = Format$(mintElapsedMins, “00”) & “:” _ & Format$(mintElapsedSecs, “00”)

End Sub

Untuk New Game masukan kode berikut:

Private Sub cmdNewGame_Click()

Dim intX As Integer

Dim intY As Integer

Dim intCardNbr As Integer

Dim blnGoodCardNumber As Boolean

Dim intImageNbr As Integer

Dim blnGoodImageNumber As Boolean

Dim blnCardNbrSelected(1 To 52) As Boolean

Dim blnImageSelected(0 To 23) As Boolean

Open mstrFileName For Input As #1

Input #1, mstrBestTime, mintBestTurns

Close #1

lblRecTime.Caption = mstrBestTime

lblRecTurns.Caption =mintBestTurns

Randomize

mintMatches = 0

mintElapsedMins = 0

mintElapsedSecs = 0

mintNbrOfTurns = 0

lblElapsedTime = “”

lblNbrOfTurns = “”

For intX = 0 To 23

With imgGameCard(intX)

.Visible = True

.Picture = frmCards.imgCard(0)

.Enabled = True

End With

Next

For intX = 1 To 12

blnGoodCardNumber = False

Do intCardNbr = 1 + Int(52 * Rnd)

If Not blnCardNbrSelected(intCardNbr) Then

blnCardNbrSelected(intCardNbr) = True blnGoodCardNumber = True

For intY = 1 To 2

blnGoodImageNumber = False

Do intImageNbr = Int(24 * Rnd)

If Not blnImageSelected(intImageNbr) Then blnGoodImageNumber = True blnImageSelected(intImageNbr) = True

mintGameCards(intImageNbr) = intCardNbr

End If

Loop Until blnGoodImageNumber

Next

End If

Loop Until blnGoodCardNumber

Next

tmrGamePlay.Enabled = True

End Sub

Jika sudah silahkan uji coba (F5). Game kartu pembelajaran ini diadaptasi, dimanfaatkan dan dikembangkan dalam berbagai mata pelajaran.

Reference

Alim, M.R. 2018. 9+ Tutorial Aplikasi Pembelajaran Berbasis Visual Basic 6. Kun Fayakun: Jombang.

Asvio, N. (2017). The influence of learning motivation and learning environment on undergraduate students’ learning achievement of management of Islamic education, study program of IAIN Batusangkar In 2016. Noble International Journal of Social Sciences Research, 2(2), 16–31.

Pedersen, R. E. (2003). Game Design Foundations. Texas: Wordware Publishing, Inc.

Wachowicz, M., et.al. 2002. Games for Interactive Spatial Planning: SPLASH a Prototype Stratey Game about Water Management. Wageningen: Alterra.

--

--

Muhammad Rofiul Alim
Muhammad Rofiul Alim

Written by Muhammad Rofiul Alim

blog writer about education, culture and history

No responses yet