Membuat Validasi Data Lebih Akurat dengan And, Or, dan Not di VBA Excel

Dalam sebuah aplikasi VBA Excel, validasi data menjadi salah satu bagian penting untuk memastikan informasi yang diproses benar dan sesuai aturan. Data yang terlihat sederhana seperti angka, teks, atau pilihan pengguna dapat menimbulkan masalah apabila tidak diperiksa terlebih dahulu.

Sebagai contoh, sebuah sistem pendaftaran mungkin memiliki aturan:

  • Nama harus diisi.

  • Umur harus berupa angka.

  • Usia pengguna harus berada dalam batas tertentu.

  • Status akun harus aktif sebelum dapat digunakan.

Untuk menangani kondisi seperti ini, pemeriksaan sederhana terkadang tidak cukup. Program perlu mengevaluasi beberapa syarat sekaligus sebelum menentukan tindakan.

Di sinilah operator logika And, Or, dan Not berperan. Ketiga operator ini memungkinkan VBA Excel membuat validasi yang lebih fleksibel, terstruktur, dan mendekati kebutuhan aplikasi nyata.


Mengapa Operator Logika Dibutuhkan dalam Validasi?

Validasi sederhana biasanya hanya memeriksa satu kondisi.

Contoh:

If Nama = "" Then

    MsgBox "Nama harus diisi."

End If

Namun, dalam aplikasi nyata sering kali terdapat beberapa aturan yang harus diperiksa secara bersamaan.

Misalnya:

Pengguna dapat menyimpan data jika nama sudah diisi dan umur berupa angka.

Atau:

Pengguna mendapatkan akses jika statusnya Admin atau Supervisor.

Kondisi seperti ini membutuhkan operator logika agar program dapat memahami hubungan antaraturan.


Menggunakan And untuk Memastikan Semua Kondisi Terpenuhi

Operator And digunakan ketika seluruh kondisi harus bernilai benar agar proses dapat dilanjutkan.

Struktur:

Kondisi1 And Kondisi2

Hasil:

  • True → jika semua kondisi benar.

  • False → jika salah satu kondisi salah.


Contoh Validasi Form dengan And

Misalnya sebuah form membutuhkan nama dan email pengguna.

If txtNama.Value <> "" And txtEmail.Value <> "" Then

    MsgBox "Data siap disimpan."

Else

    MsgBox "Lengkapi semua data."

End If

Pada contoh tersebut, tombol simpan hanya dapat diproses jika:

  • kolom nama tidak kosong,

  • kolom email tidak kosong.

Jika salah satu belum terisi, program akan menolak proses.


Studi Kasus: Validasi Nilai Siswa

Misalkan sebuah sistem menentukan siswa dapat mengikuti ujian jika:

  • nilai tugas minimal 70,

  • kehadiran minimal 80%.

Kode:

Dim Nilai As Integer
Dim Kehadiran As Integer

Nilai = 75
Kehadiran = 90

If Nilai >= 70 And Kehadiran >= 80 Then

    MsgBox "Siswa memenuhi syarat ujian."

Else

    MsgBox "Syarat belum terpenuhi."

End If

Dengan And, program memastikan kedua aturan telah terpenuhi sebelum memberikan keputusan.


Menggunakan Or untuk Memberikan Beberapa Pilihan Kondisi

Berbeda dengan And, operator Or digunakan ketika salah satu kondisi saja sudah cukup untuk menghasilkan nilai True.

Struktur:

Kondisi1 Or Kondisi2

Hasil:

  • True → jika salah satu kondisi benar.

  • False → jika semua kondisi salah.


Contoh Validasi Hak Akses Pengguna

Sebuah aplikasi memberikan akses kepada:

  • Administrator.

  • Manager.

Kode:

Dim Level As String

Level = "Manager"

If Level = "Administrator" Or Level = "Manager" Then

    MsgBox "Akses diterima."

Else

    MsgBox "Akses ditolak."

End If

Karena pengguna memiliki level Manager, maka kondisi dianggap benar.


Studi Kasus: Sistem Diskon Pelanggan

Misalnya toko memberikan diskon kepada pelanggan yang:

  • memiliki status Member,

  • atau melakukan pembelian lebih dari 1 juta.

Kode:

If Status = "Member" Or TotalBelanja >= 1000000 Then

    Diskon = 10

Else

    Diskon = 0

End If

Dengan Or, pelanggan cukup memenuhi salah satu syarat untuk mendapatkan diskon.


Menggunakan Not untuk Membalik Kondisi

Operator Not digunakan untuk membalik nilai logika.

Jika kondisi bernilai:

  • True → menjadi False.

  • False → menjadi True.


Contoh Memeriksa Data yang Belum Lengkap

Dim Valid As Boolean

Valid = False

If Not Valid Then

    MsgBox "Data belum dapat diproses."

End If

Karena nilai Valid adalah False, operator Not mengubahnya menjadi True sehingga pesan ditampilkan.


Contoh Not pada Validasi Input

Misalnya ingin memastikan pengguna belum memilih status tertentu.

If Not cmbStatus.Value = "Aktif" Then

    MsgBox "Status pengguna belum aktif."

End If

Kode tersebut akan berjalan ketika nilai status bukan "Aktif".


Menggabungkan And, Or, dan Not dalam Satu Validasi

Dalam aplikasi nyata, ketiga operator dapat digunakan secara bersamaan.

Contoh:

If txtNama.Value <> "" _
And (Level = "Admin" Or Level = "Supervisor") _
And Not Status = "Nonaktif" Then

    MsgBox "Pengguna dapat mengakses sistem."

Else

    MsgBox "Akses ditolak."

End If

Logika tersebut memiliki aturan:

  1. Nama harus tersedia.

  2. Level harus Admin atau Supervisor.

  3. Status tidak boleh Nonaktif.


Studi Kasus: Validasi Login Sederhana

Sebuah sistem login memiliki aturan:

  • Username tidak boleh kosong.

  • Password tidak boleh kosong.

  • Akun harus aktif.

Contoh:

If txtUsername.Value <> "" _
And txtPassword.Value <> "" _
And Not StatusAkun = "Blokir" Then

    MsgBox "Login berhasil."

Else

    MsgBox "Data login tidak valid."

End If

Pendekatan seperti ini sering digunakan dalam aplikasi VBA yang memiliki sistem pengguna.


Perbedaan And, Or, dan Not

OperatorFungsiContoh Penggunaan
And Semua kondisi harus benar Validasi beberapa field wajib
Or Salah satu kondisi cukup benar Pilihan akses atau kategori
Not Membalik kondisi Mengecek kondisi negatif

Memahami perbedaan ini akan membantu membuat logika program yang lebih jelas.


Kesalahan yang Sering Terjadi

Membuat Kondisi Tanpa Tanda Kurung

Contoh:

If A Or B And C Then

Kode tersebut dapat menghasilkan keputusan yang tidak sesuai harapan.

Lebih jelas:

If A Or (B And C) Then

Tanda kurung membantu VBA membaca prioritas logika dengan benar.


Menggunakan Terlalu Banyak Kondisi dalam Satu Baris

Contoh:

If A And B And C And D And E Then

Jika kondisi semakin panjang, kode menjadi sulit dipahami.

Solusi:

Pisahkan pemeriksaan menjadi beberapa bagian atau gunakan variabel bantuan.


Tips Membuat Validasi Logika yang Profesional

Agar kode VBA lebih mudah dikembangkan:

  • gunakan nama variabel yang jelas,

  • kelompokkan kondisi menggunakan tanda kurung,

  • hindari logika yang terlalu panjang,

  • gunakan komentar untuk aturan bisnis tertentu,

  • lakukan validasi sebelum menyimpan data.

Validasi yang baik membuat aplikasi lebih aman dan mengurangi kesalahan pengguna.


Kesimpulan

Operator And, Or, dan Not merupakan komponen penting dalam membangun sistem validasi data menggunakan VBA Excel. Ketiganya memungkinkan program melakukan pemeriksaan terhadap berbagai kondisi sebelum menjalankan sebuah proses.

And membantu memastikan seluruh persyaratan terpenuhi, Or memberikan fleksibilitas dengan beberapa pilihan kondisi, sedangkan Not digunakan untuk memeriksa kondisi yang berlawanan.

Dengan menguasai ketiga operator logika ini, Anda dapat membangun aplikasi VBA yang lebih pintar, mulai dari form input sederhana hingga sistem administrasi yang memiliki aturan validasi kompleks.

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.