• Tidak ada hasil yang ditemukan

Aplikasi Game Tebak Kata Menggunakan Microsoft Visual Basic 6.0

N/A
N/A
Protected

Academic year: 2019

Membagikan "Aplikasi Game Tebak Kata Menggunakan Microsoft Visual Basic 6.0"

Copied!
14
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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)

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

No.

Tanggal Asisten

Pembahasan Pada Asistensi

Paraf Dosen

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

Referensi

Dokumen terkait

 Setelah membaca teks, siswa mampu menunjukkan contoh tindakan yang dapat dilakukan manusia terhadap daur hidup hewan dan tumbuhan dengan benar..  Setelah membaca teks

Sebab ada tiga yang memberi kesaksian (di dalam sorga: Bapa, Firman dan Roh Kudus; dan ketiganya adalah satu. Dan ada tiga yang memberi kesaksian di bumi): Roh dan air dan darah

Banyak hal yang kemudian berubah di abad 21 ini, percepatan di bidang ilmu pengetahuan dan teknologi, sistem komunikasi seperti mudahnya akses internet menjadi salah satu ciri abad

Pola ~lahan tanaman Tabu di  Jawe. Perban~ produkl;ivitas beberapa pabrik

Dari tabel 6 diatas dapat dilihat bahwa kabupaten Mandailing Natal memiliki sektor- sektor yang memiliki nilai negatif yaitu sektor peranian, pertambangan dan

Pendekatan kualitatif dalam penelitian ini dilakukan dalam bentuk r eview audit dengan menggunakan metode t r iangulat ion t est atas audit manajemen fungsi

Ikatan kovalen terjadi karena adanya penggunaan elektron secara bersama dari atom yang satu ke atom yang lainnya. Ikatan logam, interaksi terjadi karena adanya

9 Harga shampoo pantene yang saya ketahui selalu setabil tidak berubah-ubah 10 Produk Pantene memiliki banyak pilihan jenis yang dapat saya pilih sesuai dengan