LAMPIRAN 1
Kode Program Splash Screen
Private Sub Form_Load()
lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision
lblProductName.Caption = App.Title lblCopyright.Caption = App.Comments lblCompany.Caption = App.CompanyName
imgSplash.Picture = LoadPicture(App.Path & "\img\splash.bmp")
End Sub
Private Sub Frame1_Click() Unload Me
End Sub
Private Sub Timer1_Timer() bar.Value = bar.Value + 4 Screen.MousePointer = vbHourglass
If bar.Value = 8 Then
lbBar.Caption = "Loading . . ." ElseIf bar.Value = 28 Then
lbBar.Caption = "Waiting database . . ." ElseIf bar.Value = 40 Then
lbBar.Caption = "Initializing . . ." ElseIf bar.Value = 68 Then
lbBar.Caption = "Please wait . . ." ElseIf bar.Value = 100 Then
If bar.Value = 100 Then
If Timer1.Interval >= 1 Then Unload Me
Screen.MousePointer = vbDefault FormMain_menu.Show
Lampiran 2
Kode Program Menu Utama
Private Sub cmdAbout_Click() formAbout.Show
End Sub
Private Sub cmdConditional_Click() SSTab1.Tab = 2
End Sub
Private Sub cmdExit_Click() End
End Sub
Private Sub cmdGerund_Click() SSTab1.Tab = 3
End Sub
Private Sub cmdHome_Click() SSTab1.Tab = 0
End Sub
Private Sub cmdInput_Click() SSTab1.Tab = 6
End Sub
Private Sub cmdKamus_Click() Formkamus.Show
End Sub
Private Sub cmdModal_Click() SSTab1.Tab = 5
End Sub
'========== source code untuk ke soal ========
Private Sub cmdNext1_Click() Formtenses.Show
End Sub
Private Sub cmdNext2_Click() Formconditional.Show
Private Sub cmdNext3_Click() Formgerund.Show
End Sub
Private Sub cmdNext4_Click() Formparticiple.Show
End Sub
Private Sub cmdNext5_Click() Formmodal.Show
End Sub
Private Sub cmdPassive_Click() SSTab1.Tab = 4
End Sub
Private Sub cmdTenses_Click() SSTab1.Tab = 1
End Sub
Private Sub FrameHeader_Click() Unload Me
End Sub
Private Sub Framemenu_Click() Unload Me
End Sub
'=========== untuk memunculkan modul ========== Private Sub FrameTenses_Click()
Unload Me End Sub
Private Sub FrameConditional_Click() Unload Me
End Sub
Private Sub FrameGerund_Click() Unload Me
End Sub
Private Sub FramePassive_Click() Unload Me
End Sub
Private Sub FrameModul_Click() Unload Me
End Sub
'========= setting waktu ==========
lblJam.Caption = Format(Now, "hh:mm:ss")
lblTanggal.Caption = Format(Date, "dd mmm yyyy") If updateKat = True Then
updateKat = False End If
End Sub
'============= program input data ============== Public Sub InitConnection()
Set koneksi = New ADODB.Connection koneksi.Open "DSN=koneksiBelajar" End Sub
Private Sub tampilData()
Dim lstX As ListItem Dim strSQL As String
Dim intCounter As Integer
strSQL = "select * from tbl_soal"
Set rsBelajar = New ADODB.Recordset
rsBelajar.CursorLocation = adUseClient 'bagian terpenting untuk recordCount
rsBelajar.Open strSQL, koneksi
listSoal.ListItems.Clear
With rsBelajar
If .RecordCount > 0 Then
.MoveFirst intCounter = 1 While Not .EOF
Set lstX = listSoal.ListItems.Add(, , intCounter)
lstX.ListSubItems.Add = Trim(!id_soal) lstX.ListSubItems.Add = Trim(!pertanyaan) lstX.ListSubItems.Add = Trim(!pilihan_a) lstX.ListSubItems.Add = Trim(!pilihan_b) lstX.ListSubItems.Add = Trim(!pilihan_c) lstX.ListSubItems.Add = Trim(!pilihan_d) lstX.ListSubItems.Add = Trim(!jawaban) lstX.ListSubItems.Add =
Trim(!kategori_soal)
.MoveNext Wend
End If End With
End Sub
Private Sub cmdtambah_Click()
If cmdTambah.Caption = "Simpan" Then
' --- untuk menghendel komentar yang kosong
If txtID.text = "" Then
MsgBox "ID Masih Kosong !": Exit Sub ElseIf txtPertanyaan.text = "" Then
MsgBox "Pertanyaan Masih Kosong !": Exit Sub ElseIf txtPilA.text = "" Then
MsgBox "Pilihan A Masih Kosong !": Exit Sub ElseIf txtPilB.text = "" Then
MsgBox "Pilihan B Masih Kosong !": Exit Sub ElseIf txtPilC.text = "" Then
MsgBox "Pilihan C Masih Kosong !": Exit Sub ElseIf txtPilD.text = "" Then
MsgBox "Pilihan D Masih Kosong !": Exit Sub ElseIf txtJwb.text = "" Then
MsgBox "Jawaban Masih Kosong !": Exit Sub ElseIf txtKategori.text = "" Then
MsgBox "Kategori Masih Kosong !": Exit Sub End If
Set rsBelajar = New ADODB.Recordset
rsBelajar.Open "Select * from tbl_soal", koneksi, adOpenKeyset, adLockOptimistic, adCmdText
rsBelajar.AddNew
rsBelajar!id_soal = Trim(txtID.text)
rsBelajar!pertanyaan = txtPertanyaan.text rsBelajar!pilihan_a = txtPilA.text
rsBelajar!pilihan_b = txtPilB.text rsBelajar!pilihan_c = txtPilC.text rsBelajar!pilihan_d = txtPilD.text rsBelajar!jawaban = txtJwb.text
rsBelajar!kategori_soal = txtKategori.text rsBelajar.Update
MsgBox "Data Berhasil disimpan"
tampilData
End If
bersih
txtID.Enabled = True
txtPertanyaan.Enabled = True txtPilA.Enabled = True
txtPilB.Enabled = True txtPilC.Enabled = True txtPilD.Enabled = True txtJwb.Enabled = True
txtKategori.Enabled = True cmdTambah.Caption = "Simpan" txtID.SetFocus
End Sub
Private Sub Form_Load() InitConnection
tampilData
imgtenses.Picture = LoadPicture(App.Path & "\img\tenses.bmp")
imgConditional.Picture = LoadPicture(App.Path & "\img\conditional.bmp")
imgGerund.Picture = LoadPicture(App.Path & "\img\gerund.bmp")
imgPassive.Picture = LoadPicture(App.Path & "\img\passive.bmp")
imgModal.Picture = LoadPicture(App.Path & "\img\modal.bmp")
imgHeader.Picture = LoadPicture(App.Path & "\img\Header.bmp")
imgMenu.Picture = LoadPicture(App.Path & "\img\menunew.bmp")
End Sub
Private Sub listSoal_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim intSelItem As Integer
intSelItem = Item
txtUrutan = intSelItem
txtID =
listSoal.ListItems(intSelItem).ListSubItems(1).text txtIDtemp =
txtPertanyaan =
txtPertanyaan.Enabled = False txtPilA.Enabled = False
End Sub
Private Sub cmdHapus_Click() Dim strDelete As String
tanya = MsgBox("Apakah Anda yakin akan menghapus soal dengan ID : " & txtIDtemp.text & " ?", vbQuestion +
vbYesNo, "Konfirmasi hapus")
If tanya = vbYes Then
strDelete = "Delete from tbl_soal Where id_soal = '" & txtIDtemp.text & "'"
koneksi.Execute strDelete tampilData
bersih
MsgBox "Data Berhasil dihapus! ", vbExclamation, "Alert"
Else
Exit Sub End If
End Sub
Private Sub cmdEdit_Click()
If (cmdEdit.Caption = "Edit") Then
txtID.Enabled = True
txtPertanyaan.Enabled = True txtPilA.Enabled = True
txtPilB.Enabled = True txtPilC.Enabled = True txtPilD.Enabled = True txtJwb.Enabled = True
txtKategori.Enabled = True
txtID.SetFocus
cmdEdit.Caption = "Save" cmdTambah.Enabled = False Else
Dim strUpdate As String
strUpdate = "Update tbl_soal Set id_soal = '" & SQLSafe(txtID) & " '," & _
"pertanyaan = '" & SQLSafe(txtPertanyaan) & "', pilihan_A = '" & SQLSafe(txtPilA) & "'," & _
"pilihan_D = '" & SQLSafe(txtPilD) & "'," & _ "jawaban = '" & SQLSafe(txtJwb) & "'," & _
"kategori_soal = '" & SQLSafe(txtKategori) & "'" & _
" Where id_soal = " & txtIDtemp & ""
MsgBox strUpdate
koneksi.Execute strUpdate tampilData
MsgBox "Data Berhasil diupdate. ", vbExclamation, "Alert"
cmdEdit.Caption = "Edit"
txtID.Enabled = False
txtPertanyaan.Enabled = False txtPilA.Enabled = False
txtPilB.Enabled = False txtPilC.Enabled = False txtPilD.Enabled = False txtJwb.Enabled = False
txtKategori.Enabled = False
cmdTambah.Enabled = True
End If End Sub
'========== untuk Taksbar ============= Private Sub mnKamus_Click()
Formkamus.Show
FormMain_menu.Enabled = False End Sub
Private Sub mnTenses_Click() Formtenses.Show
FormMain_menu.Enabled = False End Sub
Private Sub mnConditional_Click() Formconditional.Show
FormMain_menu.Enabled = False End Sub
Private Sub mnGerund_Click() Formgerund.Show
End Sub
Private Sub mnPassive_Click() Formparticiple.Show
FormMain_menu.Enabled = False End Sub
Private Sub mnModal_Click() Formmodal.Show
FormMain_menu.Enabled = False End Sub
Private Sub mnAbout_Click()
FormMain_menu.Enabled = False formAbout.Show
Lampiran 3
Kode Program Soal Tenses
Public score, benar As Integer Dim text As String
Private Sub InitConnection()
Set koneksi = New ADODB.Connection koneksi.Open "DSN=koneksiBelajar" End Sub
Private Sub tampilData()
Dim lstX As ListItem Dim strSQL As String
Dim intCounter As Integer
'SELECT * FROM `sometable` WHERE 1 ORDER BY RAND() LIMIT 10;
‘=========== untuk menentukan soal yang mau di munculkan ===========================
strSQL = "select * from tbl_soal where kategori_soal = 'tenses' AND 1 ORDER BY RAND() LIMIT 10"
Set rsBelajar = New ADODB.Recordset
rsBelajar.CursorLocation = adUseClient 'bagian terpenting untuk recordCount
rsBelajar.Open strSQL, koneksi
listSoal.ListItems.Clear
With rsBelajar
If .RecordCount > 0 Then
.MoveFirst intCounter = 1 While Not .EOF
Set lstX = listSoal.ListItems.Add(, , intCounter)
lstX.ListSubItems.Add = Trim(!pilihan_b) lstX.ListSubItems.Add = Trim(!pilihan_c) lstX.ListSubItems.Add = Trim(!pilihan_d) lstX.ListSubItems.Add = Trim(!jawaban) lstX.ListSubItems.Add =
Trim(!kategori_soal)
intCounter = intCounter + 1 .MoveNext
Wend End If End With
End Sub
Private Sub cmdReset_Click() tampilData
tampilSoal hapusJawaban End Sub
Private Sub cmdSubmit_Click()
'---- menghandle pilihan di masing-masing soal ---
For i = 0 To 4
If pilA(i).Value = True Then pilihan(i) = "a"
ElseIf pilB(i).Value = True Then pilihan(i) = "b"
ElseIf pilC(i).Value = True Then pilihan(i) = "c"
ElseIf pilD(i).Value = True Then pilihan(i) = "d"
Else
pilihan(i) = " " End If
Next
'---- membandingkan pilihan dengan jawaban yang benar ---
'MsgBox "pilihan : " & pilihan(0) & pilihan(1) & pilihan(2) & pilihan(3)
If pilihan(i) = lblJwb(i).Caption Then 'score = score + 20
benar = benar + 1 End If
Next
MsgBox "Anda menjawab " & benar & " pertanyaan dengan benar...", vbDefaultButton2, result
MsgBox "Score anda adalah : " & (benar * 20), vbInformation, "Score"
'hapusJawaban
End Sub
Private Sub Command1_Click() Formtenses2.Show
Formtenses.Hide End Sub
Private Sub Form_Load() InitConnection
tampilData tampilSoal score = 0 benar = 0
Formtenses2.Show Formtenses2.Hide
' Make the picture box bigger than the form:
Picture1.Move 0, 0, 1.4 * ScaleWidth, 1.1 * ScaleHeight
' Position and size the first TextBox: 'Text1(0).Move 0, 0, Picture1.Width / 2, Picture1.Height / 20
' Place some sample controls in the picture box: Dim i As Integer
'For i = 1 To 1 ' Load Text1(i)
' Text1(i).Visible = True
'Text1(i).Left = i * Picture1.Height / 20 'Text1(i).Top = Text1(i).Left
'Next
'============ setting caption form bergerak ==============
Timer2.Interval = 250
'========================================================
Me.Height = 10
End Sub
Sub tampilSoal()
Dim noSoal As Integer
noSoal = 1
For noSoal = 1 To (listSoal.ListItems.Count - 5)
lblNo(noSoal - 1) = noSoal lblSoal(noSoal - 1) =
listSoal.ListItems(noSoal).ListSubItems(2).text pilA(noSoal - 1).Caption =
listSoal.ListItems(noSoal).ListSubItems(3).text pilB(noSoal - 1).Caption =
listSoal.ListItems(noSoal).ListSubItems(4).text pilC(noSoal - 1).Caption =
listSoal.ListItems(noSoal).ListSubItems(5).text pilD(noSoal - 1).Caption =
listSoal.ListItems(noSoal).ListSubItems(6).text lblJwb(noSoal - 1).Caption =
listSoal.ListItems(noSoal).ListSubItems(7).text 'txtKategori =
listSoal.ListItems(intSelItem).ListSubItems(8).Text
Next End Sub
Sub hapusJawaban()
For i = 0 To 4
pilA(i).Value = False pilB(i).Value = False pilC(i).Value = False pilD(i).Value = False Next
For i = 5 To 9
Formtenses2.pilB(i).Value = False Formtenses2.pilC(i).Value = False Formtenses2.pilD(i).Value = False Next
score = 0 benar = 0
End Sub
Private Sub Form_Resize() ' Position the scroll bars: HScroll1.Left = 0 VScroll1.Top = 0
If Picture1.Width > ScaleWidth Then
HScroll1.Top = ScaleHeight - HScroll1.Height Else
HScroll1.Top = ScaleHeight End If
If Picture1.Height > HScroll1.Top Then
VScroll1.Left = ScaleWidth - VScroll1.Width If Picture1.Width > VScroll1.Left Then
HScroll1.Top = ScaleHeight - HScroll1.Height
End If Else
VScroll1.Left = ScaleWidth End If
HScroll1.Width = ScaleWidth
If HScroll1.Top > 0 Then VScroll1.Height = HScroll1.Top
' Set the scroll bar ranges
HScroll1.Max = Picture1.Width - VScroll1.Left VScroll1.Max = Picture1.Height - HScroll1.Top HScroll1.SmallChange = Abs(HScroll1.Max \ 16) + 1
HScroll1.LargeChange = Abs(HScroll1.Max \ 4) + 1 VScroll1.SmallChange = Abs(VScroll1.Max \ 16) + 1
VScroll1.LargeChange = Abs(VScroll1.Max \ 4) + 1 HScroll1.ZOrder 0
VScroll1.ZOrder 0 End Sub
Private Sub VScroll1_Change() Picture1.Top = -VScroll1.Value End Sub
Private Sub Form_Unload(Cancel As Integer)
FormMain_menu.Enabled = True updateKat = True
Do
Me.Left = Me.Left + 500 Me.Move Me.Left, Me.Top DoEvents
Loop Until Me.Left > Screen.Width
End Sub
Private Sub Timer1_Timer()
Me.Height = Me.Height + 100 tengah
If Me.Height >= 9360 Then Timer1.Enabled = False tengah
End If End Sub
Public Sub tengah()
Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub
Private Sub Timer2_Timer() a = Left(text, 1)
b = Len(text)
c = Right(text, b - 1) text = c + a
Lampiran 4
Kode Program Menu Kamus
'Input kata
Public Sub InitConnection()
Set koneksi = New ADODB.Connection koneksi.Open "DSN=koneksiBelajar" End Sub
Private Sub cmdDetail_Click()
If txtIndeksCross.text = "" Then cmdDetail.Enabled = False End If
cmdDetail.Enabled = False
End Sub
Private Sub cmdExit_Click() Unload Me
End Sub
Private Sub FrameHeader_Click() Unload Me
End Sub
Private Sub Framemenu_Click() Unload Me
End Sub
Private Sub listKamus_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim intSelItem As Integer
intSelItem = Item
txtUrutan = intSelItem
txtID =
txtIDtemp = txtIndonesia.Enabled = False
rsBelajar.CursorLocation = adUseClient 'bagian terpenting untuk recordCount
rsBelajar.Open strSQL, koneksi
.MoveNext Wend
End If End With
End Sub
Private Sub cmdtambah_Click()
If cmdTambah.Caption = "Simpan" Then
' --- untuk menghendel komentar yang kosong
If txtID.text = "" Then
MsgBox "ID Masih Kosong !": Exit Sub ElseIf txtInggris.text = "" Then
MsgBox "kata Masih Kosong !": Exit Sub ElseIf txtIndonesia.text = "" Then
MsgBox "Kata Masih Kosong !": Exit Sub End If
Set rsBelajar = New ADODB.Recordset
rsBelajar.Open "Select * from tbl_kamus", koneksi, adOpenKeyset, adLockOptimistic, adCmdText
rsBelajar.AddNew
rsBelajar!id_kata = Trim(txtID.text) rsBelajar!kata_asing = txtInggris.text
rsBelajar!kata_indonesia = txtIndonesia.text rsBelajar.Update
MsgBox "Data Berhasil disimpan"
cmdTambah.Caption = "Tambah" bersih
tampilData
End If
bersih
txtID.Enabled = True
txtInggris.Enabled = True txtIndonesia.Enabled = True cmdTambah.Caption = "Simpan" txtID.SetFocus
End Sub
tampilData tampilData1
PopData (strTextSearch)
imgMenu.Picture = LoadPicture(App.Path & "\img\warna kamus1.bmp")
imgHeader.Picture = LoadPicture(App.Path & "\img\kamus.bmp")
imgwarna.Picture = LoadPicture(App.Path & "\img\warna1.bmp")
End Sub
Sub bersih()
txtID.text = ""
txtInggris.text = "" txtIndonesia.text = ""
txtID.Enabled = False
txtInggris.Enabled = False txtIndonesia.Enabled = False
End Sub
Private Sub cmdHapus_Click() Dim strDelete As String
tanya = MsgBox("Apakah Anda yakin akan menghapus soal dengan ID : " & txtIDtemp.text & " ?", vbQuestion +
vbYesNo, "Konfirmasi hapus")
If tanya = vbYes Then
strDelete = "Delete from tbl_kamus Where id_kata = '" & txtIDtemp.text & "'"
koneksi.Execute strDelete tampilData
bersih
MsgBox "Data Berhasil dihapus! ", vbExclamation, "Alert"
Else
Exit Sub End If
End Sub
Private Sub cmdEdit_Click()
If (cmdEdit.Caption = "Edit") Then
txtInggris.Enabled = True '" & SQLSafe(txtID) & "', " & _
"kata_asing = '" & SQLSafe(txtInggris) & "', " & SQLSafe(txtID) & " '," & _
Private Sub Timer1_Timer()
'========= setting waktu ==========
lblJam.Caption = Format(Now, "hh:mm:ss")
lblTanggal.Caption = Format(Date, "dd mmm yyyy") If updateKat = True Then
updateKat = False End If
End Sub
Private Sub cmdTranslete_Click()
'========= tranlete indonesia - inggris ========== If txtIn.text = "" Then
MsgBox "Kata Belum dimasukkan .... !", vbCritical, "Info"
txtIn.SetFocus Else
SqlCari = ""
SqlCari = "Select kata_indonesia from tbl_kamus" _
& " WHERE kata_asing LIKE '" _ & txtIn.text & "'"
Set rsBelajar = New ADODB.Recordset
rsBelajar.Open SqlCari, koneksi, adOpenKeyset, adLockOptimistic, adCmdText
If rsBelajar.EOF And rsBelajar.BOF Then MsgBox "Kata yang anda cari tidak ada. ", vbCritical, "Info"
Exit Sub Else
txtOut.text = rsBelajar!kata_indonesia End If
End If End Sub
'========== tombol hapus pada tranlete ========== Private Sub TbHapus_Click()
txtIn.text = "" txtOut.text = "" txtIn.SetFocus End Sub
'========== tombol hapus pada tranlete ========== Private Sub TbHapus1_Click()
txtIn1.text = "" txtOut1.text = "" txtIn1.SetFocus End Sub
'========= untuk kembali ke home ============ Private Sub cmdHome_Click()
End Sub
Private Sub cmdKamus_Click() SSTab1.Tab = 1
End Sub
Private Sub cmdInput_Click() SSTab1.Tab = 2
End Sub
Private Sub Form_Unload(Cancel As Integer)
FormMain_menu.Enabled = True updateKat = True
Do
Me.Left = Me.Left + 500 Me.Move Me.Left, Me.Top DoEvents
Loop Until Me.Left > Screen.Width
End Sub
'========= menampilkan kata di list view ======
Private Sub lstView_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim intSelItem As Integer
intSelItem = Item
txtUrutan = intSelItem
txtID =
ListKamus.ListItems(intSelItem).ListSubItems(1).text txtIDtemp =
ListKamus.ListItems(intSelItem).ListSubItems(1).text txtInggris =
ListKamus.ListItems(intSelItem).ListSubItems(2).text txtIndonesia =
ListKamus.ListItems(intSelItem).ListSubItems(3).text
'cmdAdd.Enabled = True 'cmdEdit.Enabled = True 'cmdDelete.Enabled = True
txtID.Enabled = False
txtIndonesia.Enabled = False
rsBelajar.CursorLocation = adUseClient 'bagian terpenting untuk recordCount
rsBelajar.Open strSQL, koneksi
lstView.ListItems.Clear
Private Sub PopData(strTextSearch As String)
Dim lstX As ListItem Dim strSQL As String
'Dim rsBelajar As ADODB.Recordset
If strTextSearch = "" Then order by kata_asing asc"
rsBelajar.CursorLocation = adUseClient 'bagian terpenting untuk recordCount
Private Sub txtSearch_Change()
PopData (txtSearch.text) End Sub
Private Sub cmdDelete_Click() txtSearch.text = ""
Lampiran 5
Kode Program About Me
Dim text As String
Private Sub cmdExit_Click() Unload Me
End Sub
Private Sub Form_Load()
imgAbout.Picture = LoadPicture(App.Path & "\img\about1.bmp")
End Sub
Private Sub FrameAbout_Click() Unload Me
End Sub
Private Sub Timer1_Timer() Me.Width = Me.Width + 100 tengah
If Me.Width >= 5370 Then Timer1.Enabled = False tengah
End If End Sub
Private Sub Timer2_Timer() a = Left(text, 1)
b = Len(text)
c = Right(text, b - 1) text = c + a
formAbout.Caption = text End Sub
Public Sub tengah()
Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub
Private Sub Form_Unload(Cancel As Integer)
updateKat = True
Do
Me.Left = Me.Left + 500 Me.Move Me.Left, Me.Top DoEvents
Loop Until Me.Left > Screen.Width