Statistika Komputasi - math.fmipa.unmul.ac.idmath.fmipa.unmul.ac.id/nanda/statkom.pdf · Catatan...
Transcript of Statistika Komputasi - math.fmipa.unmul.ac.idmath.fmipa.unmul.ac.id/nanda/statkom.pdf · Catatan...
Catatan Kuliah
Statistika Komputasi
disusun oleh
Nanda Arista Rizki, M.Si.
JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS MULAWARMAN
2017
Daftar Isi
Daftar Isi ii
1 Pengenalan Software 1
1.1 Octave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Penerapan Software 7
2.1 Statistika Deskriptif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Rata-rata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.2 Median . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Pembuatan Grafik . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Grafik Garis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Grafik Batang . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.3 Grafik Pie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.4 Grafik Pencar . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.5 Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.6 Boxplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
i
DAFTAR ISI ii
2.3 Peluang dan Distribusi Peluang . . . . . . . . . . . . . . . . . . . . . 23
2.4 Uji Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 Instalasi Paket 27
3.1 Octave Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 R Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Daftar Pustaka 30
BAB 1
Pengenalan Software
Semua materi dalam kuliah ”Statkom” ini menggunakan software bernama Octave
dan R. Octave dapat diunduh secara gratis di https://www.gnu.org/software/octave/,
sedangkan R di http://cran.r-project.org/.
1.1 Octave
Lihat modul workshop tentang Octave yang pernah diadakan oleh Laboratorium
Statistika Komputasi Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas
Mulawarman.
1.2 R
R adalah suatu bahasa dan lingkungan yang tersedia secara bebas untuk komputasi
statistik dan grafis yang menyediakan berbagai teknik statistik dan grafis: pemodel-
an linier dan nonlinier, uji statistik, analisis deret waktu, klasifikasi, pengelompokan,
dan lain-lain. R tersedia sebagai free software dibawah ketentuan dari Free Software
Foundation’s GNU General Public License. Seperti halnya Octave, software R juga
merupakan program yang case sensitive, artinya besar kecilnya huruf berpengaruh
pada program.
1
Cara yang sering dilakukan oleh para pengguna ketika melakukan update untuk
R adalah meng-uninstall R yg lama, lalu install yang baru, kemudian mengkopi se-
mua paket yang sudah ter-install ke dalam folder pustaka R yang baru. Selanjutnya
menggunakan perintah
1 > update.packages(checkBuilt=TRUE, ask=FALSE)
Dan terakhir, menghapus semua yang berasal dari instalasi yang lama (opsional).
Dalam menjalankan perintah R, juga dapat dibantu fasilitas yang disediakan
oleh RStudio. Rstudio adalah Integrated Development Environment (IDE) yang
bekerja dengan versi standar R yang tersedia dari server CRAN (Comprehensive
R Archive Network). RStudio mencakup berbagai fitur peningkatan produktivitas.
Untuk menjalankan Rstudio, haruslah memiliki versi R 2.11.1 ke atas. Rstudio dapat
diunduh secara gratis di https://www.rstudio.com/products/rstudio/download/.
Lisensi RStudio berada di bawah GNU Affero General Public License v3, yaitu
lisensi open-source yang menjamin kebebasan untuk membagi (share) dan mengubah
(change) software, dan untuk memastikannya tetap gratis untuk semua pengguna-
nya. Perbedaan interface antara R dan Rstudio dapat dilihat pada Gambar (1.1).
(a) R (b) RStudio
Gambar 1.1: Perbedaan interface antara R dan RStudio
Statistika Komputasi 2 Nanda Arista Rizki, M.Si.
Berikut adalah cara mendeteksi paket R yang dibangun:
1 > pkgs <− as.data.frame(installed.packages(), stringsAsFactors = ...
FALSE, row.names = FALSE)
2 > pkgs[, c("Package", "Version", "Built")]
Selanjutnya adalah mengikuti beberapa latihan berikut.
Latihan 1:
1 # Baris ini adalah komentar, sehingga tidak dieksekusi oleh R
2 > 13+28
3 > x <− 13
4 > y <− 28
5 > z <− x+y
6
7 # R juga mengenal fungsi standar matematik
8 > log(10)
9 > exp(2)
10 > log(exp(1))
11 > sqrt(4)
12
13 # Membuat vektor yang teratur
14 > 1:10
15 > seq(1,10)
16 > seq(1,9,by=2)
17 > seq(8,20,length=6)
18 > rep(0,100)
19 > rep(1:3,6)
20 > rep(1:3,c(6,6,6))
21 > rep(1:3,rep(6,3))
22 > rep('abc',5)
23
24 # Cara mendefinisikan sendiri elemen vektornya
25 > x <− c(10.4, 5.6, 3.1, 6.4, 21.7)
26 > x
27 > x+3
28 > y <− c(x,0,−x)29 > y
30 > y <− c(1/2,0.5,3,−11/4,0)31 > y
Statistika Komputasi 3 Nanda Arista Rizki, M.Si.
32 > v <− 2*x + y + 1
33
34 # Manajemen peubah
35 > ls()
36 > rm(x,y)
37 > ls()
Latihan 2:
1 # Contoh vektor dan indeks elemen dalam vektor tersebut
2 > x <− 1:3
3 > y <− c(6,3,4)
4 > y[2]
5 > y[2:3]
6 > y[c(2,3,1)]
7
8 # Membuat matriks dan melihat indeks elemen dalam vektor tersebut
9 > z <− cbind(x,y)
10 > dim(z)
11 > z <− rbind(x,y)
12 > dim(z)
13 > z[2,2]
14 > z <− matrix(c(5,7,9,6,3,4),nrow=3)
15 > z[3,2]
16 > z[2,]
17 > z[,2]
18 # Perintah array juga dapat digunakan untuk membuat matriks
19 > array(1:20, dim=c(4,5))
20 > array(1:20, dim=c(5,4))
21
22 # Mengatur cara input elemen matriks
23 > matrix(c(5,7,9,6,3,4))
24 > matrix(c(5,7,9,6,3,4),nr=3) #nr=nrow
25 > matrix(c(5,7,9,6,3,4),nr=3,byrow=T)
26 > y <− matrix(c(1,3,0,9,5,−1),nrow=3,byrow=T)27 > z+y
28 > z*y # Perkalian titik
29 > z
30 > t(z) # Transpose dari matriks z
31 > t(z) %*% y # Perkalian antar matriks
Statistika Komputasi 4 Nanda Arista Rizki, M.Si.
Latihan 3:
1 # Contoh sintaks untuk kondisi if else
2 > if (2<3) 2+3
3 > if (2>3) 2+3
4 > if (2<3 && 1<2) 2+3
5 > if (2<3 && 1>2) 2+3
6 > if (2<3 | | 1>2) 2+3
7 > if (2<3 && 1>2) 2+3 else 3
Latihan 4:
1 # Contoh sintaks untuk perulangan for
2 > 123
3 > print(123)
4 > "UNMUL"
5 > print("UNMUL")
6
7 > for (i in 1:3) i
8 > for (i in 1:3) print(i)
9 > for (i in 1:3) print(iˆ2)
10 # Statemen juga bisa diapit oleh kurung kurawal
11 > for (i in 1:3) {y=iˆ2; print(y)}12
13 # Contoh untuk perulangan while
14 > y=0;
15 > while(y<5){ print( y <− y+1 ) }16
17 > i <− 1
18 > while (i < 6) {print(i)19 + i <− i+1}20
21 > x <−022 > for (i in 1:5){23 + x <− x+i;
24 + }25 > x
Statistika Komputasi 5 Nanda Arista Rizki, M.Si.
Latihan 5:
1 # Contoh sintaks untuk membuat suatu fungsi
2 > f <− function(x, y) x−y3 > f(3,4)
4 > f <− function(x, y) {x−y}5 > f(3,4)
6 > f <− function(x,y,z) {(x+y)/z}7 > f(1,2,3)
Statistika Komputasi 6 Nanda Arista Rizki, M.Si.
BAB 2
Penerapan Software
Dalam bagian ini akan dilatih cara manual dan cara praktis.
2.1 Statistika Deskriptif
Sebelum memulai materi statistika deskriptif, lebih baik diajarkan terlebih dahulu
bagaimana cara membaca atau memasukkan data yang berasal dari file lain. Berikut
adalah sintaks untuk membaca suatu data menggunakan software R:
1 # Untuk membaca file dalam format tabel,
2 # gunakan perintah read.table() atau read.csv()
3 > mydata = read.table("dataku.txt")
4 > mydata = read.csv("dataku.csv")
5 > mydata = read.csv(file.choose(), header=TRUE)
6 # Header=TRUE artinya baris pertama pada file tersebut
7 # akan digunakan sebagai label peubah.
8 # Untuk melihat datanya, gunakan perintah view()
9 > view(mydata)
10
11 # Untuk membaca data yang berasal dari file excel,
12 # gunakan perintah library(gdata)
13 > library(gdata)
14 > mydata = read.xls("dataku.xls")
15 > view(mydata)
7
16 # Khusus untuk file excel yang berekstensi *.xlsx,
17 # gunakan perintah library(xlsx)
18 > library(xlsx)
19 > dataku <− read.xlsx("data saya.xlsx", sheetName = "Sheet1")
20 > view(dataku)
21
22 # Untuk membaca file octave, tambahkan library(foreign)
23 > library(foreign)
24 > mydata = read.octave("dataku.octave")
25 > view(mydata)
Sedangkan untuk Octave, gunakan sintaks berikut:
1 >> A=rand(10,4) #membuat matriks acak berukuran 10x4
2 >> B=rand(10,4)
3 >> save dataku.mat #simpan sebagai dataku.mat
4 # atau dapat juga disimpan dengan cara berikut
5 >> save dataku.octave
6 # Untuk membaca file tersebut, gunakan perintah load
7 >> load dataku.mat
8 >> load dataku.octave
9 >> load Documents/dataku.octave
10 # khusus untuk file csv, gunakan perintah dlmread
11 # jika pemisah antar kolom adalah koma (,)
12 # maka gunakan perintah berikut
13 >> dataku=dlmread('Documents/mydata.csv',',')
14 # jika pemisah antar kolom adalah titik−koma (;)
15 # maka gunakan perintah berikut
16 >> dataku=dlmread('Documents/mydata.txt',';')
17 # atau dapat juga menggunakan perintah csvread
18 >> csvread('Documents/mydata.csv') # khusus perintah ini,
19 # tanpa mencantumkan pemisah antar kolom
20
21 # Untuk membaca file excel, perlu adanya paket tambahan
22 # yaitu "io package" lalu gunakan perintah xlsread
Selanjutnya adalah mengetahui ukuran suatu sampel. Perhatikan contoh berikut.
1 # Octave
Statistika Komputasi 8 Nanda Arista Rizki, M.Si.
2 >> dataku=csvread('Documents/mydata.csv')
3 >> size(dataku)
4 >> size(dataku)(1)
5 >> size(dataku)(2)
6 >> n=size(dataku)(1)
7 >> x=−2:138 >> size(x)
9 >> length(x)
1 # R
2 > dataku = read.csv("mydata.csv")
3 > length(dataku)
4 > x <− 2:13
5 > length(x)
6 # Misal ingin membaca data yang berupa 2 peubah
7 # dengan tanda titik koma(;) sebagai pemisah antar peubah
8 # lalu memberi nama peubah tersebut dengan nama var1 dan var2
9 > mydata <− read.table("dataku.txt", sep=";",
10 + col.names = c("var1","var2"))
11 > length(mydata)
12 > length(mydata$var1)
Dalam beberapa kasus, letak (indeks) data sangat diperlukan. Untuk software
R, telah dijelaskan pada materi sebelumnya (lihat hal. 4).
1 # Octave
2 >> A=[1 2 3 4; 8 7 6 5; 9 10 11 12]
3 >> A
4 >> A(:,1) # kolom ke 1 dari matrik A
5 >> A(2,:) # baris ke 2 dari matrik A
6 >> A(1,1)
7 >> A(1,2)
8 >> A(1,3)
9 >> A(1,4)
10 >> A(2,1)
11 >> A(2,2)
12 >> A(2,3)
13 >> A(2,4)
14 >> A(3,1)
Statistika Komputasi 9 Nanda Arista Rizki, M.Si.
15 >> A(3,2)
16 >> A(3,3)
17 >> A(3,4)
2.1.1 Rata-rata
Sebelum menghitung nilai rata-rata suatu sampel, perhatikan salah satu cara untuk
menghitung4∑
i=1
i2 berikut.
1 # R
2 > x <− c(1,2,3,4)
3 > sum=0;
4 > for (i in 1:4){5 + sum <− sum+x[i]ˆ2;
6 + }7 > hasilnya <− sum
8 > hasilnya
1 # Octave
2 >> a=[1,2,3,4]
3 >> b=[1:4]
4 >> sum=0;
5 >> for i=1:4
6 sum=sum+a(i)ˆ2;
7 endfor
8 >> hasilnya=sum
9 # bandingkan dengan perintah sumsq()
10 >> sumsq(b)
11 # atau menggunakan perintah cumsum (Cumulative sum)
12 >> cumsum(b)
13 >> cumsum(4) # karena length(b)=4
14 >> cumsum(b,1) # penjumlahan kumulatif secara vertikal
15 >> cumsum(b,2) # penjumlahan kumulatif secara horisontal
16 >> cumsum(b.ˆ2)(4)
Perhatikan bahwa dalam menggunakan teknik ini, perlu adanya inisialisasi peubah.
Statistika Komputasi 10 Nanda Arista Rizki, M.Si.
Selanjutnya adalah menghitung rata-rata dari data yang diberikan. Perhatikan
sintaks berikut:
1 # Octave
2 >> dataku=csvread('Documents/mydata.csv')
3 >> n=length(dataku)
4 >> penjumlahan=cumsum(dataku)(n)
5 >> ratarata=penjumlahan/n
1 # R
2 > dataku <− read.csv("mydata.csv")
3 > n<−length(dataku)4 > penjumlahan <− sum(dataku)
5 > ratarata<− penjumlahan/n
Nilai rata-rata juga dapat dihitung menggunakan fungsi yang telah disediakan oleh
software. Perhatikan sintaks berikut:
1 # R
2 > dataku <− read.csv("mydata.csv")
3 > mean(dataku)
1 # Octave
2 >> dataku=csvread('Documents/mydata.csv')
3 >> mean(dataku)
2.1.2 Median
Misal diberikan vektor A = (2, 3, 1, 4, 5), maka diperoleh median untuk A adalah
3. Dalam hal ini, perlu adanya fungsi yang dapat mengurutkan suatu vektor atau
matriks dengan teratur, baik secara menaik maupun secara menurun.
1 # Octave
Statistika Komputasi 11 Nanda Arista Rizki, M.Si.
2 >> x=rand(100,1)
3 >> y=sort(x) # atau y=sort(x,"ascend")
4 # jika ingin mengurutkan secara menurun,
5 # maka gunakan sintaks y=sort(x,"descend")
6 >> n=length(y)
7 >> if mod(n,2)==1
8 median=y((n+1)/2);
9 else
10 median=(y(n/2)+y((n/2)+1))/2;
11 end
Salah satu perbedaan antara software R dan Octave adalah posisi indeks suatu
vektor atau matriks. Perhatikan sintaks R berikut.
1 # R
2 > x<−runif(100)3 > y<−sort(x) # atau y<−sort(x,decreasing = FALSE)
4 # jika ingin mengurutkan secara menurun,
5 # maka gunakan sintaks y<−sort(x,decreasing = TRUE)
6 > n<−length(y)7 > if (n%%2==1) median<−y[(n+1)/2] else
8 + median<−(y[n/2]+y[(n/2)+1])/29 > median
Sepertihalnya nilai rata-rata, baik software Octave maupun R juga dapat menggu-
nakan fungsi yang telah disediakan. Perhatikan sintaks berikut:
1 # R
2 > x<−runif(100)3 > median(x)
1 # Octave
2 >> x=rand(100,1)
3 >> median(x)
Statistika Komputasi 12 Nanda Arista Rizki, M.Si.
2.1.3
Jika ingin menghitung statistik deskriptif yang lain selain rata-rata dan median,
maka gunakan sintaks-sintaks berikut:
1 # Octave
2 >> dataku=csvread('Documents/mydata.csv')
3 >> statistics(dataku)
4 # Fungsi ini menghasilkan vektor yang berisi nilai minimum,
5 # kuartil pertama, median, kuartil ketiga, nilai maksimum,
6 # mean, deviasi standar, skewness, dan kurtosis.
1 # R
2 > dataku <− read.csv("mydata.csv")
3 > summary(dataku)
4 # Fungsi ini menghasilkan mean, median, kuantil ke 25,
5 # kuantil ke 75, nilai minimum, dan nilai maksimum.
6 >
7 > fivenum(dataku)
8 # Fungsi ini menghasilkan ringkasan 5 bilangan Tukey,
9 # yaitu nilai minimum, lower−hinge (kuartil bawah Tukey),
10 # midhinge (median), upper−hinge (kuartil atas Tukey),
11 # dan nilai maksimum.
Latihan 6:
1. Buatlah sintaks yang dapat menghitung nilai deviasi standar dari sampel
berikut secara manual:
s(x) =1
n− 1
n∑i=1
(xi − x̄)2, dengan n = banyaknya pengamatan sampel.
2. Buatlah sintaks yang dapat menghitung nilai skewness dari sampel berikut
secara manual:
Skewness(x) =
1
n
n∑i=1
(xi − x̄)3
s3, dengan s = deviasi standar.
Statistika Komputasi 13 Nanda Arista Rizki, M.Si.
2.2 Pembuatan Grafik
Dalam bagian ini akan diajarkan cara pembuatan grafik garis, garis batang, grafik
pie, grafik pencar, histogram, dan boxplot.
2.2.1 Grafik Garis
Fungsi sederhana untuk membuat suatu grafik adalah menggunakan fungsi plot.
Fungsi ini digunakan untuk menghubungkan nilai peubah x dan nilai peubah y (jika
diberikan 2 peubah, yaitu x dan y). Setelah fungsi plot, biasanya diikuti oleh fungsi
lines, yaitu fungsi yang menghubungkan antar titik dalam suatu grafik. Fungsi lines
dapat diikuti oleh argumen type pada Tabel 2.1.
Tabel 2.1: Deskripsi Argumen Type
type deskripsip points (titik)l lines (garis)o titik dan garisc garis putus tanpa titikb garis putus dengan pasangan koordinat
s, S pola tanggah garis vertikal, seperti histogramn tanpa titik atau garis
Untuk melihat perbedaan argumen type dapat menggunakan sintaks berikut.
1 # R
2 > x <− c(−5:5); y <− xˆ2 # create some data
3 > par(pch=22, col="red") # plotting symbol and color
4 > par(mfrow=c(2,4)) # all plots on one page
5 > opts = c("p","l","o","b","c","s","S","h")
6 > for(i in 1:length(opts)){7 + heading = paste("type=",opts[i])
8 + plot(x, y, type="n", main=heading)
9 + lines(x, y, type=opts[i])
10 + }
Statistika Komputasi 14 Nanda Arista Rizki, M.Si.
Sintaks tersebut menghasilkan Gambar 2.1.
Gambar 2.1: Perbedaan type yang digunakan
Fungsi plot dapat ditambahkan argumen type, main, sub, xlab dan ylab. Pe-
ngisian argumen type sama saja seperti untuk fungsi lines. Jika ingin menambah-
kan sub judul, gunakan argumen sub dan diikuti oleh nama sub judulnya (bertipe
string). Argumen xlab dan ylab, masing-masing digunakan untuk mengatur label
sumbu horisontal dan label sumbu vertikal. Untuk lebih jelasnya, perhatikan sintaks
berikut.
1 # R
2 > x<−−5:53 > y<−xˆ24 > plot(x,y)
5 > lines(x,y) # sama dengan fungsi lines(x,y, type="l")
6 >
7 > # tambahkan argumen main untuk menambahkan judul grafik
8 > plot(x,y,main="judulnya")
9 > lines(x,y,type="s")
10 >
11 > plot(x,y,main="judulnya",sub="sub judulnya",
12 + xlab="sumbu x", ylab="sumbu y")
13 > lines(x,y,type="h)
Statistika Komputasi 15 Nanda Arista Rizki, M.Si.
Selanjutnya adalah mencobanya dengan software Octave. Perintah untuk
membuat grafik dalam Octave, juga menggunakan fungsi plot. Jika ingin meng-
atur warna dalam Octave, maka gunakan format argumen pada Tabel 2.2.
Tabel 2.2: Color Specification in Octave
RGB Triplet Short Name Long Name[1 1 0
]y yellow[
1 0 1]
m magenta[0 1 1
]c cyan[
1 0 0]
r red[0 1 0
]g green[
0 0 1]
b blue[1 1 1
]w white[
0 0 0]
k black
Perhatikan sintaks berikut.
1 >> # Octave
2 >> a=rand(1000,1);
3 >> b=rand(1000,1);
4 >> plot(a,b,'c')
5 >> plot(1:1000,b,'g')
Kemudian tambahkan fungsi xlabel, ylabel, dan title untuk menambahkan label
untuk sumbu horisontal, label untuk sumbu vertikal, dan judul untuk grafik. Per-
hatikan sintaks berikut.
1 >> # Octave
2 >> x = −10:0.1:10;3 >> plot(x,sin(x),'color',[1 0 1])
4 >> xlabel ("x");
5 >> ylabel ("sin (x)");
6 >> title ("Fungsi Sinus");
Gaya penggambaran garis dalam Octave dapat diatur. Jika ingin mengatur
format garis yang diinginkan, maka gunakan format argumen opsional pada Tabel
2.3.
Statistika Komputasi 16 Nanda Arista Rizki, M.Si.
Tabel 2.3: Line style in Octave
Value Description’-’ solid lines (default)’–’ dashed lines’:’ dotted lines’-.’ dash-dotted lines
Tabel 2.4: Marker Symbol in Octave
No. Value Description1 ’o’ Circle2 ’+’ Plus sign3 ’*’ Asterisk4 ’.’ Point5 ’x’ Cross6 ’square’ or ’s’ Square7 ’diamond’ or ’d’ Diamond8 ’∧’ Upward-pointing triangle9 ’v’ Downward-pointing triangle10 ’>’ Right-pointing triangle11 ’<’ Left-pointing triangle12 ’pentagram’ or ’p’ Five-pointed star (pentagram)13 ’hexagram’ or ’h’ Six-pointed star (hexagram)14 ’none’ No markers
Perhatikan sintaks berikut.
1 >> # Octave
2 >> x=0:0.1:10;
3 >> plot(x,exp(−x),'−−')4 >> xlabel ("x");
5 >> ylabel ("exp (−x)");6 >>
7 >> plot(x,sqrt(x),':')
8 >> xlabel ("x");
9 >> ylabel ("sqrt (x)");
Jika ingin mengatur simbol penanda, maka gunakan format argumen pada Ta-
bel 2.4. Berbeda dengan software R, fungsi plot Octave dapat menggambar (secara
langsung) lebih dari 1 (satu) kurva. Caranya adalah meneruskan argumen dalam
Statistika Komputasi 17 Nanda Arista Rizki, M.Si.
fungsi plot. Perhatikan sintaks berikut.
1 >> # Octave
2 >> x=−10:0.1:10;3 >> plot(x,sin(x),'>',x,cos(x),'v')
4 >> plot(x,sin(x),'color',[1 0 1],'>',x,cos(x),'vy')
Fungsi legend akan mempercantik grafik yang dibuat. Letak posisi legend
dapat dilihat pada Tabel 2.5.
Tabel 2.5: Argumen Opsional Fungsi Legend
Posisi Lokasi legend’north’ center top’south’ center bottom’east’ right center’west’ left center’northeast’ right top (default)’northwest’ left top’southeast’ right bottom’southwest’ left bottom
Perhatikan sintaks berikut.
1 >> # Octave
2 >> x=−10:0.1:10;3 >> plot(x,sin(x),'>',x,cos(x),'v')
4 >> legend('sin(x)','cos(x)','location','northwest')
2.2.2 Grafik Batang
Selanjutnya adalah bagaimana cara membuat grafik batang. Jika ingin membuat-
nya dengan menggunakan Octave, maka gunakan fungsi bar dan barh. Perhatikan
sintaks berikut.
1 >> # Octave
2 >> a=rand(10,1);
Statistika Komputasi 18 Nanda Arista Rizki, M.Si.
3 >> figure
4 >> bar(a)
5 >>
6 >> b=rand(10,2);
7 >> figure
8 >> bar(b)
9 >>
10 >> c=rand(10,3);
11 >> figure
12 >> barh(c)
13 >>
14 >> d=rand(10,4);
15 >> figure
16 >> barh(d)
17 >> legend("data ke 1","data ke 2","data ke 3","data ke 4")
Pembuatan grafik batang jika menggunakan software R, dapat menggunakan
fungsi barplot. Perhatikan sintaks berikut.
1 > #R
2 > a<−c(30,60,55,63,45)3 > barplot(a,main = "Judul barplot", xlab = "Program Studi",
4 + ylab = "Jumlah mahasiswa", names.arg =
5 + c("MTK","STAT","KIMIA","BIO","FISIKA"))
6 >
7 > barplot(a,main = "Judul barplot", xlab = "Program Studi",
8 + ylab = "Jumlah mahasiswa", horiz = TRUE, names.arg =
9 + c("MTK","STAT","KIMIA","BIO","FISIKA"))
2.2.3 Grafik Pie
Grafik pie digunakan untuk membuat proporsi suatu data yang dibuat menyerupai
kue pie. Perhatikan sintaks berikut.
1 > #R
2 > a<−c(30,60,55,63,45)3 > pie(a,main = "Judul barplot", labels =
Statistika Komputasi 19 Nanda Arista Rizki, M.Si.
4 + c("MTK","STAT","KIMIA","BIO","FISIKA"))
5 > pie(a,main = "Judul barplot", labels =
6 + c("MTK","STAT","KIMIA","BIO","FISIKA"),col=rainbow(5))
7 >
8 > persen <− round(a/sum(a)*100)
9 > labelnya <− c("MTK","STAT","KIMIA","BIO","FISIKA")
10 > # Untuk menambahkan persentase ke label, gunakan fungsi paste
11 > labelnya <− paste(labelnya, persen)
12 > labelnya <− paste(labelnya,"%",sep="") # Tambahkan % ke label
13 > pie(a,main = "Judul barplot", labels =
14 + labelnya, col=rainbow(5))
Pembuatan grafik pie dalam Octave, menggunakan fungsi pie dan pie3. Per-
hatikan sintaks berikut.
1 >> # Octave
2 >> x=1:4;
3 >> pie(x)
4 >> legend("data ke 1","data ke 2","data ke 3","data ke 4")
5 >>
6 >> y=[2 3 1 4];
7 >> figure
8 >> pie(y)
9 >> legend("data ke 1","data ke 2","data ke 3","data ke 4")
10 >>
11 >> figure
12 >> pie(x,{"data ke 1","data ke 2","data ke 3","data ke 4"})13 >>
14 >> figure
15 >> explode=[0,0,1,0];
16 >> # gunakan explode untuk memisahkan irisan data dari grafik pie
17 >> # jika bernilai 1, maka irisan dikeluarkan
18 >> pie3(x,explode,{"data ke 1","data ke 2","data ke 3","data ke 4"})
2.2.4 Grafik Pencar
Jika ingin membuat grafik pencar (scatterplot) dalam Octave, maka dapat menggu-
nakan fungsi scatter. Perhatikan sintaks berikut.
Statistika Komputasi 20 Nanda Arista Rizki, M.Si.
1 >> # Octave
2 >> x = randn (1000, 1);
3 >> y = randn (1000, 1);
4 >> scatter(x,y)
5 >>
6 >> figure
7 >> x = randn (1000, 3);
8 >> y = randn (1000, 3);
9 >> plotmatrix(x,y) # Pembuatan matriks scatterplot
10 >>
11 >> figure
12 >> plotmatrix(x)
Jika ingin membuat scatterplot dalam R, maka dapat menggunakan kembali
fungsi yang pernah dikenalkan sebelumnya, yaitu fungsi plot. Perhatikan sintaks
berikut.
1 > #R
2 > attach(mtcars) # Dataset yang disediakan oleh R
3 > mtcars
4 > wt # peubah pertama
5 > mpg # peubah kedua
6 > plot(wt, mpg, main="Contoh Scatterplot",
7 + xlab="Bobot Mobil", ylab="Bahan Bakar")
8 >
9 > # Jika ingin membuat matriks scatterplot, gunakan sintaks berikut:
10 > pairs( ¬ mpg+disp+drat+wt,
11 + main="Simple Scatterplot Matrix")
2.2.5 Histogram
Baik software R maupun Octave, jika ingin membuat histogram maka menggunakan
fungsi hist. Perhatikan sintaks berikut.
1 > #R
2 > a<−c(30,60,55,63,45)
Statistika Komputasi 21 Nanda Arista Rizki, M.Si.
3 > hist(a)
4 > b<−runif(5000)5 > hist(b)
6 > c<−runif(50,−10,10)7 > hist(c)
8 >
9 > hist(a,breaks=3,col = "red") # mengubah menjadi 3 batang
10 > hist(b,breaks=3,col = "skyblue")
11 > hist(c,breaks=3,col = "gold")
1 >> # Octave
2 >> x = randn (1000, 1);
3 >> hist(x)
4 >>
5 >> figure
6 >> hist(x,4) # mengubah menjadi 4 batang
7 >> hist(x,4,"r")
2.2.6 Boxplot
Baik software R maupun Octave, jika ingin membuat boxplot maka menggunakan
fungsi boxplot. Perhatikan sintaks berikut.
1 >> # Octave
2 >> pkg load statistics
3 >> x = randn (1000, 3);
4 >> boxplot(x)
5 >>
6 >> figure
7 >> boxplot(x(:,1))
1 > #R
2 > attach(mtcars) # Dataset yang disediakan oleh R
3 > mtcars
4 > boxplot(mpg ¬ cyl,data=mtcars, main="Car Milage Data",
5 + xlab="Number of Cylinders", ylab="Miles Per Gallon")
Statistika Komputasi 22 Nanda Arista Rizki, M.Si.
2.3 Peluang dan Distribusi Peluang
Setiap distribusi dalam software R ditangani oleh 4 (empat) fungsi yang diawali
dengan salah satu huruf berikut:
• ”p” untuk probability, yakni fungsi distribusi kumulatif atau cumulative dis-
tribution function (cdf)
• ”q” untuk quantile, yakni invers dari cdf
• ”d” untuk density, yakni fungsi kepadatan atau fungsi peluang massa
• ”r” untuk random, yakni suatu peubah acak yang memiliki distribusi yang
spesifik.
Perhatikan Tabel 2.6.
Tabel 2.6: Fungsi Distribusi untuk R
Distribusi Fungsi
Beta pbeta qbeta dbeta rbeta
Binomial pbinom qbinom dbinom rbinom
Cauchy pcauchy qcauchy dcauchy rcauchy
Chi-Square pchisq qchisq dchisq rchisq
Exponential pexp qexp dexp rexp
F pf qf df rf
Gamma pgamma qgamma dgamma rgamma
Geometric pgeom qgeom dgeom rgeom
Hypergeometric phyper qhyper dhyper rhyper
Logistic plogis qlogis dlogis rlogis
Log Normal plnorm qlnorm dlnorm rlnorm
Negative Binomial pnbinom qnbinom dnbinom rnbinom
Normal pnorm qnorm dnorm rnorm
Poisson ppois qpois dpois rpois
Student t pt qt dt rt
Studentized Range ptukey qtukey dtukey rtukey
Uniform punif qunif dunif runif
Statistika Komputasi 23 Nanda Arista Rizki, M.Si.
Tabel 2.6 (Lanjutan)
Distribusi Fungsi
Weibull pweibull qweibull dweibull rweibull
Wilcoxon Rank Sum Statistic pwilcox qwilcox dwilcox rwilcox
Wilcoxon Signed Rank Statistic psignrank qsignrank dsignrank rsignrank
Berbeda dengan R, fungsi distribusi untuk software Octave diakhiri oleh salah
satu dari kata berikut:
• ”pdf” untuk fungsi kepadatan atau fungsi peluang massa
• ”cdf” untuk fungsi distribusi kumulatif atau cumulative distribution function
(cdf)
• ”inv” untuk invers dari cdf
• ”rnd” untuk suatu peubah acak yang memiliki distribusi yang spesifik.
Perhatikan Tabel 2.7.
Tabel 2.7: Fungsi Distribusi untuk Octave
Distribusi Fungsi
Beta betapdf betacdf betainv betarnd
Binomial binopdf binocdf binoinv binornd
Cauchy cauchy pdf cauchy cdf cauchy inv cauchy rnd
Chi-Square chi2pdf chi2cdf chi2inv chi2rnd
Univariate Discrete discrete pdf discrete cdf discrete inv discrete rnd
Empirical empirical pdf empirical cdf empirical inv empirical rnd
Exponential exppdf expcdf expinv exprnd
F fpdf fcdf finv frnd
Gamma gampdf gamcdf gaminv gamrnd
Geometric geopdf geocdf geoinv geornd
Hypergeometric hygepdf hygecdf hygeinv hygernd
Statistika Komputasi 24 Nanda Arista Rizki, M.Si.
Tabel 2.7 (Lanjutan)
Distribusi Fungsi
Laplace laplace pdf laplace cdf laplace inv laplace rnd
Logistic logistic pdf logistic cdf logistic inv logistic rnd
Log-Normal lognpdf logncdf logninv lognrnd
Univariate Normal normpdf normcdf norminv normrnd
Pascal nbinpdf nbincdf nbininv nbinrnd
Poisson poisspdf poisscdf poissinv poissrnd
Standard Normal stdnormal pdf stdnormal cdf stdnormal inv stdnormal rnd
t (Student) tpdf tcdf tinv trnd
Univariate Discrete unidpdf unidcdf unidinv unidrnd
Uniform unifpdf unifcdf unifinv unifrnd
Weibull wblpdf wblcdf wblinv wblrnd
Latihan 7:
1. Perhatikan fungsi peluang berdistribusi Hipergeometrik berikut.
P (k,K, n,N) =
(Kk
)(N−Kn−k
)(Nn
)Buatlah sintaks dalam bentuk fungsi yang dapat menghitungnya dengan meng-
gunakan software Octave dan R!
2.4 Uji Hipotesis
Gunakan statistik uji berikut dalam pengujian hipotesis awal bahwa rata-rata po-
pulasi sama dengan µ0.
t(x̄, µ0, s, n) =x̄− µ0
s/√n, (2.1)
dengan x̄, s, dan n masing-masing adalah rata-rata sampel, deviasi standar, dan
ukuran sampel.
Statistika Komputasi 25 Nanda Arista Rizki, M.Si.
Diberikan dua sampel (saling bebas) dengan ukuran yang sama. Jika diasum-
sikan bahwa variansi keduanya sama, maka gunakan statistik uji berikut dalam
pengujian hipotesis awal bahwa kedua rata-rata dari sampel tersebut adalah sama.
t(X̄1, X̄2, sp, n) =X̄1 − X̄2
sp√
2/n, (2.2)
dengan
sp(s1, s2) =
√s21 + s22
2.
Dalam hal ini peubah X̄1, X̄2, sp, n, s1, dan s2 masing-masing adalah rata-rata
sampel pertama, rata-rata sampel kedua, deviasi standar bersama, ukuran sampel,
deviasi standar dari sampel pertama, dan deviasi standar dari sampel pertama.
Diberikan dua sampel berpasangan. Misalkan X̄D adalah rata-rata dari selisih
sampel pertama dan sampel kedua. Gunakan statistik uji berikut dalam pengujian
hipotesis awal bahwa kedua rata-rata dari sampel tersebut adalah sama.
t(X̄D, sD, n) =X̄D
sD/√n, (2.3)
dengan sD, dan n masing-masing adalah deviasi standar dari selisih antar kedua
sampel dan ukuran dari sampel.
Latihan 8:
1. Buatlah sintaks fungsi berikut dengan menggunakan software Octave dan R:
(a) statistik uji t satu sampel (Persamaan 2.1)
(b) statistik uji t dua sampel bebas (Persamaan 2.2)
(c) statistik uji t dua sampel berpasangan (Persamaan 2.3).
Statistika Komputasi 26 Nanda Arista Rizki, M.Si.
BAB 3
Instalasi Paket
3.1 Octave Packages
Semua paket-paket Octave dapat diunduh secara gratis di situs resminya, yaitu
https://octave.sourceforge.io/packages.php. Jika ingin mengunduh langsung dari
situs tersebut melalui Command Window, maka gunakan sintaks berikut:
1 # format sintaks: "pkg install −forge nama paket"
2 >> pkg install −forge statistics # mengunduh paket statistics
Misalkan telah diunduh paket ’statistics’ dengan versi 1.3.0, lalu ingin meng-install
secara manual, maka gunakan sintaks berikut.
1 >> pkg install C:\statistics−1.3.0.tar.gz
Jika suatu paket memerlukan paket lain untuk di-install, maka paket lain tersebut
harus di-install terlebih dahulu demi kelancaran dalam penggunaan fungsi-fungsi
dalam paket yang digunakan. Misalkan paket ’statistics’ memerlukan paket ’io’,
maka install dengan menggunakan sintaks berikut.
1 >> pkg install −forge io
27
Namun jika ingin mengabaikan peringatan bahwa harus meng-install paket lain,
maka tambahkan ’-nodeps’ dalam perintah install. Perhatian bahwa pilihan ini
tidak dianjurkan.
1 >> pkg install −nodeps −forge statistics
Terakhir, jika ingin menghapus paket ’statistics’ dari Octave, gunakan sintaks berikut.
1 >> pkg uninstall statistics
2 >> # atau
3 >> pkg uninstall −nodeps statistics
Jika ingin mengecek paket-paket yang telah di-install dalam software Octave,
maka gunakan sintaks berikut.
1 >> pkg list # daftar paket yang telah diinstall
Jika ingin memperbaharui paket yag tersedia, maka gunakan sintaks berikut.
1 >> pkg update
2 >> # Cek kembali dengan sintaks pkg list
3 >> pkg list
Lebih detail mengenai semua paket yang ter-install, gunakan sintaks berikut.
1 >> installed packages = pkg ("list")
Setelah mengetahui cara meng-install paket, maka selanjutnya adalah cara
menggunakan paket tersebut. Misalkan ingin menggunakan paket ’statistics’, maka
gunakan sintaks berikut.
1 >> pkg load statistics # load paket statistics
2 >> # jika tidak menggunakan paket ini, maka ganti menjadi unload
3 >> pkg unload statistics # unload paket statistics
Statistika Komputasi 28 Nanda Arista Rizki, M.Si.
Lebih lanjut mengenai fungsi pkg, dapat menggunakan sintaks berikut.
1 >> help pkg
3.2 R Packages
Berikut adalah sintaks untuk mengecek semua paket yang telah di-install.
1 > library()
Jika ingin melihat semua paket yang saat ini termuat, maka gunakan sintaks berikut.
1 > search()
Untuk meng-install suatu paket tertentu (misal ggplot2), gunakan sintaks berikut.
1 > # install.packages("nama paket")
2 > install.packages("ggplot2")
Sedangkan untuk menggunakan paket tersebut, gunakan sintaks berikut.
1 > # library(nama paket)
2 > library(ggplot2)
Jika ingin memperbaharui paket yang lama, maka perhatikan sintaks yang telah
dijelaskan pada materi sebelumnya (lihat hal. 2).
Statistika Komputasi 29 Nanda Arista Rizki, M.Si.
Daftar Pustaka
1. Eaton, J.W., Bateman, D., Hauberg, S., and Wehbring, R. (2016). GNU
Octave version 4.2.0 manual: a high-level interactive language for numerical
computations. Retrieved from http://www.gnu.org/software/octave/doc/interpreter/
2. R Core Team. (2015). R: A language and environment for statistical com-
puting. R Foundation for Statistical Computing, Vienna, Austria. Retrieved
from http://www.R-project.org/
30