Setelah pelajaran ini kamu bisa menelusuri makro yang menggabungkan variabel, Do While, dan Select Case untuk menghitung komisi, serta memprediksi akibat perubahan data dan kode.
±17 menit
4 latihan
Diperiksa 28 Okt 2026
Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya
Materi
CV Cahaya Abadi di Yogyakarta menghitung komisi sales dengan makro. Lembar aktifnya berisi nama di kolom A, wilayah di kolom B, dan omzet bulan ini di kolom C; komisi ditulis makro ke kolom D yang masih kosong. Baris 1 berisi judul kolom. Persen komisi di bawah adalah aturan contoh perusahaan ini.
Baris
Nama (A)
Wilayah (B)
Omzet (C)
2
Dimas
Sleman
120000000
3
Laras
Bantul
50000000
4
Yogi
Kulon Progo
49500000
5
Putri
Gunungkidul
75000000
6
Bayu
Kota
30000000
7
(kosong)
Option Explicit
Sub HitungKomisi()
Dim r As Long
Dim omzet As Double
Dim persen As Double
Dim jumlahNol As Long
r = 2
Do While Cells(r, 1).Value <> ""
omzet = Cells(r, 3).Value
Select Case omzet
Case Is >= 100000000
persen = 0.04
Case Is >= 50000000
persen = 0.025
Case Else
persen = 0
jumlahNol = jumlahNol + 1
End Select
Cells(r, 4).Value = omzet * persen
r = r + 1
Loop
Range("F1").Value = "Tanpa komisi: " & jumlahNol
End Sub
Telusuri makro ini dengan tabel kecil di kertas: satu baris per putaran, berisi r, omzet, Case yang dijalankan, persen, isi kolom D, dan jumlahNol. Perhatikan bahwa jumlahNol tidak pernah diberi nilai awal secara tertulis; ia bertipe Long sehingga mulai dari 0. Perhatikan juga syarat Do While: perulangan berhenti di baris pertama yang kolom A-nya kosong, bukan di baris terakhir yang berisi data.
Latihan
0/4 lulus
Misi akhir modul: luluskan minimal 4 dari 4 tugas. Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.
Latihan 1 dari 4
Berapa nilai D3 (Laras, omzet 50.000.000) setelah HitungKomisi berjalan?
Option Explicit
Sub HitungKomisi()
Dim r As Long
Dim omzet As Double
Dim persen As Double
Dim jumlahNol As Long
r = 2
Do While Cells(r, 1).Value <> ""
omzet = Cells(r, 3).Value
Select Case omzet
Case Is >= 100000000
persen = 0.04
Case Is >= 50000000
persen = 0.025
Case Else
persen = 0
jumlahNol = jumlahNol + 1
End Select
Cells(r, 4).Value = omzet * persen
r = r + 1
Loop
Range("F1").Value = "Tanpa komisi: " & jumlahNol
End Sub
Latihan 2 dari 4
Apa isi F1 setelah HitungKomisi selesai?
Option Explicit
Sub HitungKomisi()
Dim r As Long
Dim omzet As Double
Dim persen As Double
Dim jumlahNol As Long
r = 2
Do While Cells(r, 1).Value <> ""
omzet = Cells(r, 3).Value
Select Case omzet
Case Is >= 100000000
persen = 0.04
Case Is >= 50000000
persen = 0.025
Case Else
persen = 0
jumlahNol = jumlahNol + 1
End Select
Cells(r, 4).Value = omzet * persen
r = r + 1
Loop
Range("F1").Value = "Tanpa komisi: " & jumlahNol
End Sub
Latihan 3 dari 4
Sebelum makro dijalankan, isi A4:C4 (baris Yogi) dihapus sehingga baris 4 kosong; baris 5 dan 6 tetap terisi. Apa hasilnya?
Option Explicit
Sub HitungKomisi()
Dim r As Long
Dim omzet As Double
Dim persen As Double
Dim jumlahNol As Long
r = 2
Do While Cells(r, 1).Value <> ""
omzet = Cells(r, 3).Value
Select Case omzet
Case Is >= 100000000
persen = 0.04
Case Is >= 50000000
persen = 0.025
Case Else
persen = 0
jumlahNol = jumlahNol + 1
End Select
Cells(r, 4).Value = omzet * persen
r = r + 1
Loop
Range("F1").Value = "Tanpa komisi: " & jumlahNol
End Sub
Latihan 4 dari 4
Seorang rekan tidak sengaja menghapus baris r = r + 1. Apa yang terjadi saat makro dijalankan?
Option Explicit
Sub HitungKomisi()
Dim r As Long
Dim omzet As Double
Dim persen As Double
Dim jumlahNol As Long
r = 2
Do While Cells(r, 1).Value <> ""
omzet = Cells(r, 3).Value
Select Case omzet
Case Is >= 100000000
persen = 0.04
Case Is >= 50000000
persen = 0.025
Case Else
persen = 0
jumlahNol = jumlahNol + 1
End Select
Cells(r, 4).Value = omzet * persen
r = r + 1
Loop
Range("F1").Value = "Tanpa komisi: " & jumlahNol
End Sub