Modul Praktikum : STATISTIKA DASAR 1
BAB I
PRAKTIKUM 1: PENGENALAN R
Dalam petunjuk praktikum ini dikenalkan bagaimana menggunakan
paket program R untuk menganalisis data statistika. Untuk menggunakan R
dipilih menu program R sehingga akan muncul prompt > seperti pada
contoh berikut ini :
R version 2.5.1 (2007-06-27)
Copyright (C) 2007 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
[Previously saved workspace restored]
>
Sesudah selesai menggunakan paket program R untuk keluar digunakan
perintah :
> q()
Bila diinginkan untuk membatalkan perintah terakhir maka bias digunakan
perintah CONTROL-C sehingga akan muncul promt > baru.
2 Dr. Adi Setiawan, M. Sc
Bila perintah yang digunakan belum selesai maka R masih akan meminta
perintah tambahan dengan tanda ‘+’.
> q( # perintah yang tidak lengkap
+ ) # prompt lanjutan
Dalam R huruf kecil dan huruf besar diinterpretasikan secara berbeda
sebagai contoh b dan B diinterpretasikan secara berbeda. Huruf c tidak
boleh digunakan karena merupakan perintah dasar dari R yang digunakan
untuk membuat vektor.
Bila ingin mengetahui penggunaan suatu perintah dapat digunakan perintah
help seperti
> help(hist)
yang digunakan untuk mengetahui perintah hist. Untuk memberikan
keterangan dan tanpa mengeksekusi perintah itu digunakan tanda # yang
dalam bahasa pascal digunakan perintah { } atau (* *).
Vektor
Struktur data yang paling sederhana dalam R adalah vector. Suatu vector
adalah suatu obyek tunggal yang merupakan barisan bilangan, teks atau
symbol logika. Suatu vector dengan nama x terdiri dari bilangan-bilangan
10, 5, 3, 6 dapat dibuat dengan fungsi c.
> x <- c(10, 5, 3, 6)
> x
[1] 10 5 3 6
Dalam hal ini digunakan symbol pemberian ‘ <- ‘ yang dalam bahasa Pascal
digunakan tanda ‘ := ‘. Sebarang bilangan dianggap sebagai vector dengan
panjang 1.
> y <- c(x,0.555,x,x)
> y
[1] 10.000 5.000 3.000 6.000 0.555 10.000 5.000 3.000 6.000 10.000
[11] 5.000 3.000 6.000
Modul Praktikum : STATISTIKA DASAR 3
Untuk melakukan pembulatan dapat digunakan perintah round dengan
memberikan control berapa banyak decimal yang diperlukan di belakang
koma seperti pada contoh berikut:
> round(y,1)
[1] 10.0 5.0 3.0 6.0 0.6 10.0 5.0 3.0 6.0 10.0 5.0 3.0 6.0
Perhitungan dengan vector dapat digunakan fungsi berikut ini :
> x
[1] 10 5 3 6
> z <- x*x
> z
[1] 100 25 9 36
Simbol yang digunakan dalam perhitungan adalah +, -, *, / sedangkan
pangkat menggunakan perintah ^. Fungsi standard yang digunakan dalam
R terdapat pada Tabel I.1.
Operasi dua vektor tidak harus mempunyai panjang yang sama seperti
contoh berikut ini :
> x
[1] 10 5 3 6
> a <- sqrt(x) + 1
Tabel I.1 Fungsi standard yang digunakan dalam penghitungan
Nama fungsi Operasi
sqrt
abs
sin cos tan
asin acos atan
sinh cosh tanh
asinh acosh atanh
exp log
log10
gamma lgamma
floor ceiling trunc
round
sign
akar
nilai mutlak
fungsi trigonometri
fungsi hiperbolik
fungsi invers hiperbolik
fungsi eksponensial and logaritma natural
logaritma dengan basis 10
gamma dan fungsi log-gamma
pembulatan ke bawah, pembulatan ke atas
bagian bulat
pembulatan
tanda
4 Dr. Adi Setiawan, M. Sc
Hal ini dapat terjadi karena vektor pada suku kedua mempunyai panjang 1.
Tetapi bila dua vector yang tidak sama panjang dijumlahkan (dioperasikan)
akan terjadi kesalahan dan muncul pesan berikut :
> z <- x + y
Warning message:
longer object length
is not a multiple of shorter object length in: x + y
> z
Untuk menyingkat penulisan seringkali dihilangkan tanda ‘(‘ dan ‘)’
sehingga perlu diperhatikan prioritas pengertian operasi bila dua operasi
digunakan secara berurutan. Tabel I.2 berikut ini dijelaskan tentang operasi
yang digunakan.
Tabel I.2 Urutan prioritas operasi R dari tingkat tinggi ke rendah
Operasi Nama Prioritas
$
[ [[
^
:
* /
+ -
< > <= >= == !=
!
& | && ||
<- ->
Seleksi komponen
Seleksi koordinat
Transformasi pangkat
Barisan
Perkalian dan pembagian
Penjumlahan dan pengurangan
Perbandingan logika
Pengingkaran logika
Dan , atau
Pemberian
TINGGI
.
.
.
.
.
.
.
.
RENDAH
Untuk membuat indeks secara cepat dapat digunakan perintah
> index <- 1:20
> index
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Sebaiknya bila digunakan urutan 20:1 akan memberikan indeks menurun.
Bila diinginkan membuat barisan dengan selisih 0,5 digunakan perintah
Modul Praktikum : STATISTIKA DASAR 5
> u <- seq(-3,3,by=0.5)
> u
[1] -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Cara lain untuk membuat vektor yang sama adalah
> u <- seq(-3,3,length=13)
> u
[1] -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
> u <- (-6):6/2
> u
[1] -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Fungsi rep dapat digunakan untuk mereplikasi suatu vector. Berikut ini
contoh penggunaan fungsi rep.
> rep(1:4,4)
[1] 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
> rep(1:4,rep(4,4))
[1] 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
Vektor logika dan karakter
Di samping koordinat numerik, vektor dapat berisi logika F (FALSE) dan
T (TRUE) atau string karakter. Vektor logika juga dapat dibuat dengan
perintah-perintah berikut:
> x
[1] 10 5 3 6
> y <- x>9
> y
[1] TRUE FALSE FALSE FALSE
Perbandingan logika yang digunakan adalah <, <=, >, >= , == dan !=.
Sedangkan untuk operator logika digunakan &, | dan ! yang berturut-turut
berarti dan, atau serta pengingkaran.
> (3<x) & (x<10)
[1] FALSE TRUE FALSE TRUE
6 Dr. Adi Setiawan, M. Sc
> (!y)
[1] FALSE TRUE TRUE TRUE
Perhatikan perintah-perintah berikut ini dan apa yang terjadi:
> sum(x)
> sum(x>9)
Suatu vektor juga dapat berisi karakter seperti pada contoh berikut ini:
> x <- c("row a", "row b", "row c")
> x
[1] "row a" "row b" "row c"
> letters[1:3]
[1] "a" "b" "c"
> paste("row",letters[1:3])
[1] "row a" "row b" "row c"
Perhatikan perintah-perintah berikut ini dan apa yang terjadi:
> y
[1] TRUE FALSE FALSE FALSE
> mode(y) <- "numeric"
> y
[1] 1 0 0 0
> mode(y) <- "logical"
> y
[1] TRUE FALSE FALSE FALSE
Bila dimiliki data yang tidak lengkap maka pada program R disediakan
simbol ‘NA’ (not available) seperti pada contoh berikut:
> x <- c(NA, 1, 4)
> x
[1] NA 1 4
> x + 1
[1] NA 2 5
> is.na(x)
[1] TRUE FALSE FALSE
Modul Praktikum : STATISTIKA DASAR 7
Bila diinginkan menampilkan nilai x untuk indeks ke-i dapat digunakan x[i]
dan berikut ini beberapa contoh yang lain. Perhatikan apa yang terjadi
dengan perintah-perintah tersebut.
> x <- c(10,5,3,6)
> x
[1] 10 5 3 6
> y <- x>9
> x[y]
[1] 10
> x[x>9]
[1] 10
> x[-(1:2)]
[1] 3 6
> x[x<0] <- 0
> y[y<0] <- -y[y<0]
> x <- numeric(5)
> x
[1] 0 0 0 0 0
*****
8 Dr. Adi Setiawan, M. Sc
BAB II
PRAKTIKUM 2 : PENGENALAN R – LANJUTAN 1
Fungsi
Dalam R dikenal banyak sekali fungsi standard. Di samping itu dapat juga
ditulis fungsi-fungsi sesuai dengan kebutuhan kita. Untuk memanggil
fungsi dapat digunakan perintah berikut ini:
> nama_fungsi(argument_1, argument_2, ….)
Di samping itu untuk fungsi yang tidak mempunyai argumen dapat
dipanggil dengan menggunakan perintah berikut ini:
> nama_fungsi( )
Bila hanya nama fungsi saja yang dipanggil maka ditampilkan perintah-
perintah yang mempunyai definisi dari fungsi tersebut. Argumen dapat
berupa argumen wajib atau argumet optional. Argumen wajib harus
diberikan sedangkan argumen optional tidak harus diberikan. Argumen
optional dapat ditengarai dengan konstruksi nama_argumen = nilai. Sebagai
contoh:
>seq(-3, 3, length=1000)
Mempunyai argumen optional dengan nama ‘length’.
Manipulasi Data
Fungsi
> x
[1] 10 5 3 6
> length(x)
[1] 4
> sum(x)
Modul Praktikum : STATISTIKA DASAR 9
[1] 24
> prod(x)
[1] 900
> max(x)
[1] 10
> min(x)
[1] 3
masing-masing memberikan hasil panjang vektor x, jumlah, produk,
maksimum, minimum dari koordinat-koordinatnya. Di samping itu juga
digunakan perintah:
> sum(x,y)
[1] 96.555
> prod(x,y)
[1] 364135500000
> max(x,y)
[1] 10
> min(x,y)
[1] 0.555
Perhatikan penggunaan perintah berikut ini:
> cumsum(rep(1,10))
[1] 1 2 3 4 5 6 7 8 9 10
Untuk mengurutkan data dapat digunakan perintah sort sedangkan perintah
order digunakan untuk menentukan letak dimana data tersebut diurutkan.
Perhatikan apa yang terjadi bila digunakan perintah berikut ini:
> x[order(x)]
[1] 3 5 6 10
> rev(sort(x))
[1] 10 6 5 3
> rev(x)
[1] 6 3 5 10
10 Dr. Adi Setiawan, M. Sc
Fungsi rank digunakan untuk menghitung nomor rank dari vektor x.
> rank(x)
[1] 4 2 1 3
Perintah unique(x) digunakan untuk menghasilkan koordinat-koordinat
yang berbeda dalam vektor x sedangkan untuk melihat apakah koordinat-
koordinat yang berbeda dalam vektor x sedangkan untuk melihat apakah
koordinatnya terduplikasi digunakan perintah duplicate(x). Perhatikan
apakah yang terjadi dengan perintah-perintah berikut ini:
> diff(x)
[1] -5 -2 3
> diff(x,lag=2)
[1] -7 1
> diff(x, lag=1, differences=2)
[1] 3 5
Beberapa fungsi yang digunakan dalam peringkasan data statistika
dinyatakan pada Tabel II.1.
Dalam R juga disediakan perhitungan fungsi distribusi, fungsi densitas,
fungsi kuantil dan perintah untuk membangkitkan sampel random. Nama-
nama setiap fungsi selalu menggunakan nama sesuai dengan distribusinya
dengan diawali huruf :
p (probability) : fungsi distribusi
d (density) : fungsi densitas
q (quantile) : fungsi kuantil
r (random) : membangkitkan sample random
Modul Praktikum : STATISTIKA DASAR 11
Tabel II.1 Fungsi-fungsi statistika dalam R
Nama Fungsi Operasi
mean(x)
mean(x, trim= )
median(x)
var(x)
mad(x)
range(x)
iqr(x)
skewness(x)
kurtosis(x)
quantile(x,prob)
stem(x)
var(x,y)
cor(x,y)
acf(x,plot=F)
Rata-rata
Rata-rata terpancung (trimmed mean)
Median
Variansi, matriks kovariansi
Median deviasi absolut
Vektor(min(x), max(x))
Jangkauan antar kuartil
Kemencengan
Kurtosis
Kuantil
Stem and leafplot
Covariansi
Koefisien korelasi
Koefisien korelasi parsial
Sebagai contoh untuk distribusi normal digunakan perintah:
> pnorm(x,m,s)
> dnorm(x, m,s)
> qnorm(u,m,s)
> rnorm(n, m, s)
Dalam hal ini m dan s argument optional yang harus diberikan untuk
distribusi normal selain distribusi normal standard. Agumen n dalam rnorm
berarti ukuran sampel yang harus diberikan dan x menyatakan domain dari
fungsi tersebut. Beberapa fungsi yang biasa digunakan dalam teori
probabilitas dan statistika dinyatakan pada Tabel II.2.
12 Dr. Adi Setiawan, M. Sc
Tabel II.2 Tabel fungsi probabilitas yang digunakan dalam R
Kode (dimulai dengan
huruf kecil) distribusi parameter defaults
beta
binom
cauchy
chisq
exp
f
gamma
geom
hyper
lnorm
logis
nbinom
norm
pois
stab
t
unif
weibull
wilcoxon
Beta
Binomial
Cauchy
Chi-kuadrat
Eksponensial
F
Gamma
Geometrik
Hipergeometrik
Lognormal
Logistik
Binomial negatif
Normal
Poisson
Stabil
Student t
Homogen
Weibull
wilcoxon
Shape1, shape2
Size, prob
Location, scale
df
Rate
df1, df2
Shape
Prob
m, n, k
Meanlog, sdlog
Location, scale
Size, prob
Mean, sd
Lambda
Index, skew
df
Shape
m, n
Fungsi sample digunakan untuk melakukan pengambilan perintah dari
populasi yang diberikan dalam x dengan atau tanpa pengembalian. Di
samping itu juga digunakan untuk menghasilkan permutasi. Perhatikan apa
yang terjadi dari perintah-perintah berikut ini:
> sample(x,3)
[1] 6 3 10
> sample(x)
[1] 10 6 5 3
> sample(x,10,replace=T)
[1] 6 3 5 5 5 3 6 10 6 6
Bilangan random dihasilkan dengan menggunakan nilai-nilai yang ada pada
vektor .Random.seed. Perhatikan apa yang terjadi bila digunakan perintah-
perintah berikut:
Modul Praktikum : STATISTIKA DASAR 13
Grafik
Untuk menggambarkan grafik dengan bantuan R terlebih dulu dipanggil
window yang digunakan untuk menggambarkan grafik. Perintah untuk
memanggil window adalah
> win.graph()
Sebagian besar perintah yang digunakan untuk menggambarkan grafik
menggunakan kata plot. Perhatikan perintah-perintah berikut ini dan amati
apa yang terjadi dengan perintah tersebut.
> x <- rnorm(50)
> y <- rnorm(50)
> plot(x,y)
> title("Gambar 1")
Pilihan tipe “l” digunakan untuk menggambar kurva mulus.
u <- seq(0,4*pi,by=0.05)
> v <- sin(u)
> plot(u,v,type="l", ylab="sin")
> title("Gambar 2")
Perintah-perintah lain yang digunakan untuk menggambarkan grafik
histogram, boxplot dan qq-plot adalah sebagai berikut:
> x <- rnorm(50)
> hist(x)
> text(0,5,"Histogram")
> title("Gambar 3")
> boxplot(x, main="Gambar 4", style.bxp="old")
> qqnorm(x)
> title("Gambar 4")
Perhatikan kegunaan perintah-perintah berikut ini:
> x <- rnorm(100)
> range(x)
14 Dr. Adi Setiawan, M. Sc
[1] -1.716844 2.496130
> hist(x, xlim=c(-4,4), xlab=" ", prob=T)
> u <- seq(-4,4,by=0.1)
> lines(u, dnorm(u))
> title("Gambar 6")
Di samping itu dalam satu gambar/window dapat dibuat beberapa macam
grafik dengan memberikan perintah berikut ini:
> par(mfrow=c(2,2))
Yaitu digunakan untuk menggambarkan grafik sebanyak 2 2 dalam satu
window. Tabel berikut ini memberikan daftar argumen optional yang
digunakan dalam menggambarkan grafik.
Tabel II.3 Tabel daftar argumen dalam menggambar grafik
Nama Arti
xlab = “xlabel”
ylab = “ylabel”
xlim=c(l,r)
ylim=c(l,h)
main=”title”
sub=”subtitle”
lty=n
Label pada sumbu-x
Label pada sumbu-y
Range pada sumbu x dari 1 sampai dengan r
Range pada sumbu-y dari1 sampai dengan h
Judul pada bagian atas gambar
Judul pada bagian bawah gambar
Tipe garis : n=1, n=2, 3, ... , putus-putus
Perhatikan fungsi-fungsi yang digunakan untuk membuat plot tingkat
tinggi.
> x <- rnorm(50)
> y <- rnorm(50)
> plot(x,y,type="l")
> boxplot(x)
> qqnorm(x)
> qqplot(x,y)
dan fungsi-fungsi yang digunakan untuk membuat plot tingkat rendah
Modul Praktikum : STATISTIKA DASAR 15
> x <- 1:10
> y <- 5 + 2*x + rnorm(10)
> plot(x,y)
> lines(x,y)
> title("title","subtitle")
> text(x,y)
> points(x,y)
Perhatikan perintah berikut dan amati apa yang terjadi:
> x <- rcauchy
> y <- runif(20)
> plot(x,y,type="p",main="Gambar 7")
> u <- dnorm(seq(-1,1,0.1), 0,0.5)
> z <- outer(u,u)
> persp(z)
> title("Gambar 8")
List
List adalah suatu vektor dimana komponen-komponennya mempunyai tipe
yang mungkin berbeda. Sebagai contoh suatu list dapat terdiri dari vektor
numerik, vektor karakter, list bagian yang lain (sublist) dan suatu fungsi.
Seringkali hasil suatu fungsi standard seperti lsfit berupa suatu list.
Perhatikan contoh berikut ini:
> x <- 1:5
> y <- x + rnorm(5, 0, 0.25)
> z <- lsfit(x,y)
> z
$coefficients
Intercept X
-0.03043427 0.92861917
$residuals
[1] 0.07241504 -0.03093669 -0.04114679 -0.11455651 0.11422495
$intercept
[1] TRUE
16 Dr. Adi Setiawan, M. Sc
$qr
$qt
[1] -6.16131367 2.93655166 -0.07282102 -0.16127321 0.05246578
$qr
Intercept X
[1,] -2.2360680 -6.7082039
[2,] 0.4472136 3.1622777
[3,] 0.4472136 -0.1954395
[4,] 0.4472136 -0.5116673
[5,] 0.4472136 -0.8278950
$qraux
[1] 1.447214 1.120788
$rank
[1] 2
$pivot
[1] 1 2
$tol
[1] 1e-07
attr(,"class")
[1] "qr"
Dalam list z ini komponen pertama terdiri dari matriks ( 1 2 ) yaitu
intercept dan gradien garis yang diperoleh dengan metode kuadrat terkecil.
Komponen-komponen dalam list dapat dipilih dengan cara perintah-
perintah berikut ini.
> z[[1]]
Intercept X
-0.03043427 0.92861917
> z$residuals
[1] 0.07241504 -0.03093669 -0.04114679 -0.11455651 0.11422495
> z$residuals[4]
[1] -0.1145565
Modul Praktikum : STATISTIKA DASAR 17
Suatu list dapat juga dibentuk dengan menggunakan perintah list seperti
pada contoh berikut ini:
> x <- 1:5
> y <- list(bilangan=x, yatidak=T)
> y
$bilangan
[1] 1 2 3 4 5
$yatidak
[1] TRUE
> y$yatidak
[1] TRUE
Fungsi names dapat digunakan untuk memanggil nama-nama komponen
dalam suatu list seperti pada contoh berikut ini dan perhatikan apa yang
terjadi:
> names(y)
[1] "bilangan" "yatidak"
> names(y) <- c("nomor","dimana")
> y
$nomor
[1] 1 2 3 4 5
$dimana
[1] TRUE
*****
18 Dr. Adi Setiawan, M. Sc
BAB III
PRAKTIKUM 3 : PENGENALAN R – LANJUTAN 2
Matriks dan Array
Suatu matriks dapat dibentuk dengan cara berikut ini:
> x <- 1:8
> dim(x) <- c(2,4)
> x
[,1] [,2] [,3] [,4]
[1,] 1 3 5 7
[2,] 2 4 6 8
> x <- matrix(1:8, 2, 4, byrow=F)
> x
[,1] [,2] [,3] [,4]
[1,] 1 3 5 7
[2,] 2 4 6 8
Matriks juga dapat dibentuk dengan menggabungkan sejumlah vektor
seperti pada contoh berikut ini:
> cbind(c(1,2),c(3,4))
[,1] [,2]
[1,] 1 3
[2,] 2 4
Pada matriks dapat dikenakan operasi-operasi seperti pada contoh berikut
ini:
> t(x)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
[4,] 7 8
> apply(x,1,mean)
[1] 4 5
> apply(x,1,min)
Modul Praktikum : STATISTIKA DASAR 19
[1] 1 2
> apply(x,2,min)
[1] 1 3 5 7
Perhatikan perintah-perintah berikut ini dan manfaatnya :
x[subcript]
> x
[,1] [,2] [,3] [,4]
[1,] 1 3 5 7
[2,] 2 4 6 8
> x[1,3]
[1] 5
> x[1,]
[1] 1 3 5 7
> x[,-2]
[,1] [,2] [,3]
[1,] 1 5 7
[2,] 2 6 8
Perhatikan apa yang terjadi dengan perintah-perintah berikut ini:
> x[x>5]
[1] 6 7 8
> x>5
[,1] [,2] [,3] [,4]
[1,] FALSE FALSE FALSE TRUE
[2,] FALSE FALSE TRUE TRUE
Fungsi-fungsi dasar yang dapat digunakan dalam operasi matriks
dinyatakan pada Tabel III.1. matriks merupakan array berdimensi dua.
Operasi-operasi yang dinyatakan dalam array analog dengan operasi yang
digunakan dalam matriks. Di samping itu dalam array juga digunakan
perintah dimnames.
20 Dr. Adi Setiawan, M. Sc
Tabel III.1 Tabel fungsi yang digunakan dalam operasi matriks
Nama fungsi Operasi
ncol(x)
nrow(x)
t(x)
diag(x)
col(x)
row(x)
cbind(x)
rbind(x)
apply(x,1,function)
apply(x,2,function)
%*%
solve(x)
solve(A,b)
backsolve(x)
eigen(x)
chol(x), choleski(x)
qr(x)
svd(x)
cancor(x,y)
var(x)
Banyak kolom matriks x
Banyak baris matriks x
Transpose matriks x
Membuat diagonal matriks dari vektor atau
membentuk vektor diagonal dari suatu matriks
Matriks dari nomor kolom
Matriks dari nomor baris
Membentuk kolom-kolom menjadi matriks
Membentuk baris-baris menjadi matriks
Menggunakan function pada baris
Menggunakan function pada kolom
Perkalian dua matriks
Invers matriks x
Penyelesaian sistem persamaan Ax=b
Penyelesaian sistem persamaan Ax = b
Eigen value matriks x
Dekomposisi choleski
Dekomposisi Q-r
Single value decomposition
Korelasi kanonik
Matriks kovariansi dari kolom
Data-Frames
Elemen-elemen dalam suatu matriks mempunyai mode yang sama
seperti numerik, karakter atau logika. Dalam data.frame secara esensi sama
dengan matriks tapi modenya boleh berbeda. Untuk membuat data.frame
dapat digunakan perintah-perintah berikut ini :
> x <- c("M", "V", "V")
> y <- c(1.79, 1.61, 0.80)
> z <- c(T,F,T)
> data.frame(x,y,z)
x y z
1 M 1.79 TRUE
2 V 1.61 FALSE
3 V 0.80 TRUE
Modul Praktikum : STATISTIKA DASAR 21
Untuk menginputkan data dapat digunakan perintah scan seperti pada
perintah berikut ini:
> x <- scan()
1: 1 2.5 3.14159
4:
Read 3 items
> x
[1] 1.00000 2.50000 3.14159
Input ditutup dengan memberikan perintah ENTER atau CONTROL-D
pada baris terakhir.
Fungsi (function) dan Penulisannya
Paket program R dapat dipergunakan untuk menuliskan fungsi
sesuai yang diperlukan. Suatu fungsi didefinisikan sebagai:
> namafunction(arg1, arg2, ….)
Sebagai contoh fungsi yang sederhana adalah seperti berikut ini:
> sdev <- function(x) sqrt(var(x))
Fungsi yang lebih kompleks adalah seperti berikut ini :
> kurtosis <- function(x)
+ {
+ momen4 <- sum((x-mean(x))^4)/(length(x)-1)
+ momen2 <- var(x)
+ momen4/(momen2)^2
+ }
Untuk mengurangi kesalahan suatu fungsi yang panjang dapat
ditulis terlebih dahulu pada paket programme Notepad. Kemudian di copy
dan paste pada R. Argumen suatu fngsi dapat dibuat default dengan
mengkonstruksikan sebagai arg=nilai defaultnya. Berikut ini diberikan
contoh sederhana untuk argument dengan nilai default yang diberikan:
22 Dr. Adi Setiawan, M. Sc
> pangkat <- function(x, k=2) x^k
Argumen dari suatu fungsi dapat berupa fungsi juga seperti pada contoh
berikut ini:
> rdistribusi <- function(n,qdistribusi)
+ {
+ u <- runif(n)
+ qdistribusi(u)
+ }
> rdistribusi(10,qnorm)
[1] 0.45877543 -0.19533434 -0.56265519 -1.05459945 -1.56913622 1.00979365
[7] -0.09536404 0.35138136 -0.88138298 1.34414808
Bila dalam suatu fungsi argumen lain juga dipanggil maka argumen tersebut
dapat digunakan sebagai argumen fungsi baru:
> rdistribusi <- function(n,qdistribusi,mean=0,sdev=1)
+ {
+ u <- runif(n)
+ qdistribusi(u,mean,sdev)
+ }
> rdistribusi(5,qnorm)
[1] 0.6903357 0.3363833 0.1190270 -0.8405069 0.3977443
> rdistribusi(5,qnorm,4,9)
[1] -0.6533226 8.6679218 3.9715573 11.3001721 0.9985210
Bandingkan dengan perintah berikut ini:
> rdistribusi <- function(n,qdistribusi,...)
+ {
+ u <- runif(n)
+ qdistribusi(u,...)
+ }
> rdistribusi(5,qnorm)
[1] -1.0455267 1.2971647 0.5127966 -1.3870356 0.3416456
> rdistribusi(5,qnorm,4,9)
[1] -1.7599860 7.2318806 1.0208494 -8.1862164 -0.6134958
> rdistribusi(5,qpois,2)
[1] 0 5 0 1 2
Modul Praktikum : STATISTIKA DASAR 23
Statemen if dapat digunakan dengan aturan
> if (condition) expression1
> if (condition) expression1 else expression2
Contoh berikut ini gambaran penggunaan if.
> y <- numeric(10)
> x <- runif(10,-1,1)
> if( any(x <= 0) ) y <- log(1+x) else y <- log(x)
> y
[1] 0.1962733 -1.5584267 -0.3828144 -1.9915418 -2.8999708 0.2362400
[7] -0.4633432 0.6365333 -0.8945111 -0.9133094
Bila digunakan untuk operasi loop maka aturan penggunaan for adalah:
> for (nama in nilai-nilai) expression
Berikut ini contoh penggunaan for:
> x <- y <- NULL
> x
NULL
> for (i in 1:10) { x <- c(x,i); y <- c(y,0) }
> x
[1] 1 2 3 4 5 6 7 8 9 10
> y
[1] 0 0 0 0 0 0 0 0 0 0
Sebagai pengganti statemen for dapat digunakan statemen while yang
mempunyai aturan penggunaan:
> while (condition) expression
Contoh berikut ini memberikan ilustrasi kapan perintah while digunakan:
> x <- numeric(10)
> x
[1] 0 0 0 0 0 0 0 0 0 0
24 Dr. Adi Setiawan, M. Sc
> i <- 0
> while (i < 10)
+ {
+ i <- i + 1
+ x[i] <- i
+ }
> x
[1] 1 2 3 4 5 6 7 8 9 10
Bandingkan dengan perintah berikut ini:
> x <- 1:10
> x
[1] 1 2 3 4 5 6 7 8 9 10
Di samping itu dapat juga dipergunakan perintah repeat yang mempunyai
aturan penggunaan:
> repeat
{
……
}
if (condition) break
………
}
Gunakan perintah repeat yang hampir sama penggunaannya dengan
perintah for dan while.
****
Modul Praktikum : STATISTIKA DASAR 25
BAB IV
PRAKTIKUM 4: PERINGKASAN DATA
1. Untuk membangkitkan sampel random ukuran 100 dari distribusi N(0,1)
digunakan perintah:
> x <- rnorm(100)
Bandingkan bedanya cara penggambaran histogram berikut ini:
> hist(x) > hist(x, prob=T)
Berapakah mean, variansi dan simpangan baku dari data x tersebut ?
Berapakah nilai maksimum, nilai minimum dan range-nya ?
Histogram yang digambarkan dapat juga dibandingkan dengan fungsi
densitas N(0,1) dengan perintah berikut :
> u <- seq(-3,3,by=0.01)
> v <- dnorm(u) > hist(x,prob=T,xlim=c(-3,3),ylim=c(0,0.5)) > lines(u,v)
Sampel random dari distribusi N(0,1) dapat diuji kenormalannya dengan
menggunakan metode grafik qqnorm dengan perintah:
> qqnorm(x).
Jika grafik titik-titiknya terletak pada garis diagonal maka berarti sampel
tersebut berdistribusi normal.
Gunakan sampel tersebut untuk membuat boxplotnya dengan menggunakan
perintah:
> boxplot(x)
Dan juga untuk membuat stem and leafplot:
26 Dr. Adi Setiawan, M. Sc
> y <- sort(rond(x,1)) > y > stem(y)
Apa yang dapat anda simpulkan dari stem and leafplot ?
Gunakan ukuran sampel n = 500, 1000 dan 5000 dalam pembangkitan
sampel random dan ulangi langkah-langkah tersebut di atas. Kesimpulan
ada yang bisa diambil ?
Lakukan hal yang analog dengan langkah-langkah di atas untuk sampel
dari distribusi N(2, 9) !
2. Bangkitkan sampel ukuran 30 dari distribusi Cauchy dengan lokasi
pada 0 dan skala 1 yang mempunyai fungsi densitas :
)1(
1)(
2xxf
- < x <
Dengan perintah berikut : > x <- rcauchy(30)
> boxplot(x)
Berapakah median, kuartil pertama, kuartil ketiga serta inter quartile
range dari data tersebut ? Adakah data ektrim dalam sampel tersebut ?
Beri alasan kenapa dalam distribusi cauchy lebih sering muncul data
ekstrim dibandingkan dari data dari distribusi normal ?
3. Buatlah pie chart dengan langkah-langkah berikut ini dan amati apa
yang terjadi dengan langkah-langkah tersebut:
> 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 Cream") > pie(pie.sales) # default colours > pie(pie.sales,
col = c("purple", "violetred1", "green3", "cornsilk", "cyan", "white")) > pie(pie.sales, col = gray(seq(0.4,1.0,length=6))) > pie(pie.sales, density = 10, angle = 15 + 10 * 1:6) > pie(pie.sales, clockwise=TRUE, main="pie(*, clockwise=TRUE)")
4. Buatlah vektor x yang terdiri dari bilangan 23, 0.1, -5 dan 637.
Modul Praktikum : STATISTIKA DASAR 27
5. Tambahkan bilangan 0.1 pada vektor x dengan menggunakan fungsi
append. Gunakan cara yang lain untuk mendapatkan hasil yang sama.
6. Urutkan vektor x dan simpanlah hasilnya sebagai vektor dengan nama y.
*****
28 Dr. Adi Setiawan, M. Sc
BAB V
PRAKTIKUM 5 : PROBABILITAS
1. Suatu fasilitas produksi mempekerjakan 20 orang karyawannya pada shift
pagi, 15 karyawan pada shift sore dan 10 orang karyawan pada shift
malam. Seorang konsultan control mutu ingin memilih 6 orang karyawan
untuk suatu wawancara. Misalkan pemilihan ini dilakukan sedemikian
rupa sehingga kelompok 6 orang tertentu tersebut memiliki kesempatan
yang sama untuk terpilih seperti hanya kelompok lainnya, tentukanlah:
a. Probabilitas bahwa 6 karyawan yang terpilih seluruhnya berasal dari
shift pagi.
b. Probabilitas bahwa 6 karyawan yang terpilih seluruhnya berasal dari
shift yang sama.
c. Probabilitas bahwa 6 karyawan yang terpilih sekurang-kurangnya
berasal dari dua shif yang berbeda.
d. Gunakan paket program R untuk membantu menghitung nilai
probabilitasnya.
2. Sebuah variabel random kontinu X dikatakan mempunyai distribusi
seragam jika mempunyai fungsi kepadatan probabilitas:
f(x) = 1/(b-a) untuk a < x < b
Misalkan dipilih a = 0 dan b = 5. Untuk melakukan pendekatan mean
dan variansinya dengan bantuan R dapat digunakan langkah-langkah
berikut:
> x <- runif(1000,0,5)
> mean(x)
> var(x)
Ulangi langkah-langkah di atas dengan ukuran sampel yang berbeda
yaitu 5000, 10000 dan 50000. Kesimpulan apakah yang dapat anda
peroleh ?
Modul Praktikum : STATISTIKA DASAR 29
3. Pelemparan sebuah dadu sebanyak 1000 kali dapat disimulasikan
sebagai berikut:
> lempar.satudadu <- function(n)
{
z <- 1:6
hasil <- sample(z,n,replace=T)
return(hasil)
}
> x <- lempar.satudadu(1000)
Tabel distribusi frekuensinya dari eksperimen tersebut dan fungsi
probabilitasnya dapat dinyatakan dengan menggunakan perintah:
> table(x)
> table(x)/1000
Mean dan variansi dari distribusi dari pelemparan dadu dapat didekati
dengan mean dan variansi sampelnya yaitu dengan perintah:
> mean(x)
> var(x)
Ulangi langkah-langkah tersebut di atas dengan menggunakan ukuran
sampel yang berlainan yaitu 5000, 10000 dan 50000 kali. Kesimpulan
apa yang dapat anda ambil ?
4. Pelemparan dua dadu sebanyak 1000 kali dapat disimulasikan sebagai
berikut:
lempar.duadadu <- function(n)
{
z <- c(rep(2,1), rep(3,2), rep(4,3), rep(5,4), rep(6,5), rep(7,6),
rep(8,5), rep(9,4), rep(10,3), rep(11,2), rep(12,1))
hasil <- sample(z,n,replace=T)
return(hasil)
}
> x <- lempar.duadadu(1000)
30 Dr. Adi Setiawan, M. Sc
Tabel distribusi frekuensinya dari eksperimen tersebut dan fungsi
probabilitasnya dapat dinyatakan dengan menggunakan perintah:
> table(x)
> table(x)/1000
Mean dan variansi dari distribusi dari pelemparan dadu dapat didekati
dengan mean dan variansi sampelnya yaitu dengan perintah:
> mean(x)
> var(x)
Ulangi langkah-langkah tersebut di atas dengan menggunakan ukuran
sampel yang berlainan yaitu 5.000, 10.000 dan 50.000 kali.
Kesimpulan apa yang dapat anda ambil ?
*****
Modul Praktikum : STATISTIKA DASAR 31
BAB VI
PRAKTIKUM 6: DISTRIBUSI PROBABILITAS DISKRIT
1. Untuk membangkitkan sampel ukuran 1000 dari distribusi Bernoulli
dengan p = 0,3 dapat digunakan perintah:
> x <- rbinom(1000,1,0.3)
Dalam sampel tersebut berapa banyaknya 1 atau ‘sukses’ ?
Hal itu berarti berapa probabilitas mendapatkan ‘sukses’ dalam sampel
tersebut ?
Ulangi cara di atas untuk ukuran sample 5.000, 10.000 dan 50.000.
Kesimpulan apa yang dapat anda ambil ?
Berapakah nilai mean dan variansinya? Bandingkan hasilnya dengan nilai
teoritis dari mean dan variansi distribusi Bernoulli!
2. Pada distribusi Binomial dengan n = 5, p = 0.25, untuk mendapatkan P(X
= 0) dalam R dapat digunakan perintah :
> dbinom(0, 5, 0.25)
Demikian juga berturut-turut dapat ditentukan P(X=1), P(X=2) dan
P(X=3)
> dbinom(1, 5, 0.25)
> dbinom(2, 5, 0.25)
> dbinom(3, 5, 0.25)
Sedangkan untuk mendapatkan P(X ≤ 1), P( X ≤ 2) dan P(X ≤ 3) dapat
digunakan perintah :
> pbinom(1, 5, 0.25)
> pbinom(2, 5, 0.25)
> pbinom(3, 5, 0.25)
32 Dr. Adi Setiawan, M. Sc
Akibatnya untuk mendapatkan P(X=2) dan P(X=3) dapat juga digunakan
perintah :
> pbinom(2,5,0.25) – pbinom(1, 5, 0.25)
> pbinom(3, 5, 0.25) – pbinom(2,5, 0.25)
3. Untuk membangkitkan sample ukuran 1000 dari distribusi Binomial
dengan parameter n = 5 dan p = 0,3 dapat digunakan perintah:
> x <- rbinom(1000,5,0.3)
Berapakah nilai mean dan variansinya? Bandingkan hasilnya dengan nilai
teoritis dari mean dan variansi distribusi Binomial! Ulangi hal tersebut
untuk ukuran sample 5.000, 10.000 dan 50.000. Kesimpulan apakah yang
dapat diambil ?
4. Ulangi cara-cara yang analog untuk distribusi Geometrik, Binomial
Negatif, Hipergeometrik dan Poisson.
*****
Modul Praktikum : STATISTIKA DASAR 33
BAB VII
PRAKTIKUM 7: DISTRIBUSI PROBABILITAS KONTINU
1. Misalkan variabel random X berdistribusi Poisson dengan mean 3.
Probabilitas bahwa terdapat 5 partikel yang terdeteksi dalam suatu
pengukuran yaitu P(X =5) dapat ditentukan dengan program R
dengan perintah berikut:
> dpois(5,3)
2. Jumlah pemesanan motor produk nasional di sebuah agen adalah 20
buah per minggunya. Tingkat permintaan rata-rata tersebut relatif
tetap dan pelanggan tidak saling mempengaruhi satu sama lainnya
mengenai kebiasaan belanja mereka.
a. Berapakah probabilitas bahwa lebih dari 20 motor yang
dipesan dalam satu minggu tertentu ?
b. Berapa probabilitas tepat sebanyak 17 motor dipesan dalam
seminggu?
c. Jika saat ini terdapat 22 motor persediaan dan tidak akan ada
lagi yang akan dikirim oleh pabrik pembuatnya sampai awal
minggu berikutnya, berapakah probabilitasnya bahwa agen
tersebut tidak perlu memesan kembali motor tersebut?
(Harinaldi, 2005, hal. 90)
3. Probabilitas P(Z 1,25) dapat ditentukan dengan menggunakan
program R sebagai berikut:
> pnorm(1.25)
Demikian juga P( - 0,38 Z 1,25) = P(Z 1,25) - P(Z < -0,38)
= P(Z 1,25) - P(Z -0,38)
Dapat ditentukan dengan program R dengan perintah berikut:
34 Dr. Adi Setiawan, M. Sc
> pnorm(1.25) – pnorm(-0.38)
Probabilitas P(Z > 0,48) = 1 – P(Z 0,48 ) dapat ditentukan dengan
perintah:
> 1-pnorm(0.48)
4. Misalkan X berdistribusi N(1,25; (0,46)2 ).
Probabilitas P( 1,00 X 1,75) = P(Z 1,75) – P( Z 1,00) dapat
ditentukan sebagai :
> pnorm(1.09) – pnorm(-0.54)
5. Jika mass sebuah bantalan peluru (ball bearing) yang diproduksi
suatu pabrik memiliki distribusi normal dengan mean 0,614 kg dan
deviasi standard 0,0025 kg, tentukan persentase banyaknya bantalan
peluru yang memiliki massa :
(a) antara 0,610 sampai 0,618 kg,
(b) lebih berat dari 0,617 kg,
(c) kurang dari 0,608 kg (Harinaldi, 2005, hal 111).
6. Buktikan bahwa jika X adalah variabel acak kontinu yang
terdistribusi secara normal dengan parameter dan maka variabel
acak kontinu Y = aX + b juga terdistribusi secara normal dan
kemudian tentukan :
a. E(Y) dan V(Y)
b. Jika diukur dalam derajat Celcius suatu temperature proses
kimia terdistribusi secara normal dengan mean 115 dan
deviasi standard 2, bagaimanakah distribusi temperatur
tersebut jika dinyatakan dalam derajat Fahrenheit ?
(Harinaldi, 2005, hal 111)
Modul Praktikum : STATISTIKA DASAR 35
BAB VIII
PRAKTIKUM 8 : DISTRIBUSI SAMPLING
1. Pipa api untuk broiler yang dimanufaktur oleh sebuah perusahaan
memilikidaya tahan rata-rata 8000 jam pemakaian dengan deviasi
standard 600 jam. Tentukan probabilitas bahwa suatu sampel acak
yang terdiri dari 16 pipa memiliki usia pakai
a. antara 7900 dan 8100 jam.
b. Kurang dari 7850 jam
c. Lebih dari 8200 jam
d. Agar probabilitasnya tidak kurang dari 90% berapakah
kisaran (range) usia pakai yang direkomendasikan dari
sampel tersebut ? (Harinaldi, 2005, 124)
Pembahasan:
Karena sampel X1, X2, …., Xn yang diambil berasal dari distribusi
normal dengan rata-rata 8000 jam dan deviasi standard 600 jam
maka
a. P( 7900 < X1 < 8100 )
= P( (7900-8000)/600 < Z < (7900-8000)/600 )
= P( (-1/6) < Z < (1/6) )
= 0.1324.
b. P( X1 < 7850 ) = P( Z < (7850-8000)/600 )
= P( Z < 0,25 )
= 0,5987.
c. P( X1 > 8200) = P( Z > (8200-8000)/600 )
= 1 – P( Z < (1/3) )
= 0,3694.
Dengan menggunakan R, dapat digunakan perintah berikut:
> pnorm(1/6) – pnorm(-(1/6))
> pnorm(0.25)
> 1-pnorm(1/3)
36 Dr. Adi Setiawan, M. Sc
2. Cetakan logam produk suatu perusahaan memiliki berat rata-rata
0,5 Newton dan deviasi standard 0,02 Newton. Tentukan
probabilitas bahwa 2 lot produk terdiri dari 1000 cetakan akan
berbeda berat lebih dari 2 Newton (berat container lot diabaikan)
(Harinaldi, 2005, hal 124).
Pembahasan
Misalkan X1, X2, …, X1000 berdistribusi N( 0,5 ; (0,02)2 ) dan Y1,
Y2, …., Y1000 berdistribusi N( 0,5 ; (0,02)2 ). Karena X1, X2, …,
X1000 berdistribusi N( 0,5 ; (0,02)2 ) maka
X = X1 + X2 + …, + X1000
berdistribusi normal dengan mean 500 dan variansi
1000(0,0002) = 2
dan demikian juga karena Y1, Y2, …, Y1000 berdistribusi
N( 0,5 ; (0,02)2 ) maka
Y = Y1 + Y2 + …. + Y1000
berdistribusi normal dengan mean 500 dan variansi 1000(0,0002)
= 2. Akibatnya X – Y akan berdistribusi normal dengan mean 0
dan variansi 4 (atau deviasi standard 2). Akibatnya probabilitas
bahwa 2 lot produk yang terdiri dari 1000 cetakan akan berbeda
berat lebih dari 2 Newton adalah
P( X – Y > 2) = P( Z > (2-0)/2 )
= P( Z > 1)
= 1 - P( Z < 1)
= 0,1587.
Dengan menggunakan program R, hal itu dapat digunakan
perintah :
> 1 - pnorm(1)
3. Kekerasan Rockwell dari sejenis pin logam mempunyai mean 50
dan deviasi standard 1,2.
a. Jika distribusinya adalah normal , berapa probabilitas bahwa
mean kekerasan dari sebuah sampel acak yang terdiri atas 9
pin sekurang-kurangnya 51 ?
Modul Praktikum : STATISTIKA DASAR 37
b. Berapa probabilitas bahwa mean kekerasan dari sebuah
sampel acak yang terdiri atas 40 pin sekurang-kurangnya 51?
(Harinaldi, 2005, hal 124)
Pembahasan:
a. Karena sampel X1, X2, …., X9 berdistribusi normal dengan mean
50 dan deviasi standard 1,2 maka X akan berdistribusi normal
dengan mean 50 dan variansi (1,2)2/9. Akibatnya rata-rata
kekerasan dari sebuah sampel acak yang terdiri dari 9 sekurang-
kurangnya 51 adalah
P( X > 51 ) = P[ Z > (51-50)/(1,2/3) ]
= P[ Z > 2,5]
= 1 – P( Z < 2,5 )
= 0,0062.
b. Karena sampel X1, X2, …., X9 berdistribusi normal dengan mean
50 dan deviasi standard 1,2 maka X akan berdistribusi normal
dengan mean 50 dan variansi (1,2)2/40. Akibatnya probabilitas
bahwa mean kekerasan dari sebuah sampel acak yang terdiri atas
40 pin sekurang-kurangnya 51 adalah
P( X > 51 ) = P( Z > (51-50)/(1,2/40) )
= P[ Z > 5,270463 )
= 1 – P( Z < 5,270463 )
= 6.8040 10-8
Program R dapat digunakan untuk menghitung probabilitas
tersebut
> 1 – pnorm(2.5)
> 1 – pnorm(5.270463)
4. Tugas pertama dalam sebuah kuliah dasar komputer adalah
membuat dan menjalankan sebuah program. Pengalaman
sebelumnya menunjukkan bahwa 40% dari mahasiswa tidak
membuat kesalahan pemrograman (programming error). Jika
kuliah tersebut diikuti oleh 50 mahasiswa, tentukan probabilitas:
38 Dr. Adi Setiawan, M. Sc
a. Sekurang-kurangnya 25 mahasiswa tidak membuat kesalahan
pemrograman.
b. Antara 15 sampai 25 mahasiswa tidak membuat kesalahan
pemrograman (Harinaldi, 2005, hal 124-125).
Pembahasan
a. Karena dimiliki 50 mahasiswa dengan probabilitas mahasiswa
tidak membuat kesalahan adalah 40 % maka probabilitas
sekurang-kurangnya 25 mahasiswa tidak membuat kesalahan
adalah
P(X < 25) = P[ Z < (0,5-0,4)/((0,4)(0,6)/50) ]
= P[ Z < 1,443376 ]
= 0,9255427
b. Karena dimiliki 50 mahasiswa dengan probabilitas mahasiswa
tidak membuat kesalahan adalah 40% maka probabilitas antara
15 dan 25 mahasiswa tidak membuat kesalahan adalah
P( 15 < X < 25)
= P[(0,3-0,4)/((0,4)(0,6)/50) < Z < (0,5-0,4)/((0,4)(0,6)/50) ]
= P[ -1,4434 < Z < 1,4434 ]
= 0,8511.
Berikut ini perintah yang digunakan dalam R:
> pnorm(1.4434)
> pnorm(1.4434)-pnorm(-1.4434)
*****
Modul Praktikum : STATISTIKA DASAR 39
BAB IX
PRAKTIKUM 9 : ESTIMASI
1. Pengukuran temperatur ruang pemanas 5 buah oven sejenis, yang
dilakukan setelah beberapa waktu lamanya pemanasan dilakukan
sampai bacaan tamperatur stabil (sesuai dengan operasi yang di
tetapkan) menunjukkan nilai sebagai berikut (dalam derajat Celsius):
101, 88, 94, 96, dan 103. Estimasi rata-rata ruang pemanas
sesungguhnya (populasi) dari oven temperatur dapat di estimasi dengan
tingkat kepercayaan 95 persen sebagai berikut (Harinaldi, 2005, hal
137) :
05.0%5%951
94,515
)4,96103()4,9696()4,9694(4,9688)4,96101(
4,965
103969488101
22222
s
x
Derajat kebebasan (df) = v = n-1 = 5-1 = 4.
Dari tabel distribusi t diperoleh 776,24,005,0 t .
Estimasi interval mean populasi :
xxx txtx 4,05,04,05,0
96,4-(2,766)(2,66)< x <96,4+(2,766)(2,66)
89,02< x < 103,78.
Dengan paket program R, hal itu dapat dinyatakan dengan:
> x <- c(101, 88, 94, 96, 103)
> mean(x)-qt(0.975,4)*sd(x)/sqrt(5)
[1] 89.0228
> mean(x)+qt(0.975,4)*sd(x)/sqrt(5)
[1] 103.7772
2. Misalkan dimiliki sampel ukuran 40 di bawah ini, akan ditentukan
estimasi interval dengan koefisien kepercayaan 95% untuk rata-rata
populasi :
40 Dr. Adi Setiawan, M. Sc
1174 1256 1514 1326 1210 1521 1154 1179 1166 1247
1375 1235 1137 1120 1232 1271 1259 1082 1145 1245
1264 1274 1058 1135 1027 1171 1170 1192 1101 1151
1128 1250 1015 1059 1073 1143 1029 1020 1058 1018
Langkah-langkah untuk menentukan batas bawah dan batas atas estimasi
interval adalah
> c(1174, 1256, 1514, 1326, 1210, 1521, 1154, 1179, 1166, 1247, 1375, 1235, 1137, 1120, 1232, 1271, 1259, 1082, 1145, 1245, 1264, 1274, 1058, 1135, 1027, 1171, 1170, 1192, 1101, 1151, 1128, 1250, 1015, 1059, 1073, 1143, 1029, 1020, 1058, 1018) > BB <- mean(x)-qnorm(0.975)*sd(x)/sqrt(40) > BB [1] 1142.617 > BA <- mean(x)+qnorm(0.975)*sd(x)/sqrt(40) > BA [1] 1216.583
3. Suatu mesin pengisi gandum dalam kemasan dirancang untuk bekerja
mengisi gandum ke dalam kotak rata-rata sebanyak 25 kg. Suatu
pemeriksaan terhadap 25 gandum menunjukkan bahwa standart deviasi
pengisian gandum adalah 0.0894 kg. Tentukan tingkat kepercayaan
95% untuk variansi populasi dan simpangan baku (standard deviation)
populasi (Harinaldi, 2005, hal 145).
4. a. Tentukan persentil ke-90 dari distribusi chi-kuadrat dengan n = 5.
b. Tentukan persentil ke-10 dari distribusi chi-kuadrat dengan n = 10.
c. P(X < 14,611) dengan variabel random X berdistribusi chi-kuadrat
dengan n = 25.
*****
Modul Praktikum : STATISTIKA DASAR 41
BAB X
PRAKTIKUM 10: UJI HIPOTESIS SATU SAMPEL
1. Misalkan dimiliki sampel ukuran 40 di bawah ini, akan ditentukan uji
hipotesis untuk rata-rata populasi = 1200 :
1174 1256 1514 1326 1210 1521 1154 1179 1166 1247
1375 1235 1137 1120 1232 1271 1259 1082 1145 1245
1264 1274 1058 1135 1027 1171 1170 1192 1101 1151
1128 1250 1015 1059 1073 1143 1029 1020 1058 1018
Langkah-langkah untuk menentukan statistik Z hitung adalah
> c(1174, 1256, 1514, 1326, 1210, 1521, 1154, 1179, 1166, 1247, 1375, 1235, 1137, 1120, 1232, 1271, 1259, 1082, 1145, 1245, 1264, 1274, 1058, 1135, 1027, 1171, 1170, 1192, 1101, 1151, 1128, 1250, 1015, 1059, 1073, 1143, 1029, 1020, 1058, 1018) > Zhitung <- (mean(x)-1200)/(sd(x)/sqrt(40)) > Zhitung [1] -1.081126 > nilai.p <- 2*(1-pnorm(abs(Zhitung))) > nilai.p [1] 0.279641
Apabila digunakan pendekatan distribusi t maka kita bisa meng-
gunakan fungsi standard
> t.test(x,mu=1200) One Sample t-test data: x t = -1.0811, df = 39, p-value = 0.2863 alternative hypothesis: true mean is not equal to 1200 95 percent confidence interval: 1141.433 1217.767 sample estimates: mean of x 1179.6
2. Manajer sebuah peroduk pemasaran sebuah product aditif bahan bakar
mengatakan bahwa jumlah rata-rata produk aktif yang terjual adalah
1500 botol. Seorang karyawan pabrik ingin menguji pernyataan manager
pemasaran itu dengan mengambil sampel selama 36 hari dan dia
42 Dr. Adi Setiawan, M. Sc
mendapati bahwa jumlah penjualan rata-ratanya adalah 1450. Dari
catatan yang ada simpangan baku penjualan adalah 120 botol dengan
menggunakan tingkat kepentingan 0,01, apakah yang bisa ditarik
kesimpulan dari karyawan tersebut ? (Harinaldi, 2005, hal 157)
3. Pemilik sebuah usaha batu granit mengatakan bahwa rata-rata per hari
penambang 4500 kg batu granit dari pertambangan milik perusahaannya.
Seorang investor curiga angka tersebut dibesar- besarkan untuk menarik
investor baru. Kemdian ia mengambil sampel selama 40 hari dan
mendapati bahwa rata rata per hari di dapatkan bahwa nilainya adalah
4460 kg dengan simpangan bakunya adalah 250 kg. Terbuktikah
kecurigaan calon investor tersebut ? (Harinaldi, 2005, hal 159).
*****
Modul Praktikum : STATISTIKA DASAR 43
BAB XI
PRAKTIKUM 11 : UJI HIPOTESIS DUA SAMPEL
1. PT. Ball Bearing memproduksi bantalan-bantalan peluru yang
digunakan pada traktor dan peralatan-peralatan lainnya. Dari suatu
sampel acak yang terdiri dari 16 bantalan peluru yang diproduksi
pada jam kerja shift siang, variansi diameternya adalah 17,39 mm.
Kemudian dari produksi pada jam kerja shift malam dipilih sampel
acak sebanyak 13 dan diukur diameternya memiliki varians 12,83
mm. Dengan menggunakan uji hipotesis pada tingkat kepentingan
0,05 tentukan apakah varians populasi produksi shift siang dan shift
malam sama ?
> n1 <- 16
> n2 <- 13
> s12 <- 17.39
> s22 <- 12.83
> F <- s12/s22
> p.value <- 1-pf(F, n1,n2)
Bagaimana besarnya p.value dibandingkan dengan tingkat kepentingan
0,05 ?
Kesimpulan apa yang dapat diambil ? (Harinaldi, 2005, hal 187).
2. Majalah Fortune mengeluarkan daftar “ Perusahaan yang paling
dikagumi di Amerika”. Maka diambilah suatu sampel acak yang
terdiri dari para eksekutif senior untuk memberikan nilai perangkat
(rating terhadap 10 perusahaan terbesar pada bidang industrinya
berdasarkan atribut-atribut tertentu.
Untuk industri komputer dan peralatan kantor, perusahaan dan nilai
yang diperoleh adalah:
44 Dr. Adi Setiawan, M. Sc
Hewlett Packard 7,34 Apple Computer 6,96
Sun Microsystem 6,86 Compaq Computer 6,53
IBM 6,50 NCR 6,03
Digital Equipment 6,00 Pitney Bowes 5,82
Unisys 3,32 Wang Labs 3,17
Sedangkan untuk industri elektronik, hasilnya sebagai berikut :
General Electric 7,67 Motorolla 7,42
Emerson Electric 7,04 Raytheon 6,48
Cooper Industries 6,33 Whirpool 6,29
Texas Instrument 6,12 Rockwel International 6,05
TKW 6,04 Westinghouse Electric 5,65
Dengan menggunakan tingkat kepentingan 0,05 tentukan apakah
mean populasi untuk nilai peringkat (rating) di industri computer
dan peralatan kantor lebih rendah daripada industri elektronik ?
> x <- c(7.34, 6.68, 6.50, 6.00, 3.32, 6.96, 6.53, 6.03, 5.82, 3.17)
> y <- c(7.67, 7.04, 6.33, 6.12, 6.04, 7.42, 6.48, 6.29, 6.05, 5.65)
> n1 <- length(x)
> n2 <- length(y)
> s12 <- var(x)
> s22 <- var(y)
> F <- s12/s22
> p.value <- 1-pf(F, n1,n2)
> t.test(x,y)
Kesimpulan apa yang dapat diambil dari perhitungan uji t di atas ?
(Harinaldi, 2005, hal 187-188).
3. Penggunaan uji proporsi dapat diberikan pada soal berikut ini :
## Data from Fleiss (1981), p. 139.
## H0: The null hypothesis is that the four populations
from which
## the patients were drawn have the same true
Modul Praktikum : STATISTIKA DASAR 45
proportion of smokers.
## A: The alternative is that this proportion is different
in at
## least one of the populations.
smokers <- c( 83, 90, 129, 70 )
patients <- c( 86, 93, 136, 82 )
prop.test(smokers, patients)
4. Tabel berikut ini menunjukkan modulus elastisitas specimen jenis
kayu tertentu setelah dibebani selama 1 menit dan selama 4 minggu
pada sampel yang sama.
Dengan menggunakan tingkat kepentingan 0,01 apakah terjadi
perubahan pada modulus elastisitas kayu tersebut setelah diberi
pembebanan selama 4 minggu ? (Harinaldi, 2005, hal 188).
Observasi 1 menit 4 minggu
1 10.490 9.110
2 16.620 13.250
3 17.300 14.720
4 15.480 12.740
5 12.970 10.120
6 17.260 14.570
7 13.400 11.220
8 13.900 11.100
9 13.630 11.420
10 13.260 10.910
11 14.370 12.110
12 11.700 8.620
13 15.470 12.590
14 17.840 15.090
15 14.070 10.550
16 14.760 12.230
*****
46 Dr. Adi Setiawan, M. Sc
BAB XII
PRAKTIKUM 12 : ANALISIS VARIANSI
1. Seorang guru SMA mengadakan penelitian tentang keunggulan metode
mengajar dengan beberapa metode pengajaran. Bila data yang didapat
seperti pada tabel di bawah ini, apakah ketiga metode mengajar tersebut
memiliki hasil yang sama ?
Tabel XII.1 Nilai hasil tes berdasarkan metode pembelajaran.
Metode A Metode B Metode C
70 65 76
76 70 87
77 74 78
78 67 77
Dengan paket program R, analisis variansi dapat dilakukan dengan
langkah-langkah:
> nilai <- c(70, 76, 77, 78, 65, 70, 74, 67, 76, 87, 78, 77)
> metode <- c(rep("A",4),rep("B",4), rep("C",4))
> data <- data.frame(metode, nilai)
> data
metode nilai
1 A 70
2 A 76
3 A 77
4 A 78
5 B 65
6 B 70
7 B 74
8 B 67
9 C 76
10 C 87
11 C 78
12 C 77
> hasil <- aov(nilai~ metode,data)
> summary(hasil)
Modul Praktikum : STATISTIKA DASAR 47
Df Sum Sq Mean Sq F value Pr(>F)
metode 2 223.2 111.58 6.209 0.0202 *
Residuals 9 161.8 17.97
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Karena hipotesis yang menyatakan bahwa rata-rata ketiga metode sama
ditolak (nilai-p lebih kecil dari 0,005) maka dilakukan analisis pasca
anava dengan menggunakan metode Scheffe atau metode Tukey.
2. Seorang guru SMA mengadakan penelitian tentang keunggulan metode
mengajar dengan beberapa metode pengajaran. Bila data yang didapat
seperti pada tabel di samping, apakah keempat metode mengajar tersebut
memiliki hasil yang sama ? Jika hipotesis nol ditolak maka lanjutnya
dengan analisis pasca anava.
Metode A Metode B Metode C Metode D
70 65 76 67
76 70 87 66
77 74 78 50
78 67 77 57
67 57 68
89
*****
48 Dr. Adi Setiawan, M. Sc
BAB XIII
PRAKTIKUM 13 : ANALISIS REGRESI LINEAR SEDERHANA
1. Misalkan dimiliki data hubungan antara IP dan IQ mahasiswa
berikut ini.
Mahasiswa 1 2 3 4 5 6 7 8
IQ 110 105 120 130 135 140 140 150
IP 2,4 2 2,5 2,7 3,0 3,1 3,5 3,7
Untuk menggambarkan scatter plot data digunakan langkah-langkah
berikut ini :
> IQ <- c(110, 105, 120, 130, 135, 140, 140, 150) > IP <- c(2.4, 2, 2.5, 2.7, 3.0, 3.1, 3.5, 3.7) > plot(IQ,IP)
Gambar XIII.1 Scatter plot hubungan antara IQ dan IP
Diperoleh scatter plot data yang dinyatakan pada Gambar XIII.1.
Terlihat bahwa beralasan untuk menggunakan hubungan linear
antara IQ dan IP. Langkah-langkah untuk mengestimasi gradien dan
intercept garis regresi linear adalah:
110 120 130 140 150
2.0
2.5
3.0
3.5
IQ
IP
Modul Praktikum : STATISTIKA DASAR 49
> data.ip <- data.frame(IQ,IP) > u <- lm(IP~IQ, data=data.ip) > summary(u) Call: lm(formula = IP ~ IQ, data = data.ip) Residuals: Min 1Q Median 3Q Max -0.20611 -0.09919 -0.04550 0.11996 0.24496 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -1.629856 0.543571 -2.998 0.024057 * IQ 0.034892 0.004195 8.318 0.000164 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.1748 on 6 degrees of freedom Multiple R-squared: 0.9202, Adjusted R-squared: 0.9069 F-statistic: 69.2 on 1 and 6 DF, p-value: 0.0001637
Selanjutnya untuk menggambarkan garis regresinya dapat digunakan
perintah di bawah ini dan hasilnya dapat dilihat pada Gambar XIII.2.
> abline(-1.629856, 0.034892)
Gambar XIII.2 Scatter plot hubungan antara IQ dan IP dengan garis regresinya.
110 120 130 140 150
2.0
2.5
3.0
3.5
IQ
IP
50 Dr. Adi Setiawan, M. Sc
2. Sebuah makalah di Journal of Sound and Vibration Vol. 151, 1991 hal.
383-394 menggambarkan hubungan antara besarnya kebisingan yang
diterima dengan tekanan darah manusia. Data berikut ini dilaporkan
dalam makalah tersebut dengan y menyatakan kenaikan tekanan darah
dalam mm Hg dan x adalah tingkat kekerasan suara dalam desibel (dB).
a. Gambarkan diagram pencarnya (scatter plot).
b. Hitung persamaan regresi dan gambarkan pada diagram pencarnya.
c. Gunakan persamaan regresi untuk memprediksi kenaikan tekanan
darah untuk tingkat kekerasan suara 85 dB.
d. Lakukan uji kemiringan (gradient). Apakah memang terdapat
hubungan yang sebenarnya antara peningkatan tekanan darah dengan
tingkat kekerasan suara untuk tingkat kepentingan (level of
significance) 0,05 ?
e. Hitung koefisien determinasi (Harinaldi, 2005, hal 223).
X Y
1 60
0 63
1 65
2 70
5 70
1 70
4 80
6 90
2 80
3 80
5 85
4 89
6 90
8 90
4 90
5 90
7 94
9 100
7 100
6 100
*****
Modul Praktikum : STATISTIKA DASAR 51
DAFTAR PUSTAKA
[1] Bain, L. J dan M. Engelhardt, 1992, Introduction to Probability
and Mathematical Statistics, Duxbury, Pasific Grove.
[2] Harinaldi, 2005, Prinsip-prinsip Statistik, Penerbit Erlangga,
Jakarta.
[3] Mendenhall, W. dan R. J. Beaver, 1991, Introduction to
Probability and Statistics, PWS-Kent Pub. Co. , Boston.
[4] Ramachandran, K. M., C. P. Tsokos, 2009, Mathematical
Statistics with Applications, Elsevier, Amsterdam.
[5] Ross, S. M., 2013, Simulation, Academic Press, San Diego.
[6] Ross, S. M., 2014, Introduction to Probability Models, Academic
Press, San Diego.
[7] Roussas, 1997, A Course in Mathematical Statistics, Academic
Press, San Diego.
[8] Spiegel, M. R, J. Schiller, R. A. Srinivasan, 2000, Probabilitas
dan Statistik Edisi Kedua (Terjemahan), Penerbit Erlangga,
Jakarta.
[9] Wackerly, D. D, W. Mendenhall III, R. L. Schaeffer, 2008,
Mathematical Statistics with Application, Thomson Brooks/Cole,
Duxbury.
[10] Walpole, R. E., R. H. Meyers, Probability and Statistics for
Engineers and Scientists, Pearson Education, London.
*****