Mengenal Struktur Percabangan If...Then...Else di VBA Excel

Tidak semua program berjalan dengan urutan yang sama dari awal hingga akhir. Dalam banyak kasus, sebuah aplikasi harus mampu mengambil keputusan berdasarkan kondisi tertentu. Misalnya, menentukan apakah seorang siswa dinyatakan lulus, memeriksa apakah stok barang masih tersedia, atau menampilkan pesan berbeda sesuai hak akses pengguna.

Di VBA Excel, proses pengambilan keputusan tersebut dilakukan menggunakan struktur percabangan If...Then...Else. Struktur ini merupakan salah satu konsep dasar yang wajib dikuasai karena hampir semua aplikasi VBA menggunakannya, mulai dari macro sederhana hingga sistem informasi yang kompleks.


Apa Itu If...Then...Else?

If...Then...Else adalah struktur percabangan yang digunakan untuk menjalankan kode tertentu apabila suatu kondisi bernilai True, dan menjalankan kode lain apabila kondisi tersebut bernilai False.

Secara sederhana, logikanya dapat digambarkan seperti berikut.

Jika kondisi terpenuhi, maka jalankan perintah A. Jika tidak, jalankan perintah B.

Konsep ini menjadi dasar hampir semua proses pengambilan keputusan dalam pemrograman.


Sintaks Dasar If...Then

Bentuk paling sederhana hanya terdiri dari satu kondisi.

If Kondisi Then
    Pernyataan
End If

Contoh:

Sub ContohIf()

    Dim Nilai As Integer

    Nilai = 90

    If Nilai >= 75 Then
        MsgBox "Selamat, Anda lulus."
    End If

End Sub

Karena nilai 90 lebih besar dari 75, pesan akan ditampilkan.

Jika kondisi tidak terpenuhi, VBA akan melewati blok kode tersebut tanpa menampilkan apa pun.


Menggunakan If...Then...Else

Sering kali aplikasi harus melakukan dua tindakan yang berbeda berdasarkan hasil suatu kondisi. Dalam situasi seperti ini, gunakan bagian Else.

Sintaks:

If Kondisi Then
    Pernyataan 1
Else
    Pernyataan 2
End If

Contoh:

Sub CekKelulusan()

    Dim Nilai As Integer

    Nilai = 68

    If Nilai >= 75 Then
        MsgBox "Lulus"
    Else
        MsgBox "Tidak Lulus"
    End If

End Sub

Karena nilai 68 tidak memenuhi syarat, VBA menjalankan bagian Else.


Menggunakan If...ElseIf...Else

Dalam aplikasi nyata, Anda sering menghadapi lebih dari dua kemungkinan.

Sebagai contoh, penilaian siswa dapat dibagi menjadi beberapa kategori.

Sub PredikatNilai()

    Dim Nilai As Integer

    Nilai = 88

    If Nilai >= 90 Then

        MsgBox "Predikat A"

    ElseIf Nilai >= 80 Then

        MsgBox "Predikat B"

    ElseIf Nilai >= 70 Then

        MsgBox "Predikat C"

    Else

        MsgBox "Predikat D"

    End If

End Sub

VBA akan memeriksa kondisi dari atas ke bawah dan menjalankan blok pertama yang memenuhi syarat.


Studi Kasus 1: Menentukan Status Kelulusan

Misalkan sekolah menetapkan nilai minimum kelulusan sebesar 75.

Dim Nilai As Integer

Nilai = Range("B2").Value

If Nilai >= 75 Then

    Range("C2").Value = "Lulus"

Else

    Range("C2").Value = "Tidak Lulus"

End If

Kode tersebut akan mengisi kolom status secara otomatis berdasarkan nilai siswa.


Studi Kasus 2: Validasi Login

Percabangan juga sering digunakan untuk memeriksa data login.

Dim Password As String

Password = InputBox("Masukkan Password")

If Password = "admin123" Then

    MsgBox "Login berhasil."

Else

    MsgBox "Password salah."

End If

Teknik ini menjadi dasar pembuatan sistem autentikasi sederhana.


Studi Kasus 3: Mengecek Persediaan Barang

Pada aplikasi inventaris, transaksi hanya dapat dilakukan jika stok masih tersedia.

Dim Stok As Integer

Stok = 5

If Stok > 0 Then

    MsgBox "Transaksi dapat diproses."

Else

    MsgBox "Stok habis."

End If

Dengan logika tersebut, aplikasi dapat mencegah transaksi yang tidak valid.


Studi Kasus 4: Menentukan Besaran Diskon

Misalkan pelanggan memperoleh diskon berdasarkan total pembelian.

Dim Total As Double

Total = 1500000

If Total >= 1000000 Then

    MsgBox "Diskon 15%"

ElseIf Total >= 500000 Then

    MsgBox "Diskon 10%"

Else

    MsgBox "Tidak mendapat diskon"

End If

Pendekatan ini banyak digunakan pada aplikasi penjualan dan kasir.


💡 Tips Praktis

Susun kondisi dari yang paling spesifik ke yang paling umum. Dengan cara ini, VBA akan memilih kondisi yang tepat tanpa melewati logika yang seharusnya dijalankan.


If Bertingkat (Nested If)

Percabangan juga dapat ditempatkan di dalam percabangan lainnya.

Contoh:

Dim Nilai As Integer
Dim Kehadiran As Integer

If Nilai >= 75 Then

    If Kehadiran >= 80 Then

        MsgBox "Lulus"

    Else

        MsgBox "Tidak Lulus karena kehadiran."

    End If

Else

    MsgBox "Nilai belum memenuhi syarat."

End If

Meskipun memungkinkan, penggunaan If bertingkat secara berlebihan dapat membuat kode sulit dipahami. Jika kondisi semakin kompleks, pertimbangkan menggunakan Select Case atau memecah logika ke dalam prosedur terpisah.


Kesalahan yang Sering Dilakukan

Lupa Menutup Blok dengan End If

Kesalahan yang paling umum adalah tidak menambahkan End If.

If Nilai >= 75 Then

    MsgBox "Lulus"

Kode di atas akan menghasilkan kesalahan karena blok percabangan belum ditutup.


Menulis Kondisi yang Bertumpuk

Perhatikan contoh berikut.

If Nilai >= 60 Then
    ...
ElseIf Nilai >= 80 Then
    ...

Kondisi kedua tidak akan pernah dijalankan karena nilai 80 sudah memenuhi syarat pertama.

Urutan yang benar adalah:

If Nilai >= 80 Then
    ...
ElseIf Nilai >= 60 Then
    ...

Terlalu Banyak If Bertingkat

Semakin banyak percabangan di dalam percabangan, semakin sulit kode dipelihara.

Jika terdapat banyak pilihan dengan pola yang sama, gunakan Select Case agar struktur program menjadi lebih rapi.


Kapan Menggunakan If...Then...Else?

Struktur percabangan ini sangat cocok digunakan untuk:

  • memvalidasi input pengguna,

  • menentukan status kelulusan,

  • memeriksa stok barang,

  • menghitung diskon,

  • mengatur hak akses pengguna,

  • memeriksa tanggal jatuh tempo,

  • menentukan tindakan berdasarkan hasil perhitungan.

Karena fleksibilitasnya, If...Then...Else menjadi salah satu struktur yang paling sering digunakan dalam VBA Excel.


Kesimpulan

If...Then...Else merupakan struktur percabangan utama dalam VBA Excel yang memungkinkan program mengambil keputusan berdasarkan suatu kondisi. Dengan memanfaatkan struktur ini, aplikasi dapat menjalankan proses yang berbeda sesuai data yang diterima, sehingga program menjadi lebih dinamis dan responsif.

Dalam artikel ini, Anda telah mempelajari bentuk dasar If...Then, penggunaan Else dan ElseIf, serta berbagai contoh penerapan pada sistem penilaian, login, inventaris, dan perhitungan diskon. Anda juga memahami beberapa kesalahan yang sering terjadi beserta cara menghindarinya.

Menguasai If...Then...Else merupakan langkah penting sebelum mempelajari struktur logika yang lebih kompleks, seperti penggunaan operator logika And, Or, dan Not, maupun percabangan Select Case untuk menangani banyak kondisi dengan lebih efisien.

Hubungi Kami

Kantor Berkreasi
Alamat :
Pens Sky Venture - Sukolilo Surabaya
Karangrejo Tmur 17 Surabaya

Email : kantor.berkreasi@gmail.com
WA : wa.me/6287761589881  
(Support  Mbak Ana)

Tim Pengembang

Dr. Rojabi Azharghany, M.Si, S.Sos
Dr. H. Agus Sulthoni Imami, S.Psi. M.Pd.I.
Ali Ishaq, M.Pd.
Didik Rahwiniyanto, S.Si., M.Pd.
Mujiburrohman, M.Pd.
Mohammad Zikky, S.ST, M.T
Amien sawedi, S.Pd.
Didik P Wicaksono, M.Pd.