Cara Membagi Siswa ke Rombel Otomatis Secara Proporsional Menggunakan VBA

oleh | 21 Jul 2025 | Excel Best Practices | 0 Komentar

Membagi siswa ke dalam rombongan belajar (rombel) secara otomatis adalah kebutuhan umum di dunia pendidikan, terutama saat menyusun pembagian kelas yang adil dan efisien. Cara membagi siswa ke rombel otomatis menggunakan Excel VBA sangat membantu bagi guru dan tenaga administrasi sekolah yang ingin membagi siswa dengan mempertimbangkan jumlah yang seimbang dan proporsi jenis kelamin yang merata.

Dalam artikel ini, kita akan mempelajari cara membagi siswa ke rombel otomatis secara acak namun tetap mempertahankan proporsi laki-laki dan perempuan, menggunakan data yang disimpan di lembar Excel. Kami juga menyertakan kode VBA lengkap dan penjelasan langkah demi langkah.

Contoh Data Siswa

Contoh data siswa yang digunakan terdiri dari kolom:

  • NIS (Nomor Induk Siswa),
  • Nama,
  • JK (Jenis Kelamin: L untuk laki-laki, P untuk perempuan).

Selanjutnya, kita akan menambahkan kolom KELAS yang menunjukkan hasil pembagian rombel.

Kode VBA untuk Membagi Siswa ke Rombel Otomatis

Berikut adalah kode VBA lengkap untuk melakukan pembagian siswa ke dalam kelas secara otomatis dan proporsional:

Sub BagiKeempatKelas()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("DATA")

    Dim lastRow As Long
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    Dim jumlahKelas As Integer
    jumlahKelas = 2

    Dim kelas() As String
    kelas = Split("A B C D")

    Dim siswaL() As Variant, siswaP() As Variant
    ReDim siswaL(1 To lastRow)
    ReDim siswaP(1 To lastRow)

    Dim countL As Long: countL = 0
    Dim countP As Long: countP = 0

    Dim i As Long
    For i = 2 To lastRow
        If ws.Cells(i, 3).Value = "L" Then
            countL = countL + 1
            siswaL(countL) = i
        ElseIf ws.Cells(i, 3).Value = "P" Then
            countP = countP + 1
            siswaP(countP) = i
        End If
    Next i

    Dim j As Long
    ws.Cells(1, 4).Value = "KELAS"

    ' Bagikan siswa L
    For j = 1 To countL
        ws.Cells(siswaL(j), 4).Value = kelas((j - 1) Mod jumlahKelas)
    Next j

    ' Bagikan siswa P
    For j = 1 To countP
        ws.Cells(siswaP(j), 4).Value = kelas((j - 1) Mod jumlahKelas)
    Next j

    MsgBox "Pembagian kelas selesai!"
End Sub

Berikut penampakannya dalam editor VBA:

Baca Juga  Cara Rekap Omset Tahunan di Excel dari Tiap Cabang Secara Otomatis

Penjelasan Cara Kerja Kode

Berikut penjelasan cara kerja kode VBA untuk membagi siswa secara proporsional:

1. Inisialisasi Worksheet dan Data

  • Program memanggil worksheet bernama "DATA".
  • Menentukan jumlah baris terakhir untuk mengidentifikasi banyaknya data.

2. Pengaturan Jumlah Kelas

  • jumlahKelas = 2 berarti siswa akan dibagi ke dalam dua kelas: A dan B.
  • Array kelas = Split("A B C D") menyimpan daftar kelas. Anda bisa menyesuaikan jumlahnya sesuai kebutuhan (misalnya menjadi 4 kelas).

3. Pemisahan Berdasarkan Jenis Kelamin

  • Siswa dipisah ke dua array: siswaL() untuk laki-laki dan siswaP() untuk perempuan.
  • Pemisahan dilakukan dengan melihat isi kolom “JK” (L atau P).

4. Menyiapkan Kolom Kelas

  • Di kolom keempat (kolom D), header ditulis “KELAS” sebagai tempat pembagian kelas.

5. Pembagian Siswa Laki-Laki dan Perempuan

  • Dengan loop, siswa laki-laki dibagikan ke kelas berdasarkan urutan dan dibagi rata menggunakan operator MOD.
  • Hal yang sama dilakukan untuk siswa perempuan.

6. Pesan Selesai

  • Setelah proses selesai, muncul pesan notifikasi “Pembagian kelas selesai!”.

Cara Menjalankan Kode

  1. Buka Excel dan masukkan data seperti pada contoh.
  2. Tekan Alt + F11, lalu pilih Insert > Module.
  3. Tempelkan kode VBA di atas.
  4. Kembali ke Excel, tekan Alt + F8, pilih BagiKeempatKelas, klik Run.
  5. Hasil pembagian kelas akan otomatis muncul di kolom D.

Dan berikut adalah hasil akhirnya:

Kelebihan Menggunakan Cara Ini

Menggunakan pendekatan ini untuk cara membagi siswa ke rombel otomatis menawarkan banyak manfaat, antara lain:

  • Efisiensi waktu: Tidak perlu membagi siswa secara manual.
  • Proporsional: Laki-laki dan perempuan dibagi merata ke setiap kelas.
  • Otomatis: Hanya satu kali klik, semua siswa langsung terbagi.
  • Fleksibel: Anda bisa mengubah jumlah kelas atau memperluas logika pembagian.

Tips Tambahan

  • Anda bisa acak urutan data siswa terlebih dahulu sebelum menjalankan script agar hasil lebih acak. Gunakan sort acak dengan menambahkan angka acak menggunakan =RAND() lalu urutkan.
  • Ganti jumlahKelas dan array kelas jika ingin membagi ke lebih dari dua kelas.
  • Script ini bisa dikembangkan lebih lanjut untuk mempertimbangkan faktor tambahan seperti nilai akademik, asal sekolah, dll.
Baca Juga  Cara Mengambil Data dari 2 Tabel di Excel dengan Mudah dan Praktis

Penutup

Itulah pembahasan lengkap tentang cara membagi siswa ke rombel otomatis secara proporsional berdasarkan jenis kelamin menggunakan VBA Excel. Dengan memahami kode di atas, Anda bisa menghemat banyak waktu saat menyusun rombongan belajar di awal tahun ajaran.

Jangan ragu untuk mengadaptasi script sesuai kebutuhan sekolah Anda. Semoga bermanfaat dan selamat mencoba!

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 Siswa ke Rombel Otomatis Secara Proporsional Menggunakan VBA Excel ini. File Excel bisa didownload melalui tautan berikut:

download file 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!

Tags: cara membagi siswa ke rombel otomatis, membagi siswa ke kelas otomatis di excel, vba untuk pembagian kelas otomatis, script excel bagi siswa ke rombel, pembagian siswa berdasarkan jenis kelamin, otomatisasi pembagian siswa, cara membagi siswa ke rombel otomatis proporsional, cara kerja kode vba bagi rombel, rombel otomatis excel vba, cara membagi siswa ke rombel otomatis secara acak.

0 Komentar

Kirim Komentar

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

Join Our Newsletter