0% menganggap dokumen ini bermanfaat (0 suara)
8 tayangan

Modul 1,3. Chart & Graphic

Diunggah oleh

apriansyah1024
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
8 tayangan

Modul 1,3. Chart & Graphic

Diunggah oleh

apriansyah1024
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 16

Pendahuluan

Jika kita ingin eksplorasi dan menganalisa data lebih jauh, grafik adalah tipe tampilan yang tidak bisa
ditawar. R memiliki pustaka (library) dengan fungsi-fungsi yang kaya untuk menghasilkan grafik.
Bab ini akan berisi perkenalan singkat dan padat untuk menunjukkan kemampuan ini dengan
menggunakan package ggplot2. Dengan pendekatan yang bersifat demo, kamu cukup mengikuti petunjuk
sehingga bisa membayangan apa saja yang dapat kamu lakukan dengan ggplot2.

Package ggplot2
Pada dua bab sebelumnya, kita telah mampu menggunakan banyak perintah yang masih dalam
paket standard di R. Untuk kebanyakan kasus, fungsi-fungsi standar ini tidak cukup.
Nah, untuk fungsi yang lebih powerful seperti menghasilkan grafik yang advanced (lanjut), kita perlu
menggunakan package.
Untuk memahami konsep package ini, pada editor terdapat potongan code untuk menghasilkan grafik.
Cobalah jalankan, dan kamu akan mendapatkan error seperti ini.

> gambar <- ggplot(info_mahasiswa, aes(x=fakultas, y=jumlah_mahasiswa,


fill=fakultas))
could not find function "ggplot"

Terlihat ada tampilan error berwarna merah yang menyatakan bahwa fungsi ggplot tidak ditemukan. Ini
karena fungsi tersebut bukan fungsi standar, tapi harus menggunakan package ggplot2 dengan
fungsi library.
Tambahkan code tersebut di bawah comment "#Menggunakan package ggplot2" dan jalankan kembali.

library("ggplot2")

Jika berhasil, maka akan muncul grafik berikut yang menunjukkan jumlah mahasiswa berdasarkan fakultas
di salah satu universitas di Tangerang.

Dari grafik tersebut, terlihat Seni dan Desain adalah fakultas paling favorit dengan jumlah mahasiswa
terbanyak :)
Example :

Code Editor Graphic 1


fakultas <- c("Bisnis", "D3 Perhotelan", "ICT", "Ilmu
Komunikasi", "Seni dan Desain")

jumlah_mahasiswa <- c(260, 28, 284, 465, 735)

akreditasi <- c("A","A","B","A","A")

info_mahasiswa <- data.frame(fakultas,


jumlah_mahasiswa, akreditasi)

info_mahasiswa

#Menggunakan package ggplot2

library("ggplot2")

#Membuat kanvas

gambar <- ggplot(info_mahasiswa, aes(x=fakultas,


y=jumlah_mahasiswa, fill=fakultas))

gambar <- gambar + geom_bar(width=1,


stat="identity")

gambar

Membuat Grafik Sebaran Mahasiswa (1)


Pada praktek kali ini, kita akan menghasilkan bar chart sederhana dengan menggunakan variabel data
frame bernama info_mahasiswa yang kita hasilkan pada subbab "Vector, List dan Data Frame". Variable
ini masih bersifat statis atau hard code, artinya data frame ini bukan berdasarkan pembacaan dari
suatu file atau database.
Cara membuat grafik di R bisa menggunakan banyak cara, salah satunya dengan library ggplot2 - dimana
kita menggambar chart secara bertahap, yaitu dengan konsep layering (lapisan demi lapisan).
Untuk lebih jelasnya, pada code editor telah terdapat code-code untuk menghasilkan distribusi mahasiswa.
Cobalah jalankan, dan jika lancar akan menghasilkan grafik berikut.
Terlihat bahwa fakultas "Seni dan Desain" merupakan fakultas dengan jumlah mahasiswa terbanyak,
diikuti kemudian oleh fakultas "Ilmu Komunikasi", "ICT", "Bisnis" dan "D3 Perhotelan". Dengan
histogram ini, informasi lebih mudah dilihat dan dicerna dibandingkan dengan angka bukan?
Bagaimana grafik ini dihasilkan di ggplot? Seperti informasi sebelumnya, grafik ini digambar lapis demi
lapis. Lapisan pertama kita ibaratkan sebagai "kanvas" lukisan, dan untuk membuat "kanvas" pada contoh
di code editor, kita gunakan fungsi yang namanya ggplot.

gambar <- ggplot(info_mahasiswa, aes(x=fakultas, y=jumlah_mahasiswa,


fill=fakultas))

Di sini terlihat hasil ggplot2 disimpan pada variable gambar. Variable ini yang akan menyimpan seluruh
grafik dan digunakan untuk menggambar ketika digunakan sendiri pada code editor dengan perintah
berikut.

gambar

Penambahan bentuk, warna dan ukuran dilakukan dengan menggunakan tanda operator plus ( + ) diikuti
fungsi terkait. Sebagai contoh, untuk menggambar bentuk bar chart di atas "kanvas" kita gunakan
fungsi geom_bar.

gambar <- gambar + geom_bar(width=1, stat="identity")

Berikut adalah penjelasan lengkap dari code yang terdapat pada code editor.

Code Penjelasan

ggplot(info_mahasiswa, Perintah awal untuk membentuk objek


aes(x=fakultas, grafik ggplot2, terdiri dari:
y=jumlah_mahasiswa,
fill=fakultas))  info_mahasiswa: data
frame yang kita gunakan
 aes: fungsi untuk mengambil
data apa saja
 x: kolom yang kita gunakan
untuk grafik sumbu x, dalam
hal ini fakultas
 y: kolom nilai yang kita
gunakan untuk plot sumbu y,
dalam hal ini
jumlah_mahasiswa
 fill: kolom mana yang akan kita
gunakan sebagai pembeda
warna. Jika fill dihilangkan
maka grafik akan diisi warna
abu-abu saja.

+ Tanda plus, digunakan untuk


menggabungkan objek-objek ggplot2

geom_bar(width = 1, stat = Perintah untuk menambahkan bentuk


"identity") geometri bar chart, dengan parameter:

 width: ukuran lebar dari


tiap bar chart, disini
 stat: transformasi data yang
perlu dilakukan. Banyak sekali
jenisnya, untuk saat ini karena
kita hanya ingin plot apa
adanya, kita gunakan identity.
Untuk lebih lengkapnya
mengenai stat ini akan dibahas
di course "Data Visualization
with ggplot2 in R".

gambar Variable untuk menampung objek


grafik.

Tugas Praktik
Mari kita sedikit improvisasi dari gambar plot tersebut dengan penambahan-penambahan berikut ini.

 Tambahkanlah judul "Jumlah Mahasiswa per Fakultas" pada chart untuk memperjelas
konteksnya. Ini dapat dilakukan dengan menambahkan lapisan judul
pada variable gambar dengan function ggtitle("Jumlah Mahasiswa per Fakultas") sebagai
berikut

gambar <- gambar + ggtitle("Jumlah Mahasiswa per Fakultas")

Catatan: tambahkan code tersebut di bawah comment "#Menambahkan judul grafik".


Jalankan code untuk memastikan terdapat tambahan judul pada chart seperti potongan gambar
berikut.
 Dengan cara yang sama di atas, cobalah tambahkan lagi di atas gambar dengan
perintah xlab("Nama Fakultas"). Ini agar caption pada sumbu X berubah dari
hanya "fakultas" menjadi "Nama Fakultas".

gambar <- gambar + xlab("Nama Fakultas")

Catatan: tambahkan code tersebut di bawah comment "#Menambahkan caption pada sumbu x".
Jalankan code untuk memastikan caption sumbu X sudah berubah seperti pada potongan gambar
berikut.

 Dengan cara yang sama, cobalah tambahkan sendiri lapisan untuk


merubah caption "jumlah_mahasiswa" menjadi "Jumlah Mashasiswa" dengan
perintah ylab("Jumlah Mahasiswa"). Jika berhasil maka caption sumbu Y akan berubah seperti
berikut.

Example :

Code Editor
Code Editor
#Membuat dua vector
fakultas <- c("Bisnis", "D3 Perhotelan", "ICT", "Ilmu #Menambahkan objek bar chart, simpan kembali
Komunikasi", "Seni dan Desain") sebagai variable gambar
jumlah_mahasiswa <- c(260, 28, 284, 465, 735) gambar <- gambar + geom_bar(width=1,
H
a
s
i
l

Graphic 1

Membaca File Excel


Secara umum, pengolahan data di R mengharuskan membaca file dari spreadsheet, contohnya Excel. Di
sub bab ini, kita akan menggunakan file yang berisi data jumlah mahasiswa tiap angkatan per tahun seperti
pada tampilan berikut.
File bernama mahasiswa.xlsx akan dibaca dengan menggunakan
fungsi read.xlsx dari package openxlsx dengan cara berikut.

library(openxlsx)
mahasiswa <-
read.xlsx("https://storage.googleapis.com/dqlab-dataset/mahasiswa.xlsx",sheet =
"Sheet 1")

Dari code di atas, file yang telah dibaca dengan fungsi read.xlsx disimpan
sebagai variable mahasiswa (yang bertipe data frame). Data frame mahasiswa ini berasal dari data yang
dibaca pada file "mahasiswa.xlsx" di bagian sheet (lembar) "Sheet 1".
Pada Code Editor telah disertakan kode untuk membaca file berformat xlsx ini. Jalankanlah dengan
menekan dan hasilnya akan terlihat sebagai berikut.

> print(mahasiswa)
ANGKATAN Fakultas Prodi Kode JUMLAH
1 2015 Bisnis Akuntansi AKUN 88
2 2016 Bisnis Akuntansi AKUN 85
3 2017 Bisnis Akuntansi AKUN 103
4 2016 Seni dan Desain Arsitek AR 28
5 2017 Seni dan Desain Arsitek AR 45
6 2015 Seni dan Desain Desain Komunikasi Visual DKV 279
7 2016 Seni dan Desain Desain Komunikasi Visual DKV 314
8 2017 Seni dan Desain Desain Komunikasi Visual DKV 337
9 2015 Seni dan Desain Film dan Televisi FTV 284
10 2016 Seni dan Desain Film dan Televisi FTV 274
11 2017 Seni dan Desain Film dan Televisi FTV 300
12 2015 Ilmu Komunikasi Ilmu Komunikasi ILKOM 499
13 2016 Ilmu Komunikasi Ilmu Komunikasi ILKOM 275
14 2017 Ilmu Komunikasi Ilmu Komunikasi ILKOM 313
15 2015 Ilmu Komunikasi Jurnalistik JR 1
16 2016 Ilmu Komunikasi Jurnalistik JR 251
17 2017 Ilmu Komunikasi Jurnalistik JR 186
18 2015 Bisnis Manajemen MAN 169
19 2016 Bisnis Manajemen MAN 163
20 2017 Bisnis Manajemen MAN 160
21 2017 D3 Perhotelan Perhotelan HTL 28
22 2015 ICT Sistem Informasi SI 104
23 2016 ICT Sistem Informasi SI 95
24 2017 ICT Sistem Informasi SI 113
25 2015 ICT Sistem Komputer SK 20
26 2016 ICT Sistem Komputer SK 20
27 2017 ICT Sistem Komputer SK 18
28 2016 ICT Teknik Elektro TE 4
29 2017 ICT Teknik Elektro TE 7
30 2016 ICT Teknik Fisika TF 7
31 2017 ICT Teknik Fisika TF 16
32 2015 ICT Teknik Informatika TI 125
33 2016 ICT Teknik Informatika TI 168
34 2017 ICT Teknik Informatika TI 164
35 2017 ICT Teknik Informatika Dual Degree TID 6

Terlihat bahwa hasil pembacaan Excel ini merupakan sebuah data frame yang terdiri dari lima kolom, yaitu
kolom dengan nama ANGKATAN, Fakultas, Prodi, Kode, dan JUMLAH, serta memiliki 35 baris data.

Kita akan menggunakan data frame di atas sepanjang sisa bab ini. Sekarang, coba tampilkan kolom Prodi
dari data frame tersebut dengan cara menuliskan perintah berikut setelah baris comment "#Menampilkan
kolom Prodi"

print(mahasiswa$Prodi)

Jalankan dengan menekan untuk menampilkan hasil berikut

> print(mahasiswa$Prodi)
[1] "Akuntansi" "Akuntansi"
[3] "Akuntansi" "Arsitek"
[5] "Arsitek" "Desain Komunikasi Visual"
[7] "Desain Komunikasi Visual" "Desain Komunikasi Visual"
[9] "Film dan Televisi" "Film dan Televisi"
[11] "Film dan Televisi" "Ilmu Komunikasi"
[13] "Ilmu Komunikasi" "Ilmu Komunikasi"
[15] "Jurnalistik" "Jurnalistik"
[17] "Jurnalistik" "Manajemen"
[19] "Manajemen" "Manajemen"
[21] "Perhotelan" "Sistem Informasi"
[23] "Sistem Informasi" "Sistem Informasi"
[25] "Sistem Komputer" "Sistem Komputer"
[27] "Sistem Komputer" "Teknik Elektro"
[29] "Teknik Elektro" "Teknik Fisika"
[31] "Teknik Fisika" "Teknik Informatika"
[33] "Teknik Informatika" "Teknik Informatika"
[35] "Teknik Informatika Dual Degree"

Membuat Grafik Sebaran Mahasiswa (2)


Setelah memiliki kemampuan membaca sumber data dari luar yaitu file Excel yang berisi data jumlah
mahasiswa, kita akan kembali menghasilkan grafik sebaran yang sudah kita lakukan sebelumnya - tapi kali
ini dengan hasil pembacaan tersebut.
Pada code editor telah diisi code-code untuk membaca file Excel dan menghasilkan grafik batang.
Cobalah jalankan, dan jika berhasil maka akan mendapatkan grafik batang yang menunjukkan porsi jumlah
mahasiswa per fakultas.
Lalu apa perbedaan praktek kita kali ini dengan subbab "Membuat Grafik Sebaran Mahasiswa (1)"?
Berikut adalah daftar perbedaannya, dari potongan code dan hasil

Item Membuat Grafik Membuat Grafik Keterangan


Sebaran Mahasiswa (1) Sebaran Mahasiswa (2)

Sumber Data fakultas <- c("Bisnis", "D3 library(openxlsx) Pada subbab "Membuat
Perhotelan", "ICT", "Ilmu Grafik Sebaran
Komunikasi", "Seni dan info_mahasiswa <- Mahasiswa (1)",
Desain") read.xlsx("https://storage.g variabel data
jumlah_mahasiswa <- oogleapis.com/dqlab- frame info_mahasiswa
c(260, 28, 284, 465, 735) dataset/mahasiswa.xlsx",s dibuat secara manual.
akreditasi <- heet = "Sheet 1")
Sedangkan untuk subbab
c("A","A","B","A","A")
"Membuat Grafik Sebaran
Mahasiswa (2)",
info_mahasiswa <-
variabel data
data.frame(fakultas,
frame info_mahasiswa
jumlah_mahasiswa,
dibaca dari file Excel.
akreditasi)
info_mahasiswa

Parameter pada gambar <- gambar <- Input untuk parameter x, y


ggplot ggplot(info_mahasiswa, ggplot(info_mahasiswa, dan fill sedikit berbeda
aes(x=fakultas, aes(x=Fakultas, menyesuaikan dengan
y=jumlah_mahasiswa, y=JUMLAH, kolom hasil pembacaan
fill=fakultas)) fill=Fakultas)) dari file.

Hasil Grafik Nilai dan label yang


berbeda menyesuaikan
dengan data.

Trend Jumlah Mahasiswa dari Tahun ke Tahun


Grafik batang yang telah ditampilkan sebelumnya cukup baik. Namun, informasi yang terkandung masih
belum diekplorasi lebih detail. Sebagai contoh, bagaimanakah jika kita ingin melihat trend jumlah
mahasiswa tiap fakultas dari tahun ke tahun?
Subbab ini akan menjawab pertanyaan tersebut. Jalankanlah semua kode yang telah ditulis untuk kamu
di code editor.

Jika berjalan dengan lancar maka akan mendapatkan hasil berikut.


Catatan: Code tidak akan diterangkan pada praktik kali ini, karena melibatkan teknik yang akan kita bahas
di modul R "Data Preparation and Wrangling with R" dan "Data Visualization with ggplot2 in R".

Dari grafik di atas terlihat peningkatan secara konsiten dari tahun ke tahun oleh fakultas "ICT" dan "Seni
dan Desain". Di samping itu, Fakultas "D3 perhotelan" juga terlihat baru muncul di tahun 2017. Untuk
fakultas "Bisnis" dan "Ilmu Komunikasi" terlihat fluktuasi jumlah mahasiswa selama tiga tahun.
Catatan: Jika kamu tidak dapat melihat keseluruhan chart karena keterbatasan panel seperti berikut, maka
kamu dapat menggeser gutter sehingga dapat gambar penuh (lihat gambar berikutnya).
Berikut adalah gambar penuh dari chart setelah kita mengatur layout panel dengan menggeser gutter.

Alternatif lainnya kamu dapat melakukan klik kanan ketika kursor di atas grafik, dan kamu dapat
pilih Open image in new tab melalui menu popup yang muncul.

Pie Chart
Pie chart merupakan chart favorit bagi banyak analis untuk menunjukkan proporsi data.
Berdasarkan data frame mahasiswa, jumlah mahasiswa per fakultas adalah kasus proporsi
yang dapat ditampilkan dengan pie chart.
Code Editor telah diisi dengan kode untuk menghasilkan grafik pie chart. Pie
chart dihasilkan dengan menggunakan fungsi ggplot dan coord_polar. Jalankan kode yang
telah disediakan untuk kamu dengan menekan . Selanjutnya, kamu akan
mendapatkan hasil berikut
Terlihat bahwa porsi fakultas "Seni dan Desain" dan "Ilmu Komunikasi" menempati porsi terbesar. Angka
0 s/d 5000 yang ditampilkan di luar pie chart menunjukkan rentang jumlah mahasiswa secara akumulatif.

Selanjutnya, kita akan melihat untuk fakultas Bisnis yang menempati porsi pie chart pada
angka 0 dan di bawah 1000 (ditunjukkan dengan anak panah merah).

Hal ini konsisten dengan informasi dari grafik histogram sebelumnya, bahwa jumlah
mahasiswa fakultas Bisnis memang berada di bawah angka 1000.
Jika kita tambahkan jumlah mahasiswa fakultas "Bisnis", "D3 Perhotelan", dan "ICT" maka
jumlahnya tidak akan mencapai 2000 mahasiswa, seperti yang telah tergambarkan pada pie
chart ini.

Coding (Example) :
Filtering
Demo terakhir pada bab ini adalah melakukan filtering data sebelum ditampilkan dalam bentuk grafik.
Pengerjaan filtering di data frame dapat dilakukan dengan menambahkan operator %in% dengan input
berupa vector. Kode yang digunakan untuk melakukan filtering ini sudah terdapat pada Code Editor.

Jalankan seluruh code tersebut dengan menekan maka hasilnya akan terlihat sebagai berikut:
Grafiknya sama dengan subbab "Tren Jumlah Mahasiswa dari Tahun ke Tahun" tapi sudah dengan filter
dua fakultas, yaitu "ICT" dan "Ilmu Komunikasi".
Hal ini dapat terjadi karena ada filtering yang dinyatakan oleh perintah berikut.

summarybyfakultas[summarybyfakultas$fakultas %in%c("ICT", "Ilmu Komunikasi"),]

di sini summarybyfakultas$fakultas %in%c("ICT", "Ilmu Komunikasi") artinya melakukan filter


data yang ada di kolom fakultas dari data frame summarybyfakultas.
Sedangkan perintah lengkap summarybyfakultas[summarybyfakultas$fakultas %in%c("ICT", "Ilmu
Komunikasi"),] artinya mengambil data yang sudah terfilter untuk seluruh kolom.
Dengan demikian, sampai sejauh ini kamu telah diberikan gambaran mengenai kemampuan R untuk
menghasilkan grafik dengan pengolahan data dari Excel. Tentunya, pengetahuan dan praktik ini dapat
berpotensi tinggi untuk membantu kegiatan kamu sehari-hari.
Melalui bab pengenalan ini kita belum membahas secara mendalam bagaimana grafik ini dapat dihasilkan
dengan variasi yang lebih banyak, begitu juga dengan pengolahan data seperti filter. Akan tetapi, kamu
dapat belajar di modul "Data Preparation with R" dan "Data Visualization with R" terkait apa yang belum
disajikan di dalam bab ini. :)

Example (Coding)
Penutup
Dengan berakhirnya demo grafik terakhir, berakhir juga modul "R Fundamental for Data Science".
Sepanjang modul ini kamu sudah mempelajari keterampilan R sebagai berikut:

 Mengerti apa dan kenapa R digunakan oleh para data scientist.


 Menguasai dasar bahasa R seperti penggunaan teks, angka, rumus, dan bagaimana melihat error.
 Menguasai penggunaan tipe data fundamental R, yaitu list, vector dan data frame.
 Mengerti penggunaan package tambahan untuk membaca file Excel.
 Mengenali bagaimana grafik dihasilkan di R dengan menggunakan package bernama ggplot2.

Perjalanan awal ini telah membekali kamu untuk menguasai fitur R lainnya seperti advanced data
visualization (dashboard dan map), machine learning, dan otomatisasi big data.

Anda mungkin juga menyukai