Kertas Kerja EMON

Bulan Maret Tahun 2025

Author

Wihelmus Wedo dari Tim Pilar Manajemen SDM

Pendahuluan

Selamat datang di Kertas Kerja EMON bulan maret 2025. Bulan ini terdapat beberapa pengembangan script dari bulan lalu.

knitr::opts_chunk$set(
  message = FALSE, warning = FALSE
)

library(tidyverse)
library(readxl)
library(here)
library(magrittr)

bulan <- "maret"
tahun <- "2025"

Input Data

data_presensi <- here("data/Rekap Presensi Satker 1744167175654.xlsx")
data_response <- here("data/Form Penilaian Employee Of The Month BPS Kabupaten Sikka(1-665).xlsx")

tbl_presensi_all <- 
read_xlsx(data_presensi, skip = 6) |>
  janitor::clean_names()

tbl_response_raw <-
read_xlsx(data_response) |> 
  janitor::clean_names() |>
  # tanggal surat pemilihan emon maret diterbit
  filter(waktu_mulai >= "2025-04-08") |> 
  #rename karena namanya panjang
  rename(
    pegawai = pegawai_yang_dinilai_masing_masing_ketua_tim_menilai_anggotanya,
    mutu = mutu_hasil_kerja,
    pengetahuan = pengetahuan_tentang_tugas_dan_tanggung_jawab,
    produktivitas = produktivitas_jam_kerja
  ) 

# Periksa jika terdapat double entry
tbl_response_raw |> 
  count(pegawai) |>
  arrange(desc(n)) |>
  knitr::kable()
pegawai n
Alvino Alexandro Yappy A.Md 1
Averinus Emanuel S.Kom 1
Choirunnisa Jati Safitri,S.Tr.Stat 1
Clementine Mursitadewi Riantoby A.Md.Stat. 1
Cornelia Christina Temu A.Md.Stat. 1
Felia Tifani Cornelia Klau A.Md.Stat. 1
Fransiskus Saverius Soba S.Si 1
Imelda Sandrawati Ambot S.Si 1
Juliana Marbun A. Md 1
Kasianus Vinsensius Wero S.E 1
Klara Yosefa Edralin Paoe S.E 1
Maria Carlin Bepsi Costa SST 1
Maria Diaz De Rozari 1
Maria Helionora Yulinda Sair S.E. 1
Maria Megachita Da Silva A.Md.Stat 1
Maryo Yoseph Ambarto Dwi Sili Osan A.Md.Stat 1
Neka Putri Fardila,S.Tr.Stat. 1
Sekolastika Maria Filipensa Naru SE 1
Valentinus Nong Sina Gharu 1
Wihelmus Wedo S.Tr.Stat 1
Yohanes Lada Regaletha 1
Yoseph Yakobus Dedo S.E 1

Bulan ini sepertinya tidak ada penilaian ganda, sehingga kita bisa lanjut

Pegawai yang tidak masuk dalam pernilaian EMON

Terdapat pegawai yang tidak diikutsertakan dalam penilaian EMON. Pegawai tersebut antara lain;

  1. Afriani Niana Danus (NIP 340057264), sebab sedang menjalani Tugas Belajar

  2. Kristanto Setyo Utomo (NIP 340019275), sebab jabatannya sebagai Kepala BPS Kabupaten Sikka.

Sehingga kita perlu membuang baris tersebut di dalam tabel presensi. Tabel response memang tidak mengikutsertakan Afriani Niana Danus maupun Kristanto Setyo Utomo, sehingga kita tidak perlu melakukan filtering.

tbl_presensi <- 
tbl_presensi_all |>
  filter(nip != "340057264" & nip != "340019275")

tbl_response_cleaned <- tbl_response_raw

Tabel pembantu

Tabel ini dipakai sebab variabel nama pegawai dari file presensi dan file response tidaklah sama. file presensi menggunakan nama yang tidak menganduk gelar, sedangkan file response menggunakan nama yang memiliki gelar

emon_db_pegawai <- here("data/emon_db_pegawai.xlsx") |> read_xlsx()

Hitung poin Presensi

Setelah, data presensi dan data response telah bersih, kita bisa lanjut untuk menghitung indeks emon. Kita mulai dengan menghitung poin presensi.

Kali ini kita akan lebih rigid dan mengikuti langkah-langkah dari KAK. Berdasarkan KAK Pemilihan EMON, nilai indeks emon dihitung menggunakan 3 kriteria besar.

  1. Administrasi (bobot 20%)
  2. Kinerja (bobot 40%)
  3. Core Value ASN Berakhlak (bobot 40%)

Penilaian Administrasi

Administrasi terdiri dari 2 sub bagian penilaian yakni

  1. Kedisiplinan, diukur dengan jumlahnya pelanggaran ringan, pelanggaran sedang, dan pelanggaran berat pada bulan maret.
  2. kehadiran, diukur menggunakan kehadiran, keterlambatan (TL dan PSW) selama sebulan.

Kehadiran memiliki bobot sebesar 0,4 dan kedisiplinan bobotnya adalah 0,6.

Dalam aspek kedisiplinan, tidak ada surat pelanggaran yang dikeluarkan tim subbagian umum untuk bulan maret, sehingga semua pegawai mendapatkan poin penuh (a.k.a 3)

tbl_aspek_administrasi <- 
tbl_presensi |>
  select(nip, nama_presensi = nama, hk, psw, ht) |>
  # setting supaya hk, psw, dan ht bisa dilakukan operasi matematika
  mutate(
    hk = as.integer(hk),
    psw = as.integer(psw),
    ht = as.integer(ht)
  ) |>
  # hitung persentasi kehadiran.
  # ht = jumlah hari terlambat (TL)
  # psw = jumlah hari pulang sebelum waktu (PSW)
  # hk = jumlah hari kerja
  mutate(persen = 100 - ((ht + psw) / hk * 100)) |>
  # kehadiran < 95% dapat nilai 0
  # 95.0 < kehadiran < 99.99 dapat nilai 1
  # sisanya a.k.a kehadiran 100% dapat nilai 3
  mutate(
    kehadiran = case_when(
      persen <= 94.99 ~ 0, 
      persen |> between(95.00, 99.99) ~ 1, 
      .default = 3    
      ),
    kedisiplinan = 3 # semua pegawai tidak mendapatkan teguran ringan, sedang, maupun berat.
    ) |>
  mutate(
    aspek_administrasi = (kehadiran * 0.4 + kedisiplinan * 0.6) * 0.2 # bobot aspek 20%
    )

knitr::kable(tbl_aspek_administrasi)
nip nama_presensi hk psw ht persen kehadiran kedisiplinan aspek_administrasi
340018094 Yohanes Lada Regaletha 19 0 0 100.00000 3 3 0.60
340018763 Valentinus Nong Sina Gharu 19 0 0 100.00000 3 3 0.60
340019681 Maria Diaz De Rozari 19 0 0 100.00000 3 3 0.60
340019825 Sekolastika Maria Filipensa Naru 19 0 0 100.00000 3 3 0.60
340053753 Fransiskus Saverius Soba 19 0 0 100.00000 3 3 0.60
340053757 Kasianus Vinsensius Wero 19 0 0 100.00000 3 3 0.60
340053759 Klara Yosefa Edralin Paoe 19 0 0 100.00000 3 3 0.60
340053779 Yoseph Yakobus Dedo 19 0 0 100.00000 3 3 0.60
340055195 Averinus Emanuel 19 0 1 94.73684 0 3 0.36
340055215 Imelda Sandrawati Ambot 19 0 0 100.00000 3 3 0.60
340055228 Maria Helionora Yulinda Sair 19 0 0 100.00000 3 3 0.60
340057474 Maria Carlin Bepsi Costa 19 0 0 100.00000 3 3 0.60
340059028 Wihelmus Wedo 19 0 0 100.00000 3 3 0.60
340059848 Clementine Mursitadewi Riantoby 19 0 0 100.00000 3 3 0.60
340059849 Cornelia Christina Temu 19 0 0 100.00000 3 3 0.60
340059855 Felia Tifani Cornelia Klau 19 0 0 100.00000 3 3 0.60
340060406 Maria Megachita Da Silva 19 0 0 100.00000 3 3 0.60
340060409 Maryo Yoseph Ambarto Dwi Sili Osan 19 0 1 94.73684 0 3 0.36
340061169 Alvino Alexandro Yappy 19 0 1 94.73684 0 3 0.36
340061365 Juliana Marbun 19 0 0 100.00000 3 3 0.60
340062383 Choirunnisa Jati Safitri 19 0 0 100.00000 3 3 0.60
340063388 Neka Putri Fardila 19 1 0 94.73684 0 3 0.36

Aspek Kinerja

fx  <- function(x) {
  y <- 
  case_when(
    x == "Sangat Baik" ~ 3,
    x == "Baik" ~ 1,
    x == "Kurang Baik" ~ 0,
    .default = NA
  )
  return(y)
}
tbl_aspek_kinerja <- 
tbl_response_cleaned |>
  select(
    pegawai, 
    mutu,
    produktivitas,
    pengetahuan,
    kehandalan,
    ketepatan_waktu,
    inisiatif,
    kerja_sama
  ) |>
  mutate(
    mutu = mutu |> fx() |> multiply_by(0.1), # bobot 10%
    produktivitas = produktivitas |> fx() |> multiply_by(0.1), # bobot 10%
    pengetahuan = pengetahuan |> fx() |> multiply_by(0.1), # bobot 10%
    kehandalan = kehandalan |> fx() |> multiply_by(0.1), # bobot 10%
    ketepatan_waktu = ketepatan_waktu |> fx() |> multiply_by(0.3), # bobot 30%
    inisiatif = inisiatif |> fx() |> multiply_by(0.1), # bobot 10%
    kerja_sama = kerja_sama  |> fx() |> multiply_by(0.2) # bobot 20%
  ) |>
  mutate(
    aspek_kinerja = (mutu + produktivitas + pengetahuan + kehandalan + ketepatan_waktu + inisiatif + kerja_sama) * 0.4 # bobot 40%
  )

knitr::kable(tbl_aspek_kinerja)
pegawai mutu produktivitas pengetahuan kehandalan ketepatan_waktu inisiatif kerja_sama aspek_kinerja
Valentinus Nong Sina Gharu 0.1 0.1 0.1 0.1 0.3 0.1 0.2 0.40
Neka Putri Fardila,S.Tr.Stat. 0.1 0.1 0.1 0.3 0.3 0.3 0.6 0.72
Averinus Emanuel S.Kom 0.1 0.1 0.1 0.1 0.3 0.1 0.2 0.40
Choirunnisa Jati Safitri,S.Tr.Stat 0.3 0.1 0.1 0.1 0.3 0.1 0.2 0.48
Felia Tifani Cornelia Klau A.Md.Stat. 0.3 0.3 0.3 0.3 0.9 0.3 0.6 1.20
Fransiskus Saverius Soba S.Si 0.1 0.1 0.1 0.1 0.3 0.1 0.2 0.40
Yohanes Lada Regaletha 0.1 0.1 0.1 0.1 0.3 0.1 0.2 0.40
Imelda Sandrawati Ambot S.Si 0.3 0.3 0.3 0.3 0.9 0.3 0.6 1.20
Kasianus Vinsensius Wero S.E 0.1 0.1 0.1 0.1 0.3 0.1 0.2 0.40
Clementine Mursitadewi Riantoby A.Md.Stat. 0.3 0.3 0.3 0.3 0.9 0.3 0.2 1.04
Klara Yosefa Edralin Paoe S.E 0.1 0.1 0.1 0.1 0.3 0.1 0.2 0.40
Maria Carlin Bepsi Costa SST 0.1 0.1 0.1 0.1 0.3 0.1 0.2 0.40
Maria Helionora Yulinda Sair S.E. 0.3 0.3 0.3 0.3 0.9 0.3 0.6 1.20
Maria Megachita Da Silva A.Md.Stat 0.1 0.1 0.1 0.1 0.3 0.1 0.2 0.40
Sekolastika Maria Filipensa Naru SE 0.1 0.1 0.1 0.1 0.3 0.1 0.2 0.40
Wihelmus Wedo S.Tr.Stat 0.3 0.1 0.3 0.3 0.9 0.3 0.2 0.96
Yoseph Yakobus Dedo S.E 0.1 0.1 0.1 0.1 0.3 0.1 0.2 0.40
Juliana Marbun A. Md 0.1 0.3 0.3 0.3 0.9 0.1 0.6 1.04
Maria Diaz De Rozari 0.1 0.3 0.1 0.3 0.3 0.1 0.6 0.72
Maryo Yoseph Ambarto Dwi Sili Osan A.Md.Stat 0.3 0.3 0.3 0.3 0.9 0.3 0.6 1.20
Alvino Alexandro Yappy A.Md 0.1 0.1 0.1 0.3 0.9 0.1 0.6 0.88
Cornelia Christina Temu A.Md.Stat. 0.3 0.1 0.1 0.1 0.9 0.1 0.6 0.88

Aspek Core Value BerAKHLAK

Penilaian Nilai BerAKHLAK adalah penilaian yang diambil dari nilai-nilai core value ASN. Bobot untuk aspek ini adalah 40 persen. Untuk rincian bobot pembentuk aspek ini bisa dilihat di KAK.

tbl_aspek_berakhlak <- 
tbl_response_cleaned |>
  select(
    pegawai,
    berorientasi_pelayanan,
    akuntabel,
    kompeten,
    harmonis,
    loyal,
    adaptif,
    kolaboratif
  ) |>
  mutate(
    berorientasi_pelayanan = berorientasi_pelayanan |> fx() |> multiply_by(0.1), # bobot 10% 
    akuntabel = akuntabel |> fx() |> multiply_by(0.1), # bobot 10% 
    kompeten = kompeten |> fx() |> multiply_by(0.1), # bobot 10% 
    harmonis = harmonis |> fx() |> multiply_by(0.1), # bobot 10% 
    loyal = loyal |> fx() |> multiply_by(0.1), # bobot 10% 
    adaptif = adaptif |> fx() |> multiply_by(0.3), # bobot 30% 
    kolaboratif = kolaboratif  |> fx() |> multiply_by(0.2) # bobot 20% 
  ) |>
  mutate(
    aspek_berakhlak = (berorientasi_pelayanan + akuntabel + kompeten + harmonis + loyal + adaptif + kolaboratif) * 0.4 # bobot aspek 40%
  )

knitr::kable(tbl_aspek_berakhlak)
pegawai berorientasi_pelayanan akuntabel kompeten harmonis loyal adaptif kolaboratif aspek_berakhlak
Valentinus Nong Sina Gharu 0.1 0.1 0.0 0.1 0.1 0.3 0.2 0.36
Neka Putri Fardila,S.Tr.Stat. 0.1 0.3 0.3 0.1 0.1 0.3 0.6 0.72
Averinus Emanuel S.Kom 0.1 0.1 0.1 0.1 0.1 0.3 0.2 0.40
Choirunnisa Jati Safitri,S.Tr.Stat 0.1 0.1 0.1 0.1 0.1 0.3 0.2 0.40
Felia Tifani Cornelia Klau A.Md.Stat. 0.3 0.3 0.3 0.3 0.3 0.9 0.6 1.20
Fransiskus Saverius Soba S.Si 0.1 0.1 0.1 0.1 0.0 0.3 0.2 0.36
Yohanes Lada Regaletha 0.1 0.1 0.1 0.1 0.1 0.3 0.2 0.40
Imelda Sandrawati Ambot S.Si 0.3 0.3 0.3 0.3 0.3 0.9 0.6 1.20
Kasianus Vinsensius Wero S.E 0.1 0.1 0.1 0.1 0.1 0.3 0.2 0.40
Clementine Mursitadewi Riantoby A.Md.Stat. 0.1 0.3 0.3 0.3 0.3 0.9 0.6 1.12
Klara Yosefa Edralin Paoe S.E 0.1 0.1 0.1 0.1 0.1 0.3 0.2 0.40
Maria Carlin Bepsi Costa SST 0.1 0.1 0.1 0.1 0.1 0.3 0.2 0.40
Maria Helionora Yulinda Sair S.E. 0.3 0.3 0.3 0.3 0.3 0.9 0.6 1.20
Maria Megachita Da Silva A.Md.Stat 0.1 0.1 0.1 0.1 0.1 0.3 0.2 0.40
Sekolastika Maria Filipensa Naru SE 0.1 0.1 0.1 0.1 0.1 0.3 0.2 0.40
Wihelmus Wedo S.Tr.Stat 0.1 0.3 0.3 0.1 0.3 0.3 0.6 0.80
Yoseph Yakobus Dedo S.E 0.1 0.1 0.1 0.1 0.1 0.3 0.2 0.40
Juliana Marbun A. Md 0.3 0.3 0.3 0.3 0.3 0.9 0.6 1.20
Maria Diaz De Rozari 0.3 0.3 0.1 0.3 0.3 0.3 0.6 0.88
Maryo Yoseph Ambarto Dwi Sili Osan A.Md.Stat 0.3 0.3 0.3 0.3 0.3 0.3 0.6 0.96
Alvino Alexandro Yappy A.Md 0.3 0.1 0.3 0.3 0.3 0.9 0.2 0.96
Cornelia Christina Temu A.Md.Stat. 0.3 0.3 0.1 0.1 0.1 0.3 0.2 0.56

Indeks EMON

Setelah menghitung nilai masing-masing aspek, kita bisa menghitung nilai Indeks EMON. Untuk itu, kita perlu melakukan join.

tbl_aspek_joined <- 
tbl_aspek_kinerja |> 
  full_join(tbl_aspek_berakhlak, by = join_by(pegawai)) |>
  left_join(emon_db_pegawai, by = join_by(pegawai == nama_response)) |>
  full_join(tbl_aspek_administrasi, by = join_by(nip, nama_presensi))

tbl_emon <- 
tbl_aspek_joined |>
  mutate(indeks_emon = aspek_administrasi + aspek_kinerja + aspek_berakhlak) |>
  select(nama_presensi, contains("aspek"), indeks_emon) |>
  arrange(desc(indeks_emon))

knitr::kable(tbl_emon)
nama_presensi aspek_kinerja aspek_berakhlak aspek_administrasi indeks_emon
Felia Tifani Cornelia Klau 1.20 1.20 0.60 3.00
Imelda Sandrawati Ambot 1.20 1.20 0.60 3.00
Maria Helionora Yulinda Sair 1.20 1.20 0.60 3.00
Juliana Marbun 1.04 1.20 0.60 2.84
Clementine Mursitadewi Riantoby 1.04 1.12 0.60 2.76
Maryo Yoseph Ambarto Dwi Sili Osan 1.20 0.96 0.36 2.52
Wihelmus Wedo 0.96 0.80 0.60 2.36
Maria Diaz De Rozari 0.72 0.88 0.60 2.20
Alvino Alexandro Yappy 0.88 0.96 0.36 2.20
Cornelia Christina Temu 0.88 0.56 0.60 2.04
Neka Putri Fardila 0.72 0.72 0.36 1.80
Choirunnisa Jati Safitri 0.48 0.40 0.60 1.48
Yohanes Lada Regaletha 0.40 0.40 0.60 1.40
Kasianus Vinsensius Wero 0.40 0.40 0.60 1.40
Klara Yosefa Edralin Paoe 0.40 0.40 0.60 1.40
Maria Carlin Bepsi Costa 0.40 0.40 0.60 1.40
Maria Megachita Da Silva 0.40 0.40 0.60 1.40
Sekolastika Maria Filipensa Naru 0.40 0.40 0.60 1.40
Yoseph Yakobus Dedo 0.40 0.40 0.60 1.40
Valentinus Nong Sina Gharu 0.40 0.36 0.60 1.36
Fransiskus Saverius Soba 0.40 0.36 0.60 1.36
Averinus Emanuel 0.40 0.40 0.36 1.16

Semua pegawai telah dihitung nilai indeks EMON-nya dan diurutkan. Interpretasi nilai emon adalah sebagai berikut :

  1. Nilai 0 - 0.99 : secara rata-rata ada di antara kurang baik dan baik
  2. Nilai 1 - 2.99 : secara rata-rata ada diantara Baik dan sangat baik
  3. Nilai 3 : nilai sempurna a.k.a sangat baik

Terdapat 3 nama yang memiliki nilai emon tertinggi. Oleh karena itu, perlu dilakukan tie-breaker.

Tie-Breaker

emon_winner <- "Imelda Sandrawati Ambot"

Setelah memberitahu kepada Kepala BPS Kabupaten Sikka, diputuskan bahwa Employee of the Month untuk bulan maret tahun 2025 adalah Imelda Sandrawati Ambot. Beliau di pilih karena

  1. Mewakili BPS Kabupaten Sikka mendapatkan penghargaan dari KPPN Ende
  2. Mewakili BPS Kabupaten Sikka dalam rapat Satu Data Sikka di Bapperida.