SA251308 - Algoritma dan Pemrograman

Ganil 2025

Informasi Mata Kuliah

Keterangan Detail
Kode Mata Kuliah SA251308
Nama Mata Kuliah Algoritma dan Pemrograman
SKS 3 SKS (2 Teori + 1 Praktikum)
Semester Ganjil 2025/2026

Deskripsi Mata Kuliah

Mata kuliah ini memperkenalkan mahasiswa pada konsep dasar algoritma dan pemrograman menggunakan bahasa R. Mahasiswa akan mempelajari tipe data, struktur data, alur kontrol, fungsi, serta ekosistem tidyverse untuk analisis dan manipulasi data. Pada akhir semester, mahasiswa mampu melakukan analisis data mandiri, membuat laporan reproducible dengan Quarto, dan mengelola proyek kode menggunakan GitHub. Fokus pembelajaran juga meliputi penerapan pada kasus dasar aktuaria dan sains data.

Capaian Pembelajaran Mata Kuliah (CPMK)

Setelah mengikuti mata kuliah ini, mahasiswa mampu:

  1. CPMK 1 — Menjelaskan konsep dasar algoritma dan pemrograman, serta memahami dan menggunakan tipe data, variabel, dan struktur data dasar di R (vektor, matriks, tibble).
  2. CPMK 2 — Menulis program menggunakan alur kontrol (if-else, loop) dan membuat fungsi buatan sendiri untuk otomatisasi tugas serta simulasi kasus sederhana.
  3. CPMK 3 — Memanipulasi, membersihkan, dan mengagresi data menggunakan ekosistem tidyverse ({dplyr}, {tidyr}, {purrr}, {forcats}) untuk analisis data.
  4. CPMK 4 — Mengimpor/mengekspor data dari berbagai format dan sumber, menggabungkan beberapa tabel, serta membuat program untuk kasus dasar aktuaria/keuangan (bunga majemuk, nilai sekarang, rata-rata klaim).
  5. CPMK 5 — Membuat laporan reproducible menggunakan Quarto dan mengelola proyek kode dengan GitHub.

Materi Pokok

  1. Pengantar R, RStudio, dan manajemen proyek
  2. Variabel, tipe data, dan operasi dasar (numerik, logika, teks, tanggal)
  3. Vektor, matriks, data frame, dan tibble
  4. Struktur kontrol: percabangan (if-else) dan perulangan (for, while)
  5. Fungsi buatan sendiri dan pemrograman modular
  6. Prinsip tidy data dan transformasi data dengan {tidyr}
  7. Manipulasi data dengan {dplyr}: filter, select, mutate, summarise, join
  8. Faktor, list, dan pemrograman fungsional dengan {purrr}
  9. Impor/ekspor data dan koneksi database SQL
  10. Aplikasi algoritma untuk kasus aktuaria/keuangan
  11. Pelaporan reproducible dengan Quarto dan version control dengan GitHub

Rencana Pembelajaran Semester

Keterangan bobot penilaian: Tugas harian (20%), Tugas Besar/Proyek 2× (20%), UTS (30%), UAS (30%).

Mgg ke Sub-CPMK (Kemampuan Akhir) Indikator Penilaian Kriteria & Bentuk Penilaian Bentuk, Metode Pembelajaran & Penugasan Materi Pembelajaran [Pustaka] Bobot Penilaian (%)
1 Mahasiswa mampu menginstal R & RStudio, membuat proyek, mendefinisikan variabel berbagai tipe data, dan menggunakan paket {glue}. Mendefinisikan variabel numerik, teks, dan logika; menggunakan glue() Tugas individu / kuis Ceramah, demonstrasi, praktikum komputer Pengantar R, RStudio, manajemen proyek, tipe data dasar [2], [4] 2
2 Mahasiswa mampu menggunakan operator logika, membuat kondisi, dan mengelola data tanggal menggunakan {lubridate}. Membuat ekspresi logika dan mengolah variabel tanggal Tugas coding Demonstrasi, praktikum komputer Variabel logika, operator kondisi, variabel tanggal & {lubridate} [2], [5] 2
3 Mahasiswa mampu membuat dan memanipulasi vektor, mengakses elemen berdasarkan indeks/kondisi, dan menerapkan operasi statistik dasar. Program pengolahan vektor dan fungsi statistik (sum, mean, median) Kuis & tugas coding Demonstrasi, praktikum komputer Vektor: concatenation, urutan numerik, operasi statistik dasar [2], [4] 2
4 Mahasiswa mampu membuat matriks dan data frame, memahami perbedaan dengan tibble, dan memilih format yang tepat untuk analisis data. Membuat dan memanipulasi matriks, data.frame, dan tibble Tugas coding Demonstrasi, praktikum komputer Matriks, data.frame, tibble; perbedaan dan keunggulan masing-masing [1], [2] 3
5 Mahasiswa mampu membuat alur kontrol kondisional dan membuat laporan/presentasi sederhana menggunakan Quarto. Program if-else dan dokumen Quarto sederhana Tugas individu Ceramah, demonstrasi, praktikum Struktur kontrol: if, if-else, if_else(); pengantar Quarto (.qmd) [2], [5] 3
6 Mahasiswa mampu mengenali data yang tidak rapi, mengonversi ke format tidy, dan menggunakan operator pipe dengan efisien. Transformasi data dengan pivot_longer/wider, separate, unite Tugas coding Demonstrasi, praktikum komputer Prinsip tidy data, {tidyr}: pivot, separate, unite, nest; operator pipe |> [1], [5] 3
7 Mahasiswa mampu menyaring, mengurutkan, mengambil sampel, dan memanipulasi baris data menggunakan {dplyr}. Program filter, slice, arrange pada dataset nyata Penilaian project mini Praktikum, kerja kelompok {dplyr} berbasis baris: filter(), drop_na(), slice(), arrange(), distinct() [1], [5] 5
8 UTS Ujian tertulis / praktik R Tes tulis & coding Materi minggu 1–7 30
9 Mahasiswa mampu memilih, mengganti nama, membuat kolom baru, dan melakukan rekategorisasi variabel menggunakan {dplyr}. Program select, mutate, case_when pada dataset Tugas coding Demonstrasi, praktikum komputer {dplyr} berbasis kolom: select(), rename(), mutate(), if_else(), case_when() [1], [5] 3
10 Mahasiswa mampu menghitung frekuensi, mengelompokkan data, dan menghasilkan ringkasan statistik per grup. Program agregasi data dan statistik deskriptif per grup Kuis & tugas coding Demonstrasi, praktikum komputer count(), group_by(), summarise(), reframe(), across() [1], [5] 3
11 Mahasiswa mampu membuat dan mengontrol loop for dan while, serta memahami kapan loop diperlukan vs dihindari. Program simulasi menggunakan loop (mis. Masalah Monty Hall) Tugas coding Demonstrasi, praktikum komputer Loop: for(){}, while(){}, break, next; perbandingan efisiensi loop vs vektorisasi [2], [4] 3
12 Mahasiswa mampu mendefinisikan dan menggunakan fungsi buatan sendiri, memahami ruang lingkup variabel, dan mengotomatisasi tugas berulang. Membuat fungsi konverter dan fungsi perhitungan aktuaria (BMI, bunga majemuk, nilai sekarang) Kuis & tugas coding Demonstrasi, praktikum komputer Fungsi buatan sendiri: function(), argumen default, variabel lokal/global; aplikasi aktuaria dasar [2], [3] 3
13 Mahasiswa mampu menggabungkan beberapa tabel dan mengimpor/mengekspor data dari berbagai format file. Program join dataset dan import/export berbagai format file Tugas coding Demonstrasi, praktikum komputer Join: left/right/inner/full/semi/anti_join(); impor: .csv, .xlsx, .sav, .dta, API [1], [4] 3
14 Mahasiswa mampu mengelola variabel kualitatif sebagai faktor dan bekerja dengan struktur data list menggunakan {purrr}; menerapkan pada kasus aktuaria. Program faktor, list, dan perhitungan anuitas/klaim Penilaian project Praktikum & presentasi kelompok Faktor dengan {forcats}; list; pemrograman fungsional {purrr}: map(); aplikasi nilai sekarang anuitas [1], [3] 5
15 Mahasiswa mampu menghubungkan R dengan database SQL dan mengelola kode serta laporan menggunakan GitHub. Membuat repositori GitHub dan mempublikasikan laporan Quarto Tugas individu Demonstrasi, praktikum komputer {dbplyr}, DBI::dbConnect(); GitHub: repositori, commit, GitHub Pages; laporan Quarto [5] 3
16 UAS Ujian tertulis / praktik R + presentasi proyek akhir Tes tulis & coding Materi minggu 9–15 30

Sistem Penilaian

Komponen Penilaian Bobot Keterangan
Kehadiran & Partisipasi 10% Hadir minimal 80%, aktif di kelas
Tugas Mingguan 20% Latihan kode R setiap pertemuan
Tugas Besar / Proyek (2×) 20% Analisis data mandiri: deadline pertemuan 7 & 14
UTS (Pertemuan 8) 25% Ujian praktik R — materi pertemuan 1–7
UAS (Pertemuan 16) 25% Ujian praktik R + presentasi proyek akhir
Total 100%

Referensi

  1. Wickham, H., & Grolemund, G. (2023). R for Data Science (2nd ed.). O’Reilly. https://r4ds.hadley.nz/
  2. Wickham, H. (2019). Advanced R (2nd ed.). Chapman and Hall/CRC. https://adv-r.hadley.nz/
  3. Kabacoff, R. I. (2015). R in Action: Data Analysis and Graphics with R (2nd ed.). Manning Publications.
  4. Peng, R. D. (2020). R Programming for Data Science. Leanpub.
  5. Allaire, J. J., et al. (2023). Quarto Documentation. Posit. https://quarto.org/
  6. Matloff, N. (2011). The Art of R Programming: A Tour of Statistical Software Design. No Starch Press.
  7. Álvarez Liébana, J. (2025). Materi Kuliah Algoritma dan Pemrograman (Slide & Workbook). https://alpro25.netlify.app/

Catatan Tambahan

  • Semua praktikum dilakukan menggunakan R versi ≥ 4.1.0 dan RStudio Desktop terbaru.
  • Mahasiswa diwajibkan membuat akun GitHub sebelum pertemuan ke-15.
  • Tugas besar/proyek dikumpulkan dalam bentuk dokumen Quarto (.qmd) beserta file .html hasil render yang diunggah ke GitHub.
  • Referensi utama R for Data Science tersedia gratis secara online di https://r4ds.hadley.nz/
  • Materi slide dan workbook tersedia di https://alpro25.netlify.app/