Membuat Soal Quiz “Isian” dengan VBA for PPT

coverDIKLAT

Salah satu materi yang kami berikan dalam diklat “Pemanfaatan Teknologi Informasi dalam Pembelajaran bagi Guru SMP, SMA dan SMK”  Dinas Pendidikan dan Olahraga Kabupaten Karanganyar yang di selenggarakan di Hotel Pondok Sari Tawangmangu yang terbagi menjadi 4 angkatan, dengan jadwal sebagai berikut : Angkatan 1 – tanggal 3 sd 5 November 2014, Angkatan 2 – tanggal 10 sd 12 November 2014, Angkatan 3 – tanggal 17 sd 19 November 2014, dan Angkatan 4 – tanggal 19 sd 21 November 2014 – adalah pemrograman VBA untuk memmbuat powerpoint lebih Interaktif, berikut ini adalah contoh penggunaan VBA untuk membuat soal quiz isian.

Tutorial 1 :

gbr1

script VBA Tutorial 1 :
Public Sub tombolClear()
ActivePresentation.Slides(2).Shapes(“cek”).TextFrame.TextRange.Text = “”
Slide2.TextBox1.Text = “”
End Sub

Public Sub tombolPeriksa()

If Slide2.TextBox1.Text = “Tokyo” Then
ActivePresentation.Slides(2).Shapes(“cek”).TextFrame.TextRange.Text = “BENAR”
Else
ActivePresentation.Slides(2).Shapes(“cek”).TextFrame.TextRange.Text = “SALAH”
End If

End Sub

Tutorial 2 :

gbr2script VBA Tutorial 2 :
Public Sub tombolClear2()
ActivePresentation.Slides(3).Shapes(“cek1”).TextFrame.TextRange.Text = “”
ActivePresentation.Slides(3).Shapes(“cek2”).TextFrame.TextRange.Text = “”
ActivePresentation.Slides(3).Shapes(“cek3”).TextFrame.TextRange.Text = “”
ActivePresentation.Slides(3).Shapes(“cek4”).TextFrame.TextRange.Text = “”
ActivePresentation.Slides(3).Shapes(“cek5”).TextFrame.TextRange.Text = “”
Slide3.TextBox1.Text = “”
Slide3.TextBox2.Text = “”
Slide3.TextBox3.Text = “”
Slide3.TextBox4.Text = “”
Slide3.TextBox5.Text = “”
End Sub

Public Sub tombolPeriksa2()
‘periksa soal no 1
If Slide3.TextBox1.Text = “Tokyo” Then
ActivePresentation.Slides(3).Shapes(“cek1”).TextFrame.TextRange.Text = “BENAR”
Else
ActivePresentation.Slides(3).Shapes(“cek1”).TextFrame.TextRange.Text = “SALAH”
End If
‘periksa soal no 2
If Slide3.TextBox2.Text = “Teheran” Then
ActivePresentation.Slides(3).Shapes(“cek2”).TextFrame.TextRange.Text = “BENAR”
Else
ActivePresentation.Slides(3).Shapes(“cek2”).TextFrame.TextRange.Text = “SALAH”
End If
‘periksa soal no 3
If Slide3.TextBox3.Text = “Moskow” Then
ActivePresentation.Slides(3).Shapes(“cek3”).TextFrame.TextRange.Text = “BENAR”
Else
ActivePresentation.Slides(3).Shapes(“cek3”).TextFrame.TextRange.Text = “SALAH”
End If
‘periksa soal no 4
If Slide3.TextBox4.Text = “London” Then
ActivePresentation.Slides(3).Shapes(“cek4”).TextFrame.TextRange.Text = “BENAR”
Else
ActivePresentation.Slides(3).Shapes(“cek4”).TextFrame.TextRange.Text = “SALAH”
End If
‘periksa soal no 5
If Slide3.TextBox5.Text = “Paris” Then
ActivePresentation.Slides(3).Shapes(“cek5”).TextFrame.TextRange.Text = “BENAR”
Else
ActivePresentation.Slides(3).Shapes(“cek5”).TextFrame.TextRange.Text = “SALAH”
End If
End Sub

Tutorial 3 :

gbr3Script VBA Tutorial 3 :

Public cekJawab As Variant
Public isiJawab As Variant
Public kunciJawab As Variant

Public Sub deklarasiArray()
cekJawab = Array(“cek1”, “cek2”, “cek3”, “cek4”, “cek5”)
isiJawab = Array(Slide4.TextBox1, Slide4.TextBox2, Slide4.TextBox3, _
Slide4.TextBox4, Slide4.TextBox5)
kunciJawab = Array(“Tokyo”, “Teheran”, “Moskow”, “London”, “Paris”)
End Sub

Public Sub tombolClear3()
Call deklarasiArray
For i = 0 To 4
ActivePresentation.Slides(4).Shapes(cekJawab(i)).TextFrame.TextRange.Text = “”
isiJawab(i).Text = “”
Next
End Sub

Public Sub tombolPeriksa3()
Call deklarasiArray
For i = 0 To 4
If isiJawab(i).Text = kunciJawab(i) Then
ActivePresentation.Slides(4).Shapes(cekJawab(i)).TextFrame.TextRange.Text = “BENAR”
Else
ActivePresentation.Slides(4).Shapes(cekJawab(i)).TextFrame.TextRange.Text = “SALAH”
End If
Next
End Sub

Tutorial 4 :

gbr4

Script VBA Tutorial 4 :

Public cekJawab As Variant
Public isiJawab As Variant
Public kunciJawab As Variant

Public Sub deklarasiArray()
cekJawab = Array(“benar1”, “salah1”, “benar2”, “salah2”, “benar3”, “salah3”, _
“benar4”, “salah4”, “benar5”, “salah5”)
isiJawab = Array(Slide5.TextBox1, Slide5.TextBox2, Slide5.TextBox3, _
Slide5.TextBox4, Slide5.TextBox5)
kunciJawab = Array(“Tokyo”, “Teheran”, “Moskow”, “London”, “Paris”)
End Sub

Public Sub tombolClear4()
Call deklarasiArray
For i = 0 To 4
ActivePresentation.Slides(5).Shapes(cekJawab(2 * i)).Visible = msoFalse
ActivePresentation.Slides(5).Shapes(cekJawab(2 * i + 1)).Visible = msoFalse
isiJawab(i).Text = “”
Next
End Sub

Public Sub tombolPeriksa4()
Call deklarasiArray
For i = 0 To 4
If isiJawab(i).Text = kunciJawab(i) Then
ActivePresentation.Slides(5).Shapes(cekJawab(2 * i)).Visible = msoTrue
ActivePresentation.Slides(5).Shapes(cekJawab(2 * i + 1)).Visible = msoFalse
Else
ActivePresentation.Slides(5).Shapes(cekJawab(2 * i)).Visible = msoFalse
ActivePresentation.Slides(5).Shapes(cekJawab(2 * i + 1)).Visible = msoTrue
End If
Next
End Sub

Tutorial 5 :

gbr5

Script VBA Tutorial 5 :

Public cekJawab As Variant
Public isiJawab As Variant
Public kunciJawab As Variant
Public nilai As Variant
Public nilaiTotal As Integer

Public Sub deklarasiArray()
cekJawab = Array(“benar1”, “salah1”, “benar2”, “salah2”, “benar3”, “salah3”, _
“benar4”, “salah4”, “benar5”, “salah5”)
isiJawab = Array(Slide6.TextBox1, Slide6.TextBox2, Slide6.TextBox3, _
Slide6.TextBox4, Slide6.TextBox5)
kunciJawab = Array(“Tokyo”, “Teheran”, “Moskow”, “London”, “Paris”)
nilai = Array(“0”, “0”, “0”, “0”, “0”)
End Sub

Public Sub tombolClear5()
Call deklarasiArray
For i = 0 To 4
ActivePresentation.Slides(6).Shapes(cekJawab(2 * i)).Visible = msoFalse
ActivePresentation.Slides(6).Shapes(cekJawab(2 * i + 1)).Visible = msoFalse
ActivePresentation.Slides(6).Shapes(“nilaiAnda”).TextFrame.TextRange.Text = “0”
isiJawab(i).Text = “”
Next
End Sub

Public Sub tombolPeriksa5()
Call deklarasiArray
nilaiTotal = 0
For i = 0 To 4
If isiJawab(i).Text = kunciJawab(i) Then
ActivePresentation.Slides(6).Shapes(cekJawab(2 * i)).Visible = msoTrue
ActivePresentation.Slides(6).Shapes(cekJawab(2 * i + 1)).Visible = msoFalse
nilai(i) = 20
Else
ActivePresentation.Slides(6).Shapes(cekJawab(2 * i)).Visible = msoFalse
ActivePresentation.Slides(6).Shapes(cekJawab(2 * i + 1)).Visible = msoTrue
nilai(i) = 0
End If
nilaiTotal = nilaiTotal + nilai(i)
Next
ActivePresentation.Slides(6).Shapes(“nilaiAnda”).TextFrame.TextRange.Text = nilaiTotal
End Sub

Link Download : https://drive.google.com/file/d/0B_eVGY1-CRo3b1ZjQTRiREpVMTA/view?usp=sharing

 

 

Membuat Visualisasi Perkalian 20 x 20 dengan PPT VBA

perkalianVisual

Script VBA :

Private Sub ScrollBar1_Change()

For i = 1 To 20
For j = 1 To 20
If Val(ScrollBar1) > i – 1 And Val(ScrollBar2) > j – 1 Then
ActivePresentation.Slides(2).Shapes(20 * (i – 1) + j).Visible = msoTrue
Else
ActivePresentation.Slides(2).Shapes(20 * (i – 1) + j).Visible = msoFalse
End If
Next
Next

ActivePresentation.Slides(2).Shapes(“bilangan 1”).TextFrame.TextRange.Text = Val(ScrollBar1)
ActivePresentation.Slides(2).Shapes(“bilangan 2”).TextFrame.TextRange.Text = Val(ScrollBar2)
ActivePresentation.Slides(2).Shapes(“hasil”).TextFrame.TextRange.Text = Val(ScrollBar1) * Val(ScrollBar2)

End Sub

Private Sub ScrollBar2_Change()
ScrollBar1_Change
End Sub

 

download file : Visualisasi Perkalian 20 x 20 pptm

Animasi Interaktif Powerpoint VBA : Perkalian Sebagai Penjumlahan Berulang

Pada artikel ini akan dijelaskan bagaimana membuat animasi interaktif “perkalian sebagai penjumlahan berulang”

gbr_JmlhBerulang

Susun obyek-obyek seperti pada gambar di atas : 2 buah scrollbar dan 27 buah textbox – beri nama sesuai dengan yang tertera pada selection pane. (lihat pada file contoh)

Pada module ketikkan script berikut :

Option Base 1
Public kelipatan As Variant
Public tambah As Variant

Sub perkalian()
Set SLD = ActivePresentation.Slides(2)
kelipatan = Array(SLD.Shapes(“bilangan 2_1”), SLD.Shapes(“bilangan 2_2”), SLD.Shapes(“bilangan 2_3”), SLD.Shapes(“bilangan 2_4”), SLD.Shapes(“bilangan 2_5”),  SLD.Shapes(“bilangan 2_6”), SLD.Shapes(“bilangan 2_7”), SLD.Shapes(“bilangan 2_8”), SLD.Shapes(“bilangan 2_9”), SLD.Shapes(“bilangan 2_10”))

tambah = Array(SLD.Shapes(“simb_tambah 1”), SLD.Shapes(“simb_tambah 2”), SLD.Shapes(“simb_tambah 3”), SLD.Shapes(“simb_tambah 4”), SLD.Shapes(“simb_tambah 5”),  SLD.Shapes(“simb_tambah 6”), SLD.Shapes(“simb_tambah 7”), SLD.Shapes(“simb_tambah 8”), SLD.Shapes(“simb_tambah 9”))
End Sub

Klik kanan salah satu ScrollBar kemudian pilih View Code dan ketikkan script berikut :
Private Sub ScrollBar1_Change()
perkalian
ActivePresentation.Slides(2).Shapes(“bilangan 1”).TextFrame.TextRange.Text = Val(ScrollBar1)
ActivePresentation.Slides(2).Shapes(“bilangan 2”).TextFrame.TextRange.Text = Val(ScrollBar2)
ActivePresentation.Slides(2).Shapes(“hasil”).TextFrame.TextRange.Text = Val(ScrollBar1) * Val(ScrollBar2)
For i = 1 To 19
ActivePresentation.Slides(2).Shapes(4 + i).Visible = msoFalse
Next
For i = 1 To Val(ScrollBar1)
kelipatan(i).Visible = msoTrue
kelipatan(i).TextFrame.TextRange.Text = Val(ScrollBar2)
Next
For i = 1 To Val(ScrollBar1) – 1
tambah(i).Visible = msoTrue
Next
End Sub
Private Sub ScrollBar2_Change()
ScrollBar1_Change
End Sub

download : file perkalian sebagai penjumlahan berulang

Powerpoint Interaktif : Latihan Soal Persiapan Ujian Nasional Matematika 2015 – SMP

coverLatUN2015Tidak terasa tahun ajaran baru 2014/2015 akan dimulai. Tahun ini kelas 9 SMP merupakan angkatan terakhir yang menggunakan kurikulum KTSP 2006.  Untuk persiapan ujian nasional matematika SMP tahun 2014/2015,  saya telah membuat powerpoint interaktif yang berisi latihan soal dan solusinya. Mudah-mudahan file-file powerpoint ini mampu membantu siswa untuk belajar mandiri di rumah.

Tampilan Soal
gbrsoalTampilan lembar evaluasi, solusi hanya dapat dilihat hanya jika user menjawab benar

gbrevaluasiDownlaod file :

SKL 1 : Himpunan, Bilangan Bulat dan Pecahan

SKL 2 : Skala dan Perbandingan, Bentuk Akar dan  Aritmetika Sosial

SKL 3 :  Barisan – Deret dan Operasi Aljabar

SKL 4 : Persamaan dan Pertidaksamaan Linear

SKL 5 : Fungsi, Sudut & Garis Sejajar, Persegi Panjang & Lingkaran

SKL 6 : Bangun datar & Kesebangunan

SKL 7 : Bangun ruang, Statistika dan Peluang

 

 

Powerpoint Interaktif (dengan VBA) : Penjumlahan Dua Bilangan Pecahan

RBAK_powerfulPPTPada artikel ini saya masih menggunakan script LCM dari http://www.devx.com/vb2themax/Tip/19015 untuk membuat powerpoint interaktif penjumlahan dua bilangan pecahan

gbr_jumlahpecahanBerikut ini tambahan script VBA yang saya berikan untuk mengontrol obyek-obyek pada slide
Private Sub ScrollBar1_Change()
Slide2.ScrollBar1.Max = Val(ScrollBar2)
Slide2.ScrollBar3.Max = Val(ScrollBar4)
Set SLD2 = ActivePresentation.Slides(2)
SLD2.Shapes(“pembilang 1”).TextFrame.TextRange.Text = Val(ScrollBar1)
SLD2.Shapes(“penyebut 1”).TextFrame.TextRange.Text = Val(ScrollBar2)
SLD2.Shapes(“pembilang 2”).TextFrame.TextRange.Text = Val(ScrollBar3)
SLD2.Shapes(“penyebut 2”).TextFrame.TextRange.Text = Val(ScrollBar4)
SLD2.Shapes(“pembilang 3”).TextFrame.TextRange.Text = Val(ScrollBar1)
SLD2.Shapes(“pembilang 4”).TextFrame.TextRange.Text = Val(ScrollBar3)
SLD2.Shapes(“penyebut 3”).TextFrame.TextRange.Text = LCM(Val(ScrollBar2), Val(ScrollBar4))
SLD2.Shapes(“pengali 1”).TextFrame.TextRange.Text = LCM(Val(ScrollBar2), Val(ScrollBar4)) / Val(ScrollBar2)
SLD2.Shapes(“pengali 2”).TextFrame.TextRange.Text = LCM(Val(ScrollBar2), Val(ScrollBar4)) / Val(ScrollBar4)
SLD2.Shapes(“penyebut 4”).TextFrame.TextRange.Text = LCM(Val(ScrollBar2), Val(ScrollBar4))
SLD2.Shapes(“pembilang 5”).TextFrame.TextRange.Text = (LCM(Val(ScrollBar2), Val(ScrollBar4)) / Val(ScrollBar2)) * Val(ScrollBar1) + (LCM(Val(ScrollBar2), Val(ScrollBar4)) / Val(ScrollBar4)) * Val(ScrollBar3)
End Sub

Private Sub ScrollBar2_Change()
ScrollBar1_Change
End Sub
Private Sub ScrollBar3_Change()
ScrollBar1_Change
End Sub
Private Sub ScrollBar4_Change()
ScrollBar1_Change
End Sub

download : file powerpoint Interaktif