R merupakan perangkat lunak statistik yang bersifat open-source dan banyak digunakan dalam analisis data, statistika, serta penelitian ilmiah. Untuk mempermudah penggunaan R, digunakan sebuah Integrated Development Environment (IDE) bernama RStudio. RStudio menyediakan tampilan antarmuka yang lebih ramah pengguna sehingga proses penulisan kode, pengolahan data, dan visualisasi dapat dilakukan dengan lebih efisien.
Sebelum menggunakan R dan RStudio, langkah awal yang harus dilakukan adalah melakukan instalasi kedua perangkat lunak tersebut. Instalasi dilakukan secara terpisah, dimulai dari instalasi R sebagai engine utama, kemudian dilanjutkan dengan instalasi RStudio sebagai antarmuka pendukung.
Secara umum, langkah-langkah instalasi R dan RStudio adalah sebagai berikut: 1. Mengunduh R dari situs resmi CRAN sesuai dengan sistem operasi yang digunakan. 2. Melakukan proses instalasi R hingga selesai. 3. Mengunduh RStudio Desktop. 4. Melakukan instalasi RStudio dan memastikan RStudio dapat terhubung dengan R.
Setelah instalasi berhasil, RStudio dapat dijalankan dan siap digunakan untuk menulis serta menjalankan perintah-perintah dalam bahasa R.
RStudio memiliki antarmuka yang terdiri dari beberapa panel utama yang memudahkan pengguna dalam bekerja dengan R. Secara default, antarmuka RStudio terbagi menjadi empat bagian utama, yaitu:
Source / Script Editor Panel ini digunakan untuk menulis dan menyimpan skrip atau kode R. Kode yang ditulis di panel ini dapat dijalankan sebagian atau keseluruhan.
Console Panel Console digunakan untuk menjalankan perintah R secara langsung dan menampilkan hasil eksekusi kode.
Environment / History Panel ini menampilkan objek-objek yang sedang aktif dalam sesi R, seperti variabel, data frame, atau fungsi yang telah dibuat.
Files / Plots / Packages / Help Panel ini digunakan untuk mengelola file, menampilkan grafik, mengatur paket (packages), serta melihat dokumentasi bantuan.
Contoh perintah sederhana yang dapat dijalankan pada Console adalah operasi aritmatika berikut:
2+3
## [1] 5
R Markdown merupakan format dokumen yang memungkinkan pengguna untuk menggabungkan teks, kode R, dan output hasil analisis dalam satu dokumen terpadu. Dengan R Markdown, hasil analisis dapat disajikan dalam bentuk laporan digital yang rapi dan sistematis.
Dokumen R Markdown ditulis dalam sebuah file dengan ekstensi .Rmd. Di dalam file tersebut, pengguna dapat menuliskan narasi, menyisipkan kode R, serta menampilkan hasil perhitungan atau visualisasi secara otomatis.
Struktur dasar dokumen R Markdown diawali dengan YAML header yang berisi informasi umum dokumen, seperti judul, penulis, dan format keluaran. Kode R dalam R Markdown ditulis di dalam code chunk. Contoh penulisan code chunk adalah sebagai berikut:
mean(c(70, 75, 80, 85))
## [1] 77.5
Ketika dokumen R Markdown dikompilasi (knit), seluruh kode akan dijalankan dan hasilnya akan ditampilkan secara otomatis di dalam dokumen. Hasil akhir dokumen ini dapat dipublikasikan secara daring melalui layanan seperti RPubs, sehingga dapat diakses dan dibagikan dengan mudah.
Bab ini membahas konsep dasar pemrograman menggunakan bahasa R. Materi disusun untuk membantu siswa memahami cara kerja R secara bertahap, mulai dari penggunaan variabel, tipe data, hingga pengelolaan data sederhana. Pemahaman dasar ini sangat penting sebelum melanjutkan ke analisis statistika dan visualisasi data.
Dalam pemrograman R, variabel digunakan untuk menyimpan suatu nilai atau data agar dapat digunakan kembali. Variabel dapat menyimpan angka, teks, maupun data lainnya. Penulisan variabel dalam R bersifat case-sensitive, artinya huruf besar dan kecil dianggap berbeda.
Contoh pendefinisian variabel dalam R adalah sebagai berikut:
nilai <- 80
nilai
## [1] 80
Operator digunakan untuk melakukan operasi terhadap variabel atau nilai. Operator yang paling sering digunakan adalah operator aritmatika.
Contoh penggunaan operator aritmatika:
nilai + 5
## [1] 85
nilai - 10
## [1] 70
nilai * 2
## [1] 160
nilai / 4
## [1] 20
##2.2 Tipe Data dalam R
Setiap data yang disimpan dalam variabel memiliki tipe data tertentu. Tipe data menentukan bagaimana R memperlakukan data tersebut dalam suatu perhitungan atau operasi.
Beberapa tipe data dasar dalam R antara lain: -numeric: data berupa bilangan -character: data berupa teks -logical: data berupa nilai benar atau salah
Contoh penggunaan tipe data dalam R:
umur <- 17
nama <- "Ani"
lulus <- TRUE
Untuk mengetahui tipe data suatu variabel, dapat digunakan fungsi class().
class(umur)
## [1] "numeric"
class(nama)
## [1] "character"
class(lulus)
## [1] "logical"
Selain tipe data, R juga mengenal struktur data, yaitu cara data disusun dan disimpan. Struktur data memungkinkan penyimpanan banyak nilai dalam satu objek.
Struktur data yang sering digunakan dalam pembelajaran statistika antara lain vector dan data frame.
Vector merupakan kumpulan data dengan tipe yang sama. Vector sering digunakan untuk menyimpan sekumpulan nilai numerik, seperti nilai ujian.
nilai <- c(70, 75, 80, 85, 90)
nilai
## [1] 70 75 80 85 90
Data frame digunakan untuk menyimpan data dalam bentuk tabel yang terdiri dari baris dan kolom. Setiap kolom dapat memiliki tipe data yang berbeda.
Contoh pembuatan data frame sederhana:
data_siswa <- data.frame(
Nama = c("Ani", "Budi", "Cici"),
Nilai = c(80, 75, 90)
)
data_siswa
## Nama Nilai
## 1 Ani 80
## 2 Budi 75
## 3 Cici 90
Fungsi merupakan perintah siap pakai yang digunakan untuk melakukan suatu tugas tertentu. R memiliki banyak fungsi bawaan yang dapat langsung digunakan.
Contoh penggunaan fungsi bawaan R:
mean(nilai)
## [1] 80
max(nilai)
## [1] 90
min(nilai)
## [1] 70
Selain fungsi bawaan, R juga memiliki packages yang berisi kumpulan fungsi tambahan. Packages perlu diinstal terlebih dahulu sebelum digunakan.
Contoh instalasi dan penggunaan package: install.packages(“ggplot2”) library(ggplot2)
RStudio menyediakan berbagai fasilitas untuk mengelola data. Data dapat dibuat secara manual, disimpan dalam file, atau diimpor dari luar.
Salah satu format data yang sering digunakan adalah file .csv. Data dalam format ini dapat dibaca ke dalam R menggunakan fungsi read.csv().
data <- read.csv("D:/LATIHAN R/data_siswa.csv", sep = ";")
head(data)
## No Nama Kelas Nilai
## 1 1 Candra X-1 80
## 2 2 Dea X-1 85
## 3 3 Devi X-1 90
## 4 4 Febry X-1 95
## 5 5 Fenny X-1 80
## 6 6 Hasan X-1 80
Bab ini membahas konsep dasar statistika yang menjadi fondasi dalam analisis data. Pemahaman mengenai populasi, sampel, jenis data, serta skala pengukuran sangat penting sebelum melakukan perhitungan statistik dan visualisasi menggunakan R.
Dalam statistika, populasi adalah seluruh objek atau individu yang menjadi sasaran penelitian. Sementara itu, sampel merupakan sebagian dari populasi yang diambil untuk mewakili karakteristik populasi tersebut.
Pada praktiknya, pengambilan sampel dilakukan karena keterbatasan waktu, biaya, dan tenaga jika harus meneliti seluruh populasi. Oleh karena itu, sampel yang baik harus diambil secara acak agar dapat mewakili populasi.
Contoh pengambilan sampel secara acak menggunakan R:
set.seed(123)
populasi <- 1:100
sampel <- sample(populasi, 10)
sampel
## [1] 31 79 51 14 67 42 50 43 97 25
Parameter merupakan ukuran numerik yang menggambarkan karakteristik populasi, sedangkan statistik merupakan ukuran numerik yang dihitung berdasarkan data sampel.
Sebagai contoh, rata-rata nilai seluruh siswa di sekolah disebut parameter, sedangkan rata-rata nilai dari sebagian siswa yang dijadikan sampel disebut statistik.
Contoh perhitungan statistik menggunakan data sampel:
mean(sampel)
## [1] 49.9
Berdasarkan sifatnya, data dalam statistika dibedakan menjadi dua jenis utama, yaitu data kualitatif dan data kuantitatif.
-Data kuantitatif adalah data berupa angka yang dapat dihitung atau diukur, seperti tinggi badan dan nilai ujian.
Contoh data kualitatif dan kuantitatif dalam R:
jenis_kelamin <- c("L", "P", "P", "L")
nilai <- c(75, 80, 90, 85)
Skala pengukuran menunjukkan bagaimana data diukur dan menentukan jenis analisis statistik yang dapat dilakukan. Skala pengukuran data dibagi menjadi empat, yaitu:
Skala Nominal Skala ini digunakan untuk mengelompokkan data tanpa urutan tertentu, misalnya jenis kelamin.
Skala Ordinal Skala ini memiliki urutan, tetapi jarak antar kategori tidak dapat diukur secara pasti, misalnya peringkat kelas.
Skala Interval Skala interval memiliki jarak yang sama antar nilai, tetapi tidak memiliki nol mutlak, misalnya suhu dalam derajat Celcius.
Skala Rasio Skala rasio memiliki jarak yang sama dan memiliki nol mutlak, misalnya berat badan dan tinggi badan.
Bab ini membahas ukuran-ukuran statistik yang digunakan untuk menggambarkan karakteristik suatu data, yaitu ukuran pemusatan dan ukuran penyebaran. Pada bab ini, perhitungan ukuran statistik dilakukan dengan bantuan bahasa pemrograman R sehingga siswa dapat memahami konsep sekaligus praktik pengolahan data.
Ukuran pemusatan data merupakan ukuran yang menunjukkan nilai tengah atau nilai yang paling mewakili sekumpulan data. Ukuran pemusatan yang umum digunakan adalah rata-rata (mean), median, dan modus.
Rata-rata merupakan hasil pembagian jumlah seluruh data dengan banyaknya data. Dalam R, rata-rata dapat dihitung menggunakan fungsi mean().
Contoh perhitungan rata-rata nilai siswa:
nilai <- c(70, 75, 80, 80, 85, 90)
mean(nilai)
## [1] 80
Median adalah nilai tengah dari data yang telah diurutkan. Jika jumlah data ganjil, median adalah nilai yang berada tepat di tengah. Jika jumlah data genap, median adalah rata-rata dari dua nilai tengah.
Contoh perhitungan median:
nilai <- c(70, 75, 80, 80, 85, 90)
median(nilai)
## [1] 80
Modus merupakan nilai yang paling sering muncul dalam suatu data. R tidak menyediakan fungsi bawaan khusus untuk menghitung modus, namun dapat ditentukan dengan melihat frekuensi kemunculan data.
Contoh sederhana penentuan modus:
data <- c(70, 75, 80, 80, 85, 90)
table(data)
## data
## 70 75 80 85 90
## 1 1 2 1 1
Ukuran penyebaran data menunjukkan seberapa jauh data menyebar dari nilai pusatnya. Ukuran penyebaran yang umum digunakan antara lain jangkauan, ragam (varians), dan simpangan baku (standar deviasi).
Jangkauan merupakan selisih antara nilai maksimum dan nilai minimum.
max(nilai) - min(nilai)
## [1] 20
Ragam menunjukkan tingkat penyebaran data terhadap nilai rata-ratanya. Dalam R, ragam dapat dihitung menggunakan fungsi var().
var(nilai)
## [1] 50
Simpangan baku merupakan akar dari ragam dan menunjukkan seberapa jauh data menyimpang dari rata-rata. Semakin besar nilai simpangan baku, semakin besar pula variasi data yang dimiliki.
sd(nilai)
## [1] 7.071068
Visualisasi data merupakan salah satu bagian penting dalam analisis statistika. Melalui visualisasi, data dapat disajikan dalam bentuk grafik sehingga lebih mudah dipahami, dianalisis, dan dikomunikasikan. Pada bab ini, siswa akan mempelajari jenis-jenis grafik serta cara membuat visualisasi data sederhana menggunakan R.
Pemilihan tipe grafik yang tepat sangat bergantung pada tujuan analisis data. Beberapa tujuan umum dalam visualisasi data antara lain untuk membandingkan data, melihat tren, dan mengetahui sebaran data.
Beberapa tipe grafik yang sering digunakan dalam statistika adalah sebagai berikut: - Diagram Batang (Bar Chart) Digunakan untuk membandingkan nilai antar kategori. - Diagram Garis (Line Chart) Digunakan untuk melihat perubahan atau tren data dari waktu ke waktu. - Diagram Lingkaran (Pie Chart) Digunakan untuk menunjukkan proporsi suatu kategori terhadap keseluruhan data. - Histogram Digunakan untuk melihat distribusi data numerik. - Boxplot Digunakan untuk melihat sebaran data, nilai minimum, maksimum, dan pencilan (outlier).
Pada bagian ini, digunakan data nilai siswa sebagai contoh untuk membuat beberapa jenis grafik menggunakan fungsi bawaan R.
nilai <- c(70, 75, 80, 85, 90, 80, 75)
Diagram batang digunakan untuk menampilkan perbandingan nilai data.
barplot(nilai,
main = "Diagram Batang Nilai Siswa",
col = "skyblue",
ylab = "Nilai")
Histogram digunakan untuk melihat distribusi dari data.
hist(nilai,
main = "Histogram Nilai Siswa",
col = "lightgreen",
xlab = "Nilai")
Boxplot digunakan untuk melihat sebaran data secara ringkas.
boxplot(nilai,
main = "Boxplot Nilai Siswa",
col = "orange",
ylab = "Nilai")
Diagram garis digunakan untuk melihat perubahan data secara berurutan.
plot(nilai, type = "l",
main = "Diagram Garis Nilai Siswa",
xlab = "Pengamatan",
ylab = "Nilai")
Bab ini membahas analisis hubungan antar variabel menggunakan korelasi dan regresi linier. Melalui analisis ini, siswa dapat mengetahui apakah terdapat hubungan antara dua variabel serta bagaimana suatu variabel dapat memengaruhi variabel lainnya. Perhitungan dilakukan menggunakan bahasa pemrograman R untuk mempermudah analisis data.
Analisis korelasi digunakan untuk mengukur kekuatan dan arah hubungan antara dua variabel. Nilai koefisien korelasi berada pada rentang -1 sampai 1.
Contoh analisis korelasi antara jam belajar dan nilai ujian:
#Input Data
jam_belajar <- c(2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
nilai_ujian <- c(60, 65, 68, 72, 75, 78, 82, 85, 88, 90)
data_korelasi <- data.frame(jam_belajar, nilai_ujian)
data_korelasi
## jam_belajar nilai_ujian
## 1 2 60
## 2 3 65
## 3 4 68
## 4 5 72
## 5 6 75
## 6 7 78
## 7 8 82
## 8 9 85
## 9 10 88
## 10 11 90
plot(jam_belajar, nilai_ujian,
main = "Scatter Plot Jam Belajar vs Nilai Ujian",
xlab = "Jam Belajar (x1)",
ylab = "Nilai Ujian (x2)",
pch = 19)
#Menghitung Koefisien Korelasi
cor(jam_belajar, nilai_ujian)
## [1] 0.9974023
#Pengujian Hipotesis
cor.test(jam_belajar, nilai_ujian)
##
## Pearson's product-moment correlation
##
## data: jam_belajar and nilai_ujian
## t = 39.164, df = 8, p-value = 1.986e-10
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.9886207 0.9994090
## sample estimates:
## cor
## 0.9974023
Regresi linier digunakan untuk memodelkan hubungan antara satu variabel bebas dan satu variabel terikat. Model regresi linier sederhana dapat dituliskan dalam bentuk persamaan garis lurus.
Contoh pembentukan model regresi linier menggunakan fungsi lm():
model <- lm(nilai_ujian ~ jam_belajar)
model
##
## Call:
## lm(formula = nilai_ujian ~ jam_belajar)
##
## Coefficients:
## (Intercept) jam_belajar
## 54.673 3.327
Untuk melihat hasil analisis regresi secara lengkap, digunakan fungsi summary().
summary(model)
##
## Call:
## lm(formula = nilai_ujian ~ jam_belajar)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.32727 0.02273 0.20000 0.37727 0.70909
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 54.67273 0.60373 90.56 2.47e-13 ***
## jam_belajar 3.32727 0.08496 39.16 1.99e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7717 on 8 degrees of freedom
## Multiple R-squared: 0.9948, Adjusted R-squared: 0.9942
## F-statistic: 1534 on 1 and 8 DF, p-value: 1.986e-10