Chapter 1 Bahasa Pemrograman R
Dewasa ini tersedia banyak sekali software yang dapat digunakan untuk membantu kita dalam melakukan analisa data. software yang digunakan dapat berupa software berbayar atau gratis.
R
merupakan merupakan salah satu software gratis yang sangat populer di Indonesia. Kemudahan penggunaan serta banyaknya besarnya dukungan komunitas membuat R
menjadi salah satu bahasa pemrograman paling populer di dunia.
Paket yang disediakan untuk analisis statistika dan analisa numerik juga sangat lengkap dan terus bertambah setiap saat. Hal ini membuat R
banyak digunakan oleh para analis data.
Pada chapter ini penulis akan memperkenalkan kepada pembaca mengenai bahasa pemrograman R
. Mulai dari sejarah, cara instalasi sampai dengan bagaimana kita memanfaatkan fitur dasar bantuan untuk menggali lebih jauh tentang fungsi-fungsi R
1.1 Sejarah R
R
Merupakan bahasa yang digunakan dalam komputasi statistik yang pertama kali dikembangkan oleh Ross Ihaka dan Robert Gentlement di University of Auckland New Zealand yang merupakan akronim dari nama depan kedua pembuatnya. Sebelum R
dikenal ada S
yang dikembangkan oleh John Chambers dan rekan-rekan dari Bell Laboratories yang memiliki fungsi yang sama untuk komputasi statistik. Hal yang membedakan antara keduanya adalah R
merupakan sistem komputasi yang bersifat gratis.Logo R
dapat dilihat pada Gambar 1.1.
R
dapat dibilang merupakan aplikasi sistem statistik yang kaya. Hal ini disebabkan banyak sekali Paket yang dikembangkan oleh pengembang dan komunitas untuk keperluan analisa statistik seperti linear regression, clustering, statistical test, dll. Selain itu, R
juga dapat ditambahkan Paket-Paket lain yang dapat meningkatkan fiturnya.
Sebagai sebuah bahasa pemrograman yang banyak digunakan untuk keperluan analisa data, R
dapat dioperasikan pada berbagai sistem operasi pada komputer. Adapun sistem operasi yang didukung antara lain: UNIX
, Linux
, Windows
, dan MacOS
.
1.2 Fitur dan Karakteristik R
R
memiliki karakteristik yang berbeda dengan bahasa pemrograman lain seperti C++
,python
, dll. R
memiliki aturan/sintaks yang berbeda dengan bahasa pemrograman yang lain yang membuatnya memiliki ciri khas tersendiri dibanding bahasa pemrograman yang lain.
Beberapa ciri dan fitur pada R
antara lain:
- Bahasa
R
bersifat case sensitif. maksudnya adalah dalam proses inputR
huruf besar dan kecil sangat diperhatikan. Sebagai contoh kita ingin melihat apakah objek A dan B pada sintaks berikut:
## [1] FALSE
- Segala sesuatu yang ada pada program
R
akan diangap sebagai objek. konsep objek ini sama dengan bahasa pemrograma berbasis objek yang lain sepertiJava
,C++
,python
, dll.Perbedaannya adalah bahasaR
relatif lebih sederhana dibandingkan bahasa pemrograman berbasis obejk yang lain. - interpreted language atau script. Bahasa
R
memungkinkan pengguna untuk melakukan kerja padaR
tanpa perlu kompilasi kode program menjadi bahasa mesin. - Mendukung proses loop, decision making, dan menyediakan berbagai jenis operstor (aritmatika, logika, dll).
- Mendukung export dan import berbagai format file, seperti:TXT, CSV, XLS, dll.
- Mudah ditingkatkan melalui penambahan fungsi atau library. Penambahan Paket dapat dilakukan secara online melalui CRAN atau melalui sumber seperti github.
- Menyedikan berbagai fungsi untuk keperluan visualisasi data. Visualisasi data pada
R
dapat menggunakan Paket bawaan atau Paket lain sepertiggplo2
,ggvis
, dll.
1.3 Kelebihan dan Kekurangan R
Selain karena R
dapat digunakan secara gratis terdapat kelebihan lain yang ditawarkan, antara lain:
- Protability. Penggunaan software dapat digunakan kapanpun tanpa terikat oleh masa berakhirnya lisensi.
- Multiplatform.
R
bersifat Multiplatform Operating Systems, dimana softwareR
lebih kompatibel dibanding software statistika lainnya. Hal in berdampak pada kemudahan dalam penyesuaian jika pengguna harus berpindah sistem operasi karenaR
baik pada sistem operasi sepertiwindows
akan sama pengoperasiannya dengan yang ada diLinux
(Paket yang digunakan sama). - General dan Cutting-edge. Berbagai metode statistik baik metode klasik maupun baru telah diprogram kedalam
R
. Dengan demikian software ini dapat digunakan untuk analisis statistika dengan pendekatan klasik dan pendekatan modern. - Programable. Pengguna dapat memprogram metode baru atau mengembangakan modifikasi dari analisis statistika yang telah ada pada sistem
R
. - Berbasis analisis matriks. Bahasa
R
sangat baik digunakan untuk programming dengan basis matriks. - Fasiltas grafik yang lengkap.
Adapun kekurangan dari R
antara lain:
- Point and Click GUI. Interaksi utama dengan
R
bersifat CLI (Command Line Interface), walaupun saat ini telah dikembangkan Paket yang memungkinkan kita berinteraksi denganR
menggunakan GUI (Graphical User Interface) sederhana menggunakan PaketR-Commander
yang memiliki fungsi yang terbatas.R- Commander
sendiri merupakan GUI yang diciptakan dengan tujuan untuk keperluan pengajaran sehingga analisis statistik yang disediakan adalah yang klasik. Meskipun terbatas Paket ini berguna jika kita membutuhkan analisis statistik sederhana dengan cara yang simpel. - Missing statistical function. Meskipun analisis statistika dalam
R
sudah cukup lengkap, namun tidak semua metode statistika telah diimplementasikan ke dalamR
. Namun karenaR
merupakan lingua franca untuk keperluan komputasi statistika modern staan ini, dapat dikatakan ketersediaan fungsi tambahan dalam bentuk Paket hanya masalah waktu saja.
1.4 RStudio
Aplikasi R
pada dasarnya berbasis teks atau command line sehingga pengguna harus mengetikkan perintah-perintah tertentu dan harus hapal perintah-perintahnya. Setidaknya jika kita ingin melakukan kegiatan analisa data menggunakan R
kita harus selalu siap dengan perintah-perintah yang hendak digunakan sehingga buku manual menjadi sesuatu yang wajib adasaat berkeja dengan R
.
Kondisi ini sering kali membingunkan bagi pengguna pemula maupun pengguna mahir yang sudah terbiasa dengan aplikasi statistik lain seperti SAS, SPSS, Minitab, dll. Alasan itulah yang menyebabkan pengembang R
membuat berbagai frontend untuk R
yang berguna untuk memudahkan dalam pengoperasian R
.
RStudio
merupakan salah satu bentuk frontend R
yang cukup populer dan nyaman digunakan. Selain nyaman digunakan, RStudio
memungkinkan kita melakukan penulisan laporan menggunakan Rmarkdown
atau RNotebook
serta membuat berbagai bentuk project seperti shyni, dll. Pada R
studio juga memungkinkan kita mengatur working directory tanpa perlu mengetikkan sintaks pada Commander, yang diperlukan hanya memilihnya di menu RStudio
. Selain itu, kita juga dapat meng-import file berisikan data tanpa perlu mengetikkan pada Commander dengan cara memilih pada menu Environment
.
1.5 Menginstall R dan RStudio
Pada tutorial ini hanya akan dijelaskan bagaimana menginstal R
dan RStudio
pada sistem operasi windows
. Sebelum memulai menginstal sebaiknya pembaca mengunduh terlebih dahulu installer R dan RStudio.
- Jalankan proses pemasangan dengan meng-klik installer aplikasi
R
danRStudio
. - Ikuti langkah proses pemasangan aplikasi yang ditampilkan dengan klik
OK
atauNext
. - Apabila pemasangan telah dilakukan, jalankan aplikasi yang telah terpasang untuk menguji jika aplikasi telah berjalan dengan baik.
Jendela aplikasi yang telah terpasang ditampilkan pada Gambar 1.2 dan Gambar 1.3.
Tips: Sebaiknya install
R
terlebih dahulu sebelumRStudio
1.6 Working Directory
Setiap pengguna akan bekerja pada tempat khusus yang disebut sebagai working directory. working directory merupakan sebuah folder dimana R
akan membaca dan menyimpan file kerja kita. Pada pengguna windows
, working directory secara default pada saat pertama kali menginstall R
terletak pada folder c:\\Document
.
1.6.1 Mengubah Lokasi Working Directory
Kita dapat mengubah lokasi working directory berdasarkan lokasi yang kita inginkan, misalnya letak data yang akan kita olah tidak ada pada folder default atau kita ingin pekerjaan kita terkait R
dapat berlangsung pada satu folder khusus.
Berikut adalah cara mengubah working directory pada R
.
- Buatlah folder pada drive (kita bisa membuat folder pada selain drive c) dan namai dengan nama yang kalian inginkan. Pada tutorial ini penulis menggunakan nama folder
R
. - Jika pengguna menggunakan
RStudio
, pada menuRStudio
pilih Session > Set Working Directory > Chooses Directory. Proses tersebut ditampilkan pada Gambar 1.4 - Pilih folder yang telah dibuat pada step 1 sebagai *working directory.
Penting: Data atau file yang hendak dibaca selama proses kerja pada
R
harus selalu diletakkan pada working directory. Jika tidak maka data atau file tidak akan terbaca.
Untuk mengecek apakah proses perubahan telah terjadi, kita dapat mengeceknya dengan menjalankan perintah berikut untuk melihat lokasi working directory kita yang baru.
Selain itu kita dapat mengubah working directory menggunakan perintah berikut:
Peringatan !!!
Pada proses pengisian lokasi folder pastikan pemisah pada lokasi folder menggunakan tanda “/” bukan ""
1.6.2 Mengubah Lokasi Working Directory Default
Pada proses yang telah penulis jelaskan sebelumnya. Proses perubahan working directory hanya berlaku pada saat pekerjaan tersebut dilakukan. Setelah pekerjaan selesai dan kita menjalankan kembali R
maka working directory akan kembali secara default pada working directory lama.
Untuk membuat lokasi default working directory pindah, kita dapat melakukannya dengan memilih pada menu: Tools > Global options > pada “General” klik pada “Browse” dan pilih lokasi working directory yang diinginkan. Proses tersebut ditampilkan pada Gambar 1.5
1.7 Memasang dan Mengaktifkan Paket R
R
dapat ditingkatkan fungsionalitasnya melalui Paket-Paket yang tersedia secara luas. Paket-Paket ini dikembangkan secara spesifik oleh para pengembang sesuai dengan tujuan paketnya, seperti: tidyverse
untuk data science, pracma
untuk analisis diferensial, dll.
Untuk menginstall Paket yang kita inginkan, kita dapat menggunakan fungsi install.packages()
. Berikut adalah contoh bagaimana cara menginstall Paket tidyverse
:
Paket yang telah diinstall tidak dapat langsung digunakan. Untuk menggunakan fungsi-fungsi yang tersedia pada Paket tersebut kita perlu terlebih dahulu mengaktifkannya menggunakan fungsi library()
. Berikut adalah contoh sintaks untuk mengaktifkan Paket tidyverse
:
Bagaimana ingin menggunakan fungsi pada Paket namun tidak ingin mengaktifkan paketnya terlebih dahulu menggunakan fungsi library()
? Untuk melakukannya kita perlu mengetikkan nama Paket dikuti oleh tanda “::” diikuti fungsi yang ingin kita gunakan. Berikut adalah contoh penggunaan fungsi read_csv()
dari Paket readr
(salah satu Paket yang terdapat pada kumpulan Paket tidyverse
) untuk membaca file contoh.csv
:
1.8 Fasilitas Help
Agar dapat menggunakan R
dengan secara lebih baik, pengetahuan untuk mengakses fasilitas help in cukup penting untuk disampaikan. Adapun cara yang dapat digunakan adalah sebagai berikut.
1.8.1 Mencari Help dari Suatu Perintah Tertentu
Untuk memperoleh bantuan terkait suatu perintah tertentu kita dapat menggunakan fungsi help()
. Secara umum format yang digunakan adalah sebagai berikut:
atau dapat juga menggunakan tanda tanya (?) pada awal nama_perintah
seperti berikut:
Misalkan kita kebingungan terkait bagaimana cara menuliskan perintah untuk menghitung rata-rata suatu vektor. Kita dapat mengetikkan perintah berikut untuk mengakses fasilitas help.
Perintah tersebut akan memunculkan hasil berupa dokumentasi yang ditampilkan pada Gambar 1.6.
Keterangan pada jendela pada Gambar 1.6 adalah sebagia berikut:
- Pada bagian jendela kiri atas jendela help, diberikan keterangan nama dari perintah yang sedang ditampilkan.
- Selanjutnya, pada bagian atas dokumen, ditampilkan infomasi terkait nama perintah, dan nama Paket yang memuat perintah tersebut. Pada gambar diatas informasi terkait perintah dan nama Paket ditunjukkan pada teks
mean {base}
yang menunjukkan perintahmean()
pada Paket (Paket) base (Paket bawaanR
). - Setiap jendela help dari suatu perintah tertentu selanjutnya akan memuat bagian-bagian berikut:
- Title
- Description : deskripsi singkat tentang perintah.
- Usage : menampilkan sintaks perintah untuk penggunaan perintah tersebut.
- Arguments : keterangan mengenai argument/inputyang diperlukan pada perintah tersebut.
- Details : keterangan lebih lengkap lengkap tentang perintah tersebut.
- Value : keterangan tentang output suatu perintah dapat diperoleh pada bagian ini.
- Author(s) : memberikan keterangan tentang Author dari perintah tersebut.
- References : seringkali referensi yang dapat digunakan untuk memperoleh keterangan lebih lanjut terhadap suatu perintah ditampilkan pada bagian ini.
- See also: bagian ini berisikan daftar perintah/fungsi yang berhubungan erat dengan perintah tersebut.
- Example : berisikan contoh-contoh penggunaan perintah tersebut.
Kita juga dapat melihat contoh penggunaan dari perintah tersebut. Untuk melakukannya kita dapat menggunakan fungsi example()
. Fungsi tersebut akan menampilkan contoh kode penerapan dari fungsi yang kita inginkan. Secara sederhana fungsi tersebut dapat dituliskan sebagai berikut:
Untuk mengetahui contoh kode fungsi mean()
, ketikkan sintaks berikut:
##
## mean> x <- c(0:10, 50)
##
## mean> xm <- mean(x)
##
## mean> c(xm, mean(x, trim = 0.10))
## [1] 8.75 5.50
kita juga dapat mencoba kode yang dihasilkan pada console R
. Berikut adalah contoh penerapannya:
## [1] 0 1 2 3 4 5 6 7 8 9 10 50
## [1] 8.75
Pembaca dapat mencoba melakukanya sendiri dengan mengganti nilai yang telah ada serta mencoba contoh kode yang lain.
1.8.2 General Help
Kita juga dapat membaca beberapa dokumen manual yang ada pada R
. Untuk melakukannya jalankan perintah berikut:
Output yang dihasilkan berupa link pada sejumlah dokumen yang dapat kita klik. Tampilan halaman yang dihasilkan disajikan pada Gambar 1.7.
1.8.3 Fasilitas Help Lainnya
Selain yang telah penulis sebutkan sebelumnya. Kita juga dapat memanfaatkan fasilitas help lainnya melalui fungsi apropos()
dan help.search()
.
apropos ()
: mengembalikan daftar objek, berisi pola yang pembaca cari, dengan pencocokan sebagian. Ini berguna ketika pembaca tidak ingat persis nama fungsi yang akan digunakan. Berikut adalah contoh ketika penulis ingin mengetahui fungsi yang digunakan untuk menghitung median.
## [1] "elNamed" "elNamed<-" "median"
## [4] "median.default" "medpolish" "runmed"
List yang dihasilkan berupa fungsi-fungsi yang memiliki elemen kata “med”. Berdasarkan pencaria tersebut penulis dapat mencoba menggunakan fungsi “median” untuk menghitung median.
help.search ()
(sebagai alternatif ??): mencari dokumentasi yang cocok dengan karakter yang diberikan dengan cara yang berbeda. Ini mengembalikan daftar fungsi yang mengandung istilah yang pembaca cari dengan deskripsi singkat dari fungsi.
Berikut adalah contoh penerapan dari fungsi tersebut:
Output yang dihasilkan akan tampak seperti pada Gambar 1.8.
1.9 Referensi
- Primartha, R. 2018. Belajar Machine Learning Teori dan Praktik. Penerbit Informatika : Bandung
- Rosadi,D. 2016. Analisis Statistika dengan R. Gadjah Mada University Press: Yogyakarta
- STHDA. Running RStudio and Setting Up Your Working Directory - Easy R Programming .http://www.sthda.com/english/wiki/running-rstudio-and-setting-up-your-working-directory-easy-r-programming#set-your-working-directory
- STDHA. Getting Help With Functions In R Programming. http://www.sthda.com/english/wiki/getting-help-with-functions-in-r-programming .
- Venables, W.N. Smith D.M. and R Core Team. 2018. An Introduction to R. R Manuals.