DAFTAR PUSTAKA Anis Cherid. 2012. Membangun Aplikasi Pembelajaran Dengan Cepat. Diambil pada tanggal 25 Maret 2012 dari https://docs.google.com/ open?id=0BxMDhpD8QK8Oc2tmU05XOEhTVFdxRmE0WUVXaXVzdw Anis Cherid, Devi Fitrianah, Raka Yusuf. 2010. Laporan Penelitian Rancang Bangun Prototipe Aplikasi Pembelajaran Penyusunan Kalimat Bahasa Inggris. Laporan Penelitian Internal Universitas Mercubuana, tidak dipublikasikan. Azar, Betty Schrampfer. 1992. Fundamental of English Grammar. New Jersey: PrenticeHall, Inc. Azar, Betty Schramper. 2010. Understanding And Using English Grammar. New Jersey : Prentice-Hall, Inc. Azar, Betty Schrampfer. 1998. Understanding And Using English Grammar. New Jersey: Prentice- Hall, Inc Lou, Robby. 2005. English Grammar and How to Use. Sommerville, Ian. 2001. Software Engineering (Rekayasa Perangkat Lunak). Penerbit Erlangga. Roger S. Pressman, PhD.2005. Rekayasa Perangkat Lunak. Penerbit Andi Publisher. HM. Jogiyanto.1992. Analisis Desain. Andi. Jogjakarta.
http://digilib.mercubuana.ac.id/
LAMPIRAN
http://digilib.mercubuana.ac.id/
LISTING PROGRAM 1. Menu Utama Private Sub Label1_Click() frmSoal2.problemType = 1 frmSoal2.Show Me.Hide End Sub Private Sub Label2_Click() frmSoal1.problemType = 2 frmSoal1.Show Me.Hide End Sub 2. Menghasikan soal dari Excel dan Antar Muka Private Sub GenerateProblem(typeOfProblem As Integer) Dim row, column, blank, txtBoxNo, boxtop, boxleft As Integer For txtBoxNo = 1 To txtProblem.UBound Unload txtProblem(txtBoxNo) Unload txtAnswer(txtBoxNo) Next Randomize ex.ActiveSheet.Cells(18, 1).Value = Int(Rnd() * 39) + 1 row = 5
L-1 http://digilib.mercubuana.ac.id/
L-2
column = 1 blank = 0 txtBoxNo = 1 boxtop = 0 Do While blank < 2 If ex.ActiveSheet.Cells(row, column).Value <> "" Then blank = 0 Else blank = blank + 1 End If ReDim Preserve word1(txtBoxNo) ReDim Preserve word2(txtBoxNo) If typeOfProblem = 1 Then word1(txtBoxNo) = ex.ActiveSheet.Cells(row, column).Value word2(txtBoxNo) = ex.ActiveSheet.Cells(row + 5, column).Value ElseIf typeOfProblem = 2 Then word2(txtBoxNo) = ex.ActiveSheet.Cells(row, column).Value word1(txtBoxNo) = ex.ActiveSheet.Cells(row + 5, column).Value End If 'word1() untuk menyimpan soal 'word2() untuk menyimpan jawaban column = column + 1 If column > 5 Then column = 1 row = row + 1
http://digilib.mercubuana.ac.id/
L-3
If row > 7 Then blank = 2 End If End If txtBoxNo = txtBoxNo + 1 Loop boxleft = txtProblem(0).Left + txtProblem(0).Width + 10 txtAnswer(0).Left = txtProblem(0).Left txtAnswer(0).Height = txtProblem(0).Height txtAnswer(0).Width = txtProblem(0).Width txtAnswer(0).Top = txtProblem(0).Top + txtAnswer(0).Height + 100 For txtBoxNo = 1 To UBound(word1) - 1 + 1 * (row <= 7) Load txtProblem(txtBoxNo) 'txtProblem(txtBoxNo).top = txtProblem(txtBoxNo).top + boxtop * _ (txtProblem(0).Height + txtAnswer(0).Height + _ 500) 'txtProblem(txtBoxNo).Left = boxleft txtProblem(txtBoxNo).Text = word1(txtBoxNo) txtProblem(txtBoxNo).TabIndex = UBound(word1) + txtBoxNo txtProblem(txtBoxNo).Visible = True Load txtAnswer(txtBoxNo) 'txtAnswer(txtBoxNo).top = txtAnswer(txtBoxNo).top + boxtop * _ (txtProblem(0).Height + txtAnswer(0).Height + _ 500) 'txtAnswer(txtBoxNo).Left = boxleft txtAnswer(txtBoxNo).Text = "" txtAnswer(txtBoxNo).TabIndex = txtBoxNo
http://digilib.mercubuana.ac.id/
L-4
txtAnswer(txtBoxNo).Visible = True If Len(word1(txtBoxNo)) > Len(word2(txtBoxNo)) Then txtProblem(txtBoxNo).Width = txtProblem(0).Width _ * Len(word1(txtBoxNo)) txtAnswer(txtBoxNo).Width = txtProblem(0).Width _ * Len(word1(txtBoxNo)) Else txtProblem(txtBoxNo).Width = txtProblem(0).Width _ * Len(word2(txtBoxNo)) txtAnswer(txtBoxNo).Width = txtProblem(0).Width _ * Len(word2(txtBoxNo)) End If If boxleft + txtProblem(txtBoxNo).Width > _ Me.Width - 1000 Then boxtop = boxtop + 1 boxleft = txtProblem(0).Left + txtProblem(0).Width + 10 End If txtProblem(txtBoxNo).Top = txtProblem(txtBoxNo).Top + boxtop *_ (txtProblem(0).Height + txtAnswer(0).Height + _ 500) txtProblem(txtBoxNo).Left = boxleft txtAnswer(txtBoxNo).Top = txtAnswer(txtBoxNo).Top + boxtop * _ (txtProblem(0).Height + txtAnswer(0).Height + _ 500) txtAnswer(txtBoxNo).Left = boxleft boxleft = txtProblem(txtBoxNo).Left + _
http://digilib.mercubuana.ac.id/
L-5
txtProblem(txtBoxNo).Width + 10 Next txtAnswer(1).SetFocus End Sub 3. Validate Answer (Memeriksa Jawaban) Private Sub txtAnswer_Validate(Index As Integer, Cancel As Boolean) Static numberOfTry As Integer If Trim(UCase(txtAnswer(Index).Text)) <> Trim(UCase(word2(Index))) Then numberOfTry = numberOfTry + 1 If numberOfTry = 3 Then numberOfTry = 0 txtAnswer(Index).Text = word2(Index) txtAnswer(Index).ForeColor = RGB(255, 0, 0) If txtAnswer(Index).Text = "" Then txtAnswer(Index).BackColor = RGB(255, 200, 200) End If MsgBox "Incorrect answer." & vbCrLf & _ "The right answer is " & _ Chr(34) & UCase(word2(Index)) & Chr(34) & "." Cancel = True ElseIf numberOfTry = 1 Then MsgBox "Incorrect answer. " & vbCrLf & "Please, try again." Cancel = True
http://digilib.mercubuana.ac.id/
L-6
ElseIf numberOfTry = 2 Then MsgBox "Incorrect answer." & vbCrLf & _ "Click the OK button to show the lesson." displayLesson (Index) Cancel = True End If Else numberOfTry = 0 If Index = txtAnswer.UBound Then btnNext.Enabled = True End If End If End Sub
4. Menampilkan Lesson Private Sub displayLesson(indexNo As Integer) On Error Resume Next Load frmLesson On Error GoTo 0 If word2(indexNo) = "a" And Trim(txtAnswer(indexNo)) = "" Then frmLesson.startslide = 2 frmLesson.endslide = 3 ElseIf word2(indexNo) = "an" And Trim(txtAnswer(indexNo)) = "" Then frmLesson.startslide = 2
http://digilib.mercubuana.ac.id/
L-7
frmLesson.endslide = 3 ElseIf word2(indexNo) = "" And _ (LCase(Trim(txtAnswer(indexNo))) = "a" Or _ LCase(Trim(txtAnswer(indexNo))) = "an") _ Then frmLesson.startslide = 4 frmLesson.endslide = 10 ElseIf word2(indexNo) = "an" And _ LCase(Trim(txtAnswer(indexNo))) = "a" Then frmLesson.startslide = 12 frmLesson.endslide = 14 ElseIf word2(indexNo) = "a" And _ LCase(Trim(txtAnswer(indexNo))) = "an" Then frmLesson.startslide = 15 frmLesson.endslide = 17 ElseIf LCase(Trim(word2(indexNo))) = "am" And _ (LCase(Trim(txtAnswer(indexNo))) = "is" Or _ LCase(Trim(txtAnswer(indexNo))) = "are") Then frmLesson.startslide = 20 frmLesson.endslide = 21 ElseIf LCase(Trim(word2(indexNo))) = "are" And _ (LCase(Trim(txtAnswer(indexNo))) = "is" Or _ LCase(Trim(txtAnswer(indexNo))) = "am") Then frmLesson.startslide = 22 frmLesson.endslide = 25 ElseIf LCase(Trim(word2(indexNo))) = "is" And _ (LCase(Trim(txtAnswer(indexNo))) = "are" Or _ LCase(Trim(txtAnswer(indexNo))) = "am") Then
http://digilib.mercubuana.ac.id/
L-8
frmLesson.startslide = 26 frmLesson.endslide = 27 ElseIf Right(word2(indexNo), 1) <> "s" And _ Right(LCase(Trim(txtAnswer(indexNo))), 1) = "s" Then frmLesson.startslide = 28 frmLesson.endslide = 34 ElseIf Right(word2(indexNo), 1) = "s" And _ Right(LCase(Trim(txtAnswer(indexNo))), 1) <> "s" Then frmLesson.startslide = 35 frmLesson.endslide = 37 Else frmLesson.startslide = 1 frmLesson.endslide = 1 End If frmLesson.ActivateLesson frmLesson.Show vbModal, Me End Sub
http://digilib.mercubuana.ac.id/