R
# Skrip untuk membangun data deck kartu
face <- c("king", "queen", "jack", "ten")
suit <- c("spades", "spades", "spades", "spades")
value <- c(13, 12, 11, 10)
deck <- data.frame(face, suit, value)Studi Kasus: Big Project
Tim Asisten Lab Matematika UI
October 2, 2025
Kembali ke Arsip Praktikum PSD 2025
Setelah menyelesaikan modul ini, mahasiswa diharapkan mampu:
str().Selamat datang di proyek pertama Anda!
Bayangkan Anda baru saja bergabung sebagai analis data di sebuah perusahaan analitik game. Manajer Anda langsung memberikan sebuah tantangan besar yang diberi nama “Big Project”. Tugas Anda adalah membangun sebuah sistem untuk menganalisis probabilitas dalam permainan kartu, menggunakan data mentah dari puluhan ribu permainan.
Manajer Anda menekankan dua hal:
Tugas kita dalam modul ini adalah mensimulasikan dan menyelesaikan dua persiapan fundamental tersebut. Kita akan belajar cara memasang power tools yang disebut Packages untuk meningkatkan kemampuan R kita secara drastis.
Setiap proyek analisis data yang serius harus dimulai dengan membuat “rumah”-nya sendiri. Di RStudio, rumah ini disebut Project. Ini memastikan semua file kita (skrip, data, dan hasil) berada di satu tempat yang aman dan terorganisir.
Sebuah project membuat pekerjaan Anda:
Mari kita ikuti langkah-langkah berikut untuk membuat ‘garasi’ resmi bagi proyek analisis kartu kita.
Buat Project Baru: Di RStudio, klik File > New Project.... Pilih New Directory, lalu New Project. Beri nama direktori, misalnya Proyek_Analisis_Kartu, dan klik Create Project.
Masuk ke Garasi Baru: RStudio akan me-restart. Perhatikan bahwa sekarang direktori kerja Anda sudah otomatis mengarah ke folder proyek yang baru saja dibuat.
Buat Skrip R Baru: Klik File > New File > R Script. Di dalam skrip ini, ketikkan kode yang kita buat di Bagian 2 untuk membuat data frame deck.
Ctrl + S (atau Cmd + S) dan beri nama file, misalnya buat_deck.R. File ini akan otomatis tersimpan di dalam ‘garasi’ proyek Anda.Selesai! Sekarang “Big Project” kita memiliki rumahnya sendiri. Semua ‘power tools’ yang kita pasang dan ‘bahan baku’ yang kita siapkan akan tersimpan rapi di sini, siap untuk tahap analisis selanjutnya.
Anda hanya perlu menginstal sebuah package satu kali. Kita akan coba menginstal dplyr, sebuah package yang sangat populer untuk manipulasi data. Buka RStudio Anda dan ketik di konsol:
Setiap kali Anda memulai sesi R baru dan ingin menggunakan fungsi dari dplyr, Anda harus memuatnya terlebih dahulu dengan fungsi library().
Bagaimana cara mengetahui fungsi apa saja yang ada di dplyr atau bagaimana cara menggunakannya? Gunakan tanda tanya ?. Misalnya, kita ingin tahu cara kerja fungsi mutate() dari dplyr.
Perhatikan panel Help di RStudio, di sana akan muncul dokumentasi lengkapnya. Ini adalah keterampilan yang sangat penting.
Setelah garasi siap, saatnya kita menyiapkan ‘bahan baku’ untuk diolah. Di R, semua data—dari angka tunggal hingga tabel kompleks—disimpan dalam wadah yang disebut objek. Memahami berbagai jenis ‘bahan baku’ ini adalah keterampilan fundamental yang membedakan analis data pemula dan profesional.
Ini adalah tipe objek paling dasar, ibarat ‘bata’ atau ‘sekrup’ dalam proyek kita. Atomic vector adalah rangkaian nilai dengan tipe yang sama.
Rangkaian ini harus homogen. Anda tidak bisa mencampur teks dan angka dalam satu atomic vector tanpa R mengubah tipenya secara paksa (sebuah proses yang disebut coercion).
Semua ‘bata’ di R memiliki material dasar. Ada enam tipe utama, namun empat di antaranya akan Anda gunakan 99% setiap saat.
Ini adalah tipe default untuk angka di R. Tipe ini bisa menampung angka desimal.
Jika Anda yakin hanya akan bekerja dengan bilangan bulat, Anda bisa membuatnya secara eksplisit dengan menambahkan L di belakang angka. Ini menghemat memori.
Untuk menyimpan data teks. Selalu diapit oleh tanda kutip " atau '.
Dalam statistika, kita sering bekerja dengan variabel kategorikal (data yang nilainya terbatas pada beberapa level). Untuk “Big Project” kita, kolom face dan suit adalah contoh sempurna. Menyimpannya sebagai teks biasa itu kurang efisien. R punya tipe data khusus untuk ini: Faktor.
Faktor lebih pintar dari teks biasa karena R secara internal menyimpan “level” atau kategori yang mungkin ada. Ini sangat berguna untuk pemodelan dan visualisasi.
R
[1] king queen jack ten
Levels: jack king queen ten
[1] spades spades spades spades
Levels: spades
Perhatikan outputnya! R memberitahu kita apa saja Levels yang ada di dalam faktor tersebut.
Sekarang kita bisa membangun Data Frame kita dengan ‘bahan baku’ yang lebih baik. Data frame adalah objek 2D yang ajaib karena bisa menampung kolom dengan tipe yang berbeda-beda (numeric, character, factor, dll.).
Mari kita rakit data frame untuk proyek kartu kita menggunakan character, factor, dan numeric.
R
# Buat tiga vector terpisah sebagai 'bahan baku'
face <- c("king", "queen", "jack", "ten")
suit <- c("spades", "spades", "spades", "spades")
value <- c(13, 12, 11, 10)
# Gabungkan menjadi satu blueprint data frame
deck <- data.frame(
face = factor(face), # Langsung diubah jadi faktor
suit = factor(suit),
value = value
)
deck face suit value
1 king spades 13
2 queen spades 12
3 jack spades 11
4 ten spades 10
Data frame mengharuskan semua kolomnya punya panjang yang sama. Tapi bagaimana jika kita ingin menyimpan beberapa jenis objek (seperti data frame, beberapa catatan proyek, dan sebuah vector) dalam satu wadah tanpa aturan tersebut? Kita gunakan list.
Sebuah list adalah objek paling fleksibel, ibarat kotak perkakas yang bisa diisi apa saja.
R
$nama_proyek
[1] "Analisis Kartu Big Project"
$penanggung_jawab
[1] "Budi" "Ani"
$data_utama
face suit value
1 king spades 13
2 queen spades 12
3 jack spades 11
4 ten spades 10
$sudah_dimulai
[1] TRUE
Menyimpan data itu satu hal, mengambilnya kembali adalah hal lain. Ini adalah keterampilan krusial. Ada tiga cara utama untuk “mencomot” data dari dalam objek:
Cara paling umum dan mudah dibaca untuk mengakses kolom dalam data.frame atau elemen dalam list yang memiliki nama.
Sangat berguna untuk mengambil satu elemen dari list. Anda bisa menggunakan nama (dengan kutip) atau nomor posisinya.
Ini adalah alat paling serbaguna, digunakan untuk mengambil satu atau lebih elemen. Untuk data frame, formatnya adalah [baris, kolom].
face suit value
1 king spades 13
[1] spades spades spades spades
Levels: spades
[1] jack
Levels: jack king queen ten
Setelah membuat dan memanipulasi objek, kita perlu cara cepat untuk memeriksanya. Berikut adalah tiga fungsi diagnostik yang akan Anda gunakan setiap hari.
str (structure) adalah teman terbaik Anda. Fungsi ini memberikan diagnosis cepat tentang struktur internal sebuah objek.
'data.frame': 4 obs. of 3 variables:
$ face : Factor w/ 4 levels "jack","king",..: 2 3 1 4
$ suit : Factor w/ 1 level "spades": 1 1 1 1
$ value: num 13 12 11 10
List of 4
$ nama_proyek : chr "Analisis Kartu Big Project"
$ penanggung_jawab: chr [1:2] "Budi" "Ani"
$ data_utama :'data.frame': 4 obs. of 3 variables:
..$ face : Factor w/ 4 levels "jack","king",..: 2 3 1 4
..$ suit : Factor w/ 1 level "spades": 1 1 1 1
..$ value: num [1:4] 13 12 11 10
$ sudah_dimulai : logi TRUE
Perhatikan bagaimana str() dengan jelas menunjukkan mana kolom yang bertipe Factor, numeric, dll.
Memberikan ringkasan statistik untuk setiap kolom dalam data frame. Untuk kolom numerik, ia memberikan statistik deskriptif. Untuk kolom faktor, ia memberikan hitungan frekuensi.
Digunakan untuk “mengintip” beberapa baris pertama atau terakhir dari objek data Anda. Sangat berguna jika Anda bekerja dengan data yang sangat besar.
Luar biasa! Anda telah berhasil menyelesaikan tahap persiapan fundamental untuk “Big Project” Anda dengan alur kerja yang profesional. Anda kini tahu cara:
vector, data.frame, list) di dalamnya.Dengan fondasi ini, Anda siap menghadapi tantangan analisis data yang lebih kompleks di modul-modul berikutnya.
Untuk menguji pemahaman Anda, selesaikan tantangan terintegrasi berikut:
Latihan_Modul_4.proyek_pemain. List ini harus berisi dua item:
metadata: Sebuah character vector berisi nama Anda dan tanggal hari ini.data_pemain: Sebuah data.frame dengan 3 kolom: nama (3 nama fiktif), id_pemain (3 ID fiktif), dan level (misal: “Gold”, “Silver”, “Bronze”).str() untuk menampilkan struktur dari list proyek_pemain tersebut.ggplot2 (jika Anda belum punya).ggplot2 menggunakan library().?ggplot untuk membuka halaman bantuan dari fungsi utama package tersebut.Simpan R skrip Anda. Jika Anda berhasil menyelesaikan semua langkah, Anda telah menguasai tiga pilar fundamental alur kerja analisis data di R!