Memanggil Library
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.2
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
## Warning: package 'tidyr' was built under R version 4.5.2
Membuat Tabel
1. Membuat Tabel
# Tabel volunteers
volunteers <- data.frame(
id_volunteer = 1:6,
nama_lengkap = c("Sari Dewi", "Ahmad Fauzi", "Linda Maharani",
"Budi Santoso", "Maya Sari", "Rudi Hermawan"),
email = c("sari.dewi@email.com", "ahmad.fauzi@email.com",
"linda.maharani@email.com", "budi.santoso@email.com",
"maya.sari@email.com", "rudi.hermawan@email.com"),
no_telepon = c("081234567890", "082345678901", "083456789012",
"084567890123", "085678901234", "086789012345"),
keahlian = c("Pendidikan", "Kesehatan", "Lingkungan",
"Teknologi", "Sosial", "Administrasi"),
tahun_bergabung = c(2022, 2021, 2023, 2020, 2022, 2021),
status_aktif = c("Aktif", "Aktif", "Aktif", "Tidak Aktif", "Aktif", "Aktif")
)
library(DT)
## Warning: package 'DT' was built under R version 4.5.2
datatable(volunteers)
2. Membuat Tabel Activities
# Tabel activities
activities <- data.frame(
id_activity = 1:5,
nama_kegiatan = c("Bersih Pantai", "Donor Darah", "Mengajar Anak Jalanan",
"Pelatihan Digital", "Bakti Sosial"),
kategori = c("Lingkungan", "Kesehatan", "Pendidikan",
"Teknologi", "Sosial"),
tanggal_mulai = as.Date(c("2024-03-15", "2024-03-20", "2024-03-25",
"2024-04-01", "2024-04-05")),
lokasi = c("Pantai Kuta", "RS Umum", "Jalan Malioboro",
"Gedung Serbaguna", "Desa Sukamaju"),
max_peserta = c(50, 30, 20, 25, 40)
)
library(DT)
datatable(activities)
3. Membuat Tabel Participation
# Tabel participation
participation <- data.frame(
id_participation = 1:8,
id_volunteer = c(1, 2, 3, 1, 4, 5, 6, 2),
id_activity = c(1, 2, 3, 4, 1, 5, 3, 5),
tanggal_daftar = as.Date(c("2024-03-10", "2024-03-15", "2024-03-20",
"2024-03-28", "2024-03-12", "2024-04-01",
"2024-03-22", "2024-04-03")),
status_kehadiran = c("Hadir", "Hadir", "Tidak Hadir", "Hadir",
"Hadir", "Belum Dimulai", "Hadir", "Belum Dimulai")
)
library(DT)
datatable(participation)
Manipulasi Data
1. Menampilkan Data Relawan yang bergabung tahun 2022 ke atas,
urutkan berdasarkan nama
relawan_baru <- volunteers %>%
filter(tahun_bergabung >= 2022) %>%
arrange(nama_lengkap)
library(DT)
datatable(relawan_baru)
2. Menampilkan kegiatan kategori “Pendidikan” dan “Kesehatan”
kegiatan_prioritas <- activities %>%
filter(kategori %in% c("Pendidikan", "Kesehatan")) %>%
arrange(tanggal_mulai)
library(DT)
datatable(kegiatan_prioritas)
3. Menggabungkan data untuk melihat partisipasi relawan beserta
detail kegiatan
partisipasi_lengkap <- participation %>%
left_join(volunteers, by = "id_volunteer") %>%
left_join(activities, by = "id_activity") %>%
select(nama_lengkap, nama_kegiatan, kategori, tanggal_daftar, status_kehadiran)
library(DT)
datatable(partisipasi_lengkap)
4. Menghitung jumlah partisipasi per relawan
summary_partisipasi <- partisipasi_lengkap %>%
group_by(nama_lengkap) %>%
summarise(
total_kegiatan = n(),
kegiatan_hadir = sum(status_kehadiran == "Hadir"),
tingkat_kehadiran = round(kegiatan_hadir/total_kegiatan * 100, 2)
) %>%
arrange(desc(total_kegiatan))
library(DT)
datatable(summary_partisipasi)