Pengantar Praktis Pemrograman
Pengantar Praktis Pemrograman
Oleh:
i
Pengantar Praktis Pemrograman R
untuk Ilmu Komputer
Oleh:
Dr. Widodo Budiharto, S.Si., M.Kom
Ro’fah Nur Rachmawati, S.Si., M.Si
Editor: Widodo B.
Desain: Catur S.
ISBN:
Penerbit
Halaman Moeka Publishing
Jl. Manggis IV, No. 2 RT/RW 07/04
Tanjung Duren Selatan
Grogol Petamburan, Jakarta Barat
Blog: http://halamanmoeka.blogspot.com
ii
Kata Pengantar
iii
yang berhubungan dengan R dan Teknoogi Informasi serta
masukan mengenai buku ini dapat menghubungi:
iv
Daftar Isi
v
7.2 Risk Theory ........................................................................... 52
7.3 Simulasi Compound Hierarchical Model .............................. 54
7.4 Credibility Theory ................................................................. 55
vi
Pengantar Praktis Pemrograman R
Bab 1
Pengantar Bahasa R
1.1 Pendahuluan
Perkembangan Teknologi Informasi berdampak positif
pada berkembangnya berbagai peranti lunak pengolah data.
Secara umum, ada beberapa kategori software analisis data,
yang bersifat komersil seperti SPSS dan SAS, serta bersifat
open source seperti R. R adalah bahasa pemrograman open
source yang berhubungan dengan komputasi dan
pengolahan data untuk Statistika dan yang berhubungan
dengan penampilan grafik menggunakan tools yang
disediakan oleh paket-paketnya yang sangat berguna di
dalam penelitian dan industri. Versi awal dari R dibuat pada
tahun 1992 di Universitas Auckland, New Zealand oleh Ross
Ihaka dan Robert Gentleman.
Pada saat ini, source code kernel R dikembangkan
terutama oleh R Core Team yang beranggotakan 17 orang
1.2 Memulai R
Setelah proses instalasi berjalan sukses, langkah
berikutnya memulai R ialah mengetikkan beberapa fungsi
dasar pada konsol, berikut contoh untuk mengetahui
informasi cara citasi menggunakan fungsi citation() yang
harus diketikkan sebagai berikut :
> citation()
Hasilnya sebagai berikut:
> a+1
[1] 2 3 4 5 6
[1] 3
> var(a)
Latihan:
1. Sebutkan kemampuan metode-metode Statistika apa
yang didukung oleh R
2. Buatlah program untuk menyimpan 3 buah data pada 3
buah variabel x,y,z.
3. Buatlah program untuk menampilkan grafik dari 2Cosx
4. Jalankan program GUI sederhana bernama R
Commander yang terdiri dari Library R commander.
Untuk menginstal R commander, setelah mengunduh
Rcmdr, maka pilih menu Packages, pilih Install
package(s).
Bab 2
Entri Data pada R
Andi 98 76 97 99
Tina 67 56 77 77
Chytia 98 57 88 68
ike 67 89 99 69
Shodiq 67 56 78 87
Latihan
1. Jelaskan mengenai correlation matrix dan linear
regression.
2. Analisa data set percobaan anda menggunakan
correlation matrix dan linear regression menggunakan
R Commander seperti gambar berikut:
Bab 3
Pemrograman Dasar R
Menggabungkan Data
Untuk memasukkan beberapa data numeric ke suatu
variabel bernama Nilai, dapat digunakan fungsi c
(concantenate) sebagai berikut:
>Nilai <-c(88,66,99,56,78)
> Nilai
[1] 88 66 99 56 78
[1] 88 66 99
> sum(Nilai)
[1] 387
Membuat Matriks
Matriks adalah data dua dimensi dimana sebagian
besar fungsi‐fungsi statistik dalam R dapat dianalisis dengan
menggunakan bentuk matriks. Bentuk matriks ini juga
banyak digunakan pada operasi fungsi‐fungsi built‐in untuk
aljabar linear dalam R, seperti untuk penyelesaian suatu
persamaan linear. Argumen yang diperlukan adalah
elemen‐elemen dari matriks, dan argumen optional yaitu
banyaknya baris dan banyaknya kolom. Berikut contohnya:
>matriks.1 = matrix(c(1,2,3,4,5,6),nrow=2,ncol=3)
> matriks.1
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> data=c(6,2.8,7.1,5.3,7.6,9)
> matriks.z=matrix(data,nrow=3,ncol=2,byrow=T)
> matriks.z
[,1] [,2]
[1,] 6.0 2.8
[2,] 7.1 5.3
[3,] 7.6 9.0
> DataMat<-matrix(nrow=8,ncol=4)
> DataMat
[,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA NA NA NA
[4,] NA NA NA NA
[5,] NA NA NA NA
[6,] NA NA NA NA
[7,] NA NA NA NA
[8,] NA NA NA NA
> a=matrix(c(7,4,5,8,7,8),2,3)
>a
[,1] [,2] [,3]
[1,] 7 5 7
[2,] 4 8 8
> A=c(1:15)
>A
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
> length(A)
[1] 15
>A[c(3,7)] # menampilkan elemen ke 3 dan 7
[1] 3 7
>mode(A)
[1] "numeric" # mode data numeric
matriks.1=matrix(1:9,3)
>
dataframe.1=data.frame(nomer=1:4,nama=c("Widodo","B
udi","Tina","Dony"), nilai=7:10)
> matriks.1
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
Latihan :
1. Buatlah program R ang menerapkan list() dan
cbind()
2. Buatlah contoh data 5x5 menggunakan matriks.
3. Lakukan import data Ms. Excel menggunakan
tools R Commander seperti gambar berikut:
Bab 4
Pemrograman Grafik R
>plot(pressure)
Latihan:
1. Berikan contoh penerapan fungsi lines() untuk
membuat garis, boxplot() dan pie().
2. Buatlah grafik yang menampilkan berbagai bentuk
sebagai berikut:
par(mfrow=c(3, 2))
# Scatterplot
x <- c(0.5, 2, 4, 8, 12, 16)
y1 <- c(1, 1.3, 1.9, 3.4, 3.9, 4.8)
y2 <- c(4, .8, .5, .45, .4, .3)
par(las=1, mar=c(4, 4, 2, 4))
plot.new()
plot.window(range(x), c(0, 6))
lines(x, y1)
lines(x, y2)
points(x, y1, pch=16, cex=2)
points(x, y2, pch=21, bg="white", cex=2)
par(col="grey50", fg="grey50",
col.axis="grey50")
axis(1, at=seq(0, 16, 4))
axis(2, at=seq(0, 6, 2))
axis(4, at=seq(0, 6, 2))
box(bty="u")
mtext("Travel Time (s)", side=1, line=2,
cex=0.8)
mtext("Responses per Travel", side=2, line=2,
las=0, cex=0.8)
mtext("Responses per Second", side=4, line=2,
las=0, cex=0.8)
text(4, 5, "Bird 131")
par(mar=c(5.1, 4.1, 4.1, 2.1), col="black",
fg="black", col.axis="black")
# Histogram
# Random data
Y <- rnorm(50)
# Barplot
# Modified from example(barplot)
par(mar=c(2, 3.1, 2, 2.1))
midpts <- barplot(VADeaths, col=grey(0.5 +
1:5/12),
names=rep("", 4))
mtext(sub(" ", "\n", colnames(VADeaths)),
at=midpts, side=1, line=0.5, cex=0.5)
text(rep(midpts, each=5), apply(VADeaths, 2,
cumsum) - VADeaths/2,
VADeaths, col=rep(c("white", "black"),
times=2:3, cex=0.8))
par(mar=c(5.1, 4.1, 4.1, 2.1))
# Boxplot
# Modified example(boxplot) - itself from
suggestion by Roger Bivand
par(mar=c(3, 4.1, 2, 0))
boxplot(len ~ dose, data = ToothGrowth,
boxwex = 0.25, at = 1:3 - 0.2,
subset= supp == "VC",
col="grey90",
xlab="",
ylab="tooth length",
ylim=c(0,35))
mtext("Vitamin C dose (mg)", side=1,
line=2.5, cex=0.8)
boxplot(len ~ dose, data = ToothGrowth,
add = TRUE,
boxwex = 0.25, at = 1:3 + 0.2,
# Persp
# Almost exactly example(persp)
x <- seq(-10, 10, length= 30)
y <- x
f <- function(x,y) { r <- sqrt(x^2+y^2);
10 * sin(r)/r }
z <- outer(x, y, f)
z[is.na(z)] <- 1
# 0.5 to include z axis label
par(mar=c(0, 0.5, 0, 0), lwd=0.1)
persp(x, y, z, theta = 30, phi = 30,
expand = 0.5, col = "grey80")
par(mar=c(5.1, 4.1, 4.1, 2.1), lwd=1)
# Piechart
# Example 4 from help(pie)
par(mar=c(0, 2, 1, 2), xpd=FALSE, cex=0.5)
pie.sales <- c(0.12, 0.3, 0.26, 0.16,
0.04, 0.12)
names(pie.sales) <- c("Blueberry",
"Cherry",
"Apple", "Boston Cream", "Other",
"Vanilla")
pie(pie.sales, col =
gray(seq(0.4,1.0,length=6)))
Bab 5
Analisa Statistik R
Call:
aov(formula = sqrt(count) ~ spray, data =
InsectSprays)
Terms:
spray Residuals
Sum of Squares 88.43787 26.05798
Deg. of Freedom 5 66
> summary(aov.spray)
atau
dengan
Y = nilai pengamatan dari peubah atau variabel tak
bebas (response)
> age=18:29
>height=c(76.1,77,78.1,78.2,78.8,79.7,79.9,81.1,81.2,81.
8,82.8,83.5)
> res=lm(height~age)
> res
Call:
Coefficients:
(Intercept) age
64.928 0.635
> abline(res)
Latihan:
1. Jelaskan mengenai regresi linear, dan berikan contoh
penerapan regresi linear pada R
2. Jelaskan dan berikan contoh Analysis of variance
(ANOVA) pada R
3. Pelajari mengenai berbagai macam tabel distribusi pada
R seperti tabel 5.1 di bawah:
hypergeometric hyper m, n, k
Wilcoxon wilcox m, n
Bab 6
Membuat Function
for (i in 1:length(x)) {
y[i] <- 0
...
}
if (x[i] == b) {
y[i] <- 0
...
}
myfun("swallow", "Swal.dat")
myfun("wren", "Wrenn.dat")
myfun("dunnock", "Dunn.dat")
Latihan:
1. Buatlah contoh program pemanggilan fungsi
penghitungan jumlah integral lipat 3.
2. Jalankan program recursive untuk puzzle berikut:
Bab 7
Paket Aktuar
Paket Actuar
Paket aktuar merupakan paket favorit untuk analisa
asuransi/aktuaria. Anda harus mengunduh paket actuar
tersendiri lalu disertakan pada program R seperti pada
petunjuk bagian lampiran 1. Instalasi Program R dan
Actuar. Secara umum paket actuar dapat dipisahkan
menjadi 4 kategori penerapan utama:
> class(x)
[1] "grouped.data" "data.frame"
>x
Group Line.1 Line.2
1 (0, 25] 30 26
2 (25, 50] 31 33
3 (50, 100] 57 31
4 (100, 150] 42 19
5 (150, 250] 65 16
6 (250, 500] 84 11
> x[, 1]
[1] 0 25 50 100 150 250 500
> x[1:3, ]
Group Line.1 Line.2
1 (0, 25] 30 26
2 (25, 50] 31 33
3 (50, 100] 57 31
6 (250, 500] 84 11
> mean(x)
Line.1 Line.2
188.0 108.2
> data("dental")
> dental
> data("gdental")
> gdental
Cj nj
1 (0, 25] 30
2 ( 25, 50] 31
3 ( 50, 100] 57
4 (100, 150] 42
5 (150, 250] 65
6 (250, 500] 84
7 (500, 1000] 45
8 (1000, 1500] 10
9 (1500, 2500] 11
10 (2500, 4000] 3
> knots(Fs)
[1] 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5
[13] 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5
[25] 12.0 12.5 13.0 13.5 14.0 14.5 15.0 15.5 16.0 16.5 17.0 17.5
[37] 18.0 18.5 19.0 19.5 20.0 20.5 21.0 21.5 22.0 22.5 23.0 23.5
[49] 24.0 24.5 25.0 25.5 26.0 26.5 27.0 27.5 28.0 28.5 29.0 29.5
[61] 30.0 30.5 31.0 31.5 32.0 32.5 33.0 33.5 34.0 34.5 35.0 35.5
[73] 36.0 36.5 37.0 37.5 38.0 38.5 39.0 39.5 40.0 40.5 41.0 41.5
[85] 42.0 42.5 43.0 43.5 44.0 44.5 45.0 45.5 46.0 46.5 47.0 47.5
[97] 48.0 48.5 49.0 49.5 50.0 50.5 51.0 51.5 52.0 52.5 53.0 53.5
[109] 54.0 54.5 55.0 55.5 56.0 56.5 57.0 57.5 58.0 58.5 59.0 59.5
[121] 60.0 60.5 61.0 61.5 62.0 62.5 63.0 63.5 64.0 64.5 65.0 65.5
[133] 66.0 66.5 67.0 67.5 68.0 68.5 69.0 69.5 70.0 70.5 71.0
Lampiran 1
Instalasi Program R dan Actuar
Instalasi R
Paket terbaru R yang dapat diiinstal yaitu R 2.15.2 for
Windows dan actuar 1.1.5.
Berikut tampilan proses instalasi R
Installation
============
Usage
=====
GUI:
Instalasi Aktuar
Anda harus meload paket Aktuar dari Program yang
terkoneksi internet. Berikut tampilan instalasi paket actuar:
Daftar Pustaka
Tentang Penulis