Anda di halaman 1dari 15

Teori 2: Cara Memulai Program R Dan Rstudio

R adalah bahasa pemrograman dan sistem perangkat lunak yang dirancang


khusus untuk mengerjakan segala hal terkait komputasi statistik. Bahasa
pemrograman ini pertama kali dikembangkan pada tahun 1993 oleh dua orang
pakar statistik yaitu Ross Ihaka dan Robert Gentleman di Auckland University,
New Zealand. Sampai saat ini, bahasa pemrograman R terus berkembang secara
pesat seiring dengan semakin populernya terminologi “Big Data” dan
meningkatnya kebutuhan perusahaan akan data scientist untuk mengolah dan
menganalisis data di perusahaan tersebut sebagai dasar pengambilan kebijakan dan
mengautomatisasi proses bisnis menjadi data-driven. Bahasa pemrograman seperti
Python dan R telah menjadi pilihan utama bagi para peneliti maupun praktisi di
bidang data science untuk mengolah dan menganalisis data baik itu untuk
kepentingan penelitian maupun bisnis. Oleh karena itu, bagi seorang pemula di
bidang data science, R merupakan bahasa pemrograman yang
sangat recommended untuk dikuasai.

Berdasarkan publikasi yang dirilis oleh IEEE Spectrum ranks


languages pada tahun 2017, R termasuk kedalam 10 bahasa pemrograman
terpopuler. R berada pada posisi ke-6 diatas bahasa pemrograman Javascript dan
PHP yang berturut-turut berada pada posisi ke-7 dan ke-8. Sedangkan peringkat
pertama dipegang oleh bahasa pemrograman Python, yang juga sangat diminati
oleh data scientist.  Salah satu pertimbangan mengapa R bisa masuk kedalam
deretan bahasa pemrograman terpopuler adalah semakin banyak yang
menggunakan R pada paper-paper penelitian akademik. Jadi, R terbukti sangat
populer digunakan oleh para peneliti di bidang statistik maupun data science.
Selain itu, R juga dikembangkan secara open source sehingga dapat dipergunakan
secara legal tanpa perlu membayar lisensi apapun, alias gratis! Yang tak kalah
penting adalah R telah memiliki komunitas pengguna yang luas, sehingga
permasalahan apapun yang akan kita temui selama proses belajar, hampir bisa
dipastikan jawabannya sudah tersedia di website stackoverflow.
Penerapan statistik dapat dijumpai dengan mudah di berbagai bidang ilmu
seperti ekonomi, biologi (biostatistik), geologi, psikologi, ilmu komputer, dan
sebagainya. Semakin banyak pula karya ilmiah mahasiswa yang kini dilengkapi
dengan presentasi hasil analisa statistik. Salah satu tool yang sering dipakai untuk
pembelajaran statistik adalah IBM SPSS (Statistical Package for the Social
Science). Walaupun user friendly, tool ini tidak gratis dan tidak open source!
Salah satu alternatif yang menarik adalah bahasa pemograman R. R adalah sebuah
bahasa pemograman yang dikembangkan khusus untuk hal-hal yang berkaitan
dengan statistik. Saya merasa R sangat tepat dipakai oleh mahasiswa ilmu
komputer karena mereka sudah terbiasa dengan hal-hal teknis seperti kode
program.

Mengenal Programming R

Bahasa pemrograman satu ini merupakan bahasa komputer yang hampir


mirip dengan S dan dirancang untuk bahasa pemrograman komputer sebenarnya.
Bahasa pemrogaman R adalah sebuah perangkat lunak atau software yang dibuat
untuk menganalisis, mengolah, dan juga menguji data statistik, data ilmiah,
maupun data grafik sekalipun.

Dengan menggunakan bahasa pemrograman ini, Anda bisa menambahkan


satu fungsi tambahan lain yang sesuai dengan keinginan Anda sendiri. Dengan
menggunakan bahasa pemrograman satu ini, Anda bisa dengan mudah dan bahkan
secara gratis mengelola data yang ada. Bukan hanya itu saja, bahasa pemrograman
ini juga punya banyak sekali macam teknik untuk statistika.

Teknik tersebut misalnya analisis deret waktu, pemodelan linear dan non
linear, serta statistik klasik. Programming ini sendiri juga merupakan bahasa
fungsional yang mana inti dari bahasa satu memakai bentuk standar untuk notasi
aljabar dan memungkinkan untuk perhitungan numerik. Selain itu, ada fasilitas
untuk perhitungan memakai fungsi.

Bahasa R juga bisa digunakan untuk hampir semua bidang, misalnya


statistik, kalkulasi biasa, ekonomi, geografi, dan untuk pemograman komputer
sekalipun. Bahasa ini juga punya format untuk dokumentasi lengkap dengan
semua bidang, baik dalam bentuk cetakan maupun formal sekalipun, hal ini juga
disebut sebagai bahasa pemrograman dengan format LaTex . 

Fungsi Dari Pemrograman R

Seperti yang sebelumnya sudah dijelaskan, bahasa pemrograman ini


digunakan untuk mengerjakan setiap hal yang erat kaitannya dengan statistika
atau matematika.

Meskipun R hampir sama dengan S, baik secara fungsi maupun tata


bahasa yang digunakan, akan tetapi keduanya tidak identik. Bahasa pemrograman
ini juga jadi pilihan utama oleh peneliti atau praktisi yang bekerja dalam bidang
data ilmiah guna menganalisis dan mengolah data, baik untuk bisnis maupun
untuk penelitian sekalipun.

Sehingga untuk Anda yang merupakan seorang pemula dalam bidang data
ilmiah, maka bahasa pemrograman satu ini sangat direkomendasikan untuk Anda
pelajari. Untuk fungsi dari R antara lain ialah digunakan untuk riset akademis. Hal
ini dikarenakan software ini sangat pas digunakan untuk riset, baik secara
ekonomi, statistik, pemrograman komputer, dan bahkan komputasi numerik.

Dikarenakan mendapat banyak dukungan dari tenaga ahli dalam bidang


masing-masing, R juga cocok untuk dipakai sebagai software untuk acuan dalam
beragam kalangan, misalnya saja mahasiswa atau dosen. Bukan hanya itu saja,
progamming ini juga punya fitur yang lengkap dan juga handal. Selain itu, Anda
juga bisa mengunduhnya secara gratis. 

Fitur Programming R Yang Harus Anda Tahu

R punya karakteristik yang bisa membedakannya dengan software jenis lain,


yakni:

1. Software ini akan selalu dimulai pada prompt “<” pada console. Jika Anda
ingin mempelajari programming ini, maka Anda harus belajar mengenai
fitur-fitur yang ada pada software ini. Misalnya saja basic math yang
merupakan operasi dasar, seperti kurang, tambah, bagi, kali, mod, dan juga
sqrt.
2. Fitur lainnya yakni variables yang merupakan tempat menyimpan value.
3. Kemudian fitur tipe data yang digunakan seperti data karakter, numerik,
dates, dan juga logikal.
4. Programming ini juga punya fitur yang merupakan kumpulan elemen tipe
data sama yakni kerap disebut sebagai vektor. Anda juga bisa membuat
fungsi sendiri menggunakan R.
5. Programming ini juga punya data frame yang mirip dengan di Excel, yakni
ada nama kolom dan diikuti dengan isi pada bagian bawahnya. Fitur list
pada programming ini mirip dengan kontainer yang bisa diisi data
berbeda. Seperti yang Anda pelajari saat SMA, matrix ini juga berisi
dengan kolom dan juga baris. Matrix ini hampir mirip dengan data frame,
akan tetapi representasi dan juga rulesnya beda.
6. Fitur selanjutnya ada array yang memang jarang sekali dibahas oleh orang.
Apabila pada matrix menggunakan 2 dimensi, maka array ini
menggunakan 3 dimensi.

Kelebihan R Dibanding Lainnya

Salah satu kelebihan yang bisa Anda dapatkan ialah pengelolaan data dan
juga fasilitas penyimpanannya lebih efektif. Untuk ukuran file disimpan akan jauh
lebih kecil jika dibandingkan dengan software lainnya. Sehingga tidak memakan
banyak tempat penyimpanan.

Banyaknya fungsi statistik yang dipasang membuat sintaks pada


pemrograman ini juga mudah dipelajari. Selain itu juga dilengkapi dengan adanya
perhitungan array yang tidak dimiliki oleh software lainnya. Programming ini
juga punya tampilan grafik menarik dan juga fleksibel serta bisa Anda kelola
sesuai dengan keinginan Anda.
Pemrograman ini juga cukup lengkap dan juga mempunyai banyak tools
statistik langsung terintegrasi dengan analisis data. Mulai dari fungsi probalitas,
statistik deskriptif, time series, dan juga beragam jenis uji statistik yang lainnya.
Dalam penggunaannya, programming R ini tidak dibatasi dan bahkan bisa Anda
gunakan untuk keperluan komersial sekalipun.

Jika Anda menggunakan pemrograman yang satu ini, maka Anda bisa
mengembangkannya sesuai dengan keinginan Anda sendiri. Anda bisa
menyesuaikan dengan kebutuhan Anda sendiri. Jenis pemrograman ini juga
sifatnya terbuka dimana tiap orang bisa menambah fitur tambahan di dalam paket
yang dimasukkan pada software, sehingga bisa lebih memudahkan Anda dalam
mempelajarinya.

Untuk sebagian besar pengguna GUI yang menggunakan sistem menu, R


ini juga akan menyediakan Anda cukup banyak GUI dengan basis menu, misalnya
saja Rstudio, Rcommander, TinnR, dan juga masih ada banyak lagi. Untuk Anda
yang sudah biasa membuat program, maka Anda akan lebih mudah menyesuaikan
dan juga belajar bahasa satu ini.

Belajar R Programming Perhatikan Hal penting Berikut

Hal penting lain yang wajib Anda ketahui mengenai programming satu ini
ialah sifatnya yang multiplatform. Artinya ialah programing ini bisa diintall
dengan menggunakan sistem operasi windows, LINUX, UNIX atau pun
Macintosh. Bukan hanya itu saja, bahasa pemrograman ini juga didukung dengan
menggunakan komunitas secara aktif melakukan interaksi antara satu dengan
lainnya menggunakan internet.

Selain itu, programming ini akan didukung dengan menggunakan manual


help dan bisa menyatu dengan software ini sendiri. Akan tetapi, Anda juga harus
tahu apa saja kekurangan dari bahasa pemrograman ini, yaitu tidak memberikan
dukungan secara komersional.
Meskipun demikian, hal ini bisa dengan mudah Anda atasi dengan cara
Anda mengikuti mailing list yang akan banyak sekali membantu Anda apabila
Anda mendapatkan beberapa masalah tertentu terkait dengan pemrograman
tersebut. Dengan begitu, Anda tidak perlu khawatir jika menemui permasalahan.

R yang merupakan sebuah bahasa pemrograman, akan memerlukan


banyak waktu membiasakan diri dengan sintaks yang ada. Untuk beberapa orang
akan menganggap sebuah hal yang menakutkan. Akan tetapi meskipun demikian,
Anda juga juga tidak usah khawatir. Sebab saat pemrograman ini Anda juga bisa
menggunakan GUI dengan basis sistem menu dan akan sangat membantu Anda.

Tampilan awal R Studio akan terlihat seperti pada gambar berikut ini:

Salah satu kendala awal dalam beralih ke R yang sering jumpai adalah
bagaimana cara memasukkan data? IBM SPSS memiliki worksheet mirip Excel
dimana pengguna bisa mengisi nilai untuk setiap variabel. R tidak memiliki
kemampuan serupa! Walaupun ada beberapa package tambahan untuk membaca
data dari file Excel atau database, cara paling mudah untuk ‘mengisi’ data adalah
menggunakan file CSV. Hampir semua aplikasi modern sudah bisa men-export
data dalam bentuk CSV. Sebagai contoh, saya bisa men-export isi file Excel
menjadi file CSV dengan memilih CSV (Command delimited) di bagian Save as
type pada saat menyimpan file. Bila ingin menyimpan hasil query MySQL
Workbench menjadi file CSV, saya bisa men-klik tombol Export dan
memilih CSV di Save as type.
Setelah itu, saya bisa membaca file CSV dengan memberikan perintah
seperti berikut ini:

> penjualan <- read.csv("~/Desktop/penjualan_produk1.csvader=TRUE)

Untuk melihat isi dari variabel penjualan yang telah dibaca di R Studio,


saya dapat men-klik tombol tabel di samping kanan nama variabel seperti yang
terlihat pada gambar berikut ini:

Selain itu, saya juga dapat melihat preview data dengan menggunakan
function head() atau tail() seperti:

> head(penjualan_produk1)

tanggal qty

1 2014-09-02 20

2 2014-09-03 30

3 2014-09-04 100

4 2014-09-05 10

5 2014-09-06 90

6 2014-09-08 40
Penjualan adalah sebuah variabel sama seperti variabel pada bahasa
pemograman lainnya. Function read.csv() akan menghasilkan nilai dalam tipe
data dataframe. Sebagai informasi, karena R adalah bahasa pemograman khusus
untuk pengolahan statistik, ia memiliki beberapa tipe data bawaan yang unik
seperti vector, matrix, dan dataframe.Sebuah dataframe mirip seperti matrix tetapi
masing-masing kolom boleh memiliki tipe data berbeda. Cara paling gampang
untuk memahami dataframe adalah dengan menganggapnya sebagai sebuah sheet
Excel dimana masing-masing kolom mewakili nilai sebuah variabel (pada
statistik) dalam bentuk vector.
Salah satu masalah yang sering timbul pada saat membaca data adalah
permasalahan yang berkaitan dengan tipe data. Seperti apa tipe data setiap kolom
di penjualan? Saya dapat melihatnya dengan memberikan perintah berikut ini:

> sapply(penjualan_produk1, class)

tanggal qty

"factor" "integer"

factor adalah tipe data di R untuk nilai yang terdiri atas pilihan atau
kategori, seperti “iya” atau “tidak”. Pada data yang saya baca, nama konsumen
dan nama produk sudah tepat bila dianggap sebagai factor karena nama konsumen
atau nama produk adalah variabel kualitatif/kategorikal. Tapi hal yang sama tidak
berlaku pada kolom tanggal! Kolom tanggal bukan variabel kualitatif
melainkan continuous variable yang harus dibaca dalam bentuk Date. Oleh sebab
itu, saya perlu membaca file CSV dengan perintah seperti berikut ini:

> penjualan_produk1 <- read.csv('penjualan_produk1.csveader=TRUE,

+ colClasses=c('Date', 'integer')

+)

> sapply(penjualan_produk1,class)
tanggal qty

"Date" "integer"

Sebagai latihan, saya akan mencoba membandingkan penjualan produk1


dan produk2. Untuk itu, saya kembali membaca sebuah file CSV baru yang berisi
data penjualan untuk produk2 dengan memberikan perintah berikut ini:

> penjualan_produk2 <- read.csv('penjualan_produk2.csveader=TRUE,

+ colClasses=c('Date', 'integer')

+)

> head(penjualan_produk2)

tanggal qty

1 2014-09-02 80

2 2014-09-03 90

3 2014-09-04 90

4 2014-09-05 40

5 2014-09-06 30

6 2014-09-08 150

Langkah berikutnya yang perlu saya lakukan adalah membuat


sebuah dataframe baru yang mengkombinasikan kolom qty untuk penjualan
produk1 dan kolom qty untuk penjualan produk2. Pada istilah statistik, proses ini
disebut sebagai data reshaping. Programmer akan lebih mengenalnya dengan
istilah sepeti inner join, left join, aggregation, dan sebagainya 🙂 Sebagai contoh,
saya memberikan perintah berikut ini:
> require(plyr)

Loading required package: plyr

> p <- join(penjualan_produk1, penjualan_produk2, 'tanggal')

> head(p)

tanggal qty qty

1 2014-09-02 20 80

2 2014-09-03 30 90

3 2014-09-04 100 90

4 2014-09-05 10 40

5 2014-09-06 90 30

6 2014-09-08 40 150

Saya memakai require() untuk membaca package dan


menyertakan function yang ada di dalam package tersebut sehingga dapat dipakai.
Salah satu kelebihan R adalah jumlah package-nya yang sangat banyak sekali!
Pada repository resmi-nya di http://cran.r-project.org/web/packages disebutkan
bahwa saat ini terdapat 6.010 package yang tersedia. Pengguna R dapat men-
install package dengan perintah install.packages() atau memilih
menu Tools, Install Packages… di R Studio. Bila dirasa belum cukup, siapa saja
boleh membuat package baru dan mendistribusikannya di situs pribadi bahkan
bisa langsung di-download oleh R dari GitHub.com.
Pada perintah di atas, saya memakai join() untuk menggabungkan
kolom qty dari dataframe penjualan_produk1 dan penjualan_produk2 berdasarkan 
tanggal. Hasil penggabungan kemudian disimpan pada sebuah variabel p. Masalah
baru yang muncul adalah kini terdapat dua kolom dengan nama yang sama di p,
yaitu qty. Untuk mengubah nama kolom, saya memberikan perintah berikut ini:

> names(p) <- c('tanggal', 'qty_produk1', 'qty_produk2')

> head(p)

tanggal qty_produk1 qty_produk2

1 2014-09-02 20 80

2 2014-09-03 30 90

3 2014-09-04 100 90

4 2014-09-05 10 40

5 2014-09-06 90 30

6 2014-09-08 40 150

Saya bisa melakukan agregasi untuk memperoleh rata-rata


dari qty_produk2 per qty_produk1 dengan menggunakan ddply dari package plyr.
Sebagai contoh, perintah berikut ini setara dengan SELECT AVG(qty_produk2)
FROM p GROUP BY qty_produk1 di SQL:

> p <- ddply(p, ~ qty_produk1, summarize, qty_produk2 =


mean(qty_produk2, na.rm=TRUE))

> head(p)

qty_produk1 qty_produk2

1 5 57.50000

2 10 52.66667

3 16 NaN
4 20 41.66667

5 23 NaN

6 25 20.00000

Sekarang, saya akan mencoba metode klasik di statistik dengan


melakukan fitting data di atas ke sebuah persamaan linear Y = B0 * X +
B1 (metode ini disebut linear regression). Karena saya memakai komputer, tentu
saja saya tidak perlu menghitung nilai koefisien B0 dan B1 secara manual. Saya
dapat memperoleh hasil perhitungan cukup dengan menggunakan
perintah lm() seperti yang terlihat pada perintah ini:

> fit1 <- lm(qty_produk1 ~ qty_produk2, data = p)

> summary(fit1)

Call:

lm(formula = qty_produk1 ~ qty_produk2, data = p)

Residuals:

Min 1Q Median 3Q Max

-46.281 -26.616 -8.119 29.186 57.680

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 64.6446 17.4663 3.701 0.00237 **


qty_produk2 -0.2324 0.3221 -0.722 0.48246

---

Signif. codes:

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 35.12 on 14 degrees of freedom

(6 observations deleted due to missingness)

Multiple R-squared: 0.03585, Adjusted R-squared: -0.03301

F-statistic: 0.5206 on 1 and 14 DF, p-value: 0.4825

Saya menyimpan hasil dari lm() pada variabel fit1. Setelah itu saya


menggunakan summary() untuk menampilkan informasi yang berkaitan dengan
hasil fitting tersebut.
Pada perintah lm() di atas, R menghitung nilai coefficients dengan
menggunakan metode linear least squares (disebut juga ordinary least squares).
Bila persamaan linear adalah Y = B0 * X + B1, maka estimasi nilai B0 adalah -
0,2324 dan nilai B1 adalah 64,6446. Ini berarti peningkatan penjualan produk2
akan menyebabkan penurunan penjualan produk1 sebesar 0,2324.
Walaupun demikian, dapat dilihat bahwa nilai B0 memiliki p-
value sebesar 0,48246: sebuah nilai yang terlalu besar. Ini menunjukkan bahwa
terdapat kemungkinan besar peluang yang mengarah pada null hyphothesis yaitu
penjualan produk2 tidak memiliki hubungan dengan penjualan produk1
(hubungan yang terlihat kemungkinan besar hanya kebetulan atau akibat
kesalahan). Output dari summary() secara otomatis memberi tanda bintang
seperti ***, **, *, dan . pada koefisien yang signifikan secara statistik.
Nilai lainnya yang penting adalah R-squared. Nilai R-squared (disebut
juga coefficient of determination) yang semakin mendekati 1 menunjukkan bahwa
persamaan linear semakin mendekati data. Pada output summary() di atas, terlihat
bahwa persamaan linear hanya mencakup 1% (0.01076) data.
R juga memiliki fasilitas yang mempermudah pengguna dalam
menggambarkan grafis. Analisa visual tetap berguna dalam melengkapi analisa
numeris. Untuk menggambar grafis, saya bisa menggunakan fungsi bawaan R
yaitu plot(). Akan tetapi, pada artikel ini, saya akan memakai function pada
package ggplot2 yang perlu di-download secara terpisah. Sebagai contoh, saya
dapat menggambarkan nilai p dalam bentuk plot titik dengan menggunakan
perintah seperti berikut ini:

> require(ggplot2)

Loading required package: ggplot2

> ggplot(p, aes(x=qty_produk2, y=qty_produk1)) + geom_point()

Saya bisa menambahkan geom_smooth() untuk menampilkan persamaan


linear yang dihasilkan oleh lm() dengan menggunakan perintah berikut ini:

> ggplot(p, aes(x=qty_produk2, y=qty_produk1)) + geom_point() +


geom_smooth(method='lm')
Sebagai informasi tambahan, R juga memiliki cor() dan cov() untuk
menghitung nilai correlation dan covariance secara mudah. Sebagai contoh, saya
dapat memberikan perintah seperti berikut ini:

> cov(p$qty_produk1, p$qty_produk2, use='pairwise')

[1] -184.1778

> cor(p$qty_produk1, p$qty_produk2, use='pairwise')

[1] -0.1893496

Nilai covariance yang negatif (-184,1778) sehingga menunjukkan bahwa


terdapat hubungan berbanding terbalik (bila jumlah produk1 bertambah maka
jumlah produk2 cenderung berkurang). Nilai correlation yang mendekati nol
(-0.1893496) menunjukkan variabel yang dibandingkan tidak saling
mempengaruhi.

Anda mungkin juga menyukai