LISTING PROGRAM
Dim kesempatan As Integer
Script Menu Utama Pada Game Tebak Kata
Dim nilai As Integer
Dim arrKataAsli(20) As String Dim kataAsli As String
Dim arrHurufHarusHilang(20) As String Dim hurufHarusHilang As String Dim kataBaru As String
Dim indexKataTerpilih As Integer Dim jumlahKataDitebak As Integer Dim hurufSudahHilang(20) As String Dim indexArrHurufSudahHilang As Integer Dim jumlahHurufSudahHilang As Integer Dim koneksi As New ADODB.Connection Dim rsHasil As New ADODB.Recordset Dim strQuery As String
Private Sub Form_Load() Call mulaiBaru
End Sub
Private Sub Form_Unload(Cancel As Integer) Cancel=1
End Sub
Private Sub cmdInput_Click(Index As Integer) Dim i As Integer
Dim hurufKembalikan As String hurufKembalikan=””
for i=0 To indexArrHurufSudahHilang
If(cmdInput(index).Caption=arrHurufSudahHilang(i)) Then hurufKembalikan=arrHurufSudahHilang(i) End If
Next i
If(hurufKembalikan <>””) Then
kataBaru=kembalikanHurufHilang(kataAsli, kataBaru, hurufKembalikan) If(jumlahHurufHilang=0) Then
Nilai=nilai+10 lblNilai.Caption=nilai
jumlahKataDitebak=jumlahKataDitebak-1 If(jumlahKataDitebak>0) Then
Call pengaturanTombolAZ(3) cmdBantuan.Enabled=False cmdNext.Enabled=True Else
End If Else
kesempatan=kesempatan-1
lblKesempatan.Caption=kesempatan If(kesempatan<=0) Then
Call menangAtauKalah(“KALAH”) End If
End If End Sub
Private Sub cmdNext_Click() Call pengaturanTombolAZ(2) cmdBantuan.Enabled=True cmdNext.Enabled=False
jumlahHurufHilang=0
indexKataTerpilih=indexKataTerpilih+1 kataAsli=arrKataAsli(indexKataTerpilih)
hurufHarusHilang=arr hurufHarusHilang(indexKataTerpilih) kataBaru=tentukanHurufHilang(kataAsli, hurufHarusHilang) lblTampilKata.Caption=tampilkanKataKeLayar(kataBaru) End Sub
Private Sub cmdBantuan_Click() Dim posisiHurufBantuan As Integer Dim hurufDitampilkan As String Dim bisaDibantu As Boolean
bisaDibantu=apakahNilaiCukup() If(bisaDibantu=True) Then
On Error Resume Next
posisiHurufBantuan=InputBox(“Masukkan posisi huruf yang ingin ditampilkan.” & vbCrLf & vbCrLf & “Setiap Anda memakai fasilitas Bantuan ini,” & vbCrLf & “Nilai Anda akan dikurangi sebanyak 20 poin”, “Input Posisi Huruf.”)
If(posisiHurufBantuan<>0) Then
hurufDitampilkan=ambilHurufTertentu(kataAsli, kataBaru, posisiHurufBantuan) If(hurufDitampilkan<>””) Then
kataBaru=kembalikanHurufHilang(kataAsli, kataBaru, hurufDitampilkan) nilai=nilai-20
lblNilai.Caption=nilai End If
End If Else
MsgBox”Maaf, jumlah Nilai Anda tidak mencukupi untuk Bantuan.” & vbCrLf & “Nilai minimal adalah 20 Poin.”, vbInformation, “Maaf”
End If End Sub
Private Sub cmdKeluar_Click() End
End Sub
Public Function pengaturanTombolAZ(pilihan As Integer)
FUNGSI-FUNGSI
for i=0 To 25 select Case pilihan
Case 1:
cmdInput(i).Caption=Chr(kodeAscii) kodeAscii=kodeAscii+1
Case 2:
cmdInput(i).Enabled=True Case 3:
cmdInput(i).Enabled=False End Select
Next i End Function
Public Function ambilKataDitebak() As Integer Dim noIndex As Integer
koneksi.Open (“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & App.Path & ”\dbTebakKata.mdb;Persist Security Info=False”)
strQuery=”SELECT*FROM tblTebakKata” rsHasil.Open strQuery, koneksi
noIndex=0
if Not rsHasil.EOF Then While Not rsHasil.EOF
arrKataAsli(noIndex)=rsHasil.Fields(“kata”)
arrHurufHarusHilang(noIndex)=rsHasil.Fields(“huruf_hilang”) rsHasil.MoveNext
noIndex=noIndex+1 Wend
End If
ambilKataDitebak=noIndex
rsHasil.Close Set rsHasil=Nothing
koneksi.Close Set koneksi=Nothing End Function
Public Function nonAktifkanTombol(labelTombol As String) Dim labelPadaTombol As String
For i=0 To 25
labelPadaTombol=cmdInput(i).Caption
If (labelPadaTombol=labelTombol) Then cmdInput(i).Enabled=False End If
Next i End Fuction
Public Function tentukanHurufHilang(kataAsli As String, hurufDihilangkan As String) As String Dim panjangKata1, panjangKata2, i, j As Integer
Dim ambilHuruf1, ambilHuruf2 As String Dim kataHurufHilang As String
indexArrHurufSudahHilang=0 panjangKata1=Len(kataAsli)
panjangKata2=Len(hurufDihilangkan) jumlahHurufHilang=panjangKata2
For i=1 To panjangKata1
ambilHuruf1=Mid(kataAsli, i, 1)
hurufHilang=False For j=1 To panjangKata2
ambilHuruf2=Mid(hurufDihilangkan, j, 1) If (ambilHuruf1=ambilHuruf2) Then
hurufHilang=True End If
Next j
If (hurufHilang=True) Then
kataHurufHilang=kataHurufHilang+”_”
arrHurufSudahHilang(indexArrHurufSudahHilang)=ambilHuruf1 indexArrHurufSudahHilang= indexArrHurufSudahHilang+1 Else
kataHurufHilang= kataHurufHilang+ambilHuruf1 tombolNonAktif=ambilHuruf1
Call nonAktifTombol(tombolNonAktif) End If
Next i
tentukanHurufHilang=kataHurufHilang End Function
Public Function tampilkanKataKeLayar(kata As String) As String Dim panjangKata, i As Integer
Dim ambilHuruf As String Dim kataBaru As String
panjangKata=Len(kata) for i=1 To panjangKata
ambilHuruf=Mid(kata, i, 1)
If (ambilHuruf=”_”) Then Select Case i Case 1:
kataBaru=”_” Case panjangKata:
kataBaru=kataBaru+”_” Case Else:
kataBaru=kataBaru+”_” End Select
Else
kataBaru=kataBaru+” ”+ambilHuruf End If
Next i
tampilkanKataKeLayar=kataBaru End Function
Call pengaturanTombolAZ(2) cmdBantuan.Enabled=True cmdNext.Enabled=False
jumlahKataDitebak=ambilKataDitebak() kesempatan=3
lblKesempatan.Caption=kesempatan nilai=0
lblNilai.Caption=nilai
indexKataTerpilih=0
kataAsli=arrKataAsli(indexKataTerpilih)
hurufHarusHilang= hurufHarusHilang(indexKataTerpilih) kataBaru=tentukanHurufHilang(kataAsli, hurufHarusHilang) lblTampilKata.Caption=tampilkanKataKeLayar(kataBaru) End Function
Public Function kembalikanHurufHilang(kataAsli As String, kataHurufHilang As String, hurufDikembailkan As String) As String
Dim panjangKata, i As Integer
Dim ambilHuruf1, ambilHuruf2 As String Dim katabaru As String
panjangKata=Len(kataAsli) For i=1 To panjanhKata
ambilHuruf1=Mid(kataAsli, i, 1)
ambilHuruf2=Mid(kataHurufHilang, i, 1)
If (ambilHuruf1=hurufDikembalikan) Then kataBaru=kataBaru+ambilHuruf1 Else
kataBaru=kataBaru+ambilHuruf2 End If
Next i
lblTampilKata.Caption=tampilkanKataKeLayar(kataBaru) jumlahHurufHilang=jumlahHurufHilang-1
Call nonAktifkanTombol(hurufDikembalikan)
kembalikanHurufHilang=kataBaru End Function
Public Function apakahNilaiCukup() As Boolean If ((nilai-20)>=0) Then
apakahNilaiCukup=True Else
apakahNilaiCukup=False End If
End Function
Public Function ambilHurufTertentu(kataAsli As String, kataHurufHilang As String, posisiHuruf As Integer) As Integer
Dim panjangKata, i As Integer
Dim ambilHuruf1, ambilHuruf2 As String Dim hurufDicari As String
panjangKata=Len(kataAsli)
ambilHuruf1=Mid(kataAsli, i, 1)
ambilHuruf2=Mid(kataHurufHilang, i, 1)
If ((i=posisiHuruf) And (ambilHuruf2=”_”)) Then hurufDicari=ambilHuruf1
End If Next i
ambilHurufTertentu=hurufDicari End Function
Public Function menangAtauKalah(status As String) Dim mainLagi As VbMsgBoxResult
Call pengaturanTombolAZ(3) cmdBantuan.Enabled=False cmdNext.Enabled=False
If (status=”MENANG”) Then
mainLagi=MsgBox(“Anda menang. Main lagi?”, vbYesNo, “Selamat”) ElseIf (status=”KALAH”) Then
mainLagi=MsgBox(“Anda kalah. Main lagi?”, vbYesNo, “maaf”) End If
If (mainLagi=VbMsgBoxResult.vbYes) Then Call mulaiBaru
ElseIf (mainLagi=VbMsgBoxResult.vbNo) Then: End End If
End Function
Option Explisit
Script Form Game Tebak Kata
Private Declare Function LoadCursor Lib “user32” Alias “LoadCursorA” (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor Lib “user32” (ByVal hCursor As Long) As Long
Private Cosnt IDC_HAND=32649&
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) picTombolMulai.Picture=LoadPicture(App.Path & ”\Gambar\TombolMulai_UP.bmp”) End Sub
Private Sub picTombolMulai_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
SetCursor LoadCursor(0, IDC_HAND)
picTombolMulai.Picture=LoadPicture(App.Path & ”\Gambar\TombolMulai_OVER.bmp”) End Sub
Private Sub picTombolMulai_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
SetCursor LoadCursor(0, IDC_HAND) Form1.Visible=True
Dim kesempatan As Integer Dim nilai As Integer
Dim arrKataAsli(20) As String Dim kataAsli As String
Dim arrHurufHarusHilang(20) As String Dim HurufHarusHilang As String Dim kataBaru As String
Dim indexKataTerpilih As Integer Dim jumlahKataDitebak As Integer Dim arrHurufSudahHilang(20) As String Dim indexArrHurufSudahHilang As Integer Dim jumlahHurufHilang As Integer Dim koneksi As New ADODB.Connection Dim rsHasil As New ADODB.Recordset Dim strQuery As String
Private Sub Form_Load() Call mulaiBaru
End Sub
Private Sub Form_Unload(Cancel As Integer) Cancel = 1
End Sub
Private Sub cmdInput_Click(Index As Integer) Dim i As Integer
Dim hurufKembalikan As String hurufKembalikan = ""
For i = 0 To indexArrHurufSudahHilang
If (cmdInput(Index).Caption = arrHurufSudahHilang(i)) Then hurufKembalikan = arrHurufSudahHilang(i)
End If Next i
If (hurufKembalikan <> "") Then
kataBaru = kembalikanHurufHilang(kataAsli, kataBaru, hurufKembalikan) If (jumlahHurufHilang = 0) Then
lblKesempatan.Caption = kesempatan If (kesempatan <= 0) Then
cal menangAtauKalah("KALAH") End If
End If End Sub
Call pengaturanTombolAZ(2) cmdBantuan.Enabled = True cmdNext.Enabled = False
jumlahHurufHilang = 0
indexKataTerpilih = indexKataTerpilih + 1 kataAsli = arrKataAlsi(indexKataTerpilih)
HurufHarusHilang = arrHurufHarusHilang(indexKataTerpilih) kataBaru = tentukanHurufHilang(kataAsli, HurufHarusHilang) lblTampilKata.Caption = tampilkanKataKeLayar(kataBaru)
End Sub
Private Sub cmdBantuan_Click() Dim posisiHurufBantuan As Integer Dim hurufDitampilkan As String Dim bisaDibantu As Boolean
bisaDibantu = apakahNilaiCukup() If (bisaDibantu = True) Then On Error Resume Next
posisiHurufBantuan = InputBox("Masukkan posisi huruf yang ingin ditampilkan." & vbCrLf & vbCrLf & "Setiap Anda memakai fasilitas Bantuan ini," & vbCrLf & "Nilai Anda akan dikurangi sebanyak 20 poin", "Input Posisi Huruf.")
If (posisiHurufBantuan <> 0) Then
hurufDitampilkan = ambilHurufTertentu(kataAsli, kataBaru, posisiHutufBantuan) If (hurufDitampilkan <> "") Then
kataBaru = kembalikanHurufHilang(kataAsli, kataBaru, hurufDitampilkan) nilai = nilai - 20
lblNilai.Caption = nilai End If
End If Else
MsgBox "Maaf, jumlah Nilai Anda tidak mencukupi untuk Bantuan." & vbCrLf & "Nilai minimal adalah 20 poin.", vbInformation, "Maaf"
End If End Sub
Private Sub cmdKeluar_Click() End
End Sub
Public Function pengaturanTombolAZ(pilihan As Integer) Dim i, kodeAscii As Integer
kodeAscii = 65
For i = 0 To 25 Select Case pilihan Case 1:
cmdInput(i).Caption = Chr(kodeAscii) kodeAscii = kodeAscii + 1
Case 2:
cmdInput(i).Enabled = True Case 3:
cmdInput(i).Enabled = False End Select
Public Function ambilKataDitebak() As Integer Dim noIndex As Integer
koneksi.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\dbTebakKata.mdb;Persist Security Info=false")
strQuery = "SELECT*FROM tblTebakKata" rsHasil.Open strQuery, koneksi
noIndex = 0
If Not rsHasil.EOF Then While Not rsHasil.EOF
arrKataAsli(noIndex) = rsHasil.Fields("kata")
arrHurufHarusHilang(noIndex) = rsHasil.Fields("huruf_hilang") rsHasil.MoveNext
noIndex = noIndex + 1 Wend
End If
ambilKataDitebak = noIndex
rsHasil.Close Set rsHasil = Nothing
koneksi.Close Set koneksi = Nothing End Function
Public Function nonAktifkanTombol(labelTombol As String) Dim labelPadaTombol As String
For i = 0 To 25
labelPadaTombol = cmdInput(i).Caption
If (labelPadaTombol = labelTombol) Then cmdInput(i).Enabled = False
End If Next i End Function
Public Function tentukanHurufHilang(kataAsli As String, hurufDihilangkan As String) As String Dim panjangKata1, panjangKata2, i, j As Integer
Dim ambilHuruf1, ambilHuruf2 As String Dim kataHurufhilang As String
Dim tombolNonAktif As String Dim hurufHilang As Boolean
IndexArrHurufHilang = 0 panjangKata1 = Len(kataAsli)
panjangKata2 = Len(hurufDihilangkan) jumlahHurufHilang = panjangKata2
For i = 1 To panjangKata1
ambillHuruf1 = Mid(kataAsli, i, 1)
hurufHilang = False For j = 1 To panjangKata2
hurufHilang = True End If
Next j
If (hurufHilang = True) Then
kataHurufhilang = kataHurufhilang + "_"
arrHurufSudahHilang(indexArrHurufSudahHilang) = ambilHuruf1 indexArrHurufSudahHilang = indexArrHurufSudahHialang + 1 Else
kataHurufhilang = kataHurufhilang + ambilHuruf tombolNonAktif = ambilHuruf1
Call nonAktifkanTombol(tombolNonAktif) End If
Next i
tentukanHurufHilang = kataHurufhilang End Function
Public Function tampilkanKataKeLayar(kata As String) As String Dim panjangKata, i As Integer
Dim ambilHuruf As String Dim kataBaru As String
panjangKata = Len(kata) For i = 1 To panjangKata ambilHuruf = Mid(kata, i, 1)
If (ambilHuruf = "_") Then Select Case i
Case 1:
kataBaru = "_" Case panjangKata:
kataBaru = kataBaru + "_" Case Else:
kataBaru = kataBaru + "_" End Select
Else
kataBaru = kataBaru + "" + ambilHuruf End If
Next i
tampilkanKataKeLayar = kataBaru End Function
Public Function mulaiBaru() Call pengaturanTombolAZ(1) Call pengaturanTombolAZ(2) cmdBantuan.Enabled = True cmdNext.Enabled = False
jumlahKataDitebak = ambilKataDitebak() kesempatan = 3
lblKesempatan.Caption = kesempatan nilai = 0
lblNilai.Caption = nilai
indexKataTerpilih = 0
HurufHarusHilang = arrHurufHarusHilang(indexKataTerpilih) kataBaru = tentukanHurufHilang(kataAsli, HurufHarusHilang) lblTampilKata.Caption = tampilkanKataKeLayar(kataBaru) End Function
Public Function kembalikanHurufHilang(kataAsli As String, kataHurufhilang As String, hurufDikembalikan As String) As String
Dim panjangKata, i As Integer
Dim ambilHuruf1, ambilHuruf2 As String Dim kataBaru As String
panjangKata = Len(kataAsli) For i = 1 To panajangKata
ambilHuruf1 = Mid(kataAsli, i, 1) ambilHuruf2 = Mid(kataHurufhilang, i, 1)
If (ambilHuruf1 = hurufDikembalikan) Then kataBaru = kataBaru + ambilHuruf1 Else
kataBaru = kataBaru + ambilHuruf2 End If
Next i
lblTampilKata.Caption = tampilkanKataKeLayar(kataBaru) jumlahHurufHilang = jumlahHurufHilang - 1
Call nonAktikanTombol(hurufDikembailkan)
kembalikanHurufHilang = kataBaru End Function
Public Function apakahNilaiCukup() As Boolean If ((nilai - 20) >= 0) Then
apakahNilaiCukup = True Else
apakahNilaiCukup = False End If
End Function
Public Function ambilHurufTertentu(kataAsli As String, kataHurufhilang As String, posisiHuruf As Integer) As String
Dim panjangKata, i As Integer
Dim ambilHuruf1, ambilHuruf2 As String Dim hurufDicari As String
panjangKata = Len(kataAsli)
For i = 1 To panjangKata
ambilHuruf1 = Mid(kataAsli, i, 1) ambilHuruf2 = Mid(kataHurufhilang, i, 1)
If ((i = posisiHuruf) And (ambilHuruf2 = "_")) Then hurufDicari = ambilHuruf1
End If Next i
Public Function menangAtauKalah(status As String) Dim mainLagi As VbMsgBoxResult
Call pengaturanTombolAZ(3) cmdBantuan.Enabled = False cmdNext.Enabled = False
If (status = "MENANG") Then
mainLagi = MsgBox("Anda menang. Main lagi?", vbYesNo, "Selamat!") ElseIf (status = "KALAH") Then
mainLagi = MsgBox("Anda kalah. Main lagi?", vbYesNo, "Maaf!") End If
If (mainLagi = VbMsgBoxResult.vbYes) Then Call mulaiBaru
ElseIf (mainLagi = VbMsgBoxResult.vbNo) Then End If
SURAT KETERANGAN
Hasil Uji Program Tugas Akhir
Yang bertanda tangan dibawah ini, menerangkan bahwa Mahasiswa Tugas Akhir
Program Diploma 3 Teknik Informatika/Statistika:
Nama
: NELLY WULANDARI
NIM
: 092406126
Program Studi
: D3 Teknik Informatika
Judul T.A
: Aplikasi Game Tebak Kata Menggunakan Microsoft Visual
Basic 6.0
Telah melaksanakan test program Tugas Akhir Mahasiswa tersebut di atas pada
tanggal………...
Dengan Hasil : Sukses / Gagal
Demikian diterangkan untuk digunakan melengkapi syarat pendaftaran Ujian Meja
Hijau Tugas Akhir Mahasiswa bersangkutan di Departemen Matematika FMIPA USU
Medan.
Medan, Juni 2012
Dosen Pembimbing
KARTU BIMBINGAN TUGAS AKHIR MAHASISWA
Nama Mahasiswa
: NELLY WULANDARI PINEM
Nomor Stambuk
: 092406126
Judul Tugas Akhir
: Aplikasi Game Tebak Kata Menggunakan
Microsoft Visual Basic 6.0
Dosen Pembimbing
: Drs. Sawaluddin, M.I.T
Tanggal Mulai Bimbingan
:
Tanggal Selesai Bimbingan :
* Kartu ini diharap dikembalikan ke Departemen Matematika bila bimbingan telah selesai.
Diketahui,
Disetujui,
Ketua Departemen Matematika
Pembimbing Utama/
Penanggung Jawab
Prof. Drs. Tulus, Vordipl.Math., M.Si., Ph.D.
Drs. Sawaluddin, M.I.T
NIP. 196209011988031002
NIP. 195912311998021001
KEMENTERIAN PENDIDIKAN NASIONAL DAN KEBUDAYAAN
UNIVERSITAS SUMATERA UTARA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
DEPARTEMEN MATEMATIKA
PROGRAM STUDI DIII TEKNIK INFORMATIKA
Jl. Bioteknologi No. 1 Kampus USU MEDAN – Telp/FAX. 061-8214290