Koneksi MySQL dengan R Studio

R Studio merupakan interface dari bahasa pemrograman R yang saat ini sangat populer untuk menyelesaikan berbagai pekerjaan komputasi. Popularitas bahasa pemrograman R semakin lama semakin meningkat seiring dengan beertambahnya pengguna. Salah satu keunggulan darii bahasa pemrograman R adalah Open Source. Kita tidak perlu lagi diributkn masalah lisensi ddan segala kelengkapan lainnya manakala kita ingin mempublikasikan hasil karya kita. Untuk informai lebih lengkap mengenai bahasa pemrograman R pembaca bisa mencari literatur sendiri, banyak kok, tinggal tanya mbah google saja.

Tantangan saya kali ini adalah bagaimana mengkoneksikan MySQL ke R Studio. Saya memang sangat tertarik dengan database MySQL karena banyak kegiatan saya menggunakan database ini untuk pengembangan web based system. Keunggulan komputasi dari bahasa R inilah yang ingin saya gabung dengan fleksibilitas dari database MySQL. Target kali ini adalah bagaimana mengkoneksikan MySQL ke Rstudio.

Tahapan yang perlu dilakukan adalah

  1. Instalasi program R dan R Studio
  2. Instalasi web server
  3. Koneksi R Studio ke MySQL

1. Instalasi program R dan R Studio

Ok saya anggap komputer anda memiliki sistem operasi window, walaupun sebenarnya program R juga bisa berjalan di MacOS dan Linux. Untuk versi window saat ini sampai pada versi 3.4.3 yang dapat didownload di sini. Jika sudah terdownload silahkan melakukan proses instalasi. Mudah kok, tinggal diikuti klik and klik. (males take screenshoot 🙂 ). Kemudian silahkan download R Studionya disini, dan dilanjutkan tahapan instalasi klik and klik. Selesai.

2. Instalasi web server

MySQL berjalan diatas server, sehingga kita memerlukan instalasi server. Dalam kasus saya menggunakan server web apache. Namun anda juga bisa menggunakan paket berisi server+MySQL+PHP seperti xammp, EasyPHP, Appserv dsb. Dalam kasus saya, saya menggunakan Appserv, dengan pertimbangan ukuran file serta kemudahan pengoperasian (bagi saya). Tahapan instalasi dapat merujuk ke websitenya atau tanya mbah google. Intinya sama, hanya klik and klik, selesai. Kemudian bukalah lokasi instalasi kita misalnya di C:\Appserv, mka arahkan ke C:\Appserv\www dan bikinlah folder disini misal namanya latihanR sehingga alamat komplitnya menjadi C:\Appserv\www\latihanR

3. Koneksi R Studio ke MySQL

Silahkan membuka R studio, tampilannya kira-kira seperti ini

Buatlah project (kanan atas) dan arahkan lokasi filenya di direktori Appserv yang sudah kita install tadi yaitu arahkan ke C:\Appserv\www\latihanR. Kemudian buatlah skrip baru, lokasinya di kiri atas tampilan dengan icon tanda ‘plus (+)’ atau tekan Ctrl+Shift+N.  Akan terbuka jendela baru di kiri atas tempat kita mengetikkan perintah bahasa R.

Untuk menjalankan koneksi ke server MySQL paling tidak ada 2 paket yang dibutuhkan yaitu

  1. RMySQL, merupakan database interfase dan MySQL driver untuk pemrograman R
  2. dbConnect, GUI untuk mengkoneksikan  dengn database MySQL

Paket dependency yang lain ditambahkan otomatis selama proses instalasi paket diatas. Tampilan lengkap sesudah sukses koneksinya adalah sbb

mari kita bedah pertahapan

install.packages(“RMySQL”)
# perintah untuk melakuan instalasi RMySQL ke RStudio

install.packages(“dbConnect”)
# perintah untuk melakuan instalasi dbConnect ke RStudio

tahapan berikutnya adalah pemanggilan library masing-masing paket dengen perintah

library(RMySQL)
library(dbConnect)

Tahapan selanjutnya adalah melakukan tes koneksi

rconn = dbConnect(MySQL(),
                     user=”root”,
                     password=”password”,
                     host=”127.0.0.1″,
                     dbname=”database”)

#pertama-tama kita memberikan nama koneksi kita yaitu rconn yang kemudian menggunakan dbConnect untuk melakukan koneksi dengan MySQL. Sesuaikan dengan konfigurasi pada server anda. Lebih terjamin keberhasilannya bila anda tidak menggunakan localhost tapi menggunakan 127.0.0.1. Bila tidak ada pesan error di console, berarti koneksi berhasil. Untuk mengetesnya, misal menampilkan tabel dalam database, anda bisa menggunakan perintah

dbListTables(rconn)

Apabila sudah muncul nama-nama tabel di jendela konsole, berarti SELAMATTT!!!! Anda sudah sukses mengkoneksikan R dengan MySQL sekaligus membaca tabel didalamnya.

Berikutnya kita akan melakukan uji coba query dari R ke tabel didalam MySQL

result = dbSendQuery(rconn,”select no_reg, nama, email from database”)
data.frame=fetch(result, n=10)
print(data.frame)

Perintah ini akan menunculkan 10 data dari pemanggilan query. Kita bisa menghilangkan n=10 pada data.frame=fetch(result, n=10) apabila kita ingin menampilkan semua data.

Saya cenderung lebih menyukai library ini dibanding yang lain seperti dplyr, sqldf, karena bahasa MySQL untuk pemanggilan data sama sekali tidak berubah, masih mirip dengan aslinya.Bagi yang sudah terbiasa web programming menggunakan php dan MySQL maka akan sangat membantu untuk query tabel dalam database yang lebih kompleks.

Demikian tutorial singkat ini semoga berguna bagi pembaca.

 

Thx

Iklan

Total COUNT/SUM(COUNT) beserta COUNT dalam satu tampilan Query MySQL untuk menghitung prosentase

Setelah sekian lama tidak update dikarenakan banyak hal, kali ini saya akan membagikan pengalaman mengenai penggunaan operasi COUNT dan TOTAL COUNT dalam satu tampilan query.Dari beberapa referensi yang saya dapatkan di internet, sangat sedikit yang melibatkan penjumlahan dari hasil COUNT untuk ditampilkan didalam tabel hasil Query, sebagai contoh untuk menghitung proporsi hasil COUNT per-item terhadap TOTAL COUNT. Masih bingung maksudnya?

Kasus yang saya gunakan adalah saya memiliki beberapa data nama sales yang menyetor ke beberapa toko dengan menyetor beberapa jenis buah. Saya ingin mengetahui berapa frekuensi dari masing masing sales dan proporsi masing-masing sales terhadap total sales. Ok langsung saja ini adalah tabel yang sudah saya buat

tabeltoko

Saya ingin membuat laporan dengan tampilan seperti ini

hasil

Untuk menampilkan dua kolom pertama, yaitu nama_sales dan frekuensi_sales kita bisa menggunakan perintah COUNT dan dibantu perintah GROUP

SELECT nama_sales, COUNT(nama_sales) AS frekuensi_sales
FROM namatabel
GROUP BY nama_sales

Untuk menampilkan kolom ketiga diperoleh dari frekuensi_sales dibagi total frekuensi sales. Artinya kita haruslah menjumlahkan/SUM hasil dari perintah COUNT dengan tetap mempertahankan grouping nama_sales. Blok querynya mirip yang pertama yaitu

SELECT nama_sales, COUNT(nama_sales), [query] AS Prosentase
FROM namatabel
GROUP BY nama_sales

Sekarang tinggal menyelesaikan blok [query]-nya. Kita akan menggunakan perintah untuk menghitung semua frekuensi, artinya tidak menggunakan SUM, tetapi kita melakukan pendekatan dengan menghitung total semua frekuensi. Query-nya adalah

SELECT COUNT(*) FROM namatabel

Query ini akan menghasilkan output 10

Langkah berikutnya untuk rumus menghitung prosentase adalah (frekuensi/total frekuensi)*100. Frekuensi per sales kita ambil dari

COUNT(nama_sales)

sehingga query-nya menjadi

(COUNT(nama_sales) / SELECT COUNT(*) FROM namatabel)*100

Apabila inging hasilnya dibulatkan tanpa angka dibelakang koma, kita bisa menggunakan ROUND( ) sehingga query-nya menjadi

ROUND((COUNT(nama_sales)/(SELECT COUNT(*) FROM toko))*100, 0)

kalo kita menginginkan ada 2 angka setelah koma tinggal diganti saja menjadi

ROUND((COUNT(nama_sales)/(SELECT COUNT(*) FROM toko))*100, 2)

Tahapan terakhir adalah menggabungkan Query terakhir kita dengan Query pertama dengan mengganti blok [query]-nya sehingga menjadi

SELECT nama_sales, COUNT(nama_sales) AS frekuensi_sales,
ROUND((COUNT(nama_sales)/(SELECT COUNT(*) FROM toko))*100,0) AS Prosentase
FROM namatabel
GROUP BY nama_sales

Demikian query yang bisa saya bagikan, anda bisa memodifikasi dengan kalkulasi perhitungan yang lain. Semoga bermanfaat.