Dasar Pemrograman dengan R
Dasar Pemrograman dengan R
METODE STATISTIK
BAHASA
PEMROGRAMAN R
PERTEMUAN I
DASAR BAHASA R
A. PENDAHULUAN
Software R adalah suatu kesatuan software yang terintegrasi dengan beberapa
fasilitas untuk manipulasi, perhitungan dan penampilan grafik yang handal. R dapat
melakukan import file dari software lainnya seperti, Minitab, SAS, Stat, Systat dan
EpInfo, dll.
Beberapa kelebihan R antara lain sebagai berikut.
1. Dapat digunakan untuk berbagai bidang, mulai dari kalkulasi biasa (seperti
kalkulator), statistik, ekonometri, geografi, hingga pemrograman komputer.
2. Bersifat multiplatform, yakni dapat diinstall dan digunakan baik pada system
operasi Windows, UNIX/LINUX maupun pada Macintosh.
3. Sangat cocok untuk riset, baik statistik,ekonomi, komputasi numerik dan
pemrograman komputer.
4. 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:
Pemodelan matematis (seperti software MATLAB) dalam membentuk
perspektif, cocok jurusan teknik arsitek, sipil, mesin, dan ilmu komputer.
Pencitraan dan analisis kontur, cocok untuk jurusan geografi dan sejenis.
Proses analisis data statistik,dengan tampilan grafik plot yang costumized dan
grafik fungsi densitas yang dapat diparalelkan dengan histogram. Cocok untuk
bidang statistika, ekonomi dan lain lain
Proses model bahasa jepang juga sudah dapat dianalisis dan digambarkan oleh
R.
B. MEMULAI MENGGUNAKAN R
Untuk membuka aplikasi R dapat dilakukan dengan 2 cara yaitu sebagai
berikut.
Cara 1 : Jika terdapat shortcut R pada desktop.
Sedangkan untuk mengakhiri sesi pada R, dapat dilakukan dengan dua cara yaitu
pertama mengklik File Exit R dalam window utama R, kedua dengan
mengklik tanda close pada window R.
R terdiri atas 7 menu utama yaitu : File, Edit, View, Misc, Packages,
Windows, dan Help. R juga menyediakan ikon-ikon yang dapat dimanfaatkan dalam
penggunaan R.
C. BAHASA SOFTWARE R
1. Operator
Tabel 1.1 Beberapa Operator R
Operator Keterangan
+ Penjumlahan
‐ Pengurangan
* Perkalian, biner
/ Pembagian, biner
^ Pangkat, biner
: Rentang, biner
%% Sisa pembagian
%/% Hasil pembagian bilangan bulat
%x% Operator biner khusus, x dapat diganti
%*% Hasil kali matriks, biner
%o% Hasil sebelah luar, biner
%in% Operator cocokan, biner (dalam model bersarang)
= Sama dengan
== Sama dengan, biner (logical)
< Kurang dari, biner
<= Kurang dari atau sama dengan, biner
> Lebih dari, biner
2. Syntax
Tabel 1.2 Beberapa Syntax R
Syntax Keterangan
sum Total Jumlah data
mean Nilai rata-rata
max Nilai maksimum
min Nilai minimum
median Nilai tengah
length Panjang data
range Ukuran data
matrix Matriks
sort Mengurutkan data dari kecil ke besar
rev Membalik urutan data
rep Mengulang data
summary Rangkuman data
hist Membuat grafik histogram
plot Membuat grafik
boxplot Membuat grafik box
diag Diagonal matriks
cbind menghubungkan data berdasarkan kolom
rbind menggabungkan data berdasarkan baris
solve Menginverskan matriks
3. Tipe Data
Dalam R-Programming tipe data dikelompokkan sebagai berikut.
1. Numeric (vektor dan array)
Tipe data numeric berupa angka baik itu double maupun integer.
2. Character
Tipe data character ditadai dengan penulisan diantara tanda petik dua atau satu
berpasangan “” atau ‘’, misalkan “Januari”,”ikan”,’putus cinta’,dan lain-lain.
3. List
Tipe data list adalah tipe data bentuk daftar/list.
4. Logical
Suatu objek/data bertipe logical hanya dapat mempunyai dua nilai yaitu
TRUE dan FALSE, yang menunjukan apakah suatu kondisi terpenuhi atau
tidak.
5. Function
Tipe data function adalah tipe data bentuk fungsi.
Note:
1. Penamaan variabel bersifat case sensitive, artinya R membedakan antara
huruf kapital dan huruf kecil.
2. Perintah dan hasil pada R dapat di copy paste.
D. MENGGUNAKAN R CONSOLE
Program yang digunakan pada modul ini adalah R i386 3.1.3, setelah diinstal
di computer, R dapat dijalankan dan akan ditampilkan worksheet atau R Console
dengan promp >. Perintah diketik setelah tanda >. Untuk membersihkan jendela kerja
R Console dapat dilakukan dengan Ctrl+L atau Edit Clear Console atau klik
kanan pada mouse pilih Clear Window.
1. Penggunaan Operator
Aritmatika Dan Operator Logika
Tabel 1.3 Operator Aritmatika
Operator Keterangan Contoh
+ Penjumlahan > 3+9
[1] 12
- Pengurangan > 8-4
[1] 4
* Perkalian > 7*4
[1] 28
/ Pembagian > 7/28
[1] 0.25
^ Perpangkatan > 3^6
[1] 729
%/% Hasil pembagian > 9%/%4
[1] 2
%% Modulo > 9%%4
[1] 1
> u=2:9
> u
[1] 2 3 4 5 6 7 8 9
> c=7:14
> c
[1] 7 8 9 10 11 12 13 14
> i=u+c
> i
[1] 9 11 13 15 17 19 21 23
> i[2]
[1] 11
> a[5] Modul Praktikum Metode Statistika
[1] 5 Tim Asisten Lab. Komputasi Matematika
> d=a[5]-i[2] 2016
> d
[1] -6
10
2. Penggunaan Syntax
Contoh penggunaan syntax:
> tesa=c(44,65,78,98,60)
> tesa
[1] 44 65 78 98 60
> sum(tesa)
[1] 345
> max(tesa)
[1] 98 > uci2=(tesa/budi)^2
> min(tesa) > uci2
[1] 44 [1] 16.0000000 7.9867675 5.5867769 4.9607438 0.7785467
> length(tesa) > uci2>3
[1] 5 [1] TRUE TRUE TRUE TRUE FALSE
> range(tesa) > uci2<8
[1] 44 98 [1] FALSE TRUE TRUE TRUE TRUE
> median(tesa) > uci[c(1,4,5)]
[1] 65 [1] 4.0000000 2.2272727 0.8823529
> mean(tesa) > uci[c(1,4,5)]+2+1-1
[1] 69 [1] 6.000000 4.227273 2.882353
> seq(1,6,by=2)
> budi=c(11,23,33,44,68)
> budi [1] 1 3 5
[1] 11 23 33 44> 68
seq(1,6,by=1)
> uci=tesa/budi[1] 1 2 3 4 5 6
> uci > seq(1,6,length=1)
[1] 1
[1] 4.0000000 2.8260870 2.3636364 2.2272727 0.8823529
> seq(1,6,length=5)
[1] 1.00 2.25 3.50 4.75 6.00
>
> t=seq(-1,1,by=2)
> t
[1] -1 1
> t=seq(-1,1,by=.2)
> t
[1] -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0
> t[2:6]
[1] -0.8 -0.6 -0.4 -0.2 0.0
> t[c(3,5:10)]
[1] -0.6 -0.2 0.0 0.2 0.4 0.6 0.8
> t[-(5:10)]
[1] -1.0 -0.8 -0.6 -0.4 1.0
> t[-(2:6)]
[1] -1.0 0.2 0.4 0.6 0.8 1.0
> t[t>0]
[1] 0.2 0.4 0.6 0.8 1.0
> letters
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
"n" "o" "p" "q" "r" "s"
[20] "t" "u" "v" "w" "x" "y" "z"
> t
[1] -1.0 -0.8 -0.6 -0.4
Modul-0.2 0.0 Metode
Praktikum 0.2 Statistika
0.4 0.6 0.8 1.0
> names(t)<-letters[1:length(t)]
Tim Asisten Lab. Komputasi Matematika
> names(t)=letters[1:length(t)] 2016
> names(t)
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k"
11
> t
a b c d e f g h i j k
-1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0
> t["f"]
f
0
> c(a=1,b=5,c=9,d=10)
a b c d
1 5 9 10
> s=c(2,3,6:9,9,0,11:18)
> s
[1] 2 3 6 7 8 9 9 0 11 12 13 14 15 16 17 18
> sort(s)
[1] 0 2 3 6 7 8 9 9 11 12 13 14 15 16 17 18
> unique(s)
[1] 2 3 6 7 8 9 0 11 12 13 14 15 16 17 18
> rep(1,5)
[1] 1 1 1 1 1
> rep(1:4,3)
[1] 1 2 3 4 1 2 3 4 1 2 3 4
> rep(1:4,each=2)
[1] 1 1 2 2 3 3 4 4
> rep(1:4,3,each=2)
[1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4
PERTEMUAN 2
VEKTOR DAN MATRIKS
A. VEKTOR
Contoh:
> 1:10
[1] 1 2 3 4 5 6 7 8 9 10
> c(1,2,3,4,5,6,7,8,9,10)
[1] 1 2 3 4 5 6 7 8 9 10
> seq(1:10,by=2)
Error in [Link](1:10, by = 2) : 'from' must be of
length 1
Note : Jika menggunakan perintah seq tak perlu menggunakan operator : (rentang),
karena perintah seq adalah perintah untuk rentang data.
> seq(1,10,by=2)
[1] 1 3 5 7 9
> seq(1,10,length=7)
[1] 1.0 2.5 4.0 5.5 7.0 8.5 10.0
> X=seq(-1,1,by=.1)
> X
[1] -1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0
0.1 0.2 0.3 0.4
[16] 0.5 0.6 0.7 0.8 0.9 1.0
> X=seq(-1,1,by=.2)
> X
[1] -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0
> X=seq(from=1,to=9,by=3)
> X
[1] 1 4 7
> X=seq(from=1,to=9,by=2)
> X
[1] 1 3 5 7 9
> X[5:10]
[1] 9 NA NA NA NA NA
> X[12:1]
[1] NA NA NA NA NA NA NA 9 7 5 3 1
> X[2:2]
[1] 3
> X[c(5,7:10)]
[1] 9 NA NA NA NA
> X>0
[1] TRUE TRUE TRUE TRUE TRUE
> X>3
[1] FALSE FALSE TRUE TRUE TRUE
> X<8
[1] TRUE TRUE TRUE TRUE FALSE
> X[X>0]
[1] 1 3 5 7 9
> names(X)=LETTERS[1:length(X)]
> X
A B C D E
1 3 5 7 9
> names(X)=letters[1:length(X)]
> X
a b c d e
1 3 5 7 9
> names(X)=[Link][1:length(X)]
> X
Jan Feb Mar Apr May
1 3 5 7 9
> names(X)=pi[1:length(X)]
> X
3.14159265358979 <NA> <NA>
<NA>
1 3 5
7
<NA>
9
> tesa=order(X)
> tesa
[1] 9 3 2 7 1 5 4 6 8 10
> d=[Link](X)
> d
[1] 9 3 2 7 1 5 4 6 8 10
> X=sample(1:5,replace=T)
> X
[1] 4 4 5 4 1
> X=sample(1:5,replace=TRUE)
> x
[1] 3 1 5
> unique(X)
[1] 5 3 1
> seq(0,10,length=11)
[1] 0 1 2 3 4 5 6 7 8 9 10
> seq(0,10,length=8)
[1] 0.000000 1.428571 2.857143 4.285714 5.714286
7.142857 8.571429 10.000000
> seq(0,10,by=2)
[1] 0 2 4 6 8 10
> rep(1,10)
[1] 1 1 1 1 1 1 1 1 1 1
> rep(1:5,3)
[1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
> rep(1:6,each=3)
[1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6
> rep(1:6,2,each=4)
[1] 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 1 1
1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6
B. MATRIKS
Matriks adalah bilangan yang disusun dalam baris dan kolom yang dibatasi
oleh kurung siku.
Contoh:
t=matrix(c(3,2,4,5),nrow=2)
> t
[,1] [,2]
[1,] 3 4
[2,] 2 5
> t=matrix(c(2:4),nrow=3,ncol=3)
> t=matrix(c(3,2,4,5),nrow=2)
> t
[,1] [,2]
[1,] 3 4
[2,] 2 5
> t=matrix(c(2:4),nrow=3,ncol=3)
> t
[,1] [,2] [,3]
[1,] 2 2 2
[2,] 3 3 3
[3,] 4 4 4
> t=matrix(c(2:4),nrow=3,ncol=3,byrow=T)
> t
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 2 3 4
[3,] 2 3 4
> t(matrix(2:4,nrow=3,ncol=3))
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 2 3 4
[3,] 2 3 4
> a=matrix(c(1,2,3,4),nrow=2)
> b=matrix(c(4,5),nrow=2)
> a%*%b
[,1]
[1,] 19
[2,] 28
> det(a)
[1] -2
> det(t)
[1] 0
> diag(c(3,2))
[,1] [,2]
[1,] 3 0
[2,] 0 2
> diag(3:7)
[,1] [,2] [,3] [,4] [,5]
[1,] 3 0 0 0 0
[2,] 0 4 0 0 0
[3,] 0 0 5 0 0
[4,] 0 0 0 6 0
[5,] 0 0 0 0 7
> diag(2)
[,1] [,2]
[1,] 1 0
[2,] 0 1
> cbind(c(3,4),c(5,6))
[,1] [,2]
[1,] 3 5
[2,] 4 6
> rbind(c(3,4,2),c(8,9,0))
[,1] [,2] [,3]
[1,] 3 4 2
[2,] 8 9 0
> sum(diag(a))
[1] 5
> solve(a)
[,1] [,2]
[1,] -2 1.5
[2,] 1 -0.5
> t(a)
[,1] [,2]
[1,] 1 2
[2,] 3 4
BAB 3
DATA FRAME
Data frame dianggap sebagai pengembangan dari matriks, data frame juga
memiliki baris dan kolom, bedanya dalam data frame kolom-kolom dapat memiliki
tipe data yang berbeda.
Contoh :
> f=2:6
> a=1:5
> level=c("A","B","C","D","E")
> uci=[Link](Posisi=a,Waktu=f,nilai=level)
> uci
Posisi Waktu nilai
1 1 2 A
2 2 3 B
3 3 4 C
4 4 5 D
5 5 6 E
> uci$Posisi
[1] 1 2 3 4 5
> uci$posisi
NULL
> uci$Waktu
[1] 2 3 4 5 6
> uci$nilai
[1] A B C D E
Levels: A B C D E
>z=matrix(c(2,3,4,1,6,0,8,7,5,9,11,2,3,1,0,0,6,5,3,2,8,
0,1,1,2,1,1,5,7,8,2,3,4,0,2,8,4,3,2,6,7,8,1,3,2,6,9,0,7
,5),nc=10,nr=5)
> length(z)
[1] 50
> z
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 2 0 11 0 8 1 2 8 7 6
[2,] 3 8 2 6 0 1 3 4 8 9
[3,] 4 7 3 5 1 5 4 3 1 0
[4,] 1 5 1 3 1 7 0 2 3 7
[5,] 6 9 0 2 2 8 2 6 2 5
> z<-[Link](z)
> z
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 2 0 11 0 8 1 2 8 7 6
2 3 8 2 6 0 1 3 4 8 9
3 4 7 3 5 1 5 4 3 1 0
4 1 5 1 3 1 7 0 2 3 7
5 6 9 0 2 2 8 2 6 2 5
> [Link](z)<-c("K","L","M","N","O")
> [Link](z)
[1] "K" "L" "M" "N" "O"
> attr(z,"names")<-
c("a","b","c","d","e","f","g","h","i","j")
> attr(z,"names")
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
>z
a b c d e f g h i j
K 2 0 11 0 8 1 2 8 7 6
L 3 8 2 6 0 1 3 4 8 9
M 4 7 3 5 1 5 4 3 1 0
N 1 5 1 3 1 7 0 2 3 7
O 6 9 0 2 2 8 2 6 2 5
> z<-[Link](z)
> z
a b c d e f g h i j
K 2 0 11 0 8 1 2 8 7 6
L 3 8 2 6 0 1 3 4 8 9
M 4 7 3 5 1 5 4 3 1 0
N 1 5 1 3 1 7 0 2 3 7
O 6 9 0 2 2 8 2 6 2 5
> t(z)
K L M N O
a -1.2 -0.2 0.8 -2.2 2.8
b -5.8 2.2 1.2 -0.8 3.2
c 7.6 -1.4 -0.4 -2.4 -3.4
d -3.2 2.8 1.8 -0.2 -1.2
e 5.6 -2.4 -1.4 -1.4 -0.4
f -3.4 -3.4 0.6 2.6 3.6
g -0.2 0.8 1.8 -2.2 -0.2
h 3.4 -0.6 -1.6 -2.6 1.4
i 2.8 3.8 -3.2 -1.2 -2.2
j 0.6 3.6 -5.4 1.6 -0.4
Maka akan ditampilkan tabel Data Editor yang dapat diisi dengan data yang
diinginkan, nama kolom dapat diganti seperti pada gambar.
PERTEMUAN 4
GRAFIK FUNGSI PLOT
> colours()
[1] "white" "aliceblue" "antiquewhite"
[4] "antiquewhite1" "antiquewhite2 " antiquewhite3"
…
[655] "yellow3" "yellow4" "yellowgreen"
> palette()
[1] "black" "red" "green3" "blue" "cyan" "magenta"
"yellow"
[8] "gray"
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 symbol
> plot(cbind(c(1,4,4,1,1),c(1,1,4,4,1)),type="l")
> plot(cbind(c(1,3,5,1),c(1,4,1,1)),type="l")
> u=c(1,2,4,6,3,8,9,4,3,1,6,2,3,5,8,9,11,3,6,7)
> u
[1] 1 2 4 6 3 8 9 4 3 1 6 2 3 5 8 9 11 3 6 7
Modul Praktikum Metode Statistika
> plot(u,main="Grafik Data Pilihan",xlab="Nilai
Tim Asisten Lab. Komputasi Matematika
Data",ylab="Nilai Frekuensi",col="blue")
2016
26
PERTEMUAN 5
HISTOGRAM DAN BOXPLOT
A. HISTOGRAM
Selain plot, bentuk representasi grafis lainnya yang paling mudah digunakan
untuk menggambarkan sebaran data adalah histogram. R menyediakan fasilitas fungsi
histogram yang digunakan untuk mengetahui sebaran sampel suatu data. Sebagai
catatan: histogram ataupun boxplot, digunakan untuk satu variable. Hist adalah
perintah untuk menggambarkan grafik bentuk histogram (diagram batang). Beberapa
penjelasan tentang histogram yaitu:
histogram digunakan untuk mengestimasi fungsi distribusi probabilitas densitas
(probability density function);
f ( x )= lim Prob ( x−δ< X ≤ x)/δ
δ →∞
Contoh:
> u=c(1,2,4,6,3,8,9,4,3,1,6,2,3,5,8,9,11,3,6,7)
> u
[1] 1 2 4 6 3 8 9 4 3 1 6 2 3 5 8 9 11 3 6 7
> hist(u,main="Grafik Data Pilihan",xlab="Nilai
Data",ylab="Nilai Frekuensi",col="magenta")
> u=c(1,2,4,6,3,8,9,4,3,1,6,2,3,5,8,9,11,3,6,7)
> summary(u)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.00 4.50 5.05 7.25 11.00
> fivenum(u)
[1] 1.0 3.0 4.5 7.5 11.0
> stem(u)
0 | 1122333344
0 | 566678899
1 | 1
Pada Gambar 4.16, fungsi hist() menggunakan jarak antar batang (disebut bin)
cukup besar. Untuk membuat bin lebih kecil, diperlukan tambahan atribut dengan
menuliskan:
Pada perintah
di atas, argumen seq(0.2, 12.2, 1.2) adalah histogram menggunakan range
dari 0.2 hingga 12.2 dengan lebar bin 1.2. Sehingga tampilan grafik histogram adalah
Gambar 5.2 di atas menunjukkan lebar batang histogram yang lebih kecil dibanding
Gambar 5.1. Apabila ingin ditambahkan garis pada data densitas, maka dapat
menggunakan fungsi lines() seperti berikut:
Keterangan: bw adalah bandwidth (lebar pita), dengan nilainya berdasarkan trial dan
error.
> rug(u)
PERTEMUAN 6
RAGAM SYNTAX GRAFIK
Contoh:
> [Link]=edit([Link]())
> [Link]
Tahun Konsumsi DataPDB
1 1960 1597.4 1589.3
2 1960 1630.3 1799.9
3 1962 1711.1 2398.9
4 1963 1781.6 2501.8
5 1964 1888.4 2560.0
6 1965 2007.7 2715.2
7 1966 2121.8 2834.0
8 1967 2185.0 2998.6
9 1968 2310.5 3191.1
10 1969 2396.5 3399.1
11 1970 2451.9 3771.9
12 1971 2545.5 3765.4
13 1972 2701.3 4105.0
14 1973 2833.8 4341.5
15 1974 2812.3 4319.6
16 1975 2876.9 4311.2
17 1976 3035.5 4540.9
18 1977 3164.1 4750.5
19 1980 3303.1 5015.0
20 1979 3383.4 5173.4
21 1980 3374.1 5161.7
> str([Link])
'[Link]': 21 obs. of 3 variables:
$ Tahun : num 1960 1960 1962 1963 1964 ...
$ Konsumsi: num 1597 1630 1711 1782 1888 ...
$ DataPDB : num 1589 1800 2399 2502 2560 ...
> attach([Link])
The following objects are masked from [Link] (pos =
3):
Konsumsi, Tahun
Konsumsi, Tahun
> par(mfrow=c(2,2))
> plot(Tahun,Konsumsi)
> plot(Tahun,DataPDB)
> plot(Konsumsi,DataPDB)
PERTEMUAN 7
KONSEP PELUANG
A. PELUANG
1. Pengertian Peluang
Definisi 7.1.1 (Ruang Contoh) :Himpunan dari semua kemungkinan hasil
(outcome) dari suatu percobaan disebut ruang contoh (sample space),
dinotasikan dengan S.
Contoh:
Ismail melempar sebuah uang logam. Ruang sampel = {G, A}. G dan A masing-
masing disebut titik sampel.
n( A) 25 5
P ( A )= = =
n(S ) 40 8
Contoh peluang dari dua percobaan:
Bila dua uang logam identik dilempar, maka tentukan peluang muncul kedua-duanya
gambar!
Jawab:
n(A) =1, n(S) = 4
n( A) 1
P ( A )= =
n(S ) 4
I G A
II
G (G,G) (G,A)
A (A,G) (A,A)
P( A ∩B)
kejadian B telah diketahui terjadi adalah P ( A|B )= ; P ( B )> 0.
P( B)
3. Kejadian Saling Bebas
Jika A adalah suatu kejadian, maka adanya keterangan tentang suatu kejadian
lain, misal kejadian B, dapat memperkecil atau memperbesar atau tidak mengubah
besarnya peluang kejadian A. Jika besarnya peluang kejadian A tidak berubah karena
adanya keterangan bahwa kejadian B telah terjadi, maka A dan B adalah dua kejadian
yang saling bebas.
Definisi 1.6. (Kejadian Saling Bebas) : Kejadian A dan B disebut dua
kejadian yang saling bebas jika dan hanya jika P ( A ∩ B )=P ( A ) P(B).
PERTEMUA 8
VARIABEL ACAK
PERTEMUAN 9
DISTRIBUSI PELUANG DISKRIT
c. P ( X=x )=0
A. JENIS-JENIS PELUANG DISKRIT
1. Distribusi Bernoulli
Karakteristik distribusi Bernoulli yaitu :
1) Percobaan dilakukan 1 kali.
2) Percobaan hanya mampu menghasilkan 2 hasl yang mungkin yaitu sukses atau
gagal.
( nx) p (1− p)
f ( x ; n , p )=
x n−x
; x=0,1,2 , … ,n
3. Distribusi Hipergeometrik
Karakteristik distribusi Hipergeometrik yaitu:
1) Populasi/percobaan sebanyak N terbagi dalam 2 kategori. Kategori I sebanyak M
dan kategori II sebanyak N-M.
2) Diambil sampel sebnyak n
2.
Var ( X )=
n ( MN )(1− MN ) ( N−n)
(N −1)
Pengunaan distribusi Hipergeometrik terdapat banyak bidang, antara lain pada
penerimaan sampel, pengujian elektronik dan pengendalian mutu.
4. Distribusi Geometrik
Karakteristik distribusi Geometrik yaitu:
1) Percobaa Bernoulli
2) X menyatakan banyaknya percobaan yang dibutuhkan untuk memperoleh sukses.
1
1. E ( X ) =
p
q
2. Var ( X )=
p4
5. Distribusi Poisson
Eksperimen Poisson adalah eksperimen yang menghasilkan nilai dari suatu
peubah acak X, yaitu jumlah keluaran yang terjadi selama satu selang waktu atau di
antara suatu daerah. Misalkan, jumlah panggilan telepon per jam yang diterima oleh
suatu kantor, banyaknya hari sekolah di tutup karena banjir, banyaknya kertas rijek
karena salah ketik dll. Percobaan Poisson berasal dari proses Poisson yang memiliki
sifat sebagai berikut:
1) Jumlah keluaran yang muncul dalam suatu rentang waktu atau suatu daerah tidak
dipengaruhi (independent) terhadap jumlah keluaran yang terjadi di rentang
waktu atau daerah yang lain yang terpisah.
2) Peluang bahwa yang satu keluaran akan muncul dalam selang waktu yang sangat
pendek atau daerah yang kecil adalah proporsional dengan panjang selang waktu
atau luas dari daerah.
3) Peluang muncul lebih dari satu keluaran dalam selang waktu yang amat pendek
atau daerah yang kecil dapat diabaikan.
ini, fokus pembahasan hanya diberikan pada Distribusi Binomial, sedangkan untuk
distribusi diskrit yang lain dapat dilakukan dengan cara yang relatif sama.
> qbinom(c(0.25),size=30,prob=0.5,[Link]=TRUE)
[1] 13
> qbinom(c(0.25),size=30,prob=0.5,[Link]=FALSE)
[1] 17
> qbinom(c(0.75),size=30,prob=0.5,[Link]=FALSE)
[1] 13
> dbinom(6,size=20,prob=0.5)
[1] 0.03696442
> pbinom(c(6),size=20,prob=0.5,[Link]=TRUE)
[1] 0.05765915
> pbinom(c(6),size=20,prob=0.5,[Link]=FALSE)
[1] 0.9423409
Selain itu, R juga memberikan fasilitas untuk menghitung nilai peluang untuk suatu
nilai tertentu. Misalkan akan dicari P(X = 11) dari distribusi Binomial dengan n=20
dan p=0.5, berikut akan ditampilkan nilai peluang untuk X = 0,1,2,…,20.
> dbinom(0:20,size=20,prob=0.5)
[1] 9.536743e-07 1.907349e-05 1.811981e-04 1.087189e-03
4.620552e-03
[6] 1.478577e-02 3.696442e-02 7.392883e-02 1.201344e-01
1.601791e-01
[11] 1.761971e-01 1.601791e-01 1.201344e-01 7.392883e-02
3.696442e-02
[16] 1.478577e-02 4.620552e-03 1.087189e-03 1.811981e-04
1.907349e-05
[21] 9.536743e-07
> [Link]<-
[Link](Pr=dbinom(0:20,size=20,prob=0.5))
> rownames([Link])<-0:20
> [Link]
Pr
0 9.536743e-07
1 1.907349e-05
2 1.811981e-04
3 1.087189e-03
4 4.620552e-03
5 1.478577e-02
6 3.696442e-02
7 7.392883e-02
8 1.201344e-01
9 1.601791e-01
10 1.761971e-01
11 1.601791e-01
12 1.201344e-01
13 7.392883e-02
14 3.696442e-02
15 1.478577e-02
16 4.620552e-03
17 1.087189e-03
18 1.811981e-04
19 1.907349e-05
20 9.536743e-07
> plot(x,dbinom(x,size=20,prob=0.5),xlab="Nomor
Sukses",ylab="Kepadatan Peluang",main="Distribusi Binomial:
n=20,p=0.5",type="h")
> points(x,dbinom(x,size=20,prob=0.5),pch=8)
> abline(h=0,col="green")
> x<-rep(x,rep(2,length(x)))
> plot(x[-1],pbinom(x,size=20,prob=0.5)[-
length(x)],xlab="Nomor Sukses",ylab="Peluang
Kumulatif",main="Distribusi Binomial: n=20,p=0.5",type="l")
> abline(h=0,col="magenta")
> rbinom(120,size=20,prob=0.5)
[1] 9 10 9 13 10 10 7 11 6 11 13 8 11 10 13 10 12 11
10 13 10 13 10 11 11
[26] 13 10 10 11 14 11 8 11 11 8 9 9 10 10 13 10 10 13
12 10 7 7 5 9 10
[51] 13 11 9 12 9 13 8 8 8 11 12 7 12 9 12 15 11 11
10 10 12 10 9 11 10
[76] 10 9 15 10 9 8 10 11 11 8 7 11 12 11 7 12 12 9
9 10 13 10 12 13 15
[101] 7 14 10 10 7 7 8 11 8 9 7 10 10 11 11 9 11 12
13 9
> rbinom(100,size=20,prob=0.5)
[1] 12 7 12 9 10 9 13 11 8 7 14 12 8 10 11 13 11 9
13 7 9 8 11 9 9
[26] 7 12 5 9 11 9 9 10 8 8 12 12 5 8 7 9 10 14
14 9 8 8 9 11 11
[51] 13 8 7 12 11 8 13 11 11 9 7 7 9 8 9 11 11 11
11 14 10 13 10 13 8
[76] 9 11 9 9 16 12 11 9 13 10 10 8 4 8 9 10 7 9
12 11 12 9 9 8 16
> matrix(rbinom(16*8,size=20,prob=0.5),ncol=8)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 8 9 13 10 9 8 11 10
[2,] 14 7 12 10 9 7 11 13
[3,] 11 8 8 9 10 6 10 8
[4,] 12 9 10 10 10 10 10 12
[5,] 11 8 12 10 7 10 10 7
[6,] 10 11 10 7 12 11 12 15
[7,] 8 10 10 9 11 7 11 9
[8,] 5 14 10 12 8 13 11 12
[9,] 6 11 14 9 9 12 10 9
[10,] 10 9 9 13 12 13 5 10
[11,] 13 14 7 12 8 10 7 8
[12,] 13 14 10 11 10 7 10 11
[13,] 10 12 11 12 12 10 11 5
[14,] 10 7 9 11 10 8 9 10
[15,] 8 10 15 11 9 11 11 10
[16,] 12 5 10 8 9 11 13 14
> [Link]<-
[Link](matrix(rbinom(16*8,size=20,prob=0.5),ncol=8))
> rownames([Link])<-paste("sampel",1:16)
> [Link]
X1 X2 X3 X4 X5 X6 X7 X8
sampel 1 8 13 9 10 12 11 8 14
sampel 2 9 8 11 11 11 12 14 8
sampel 3 8 12 10 12 6 12 9 11
sampel 4 10 7 10 12 11 8 9 11
sampel 5 9 10 9 8 12 10 9 10
sampel 6 10 10 10 11 10 9 8 8
sampel 7 12 8 12 9 14 9 12 12
sampel 8 13 14 7 5 10 10 10 7
sampel 9 8 14 10 11 9 10 5 7
sampel 10 10 9 13 12 7 6 10 13
sampel 11 8 11 9 8 12 6 9 9
sampel 12 14 11 10 14 4 11 9 12
sampel 13 11 11 8 12 13 7 10 4
sampel 14 7 15 6 8 12 6 6 8
sampel 15 8 8 10 12 8 8 12 11
sampel 16 10 8 8 9 10 8 14 12
> colnames([Link])<-paste("obs",1:8)
> [Link]
obs 1 obs 2 obs 3 obs 4 obs 5 obs 6 obs 7 obs 8
sampel 1 8 13 9 10 12 11 8 14
sampel 2 9 8 11 11 11 12 14 8
sampel 3 8 12 10 12 6 12 9 11
sampel 4 10 7 10 12 11 8 9 11
sampel 5 9 10 9 8 12 10 9 10
sampel 6 10 10 10 11 10 9 8 8
sampel 7 12 8 12 9 14 9 12 12
sampel 8 13 14 7 5 10 10 10 7
sampel 9 8 14 10 11 9 10 5 7
sampel 10 10 9 13 12 7 6 10 13
sampel 11 8 11 9 8 12 6 9 9
sampel 12 14 11 10 14 4 11 9 12
sampel 13 11 11 8 12 13 7 10 4
sampel 14 7 15 6 8 12 6 6 8
sampel 15 8 8 10 12 8 8 12 11
sampel 16 10 8 8 9 10 8 14 12
Tabel 8.1 Daftar Fungsi R (Commad Line) Untuk Membangkitkan Data Yang
Mengikuti Distribusi Diskrit Tertentu
Distribusi Diskrit Fungsi R Argumen yang diperlukan Library
Binomial rbinom n, size, prob
Binomial Negatif rnbinom n, size, prob, mu
Geometrik rgeom n, prob
Hipergeometrik rhyper nn, m, n, k
Poisson rpois n, lambda
PERTEMUAN 10
DISTRIBUSI PELUANG KONTINU
b. ∫ f ( x ) dx=1
R
c. P ( a< x <b ) =∫ f ( x ) dx
−∞
{
f ( x ; a , b )= b−a
; a < x< b
0; x yang lain
Dinotasikan sebagai X~UNIF(a,b).
Sifat-sifat distribusi seragam kontinu:
b
x a+b
1. E ( X ) =∫ dx=
a b−a 2
( b−a)2
2. Var ( X )=
12
Fungsi distribusi kumulatifnya yaitu:
0; x≤a
F ( x ; a , b )=
{
x −a
b−a
; a< x< b
1;b≤ x
2. Distribusi Gamma
Definisi 9.2 Fungsi Gamma untuk setiap K>0 didefinisikan sebagai :
∞
Γ ( K )=∫ t K−1 e−t dt
0
3. Γ ( 12 )=√ π
Definisi 9.3 Suatu variabel acak X dikatakan berdistribusi Gamma dengan
parameter K>0 dan θ>0 jika mempunyai fungsi kepadatan peluang (pdf)
berbentuk:
−x
1
{
f ( x ; θ , K )= θ K Γ ( K )
x K −1 e
0 ; x ≤0
θ
; x >0
3. Distribusi Eksponensial
4. Distribusi Weibull
Definisi 9.5 Suatu kontinu X dikatakan berdistribusi Weibull dengan
parameter β >0 dan θ>0, jika memiliki fungsi kepadatan peluang (pdf)
berbentuk:
β
x
{1 β −1 −( θ )
f ( x ; θ , β )= θ β
x e
0;x ≤0
; x >0
β
x
−( )
θ
F ( x ;θ , β )=1−e ; x> 0
5. Distribusi Normal
Distribusi Normal disebut juga Gausian distribution adalah salah satu fungsi
distribusi peluang berbentuk lonceng seperti gambar berikut.
Gambar
Berdasarkan gambar di atas, distribusi Normal akan memiliki beberapa ciri
diantaranya:
1) Kurvanya berbentuk garis lengkung yang halus dan berbentuk seperti genta.
2) Simetris terhadap rataan (mean).
3) Kedua ekor/ ujungnya semakin mendekati sumbu absisnya tetapi tidak pernah
mamotong.
4) Jarak titik belok kurva tersebut dengan sumbu simetrisnya sama dengan σ
5) Luas daerah di bawah lengkungan kurva tersebut dari - ∞ sampai ∞ sama dengan
1 atau 100 %.
1. E ( X ) =μ
2. Var ( X )=σ 2
> qnorm(c(0.25),mea=0,sd=1,[Link]=TRUE)
[1] -0.6744898
> qnorm(c(0.25),mean=0,sd=1,[Link]=TRUE)
[1] -0.6744898
> qnorm(c(0.25),mean=10,sd=2,[Link]=TRUE)
[1] 8.65102
> qnorm(c(0.25),mean=10,sd=2,[Link]=FALSE)
[1] 11.34898
> qnorm(c(0.25),mean=0,sd=1,[Link]=FALSE)
[1] 0.6744898
Contoh:
Misalkan akan dihitung nilai kepadata peluang dan peluang distribusi
kumulatifnya untuk α =0,25( 25 %) dari distribusi Normal dengan mean dan sd
tertentu.
> dnorm(c(0.05),mean=10,sd=2)
[1] 8.420738e-07
> dnorm(c(0.025),mean=10,sd=2)
[1] 7.912405e-07
> pnorm(c(-4),mean=0,sd=1,[Link]=TRUE)
[1] 3.167124e-05
> pnorm(c(11.34898),mean=10,sd=2,[Link]=TRUE)
[1] 0.7500001
> pnorm(c(11.34898),mean=10,sd=2,[Link]=FALSE)
[1] 0.2499999
y<-seq(-5,5,length=100)
> plot(y,dnorm(y,mean=0,sd=1),xlab="x",ylab="Kepadatan
Peluang Distribusi Normal",main=expression(paste("Distribusi
Normal: ",mu,"=0 ",sigma,"=1")),type="l")
> abline(h=0,col="magenta")
> y<-seq(-5,5,length=100)
> plot(y,pnorm(y,mean=0,sd=1),xlab="x",ylab="Peluang
Kumulatif",main=expression(paste("Distribusi Normal: ",mu,"=0
",sigma,"=1")),type="l")
> abline(h=0,col="blue")
Gambar 9.2 Plot Fungsi Peluang Distribusi Kumulatif dari Distribusi Normal
> rnorm(20,mean=0,sd=1)
[1] -0.276908836 -0.542576488 -0.008658927 -1.391810438
-1.713546772
[6] 1.374815181 0.599745078 1.415383958 0.849368045
0.136186610
[11] -0.046182146 -0.050975244 0.651650651 0.023084720
0.515982913
[16] 0.522148311 0.339029752 -0.967664390 -0.530448826
-0.056068938
> data<-[Link](matrix(rnorm(14*7,mean=0,sd=1),ncol=7))
> rownames(data)<-paste("sampel",1:14)
> colnames(data)<-paste("obs",1:7)
> data
obs 1 obs 2 obs 3 obs 4
sampel 1 -0.276908836 0.51598291 -0.86213082 -0.67196625
sampel 2 -0.542576488 0.52214831 -0.99954762 0.44310787
sampel 3 -0.008658927 0.33902975 1.05489332 0.43451591
sampel 4 -1.391810438 -0.96766439 1.07936359 1.01720893
sampel 5 -1.713546772 -0.53044883 0.68975916 -0.44666071
sampel 6 1.374815181 -0.05606894 0.46147671 -0.19271859
sampel 7 0.599745078 -0.14073657 0.20992520 -0.06915662
sampel 8 1.415383958 1.48912264 0.73436502 1.35474234
sampel 9 0.849368045 0.04465593 -0.53706500 -1.41063908
sampel 10 0.136186610 -1.32889890 -0.06940900 -0.16381409
sampel 11 -0.046182146 -0.44406960 -0.51502608 -1.39097158
sampel 12 -0.050975244 1.20650482 0.03103151 -0.98480010
sampel 13 0.651650651 -0.31193363 -0.74495256 -1.00264525
sampel 14 0.023084720 -0.42270202 0.29323176 -1.26306608
> [Link](matrix(rnorm(15*5,mean=100,sd=10),ncol=5))
V1 V2 V3 V4 V5
1 103.17493 91.47580 107.90141 98.47609 103.29374
2 95.04566 81.49974 99.15933 85.02054 99.19941
3 110.46913 112.02711 115.90242 105.73026 98.97554
4 96.69884 100.94053 87.26184 96.14860 102.53638
5 99.15974 88.93082 106.00411 89.47716 101.93653
6 90.27237 95.98353 120.98998 108.27240 85.58261
7 90.51756 89.12276 98.97576 94.04809 104.95384
8 99.51697 91.49508 96.90157 91.82030 103.89984
9 94.72253 100.32938 101.30627 81.33664 101.77107
10 106.02961 102.51293 95.48001 98.72131 90.08942
11 96.45269 116.12585 95.58952 86.73045 87.47935
12 91.09292 110.02089 110.83891 107.21203 94.06644
13 90.42512 98.04861 109.60173 100.00437 95.42560
14 104.88079 114.58587 102.81653 99.87493 91.86480
15 105.30441 89.42152 93.66712 105.47503 76.47262
Tabel 9.1 Daftar Fungsi R (Commad Line) Untuk Membangkitkan Data Yang
Mengikuti Distribusi Kontinu Tertentu
Distribusi Kontinu Fungsi R Argumen yang diperlukan Library
Beta rbeta n, shape1, shape2 stats
Cauchy rcauchy n, location,=0,scale=1 Stats
Chi-squared rchisq n, df Stats
Eksponensial rexp n,rate Stats
F rf n, df1, df2 Stats
Gamma rgamma n, shape, rate=1 Stats
Log-normal rlnorm n, mean, sd stats
Logistic rlogis n, location=0, scale=1 Stats
Normal rnorm n, mean, sd Stats
Student-t rt n, df Stats
Seragam (uniform) runif n, min, max Stats
Weibull rweibull n, shape, scale=1 Stats
Multivariat Normal mvrnorm n=1, mu, sigma MASS