::opts_chunk$set(
knitrmessage = FALSE, warning = FALSE
)
library(tidyverse)
library(readxl)
library(here)
library(magrittr)
<- "maret"
bulan <- "2025" tahun
Kertas Kerja EMON
Bulan Maret Tahun 2025
Pendahuluan
Selamat datang di Kertas Kerja EMON bulan maret 2025. Bulan ini terdapat beberapa pengembangan script dari bulan lalu.
Input Data
<- here("data/Rekap Presensi Satker 1744167175654.xlsx")
data_presensi <- here("data/Form Penilaian Employee Of The Month BPS Kabupaten Sikka(1-665).xlsx")
data_response
<-
tbl_presensi_all read_xlsx(data_presensi, skip = 6) |>
::clean_names()
janitor
<-
tbl_response_raw read_xlsx(data_response) |>
::clean_names() |>
janitor# 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)) |>
::kable() knitr
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;
Afriani Niana Danus (NIP 340057264), sebab sedang menjalani Tugas Belajar
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_raw tbl_response_cleaned
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
<- here("data/emon_db_pegawai.xlsx") |> read_xlsx() emon_db_pegawai
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.
- Administrasi (bobot 20%)
- Kinerja (bobot 40%)
- Core Value ASN Berakhlak (bobot 40%)
Penilaian Administrasi
Administrasi terdiri dari 2 sub bagian penilaian yakni
- Kedisiplinan, diukur dengan jumlahnya pelanggaran ringan, pelanggaran sedang, dan pelanggaran berat pada bulan maret.
- 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(
<= 94.99 ~ 0,
persen |> between(95.00, 99.99) ~ 1,
persen .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%
)
::kable(tbl_aspek_administrasi) knitr
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
<- function(x) {
fx <-
y case_when(
== "Sangat Baik" ~ 3,
x == "Baik" ~ 1,
x == "Kurang Baik" ~ 0,
x .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%
)
::kable(tbl_aspek_kinerja) knitr
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%
)
::kable(tbl_aspek_berakhlak) knitr
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))
::kable(tbl_emon) knitr
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 :
- Nilai 0 - 0.99 : secara rata-rata ada di antara kurang baik dan baik
- Nilai 1 - 2.99 : secara rata-rata ada diantara Baik dan sangat baik
- 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
<- "Imelda Sandrawati Ambot" emon_winner
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
- Mewakili BPS Kabupaten Sikka mendapatkan penghargaan dari KPPN Ende
- Mewakili BPS Kabupaten Sikka dalam rapat Satu Data Sikka di Bapperida.