Academia.eduAcademia.edu

Berkata Cinta dengan R

TUGAS 6 KOMPUTASI STATISTIKA TERAPAN 1. Buatlah sintak R untuk menguji bangkitan data berdistribusi tertentu 2. Buatlah sintak R untuk Membangkitkan data binomial, dengan invers memakai tabel look up. 3. Buatlah sintak R untuk membuat plot 2D/3D dari fungsi love 4. Buatlah sintak R kata love 4x1 atau 1x4 5. Buatlah sintak R dari fungsi histori kisah cinta 6. Buatlah sintak R untuk membuat grafik persamaan batman Jawaban: 1.Akan diuji apakah bangkitan data berdistribusi tertentu. Berikut adalah sintak data membangkitkan data dan untuk menguji bangkitan data berditribusi tertentu. Tabel 1. Sintak R data membangkitkan data dan untuk menguji bangkitan data berditribusi tertentu #=============================================================# #Membangkitkan data z secara acak berdistribusi Uniform (a,b) sebanyak k # #=============================================================# unif=function(k,a,b) { u=runif(k) unif=u*(b-a)+a cat("Catatan: Z~Uniform(a,b) merupakan bangkitan data Z dengan a=nilai minimum dan b=nilai maksimum","\n","\n") cat("Berikut adalah bangkitan data z secara acak berdistribusi Uniform (",a,",",b,") sebanyak ",k,":","\n") unif } #=================================================================# #Membangkitkan data y secara acak berdistribusi Weibull (k,lamdha) sebanyak n # #=================================================================# weibull=function(n,k,lamdha) { v=runif(n) weibull=lamdha*(-log(1-v))*(exp(1/k)) cat("Catatan: Y~Weibull(k,lamdha) merupakan bangkitan data Y dengan parameter k dan lamdha","\n","\n") cat("Berikut adalah bangkitan data y secara acak berdistribusi Weibull(",lamdha,",",k,") sebanyak ",n,":","\n") weibull } data.1=unif(12,1,2) data.1 data.2=weibull(12,6,1.5) data.2 # Apakah data.1 berdistribusi Unifrom? ks.test(data.1,"punif",1,2) # Apakah data.2 berdistribusi Weibull? ks.test(data.2,"pweibull",shape=1) Dari Tabel 1 diperoleh output berikut. Gambar 1. Output Tabel 1 Dengan menggunakan uji Kolmogorof Smirnov dengan hipotesis : H0 : Data berdistribusi tertentu (Uniform atau Weibull) H1 : Dari berdistribusi lainnya Dari Gambar 1 dapat diperoleh kesimpulan bahwa data.1 merupakan data yang berdistribusi Unifrom karena nilai 𝑝 > 𝛼 dan data.2 merupakan data yang berdistribusi Weibull karena nilai 𝑝 > 𝛼, dengan 𝛼 = 0.05. 2. 3. Akan dibuat plot 2D dari fungsi love dengan menggunakan ggplot. Berikut adalah sintak R untuk membuat fungsi love. Tabel 3. Sintak R Fungsi Love library(ggplot2) library(digest) library(grid) library(gtable) library(plyr) library(proto) library(reshape2) library(stringr) library(scales) library(RColorBrewer) library(munsell) library(colorspace) library(dichromat) library(labeling) library(gridExtra) theta=seq(0,2*pi,length=1000) LOVE=rep(360,1000) func.love=function(theta) 2-2*sin(theta) + sin(theta)*(sqrt(abs(cos(theta))))/(sin(theta)+1.4) data=data.frame(theta,LOVE) ggplot(data,aes(theta,colour=LOVE))+ stat_function(fun=func.love) + coord_polar(start=-pi/2)+ ggtitle("LOVE") Dari Tabel 3 diperoleh output berikut. Gambar 3. Output Sintak Love 4. Akan dibuat plot kata love dari persamaan matematika berikut. Gambar 4a. Persamaan Matematika dari kata Love Berikut adalah sintak Plot love 4x1 dengan R dari Gambar 1 ditunjukkan pada Tabel 4. Tabel 4. Sintak R Plot Love dengan R library(ggplot2) library(digest) library(grid) library(gtable) library(plyr) library(proto) library(reshape2) library(stringr) library(scales) library(RColorBrewer) library(munsell) library(colorspace) library(dichromat) library(labeling) library(gridExtra) #==================# #Plot LOVE dengan R# #==================# #L# n=.Machine$double.max.exp x1=seq(1,100,length.out=n) y1=1/x1 l=qplot(x1,y1,col="red") #O# theta=seq(0,360,1) x2=sin(theta) y2=cos(theta) o=qplot(x2,y2,col="red") #V# x3=seq(-100,100,length.out=n) y3=abs(-2*x3) v=qplot(x3,y3,col="red") #E# y4=seq(-3,3,length.out=n) x4=-3*(abs(sin(y4))) e=qplot(x4,y4,col="red") grid.arrange(l,o,v,e, ncol=1) Berikut adalah output dari Tabel 4. Gambar 4b. Output Sintak R dari Plot LOVE 5.Akan dibuat plot untuk histori kisah cinta dengan menggunakan R. Berikut adalah sintak R untuk membuat histori kisah cinta yang ditunjukkan pada Tabel 5. Tabel 5. Sintak R Histori Kisah Cinta library(ggplot2) library(digest) library(grid) library(gtable) library(plyr) library(proto) library(reshape2) library(stringr) library(scales) library(RColorBrewer) library(munsell) library(colorspace) library(dichromat) library(labeling) library(gridExtra) #=====================================================# #SINTAK KISAH CINTA DALAM MATEMATIKA "TIDAK BERJODOH" # #=====================================================# x=seq(1,100,by=1) y1=rep(3,100) y2=rep(2.75,100) TIDAK_BERJODOH=gl(1,100,labels=LETTERS[1]) z2=gl(1,100,labels=LETTERS[2]) data=data.frame(x,y1,y2,TIDAK_BERJODOH,z2) p1 <- ggplot() + geom_line(aes(x,y1,colour=TIDAK_BERJODOH,size=1), data)+ geom_line(aes(x,y2,colour=z2,size=1),data)+ ggtitle("TIDAK BERJODOH") #=====================================================# #SINTAK KISAH CINTA DALAM MATEMATIKA "PACARAN SEKALI" # #=====================================================# x=seq(1,100,by=1) y1=x y2=rep(50,100) PACARAN_SEKALI=gl(1,100,labels=letters[1]) z2=gl(1,100,labels=letters[2]) data=data.frame(x,y1,y2,PACARAN_SEKALI) p2 <- ggplot() + geom_line(aes(x,y1,colour=PACARAN_SEKALI,size=1),data)+ geom_line(aes(x,y2,colour=z2,size=1),data)+ ggtitle("PACARAN SEKALI") #=====================================================# #SINTAK KISAH CINTA DALAM MATEMATIKA "NGOTOT" # #=====================================================# x=seq(-50,100,length.out=100) y1=function(x) 1/(1+exp(-x)) y2=rep(1,100) NGOTOT=gl(1,100,labels=LETTERS[2]) data=data.frame(x,y2,NGOTOT) p3 <- ggplot(data, aes(x,size=1)) + stat_function(fun=y1)+ geom_line(aes(x,y2,colour=NGOTOT,size=1),data) + ggtitle("NGOTOT") #=====================================================# #SINTAK KISAH CINTA DALAM MATEMATIKA "RANDOM WALK" # #=====================================================# #d1# x1=seq(1:100) y1=rep(1,100) RANDOM_WALK=gl(1,100,labels=LETTERS[1]) #l1# xl1=seq(0:19) yl1=rep(0.8,20) gl1=gl(1,20,labels=LETTERS[2]) #l2# xl2=seq(20,39) yl2=rep(1.2,20) gl2=gl(1,20,labels=LETTERS[2]) #l3# xl3=seq(40,59) yl3=rep(0.9,20) #l4# xl4=seq(60,79) yl4=rep(1.3,20) #l5# xl5=seq(80,99) yl5=rep(1.01,20) #l6# xl6=seq(100,119) yl6=rep(0.4,20) d1 <- data.frame(x1,y1,RANDOM_WALK) l1 <- data.frame(xl1,yl1,gl1) l2 <- data.frame(xl2,yl2,gl2) l3 <- data.frame(xl3,yl3) l4 <- data.frame(xl4,yl4) l5 <- data.frame(xl5,yl5) l6 <- data.frame(xl6,yl6) p4 <- ggplot() + geom_line(aes(x1,y1,colour=RANDOM_WALK,size=1),d1)+ geom_line(aes(xl1,yl1,colour=gl2,size=1),l1)+ geom_line(aes(xl2,yl2,colour=gl2,size=1),l2)+ geom_line(aes(xl3,yl3,colour=gl2,size=1),l3)+ geom_line(aes(xl4,yl4,colour=gl2,size=1),l4)+ geom_line(aes(xl5,yl5,colour=gl2,size=1),l5)+ geom_line(aes(xl6,yl6,colour=gl2,size=1),l6)+ ggtitle("RANDOM WALK") #=====================================================# #SINTAK KISAH CINTA DALAM MATEMATIKA "DAMN LUCKY" # #=====================================================# #d1# x1=seq(1:120) y1=rep(1,120) DAMN_LUCKY=gl(1,120,labels=LETTERS[1]) #l1# xl1=seq(0,39) yl1=rep(0.6,40) gl1=gl(1,40,labels=LETTERS[2]) #l2# xl2=rep(40,20) yl2=seq(0.6,1,length.out=20) gl2=gl(1,20,labels=LETTERS[2]) #l3# xl3=seq(40,119) yl3=rep(1,80) gl3=gl(1,20,labels=LETTERS[2]) d1 <- data.frame(x1,y1,DAMN_LUCKY) l1 <- data.frame(xl1,yl1,gl1) l2 <- data.frame(xl2,yl2,gl2) l3 <- data.frame(xl3,yl3,gl3) p5 <- ggplot() + geom_line(aes(x1, y1, colour=DAMN_LUCKY,size=1), d1)+ geom_line(aes(xl1, yl1, colour=gl1,size=1), l1)+ geom_line(aes(xl2, yl2, colour=gl2,size=1), l2)+ geom_line(aes(xl3, yl3, colour=gl3,size=1), l3)+ ggtitle("DAMN LUCKY") #Menggabung plot 1 hingga 5 menjadi 1 layer grid.arrange(p1, p2, p3, p4, p5, ncol=3) Sehingga dari Sintak R pada Tabel 5, keluar output berikut. Gambar 5. Output Sintak R Histori Kisah Cinta 6. Berikut adalah persamaan Batman Akan dibentuk plot untuk persamaan Batman. Berikut adalah sintak persamaan Batman. Tabel 6. Sintak R Persamaan Batman #================# #Persamaan Batman# #================# #Persamaan 1# x=seq(-7,7,length=1000) y=seq(-8,8,length=1000) z1=outer(x,y, function(x,y) ((((((x/7)^2))*((sqrt((abs(abs(x)-3))/(abs(x)-3) ))))+((((y/3)^2))*((sqrt((abs(y+((3*sqrt(33))/7)))/(y+((3*sqrt(33))/7))))))-((1)))) ) contour(x,y,z1,level=0,col="blue") # Persamaan 2# z2=outer(x,y, function(x,y) ((((abs(x/2)))-(((((3*sqrt(33))-7)/112)*x^2))-((3))+((sqrt(1((abs((abs(x))-2)-1)^2))))-((y))) )) contour(x,y,z2,level=0,add=TRUE,col="red") # Persamaan 3# z3=outer(x,y, function(x,y) ((((9))*((sqrt( abs((((abs(x))-1)*((abs(x))-0.75)))/((1-(abs(x)))*((abs(x))-0.75)) ))))-((8*(abs(x))))-((y))) ) contour(x,y,z3,level=0,add=TRUE,,col="darkgreen") # Persamaan 4# z4=outer(x,y, function(x,y) (((3*(abs(x))))+(((0.75)*(sqrt( (abs(((abs(x))-0.75)*((abs(x))-0.5)))/((0.75-(abs(x)))*((abs(x))-0.5))))))-((y))) ) contour(x,y,z4,level=0,add=TRUE,col="orange") # Persamaan 5# z5=outer(x,y,function(x,y) ((((2.25))*((sqrt( (abs((x-0.5)*(x+0.5)))/((0.5-x)*(0.5+x)) ) )))-((y))) ) contour(x,y,z5,level=0,add=TRUE,col="darkblue") # Persamaan 6# z6=outer(x,y, function(x,y) ((((6*(sqrt(10)))/7))+(( (1.5-(0.5*(abs(x))))*(sqrt( (abs(abs(x)-1))/(abs(x)-1) )) ))-((((6*(sqrt(10)))/14)*(sqrt( 4-((abs(x)-1)^2) ))))-((y))) ) contour(x,y,z6,level=0,add=TRUE,,col="pink") Berikut adalah output dari sintak R persamaan Batman. Gambar 6. Output Sintak Persamaan Batman