Aplikasi Game Tebak Kata Menggunakan Microsoft Visual Basic 6.0

LISTING PROGRAM

  Script Menu Utama Pada Game Tebak Kata

  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 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 Call menangAtauKalah(“MENANG”) 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

  FUNGSI-FUNGSI

  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 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 Dim tombolNonAktif As String Dim hurufHilang As Boolean 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 Public Funnction mulaiBaru() Call pengaturanTombolAZ(1) 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) For i=1 To panjangKata 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

  Script Form Game Tebak Kata

  Option Explisit 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 Unload Me End Sub

  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 nilai = nilai + 10 lblNilai.Caption = nilai jumlahKataDitebak = jumlahKataDitebak - 1 If (jumlahKataDitebak > 0) Then Call pengaturanTombolAZ(3) cmdBantuan.Enabled = False cmdNext.Enabled = True Else Call menangAtauKalah("MENANG") End If End If Else kesempatan = kesempatan - 1 lblKesempatan.Caption = kesempatan If (kesempatan <= 0) Then cal menangAtauKalah("KALAH") End If End If End Sub Private Sub cmdNext_Click() 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 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 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 ambilHuruf2 = Mid(hurufDihilangkan, j, 1) If (ambillHuruf1 = ambilHuruf2) Then

  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 kataAsli = arrKataAsli(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 ambilHurufTertentu = hurufDicari End Function

  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 End Function

  

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 Drs. Sawaluddin, M.IT 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

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 : Tanggal Asisten Pembahasan Pada Asistensi Paraf Dosen

  No.

  Keterangan Bimbingan Mengenai, Pada Bab: Pembimbing

  1. Pengajuan judul

  2. Acc judul Tugas Akhir

  3. Pengajuan Bab 1 sampai 5

  4. Acc Bab 1 sampai 5

  5. Acc Tugas Akhir

  6. Uji program * 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