Tutorial Cara Membagi Jadwal Ngawas Otomatis dengan Adil dan Sekali Klik

oleh | 11 Jan 2026 | VBA Macro | 0 Komentar

Membagi jadwal pengawas ujian secara manual sering kali menjadi pekerjaan yang melelahkan, memakan waktu, dan rawan tidak adil. Banyak sekolah masih mengatur pembagian ruang dan hari pengawasan dengan cara copy–paste atau undian manual, sehingga guru tertentu bisa mendapat jadwal lebih sering dibanding yang lain. Di sinilah cara membagi jadwal ngawas otomatis menjadi solusi yang sangat dibutuhkan.

Dengan cara membagi jadwal ngawas otomatis menggunakan VBA Excel, pembagian tugas pengawas dapat dilakukan hanya dengan sekali klik, lebih adil, dan mudah disesuaikan.

Artikel ini akan membahas secara lengkap cara membagi jadwal ngawas otomatis, mulai dari konsep keadilan jadwal, penyimpanan kode VBA di modul, penjelasan baris per baris kode, hingga cara menyesuaikan jumlah ruang, hari, dan pengawas. Contoh tabel hasil juga akan dijelaskan agar Anda langsung paham penerapannya di lapangan.

Jika Anda staf TU, panitia ujian, atau guru yang sering kebagian tugas administrasi, cara membagi jadwal ngawas otomatis ini akan sangat membantu dan layak Anda simpan sebagai template permanen.

Mengapa Perlu Cara Membagi Jadwal Ngawas Otomatis?

Sebelum masuk ke teknis, mari kita pahami dulu mengapa cara membagi jadwal ngawas otomatis jauh lebih unggul dibanding cara manual.

Beberapa masalah umum pembagian jadwal manual adalah:

  • Ada pengawas yang terlalu sering kebagian jadwal
  • Ada pengawas yang jarang atau bahkan terlewat
  • Sulit memastikan keadilan distribusi
  • Perubahan mendadak (ruang atau hari bertambah) membuat jadwal harus diulang dari awal
Baca Juga  Cara Menjumlahkan Warna di Excel dan Juga Menghitung Warna Menggunakan VBA

Dengan cara membagi jadwal ngawas otomatis, Excel akan:

  • Mengacak pengawas secara adil
  • Menghitung frekuensi tugas setiap pengawas
  • Memprioritaskan pengawas yang paling sedikit mendapat tugas
  • Menghindari pengawas yang sama muncul dua kali di hari yang sama

Hasilnya, jadwal lebih profesional dan minim komplain.

Konsep Keadilan dalam Cara Membagi Jadwal Ngawas Otomatis

Inti dari cara membagi jadwal ngawas otomatis ini adalah frekuensi. Setiap nama pengawas akan dihitung berapa kali sudah ditugaskan. Sistem akan selalu memilih pengawas dengan jumlah tugas paling sedikit terlebih dahulu. Dengan konsep ini:

  • Semua pengawas mendapat beban yang hampir sama
  • Tidak ada pengawas “langganan”
  • Tidak ada pengawas yang terabaikan

Inilah yang membuat cara membagi jadwal ngawas otomatis ini cocok digunakan di sekolah kecil maupun besar.

Struktur Data di Excel (Contoh Tabel)

Berikut adalah contoh tabel yang akan kita gunakan dalam tutorial kali ini:

Template cara membagi jadwal ngawas otomatis

Berdasarkan contoh tabel di atas:

  • Kolom B (B3:B8) → daftar nama pengawas
  • Kolom D → daftar ruang (Ruang 1 s.d. Ruang 5)
  • Kolom E–J → hari mengawas (Senin sampai Senin berikutnya)
  • Sel E4 → titik awal hasil jadwal otomatis

Struktur ini sangat penting agar cara membagi jadwal ngawas otomatis bekerja tanpa error.

Kode VBA untuk Cara Membagi Jadwal Ngawas Otomatis

Berikut adalah kode VBA yang digunakan:

Sub Acak_Pengawas()

    Const JUMLAH_RUANG As Long = 5
    Const JUMLAH_HARI As Long = 6

    Dim ws As Worksheet
    Set ws = ThisWorkbook.ActiveSheet

    Dim pengawas As Variant
    Dim hasil(1 To JUMLAH_RUANG, 1 To JUMLAH_HARI) As String
    Dim freq() As Long, dipakai() As Boolean
    Dim i As Long, j As Long, pilih As Long
    Dim minFreq As Long

    pengawas = ws.Range("B3:B8").Value
    ReDim freq(1 To UBound(pengawas, 1))

    Randomize

    For j = 1 To JUMLAH_HARI
        ReDim dipakai(1 To UBound(pengawas, 1))

        For i = 1 To JUMLAH_RUANG
            minFreq = Application.Min(freq)
            Do
                pilih = Int(Rnd * UBound(pengawas, 1)) + 1
            Loop While dipakai(pilih) Or freq(pilih) > minFreq

            hasil(i, j) = pengawas(pilih, 1)
            freq(pilih) = freq(pilih) + 1
            dipakai(pilih) = True
        Next i
    Next j

    ws.Range("E4").Resize(JUMLAH_RUANG, JUMLAH_HARI).ClearContents
    ws.Range("E4").Resize(JUMLAH_RUANG, JUMLAH_HARI).Value = hasil

End Sub

Kode inilah inti dari cara membagi jadwal ngawas otomatis.

Baca Juga  Cara Membuat Deskripsi Nilai Siswa Otomatis Menggunakan UDF di Excel

Langkah Menyimpan VBA di Modul Excel

Kode VBA cara membagi jadwal ngawas otomatis

Berikut langkah-langkah menyimpan kode cara membagi jadwal ngawas otomatis ke dalam modul:

  1. Buka file Excel
  2. Tekan Alt + F11 untuk membuka VBA Editor
  3. Klik menu Insert → Module
  4. Akan muncul Module1
  5. Salin dan tempel kode VBA di atas ke Module tersebut
  6. Tutup VBA Editor
  7. Kembali ke Excel
  8. Jalankan macro melalui:
  • Developer → Macros → Acak_Pengawas → Run
  • Atau hubungkan ke tombol (Button)

Sekarang cara membagi jadwal ngawas otomatis bisa dijalankan kapan saja.

Penjelasan Kode VBA (Agar Mudah Dipahami)

1. Konstanta Jumlah Ruang dan Hari

Const JUMLAH_RUANG As Long = 5
Const JUMLAH_HARI As Long = 6

Bagian ini menentukan ukuran jadwal. Dalam cara membagi jadwal ngawas otomatis, inilah pusat pengaturan utama.

2. Mengambil Data Pengawas

pengawas = ws.Range("B3:B8").Value

Kode ini membaca daftar nama pengawas dari Excel.

3. Array Frekuensi

ReDim freq(1 To UBound(pengawas, 1))

Digunakan untuk menghitung berapa kali setiap pengawas sudah bertugas.

4. Loop Hari dan Ruang

For j = 1 To JUMLAH_HARI
    For i = 1 To JUMLAH_RUANG

Loop inilah yang membuat jadwal terisi penuh secara otomatis.

5. Logika Keadilan

minFreq = Application.Min(freq)

Pengawas dengan frekuensi paling kecil akan diprioritaskan. Inilah inti cara membagi jadwal ngawas otomatis yang adil.

6. Mencegah Nama Ganda dalam Satu Hari

Loop While dipakai(pilih) Or freq(pilih) > minFreq

Menjamin satu pengawas tidak muncul dua kali di hari yang sama.

7. Menulis Hasil ke Excel

ws.Range("E4").Resize(JUMLAH_RUANG, JUMLAH_HARI).Value = hasil

Hasil langsung muncul di tabel, sekali klik. Berikut hasil akhirnya:

Hasil akhir cara membagi jadwal ngawas otomatis

Cara Menambah Ruang, Hari, atau Jumlah Pengawas

Inilah kelebihan utama cara membagi jadwal ngawas otomatis ini: fleksibel.

1. Menambah Ruang

Ubah:

Const JUMLAH_RUANG As Long = 5

Menjadi misalnya:

Const JUMLAH_RUANG As Long = 7

Tambahkan juga baris ruang di Excel.

Baca Juga  Panduan Lengkap Download Add Ins Terbilang Tanggal dan Cara Membuatnya

2. Menambah Hari

Ubah:

Const JUMLAH_HARI As Long = 6

Menjadi jumlah hari yang diinginkan.

3. Menambah Pengawas

Ubah range:

ws.Range("B3:B8")

Menjadi misalnya:

ws.Range("B3:B10")

Pastikan daftar nama di Excel sudah ditambah.

Semua penyesuaian ini membuat cara membagi jadwal ngawas otomatis sangat mudah dirawat.

Kesimpulan

Dengan menggunakan VBA Excel, cara membagi jadwal ngawas otomatis dapat dilakukan dengan cepat, adil, dan profesional. Anda tidak lagi perlu mengacak manual atau menghitung beban tugas satu per satu. Cukup klik macro, jadwal langsung jadi.

Keunggulan utama cara membagi jadwal ngawas otomatis ini adalah:

  • Adil berbasis frekuensi
  • Tidak ada pengawas dobel dalam satu hari
  • Mudah disesuaikan
  • Cocok untuk kebutuhan sekolah nyata

Jika Anda sering terlibat dalam penyusunan jadwal ujian, cara membagi jadwal ngawas otomatis ini sangat layak dijadikan standar kerja. Simpan templatenya, gunakan setiap semester, dan pekerjaan Anda akan jauh lebih efisien.

Download Template Gratis

Bagi Anda yang ingin mencoba teknik ini secara langsung, kami telah menyiapkan template gratis yang dirancang khusus untuk membantu Anda mempraktikkan Cara Membagi Jadwal Ngawas Otomatis dengan Adil dan Sekali Klik ini. File Excel bisa didownload melalui tautan berikut:

donate
Download contoh excel

Atau juga jika ingin mempelajari langkah demi langkah secara visual, bisa kunjungi Youtube Channel Depot Excel. Di sana teman-teman akan melihat bagaimana rumusnya bekerja. Semoga bermanfaat!

0 Komentar

Kirim Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Join Our Newsletter