Praktikum ini bertujuan untuk membekali mahasiswa dengan pemahaman dasar mengenai penggunaan bahasa pemrograman R dalam pengolahan dan analisis data. Materi yang disajikan difokuskan pada penguasaan konsep-konsep fundamental yang menjadi landasan penting sebelum memasuki tahap analisis data yang lebih lanjut.
Pembahasan meliputi operasi aritmetika dasar, pembuatan dan penggunaan variabel, serta pengenalan berbagai struktur data utama dalam R, seperti vektor, faktor, list, data frame, array, dan data table. Selain itu, mahasiswa diperkenalkan dengan penanganan missing value, pembangkitan data secara acak, serta penggunaan fungsi-fungsi statistika dasar untuk meringkas dan memahami karakteristik data.
Di akhir praktikum, mahasiswa diharapkan mampu: - Memahami perbedaan dan kegunaan berbagai struktur data di R.
- Melakukan simulasi data sederhana secara sistematis dan terstruktur.
- Membaca dan menginterpretasikan output R secara tepat untuk menarik makna dari data yang dianalisis.
Dengan demikian, praktikum ini diharapkan dapat membangun dasar keterampilan analisis data yang kuat serta mendukung pembelajaran materi analisis dan statistika pada tahap selanjutnya.
Operasi dasar matematika seperti penjumlahan, pengurangan, perkalian, pembagian, dan perpangkatan dapat dilakukan langsung di R. Syntax ini menunjukkan cara melakukan operasi tersebut.
5 + 3 # Penjumlahan: Menambahkan 5 dan 3, hasilnya 8
## [1] 8
5 - 10 # Pengurangan: Mengurangi 5 dengan 10, hasilnya -5
## [1] -5
4 * 2 # Perkalian: Mengalikan 4 dengan 2, hasilnya 8
## [1] 8
10 / 2 # Pembagian: Membagi 10 dengan 2, hasilnya 5
## [1] 5
2^3 # Pangkat: Menghitung 2 pangkat 3, hasilnya 8
## [1] 8
Variabel digunakan untuk menyimpan data. Di R, kita bisa membuat variabel dan mengisinya dengan nilai tertentu, lalu melakukan operasi dengan variabel tersebut.
a <- 10 # Membuat variabel 'a' dan mengisinya dengan nilai 10
b <- 5 # Membuat variabel 'b' dan mengisinya dengan nilai 5
c <- a + b # Membuat variabel 'c' yang berisi hasil penjumlahan 'a' dan 'b'
c # Menampilkan nilai dari variabel 'c'
## [1] 15
R memiliki beberapa struktur data dasar seperti vektor, faktor, list, dan dataframe. Struktur data ini digunakan untuk menyimpan dan mengelola data secara efisien.
vektor <- c(1, 2, 3, 4, 5) # Membuat vektor numerik dengan nilai 1 hingga 5
vektor # Menampilkan isi vektor
## [1] 1 2 3 4 5
Vektor karakter adalah kumpulan data teks yang disimpan dalam satu variabel. Di R, kita bisa membuat vektor karakter menggunakan fungsi c().
warna <- c("Merah", "Biru", "Hijau", "Merah", "Biru", "Hijau", "Merah")
warna # Menampilkan isi vektor karakter
## [1] "Merah" "Biru" "Hijau" "Merah" "Biru" "Hijau" "Merah"
str(warna)
## chr [1:7] "Merah" "Biru" "Hijau" "Merah" "Biru" "Hijau" "Merah"
Faktor adalah struktur data di R yang digunakan untuk menyimpan data kategorikal. Konversi ke faktor memungkinkan kita untuk menganalisis data kategorikal dengan lebih efisien.
warna_factor <- factor(warna) # Mengubah vektor karakter menjadi faktor
str(warna_factor)
## Factor w/ 3 levels "Biru","Hijau",..: 3 1 2 3 1 2 3
Level adalah kategori unik dalam faktor. Fungsi levels() digunakan untuk menampilkan semua level yang ada dalam suatu faktor.
levels(warna_factor) # Menampilkan level atau kategori unik dalam faktor
## [1] "Biru" "Hijau" "Merah"
Fungsi table() digunakan untuk menghitung frekuensi masing-masing kategori dalam faktor. Ini berguna untuk analisis data kategorikal.
table(warna_factor) # Menampilkan frekuensi masing-masing kategori dalam faktor
## warna_factor
## Biru Hijau Merah
## 2 2 3
List adalah struktur data yang dapat menyimpan berbagai jenis data, seperti vektor, teks, dan faktor, dalam satu objek. Ini membuat list sangat fleksibel.
data_list <- list(
angka = c(10, 20, 30, 40),
teks = c("A", "B", "C"),
kategori = factor(c("Baik", "Sedang", "Buruk"))
)
data_list
## $angka
## [1] 10 20 30 40
##
## $teks
## [1] "A" "B" "C"
##
## $kategori
## [1] Baik Sedang Buruk
## Levels: Baik Buruk Sedang
Fungsi print() digunakan untuk menampilkan seluruh isi list. Ini membantu melihat data yang disimpan dalam list.
print(data_list) # Menampilkan seluruh isi list
## $angka
## [1] 10 20 30 40
##
## $teks
## [1] "A" "B" "C"
##
## $kategori
## [1] Baik Sedang Buruk
## Levels: Baik Buruk Sedang
Kita bisa mengakses elemen dalam list menggunakan operator $ atau [[ ]]. Ini memungkinkan kita untuk mengambil data spesifik dari list.
data_list$angka # Mengakses elemen 'angka' dalam list
## [1] 10 20 30 40
data_list[[2]] # Mengakses elemen kedua dalam list (vektor 'teks')
## [1] "A" "B" "C"
Dataframe adalah struktur data tabular yang terdiri dari baris dan kolom. Setiap kolom dapat memiliki tipe data yang berbeda, mirip dengan tabel di database.
data_karyawan <- data.frame(
Nama = c("Andi", "Budi", "Citra", "Dewi", "Tika"), # Kolom Nama
Usia = c(25, 30, 27, 35, 28), # Kolom Usia
Pekerjaan = factor(c("Pegawai", "Wirausaha", "Mahasiswa", "Pegawai", "Pegawai")) # Kolom Pekerjaan
)
Fungsi print() digunakan untuk menampilkan seluruh isi dataframe. Ini membantu melihat data dalam format tabel.
print(data_karyawan) # Menampilkan seluruh isi dataframe
## Nama Usia Pekerjaan
## 1 Andi 25 Pegawai
## 2 Budi 30 Wirausaha
## 3 Citra 27 Mahasiswa
## 4 Dewi 35 Pegawai
## 5 Tika 28 Pegawai
Fungsi summary() memberikan ringkasan statistik dari dataframe, seperti nilai minimum, maksimum, rata-rata, dan frekuensi untuk data kategorikal.
summary(data_karyawan) # Menampilkan ringkasan statistik dari dataframe
## Nama Usia Pekerjaan
## Length:5 Min. :25 Mahasiswa:1
## Class :character 1st Qu.:27 Pegawai :3
## Mode :character Median :28 Wirausaha:1
## Mean :29
## 3rd Qu.:30
## Max. :35
Array adalah struktur data multidimensi. Array 3 dimensi dapat digunakan untuk menyimpan data dalam bentuk matriks 3D.
array_data <- array(1:24, dim = c(3, 4, 2)) # Membuat array dengan dimensi 3x4x2
array_data
## , , 1
##
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
##
## , , 2
##
## [,1] [,2] [,3] [,4]
## [1,] 13 16 19 22
## [2,] 14 17 20 23
## [3,] 15 18 21 24
Fungsi print() digunakan untuk menampilkan isi array. Ini membantu melihat data yang disimpan dalam array.
print(array_data) # Menampilkan isi array
## , , 1
##
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
##
## , , 2
##
## [,1] [,2] [,3] [,4]
## [1,] 13 16 19 22
## [2,] 14 17 20 23
## [3,] 15 18 21 24
Fungsi dim() digunakan untuk menampilkan dimensi dari array. Ini membantu memahami struktur array.
dim(array_data) # Menampilkan dimensi dari array
## [1] 3 4 2
Nilai NA (Not Available) digunakan untuk merepresentasikan data yang hilang. Kita bisa membuat vektor yang mengandung nilai NA dan melakukan pengecekan.
nilai <- c(90, 85, NA, 75, 80, NA, 95) # Membuat vektor dengan beberapa nilai NA
nilai
## [1] 90 85 NA 75 80 NA 95
Sequence generation digunakan untuk membuat urutan angka dengan interval tertentu. Fungsi seq() membantu membuat urutan angka dengan panjang atau interval yang ditentukan.
x1 <- seq(0, 10, length=5) # Membuat sequence dari 0 hingga 10 dengan 5 elemen
x1 # Menampilkan sequence
## [1] 0.0 2.5 5.0 7.5 10.0
x2 <- seq(0,10,length=6) # Membuat deret angka dengan 6 elemen
x2
## [1] 0 2 4 6 8 10
x3 <- seq(0,10,length=7) # Membuat deret angka dengan 7 elemen
x3
## [1] 0.000000 1.666667 3.333333 5.000000 6.666667 8.333333 10.000000
x3 <- seq(0,15,length=15) # Membuat deret angka dengan 10 elemen
x3
## [1] 0.000000 1.071429 2.142857 3.214286 4.285714 5.357143 6.428571
## [8] 7.500000 8.571429 9.642857 10.714286 11.785714 12.857143 13.928571
## [15] 15.000000
x4 <- numeric(10) # panjang barisan
x4[1] <- 2 # nilai awal
pola <- c("+2", "*2", "/2")
for (i in 2:length(x4)) {
aturan <- pola[(i - 2) %% length(pola) + 1]
if (aturan == "+2") x4[i] <- x4[i-1] + 2
if (aturan == "*2") x4[i] <- x4[i-1] * 2
if (aturan == "/2") x4[i] <- x4[i-1] / 2
}
x4
## [1] 2 4 8 4 6 12 6 8 16 8
R menyediakan fungsi untuk membulatkan angka desimal, seperti round(), floor(), dan ceiling(). Fungsi ini berguna untuk mengatur presisi angka.
round(x3) # Membulatkan nilai dalam 'x3' ke bilangan bulat terdekat
## [1] 0 1 2 3 4 5 6 8 9 10 11 12 13 14 15
floor(x3) # Membulatkan nilai dalam 'x3' ke bawah
## [1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 15
ceiling(x3) # Membulatkan nilai dalam 'x3' ke atas
## [1] 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Fungsi rep() digunakan untuk mengulang elemen dalam vektor atau list. Kita bisa mengulang seluruh vektor atau setiap elemennya secara terpisah.
rep(c("A", "B", "C"), times=5) # Mengulang vektor "A", "B", "C" sebanyak 5 kali
## [1] "A" "B" "C" "A" "B" "C" "A" "B" "C" "A" "B" "C" "A" "B" "C"
rep(c("A","B","C"), times = c(1, 2, 3))
## [1] "A" "B" "B" "C" "C" "C"
rep(c("A", "B", "C"), each=5) # Mengulang setiap elemen vektor "A", "B", "C" sebanyak 5 kali
## [1] "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" "C" "C" "C" "C" "C"
rep(c("A", "B", "C"), each=2, times=5) # Mengulang setiap elemen vektor "A", "B", "C" sebanyak 2 kali, dan seluruhnya diulang 5 kali
## [1] "A" "A" "B" "B" "C" "C" "A" "A" "B" "B" "C" "C" "A" "A" "B" "B" "C" "C" "A"
## [20] "A" "B" "B" "C" "C" "A" "A" "B" "B" "C" "C"
rep(1:5, 5) # Mengulang vektor 1 hingga 5 sebanyak 5 kali
## [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
rep(1:5, each=5) # Mengulang setiap elemen vektor 1 hingga 5 sebanyak 5 kali
## [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5
rep(1:5, each=2, 5) # Mengulang setiap elemen vektor 1 hingga 5 sebanyak 2 kali, dan seluruhnya diulang 5 kali
## [1] 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4
## [39] 5 5 1 1 2 2 3 3 4 4 5 5
rep(seq(0,10,length=6),times = 3)
## [1] 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10
rep(seq(0,10,length=6),each = 2, times = 3)
## [1] 0 0 2 2 4 4 6 6 8 8 10 10 0 0 2 2 4 4 6 6 8 8 10 10 0
## [26] 0 2 2 4 4 6 6 8 8 10 10
grup <- rep(c("Kontrol", "Perlakuan"), each = 10)
waktu <- rep(1:10, times = 2)
cbind(grup, waktu)
## grup waktu
## [1,] "Kontrol" "1"
## [2,] "Kontrol" "2"
## [3,] "Kontrol" "3"
## [4,] "Kontrol" "4"
## [5,] "Kontrol" "5"
## [6,] "Kontrol" "6"
## [7,] "Kontrol" "7"
## [8,] "Kontrol" "8"
## [9,] "Kontrol" "9"
## [10,] "Kontrol" "10"
## [11,] "Perlakuan" "1"
## [12,] "Perlakuan" "2"
## [13,] "Perlakuan" "3"
## [14,] "Perlakuan" "4"
## [15,] "Perlakuan" "5"
## [16,] "Perlakuan" "6"
## [17,] "Perlakuan" "7"
## [18,] "Perlakuan" "8"
## [19,] "Perlakuan" "9"
## [20,] "Perlakuan" "10"
R menyediakan fungsi statistik dasar seperti min(), max(), mean(), var(), dan cor() untuk menghitung nilai statistik dari data. Fungsi ini sangat berguna untuk analisis data.
# Membuat data x dan y
x <- c(3, 4, 5, 6) # Membuat vektor x
y <- c(2, 3, 4, 5, 6, 6) # Membuat vektor y
# Menghitung nilai statistik dasar
min(x) # Menghitung nilai minimum dari vektor x
## [1] 3
max(y) # Menghitung nilai maksimum dari vektor y
## [1] 6
mean(x) # Menghitung rata-rata dari vektor x
## [1] 4.5
var(y) # Menghitung variansi dari vektor y
## [1] 2.666667
cor(x, y[1:length(x)]) # Menghitung korelasi antara vektor x dan y (panjang harus sama)
## [1] 1
# Menentukan range (jangkauan nilai)
range(x) # Menghitung range dari vektor x
## [1] 3 6
range(y) # Menghitung range dari vektor y
## [1] 2 6
Fungsi sample() digunakan untuk mengambil sampel acak dari data. Ini berguna untuk simulasi atau pengambilan sampel secara acak.
# Simulasi pelemparan koin (0 = gambar, 1 = angka)
set.seed(10)
sample(0:1,100, replace = TRUE) # Simulasi pelemparan koin sebanyak 30 kali
## [1] 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 1 1 0 1
## [38] 0 1 0 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0
## [75] 0 1 1 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0
# Simulasi pengambilan sampel huruf "A" dan "G" sebanyak 15 kali
set.seed(123)
sample(c("A", "G"), 15, replace = TRUE) # Simulasi pengambilan sampel huruf "A" dan "G"
## [1] "A" "A" "A" "G" "A" "G" "G" "G" "A" "A" "G" "G" "G" "A" "G"
set.seed(1)
# Simulasi pelemparan dadu sebanyak 30 kali
sample(1:6, 30, replace = TRUE) # Simulasi pelemparan dadu sebanyak 30 kali
## [1] 1 4 1 2 5 3 6 2 3 3 1 5 5 2 6 6 2 1 5 5 1 1 6 5 5 2 2 6 1 4
Buat dataframe dengan kolom Nama dan Nilai (minimal 4 baris). Atur nilai pada kolom Nilai sehingga rata-rata (mean) dari nilai tersebut adalah 96.Selanjutnya, tampilkan ringkasan statistik dari dataframe tersebut menggunakan fungsi summary().
Buat satu barisan sepanjang 12 elemen dengan aturan berulang +3 → ×2 → −1 dengan nilai awal 4.
Gunakan fungsi seq() dan rep() di R untuk membentuk satu vektor dengan hasil akhir sebagai berikut:0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6
Lakukan simulasi pelemparan dadu sebanyak 30 kali menggunakan fungsi sample() di R, dengan ketentuan sebagai berikut:
Hasil 0 memiliki peluang kemunculan 45%
Hasil 1 memiliki peluang kemunculan 55%
Gunakan set.seed() agar hasil simulasi dapat direproduksi