Latif Anshori Kurniawan

Bercengkerama dengan R

Diterbitkan pada dalam Blog.

Kalau kita menengok ke belakang, sekitar lebih dari empat dekade lalu, bahasa C ditemukan oleh dua orang ahli dari Laboratorium AT&T, Dennis Ritchie dan Ken Thompson (beserta tim). C dikreasi awal mula dari dasar bahasa Assembly/Assembler (bahasa yang lekat dengan mesin). C lebih portable dan lebih mudah dipahami (dengan konsep high-level language) daripada Assembly.

Berawal dari C
Dennis & Ken juga mengkreasi sistem operasi UNIX dari C. Selaik C yang memiliki banyak turunan, UNIX pun menginspirasi sistem operasi terbuka lainnya, selaik BSD (yang masih membawa kode sumber asalinya) dan Linux (sebagai klon UNIX dan ditopang utilitas dari GNU). Dari keluarga UNIX BSD, lahirnya sistem masyhur selaik FreeBSD, OpenBSD, hingga macOS (sebelumnya disebut OS X) yang teramat populer. Linux pun tidak kalah fenomenal melalui pelbagai distribusi keren, seperti Ubuntu, Fedora, dan lain-lain.

C pun menjadi populer dan menggejala ke seluruh dunia pada dekade pertamanya. Banyak orang mempelajari algoritmanya secara mendalam—sesuatu yang tidak disangkakan oleh Dennis & Ken. Kemudian, secara bertahap, pada beberapa masa yang nyaris berdekatan, lahirlah beberapa bahasa pemrograman komputer yang ‘diturunkan’ (derivatived) dari C. Faktanya, terdapat bejibun turunan C, baik dikembangkan secara independen dan untuk tim kecil maupun dikembangkan secara masif untuk keperluan—sekaligus ditopang—korporasi yang kompleks. Beberapa di antaranya seperti C++, R, Perl, Python, Java, bahkan PHP, dan banyak lainnya, dapat Anda temukan di belantara dunia maya. Di antara turunan tersebut, terdapat satu yang teramat lekat dan bahkan dapat menggunakan antarpustaka dengan C, yaitu C++, sehingga keduanya tidak jarang ditulis dan disandingkan bersama menjadi C/C++.

Nyaris dapat dikata bahwa C merupakan induk bahasa-bahasa pemrograman komputer populer di dunia hingga kini. Algoritma bahasa C menjadi dasar-dasar pengetahuan untuk pemrograman awal. Dengan kata lain, pengetahuan fundamental perihal C menjadi basis pondasi dasar bagi  pemrogram/pengembang perangkat lunak.

Pendek kata, jamak pihak menyarikan bahwa cukup dengan belajar bahasa C dan Anda pun akan mudah ‘menguasai’ bahasa-bahasa pemrograman lainnya. Logika pemrograman C yang sederhana membuat siapa pun dapat dengan mudah memahami alur algoritmanya sehingga tidak memerlukan waktu lama untuk beradaptasi bila pemrogram telah memahami C.

Terlalu banyak turunan C dan populer. Entah bagaimana menjadi populer, sejatinya C—pada awal-awal perkembangannya—belum mengusung konsep free software atau open-source (terbuka). Yang dikenal luas adalah program utilitas pengompilasi C (C compiler), selaik GNU C Compiler (GCC), yang bersifat terbuka dan sekaligus cross-platform. Fakta berikutnya adalah lebih dari 80% turunan C dikembangkan secara terbuka. Salah satu turunan C yang open-source dan tidak kalah powerful, serta akan kita bincangkan pada kesempatan kali ini, adalah R.

Apa itu R?
R merupakan bahasa pemrograman yang dikhususkan untuk menangani pelbagai kebutuhan penghitungan dengan metoda statistika, dan sekaligus mendukung deskripsi data statistik berbasis grafis (antarmuka visual gambar, bahkan berwarna). R dikembangkan secara terbuka (open-source), tidak mengherankan bila banyak peneliti prefer dengan R alih-alih perangkat lunak komputasi statistika komersial selaik SPSS (dari IBM) atau Excel (bagian dari office suite Microsoft). Kalau pun perlu dikombinasikan dengan bahasa lain, jamak memilih R dan Python, atau bahkan C. Walaupun asalinya dikembangkan terbuka, pihak pengembang R sendiri juga melayani pelbagai kebutuhan pengguna, bahkan masuk dalam ranah komersial (mereka pun menyediakan layanan berbayar dan purnajual bila pengguna memerlukan beberapa dukungan tambahan spesial dari tim proyek R).

Pondasi perangkat R dapat diunduh secara bebas dari laman resmi yang dianjurkan oleh tim pengembangnya. Dalam paket lengkap pondasi tersebut, sudah lebih dari sangat-cukup-lengkap untuk menopang analisis statistika paling kompleks perusahaan Anda. Barangkali, yang acap menjadi isu adalah antarmuka dasar R yang berbasis perintah (command line interface, CLI).

Sekalipun ada kerangka lingkungan pengembangan (integrated development environment, IDE) bawaan yang berbasis ncurses, hal ini masih dirasa kurang bersahabat bagi pengguna yang terlalu terbiasa dengan antarmuka grafis (graphical user interface, GUI). Alhamdulillah, RStudio adalah jawabannya.

New curses, pustaka pemrograman yang mendukung antarmuka pemrograman aplikasi/API—mudahnya: pernahkah mendapati aplikasi berbasis DOS yang berwarna dan fiturnya/menunya dapat diakses dari klik-klik pointer tetikus?”

Dengan RStudio, pengolahan data secara statistika menjadi terasa dimanjakan. Lebih-lebih manajemen banyak fungsi menjadi lebih mudah diakses. Sejatinya, RStudio selaik IDE, Anda tetap mesti menguasai dan memahami R sebagai pondasi dasar minimalnya. Hal ini mengingatkan kita pada Qt, sebuah kerangka pemrograman dengan dasar C++, yang merilis Qt Creator guna memudahkan pemrogram mengembangkan aplikasi berbasis Qt.

Saya pribadi masih mencoba menerawang dengan R (saja) dahulu, sekalipun RStudio atau R Commander telah terpasang, di atas turunan UNIX (BSD Darwin). Mohon dimaklumi, masih dalam taraf belajar, he he he. Di keluarga UNIX, R ter-setup dengan maksimal.

R pun jamak diandalkan untuk proses analisis data secara statistika. Sangsi tiada organisasi/lembaga, yang fokus pada penyajian data statistik, yang tidak menggunakan R. Kalaupun tidak menggunakan, setidaknya mengetahui R sebagai salah satu alat bantu dalam dunia statistika.

Perbedaan dengan SPSS, menurut hemat pribadi, hanyalah soal fitur dan kemudahan. Dengan SPSS, terdapat kemudahan dari proses entri data hingga analisis statistikanya. Memang memerlukan pencermatan berlebih bila menggunakan R, tetapi setidaknya step-step yang dilalui lebih terperinci sehingga lebih mengedukasi pengguna atas apa yang dilakukan. Dengan kata lain, Anda tidak asal menerima hasil pengolahan data begitu saja di R.

Soal ‘kecepatan’, sejatinya sama saja. SPSS lebih mengefektifkan waktu Anda, sedangkan R lebih menyita perhatian berlebih bila belum terbiasa. Antara SPSS dan R, keduanya terdapat kelebihan dan kekurangan. Selaik jamak hal dalam kehidupan, Anda berhak memilih. Sebab pos kali ini adalah perihal R, tidak mengapa bila give it a try, bukan?

Langkah-langkah Memasang R di UNIX/BSD
UNIX/BSD di sini dimaksudkan selaik lingkungan sistem operasi open-source keluarga UNIX, baik secara umum maupun dari keluarga BSD, atau bahkan serupa mirip-UNIX (UNIX-like) seperti sistem ber-kernel Linux. Apabila Anda menggunakan sistem non-UNIX, barangkali akan sedikit berbeda langkah, tetapi pada dasarnya tidak jauh berbeda. Adapun langkah-langkah memasang pondasi dasar R (sekaligus barangkali berfaedah: dan RStudio) di UNIX/BSD adalah sebagai berikut.

  • Sila unduh R melalui pranala berikut: http://cran.us.r-project.org/. Pastikan Anda mengunduh R versi terbaru dan sesuai dengan sistem yang akan Anda gunakan untuk menjalankan R. Apabila Anda tidak mengetahui hal apa saja yang diperlukan ketika instalasi, elok membiarkannya secara asali (default) apa adanya—hal ini sudah mencukupi kebutuhan Anda atas R.
  • Ada kala sistem UNIX/BSD Anda memerlukan perhatian khusus. Pada keterangan yang ada, terdapat XQuartz yang dapat dipasang—hal ini bersifat opsional.
  • Unduh RStudio versi desktop untuk UNIX/BSD Mac Anda dari laman resmi mereka: http://rstudio.org/download/desktop. Sekali lagi, elok menyesuaikan dengan kondisi sistem Anda, dan hal terbaik adalah tetap—mudah-mudahan—dapat menggunakan versi paling baru.
  • Anda ingin memasang R Commander sekalian? Tulisan Pak Andrew Heiss amat mudah dipahami—insyaallah.
  • Tara, R dan RStudio (bahkan sekalian R Commander) Anda sudah siap digunakan. Selamat!

Omong-omong, apabila Anda terbiasa bekerja di atas lingkungan desktop KDE, terdapat aplikasi berbasis KDE yang menopang kebutuhan kalkulasi R Anda, yaitu RKWard. Tidak kalah niat dengan RStudio, RKWard dikreasi agar lebih memudahkan Anda bercengkerama dengan R.

Sebagai bahan belajar bahasa R, Anda dapat mencoba mengikuti tutorial dari Michael Galarnyk ini. Penjelasan regresi linier univariat Galarnyk mudah dipahami, tidak kalah elok sebagai pengantar awal belajar statistika dengan R. Selamat belajar R!