Tuesday, January 26, 2016

Softskill kelomok 9 (Violin Plot - Grouped Violin Plots With Split Violins)

image: 0C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_coverdepan1.png
Tito Raynaldi : 58413928
Reza Maulana : 57413508
Annes Marditia : 51413115
Anindita Sri Saputro : 51413051
KATA PENGANTAR
Puji syukur ke hadirat Tuhan Yang Maha Esa, atas semua anugerah-Nya kami dapat menyelesaikan buku ini yang membahas tentang 'Violin Plot'. Kami, dari kelompok 6 berhasil merangkum materi tentang Violin Plot dari berbagai sumber artikel yang menjadi sumber untuk membuat buku ini.
Sangat sedikitnya artikel dan pembahasan tentang Violin Plot ini membuat kami bersemangat membuat buku yang membahas tentang Violin Plot agar dapat membantu orang-orang dalam mempelajarinya. Besar harapan kami agar pembaca dapat terbantu berkat adanya buku ini. Dibuatnya buku ini guna melengkapi tugas Softskill Universitas Gunadarma yang dibimbing dan diajar oleh Bapak I Made Wiryana..
Kami menyadari bahwa buku ini jauh dari kata sempurna, oleh karena itu kami menerima segala kritik dan saran yang membangun baik untuk penulisan ini atau pun untuk penulis sendiri. Akhir kata, semoga penulisan ini dapat bermanfaat untuk masyarakat luas.

Bab 1
PENDAHULUAN

1.I. Latar Belakang
Dewasa ini perkembangan dan kemajuaan teknologi informasi dan komunikasi telah berkembang dengan sangat pesat. Berbagai kemudahan memperoleh informasi dari berbagai penjuru dunia dapat kita nikmati dalam hitungan detik. Pada zaman dahulu, teknologi informasi dan komunikasi dianggap sebagai sesuatu yang tidak mungkin namun kini telah menjadi kenyataan. Dengan teknologi yang luas ini kita harus dapat memanfaatkannya.
Diantara teknologi informasi yang hampir disetiap tempat kita temukan adalah komputer. Sekarang komputer sangat berkembang pesat. Hampir setiap tahun komputer selalu mengalami perkembangan. Orang bisa menggunakan komputer dimana saja. Dirumah, dikafe, disekolah, dan ditempat lainnya. Sedangkan model dan design dari komputer itu sendiri juga mengalami perkembangan. Dulu, apabila orang ingin menggunakan komputer maka hanya bisa dikantor atau dirumah, namun sekarang mereka bisa menggunakan komputer tersebut dimana saja yang mereka inginkan.
Software yang kita gunakan sekarang ini tidak serta merta muncul begitu saja melainkan melalui proses yang panjang dalam evolusinya. Hal ihwal munculnya komputer mungkin dapat dilihat dalam kilas balik sejarah sejak digunakannya Abacus – ditemukan di Babilonia (Irak) sekitar 5000 tahun yang lalu – sebagai alat perhitungan manual yang pertama, baik di lingkup sekolah maupun kalangan pedagang, saat itu. Pada periode selanjutnya telah banyak ditemukan alat-alat hitung mekanikal sejenis yaitu Pascaline yang ditemukan oleh Blaine Pascal pada tahun 1642, Arithometer oleh Charles Xavier Thomas de Colmar pada tahun 1820, Babbage’s Folly oleh Charles Babbage pada tahun 1822, dan Hollerith oleh Herman Hollerith pada tahun 1889. Semuanya masih berbentuk mesin sepenuhnya tanpa tenaga listrik. Ukuran dan kerumitan strukturnya berdasarkan atas tingkat pengoperasian perhitungan yang dilakukan. Barulah pada tahun 1940, era baru komputer elektrik dimulai sejak ditemukannya komputer elektrik yang menerapkan sistem aljabar Boolean.
1.II. Tujuan
1. Meningkatkan ilmu pengetahuan dalam bidang teknologi informasi dalam bidang komputer khususnya dalam hal grafik
2. Memajukan daya pikir manusia agar menciptakan pola pikir inovatif dan kreatif.
3. Agar masyarakat Indonesia tidak ketinggalan dari negara yang lebih berkembang pada saat sekarang.
4. Dengan mengetahui Violin Plot, maka masyarakat Indonesia telah mampu untuk berkompetisi secara sehat untuk menghasilkan sesuatu yang lebih bermutu.
5. Agar dapat memvisualisasikan data dalam bentuk yang lebih menarik.
6. Membuat suatu data menjadi lebih jelas dengan adanya Violin Plot.

Bab 2
VIOLIN PLOT

2.1 Apa Itu Violin Plot
Tipe: Command grafis
Tujuan: MenghasilkanViolin Plot
Deskripsi::
Sebuah violin plot adalah kombinasi dari box plot dan plot kernel density. Secara khusus, hal itu dimulai dengan box plot. Ini kemudian menambahkan kepadatan kernel rencana diputar ke setiap sisi box plot. Masukkan HELP BOX PLOT dan HELP KERNEL DENSITY PLOT untuk rincian tentang pembangunan box plot dan plot kernel density, masing-masing. Untuk violin plot tampil sebagaimana mestinya, perintah VIOLIN PLOT biasanya didahului oleh dua perintah:
KARAKTER VIOLIN PLOT
LINES VIOLIN PLOT
Perintah ini secara otomatis menentukan nilai yang tepat untuk 25 komponen violin plot. Perhatikan bahwa jejak 2-25 sesuai dengan definisi untuk jejak dalam standar box plot (BANTUAN BOX PLOT untuk rincian). Jejak 1 menarik bagian kernel density.
Setelah violin plot terbentuk, analis harus mendefinisikan karakter plot dan garis melalui KARAKTER biasa dan perintah LINES.
Sintaksis:
VIOLIN PLOT <y> <x> <bagian / KECUALI / UNTUK kualifikasi>
di mana <y> adalah respon (= tergantung) variabel;
<x> adalah variabel independen;
dan di mana <bagian / KECUALI / UNTUK kualifikasi> adalah opsional.
Contoh:
VIOLIN PLOT Y X
VIOLIN PLOT Y X bagian X> 2
catatan:
Outlier pada kotak petak dapat diidentifikasi dengan memasukkan pagar ON perintah. Jika rentang antar-kuartil (yaitu, perbedaan antara titik 25% dan titik 75%) adalah IQ, maka nilai-nilai yang antara 1,5 dan 3,0 kali IQ di atas (atau bawah) titik 75% (atau 25% ) titik diambil sebagai lingkaran dan titik yang lebih dari 3,0 kali IQ di atas (atau bawah) titik 75% (atau 25%) yang diambil sebagai lingkaran besar. catatan:
Bentuk alternatif untuk penampilan violin plot dapat dihasilkan dengan memasukkan perintah KARAKTER VIOLIN BOX PLOT dan LINES VIOLIN BOX PLOT. Ini menarik bentuk tradisional dari box plot bukan pada bentuk Tufte efisien daribox plot.
Anda juga dapat menentukan simbol plot Anda sendiri dengan KARAKTER standar dan GARIS perintah (misalnya, Anda dapat memilih untuk menggunakan tanda hubung (-) bukan default X.
catatan:
Lebar box sebanding dengan jumlah titik data di dalam kotak itu. Ini hanya berlaku jika garis dan karakter ditetapkan untuk LINES VIOLIN BOX PLOT dan KARAKTER VIOLIN BOX PLOT, masing-masing. Untuk garis default dan pengaturan karakter (GARIS VIOLIN PLOT, KARAKTER VIOLIN PLOT), lebar boxk tidak relevan.
catatan:
Perintah berikut dapat digunakan untuk mengatur ooptions untuk plot kernel density:
POIN KERNEL DENSITY<nilai>
KERNEL DENSITY LEBAR <nilai>
Masukkan BANTUAN KERNEL DENSITY PLOT untuk rincian tentang perintah ini.
Sinonim: CHARARCTER VIOLIN Tufte BOX PLOT setara dengan KARAKTER VIOLIN PLOT. Demikian pula, LINES VIOLIN Tufte BOX PLOT setara dengan GARIS VIOLIN PLOT.
Perintah terkait:
BOX PLOT = Hasilkan kotak petak.
KERNEL KEPADATAN PLOT = Menghasilkan plot densitas kernel.
KARAKTER = Mengatur jenis untuk karakter petak.
LINES = Mengatur jenis untuk plot.
REGION MENGISI = Mengatur jenis untuk wilayah petak.
PLOT = Menghasilkan data atau plot fungsi.
Program:
SKIP 25 READ DRAFT69B.DAT Y XJUNK X .
KARAKTER VIOLIN PLOT
GARIS VIOLIN PLOT
XLIMITS 1 12
UTAMA XTIC MARK NOMOR 12
MINOR XTIC MARK NOMOR 0
XTIC OFFSET 1 1
X1TIC MARK LABEL FORMAT ALPHA
X1TIC MARK LABEL KONTEN JAN Feb Mar Apr Mei Juni Juli Agustus September Oktober ... November Desember
Y1LABEL DRAFT PERINGKAT
KERNEL DENSITY POINTS 32
VIOLIN PLOT Y X

image: 1C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_1.png
2.2 ggplot2 violin plot : Quick start guide - R software and data visualization
R Tutorial ini menjelaskan cara membuat plot violin menggunakan R perangkat lunak dan paket ggplot2.
Violin plot mirip dengan box plot, kecuali bahwa mereka juga menunjukkan kernel probability density dari data pada nilai yang berbeda. Biasanya, plot violin akan mencakup penanda untuk median dari data dan kotak yang menunjukkan kisaran interkuartil, seperti dalam box plot standar.
Fungsi geom_violin () digunakan untuk menghasilkan violin plot.

image: 2C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_2.png
Menyiapkan data
ToothGrowth set data yang digunakan:
# Convert dosis variabel dari numerik untuk variabel faktor
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth)
## len supp dose
## 1 4.2 VC 0,5
## 2 11.5 VC 0,5
## 3 7.3 VC 0,5
## 4 5.8 VC 0,5
## 5 6.4 VC 0,5
## 6 10,0 VC 0,5
Pastikan bahwa dosis variabel diubah sebagai variabel faktor menggunakan R script di atas.
2.2.1 Violin plot dasar
library (ggplot2)
# Violin petak Dasar
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_violin() p
# Memutar Violin Plot
p + coord_flip()
# Set memangkas argumen ke FALSE
ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_violin(trim=FALSE)



image: 3C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_3.png
image: 4C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_4.png
image: 5C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_5.png
Perhatikan bahwa secara default trim = TRUE. Dalam hal ini, ekor dari violin dipangkas. Jika FALSE, jangan memangkas ekor
Pilih item untuk menampilkan:
p + scale_x_discrete(limits=c("0.5", "2"))

image: 6C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_6.png
Tambahkan ringkasan statistik di Violin Plot
Fungsi stat_summary () dapat digunakan untuk menambah rata-rata / poin median dan lebih pada Violin plot.
Menambahkan poin mean dan median
# violin plot dengan rata-rata poin
p + stat_summary(fun.y=mean, geom="point", shape=23, size=2)
# violin plot dengan poin median
p + stat_summary(fun.y=median, geom="point", size=2, color="red")

image: 7C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_7.png
Tambahkan median dan kuartil
Sebuah solusi adalah dengan menggunakan fungsi geom_boxplot:
p + geom_boxplot (width = 0,1)

image: 8C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_8.png
Tambahkan deviasi mean dan standar
Fungsi mean_sdl digunakan. mean_sdl menghitung mean plus atau minus konstan kali standar deviasi.
Dalam kode R bawah, konstan ditentukan dengan menggunakan mult argumen (mult = 1). Dengan mult default = 2.
Mean +/- SD dapat ditambahkan sebagai crossbar atau pointrange a:
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_violin(trim=FALSE)
p + stat_summary(fun.data="mean_sdl", mult=1, geom="crossbar", width=0.2 )
p + stat_summary(fun.data=mean_sdl, mult=1, geom="pointrange", color="red")

image: 9C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_9.png
Perhatikan bahwa, Anda juga dapat menentukan fungsi kustom untuk menghasilkan ringkasan statistik sebagai berikut:
# Fungsi untuk menghasilkan statistik ringkasan (mean dan +/- sd)
data_summary <- function(x) { m <- mean(x) ymin <- m-sd(x) ymax <- m+sd(x) return(c(y=m,ymin=ymin,ymax=ymax)) }
Gunakan fungsi ringkasan kustom:
p + stat_summary(fun.data=data_summary)

image: 10C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_10.png
2.2.2 Violin plot dengan titik
Titik (atau titik) dapat ditambahkan ke plot violin menggunakan fungsi geom_dotplot () atau geom_jitter ():
# Violin plot dengan dot petak
p + geom_dotplot(binaxis='y', stackdir='center', dotsize=1)
# Violin plot dengan poin bergoyang
# 0,2: derajat jitter di arah x
p + geom_jitter(shape=16, position=position_jitter(0.2))

image: 11C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_11.png
Perubahan warna violin plot oleh kelompok
Perubahan warna alur violin plot
warna alur violin plot dapat secara otomatis dikendalikan oleh kadar dosis:
# Baris Perubahan violin petak warna oleh kelompok-kelompok
p<-ggplot(ToothGrowth, aes(x=dose, y=len, color=dose)) + geom_violin(trim=FALSE) p

image: 12C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_12.png
Hal ini juga mungkin untuk mengubah secara manual violin petak warna garis menggunakan fungsi:
scale_color_manual (): untuk menggunakan warna kustom
scale_color_brewer (): menggunakan palet warna dari paket RColorBrewer
scale_color_grey (): untuk menggunakan warna abu-abu palet
# Gunakan palet warna kustom
p+scale_color_manual(values=c("#999999", "#E69F00", "#56B4E9"))
# Gunakan palet warna bir
p+scale_color_brewer(palette="Dark2")
# Gunakan skala abu-abu
p + scale_color_grey() + theme_classic()


image: 13C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_13.png
image: 14C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_14.png
2.2.3 Merubah warna fill pada violin plot
Dalam kode R bawah, warna mengisi violin plot secara otomatis dikendalikan oleh kadar dosis:
# menggunakan satu warna
ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_violin(trim=FALSE, fill='#A4A4A4', color="darkred")+ geom_boxplot(width=0.1) + theme_minimal()
# mengganti warna violin plot oleh kelompok
p<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) + geom_violin(trim=FALSE) p

image: 15C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_15.png
Hal ini juga mungkin untuk mengubah secara manual violin warna petak menggunakan fungsi:
scale_fill_manual (): untuk menggunakan warna kustom
scale_fill_brewer (): menggunakan palet warna dari paket RColorBrewer
scale_fill_grey (): untuk menggunakan warna abu-abu palet
# Gunakan palet warna kustom
p + scale_fill_manual (values = c ("# 999999", "# E69F00", "# 56B4E9"))
# Gunakan palet warna bir
p + scale_fill_brewer (pallette = "Dark2")
# Gunakan skala abu-abu
p + scale_fill_grey () + theme_classic ()


image: 16C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_16.png
image: 17C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_17.png
Mengubah posisi legenda
p + theme(legend.position="top")
p + theme(legend.position="bottom")
p + theme(legend.position="none") # Hapus legenda

image: 18C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_18.png
Nilai-nilai yang diizinkan untuk argumen legend.position adalah: "kiri", "top", "benar", "bawah".
Mengubah urutan item dalam legenda
Fungsi scale_x_discrete dapat digunakan untuk mengubah urutan item untuk "2", "0,5", "1":
p + scale_x_discrete(limits=c("2", "0.5", "1"))

image: 19C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_19.png
2.2.4 Violin plot dengan beberapa kelompok
# mengganti warna violin plot oleh kelompok
ggplot(ToothGrowth, aes(x=dose, y=len, fill=supp)) + geom_violin()
# mengubah posisi
p<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=supp)) + geom_violin(position=position_dodge(1)) p

image: 20C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_20.png
Mengubah violin warna plot dan menambahkan titik:
# menambahkan titik
p + geom_dotplot(binaxis='y', stackdir='center', position=position_dodge(1))
# merubah warna
p+scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))

image: 21C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_21.png
2.2.5 Menyesuaikan violin plot
# violin plot Dasar
ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_violin(trim=FALSE, fill="gray")+ labs(title="Plot of length by dose",x="Dose (mg)", y = "Length")+ geom_boxplot(width=0.1)+ theme_classic()
# merubah warna oleh kelompok
dp <- ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) + geom_violin(trim=FALSE)+ geom_boxplot(width=0.1, fill="white")+ labs(title="Plot of length by dose",x="Dose (mg)", y = "Length") dp + theme_classic()

image: 22C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_22.png
Merubah warna fill secara manual:
# Warna Continuous
dp + scale_fill_brewer(palette="Blues") + theme_classic()
# Warna Discrete
dp + scale_fill_brewer(palette="Dark2") + theme_minimal()
# Warna Gradient
dp + scale_fill_brewer(palette="RdBu") + theme_minimal()
ggplot2.violinplot: Easy violin plot with ggplot2 R package
Analisis ini dilakukan dengan menggunakan R (ver. 3.1.0), easyGgplot2 (ver 1.0) dan ggplot2 (ver 1.0.0).

image: 23C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_23.png
2.3 Menginstal dan memuat paket easyGgplot2
Untuk menginstal paket, menggunakan kode R berikut dari konsol R (R> = 3.1.0): install.packages("devtools")
library(devtools)
install_github("easyGgplot2", "kassambara")
Load the package using the R code:
library(easyGgplot2)
2.3.1 Data Format
Data harus menjadi vektor numerik atau data.frame (kolom adalah variabel dan baris adalah observations). Data ToothGrowth digunakan dalam contoh berikut.
#create vektor numerik
numVector <-rnorm (100)
head (numVector)
## [1] -1,31962 0,23627 -0,01865 0,05585 -1,22839 -0,22847
# data.frame
df <- ToothGrowth
head (df)
## len supp dose
## 1 4.2 VC 0,5
## 2 11.5 VC 0,5
## 3 7.3 VC 0,5
## 4 5.8 VC 0,5
## 5 6.4 VC 0,5
## 6 10,0 VC 0,5
ToothGrowth menggambarkan efek dari vitamin C pada pertumbuhan gigi di Guinea.
Keterangan: Tanggapan adalah panjang gigi di setiap dari 10 kelinci percobaan di masing-masing tiga tingkat dosis Vitamin C (0,5, 1, dan 2 mg) dengan masing-masing dua metode pengiriman (jus jeruk atau asam askorbat).
Format: Sebuah frame data dengan 60 pengamatan pada 3 variabel.
* [, 1] len adalah panjang numerik gigi.
* [, 2] supp adalah faktor supp Tambahan (VC atau OJ).
* [, 3] dose adalah Dosis numerik dalam miligram.
2.3.2 Dasar violinplot
#Violinplot Dari vektor numerik tunggal
ggplot2.violinplot(data=numVector)
Violinplot #Basic dari vektor "len"
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len')
#Change Orientasi: violinplot Horizontal
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len',
Orientation = "horizontal")
#set memangkas ke FALSE. Jika TRUE (default), memangkas ekor violin plot dengan berbagai data.
# Jika FALSE, tidak memangkas ekor
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', trim = FALSE)

image: 24C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_24.png
2.3.3 Violin plot dengan mean point dan dots
Setiap titik mewakili satu observasi dan titik berarti sesuai dengan nilai rata-rata dari pengamatan di kelompok tertentu.
#Violinplot Dengan mean point
ggplot2.violinplot(data=df, xName='dose',yName='len',
addMean=TRUE, meanPointShape=23, meanPointSize=4,
meanPointColor="black", meanPointFill="blue")
#Violinplot Dengan dots yang berpusat
ggplot2.violinplot(data=df, xName='dose',yName='len',
addDot=TRUE, dotSize=1, dotPosition="center")
#Violinplot Dengan titik-titik bergoyang. jitter: derajat jitter di arah x
#Violinplot with jittered dots. jitter: degree of jitter in x direction
ggplot2.violinplot(data=df, xName='dose',yName='len',
addDot=TRUE, dotSize=1.7, dotPosition="jitter", jitter=0.2)

image: 25C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_25.png
2.3.4 Mengubah jenis garis violinplot dan titik bentuk
Bentuk titik dan jenis garis yang berbeda dapat digunakan dalam plot. Secara default, ggplot2 menggunakan jenis garis padat dan bentuk lingkaran.

image: 26C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_26.png
Bentuk titik dan jenis garis yang berbeda yang tersedia di R adalah sebagai berikut:
#Mengubah warna garis dan jenis garis ViolinPlot
ggplot2.violinplot(data=df, xName='dose',yName='len', colour="red", linetype="dotted")

image: 27C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_28.png
2.3.5 Memodifikasi violin plot
Title
#mengubah main title dan axis title
ggplot2.violinplot(data=df, xName='dose',yName='len',
mainTitle="Plot of length according\n to the dose",
xtitle="Dose (mg)", ytitle="Length")
#memodifikasi gaya title. Values untuk gaya font yang mungkin 'plain', 'italic', 'bold', 'bold.italic'.
ggplot2.violinplot(data=df, xName='dose',yName='len',
xtitle="Dose (mg)", ytitle="Length",
mainTitle="Plot of length according\n to the dose",
mainTitleFont=c(14,"bold.italic", "red"),
xtitleFont=c(14,"bold", "#993333"), ytitleFont=c(14,"bold", "#993333"))
#menyembunyikan axis titles X dan Y
ggplot2.violinplot(data=df, xName='dose',yName='len',
xShowTitle=FALSE, yShowTitle=FALSE)
Axis ticks
#Axis ticks label dan orientaion
ggplot2.violinplot(data=df, xName='dose',yName='len',
xShowTitle=FALSE, yShowTitle=FALSE,
xTickLabelFont=c(14,"bold", "#993333"),yTickLabelFont=c(14,"bold", "#993333"), xtickLabelRotation=45, ytickLabelRotation=45)
#menyembunyikan axis ticks label
gplot2.violinplot(data=df, xName='dose',yName='len',
xShowTitle=FALSE, yShowTitle=FALSE,
xShowTickLabel=FALSE, yShowTickLabel=FALSE)
#menyembunyikan axis ticks
ggplot2.violinplot (data = df, XName = 'dose’, yName = 'len',
xShowTitle = FALSE, yShowTitle = FALSE,
xShowTickLabel = FALSE, yShowTickLabel = FALSE, hideAxisTicks = TRUE)
#AxisLine: Vektor yang menunjukkan ukuran, jenis garis dan warna garis sumbu
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', axisLine = c (1, "solid", "darkblue"))

image: 28C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_29.png
2.3.6 Background dan Colour
Mengubah background dan fill colour pada violin plot
#Mengubah warna background menjadi "putih". Dari warna background default "abu-abu". ggplot2.violinplot (data = df, XName = 'dose', yName = 'len',
backgroundColor = "white")
#Change warna background menjadi "lightblue" dan warna grid menjadi "putih" ggplot2.violinplot(data=df, xName='dose',yName='len',
backgroundColor="lightblue", gridColor="white")
#mengubah warna fill pada plot
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len',
backgroundColor = "white", isi = '# FFAAD4')
#menghapus grid, menghapus bagian atas dan kanan disekitar plot; mengubah garis sumbu ggplot2.violinplot(data=df, xName='dose',yName='len',
backgroundColor="white", fill='#FFAAD4',
removePanelGrid=TRUE,removePanelBorder=TRUE,
axisLine=c(0.5, "solid", "black"))

image: 29C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_30.png
2.3.7 Spesifikasi warna
Warna dapat ditentukan sebagai hexadesimal RGB triplet, seperti "# FFCC00". Anda juga dapat menggunakan skala warna lain, seperti yang diambil dari paket RColorBrewer.

image: 30C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_31.png
Mengubah warna violinplot sesuai dengan kelompok
Untuk mengubah warna sesuai dengan kelompok, Anda harus menentukan nama kolom data yang berisi grup menggunakan parameter groupName. Gunakan groupColors argumen, untuk menentukan warna dengan kode hexadesimal atau dengan nama. Dalam hal ini, panjang groupColors harus sama dengan jumlah kelompok. Menggunakan argumen brewerPalette, untuk menentukan warna menggunakan RColorBrewer palet.
#Color Violinplot yang accoording ke groupName "dose"
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', groupName = 'dose')
#mengubah warna kelompok menggunakan warna hexadesimal
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', groupName = 'dose', groupColors = c ('# 999999', '# E69F00', '# 56B4E9'))
#mengubah warna kelompok menggunakan brewer palette: “Paired”
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', groupName = 'dose', brewerPalette = "Paired")
#mengubah Warna kelompok menggunakan nama warna
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', groupName = 'dose', groupColors = c ('aquamarine3', 'chartreuse1', 'goldenrod1'))

image: 31C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_32.png
2.3.8 Legenda
Posisi legenda
#mengubah Posisi legenda menjadi "top" (nilai yang mungkin: "left", "top", "right", "bottom") ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', groupName = 'dose', legendPosition = "top")
#posisi legenda dapat juga sebuah vektor numerik c(x, y) menunjukkan koordinat legendBox
# values X dan y harus antara 0 dan 1. c (0,0) sesuai dengan "bottom left"
#dan c (1,1) sesuai dengan posisi "top right"
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', groupName = 'dose', legendPosition = c (0.8,0.2))

image: 32C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_33.png
Hal ini juga memungkinkan posisi legenda berada didalam plotting area. Anda harus menunjukkan koordinat kotak legenda x, y. Nilai x dan y harus berada diantara 0 dan 1. c (0,0) sesuai dengan posisi "bottom left" dan c (1,1) sesuai dengan posisi "top right".
Gaya font legenda warna latar belakang, judul dan teks
#mengubah gaya warna background legenda, judul dan font teks
ggplot2.violinplot(data=df, xName='dose',yName='len', groupName='dose',
#legendTitleFont=c(size, style, color)
legendTitle="Dose (mg)", legendTitleFont=c(10, "bold", "blue"),
legendTextFont=c(10, "bold.italic", "red"),#legendTextFont=c(size, style, color)
#legendBackground: c(fill, lineSize, lineType, lineColor) legendBackground=c("lightblue", 0.5, "solid", "darkblue" ) )

image: 33C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_34.png
Mengubah urutan item dalam legenda, menghapus plot legenda
#mengubah Urutan item dalam legenda
ggplot2.violinplot(data=df, xName='dose',yName='len', groupName='dose',
#legendItemOrder : character vector indicating the order of items in the legends. legendItemOrder=c("2", "1", "0.5") )
#menghapus plot legenda
ggplot2.violinplot(data=df, xName='dose',yName='len', groupName='dose', showLegend=FALSE)

image: 34C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_35.png
Skala sumbu
Kemungkinan nilai untuk skala sumbu y adalah "none", "log2" dan log10. Nilai default adalah "none".
#mengubah Batas sumbu y
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', groupName = 'dose',
ylim = c (0,50))
#skala log. yScale = "log2". (nilai yang memungkinkan = "none", "log2" dan "log10")
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', groupName = 'dose',
yScale = "log2")

image: 35C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_36.png
Membuat sebuah modifikasi plot dengan menggunakan beberapa R code
#memodifikasi Violinplot dengan menggunakan titik pusat
ggplot2.violinplot(data=df, xName='dose',yName='len', groupName='dose', groupColors=c('#999999','#E69F00','#56B4E9'), showLegend=FALSE,
backgroundColor="white", xtitle="Dose (mg)", ytitle="length",
mainTitle="Plot of length according\n to vitamin C/Orange juice dose",
addDot=TRUE, dotSize=1)
#menghapus grid; menghapus bagian atas dan kanan border sekitar plot
ggplot2.violinplot(data=df, xName='dose',yName='len',
groupName='dose', groupColors=c('#999999','#E69F00','#56B4E9'), showLegend=FALSE,
backgroundColor="white", xtitle="Dose (mg)", ytitle="length",
mainTitle="Plot of length according\n to vitamin C/Orange juice dose",
addDot=TRUE, dotSize=1,
removePanelGrid=TRUE,removePanelBorder=TRUE,
axisLine=c(0.5, "solid", "black"))

image: 36C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_37.png
2.4 Split violin plots
Violin Plot berguna untuk membandingkan distribusi. Ketika data dikelompokkan berdasarkan faktor dengan dua tingkat (misalnya laki-laki dan perempuan), anda dapat membagi violin dalam setengah bagian untuk melihat perbedaan antar kelompok. Mempertimbangkan percobaan faktorial 2 x 2: treatments A dan B disilangkan dengan kelompok
1 dan 2, dengan N = 1000.
Data # Simulasikan
n.each <- 1000
A1 <- rnorm (n.each, 2, 1)
A2 <- rnorm (n.each, 1,5, 2)
B1 <- rnorm (n.each, 4, 1.5)
B2 <- rnorm (n.each, 0, 1)
nilai <- c (A1, A2, B1, B2)
treatment <- rep (c ("A", "B"), masing-masing = n.each * 2)
kelompok <- rep (c (1, 2, 1, 2), masing-masing = n.each)
Boxplots sering digunakan:
par (bty = "n")
boxplot (nilai ~ kelompok * treatment, main = "Box plot", col = rep (c ("ungu", "lightblue"), 2))

image: 37C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_38.png
Ini memberi kita perbandingan kasar distribusi di masing-masing kelompok, tapi kadang-kadang itu bagus untuk memvisualisasikan perkiraan kepadatan kernel sebagai gantinya.
require(vioplot)
require(devtools)
require(digest)
source_gist("https://gist.github.com/mbjoseph/5852613")
plot(x=NULL, y=NULL,
xlim = c(0.5, 2.5), ylim=c(min(values), max(values)),
type="n", ann=FALSE, axes=F)
axis(1, at=c(1, 2), labels=c("A", "B"))
axis(2) for (i in unique(treatment)) {
for (j in unique(group)){
vioplot2(values[which(treatment == i & group == j)],
at = ifelse(i == "A", 1, 2),
side = ifelse(j == 1, "left", "right"),
col = ifelse(j == 1, "purple", "lightblue"),
add = T)
}
}
title("Violin plot", xlab="Treatment")
legend("bottomright", fill = c("purple", "lightblue"),
legend = c("Group 1", "Group 2"), box.lty=0)

image: 38C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_2_39.png

Bab 3
R SOFTWARE

3.1 Sejarah & Pengembangan R
R adalah suatu kesatuan software yang terintegrasi dengan beberapa fasilitas untuk manipulasi, perhitungan dan penampilan grafik yang handal. R berbasis pada bahasa pemrograman S, yang dikembangkan oleh AT&T Bell Laboratories (sekarang Lucent Technologies) pada akhir tahun ’70 an. R merupakan versi gratis dari bahasa S dari software (berbayar) yang sejenis yakni S-PLUS yang banyak digunakan para peneliti dan akademisi dalam melakukan kegiatan ilmiahnya.
Pada awalnya, versi pertama R dibuat oleh Ross Ihaka and Robert Gentleman dari Universitas Auckland, namun selanjutnya R dikembangkan oleh tim yang disebut tim inti.
Tim inti (core team) terdiri dari ahli statistik, ahli komputer & pemrograman, geografi, ekonomi dari institusi yang berbeda dari seluruh dunia yang mencoba membangun sebuah sistem (software) yang handal namun dengan biaya yang sangat murah.
Sampai tulisan ini dibuat, R dapat secara cuma-cuma didownload dan digunakan dengan berlisensi pada GNU General Public License. Menurut kutipan dari penghargaan Association for Computing Machinery Software bagi John Chamber 1998, menyatakan bahwa (bahasa pemrograman) S telah “merubah orang dalam memanipulasi, visualisasi dan menganalisis data untuk selamanya”. R dibuat searah dengan ide yang ada pada bahasa pemrograman S.
Sampai tulisan ini dibuat versi R terbaru adalah R.2.4.1. , dan banyak projek lainnya yang berkaitan /berbasis /perluasan dari R, seperti geoR, Rattle, R Commander, SciViews R GUI, dan lain lain, yang anda dapat lihat ataupun download (jika sudah di terbitkan) di situs resmi projek R.
3.2 Software R dan Fitur-Fiturnya
3.2.1 R dan program statistik lainnya
Seperti dijelaskan sebelumnya, R merupakan “kerabat” dekat dari S-PLUS dimana secara fungsi dan sintaks/tata bahasa sama-sama menggunakan bahasa S, namun tidak identik. R dapat berinteraksi
dengan program statisik, manipulasi, perhitungan dan penampilan grafik lainnnya, seperti SPSS, yang cukup popular, Microsoft Excell dengan menyediakan fasilitas import dan eksport data.
Selain software di atas, R dapat melakukan import file dari software lainnya seperti, Minitab, SAS, Stat, Systat dan EpInfo.
Menurut [20], R adalah bahasa fungsional1 , dimana terdapat inti bahasa yang menggunakan bentuk standar notasi aljabar, yang memungkinkan perhitungan numerik seperti 2+3, atau 3^11. Selain itu tersedia pula fasilitas perhitungan dengan menggunakan fungsi.
Dengan beberapa fitur tersebut, R menjadi alat yang tangguh bagi para statistikawan, ahli ekonomi, peneliti dalam membantu risetnya, dikarenakan R dibangun dan didukung dengan model dan teori statistik terdepan dan menggunakan standar tertinggi bagi analisis data. R hampir dapat digunakan untuk berbagai bidang, mulai dari kalkulasi biasa (seperti kalkulator), statistik, ekonometri, geografi, hingga pemrograman komputer.
3.2.2 Kelebihan dan Fitur-fitur R
R mempunyai karakteristik tersendiri, dimana selalu dimulai dengan prompt “>“ pada console-nya.
R mempunyai beberapa kelebihan dan fitur-fitur yang canggih dan berguna, diantaranya:
- efektif dalam pengelolaan data dan fasilitas penyimpanan. Ukuran file yang disimpan jauh lebih kecil dibanding software lainnya.
- lengkap dalam operator perhitungan array,
- lengkap dan terdiri dari koleksi tools statistik yang terintegrasi untuk analisis data, diantaranya, mulai statistik deskriptif, fungsi probabilitas, berbagai macam uji statistik, hingga time series.
- tampilan grafik yang menarik dan fleksibel ataupun costumized
- dapat dikembangkan sesuai keperluan dan kebutuhan dan sifatnya yang terbuka, setiap orang dapat menambahkan fitur-fitur tambahan dalam bentuk paket ke dalam software R.
Selain kelebihan dan kelengkapan fitur-fiturnya, hal yang terpenting lainnya yakni, R bersifat multiplatform, yakni dapat diinstall dan digunakan baik pada system operasi Windows , UNIX/LINUX maupun pada Macintosh. Untuk dua system operasi disbeutkan terakhir diperlukan sedikit penyesuaian.
Selain kelebihan disebutkan di atas, R didukung oleh komunitas yang secara aktif saling berinteraksi satu sama lain melalui Internet dan didukung oleh manual atau Rhelp yang menyatu pada software R. Sebagai catatan, buku ini mengambil contoh pada penggunaan R pada system berbasis Windows.
3.2.3 R, Riset dan Akademis
Software R sangat cocok untuk riset, baik statistik,ekonomi, komputasi numerik dan pemrograman komputer. Karena didukung oleh banyak tenaga ahli dibidangnya, R layak dijadikan suatu perangkat lunak acuan bagi berbagai kalangan, terlebih di kalangan akademik (dosen, mahasiswa). Selain itu R memiliki fitur yang lengkap dan handal serta faktor tanggung jawab moral dan legal/hukum bukan lagi menjadi kekhawatiran dalam penggunaannya, karena dapat diperoleh secara GRATIS. Berikut adalah beberapa contoh yang didapat dari R sebagai acauan implementasi pada:
-Proses analisis data statistik,dengan tampilan grafik plot yang costumized dan grafik fungsi densitas yang dapat diparalelkan dnegan histogram. Cocok untuk bidang statistika, ekonomi, dan lain lain.

image: 39C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_3_1.png
Gambar: Grafik scatter plot hasil perhitungan R
3.2.4 Grafik

3.0.0.1 R dilengkapi dengan fasilitas untuk visualisasi statistik dalam bentuk grafik, baik statistik, kontur, map, dll. Sistem grafik di R terdiri dari dua sistem: sistem (dasar/default) yang terdapat dalam paket graphics dan sistem trellis yang terdapat dalam paket lattice. Grafik di R dapat diatur sesuai keperluan. Untuk melihat lebih detil mengenai fitur grafik dalam R, pilih menu Help di menu R kemudian pilih Manual (dalam format pdf) atau HTML help. Untuk mendapatkan gambaran langsung tentang grafik dalam R, dapat dilihat dalam fungsi demo(), dengan menuliskan

3.0.0.2 > demo() # untuk melihat jenis-jenis demo

3.0.0.3 > demo(graphics) # atau> demo(image) # atau

3.0.0.4 > demo(persp) # atau

3.0.0.5 > demo(lattice) # sebelumnya diperlukan load package dan pilih lattice pada menu di windows R anda; atau

3.0.0.6 > demo(package = .packages(all.available = TRUE)) # untuk melihat semua jenis demo yang tersedia Ket: untuk R versi 2.1.1, penulisan Return dituliskan setelah penulisan fungsi demo()

3.2.5 Grafik Dasar (Base)
Pengantar tentang prosedur grafik dapat dilihat di dokumen “Introduction to R” pada menu Help ->Manual (dalam format pdf).
Berikut akan disajikan contoh pembuatan plot secara bertahap diawali dengan model standar hingga pengaturan sesuai dengan yang diinginkan (customize). Contoh berikut adalah pembuatan scatterplot untuk petal.length yang dibandingkan dengan petal.width dari dataset iris. Default scatterplot dari dua variabel dihasilkan oleh metod plot.default, yang secara otomatis digunakan oleh perintah plot generik dimana argumennya merupakan dua vektor dengan panjang yang sama seperti berikut ini:
> data(iris)
> str(iris)
‘data.frame’: 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 …
$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 …
$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 …
$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 …
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1
Data tersebut di atas menyatakan bahwa data iris terdiri dari 5 variabel dimana setiap variable terdiri dari 150 data observasi. Lima variable tersebut adalah: Sepal.Length, Sepal.Width, Petal.Length, Petal.Width dan Species.
> attach(iris)
> plot(Petal.Length, Petal.Width)
Hasil dari perintah tersebut terlihat pada Grafik 5.1 (merupakan bentuk grafik secara default). Dalam grafik tersebut, sumbu x dan sumbu y berasal dari argumen pertama (Petal.Length) dan argumen kedua (Petal.Width), dari pernyataan plot(argument_1, argument_2).

image: 40C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_3_2.png
Gambar 5.1: Scatter plot data variabel Petal
Grafik 5.1 di atas dapat dilengkapi untuk menunjukan dependensi argumen dimana sumbu y sebagai variabel dependen. Hal tersebut dilakukan dengan menuliskan perintah seperti berikut, dimana variable terikat terletak sebelah kiri:
> plot(Petal.Width ~ Petal.Length,)
Pada Gambar 5.1 bentuk grafik sangat standart, sehingga perlu dilengkapi dengan beberapa keterangan tambahan untuk memperjelas dan mempermudah dalam melakukan interpretasi grafik. Hal ini dapat dilakukan dengan menambahkan fitur warna atau simbol dalam tampilan grafik. Untuk hal tersebut, R mempunyai fasilitas pewarnaan (yaitu dengan argumen col), simbol (dengan argumen pch), ukuran (dengan argumen cex), label/nama sumbu kordinat (dengan argumen xlab dan ylab), judul grafik (dengan argumen main). Beberapa jenis warna yang disediakan dalam R dapat diketahui dengan menggunakan perintah colours(), dimana akan ditampilan daftar warna-warna tersebut.
> colours()
[1] "white" "aliceblue" "antiquewhite"
[4] "antiquewhite1" "antiquewhite2 " antiquewhite3"
[655] "yellow3" "yellow4" "yellowgreen" sedangkan fungsi palette() dapat digunakan untuk menampilkan daftar warna dalam bilangan numeric:
> palette()
[1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow" [8] "gray"
Selain warna, simbol juga dapat digunakan untuk menampilkan tanda plot. Spesifikasi simbol dapat dilakukan dengan menentukan karakter yang akan digunakan (misalkan asterik ”*”) atau kode integer dari simbol tersebut. Gambar 5.2 menunjukkan simbol dan kodenya. Simbol dengan kode 21-26 memiliki fill (warna latar) yang dispesifikasikan pada argumen bg, spesifikasi warna utama dengan argumen col menspesifikasikan garis border.

image: 41C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_3_3.png
Gambar : Simbol dan kode dalam R
Berikut ini merupakan contoh yang menampilkan grafik plot yang dilengkapi dengan pewarnaan, modifikasi ukuran dan pemilihan simbol plotting. Penulisannya adalah sebagai berikut:
> plot(1, 1, xlim=c(1, 7.5), ylim=c(0,5), type="n")
> points(1:7, rep(4.5, 7), cex=1:7, col=1:7, pch=0:6)
> text(1:7,rep(3.5, 7), labels=paste(0:6), cex=1:7, col=1:7) > points(1:7,rep(2,7), pch=(0:6)+7) # Plot simbol 7 hingga 13
> text((1:7)+0.25, rep(2,7), paste((0:6)+7)) # Label dengan bilangan simbol
> points(1:7,rep(1,7), pch=(0:6)+14) # Plot symbols 14 hingga 20
> text((1:7)+0.25, rep(1,7), paste((0:6)+14)) # Labels dengan bilangan simbol dan akan menghasilkan Gambar 5.3 sebagai berikut:

image: 42C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_3_4.png
Gambar : Simbol, Kode dan Warna dalam R
Setelah kita mengetahui bentuk dan kode simbol, maka berikut ini akan dilakukan penggunaan simbol, warna dan modifkasi lain untuk menggambarkan plot/grafik dari contoh sebelumnya dengan menuliskan perintah seperti berikut:
> plot(Petal.Length, Petal.Width, pch=20, cex=1.2,
+ xlab=" Petal length (cm)", ylab="Petal width (cm)",
+ main="Data Anderson Iris", + col=c("slateblue","firebrick",darkolivegreen")
+ [as.numeric(Species)]) Data menunjukkan dengan jelas bahwa ukuran spesies berbeda (Sentosa paling kecil, Versicolor menengah, Virginica terbesar) tetapi rasio petal length dan weight sama untuk ketiga ukuran tersebut.

image: 43C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_3_5.png
Gambar 5.4: Grafik scatterplot data Iris
PYTHON
3.3 KONSEP DASAR PYTHON
Pada awalnya, motivasi pembuatan bahasa pemrograman ini adalah untuk bahasa skrip tingkat tinggi
pada sistem operasi terdistribusi Amoeba. Bahasa pemrograman ini menjadi umum digunakan untuk kalangan engineer
seluruh dunia dalam pembuatan perangkat lunaknya, bahkan beberapa perusahaan menggunakan python sebagai pembuat perangkat lunak komersial.
Python merupakan bahasa pemrograman yang freeware atau perangkat bebas dalam arti sebenarnya, tidak ada batasan dalam penyalinannya atau mendistribusikannya. Lengkap dengan source codenya, debugger
dan profiler, antarmuka yang terkandung di dalamnya untuk pelayanan antarmuka, fungsi sistem, GUI (antarmuka pengguna grafis), dan basis datanya.
3.3.1. Sejarah Python
Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.
Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com
yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs
pindah ke DigitalCreations.
Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.
Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan guido pada acara televisi Monty Python s Flying Circus. Oleh karena itu seringkali ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python.
Aplikasi bahasa phyton
Perangkat bantu shell. Tugas-tugas sistem administrator, program baris perintah.
Kerja bahasa ekstensi. Antarmuka untuk pustaka C/C++, kustomisasi
Pembuatan prototipe secara cepat/pembuatan sistem aplikasi. Prototipe yang dapat dibuang atau sesuai dengan permintaan.
Modul berdasarkan bahasa pemrograman. Pengganti dari penulisan parser khusus.
Antarmuka pengguna grafis. Penggunaan GUI API sederhana dan canggih.
Pengaksesan basisdata. Penyimpanan objek tetap, antarmuka sistem SQL.
Pemrograman terdistribusi. Penggunaan API mekanisme client/server terintegrasi.
Skrip internet. Skrip CGI, antarmuka HTTP, Aplet WWW, dan lainnya.
3.3.2. Mengapa Menggunakan Python
Sisi utama yang membedakan Python dengan bahasa lain adalah dalam hal aturan penulisan kode program.
Bagi para programmer di luar python siap-siap dibingungkan dengan aturan indentasi, tipe data,
tuple, dan dictionary. Python memiliki kelebihan tersendiri dibandingkan dengan bahasa lain terutama dalam hal penanganan modul, ini yang membuat beberapa programmer menyukai python.
Selain itu python merupakan salah satu produk yang opensource, free, dan multiplatform.
Beberapa fitur yang dimiliki Python adalah:
  • memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modul-modul siap pakai
  • untuk berbagai keperluan.
  • memiliki tata bahasa yang jernih dan mudah dipelajari.
  • memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan
  • penulisan ulang kode sumber.
Berorientasi obyek.
  • memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java)
  • modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul tersebut dapat
  • dibangun dengan bahasa Python maupun C/C++.
  • memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa pemrograman Java,
  • python memiliki fasilitas pengaturan penggunaan ingatan komputer sehingga para pemrogram tidak
  • perlu melakukan pengaturan ingatan komputer secara langsung.
Kelebihan dan Kekurangan
Kelebihan :
  • Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan pada masa pembuatan system aplikasi meningkat.
  • Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible.
  • Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat menghindari pencatatan kode
  • Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi menggunakan tipe objek yang telah ada
  • Pemrograman berorientasi objek
  • Pelekatan dan perluasan dalam C
  • Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar secara modular
  • Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner yang kecil
  • Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa menghentikannya
  • Model objek universal kelas Satu
  • Konstruksi pada saat aplikasi berjalan
  • Interaktif, dinamis dan alamiah
  • Akses hingga informasi interpreter
  • Portabilitas secara luas seperti pemrograman antar platform tanpa ports
  • Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan melindungi kode sumber
  • Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI, persistence, database, dll
Kekurangan:
  • Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman kompilasi seperti bahasa C.
  • Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu terbaik untuk pengantar komponen performa kritis.
  • Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka untuk mereka.
  • Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara menyeluruh.
  • Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya.
3.3.3. Instalasi Python
1) Pilih software Python versi yang diinginkan, contoh memakai python versi 2.4
image: 44C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_p1.PNG
2) Klik software python, lakukan peng-instalan pada computer dan ikuti langkah selanjutnya:
image: 45C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_p2.PNG
2) Pilih instal untuk semua user, klik tombol next :
image: 46C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_p3.PNG
3) Pilih direktori tujuan untuk tempat menyimpan program python, lalu klik tombol next. Jika kita klik tombol Disk Usage maka muncul form yang berisi informasi berapa besar kapasitas disk yang dibutuhkan
/digunakan untuk menginstal python(sekitar 49 MB) :
image: 47C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_p4.PNG
Jika kita klik tombol advanced, pilih compile .py ke byte code setelah instalasi jika tidak memilih juga tidak apa-apa dan tekan finish,ikuti petunjuk selanjutnya :
image: 48C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_p5.PNG
Selesai instalasi, komputer Anda telah ada Python, khususnya versi 2.4 pada folder C:\Python24.
3.3.4. Platform Python
Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai macam sistem operasi karena sifatnya yang multiplatform. Pada kebanyakan sistem operasi linux, bahasa pemrograman ini menjadi standarisasi untuk disertakan dalam paket distribusinya. Seperti halnya bahasa pemrograman dinamis, python seringkali digunakan sebagai bahasa skrip. Saat ini kode python dapat dijalankan pada sistem berbasis: Linux/Unix, Windows, Mac OS X, OS/2, Amiga, Palm, Symbian (untuk produk-produk Nokia).
Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lihat sejarahnya di Python Copyright. Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak bertentangan baik menurut definisi Open Source maupun General Public License (GPL).
3.3.5. Cara Menjalankan Program Pertama
1) klik tombol start Program Python24 IDLE(Python GUI), IDLE(GUI-Integrated Development Environment) dengan tampilan sebagai berikut :
image: 49C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_p6.PNG
Pada window diatas,,didalam prompt (>>>), tuliskan : print instalasi python selesai Kemudian interpreter merespon dengan menampilkan
instalasi python selesai pada layar.
Selanjutnya kita menuliskan program Python yang pertama
image: 50C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_p7.PNG

Bab 4
KASUS/CONTOH PEMANFAATAN VIOLIN PLOT

4.1 Contoh pemanfaatan violin plot adalah untuk membantu memudahkan pembuatan statistik grafik
# Ekstrak vektor "Ozon" data untuk New York
ozon = airquality $ Ozon
# Menghitung jumlah nilai non-hilang di "ozon"
n = sum (! is.na (ozon))
# Menghitung rata-rata, varians dan standar deviasi "ozon" oleh tidak termasuk nilai-nilai yang hilang
mean.ozone = mean (ozon, na.rm = T)
var.ozone = var (ozon, na.rm = T)
sd.ozone = sd (ozon, na.rm = T)
# Mensimulasikan Data polusi ozon untuk ozonopolis
# Set benih bagi Anda untuk meniru nomor acak saya untuk perbandingan set.seed (1)
ozone2 = rgamma (n, bentuk = mean.ozone ^ 2 / var.ozone + 3, skala = var.ozone /
mean.ozone + 3)
Sekarang, instal "sm" dan "vioplot" paket. Kemudian memanggil perpustakaan masing-masing.
perpustakaan (sm)
perpustakaan (vioplot)
The vioplot () fungsi tidak memiliki pilihan untuk mengabaikan nilai-nilai yang hilang. (yaitu
seperti banyak fungsi merencanakan lainnya di R, itu tidak memiliki "na.rm = TRUE" pilihan.)
Jadi, untuk data ozon ditetapkan untuk New York, saya memperoleh indeks elemen non-hilang
dari "ozon "vektor, dan kemudian saya menggunakan mereka indeks untuk mengekstrak vektor baru saja unsur-unsur non-hilang.
# Ekstrak vektor baru dari unsur non-hilang dari "ozon" data dari New York
ozone.ny.na.rm = ozon [! is.na (ozon)]
Akhirnya, membangun plot biola. Seperti biasa, saya sandwich perintah bersekongkol dengan
png () dan dev.off () untuk mengekspor gambar PNG ke direktori lokal saya. Baca komentar
saya untuk setiap baris kode yang sangat hati-hati untuk memahami mengapa saya menggunakan mereka.
png ('INSERT PATH DIREKTORI ANDA DI SINI / biola plots.png')
# Membuat bingkai merencanakan kosong dengan 1 baris dan 1 kolom
# Saya memilih 4 unit untuk xlim meninggalkan banyak ruang antara 2 plot biola
# Ylim diatur untuk mencakup semua nilai yang mungkin dari kedua ozone.ny.na.rm dan ozone2
# Type = "n" berarti tidak ada plotting - tetap kosong
# Xlab dan ylab dibiarkan sengaja dikosongkan
# Xaxt = 'n' berarti tidak ada tanda centang plot (1, 1, xlim = c (0, 4), ylim = range (c (ozone.ny.na.rm, ozone2)), type = 'n', xlab = '', ylab = '', xaxt = 'n')
# Membangun plot biola
# Menggunakan perintah terpisah untuk setiap set data untuk menyesuaikan warna individu
# "Di =" menetapkan titik di sepanjang sumbu horisontal mana vioplot dibuat
# "Tambahkan = T" berarti bahwa plot ini menambah plot yang sudah ada sebelumnya
vioplot (ozone.ny.na.rm, pada = 1, tambahkan = T, col = 'hijau')
vioplot (ozone2, di = 3, menambahkan = T, col = 'magenta')
# Mengatur sumbu horisontal axis (1, di = c (1,3), label = c ('New York', 'Ozonopolis'))
# Mengatur sumbu vertikal
# Di = 150 set ketinggian label di y = 150
# Pos = -0,45 memastikan bahwa label di x -0,45 dan tidak tumpang tindih angka sepanjang label tick
# TCK = 0 memastikan bahwa label tidak mendapatkan tanda centang sendiri
# Cobalah untuk tidak termasuk di, pos, dan pilihan TCK dan melihat apa yang Anda dapatkan axis (2, di = 150, pos = -0,45, TCK = 0, label = 'Ozone Konsentrasi (ppb)')
# Tambahkan judul title (= utama 'Violin Plot Ozon Konsentrasi \ nNew York dan Ozonopolis')
# Tambahkan legenda
# Yang bty option = 'n' memastikan bahwa tidak ada perbatasan di sekitar legenda
# Yang lty pilihan harus ditentukan, karena aku menggambar garis sebagai penanda untuk setiap kota di legenda
# Yang LWD pilihan menentukan lebar garis dalam legenda
Legenda (0,4, 250, legenda = c ('New York', 'Ozonopolis'), bty = 'n', lty = 1, LWD = 7, col = c ('hijau', 'magenta'))

image: 51C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_4_1.png
4.2 Contoh membuat visualisasi data
#Violinplot Dari vektor numerik tunggal
ggplot2.violinplot(data=numVector)
Violinplot #Basic dari vektor "len"
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len')
#Change Orientasi: violinplot Horizontal
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len',
Orientation = "horizontal")
#set memangkas ke FALSE. Jika TRUE (default), memangkas ekor violin plot dengan berbagai data.
# Jika FALSE, tidak memangkas ekor
ggplot2.violinplot (data = df, XName = 'dose', yName = 'len', trim = FALSE)

image: 52C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_4_2.png
Violin plot dengan mean point dan dots
Setiap titik mewakili satu observasi dan titik berarti sesuai dengan nilai rata-rata dari pengamatan
di kelompok tertentu.
#Violinplot Dengan mean point
ggplot2.violinplot(data=df, xName='dose',yName='len',
addMean=TRUE, meanPointShape=23,
meanPointSize=4, meanPointColor="black", meanPointFill="blue")
#Violinplot Dengan dots yang berpusat
ggplot2.violinplot(data=df, xName='dose',yName='len',
addDot=TRUE, dotSize=1, dotPosition="center")
#Violinplot Dengan titik-titik bergoyang. jitter: derajat jitter di arah x
#Violinplot with jittered dots. jitter: degree of jitter in x direction
ggplot2.violinplot(data=df, xName='dose',yName='len',
addDot=TRUE, dotSize=1.7, dotPosition="jitter", jitter=0.2)

image: 53C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_4_3.png
Mengubah jenis garis violinplot dan titik bentuk
Bentuk titik dan jenis garis yang berbeda dapat digunakan dalam plot. Secara default, ggplot2
menggunakan jenis garis padat dan bentuk lingkaran.
Bentuk titik dan jenis garis yang berbeda yang tersedia di R adalah sebagai berikut:

image: 54C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_4_4.png
#Mengubah warna garis dan jenis garis ViolinPlot
ggplot2.violinplot(data=df, xName='dose',yName='len',
colour="red", linetype="dotted")

image: 55C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_4_5.png

Bab 5
PENUTUP

5.1 Kesimpulan
Berdasarkan pembahasan yang didapat dari bab-bab sebelumnya, maka dapat ditarik kesimpulan sebagai berikut:
1. Untuk membuat violin plot harus menempuh cara-cara yang tidak bisa dibilang mudah. Karena banyak sekali source code yang dibutuhkan untuk menyelesaikan sebuah violin plot.
2. Software-software yang mensupport violin plot cukup banyak tapi masih masih asing bagi orang-orang.
3. Violin plot ini masih sangat asing bagi orang indonesia karena sangat jarang artikel-artikel dalam web yang dimuat dalam bahasa indonesia.
5.2 Saran
Berdasarkan kesimpulan diatas, kami ingin memberikan saran agar menjadi masukan yang dapat membantu perkembangan violin plot ini. Saran tersebut adalah:
1. Perusahaan pembuat software yang mensupport violin plot agar mengupgrade softwarenya supaya lebih memudahkan para pengguna dalam membuat violin plot tersebut.
2. Lebih banyak artikel yang memuat tentang violin plot agar dapat memudahkan dalam mempelajari dan mengerti violin plot tersebut.

Bibliography

1• http://www.sthda.com/english/wiki/ggplot2-violin-plot-easy-function-for-data-visualization-using-ggplot2-and-r-software?url=/3-easyggplot2/15-ggplot2-violinplot-easy-violin-plot-with-ggplot2-r-package/
2• http://www.itl.nist.gov/div898/software/dataplot/refman1/auxillar/violplot.htm
3• http://www.sthda.com/english/articles/print/15-ggplot2-violinplot-easy-violin-plot-with-ggplot2-r-package/
4• didi.staff.gunadarma.ac.id/Downloads/files/13706/BabII.pdf
5• didi.staff.gunadarma.ac.id/Downloads/files/13709/BabV.pdf



MINUTES OF MEETING

Nama Program            :Violin Plot
Judul Kegiatan            : Membuat Buku tentang Violin Plot(Grouped Plot With Split      Violin)
Waktu Pelaksanaan     : 23 Januari-25 Januari 2016
Tempat Kegiatan         : Kampus D Gunadarma, Kampus H Gunadarma, Wisma Palem Depok
Peserta:
1.      Tito Raynaldi (Ketua)
2.      Reza Maulana (Penulis)
3.      Annes Marditia (Designer)
4.      Anindita Sri Saputro (Editor)

Catatan Pertemuan
Agenda
Hasil Meeting
Pembagian tugas pencarian materi
Mencari materi
Penyusunan materi
Penyusunan buku awal
Finishing
Buku



Minggu
0
1
2
3

T0
T1
T2
T3
Tito Raynaldi

Bab 2
Bab 3
Bab 4
Reza Maulana

Kata Pengantar
Bab 3
Bab 5
Annes Marditia

Sampul
Bab 3
Bab 4
Anidita Sri Saputro

Bab 1
Bab 3
Bab5
Rapat

x
x
x

Jabatan
Nama
Job Description
Workflow
Ketua dan Mencari Referensi
Tito Raynaldi
Mengatur Jalannya tugas dan Mencari Rferensi
-Membuat Jadwal
-Mengatur Tugas Anggota
-Mencari Referensi
Penulis dan Editor
Reza Maulana
Menulis Buku dan Memperbaiki Tulisan
-Menulis Buku
-Membuat Kata Pengantar
Designer dan Editor
Annes Marditia
Membuat Desain Cover dan Memperbaiki Tulisan
-Membuat Desain Cover
-Mengecek Kesalahan Penulisan
Penulis dan Editor
Anindita Sri Saputro
Menulis Buku dan Memperbaiki Tulisan
-Membuat Penutup
-Editing Akhir


image: 56C__Users_Lenovo_Documents_Tugas_BOS_Soft_Skill_sofskill_kelar_Lengkap_coverbelakang1.png