NIM: 053171546
Jurusan: Sistem Informasi
UPBJJ: Padang
Universitas: Universitas Terbuka


1 Soal 1: Fungsi Perintah R

1.1 ls(pat = "y")

Fungsi: Perintah ls() digunakan untuk menampilkan daftar semua objek yang tersimpan di dalam environment R saat ini. Argumen pat = "y" (singkatan dari pattern) berfungsi sebagai filter, sehingga hanya objek yang mengandung huruf “y” pada namanya yang akan ditampilkan.

# Buat beberapa objek contoh
x_nilai  <- 10
y_nilai  <- 20
xy_data  <- c(1, 2, 3)
alpha    <- "hello"

# Tampilkan objek yang mengandung huruf "y"
ls(pat = "y")
## [1] "xy_data" "y_nilai"

Output: Hanya objek bernama xy_data dan y_nilai yang tampil karena keduanya mengandung huruf “y”.

1.2 for (i in 1:25) { print(i) }

Fungsi: Perintah ini adalah perulangan (loop) for yang mengiterasi variabel i dari angka 1 hingga 25 secara berurutan. Setiap iterasi, fungsi print(i) mencetak nilai i ke konsol. Total iterasi yang dilakukan adalah 25 kali.

for (i in 1:25) {
  print(i)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
## [1] 11
## [1] 12
## [1] 13
## [1] 14
## [1] 15
## [1] 16
## [1] 17
## [1] 18
## [1] 19
## [1] 20
## [1] 21
## [1] 22
## [1] 23
## [1] 24
## [1] 25

Output: Angka 1 sampai 25 dicetak satu per satu ke konsol.

1.3 setwd("C:/B")

Fungsi: Perintah setwd() (set working directory) digunakan untuk mengubah direktori kerja aktif R ke lokasi folder yang ditentukan. Pada perintah setwd("C:/B"), R akan menjadikan folder B pada drive C: sebagai direktori kerja. Semua operasi baca/tulis file akan mengacu pada folder tersebut.

# Contoh penggunaan setwd
# (akan error jika folder C:/B tidak ada di komputer Anda)
setwd("C:/B")
## Error in `setwd()`:
## ! cannot change working directory
# Untuk memverifikasi direktori kerja aktif, gunakan:
getwd()
## [1] "C:/Users/allif/Documents"

Catatan: Perintah ini hanya berhasil jika folder C:/B benar-benar ada di sistem. Gunakan getwd() untuk mengecek direktori kerja saat ini.


2 Soal 2: Membuat Data Frame Mahasiswa

Berikut perintah R untuk membuat data frame berisi 18 baris data mahasiswa dengan variabel Prodi, asal_daerah, dan usia.

# Membuat data frame mahasiswa
mahasiswa <- data.frame(
  Prodi = rep(c("Matematika", "Statistika", "Biologi"), times = 6),
  asal_daerah = rep(
    c("Jakarta", "Jakarta", "Jakarta",
      "Bogor",   "Bogor",   "Bogor",
      "Bandung", "Bandung", "Bandung"),
    times = 2
  ),
  usia = c(rep(22, 9), rep(26, 9))
)

# Tampilkan data frame
print(mahasiswa)
##         Prodi asal_daerah usia
## 1  Matematika     Jakarta   22
## 2  Statistika     Jakarta   22
## 3     Biologi     Jakarta   22
## 4  Matematika       Bogor   22
## 5  Statistika       Bogor   22
## 6     Biologi       Bogor   22
## 7  Matematika     Bandung   22
## 8  Statistika     Bandung   22
## 9     Biologi     Bandung   22
## 10 Matematika     Jakarta   26
## 11 Statistika     Jakarta   26
## 12    Biologi     Jakarta   26
## 13 Matematika       Bogor   26
## 14 Statistika       Bogor   26
## 15    Biologi       Bogor   26
## 16 Matematika     Bandung   26
## 17 Statistika     Bandung   26
## 18    Biologi     Bandung   26
Tabel Data Frame Mahasiswa
No Prodi asal_daerah usia
1 Matematika Jakarta 22
2 Statistika Jakarta 22
3 Biologi Jakarta 22
4 Matematika Bogor 22
5 Statistika Bogor 22
6 Biologi Bogor 22
7 Matematika Bandung 22
8 Statistika Bandung 22
9 Biologi Bandung 22
10 Matematika Jakarta 26
11 Statistika Jakarta 26
12 Biologi Jakarta 26
13 Matematika Bogor 26
14 Statistika Bogor 26
15 Biologi Bogor 26
16 Matematika Bandung 26
17 Statistika Bandung 26
18 Biologi Bandung 26

Penjelasan Struktur:

  • Prodi –> diulang 6 kali dengan rep(..., times = 6)
  • asal_daerah –> setiap kota diulang 3 kali untuk usia 22 dan 26
  • usia –> 9 baris bernilai 22, diikuti 9 baris bernilai 26

3 Soal 3: Data Waktu Aktivitas Harian

3.1 Data Aktivitas Harian

Berikut data estimasi waktu (dalam menit) untuk 20 aktivitas harian yang dikelompokkan selama 4 hari dengan 5 aktivitas per hari.

Aktivitas Hari 1 Hari 2 Hari 3 Hari 4
Tidur 480 450 500 420
Belajar 120 150 90 180
Makan 60 75 60 90
Bermain HP 90 120 100 150
Olahraga 30 0 45 60

3.2 Membuat Matriks 4×5

# Data waktu aktivitas harian (dalam menit)
# Matriks 4 baris (hari) x 5 kolom (aktivitas)
data_waktu <- matrix(
  data = c(
    480, 120, 60,  90,  30,   # Hari 1
    450, 150, 75, 120,   0,   # Hari 2
    500,  90, 60, 100,  45,   # Hari 3
    420, 180, 90, 150,  60    # Hari 4
  ),
  nrow    = 4,
  ncol    = 5,
  byrow   = TRUE,
  dimnames = list(
    c("Hari 1", "Hari 2", "Hari 3", "Hari 4"),
    c("Tidur", "Belajar", "Makan", "Bermain HP", "Olahraga")
  )
)

# Tampilkan matriks
print(data_waktu)
##        Tidur Belajar Makan Bermain HP Olahraga
## Hari 1   480     120    60         90       30
## Hari 2   450     150    75        120        0
## Hari 3   500      90    60        100       45
## Hari 4   420     180    90        150       60

3.3 Statistik Deskriptif

# Fungsi modus (R tidak memiliki fungsi bawaan untuk modus)
modus <- function(x) {
  tabel <- table(x)
  as.numeric(names(tabel[tabel == max(tabel)]))
}

# Hitung statistik dari seluruh data dalam matriks
semua_data <- as.vector(data_waktu)

cat("======================================\n")
cat("   STATISTIK DESKRIPTIF DATA HARIAN  \n")
cat("======================================\n")
cat(sprintf("Minimum  : %g menit\n",   min(semua_data)))
cat(sprintf("Maksimum : %g menit\n",   max(semua_data)))
cat(sprintf("Rata-rata: %.2f menit\n", mean(semua_data)))
cat(sprintf("Median   : %g menit\n",   median(semua_data)))
cat(sprintf("Modus    : %s menit\n",
            paste(modus(semua_data), collapse = ", ")))
cat("======================================\n")
## ======================================
##    STATISTIK DESKRIPTIF DATA HARIAN  
## ======================================
## Minimum  : 0 menit
## Maksimum : 500 menit
## Rata-rata: 163.50 menit
## Median   : 95 menit
## Modus    : 60, 90 menit
## ======================================
Ringkasan Statistik Deskriptif Data Aktivitas Harian
Statistik Nilai_Menit
Minimum 0
Maksimum 500
Rata-rata 163.5
Median 95
Modus 60, 90

Interpretasi Hasil:

  • Minimum (0 menit): Pada Hari 2 tidak ada aktivitas olahraga sama sekali.
  • Maksimum (500 menit): Waktu tidur terlama terjadi pada Hari 3.
  • Rata-rata: Menunjukkan rata-rata durasi dari seluruh 20 data aktivitas.
  • Median: Nilai tengah dari data yang telah diurutkan.
  • Modus: Nilai yang paling sering muncul dalam data.

4 Daftar Referensi

Environmental Learning. (2018, Desember 28). Statistika deskriptif (central tendency & spread) – R. WordPress. https://environmentallearning.wordpress.com/2018/12/28/statistika-deskriptif-r/

Rozzaq, M. A. (2023, Juni 13). Dataframe. RPubs. https://rpubs.com/M_AbdulRozzaq/1054442

Rif’uddin, A. (2020, September 17). Dasar-dasar R dan manajemen data frame. RPubs. https://rpubs.com/arifuddinr/666702

Scribd. (2020). Penggunaan for loop dalam R. Scribd. https://id.scribd.com/document/452315532/FOR-LOOP-KELOMPOK-4-pdf

Syamsul Hadi, M. A. (2022, Desember 13). Membuat data frame dari vectors di pemrograman R. RPubs. https://rpubs.com/auliasyamsul/983780


Dokumen ini dibuat menggunakan R Markdown | Universitas Terbuka, UPBJJ Padang.