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)

Membuat Plot

Mengambil Library

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2

Menganalisis Kegiatan Berdasarkan Kategori

analisis_kategori <- activities %>%
  group_by(kategori) %>%
  summarise(
    jumlah_kegiatan = n(),
    rata_rata_max_peserta = mean(max_peserta)
  )

Hasil Visualisasi Plot

Analisis tingkat partisipasi relawan aktif

## # A tibble: 5 × 3
##   nama_lengkap   keahlian     total_partisipasi
##   <chr>          <chr>                    <int>
## 1 Ahmad Fauzi    Kesehatan                    2
## 2 Sari Dewi      Pendidikan                   2
## 3 Linda Maharani Lingkungan                   1
## 4 Maya Sari      Sosial                       1
## 5 Rudi Hermawan  Administrasi                 1