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 Private Sub Form_Unload(Cancel As Integer) Cancel=1 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) 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 Call menangataukalah( MENANG )
kesempatan=kesempatan-1 lblkesempatan.caption=kesempatan If(kesempatan<=0) Then Call menangataukalah( KALAH ) 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) 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 MsgBox Maaf, jumlah Nilai Anda tidak mencukupi untuk Bantuan. & vbcrlf & Nilai minimal adalah 20 Poin., vbinformation, Maaf Private Sub cmdkeluar_click() End 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 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 ambilkataditebak=noindex rshasil.close Set rshasil=nothing koneksi.close Set koneksi=nothing 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 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 Next j If (hurufhilang=true) Then katahurufhilang=katahurufhilang+ _ arrhurufsudahhilang(indexarrhurufsudahhilang)=ambilhuruf1 indexarrhurufsudahhilang= indexarrhurufsudahhilang+1 katahurufhilang= katahurufhilang+ambilhuruf1 tombolnonaktif=ambilhuruf1 Call nonaktiftombol(tombolnonaktif) tentukanhurufhilang=katahurufhilang 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 : katabaru=katabaru+ _ End Select katabaru=katabaru+ +ambilhuruf tampilkankatakelayar=katabaru Public Funnction 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) hurufharushilang= hurufharushilang(indexkataterpilih) katabaru=tentukanhurufhilang(kataasli, hurufharushilang) lbltampilkata.caption=tampilkankatakelayar(katabaru) 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 katabaru=katabaru+ambilhuruf2 lbltampilkata.caption=tampilkankatakelayar(katabaru) jumlahhurufhilang=jumlahhurufhilang-1 Call nonaktifkantombol(hurufdikembalikan) kembalikanhurufhilang=katabaru Public Function apakahnilaicukup() As Boolean If ((nilai-20)>=0) Then apakahnilaicukup=true apakahnilaicukup=false 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
ambilhuruf1=mid(kataasli, i, 1) ambilhuruf2=mid(katahurufhilang, i, 1) If ((i=posisihuruf) And (ambilhuruf2= _ )) Then hurufdicari=ambilhuruf1 ambilhuruftertentu=hurufdicari 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 ) If (status= KALAH ) Then mainlagi=msgbox( Anda kalah. Main lagi?, vbyesno, maaf ) If (mainlagi=vbmsgboxresult.vbyes) Then Call mulaibaru If (mainlagi=vbmsgboxresult.vbno) Then: End 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 ) 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 ) 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
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 Private Sub Form_Unload(Cancel As Integer) Cancel = 1 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) 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 Call menangataukalah("menang") kesempatan = kesempatan - 1 lblkesempatan.caption = kesempatan If (kesempatan <= 0) Then cal menangataukalah("kalah") Private Sub cmdnext_click()
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) 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 MsgBox "Maaf, jumlah Nilai Anda tidak mencukupi untuk Bantuan." & vbcrlf & "Nilai minimal adalah 20 poin.", vbinformation, "Maaf" Private Sub cmdkeluar_click() End 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 ambilkataditebak = noindex rshasil.close Set rshasil = Nothing koneksi.close Set koneksi = Nothing 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 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
hurufhilang = True Next j If (hurufhilang = True) Then katahurufhilang = katahurufhilang + "_" arrhurufsudahhilang(indexarrhurufsudahhilang) = ambilhuruf1 indexarrhurufsudahhilang = indexarrhurufsudahhialang + 1 katahurufhilang = katahurufhilang + ambilhuruf tombolnonaktif = ambilhuruf1 Call nonaktifkantombol(tombolnonaktif) tentukanhurufhilang = katahurufhilang 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 : katabaru = katabaru + "_" End Select katabaru = katabaru + "" + ambilhuruf tampilkankatakelayar = katabaru 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)
HurufHarusHilang = arrhurufharushilang(indexkataterpilih) katabaru = tentukanhurufhilang(kataasli, HurufHarusHilang) lbltampilkata.caption = tampilkankatakelayar(katabaru) 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 katabaru = katabaru + ambilhuruf2 lbltampilkata.caption = tampilkankatakelayar(katabaru) jumlahhurufhilang = jumlahhurufhilang - 1 Call nonaktikantombol(hurufdikembailkan) kembalikanhurufhilang = katabaru Public Function apakahnilaicukup() As Boolean If ((nilai - 20) >= 0) Then apakahnilaicukup = True apakahnilaicukup = False 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 ambilhuruftertentu = hurufdicari
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!") If (status = "KALAH") Then mainlagi = MsgBox("Anda kalah. Main lagi?", vbyesno, "Maaf!") If (mainlagi = VbMsgBoxResult.vbYes) Then Call mulaibaru If (mainlagi = VbMsgBoxResult.vbNo) Then
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 : No. Tanggal Asisten Pembahasan Pada Asistensi Paraf Dosen 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 Keterangan * Kartu ini diharap dikembalikan ke Departemen Matematika bila bimbingan telah selesai. Diketahui, Ketua Departemen Matematika Disetujui, Pembimbing Utama/ Penanggung Jawab Prof. Drs. Tulus, Vordipl.Math., M.Si., Ph.D. Drs. Sawaluddin, M.I.T NIP. 196209011988031002 NIP. 195912311998021001