Alasan Mengapa R Jauh Lebih Baik dari Python Untuk Pemula

Hadi Suryo
Math Adventurer
Published in
5 min readMar 21, 2018

--

Saya mengenal bahasa pemrograman R sejak saya kuliah semester 5, sekitar 3 atau 4 tahun yang lalu, pada mata kuliah Aplikasi Pemrograman Matematika di Universitas Pendidikan Indonesia. Pada mata kuliah itu awalnya kita diajarkan menggunakan aplikasi dekstop yang dapat digunakan untuk menyelesaikan masalah matematika, mulai dari MATLAB, SPSS (it’s for statistics, anyway), MAPLE, Geogebra dan yang terakhir R. Sepanjang yang saya ingat saya tidak begitu menikmati mempelajari pemrograman MATLAB dan R karena saya sendiri tidak terbiasa melakukan pemrograman. Walaupun saya cukup baik dalam pemrograman PASCAL, namun saya tidak begitu menikmati mata kuliah pemrograman. Karena menurut saya, saya tidak membutuhkannya ketika akan mengambil konsentrasi paling gaib di jurusan matematika: aljabar. Well, bagi yang ingin tau apa yang saya kerjakan mungkin bisa melihat sekilas isi skripsi saya:

Ehh…

Tapi, sejak menghadapi dunia nyata (red: dunia dimana lulusan baru plenga-plengo mencari kerjaan), saya menyadari bahwa kemampuan programming sangat dicari oleh perusahaan-perusahaan, baik kecil maupun besar, terutama bagi mereka yang ingin menjadi data scientist (the better coder among statistician, and the better statistician among programmer). Mau tidak mau saya harus belajar bahasa pemrograman dan sains data, karena jelas tidak ada satupun perusahaan yang menganggap bahwa aljabar graf ultramatricial atau Complex Kumjian-Pask algebras bisa meningkatkan ROI perusahaan.

Dan yang dari jurusan Ilmu Komputer nanya: ini topologi jaringan?

Saat itu ada dua bahasa pemrograman yang umum dipelajari untuk menjadi data scientist, yaitu R dan python. Saya sudah mempelajari R sejak kuliah sedangkan python termasuk baru saya pelajari. Keduanya menjanjikan hal yang sama: kemudahan. Namun, setelah saya mempelajari keduanya saya memilih R sebagai bahasa yang harus saya kuasai. Berikut adalah alasan mengapa saya lebih memilih R dibanding python.

R lebih mudah dan intuitif untuk dipelajari dan digunakan untuk analisis dan manipulasi data.

Dalam sejarahnya, R didesain sebagai bahasa pemrograman yang digunakan untuk melakukan analisis dan manipulasi data, sedangkan python merupakan bahasa pemrograman yang sifatnya umum (disebut juga general-purpose programming language). Oleh karena itu, R memiliki banyak built-in function yang dapat digunakan untuk melakukan analisis data dibandingkan dengan python. Misalnya untuk mencari mean atau rerata dari sebarisan data, di R kita cukup menggunakan fungsi mean() ketika para pengguna python harus membuat fungsi khusus atau import library numpy dan menggunakan method numpy.mean().

Bahkan untuk sekedar menjumlahkan dua buah vektor akan jauh lebih intuitif di R dibandingkan dengan melakukannya di python.

Jumlah dua buah vektor di R

Sweet!

‘Jumlah’ (?) dua buah vektor di python

Ehh… what?

Bagi yang ingin tau bagaimana cara menjumlahkan dua buah vektor di python bisa merujuk ke link berikut. Setidaknya agar bisa menjumlahkan kedua buah vektor dengan mudah kita harus menggunakan numpy.

Tidak hanya untuk analisis data, bahkan untuk melakukan plotting data, R jauh lebih simpel dibandingkan dengan python, cukup dengan menggunakan fungsi `plot()`, masukkan nilai x dan y (jika dua dimensi), maka plot pun jadi:

plot(c(1,2,3,4),c(4,5,6,7))

Sedangkan jika menggunakan python harus memanggil library matplotlib dengan cara menggunakan method plt sebagai berikut:

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()

R lebih simple kan?

Umumnya hasil riset terbaru selalu diimplementasikan di bahasa pemrogramman R

R menerbitkan jurnal open-access yang berisi implementasi teori-teori statistika atau matematika tertentu dalam bahasa pemrograman R. Oleh karenanya, R memiliki package yang up-to-date mengikuti perkembangan ilmu pengetahuan. Tidak heran jika R memiliki lebih dari 12.336 packages (dan mungkin terus tumbuh) yang siap digunakan untuk melakukan analisis yang anda inginkan. Mulai dari packages yang berkaitan dengan statistika sampai machine learning. Bahkan TensorFlow dan Keras yang dibanggakan para pengguna python juga ada di R.

R nyaris bisa digunakan untuk apa saja: mulai dari membuat web sampai robotik

“Tapi kan python lebih general, python jauh lebih hebat dong dari R!”. Wait:

Yes! Bahkan tidak perlu menggunakan atau mempelajari HTML, CSS dan javascript! Dengan menggunakan package Shiny, kita bisa membuat web hanya dengan menggunakan bahasa pemrograman R, baik untuk layout sampai business logic. Anda bisa melihat contoh aplikasi web yang dibuat dengan shiny pada situs berikut.

Contoh aplikasi web dibuat menggunakan shiny

“Tapi kan Shiny terbatas tampilannya cuman gitu-gitu doang, sedangkan kalau ngoding pakai python kita bisa bikin tampilan lebih dinamis…”

Let me introduce you OpenCPU and Plumber. Dengan menggunakan OpenCPU kita bisa membangun aplikasi web dengan memanfaatkan kemampuan R, sedangkan dengan menggunakan Plumber kita bisa membuat REST API.

Dengan bantuan ROS (Robotic Operating Systems), R dapat digunakan untuk melakukan pemrograman robotik.

Bahkan dengan R kita bisa membuat labirin untuk game Minecraft

I mean, for real…?!

Kesimpulan

R memang memiliki kelebihan yang menurut saya jauh lebih banyak dibandingkan python dalam hal kemudahan penggunaan, terutama dalam analisis data. Walaupun begitu R juga memiliki beberapa kekurangan yang perlu dipertimbangkan seperti performance atau kecepatan dalam mengeksekusi program yang masih kalah dibandingkan python. Walau begitu, dengan mempertimbangkan kemudahan dan fleksibilitas, R tetap yang terbaik.

--

--

Hadi Suryo
Math Adventurer

A statistical consultant at StatsMaster and Data Scientist BI at Bukalapak. Meet him at hadimaster65555.github.io