Cara Membuat Deskripsi Nilai Siswa Otomatis Menggunakan UDF di Excel

oleh | 5 Apr 2025 | VBA Macro | 0 Komentar

Dalam dunia pendidikan, khususnya pada jenjang sekolah dasar dan menengah, guru sering kali dihadapkan pada tugas membuat deskripsi nilai siswa. Proses ini bisa menjadi cukup melelahkan jika harus dilakukan secara manual untuk setiap siswa dan setiap mata pelajaran. Untuk mengatasi hal tersebut, salah satu solusi yang bisa diterapkan adalah membuat deskripsi nilai siswa otomatis menggunakan fitur UDF (User Defined Function) di Excel dengan bantuan VBA (Visual Basic for Applications).

Apa itu UDF?

UDF atau User Defined Function adalah fungsi yang kita buat sendiri menggunakan bahasa VBA di Excel. Fungsi ini sangat berguna ketika rumus bawaan Excel tidak mampu memenuhi kebutuhan spesifik pengguna, salah satunya seperti membuat deskripsi nilai siswa otomatis berdasarkan rentang nilai dan daftar mata pelajaran.

Kode VBA untuk Membuat Deskripsi Nilai Siswa Otomatis

Sebagai contoh, kita punya template data penilaian siswa sebagai berikut:

Teplate membuat deskripsi nilai siswa otomatis dengan UDF

Dan untuk membuat deskripsi nilai siswa otomatis, berikut ini adalah contoh kode VBA yang bisa Anda gunakan:

Function PenilaianDeskriptif(Nama As String, NilaiRange As Range, MapelRange As Range) As String
    Dim i As Integer
    Dim sangat() As String, paham() As String, perlu() As String
    Dim s As String, p As String, pr As String
    Dim hasil As String
    Dim nilai As Double
    Dim j As Integer

    ReDim sangat(1 To NilaiRange.Columns.Count)
    ReDim paham(1 To NilaiRange.Columns.Count)
    ReDim perlu(1 To NilaiRange.Columns.Count)

    Dim countS As Integer: countS = 0
    Dim countP As Integer: countP = 0
    Dim countPR As Integer: countPR = 0

    For i = 1 To NilaiRange.Columns.Count
        nilai = NilaiRange.Cells(1, i).Value
        If nilai >= 81 And nilai <= 99 Then
            countS = countS + 1
            sangat(countS) = MapelRange.Cells(1, i).Value
        ElseIf nilai >= 75 And nilai <= 80 Then
            countP = countP + 1
            paham(countP) = MapelRange.Cells(1, i).Value
        ElseIf nilai >= 60 And nilai <= 74 Then
            countPR = countPR + 1
            perlu(countPR) = MapelRange.Cells(1, i).Value
        End If
    Next i

    If countS > 0 Then s = GabungDenganDan(sangat, countS)
    If countP > 0 Then p = GabungDenganDan(paham, countP)
    If countPR > 0 Then pr = GabungDenganDan(perlu, countPR)

    hasil = "Ananda " & Nama & " "
    If s <> "" Then hasil = hasil & "Sangat menguasai " & s & ". "
    If p <> "" Then hasil = hasil & "Telah memahami " & p & ". "
    If pr <> "" Then hasil = hasil & "Namun Perlu Peningkatan lagi pada " & pr & "."

    PenilaianDeskriptif = hasil
End Function

Private Function GabungDenganDan(arr() As String, count As Integer) As String
    Dim i As Integer
    Dim result As String
    If count = 1 Then
        result = arr(1)
    ElseIf count = 2 Then
        result = arr(1) & " dan " & arr(2)
    Else
        For i = 1 To count - 1
            result = result & arr(i) & ", "
        Next i
        result = result & "dan " & arr(count)
    End If
    GabungDenganDan = result
End Function

Dengan kode tersebut, Anda dapat membuat deskripsi nilai siswa otomatis berdasarkan rentang nilai pada beberapa mata pelajaran. Nilai yang tinggi (ada di rentang 81-99) akan dikategorikan sebagai “sangat menguasai”, nilai sedang (ada di rentang 75-80) sebagai “telah memahami”, dan nilai di bawah standar (ada di rentang 60-74) sebagai “perlu peningkatan”.

Baca Juga  Solusi Praktis Menghapus Baris Kosong di Excel dan Menghapus Teks Tertentu

Langkah-langkah Menggunakan Kode UDF Ini

Untuk mulai membuat deskripsi nilai siswa otomatis, ikuti langkah-langkah berikut:

Kode VBA untuk membuat deskripsi nilai siswa otomatis dengan UDF
  1. Buka Excel dan tekan Alt + F11 untuk membuka jendela Editor VBA.
  2. Masukkan kode di atas ke dalam sebuah Module baru.
  3. Simpan dan kembali ke Excel, kemudian gunakan fungsi seperti berikut di dalam sel O3:
   =PenilaianDeskriptif(B3; C3:N3; $C$2:$N$2)

Di mana B3 adalah sel untuk “Nama Siswa”, C3:N3 adalah rentang nilai dan C2:N2 adalah daftar nama mata pelajaran. Jika benar maka hasilnya adalah sebagai berikut:

Hasil dari membuat deskripsi nilai siswa otomatis dengan UDF

Manfaat Membuat Deskripsi Nilai Siswa Otomatis

Ada banyak keuntungan dari membuat deskripsi nilai siswa otomatis, antara lain:

  • Menghemat waktu guru dalam menyusun laporan deskriptif.
  • Konsistensi kalimat yang dihasilkan sehingga tidak ada deskripsi yang terlalu subjektif.
  • Fleksibilitas tinggi, karena UDF bisa dimodifikasi sesuai kebutuhan (misalnya menambah kriteria atau mengubah frasa).
  • Dapat diterapkan untuk banyak siswa sekaligus dengan hanya meng-copy formula.

Penutup

Dengan memanfaatkan UDF di Excel, proses membuat deskripsi nilai siswa otomatis menjadi lebih cepat, praktis, dan akurat. Kode VBA yang telah dijelaskan di atas adalah contoh sederhana namun sangat efektif untuk menghasilkan narasi deskriptif berdasarkan performa siswa pada tiap mata pelajaran.

Jika Anda seorang guru yang selama ini merasa kewalahan karena harus menulis satu per satu deskripsi nilai siswa, kini saatnya beralih ke cara otomatis. Cukup sekali membuat kodenya, dan Anda bisa gunakan seterusnya dengan menyesuaikan data nilai dan mata pelajaran yang ada.

Mulailah dari sekarang, dan nikmati kemudahan dalam membuat deskripsi nilai siswa otomatis menggunakan UDF di Excel!

Download Template Gratis

Bagi Anda yang ingin mencoba teknik ini secara langsung, kami telah menyiapkan template gratis yang dirancang khusus untuk membantu Anda mempaktikkan Cara Membuat Deskripsi Nilai Siswa Otomatis Menggunakan UDF di Excel ini. File Excel bisa didownload melalui tautan berikut:

Baca Juga  Cara Membuat Mesin Pencarian di Excel Menggunakan VBA Macro Sederhana
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!

0 Komentar

Kirim Komentar

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

Join Our Newsletter