Lompat ke konten utama
←

Makro dan VBA Excel

Pelajaran 10 dari 14

Variabel dan alur logika

Misi: makro komisi sales

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.

BarisNama (A)Wilayah (B)Omzet (C)
2DimasSleman120000000
3LarasBantul50000000
4YogiKulon Progo49500000
5PutriGunungkidul75000000
6BayuKota30000000
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
Pilih satu jawaban

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
Pilih satu jawaban

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
Pilih satu jawaban

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
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke