tag:blogger.com,1999:blog-43087073883408579252024-03-06T07:13:42.216+07:00Bahasa R (The R Language)Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-4308707388340857925.post-83261635659003188782015-04-02T20:10:00.000+07:002015-04-02T20:17:25.829+07:00Membuat bagian bawah plot yang lebih lebar<div style="text-align: justify;">
<blockquote>
</blockquote>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-font-size: 10.0pt;">Saya pernah berhadapan dengan masalah
dengan terpotongnya label pada sumbu-x (horizontal), karena lebel yang
digunakan terlalu panjang. Koding
berikut ini akan menjelaskannya.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-family: "Courier New";">cacah <- c="" o:p="" sample=""></-></span></div>
</div>
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-family: "Courier New";">labels <-list o:p=""></-list></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-family: "Courier New";">for (i in 1:10) { <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-family: "Courier New";"> labels[i]<-paste no.label="" panjang="" sangat="" span="" yang=""><span style="font-family: 'Courier New';">",</span></-paste></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-family: 'Courier New';"> i,sep="")</span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-family: "Courier New";">}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-family: "Courier New";">barplot( height=cacah, names.arg=labels,
horiz=F, <o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-family: "Courier New";"> las=2,col="lightblue",
main="Before")<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLrdHHdOliOjMqI7XVNTbr6V0Ca3N_TvpAtDLPXtUdMCWezKrA0jUaBLxLjhewBT7JKGztK4u5e2c71MLN-TDsgd7oAoPeNfe4Nue8HLPRxh0IQkXoIcYZoxbeDJMS4bEV7n0gTRdK0iA/s1600/Gambar01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLrdHHdOliOjMqI7XVNTbr6V0Ca3N_TvpAtDLPXtUdMCWezKrA0jUaBLxLjhewBT7JKGztK4u5e2c71MLN-TDsgd7oAoPeNfe4Nue8HLPRxh0IQkXoIcYZoxbeDJMS4bEV7n0gTRdK0iA/s1600/Gambar01.png" height="318" width="320" /></a></div>
<div align="center" class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<br /></div>
<div align="center" class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-font-size: 10.0pt;">Perhatikan label pada sumbu-x
gambar di atas, nampak labelnya sedikit terpotong. Untuk mengatasi itu kita gunakan parameter
mar.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-font-size: 10.0pt;">“mar” merupakan vektor numerik yang
berbentuk c(bawah, kiri, atas, kanan), nilai vektor ini memberikan ukuran lebar
margin pada keempat sisi plot. Nilai
defaultnya adalah c(5, 4, 4, 2)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify; text-justify: inter-ideograph;">
<span style="font-family: 'Courier New';">#melebarkan 6 poin disisi bawah</span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify; text-justify: inter-ideograph;">
<span style="font-family: "Courier New";">op
<- mar="c(11,4,4,2)) <o:p" par=""></-></span></div>
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify; text-justify: inter-ideograph;">
<span style="font-family: "Courier New";">barplot(
height=cacah, names.arg=labels, horiz=F, las=2,col="skyblue",<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify; text-justify: inter-ideograph;">
<span style="font-family: "Courier New";"> main="Setelah")<o:p></o:p></span></div>
<span style="font-family: "Courier New"; font-size: 11.0pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-fareast;">rm(op)</span><br />
<span style="font-family: "Courier New"; font-size: 11.0pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-fareast;"><br /></span>
<br />
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-font-size: 10.0pt;">Hasilnya dibserikan oleh gambar
di bawah ini:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAZPmnYu40QuqFBSE3GiB8aJwK7f85qAvRg3-QeXNyiw1I7_7xOiD_uFMIfLWNUkJ7hFgfYLtiXeWjwj61eMcShwm0LLib_MW3Fs4-dsrDfiUk5c0H8QD6e6aHQtnd0zRynvjwBckMX_E/s1600/Gambar02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAZPmnYu40QuqFBSE3GiB8aJwK7f85qAvRg3-QeXNyiw1I7_7xOiD_uFMIfLWNUkJ7hFgfYLtiXeWjwj61eMcShwm0LLib_MW3Fs4-dsrDfiUk5c0H8QD6e6aHQtnd0zRynvjwBckMX_E/s1600/Gambar02.png" height="318" width="320" /></a></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-bidi-font-size: 10.0pt; mso-no-proof: yes;"><br /><!--[endif]--></span></div>
Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com0tag:blogger.com,1999:blog-4308707388340857925.post-38764626044083330252013-04-16T16:55:00.003+07:002013-04-16T17:29:48.488+07:00Operasi Dasar Elementer Gauss - JordanOperasi dasar elementer (ODE) pada matriks seringkali digunakan untuk mendapatkan matriks setara dengan matriks asal. Sehingga ODE ini seringkali digunakan untuk mencari determinan atau kebalikan matriks. Prinsipnya adalah dengan mengenakan ODE pada matriks asal sehinggan menjadi matriks setera yang mudah dicari determinannya, misalkan dengan menjadikannya matriks diagonal, yang mana determinannya dicari dengan mengalikan elemen-elemen diagonal utama.<br />
<br />
Berikut ini adalah program R untuk melakukan ODE tersebut.
<br>
<xmp class=function>function(x, baris=TRUE){
list(
x.asal<<-x,
tukar = function(i, j) {
if (is.matrix(x)){
if (baris) {
ind <- diag(nrow(x))
}
else ind <- diag(ncol(x))
}
else stop("Objek harus dalam mode matriks")
te <- ind[i,]; ind[i,] <- ind[j,]; ind[j,] <- te
if (baris) {
x <<- ind%*%x
}
else x <<- x%*%ind
return(x)
},
kali = function(i, k) {
if (is.matrix(x)){
if (baris) {
ind <- diag(nrow(x))
}
else ind <- diag(ncol(x))
}
else stop("Objek harus dalam mode matriks")
ind[i,] <- k*ind[i,]
if (baris) x <<- ind %*% x
else x <<- x %*% ind
return(x)
},
lipat = function(i, j, k) {
if (is.matrix(x)){
if (baris) {
ind <- diag(nrow(x))
}
else ind <- diag(ncol(x))
}
else stop("Objek harus dalam mode matriks")
if (baris) {
ind[j,i] <- k
x <<- ind %*% x}
else {
ind[i,j] <- k
x <<- x %*% ind}
return(x)
},
hasil = function(){
x.setara <- x; has<-list(Matriks.Asal=x.asal, Matriks.Setara=x.setara)
return(has)
}
)
}
</xmp><br>
Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com0tag:blogger.com,1999:blog-4308707388340857925.post-29616268719438928942010-08-25T17:26:00.000+07:002010-08-25T17:30:47.241+07:00Pengantar R secara interaktif<div style="width:425px" id="__ss_2636832"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/dataspora/an-interactive-introduction-to-r-programming-language-for-statistics" title="An Interactive Introduction To R (Programming Language For Statistics)">An Interactive Introduction To R (Programming Language For Statistics)</a></strong><object id="__sse2636832" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=aninteractiveintroductiontorprogramminglanguageforstatistics-091202191503-phpapp02&stripped_title=an-interactive-introduction-to-r-programming-language-for-statistics"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed name="__sse2636832" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=aninteractiveintroductiontorprogramminglanguageforstatistics-091202191503-phpapp02&stripped_title=an-interactive-introduction-to-r-programming-language-for-statistics" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/dataspora">Dataspora</a>.</div></div><script src="http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6="></script>Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com4tag:blogger.com,1999:blog-4308707388340857925.post-69315090191868296672009-11-28T22:50:00.001+07:002009-11-28T22:52:04.398+07:00Pengenalan Bahasa R<div style="text-align: center;"><br /><div style="width: 425px; text-align: left;" id="__ss_2602568"><a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/anom0164/pelatihan-bahasa-r" title="Pelatihan Bahasa R">Pelatihan Bahasa R</a><object style="margin: 0px;" height="355" width="425"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=rworkshop02-091128093401-phpapp02&rel=0&stripped_title=pelatihan-bahasa-r"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=rworkshop02-091128093401-phpapp02&rel=0&stripped_title=pelatihan-bahasa-r" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="355" width="425"></embed></object><div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration: underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration: underline;" href="http://www.slideshare.net/anom0164">anom0164</a>.</div></div><br /></div>Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com3tag:blogger.com,1999:blog-4308707388340857925.post-79471860003043556972009-04-01T20:55:00.001+07:002009-04-01T21:00:28.291+07:00Download Program RAnda ingin mendownload program R ada <span style="font-size:180%;"><a style="color: rgb(204, 0, 0); font-style: italic; font-weight: bold;" href="http://cran.r-project.org/bin/windows/base/R-2.8.1-win32.exe">disini</a></span>Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com2tag:blogger.com,1999:blog-4308707388340857925.post-40315050165358645572009-03-05T14:42:00.008+07:002010-08-19T20:38:46.058+07:00Manual Bahasa R dan Tutorial<div style="text-align: left;">Mau manual R dalam bahasa Indonesia, silahkan didowload , klik <a href="http://www.4shared.com/document/17TZMure/Manual-R.html"><span class="Apple-style-span" style="color:#660000;"><b><span class="Apple-style-span" style="font-size: large;"><i>disini</i></span></b></span></a>.</div><div style="text-align: left;">Anda bisa link ke web yang menyediakan tutorial untuk R, klik <span style="font-size:130%;"><a style="color: rgb(153, 0, 0); font-style: italic; font-weight: bold;" href="http://www.cyclismo.org/tutorial/R/index.html">disini</a></span>.</div>Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com0tag:blogger.com,1999:blog-4308707388340857925.post-13180781724472061332009-01-13T14:04:00.003+07:002009-01-13T14:27:10.261+07:00Polinomial<span xmlns=""><p>Pada aljabar, fungsi polinomial atau disingkat polinomial, adalah suatu fungsi yang berbentuk<br /></p></span><div style="text-align: center;"><span xmlns=""><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkMhTaFI5VdSHPPwX84zyRjb67zejaD3L3WgXlfF1Z_xxjJ5bxLRqqG_3DZ9RbpLk0xxLwki7PKCxCpZ0yqAzb_DCRTSx07gld1g6MHvxDKK_Jvu_TZdnfjZPEHo83Cdjgnv3dJt2I5pk/s1600-h/788788f60ea20f24f2fe26330f64167a.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 264px; height: 19px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkMhTaFI5VdSHPPwX84zyRjb67zejaD3L3WgXlfF1Z_xxjJ5bxLRqqG_3DZ9RbpLk0xxLwki7PKCxCpZ0yqAzb_DCRTSx07gld1g6MHvxDKK_Jvu_TZdnfjZPEHo83Cdjgnv3dJt2I5pk/s320/788788f60ea20f24f2fe26330f64167a.png" alt="" id="BLOGGER_PHOTO_ID_5290672477040370258" border="0" /></a></p></span></div><span xmlns=""><p><br /></p><p>Seringkali yang menjadi masalah adalah mendapatkan akar dari polinomial tersebut. Contohnya adalah sebagai berikut<br /></p><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo0nXa1pF_VZhCzwmbEz3khT1KEWtzAY4Fz3J109id0VQVRY4fzFWoZPC4YIldxOErIpcShN9f8HzcLy4zNkWDSSrrhzyXF62eL8x5PPc8hpvb9mEW8PHA1b4niNYx-IczoJs7Vh9Zqio/s1600-h/Persamaan.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 199px; height: 20px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo0nXa1pF_VZhCzwmbEz3khT1KEWtzAY4Fz3J109id0VQVRY4fzFWoZPC4YIldxOErIpcShN9f8HzcLy4zNkWDSSrrhzyXF62eL8x5PPc8hpvb9mEW8PHA1b4niNYx-IczoJs7Vh9Zqio/s320/Persamaan.jpg" alt="" id="BLOGGER_PHOTO_ID_5290672708346929938" border="0" /></a></p><p><br /> </p><p>Berapa nilai-nilai x yang memenuhi persamaan di atas? R dapat menyelesaikan dengan mudah, dengan memanfaatkan package polynom. Langkah-langkahnya adalah sebagai berikut.<br /></p><p><span style=";font-family:Courier New;color:red;" >> # panggil package polynom<br /></span></p><p><span style=";font-family:Courier New;color:red;" >> libray(polynom)<br /></span></p><p><span style=";font-family:Courier New;color:red;" >> p<-polynomial(c(-10, 21, -12, 1))<br /></span></p><p><span style="font-family:Courier New;"><span style="color:red;">> p</span><br /> </span></p><p><span style="color: rgb(23, 54, 93);font-family:Courier New;" >-10 + 21*x - 12*x^2 + x^3<br /></span></p><p><span style=";font-family:Courier New;color:red;" >> solve(p)<br /></span></p><p><span style="color: rgb(23, 54, 93);font-family:Courier New;" >[1] 1 1 10<br /></span></p><p>Perhatikan bahwa pada fungsi polynomial argumennya merupakan koefisien-koefisie polinom yang akan kita cari akarnya dan ditulis secara menurun, dari pangkat paling rendah ke yang paling tinggi. Fungsi R polynomial diatas disimpan ke objek (variabel) p. Fungsi solve dengan argument berupa objek p, akan memberikan nilai-nilai akar, yaitu ada tiga, berturut-turut adalah 1, 1, dan 10.<br /></p><p>Untuk menggambarkan bagaimana kurva polinom tersebut<br /></p><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy-EGraJwdCY06HBsKFHS8r5QNKteVyUxJQw5c0L55EJTpVGR6dRc4X8aRpAlu4QR4HiRpjR5ZZYm2-trreg-TurtZODPKSmlXQH82SBSqz9DHqwL8bgCtiG_Od21HURrjIbu4M7zqrfs/s1600-h/Persamaan02.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 178px; height: 21px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy-EGraJwdCY06HBsKFHS8r5QNKteVyUxJQw5c0L55EJTpVGR6dRc4X8aRpAlu4QR4HiRpjR5ZZYm2-trreg-TurtZODPKSmlXQH82SBSqz9DHqwL8bgCtiG_Od21HURrjIbu4M7zqrfs/s320/Persamaan02.jpg" alt="" id="BLOGGER_PHOTO_ID_5290673837477482098" border="0" /></a></p><p><br /> </p><p>memotong sumbu-x, yang menunjukkan akar-akarnya. Perintah R nya adalah sebagai berikut<br /></p><p><span style=";font-family:Courier New;color:red;" >> plot(p, ylim=c(-110, 20), col="blue")<br /></span></p><p><span style="font-family:Courier New;"><span style="color:red;">> abline(h=0, v=c(1,10), lty=2)</span><br /> </span></p><p>Hasilnya adalah sebagai berikut<br /></p></span><div style="text-align: center;"><span xmlns=""><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8gt8XU2VkB2UjlcW9E2Nzqzvl8BKdZMjVrNIwA782t80GEKNjgfFowWc9fn0GpZoTHl3Vm29au6cjiVZOBHKQrpJ2_xyprnlzUForzWVIgz9ifEcadLV1F4yZORGbo3M8UOosvAbY1QY/s1600-h/kurva.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 319px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8gt8XU2VkB2UjlcW9E2Nzqzvl8BKdZMjVrNIwA782t80GEKNjgfFowWc9fn0GpZoTHl3Vm29au6cjiVZOBHKQrpJ2_xyprnlzUForzWVIgz9ifEcadLV1F4yZORGbo3M8UOosvAbY1QY/s320/kurva.png" alt="" id="BLOGGER_PHOTO_ID_5290673174922171826" border="0" /></a></p></span></div><span xmlns=""><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p>Ok. Selamat mencoba …</p></span>Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com3tag:blogger.com,1999:blog-4308707388340857925.post-42099393232509475222009-01-04T16:45:00.001+07:002009-01-11T18:04:02.836+07:00Grafik Tiga DimensiGrafik tiga dimensi dengan mudah dapat dibuat dengan menggunakan bantuan R. Berikut ini adalah perintah-perintah dalam R untuk membuat grafik tiga dimensi.<p><span style=";font-family:Courier New;font-size:100%;" >> # plot-plot 3D menggunakan: persp, contour, image</span></p><p><span style=";font-family:Courier New;font-size:100%;" >> # Bangun Bidang Datar<br />> x <- y <- seq(-5, 5, length=50)</span></p><p><span style=";font-family:Courier New;font-size:100%;" >> # Untuk membuat dimensi yang ketiga, kita membutuhkan fungsi "outer"<br />> z <- outer(x, y, "+")<br />> persp(x, y, z )</span></p><p>Grafik yang ditampilkan adalah sebagai berikut:</p><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjOV6k0NZCZDE7-6g4MOwD1_VIG1P_U1MYCCNFs4vYt_SifLVRsubOZwIOFz7xYA5_Xx9NINv_uxZeJxfH32gUjxMavpqyBpUDwML_01my4QjITqCSkVDmygbv0uE76U1fSLlpAdjbKhg/s1600-h/BidangDatar02.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 289px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjOV6k0NZCZDE7-6g4MOwD1_VIG1P_U1MYCCNFs4vYt_SifLVRsubOZwIOFz7xYA5_Xx9NINv_uxZeJxfH32gUjxMavpqyBpUDwML_01my4QjITqCSkVDmygbv0uE76U1fSLlpAdjbKhg/s320/BidangDatar02.png" alt="" id="BLOGGER_PHOTO_ID_5289987336572763906" border="0" /></a></p><p>Untuk fungsi yang lebih kompleks, definisikan fungsinya terlebih dahulu. Contoh berikut ini adalah menggambarkan grafik fungsi berikut:</p><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSvnb9G4U8Uy9ZOq0VIOuIwBG7gu84QjKCuB1mEe9Yqi6I774qleUvBLGt1F3H3n3fuq3cu1Cbsnbw-0Hjh05myVz1mTJKWa86E6RymWYqUhgQ_RpAo6gGt-vJeoeKimcf3KNndQPWoFo/s1600-h/Fungsi03.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 154px; height: 28px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSvnb9G4U8Uy9ZOq0VIOuIwBG7gu84QjKCuB1mEe9Yqi6I774qleUvBLGt1F3H3n3fuq3cu1Cbsnbw-0Hjh05myVz1mTJKWa86E6RymWYqUhgQ_RpAo6gGt-vJeoeKimcf3KNndQPWoFo/s320/Fungsi03.png" alt="" id="BLOGGER_PHOTO_ID_5289987653231027538" border="0" /></a></p><p><span style=";font-family:Courier New;font-size:100%;" >> # misalkan fungsinya diberi nama f2</span></p><p><span style=";font-family:Courier New;font-size:100%;" >> f2 <- function(x, y){ x * sin(y) + y*sin(x)}<br />> z2 <- outer(x, y, "f2")</span></p><p><span style=";font-family:Courier New;font-size:100%;" >> persp( x, y, z2)</span></p><p>Grafik yang ditampilkan adalah sebagai berikut:</p><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnIBEEzejRbg4HndYPVeJGio08BUC3x7Ywvjr-clLn7HxY6HkYjBjicwv6a8rVl4-SvRIolb1BQKZ1KdsMuFS6Lwhv-jpBmrSDDST50xk1F_UtBItAchs2Tz96QfFicPUXOR57FRWh6cc/s1600-h/GrafikFungsi.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 289px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnIBEEzejRbg4HndYPVeJGio08BUC3x7Ywvjr-clLn7HxY6HkYjBjicwv6a8rVl4-SvRIolb1BQKZ1KdsMuFS6Lwhv-jpBmrSDDST50xk1F_UtBItAchs2Tz96QfFicPUXOR57FRWh6cc/s320/GrafikFungsi.png" alt="" id="BLOGGER_PHOTO_ID_5289987933324831922" border="0" /></a></p><p>Perintah berikut ini memberikan perpektif yang lebih baik</p><br /><p><span style=";font-family:Courier New;font-size:100%;" >> persp(x, y, z2, theta=45, phi=45, col="slateblue")</span></p><p>Grafik yang ditampilkan adalah sebagai berikut:</p><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilV3dor1D6WQL6F-EL4gzIc5TshB2YYp-WEU7m05QLl9KwOmam8IQa3fP8gVb_VQxHOJ-zOAX_4Rgh821FaN5Ige-8pkPhY40fjG8khIXtOlaSrjszJKVLxm_e0GX6rkciyzqUL_qvgQY/s1600-h/GrafikFungsi02.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 311px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilV3dor1D6WQL6F-EL4gzIc5TshB2YYp-WEU7m05QLl9KwOmam8IQa3fP8gVb_VQxHOJ-zOAX_4Rgh821FaN5Ige-8pkPhY40fjG8khIXtOlaSrjszJKVLxm_e0GX6rkciyzqUL_qvgQY/s320/GrafikFungsi02.png" alt="" id="BLOGGER_PHOTO_ID_5289988642414234450" border="0" /></a></p><p>Argumen <span style=";font-family:Courier New;font-size:100%;" >col</span> pada fungsi <span style=";font-family:Courier New;font-size:100%;" >persp</span> akan memberikan warna pada grafik yang kita buat. Untuk melihat warna-warna apa saja yang dapat diterima oleh R, gunakan perintah berikut ini:</p><p><span style=";font-family:Courier New;font-size:100%;" >> colors() # atau<br />> colours()</span></p><p>Perintah R berikut ini memberikan gambar lain yang lebih menarik. Fungsi yang ingin digambarkan adalah:</p><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwSjooZbnJWyYYG5dRvO_MaKbbXGpnFsw1pOgM3ECWZ9JDaDYkdUz8BCpi1TariEeuVAgyqRlG9A4l565WE595x5mLcx65H6Kpfnrm_EX_5BAaPSzqhd7sfY-uYFHpDfVw4VqjZBP_Bvg/s1600-h/Fungsi05.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 191px; height: 53px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwSjooZbnJWyYYG5dRvO_MaKbbXGpnFsw1pOgM3ECWZ9JDaDYkdUz8BCpi1TariEeuVAgyqRlG9A4l565WE595x5mLcx65H6Kpfnrm_EX_5BAaPSzqhd7sfY-uYFHpDfVw4VqjZBP_Bvg/s320/Fungsi05.png" alt="" id="BLOGGER_PHOTO_ID_5289988944864819234" border="0" /></a></p><p><span style=";font-family:Courier New;font-size:100%;" >> x <- seq(-10, 10, length= 50)<br />> y <- x<br />> f <- function(x,y) { r <- sqrt(x^2+y^2); 10 * sin(r)/r }<br />> z <- outer(x, y, f)</span></p><p><span style=";font-family:Courier New;font-size:100%;" >> persp(x, y, z, theta=45, phi=30, col="skyblue")</span></p><p>Grafik yang ditampilkan adalah sebagai berikut:</p><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGW8zAZp-K1wAGW2I-VYDGMj08DoiDIqHkXLuCzcafWsO3GdJOSDtyrapucj9Dk74NexpDjMsgavxzKhH8alhbym3ThkOKBjJQ7HOYOnjY1x5ulhDEcy-VdkyJHfvJ89LPc-o6aLoSORE/s1600-h/GrafikFungsi03i.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 314px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGW8zAZp-K1wAGW2I-VYDGMj08DoiDIqHkXLuCzcafWsO3GdJOSDtyrapucj9Dk74NexpDjMsgavxzKhH8alhbym3ThkOKBjJQ7HOYOnjY1x5ulhDEcy-VdkyJHfvJ89LPc-o6aLoSORE/s320/GrafikFungsi03i.png" alt="" id="BLOGGER_PHOTO_ID_5289989360427045714" border="0" /></a></p><p>Perintah R berikut ini memberikan gambar fungsi yang sama, tetapi dengan perspektif yang lain (<span style=";font-family:Courier New;font-size:100%;" >theta = 30</span> dan <span style=";font-family:Courier New;font-size:100%;" >phi = 45</span>), dan warna kuning (<span style=";font-family:Courier New;font-size:100%;" >col = "orange"</span>).</p><p><span style=";font-family:Courier New;font-size:100%;" >> persp(x, y, z, theta=30, phi=45, col="orange")</span></p><p>Grafik yang ditampilkan adalah sebagai berikut:</p><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik7bdLPmTbPUPZesXYEA7OJdsdh79eaV2F6m9zjzhElevXR-_fjIJ8uw5zA_ae7pgYNiJnxshv80FAnhyX4Rq138QZ0h6IExm9uFZ0b0J6Q9NSZ_8KI1md4nIp4-BTTpvRTrxtSkVzFyw/s1600-h/GrafikFungsi04.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 308px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik7bdLPmTbPUPZesXYEA7OJdsdh79eaV2F6m9zjzhElevXR-_fjIJ8uw5zA_ae7pgYNiJnxshv80FAnhyX4Rq138QZ0h6IExm9uFZ0b0J6Q9NSZ_8KI1md4nIp4-BTTpvRTrxtSkVzFyw/s320/GrafikFungsi04.png" alt="" id="BLOGGER_PHOTO_ID_5289989637036353506" border="0" /></a></p><p align="left">Perintah R berikut ini memberikan gambar fungsi yang sama, tetapi dengan detil yang lebih baik.</p><p><span style=";font-family:Courier New;font-size:100%;" >> persp(x, y, z, theta = 30, phi = 30, col = "lightblue",<br />+ ltheta = 120, shade = 0।75, ticktype = "detailed",<br />+ xlab = "X", ylab = "Y", zlab = "f(x, y)" )</span></p><p>Grafik yang ditampilkan adalah sebagai berikut:</p><span style="font-size:180%;"><strong><div align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKAxbwFT6GrF91y5VcF0eKLuiGqcPEqHud0_cHSPyOxMqh7HT8xUrT6PtgOITs9kbjoLMdCZVu4_rTttUBAokGTAMXsng6xQI2eHJ7pzyFtBpkc2SkUUxzywxbSReGqEzoMuDU81IB9pU/s1600-h/GrafikFungsi05.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 310px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKAxbwFT6GrF91y5VcF0eKLuiGqcPEqHud0_cHSPyOxMqh7HT8xUrT6PtgOITs9kbjoLMdCZVu4_rTttUBAokGTAMXsng6xQI2eHJ7pzyFtBpkc2SkUUxzywxbSReGqEzoMuDU81IB9pU/s320/GrafikFungsi05.png" alt="" id="BLOGGER_PHOTO_ID_5289990012886547954" border="0" /></a></div></strong></span><span style="font-size:180%;"><strong>Bidang "Countour"</strong></span><p>Bidang countour merupakan proyeksi grafik tiga dimensi kebidang XY, yang mana ketinggian grafik digambarkan oleh garis-garis countour yang samakin rapat atau padat. Perintah-perintah berikut ini menggambarkan bidang countour tersebut, dengan fungsi R <span style=";font-family:Courier New;font-size:100%;" >countour</span> dan <span style=";font-family:Courier New;font-size:100%;" >image</span>.</p><p><span style=";font-family:Courier New;font-size:100%;" >> contour(x, y, z)</span></p><p>Grafik yang ditampilkan adalah sebagai berikut:</p><p align="center"><img src="http://img71.imageshack.us/img71/5189/countour011tf9.png" alt="Countour01" align="center" border="0" height="406" hspace="8" width="437" /></p><p><span style=";font-family:Courier New;font-size:100%;" >> image(x, y, z)</span></p><p>Grafik yang ditampilkan adalah sebagai berikut:</p><p><br /></p><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmdK0mqaoMsfb5Yz6SE9ZdLVfTOefnG5YgZXx1VfFLo9WGkqtCu38vLDgXjM_0k4srJNpfJDXD53e9iYDtzQx3WQIaEMZWJksPgrGCi985Xgze4ldduIT5qZ-FdDsBjShxiFUZlwa2ENw/s1600-h/Countour02.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 301px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmdK0mqaoMsfb5Yz6SE9ZdLVfTOefnG5YgZXx1VfFLo9WGkqtCu38vLDgXjM_0k4srJNpfJDXD53e9iYDtzQx3WQIaEMZWJksPgrGCi985Xgze4ldduIT5qZ-FdDsBjShxiFUZlwa2ENw/s320/Countour02.png" alt="" id="BLOGGER_PHOTO_ID_5287378927786028690" border="0" /></a></p><p><span style=";font-family:Courier New;font-size:100%;" >> image(x, y, z, col=rainbow(n=100))</span></p><p>Grafik yang ditampilkan adalah sebagai berikut:</p><br /><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid41n2xur567db6STVlPHDgWTZfzlPe2O_EXF0SQ2_td4920gtWoJvR7Xbxa3ung4wU1st4tbkRZtAUy2O6ngv2IyIIa2r_x3k8qVM78jznypahOu9Vdung_9PwSLeBaRQevepWSXqI1E/s1600-h/Countour04.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 299px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid41n2xur567db6STVlPHDgWTZfzlPe2O_EXF0SQ2_td4920gtWoJvR7Xbxa3ung4wU1st4tbkRZtAUy2O6ngv2IyIIa2r_x3k8qVM78jznypahOu9Vdung_9PwSLeBaRQevepWSXqI1E/s320/Countour04.png" alt="" id="BLOGGER_PHOTO_ID_5287379175413760290" border="0" /></a></p><p><span style=";font-family:Courier New;font-size:100%;" >> image(x, y, z, col=terrain.colors(n=100))</span></p><p>Grafik yang ditampilkan adalah sebagai berikut:</p><p align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu9gNZHPS1uCU0CgRJ4UJl-uDZX4FvrGDH5LV_2_g7sHSke8usFVn86rikgYEYOA49s6cx4SaUVkmQlpNUOnLfeiiGVFbpKf4_82B-lop1Heg1XAfIrA95LuOE2zHEH3wr1MWEJy_UJJc/s1600-h/Countour03.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 298px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu9gNZHPS1uCU0CgRJ4UJl-uDZX4FvrGDH5LV_2_g7sHSke8usFVn86rikgYEYOA49s6cx4SaUVkmQlpNUOnLfeiiGVFbpKf4_82B-lop1Heg1XAfIrA95LuOE2zHEH3wr1MWEJy_UJJc/s320/Countour03.png" alt="" id="BLOGGER_PHOTO_ID_5287379420687951026" border="0" /></a></p>Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com3tag:blogger.com,1999:blog-4308707388340857925.post-63250942583763345652009-01-02T07:11:00.000+07:002009-01-02T07:17:01.755+07:00Analisis Numerik<p><span style="font-family:Verdana;">R dapat digunakan untuk mencari akar persamaan Matematika. contohnya adalah akar persamaan berikut ini:</span></p><div style="text-align: center;"><span style="font-family:Verdana;"><img src="http://img205.imageshack.us/img205/4634/akarpersfs7.jpg" alt="AkarPers" align="center" border="0" height="52" hspace="8" width="132" /></span><br /></div><p><span style="font-family:Verdana;">Perintahnya adalah sebagai berikut.</span></p><br /><p><span style="font-family:Courier New;">> # Penyelesaian Akar Persamaan<br />> # - variabel tunggal (<em>univariate</em>)</span></p><br /><p><span style="font-family:Courier New;">> # Definisikan fungsinya, misal f.akar<br />> f.akar <- function(x){ x - cos(x^2) }<br />> x <- seq(0, pi, length=100)<br />> plot(x, f.akar(x), type="l")<br />> abline(h=0, lwd=2, col=2)</span></p><br /><p><span style="font-family:Verdana;">Perintah tersebut akan menampilkan grafik berikut.</span></p><p align="center"><img src="http://img205.imageshack.us/img205/8588/grafikakarpers02oa5.png" alt="GrafikAkarPers02" align="center" border="0" height="476" hspace="8" width="476" /></p><span style="font-family:Verdana;">Perpotongan antara kurva dengan garis horisontal (<span style="color:#ff0000;">berwarna merah</span>) adalah akar persamaan tersebut. Titik potong tersebut berada antara titik 0.5 dan 1.0.</span><br /><p><span style="font-family:Courier New;">> uniroot(f = f.akar, interval=c(0.5, 1) )</span></p><span style="font-family:Verdana;">Outputnya adalah</span><br /><p><span style="font-family:Courier New;">$root<br />[1] 0.8010704</span></p><span style="font-family: courier new;">$f.root</span><br /><p><span style="font-family:Courier New;">[1] -8.13351e-07</span></p><span style="font-family: courier new;">$iter</span><br /><p><span style="font-family:Courier New;">[1] 4<br /></span></p><span style="font-family:Verdana;">Jadi nilai akar persamaan tersebut diaproksimasi sebesar 0.8010704</span><br /><p><span style="font-family:Courier New;"><span style="font-family:Verdana;">Ok Sekian dulu lain kali sambung lagi.</span> <img src="http://picturelli.com/images/emo/smile_wink.gif" valign="absmiddle" alt=";-)" border="0" /></span></p><span style="font-family:Courier New;"></span>Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com1tag:blogger.com,1999:blog-4308707388340857925.post-85001683092016140482008-12-27T18:22:00.000+07:002008-12-27T18:37:22.094+07:00Komputasi Saintifik<span style="font-family: webdings;font-family:sans-serif;font-size:100%;" >Kemampuan R untuk melakukan Komputasi Saintifik adalah sangat bagus. Berikut ini contoh peragaan grafik trigonometri.<br /></span><span style="font-family:sans-serif;"><span style="font-family:David Transparent;"><br /></span><span style="font-size:100%;"><span style="font-family:Courier New;">> h <- 0.1 # beri nilai h sama dengan 0.1</span></span></span> <span style="font-size:100%;"><br /><br /></span><span style="font-family:sans-serif;font-size:100%;"><span style="font-family:Courier New;">> x <- seq( 0, 2*pi, by=h)</span></span><span style="font-family:sans-serif;font-size:100%;"><span style="font-family:Courier New;"># x merupakan sekuens dari 0 samapi 2 pi</span></span> <span style="font-size:100%;"><br /><br /></span><span style="font-family:sans-serif;font-size:100%;"><span style="font-family:Courier New;">> y <- sin(x)# <span style="font-size:85%;">merupakan vektor yang nilainya adalah sin dari vektor x</span></span></span> <span style="font-size:100%;"><span style="font-size:85%;"><br /></span><br /></span><span style="font-family:sans-serif;font-size:100%;"><span style="font-family:Courier New;">> x1 <- x + h</span></span> <span style="font-size:100%;"><br /><br /></span><span style="font-family:sans-serif;font-size:100%;"><span style="font-family:Courier New;">> y1 <- sin(x1)</span></span> <span style="font-size:100%;"><br /><br /><span style="font-family:Courier New;">> dy <-(y1 - y)/h # <span style="font-size:85%;">bila h mendekati 0 maka dy adalah turunan y</span></span><br /><br /></span> <small><span style="font-family:Courier New;font-size:100%;"><span style="font-size:100%;">> plot( x, y, type="l" )<br /></span><br /></span><span style="font-weight: bold; color: rgb(0, 0, 153);font-family:David Transparent;font-size:85%;" ><big><span style="font-size:100%;">Hasilnya ada</span>lah:</big></span></small><span style="font-family:David Transparent;"> <img src="http://img387.imageshack.us/img387/2231/plot01111lx6.jpg" alt="Plot01" align="left" border="0" height="460" hspace="8" width="460" /></span><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><span style="font-family:David Transparent;"><br /><br /><br /><span style="color: rgb(0, 0, 153); font-family: webdings; font-weight: bold;font-size:100%;" >Gambar 1: Plot x dan y = sin x</span></span> <span style="color: rgb(0, 0, 153); font-family: webdings; font-weight: bold;font-size:100%;" ><br /></span><br /><span style="font-family:Courier New;font-size:100%;">> plot( x, y, type="n", axes=FALSE ) # menyiapkan bidang plot</span> <span style="font-size:100%;"><br /><br /></span><span style="font-family:Courier New;font-size:100%;">> lines(x, y) # menggambar plot x dan y</span> <span style="font-size:100%;"><br /><br /></span><span style="font-family:Courier New;font-size:100%;">> axis(side=1, at=seq(0, 2*pi, by=pi/2),<br />+ labels= expression(0,paste(pi,"/2"),</span><span style="font-size:100%;"><span style="font-family:Courier New;"> pi, </span><span style="font-family:Courier New;">paste("3",pi,"/2"),<br />+ paste("2",pi)) ) </span><br /><br /></span><span style="font-family:Courier New;font-size:100%;">> axis(side=2, at=seq(-1, 1, by=0.25), labels= seq(-1, 1,<br />+ by=0.25) )</span> <span style="font-size:100%;"><br /><br /></span><span style="font-family:Courier New;font-size:100%;">> box()</span> <span style="font-size:100%;"><br /><br /></span><span style="font-family:Courier New;font-size:100%;">> lines(x, dy, lty=2, col=2 )</span> <span style="font-size:100%;"><br /><br /></span><span style="font-family:Courier New;font-size:100%;">> abline(h=0, lwd=2)</span> <span style="font-size:100%;"><br /><br /></span><span style="font-size:100%;"><span style="font-family:Courier New;">> </span><span style="font-family:Courier New;">legend(4, 1, legend=c("f(x) = sin(x)","f’(x) = cos(x)"),</span><br /></span><span style="font-family:Courier New;font-size:100%;">+ lty=c(1,2), col=c(1,2))</span> <span style="font-size:100%;"><br /></span><br /><span style="font-family: webdings; color: rgb(0, 0, 153); font-weight: bold;font-family:David Transparent;font-size:130%;" >Hasilnya adalah:</span> <span style="font-weight: bold;font-size:130%;" ><br /></span><br /><img src="http://img387.imageshack.us/img387/3175/plot02b11ok9.png" alt="Plot02b" align="left" border="0" height="460" hspace="8" width="464" /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><span style="font-family: webdings; font-weight: bold; color: rgb(0, 0, 153);font-family:David Transparent;" >Gambar 2: Plot x terhadap y = sin x dan dy/dx = cos x</span> <br /><br />Sekian dulu ya, nanti dilanjukan lagi dengan topik lain ......<img src="http://picturelli.com/images/emo/smile_wink.gif" valign="absmiddle" alt=";-)" border="0" />Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com1tag:blogger.com,1999:blog-4308707388340857925.post-9053690996360281542008-12-25T21:18:00.000+07:002008-12-25T21:51:31.861+07:00MANIPULASI DATA DAN GRAFIK MENGGUNAKAN BAHASA R<h2>ABSTRACT</h2><br /><p><em> R is an open-source environment for statistical computing and visualisation. It is based on the S language developed at Bell Laboratories, and is the product of an active movement among statisticians for a powerful, programmable, portable, and open computing environment, applicable to the most complex and sophisticated problems, as well as “routine” analysis, without any restriction on access or use. The aims of this paper is to illustrate the capabilty of the R language.</em></p><br /><p><em>Key words: Statistics, Statistical Computating, R language programming, open-source software.</em></p><br /><h1>PENDAHULUAN</h1><br /><p> Bahasa R merupakan versi sumber terbuka (<em>open-source</em>) dari bahasa pemrograman S (Azola dan Harrel, 2006). Versi komersial yang berbasis bahasa S adalah S plus. Bahasa R memiliki kemampuan yang tidak kalah dangan paket-paket program pengolahan data komersial bahkan dalam beberapa hal kemampuannya lebih baik. Perbandingan R khususnya terhadap SAS dibahas secara rinci oleh Azola dan Harrel (2006). Bahasa R mendapat sambutan yang baik dari kalangan statistikawan di seluruh dunia, sayangnya di Indonesia belum banyak dikenal. Tulisan ini dibuat untuk mengenalkan bahasa R khsusunya kalangan akademisi di Indonesia, dan untuk mendukung gerakan IGOS (<em>Indonesia Go Open Source</em>).</p><br /><p> Permasalahan yang ingin diungkapkan dalam tulisan ini meliputi, 1) apa saja kemampuan dasar bahasa R? dan 2) Bagaimana menggunakan bahasa R (teknik komputasinya)?</p><br /><p> Tulisan ini bertujuan untuk memberikan gambaran mengenai bahasa R dan kemampuan komputasinya, khususnya dalam manipulasi data dan visualisasi grafik. Kemampuan tersebut yang dipilih karena merupakan hal yang paling penting dalam operasi pengolahan data/statistik. Versi yang digunakan adalah R 2.4.1 dibawah sistem operasi windows.</p><br /><p> Tulisan ini merupakan studi kepustakaan dan pengujian atas kemampuan komputasinya dicoba secara langsung, mengunakan PC Pentium (R) 4 CPU 1.70 GHz dengan sistem Windows XP dan RAM 256 MB.</p><br /><p><strong>CARA KERJA BAHASA R</strong></p><br /><p> Verzani (2002) mengemukakan bahwa keuntungan-keuntungan yang diperoleh bila menggunakan bahasa R untuk pengolahan data dan statistik antara lain: R dapat diakses gratis dan dapat dijalankan pada berbagai sistem operasi (UNIX, Windows, Macintosh), sintaksnya mudah dipelajari dan memiliki banyak sekali fungsi-fungsi statistik terpasang. Disamping keuntungan tersebut Verzani (2002) juga mengumukakan kelemahan utama bahasa R adalah tidak adanya dukungan komersial. Azola dan Harrel (2006) memberikan perbandingan rinci atas kemampuan bahasa R terhadap program komersial SAS. S-Plus sebagai “kembaran” komersial dari bahasa R memiliki antar muka yang lebih baik, tetapi berjalan sedikit labih lambat dari pada R.</p><br /><p> R merupakan sebuah paket dan sekaligus bahasa pemrograman untuk analisis data dan grafik. R merupakan bahasa pemrograman tingkat tinggi (<em>hight level programming</em>). R dapat digunakan secara interaktif sehingga hasil perhitungan segera dapat dilihat, tetapi apabila perhitungannya kompleks maka perintah-perintah R ditulis lebih dahulu dalam text editor, kemudian dipanggil dengan fungsi <font face="Courier New" size="3" >source</font>. Program R dapat di akses gratis di internet di <a href="http://www.r-project.org/">http://www.r-project.org/</a>. dan sebagaimana halnya program <em>open source</em>, R dirancang secara <em>voluntary</em> oleh ahli-ahli statistik dan pemrograman di seluruh dunia, sehingga perkembangannya sangat pesat, Versi R terakhir ketika tulisan ini dibuat adalah 2.4.1. R juga dilengkapi dengan <em>package</em> (<em>add-in</em>) yang memberikan kemampuan tambahan, misalnya perhitungan teknik-teknik statistik yang canggih, <em>interface</em> dan lain-lain. <em>Packages</em> ini juga dapat diakses gratis. Secara periodik muncul <em>package- package</em> baru yang menarik yang dapat dipilih sesuai kebutuhan. Semua <em>package</em> ini dapat diperoleh gratis di <a href="http://cran.r-project.org/">http://cran.r-project.org/</a>. Gambar 1 berikut ini memberikan GUI (<em>Graphics User Interface</em>) / antar muka grafis standard dari bahasa R. Terdapat banyak GUI lain yang juga dapat diperoleh gratis antara lain SciViews dan Rcmdr. Rcmdr dikemas dalam bentuk <em>package</em> R.</p><br /><p><font size="+0"><img src="http://img151.imageshack.us/img151/9041/image001qd7.jpg" height="356" width="475" align="center" border="0" alt="image001" /></p></font><br /><p>Gambar 1. Antar muka grafis bahasa R</p><br /><p> Bahasa R dan dengan demikian juga S merupakan bahasa yang dirancang untuk komputasi statistik, grafik dan matriks. Tulisan ini bertujuan untuk mengeksplorasi kemampuan bahasa R khususnya untuk analisis data dan pembuatan grafik.</p><br /><br /><h1 style="TEXT-ALIGN: justify">Skema Kerja Bahasa R</h1><br /><p> Setelah R terinstal pada komputer maka dapat diakses melalui <em>shortcut</em> atau menu <em>start</em>. Prompt default “<font face="Courier New" size="3" >></font>” mengindikasikan bahwa R menunggu perintah yang diberikan, baik berupa fungsi maupun objek lain. R merupakan suatu bahasa berorientasi objek, artinya bahwa variabel, data, fungsi, hasil dan sebagainya, disimpan dalam memori aktif komputer dalam bentuk objek dan mempunyai sebuah nama. Pengguna dapat mengenakan aksi terhadap objek-objek tersebut melalui suatu operator (aritmatika, logika, dan perbandingan) dan fungsi (<em>functions</em>). Fungsi itu sendiri juga merupakan suatu objek. Penamaan terhadap objek bersifat <em>case sensitive</em> (membedakan huruf besar dan huruf kecil). Jadi <font face="Courier New" size="3" >X</font> dan <font face="Courier New" size="3" >x</font> merupakan objek yang berbeda. <strong> </strong> <br /><br /><img src="http://img151.imageshack.us/img151/826/gambar2yx0.jpg" height="102" alt="Gambar2" hspace="8" width="414" align="top" border="0" /></p><br /><p>Gambar 2. Sketsa fungsi R (Paradis, 2002)</p><br /><p> Argumen suatu fungsi dalam R juga merupakan suatu objek (“data”, formula, expresi, dan sebagainya). Beberapa fungsi menyediakan nilai default dari argumennya, nilai ini dapat diubah oleh penggunanya dengan <em>options</em> tertentu. Beberapa fungsi tidak membutuhkan nilai argumen dalam menjalankan perintahnya, hal ini dapat terjadi karena ada dua kemungkinan 1) semua argumennya mempunyai nilai default (karenanya dapat diubah dengan <em>options</em>). Jadi dalam mengeksekusi fungsi tersebut tidak perlu memasukkan nilai argumen, karena fungsi akan menggunakan nilai default sebagai nilai argumen. 2) tidak ada argumen yang didefinisikan sebelumnya pada fungsi tersebut.</p><br /><p> Objek-objek R (termasuk fungsi) dikemas dalam bentuk <em>add-ins</em> yang oleh R disebut dengan <em>package</em>. Pada saat R dipanggil pertama kali, maka ada tujuh <em>package</em> yang dipanggil dan disimpan dalam memori aktif. Perintah R untuk melihat <em>package</em> apa saja yang sedang aktif adalah:</p><br /><p><font face="Courier New" size="2" >> search()</font></p><br /><p><font face="Courier New" size="2" >[1] ".GlobalEnv" "package:stats" "package:graphics"</font></p><br /><p><font face="Courier New" size="2" >[4] "package:grDevices" "package:utils" "package:datasets"</font></p><br /><p><font face="Courier New" size="2" >[7] "package:methods" "Autoloads" "package:base"</font></p><br /><p>Fungsi <font face="Courier New" size="3" >search()</font> adalah contoh fungsi R tanpa argumen. Hasil eksekusi dari fungsi <font face="Courier New" size="3" >search()</font> ini disajikan di bawahnya. Jadi setiap nama objek yang diketik pada <em>console</em> (GUI) R akan ditelusuri ke <font face="Courier New" size="2" >".GlobalEnv", "package:stats", "package:graphics", ..., "package:base"</font>. Pesan error akan muncul apabila nama objek yang diketik pada <em>console</em> tidak dikenal.</p><br /><p> Untuk memperoleh bantuan digunakan fungsi <font face="Courier New" size="3" >help</font>, sedangkan untuk melihat argumen-argumen apa saja yang dibutuhkan oleh fungsi <font face="Courier New" size="3" >help</font>, digunakan perintah (fungsi) <font face="Courier New" size="3" >args</font>. </p><br /><p><font face="Courier New" size="2" >> args(help)</font></p><br /><p><font face="Courier New" size="2" >function (topic, offline = FALSE, package = NULL, lib.loc = NULL,</font></p><br /><p><font face="Courier New" size="2" > verbose = getOption("verbose"),</font></p><br /><p><font face="Courier New" size="2" > try.all.packages = getOption("help.try.all.packages"),</font></p><br /><p><font face="Courier New" size="2" > chmhelp = getOption("chmhelp"),</font></p><br /><p><font face="Courier New" size="2" > htmlhelp = getOption("htmlhelp"),</font></p><br /><p><font face="Courier New" size="2" > pager = getOption("pager"))</font></p><br /><br /><p> Terlihat disini bahwa, fungsi help mempunyai 9 argumen yaitu <font face="Courier New" size="3" >topic</font>, <font face="Courier New" size="3" >offline</font>, <font face="Courier New" size="3" >package</font>, …, <font face="Courier New" size="3" >pager</font>. Argumen <font face="Courier New" size="3" >offline</font>, <font face="Courier New" size="3" >package</font> dan <font face="Courier New" size="3" >lib.loc</font> berturut-turut mempunyai nilai default <font face="Courier New" size="3" >FALSE</font>, <font face="Courier New" size="3" >NULL</font> dan <font face="Courier New" size="3" >NULL</font>. Argumen <font face="Courier New" size="3" >verbose</font> mempunyai nilai default berupa fungsi <font face="Courier New" size="3" >getOption</font> yang diberi nilai “<font face="Courier New" size="3" >verbose</font>”. Oleh karena args merupakan suatu fungsi, maka untuk melihat argumen apa saja yang tersedia bagi args adalah</p><br /><p><font face="Courier New" size="2" >> args(args)</font></p><br /><p><font face="Courier New" size="2" >function (name)</font></p><br /><p> Terlihat bahwa fungsi <font face="Courier New" size="3" >args</font> hanya membutuhkan satu arugmen, yaitu <font face="Courier New" size="3" >name</font> tanpa nilai default. Perintah <font face="Courier New" size="3" >args(help)</font> memberikan hasil yang sama dengan <font face="Courier New" size="3" >args(name=help)</font>. Jadi nilai argumen suatu fungsi dapat ditulis langsung tanpa didahului oleh nama argumennya, tetapi apabila ada lebih dari satu argumen pada suatu fungsi, maka urutan penulisan nilainya perlu diperhatikan. Penulisan nilai argumen dengan nama argumen didepannya, dapat dilakukan tanpa memperhatikan urutannya.</p><br /><p> Fungsi-fungsi terpasang (<em>built in</em>) apa saja yang disediakan oleh package base, dapat dilihat dengan menggunakan fungsi help sebagai berikut.</p><br /><p><font face="Courier New" size="2" >> help(package=’base’)</font></p><br /><p>Hasilnya adalah sebuah window, yang mendaftarkan semua objek dan fungsi terpasang yang disediakan oleh package base.</p><br /><p> Semua aksi pada R dilakukan dengan memanipulasi objek yang tersimpan pada memori aktif komputer: tanpa menggunakan <em>file temporary</em>. Pengguna mengeksekusi fungsi, yang mana nilai argumen akan menentukan hasilnya (dapat juga berupa suatu grafik). Hasil eksekusi ini diperagakan secara langsung pada layar, disimpan pada sebuah objek yang dapat diberi nama tertentu, atau ditulis pada disk (khusunya grafik). Oleh karena hasil itu sendiri merupakan sebuah objek, maka objek ini dapat merupakan nilai argumen (data) bagi fungsi lain untuk selanjutnya dieksekusi. Gambar 3 berikut ini memperagakan skema kerja bahasa R.</p><br /><br /><h1>Bekerja dengan data</h1><br /><p> R bekerja berdasarkan jenis struktur datanya. Struktur data paling sederhana adalah vector. Vektor dibuat dengan fungsi <font face="Courier New">c</font>, hasilnya disimpan dalam suatu objek. Berikut ini adalah teladan tipe vektor numerik.</p><br /><p><font face="Courier New">> x <- c(10, 4.5, 6, 7, 2.3, 7.1)</font></p><br /><br /><p>Objek <font face="Courier New">x</font> menyimpan nilai numerik 10, 4.5, 6, 7, 2.3, dan 7.1. Perintah untuk menampilkan isi dari objek <font face="Courier New">x</font> adalah.</p><br /><p><font face="Courier New">> x</font></p><br /><p><font face="Courier New">[1] 10.0 4.5 6.0 7.0 2.3 7.1</font></p><br /><p>Perintah untuk memperoleh nilai objek x pada urutan yang ketiga adalah</p><br /><p><font face="Courier New">> x[3] # digunakan kurung siku untuk mengacu pada subcript</font></p><br /><p><font face="Courier New">[1] 6</font></p> <img src="http://img151.imageshack.us/img151/889/gambar3ly9.jpg" height="280" alt="Gambar3" hspace="8" width="514" align="top" border="0" /><br /><br /><br /><p>Gambar 3. Skema kerja bahasa R (Paradis, 2002)</p><br /><p>Perintah berikut memberikan vektor logika (<font face="Courier New">TRUE</font> atau <font face="Courier New">FALSE</font>) untuk nilai-nilai objek yang lebih besar dari 6.</p><br /><p><font face="Courier New">> x.lebih.dari.6 <- x>6</font></p><br /><p><font face="Courier New">> x.lebih.dari.6</font></p><br /><p><font face="Courier New">[1] TRUE FALSE FALSE TRUE FALSE TRUE</font></p><br /><br /><p>Objek <font face="Courier New">x.lebih.dari.6</font> merupakan objek bertipe <em>logical</em>. Nilai-nilai objek <font face="Courier New">x</font> yang lebih besar dari 6 diakses, dengan perintah sebagai berikut.</p><br /><p><font face="Courier New">> x[x.lebih.dari.6]</font></p><br /><p><font face="Courier New">[1] 10.0 7.0 7.1</font></p><br /><br /><p> Objek <font face="Courier New">x</font> dapat dikonversikan menjadi bertipe <em>character</em>, yaitu dengan perintah sebagai berikut</p><br /><p><font face="Courier New">> y <- as.character(x) #</font> <font face="Courier New">objek x dikonversikan ke tipe karakter</font></p><br /><p><font face="Courier New" size="2" >> y</font></p><br /><p><font face="Courier New" size="2" >[1] "10" "4.5" "6" "7" "2.3" "7.1"</font></p><br /><p> Rata-rata, median, ragam dan simpangan baku dari data yang disimpan pada peubah (objek) <font face="Courier New" size="3" >x</font>, diperoleh dengan menggunakan fungsi-fungsi berikut:</p><br /><p><font face="Courier New" size="2" >> mean(x)</font></p><br /><p><font face="Courier New" size="2" >[1] 6.15</font></p><br /><p><font face="Courier New" size="2" >> var(x)</font></p><br /><p><font face="Courier New" size="2" >[1] 6.803</font></p><br /><p><font face="Courier New" size="2" >> sd(x)</font></p><br /><p><font face="Courier New" size="2" >[1] 2.608256</font></p><br /><p>Ringkasan statistik untuk data yang disimpan pada objek <font face="Courier New" size="3" >x</font>, dieksekusi dengan fungsi <font face="Courier New" size="3" >summary</font> berikut.</p><br /><p><font face="Courier New" size="2" >> ringkas<-summary(x)</font></p><br /><p><font face="Courier New" size="2" >> # hasil fungsi summary disimpan pada objek ringkas</font></p><br /><p><font face="Courier New" size="2" >> ringkas</font></p><br /><p><font face="Courier New" size="2" > Min. 1st Qu. Median Mean 3rd Qu. Max.</font></p><br /><p><font face="Courier New" size="2" > 2.300 4.875 6.500 6.150 7.075 10.000</font></p><br /><p><strong>Interaksi R dengan format data berbeda</strong></p><br /><p><font face="Times New Roman"> Fungsi read.table digunakan untuk membaca data dalam format ascii (txt, dat). Fungsi ini tersedia pada package base. Perintah untuk memanggil file CANCER.txt adalah sebagai berikut.</font> </p><br /><p>> kanker<-read.table(file=’CANCER.txt’, header=TRUE) </p><br /><p>> kanker </p><br /><p><img src="http://img151.imageshack.us/img151/5845/gambar03kr5.jpg" height="140" alt="Gambar03" hspace="8" width="198" align="top" border="0" /> </p><br /><p><font face="Times New Roman">File CANCER.txt disumsikan tersedia pada direktory default. Perubahan <em>working direktory</em> dapat dilakukan melalui menu <em>Change dir…</em> atau dengan perintah </font>setwd<font face="Times New Roman">. fungsi </font>file.choose()<font face="Times New Roman"> dapat digunakan sebagai nilai dari argumen </font>file<font face="Times New Roman">, untuk memilih file yang dikehendaki, sehingga ditulis sebagai berikut:</font> </p><br /><p>> kanker<-read.table(file=file.choose(), header=TRUE) </p><br /><p> Fungsi R untuk menyimpan suatu objek dalam format ascii adalah write.table, yaitu sebagai berikut:</p><br /><p><font face="Courier New">> write.table(kanker, file="Kanker.txt")</font></p><br /><p>Perintah ini akan menyimpan objek kanker ke file <em>Kanker.txt</em> pada direktori default di <em>hard disk</em>.</p><br /><p> R dapat membaca file data dengan format <em>xls</em> (<em>spreadsheet excel</em>), dengan perintah <font face="Courier New">read.xls</font>. Fungsi ini tersedia pada package <font face="Courier New">xlsReadWrite</font>, yang mana dapat di download gratis pada <a href="http://cran.r-project.org/">http://cran.r-project.org</a>.. Jadi untuk dapat menggunakan fungsi <font face="Courier New">read.xls</font>, package <font face="Courier New">xlsReadWrite</font> harus diinstal terlebih dahulu, kemudian diaktifkan dengan perintah sebagai berikut:</p><br /><p><font face="Courier New">> library(xlsReadWrite)</font></p><br /><p>Apabila file <em>Accidents.xls</em> (file <em>Accidents.xls</em> harus ada dalam direktori default, bila tidak ubah dengan menu <strong>F</strong>ile|<strong>C</strong>hange dir …) ingin dipanggil dan disimpan pada objek <font face="Courier New">kclk</font>, maka perintah-nya adalah</p><br /><p><font face="Courier New" size="2" >> kclk<-read.xls(file=’Accidents.xls’)</font></p><br /><p><font face="Courier New" size="2" >> kclk</font></p><br /><p><img src="http://img224.imageshack.us/img224/1710/gambar03bqt2.jpg" height="90" alt="Gambar03b" hspace="8" width="218" align="top" border="0" /></p><br /><p><font face="Courier New" size="2" >[1] "data.frame"</font></p><br /><p><font size="2">Terlihat bahwa objek <font face="Courier New">kclk</font> (berklas “data frame”) memliki dua variabel <font face="Courier New">Week</font> dan <font face="Courier New">Number of Accidents</font> dengan 52 pengamatan. Nilai-nilai dari variabel <font face="Courier New">Number of Accidents</font> dapat diakses dengan cara sebagai berikut:</font></p><br /><p><font face="Courier New" size="2" >> kclk[,2]</font></p><br /><p><font face="Courier New" size="2" > [1] 175 111 77 106 116 57 119 109 106 128 104 107 113 99</font></p><br /><p><font face="Courier New" size="2" >[15] 119 99 112 99 76 88 76 98 109 100 85 134 141 98</font></p><br /><p><font face="Courier New" size="2" >[29] 55 85 101 67 98 96 94 82 135 95 86 73 101 113</font></p><br /><p><font face="Courier New" size="2" >[43] 124 110 124 108 81 93 111 123 103 169</font></p><br /><br /><p>Angka 2 dalam tanda kurung siku menunjukkan bahwa variabel <font face="Courier New">Number of Accidents</font> ada pada urutan ke 2. Oleh karena nama variabel <font face="Courier New">Number of Accidents</font> tidak sesuai dengan tata cara penamaan dalam R (spasi tidak diperkenankan), maka nama variabel data frame <font face="Courier New">kclk</font> diganti dengan perintah berikut:</p><br /><p><font face="Courier New">> names(kclk)<-c("Week", "Number.of.Accidents")</font></p><br /><p><font face="Courier New">> names(kclk)</font></p><br /><p><font face="Courier New">[1] "Week" "Number.of.Accidents"</font></p><br /><p>Sehingga sekarang variabel <font face="Courier New">Week</font> dan <font face="Courier New">Number.of.Accidents</font> dapat dipanggil langsung sebagai suatu objek R dengan terlebih dahulu mengenakannya dengan fungsi <font face="Courier New">attach (</font>angka-angka [1], [15], [29], dan [43] menunjukkan nomor-nomor urut data yang ada disebelah kanannya)</p><br /><p><font face="Courier New">> attach(kclk)</font></p><br /><p><font face="Courier New">> Number.of.Accidents</font></p><br /><p><font face="Courier New"> [1] 175 111 77 106 116 57 119 109 106 128 104 107 113 99</font></p><br /><p><font face="Courier New">[15] 119 99 112 99 76 88 76 98 109 100 85 134 141 98</font></p><br /><p><font face="Courier New">[29] 55 85 101 67 98 96 94 82 135 95 86 73 101 113</font></p><br /><p><font face="Courier New">[43] 124 110 124 108 81 93 111 123 103 169</font></p><br /><p>Demikian pula nilai-nilai variabel <font face="Courier New">Week</font> dipanggil dengan cara berikut:</p><br /><p><font face="Courier New">> Week</font></p><br /><p><font face="Courier New"> [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18</font></p><br /><p><font face="Courier New">[19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36</font></p><br /><p><font face="Courier New">[37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52</font></p><br /><p>Fungsi <font face="Courier New">detach</font> menghilangkan kemampuan penelusuran tersebut.</p><br /><p><font face="Courier New">> detach(kclk)</font></p><br /><p><font face="Courier New">> Number.of.Accidents</font></p><br /><p><font face="Courier New">Error: object "Number.of.Accidents" not found</font></p><br /><p> Format data lain seperti mtp (minitab), spss (SPSS), dbf (DBF file), systat, SAS dapat dibaca oleh R. Perintah untuk membaca format data tersebut ada pada <em>package</em> “foreign”.</p><br /><p><strong>Pembangkitan Data</strong></p><br /><p> Sekuens bilangan bulat misalnya dari 1 sampai 30 dibangkitkan dengan cara berikut:</p><br /><p><font face="Courier New">> x<-1:30</font></p><br /><p>Hasilnya adalah sebuah vektor x yang berisi 30 elemen, berupa sekuen bilangan bulat dari 1 sampai 30. Fungsi <font face="Courier New">seq</font> berikut ini dapat membangkitkan sekuens bilangan riil sebagai berikut:</p><br /><p><font face="Courier New">> seq(1, 5, 0.5)</font></p><br /><p><font face="Courier New">[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0</font></p><br /><p>Bilangan pertama pada argumen fungsi <font face="Courier New">seq</font> menunjukkan nilai awal dari sekuens, sedangkan bilangan keduanya merupakan nilai akhir sekuens, dan bilangan terakhir menunjukkan angka penambahannya (<em>increment</em>). Bentuk lengkap dan argumen fungsi <font face="Courier New">seq</font> adalah sebagai berikut:</p><br /><p>seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)), </p><br /><p><font face="Courier New"> length.out = NULL, along.with = NULL, ...)</font></p><br /><p> Fungsi <font face="Courier New">rep</font> menciptakan suatu vektor yang mana semua elemennya identik:</p><br /><p><font face="Courier New">> rep(2, times=20)</font></p><br /><p><font face="Courier New"> [1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2</font></p><br /><p>Argumen <font face="Courier New">times</font> memberikan berapa kali suatu bilangan diulang. Perintah berikut mengulang sekuens 1 sampai 4 sebayak 2 kali (sebagaimana halnya dengan fungsi-fungsi lain vektor sekuens dapat disimpan dalam suatu objek sebagai berikut: <font face="Courier New">x <- rep(2, 20), nama</font> argumen tidak perlu ditulis dan argumen kedua adalah times)</p><br /><p><font face="Courier New">> rep(1:4, 2)</font></p><br /><p><font face="Courier New">[1] 1 2 3 4 1 2 3 4</font></p><br /><p>Argumen <font face="Courier New">each</font> di bawah ini mengulang setiap elemen dalam sekuens sebanyak 2 kali:</p><br /><p><font face="Courier New">> rep(1:4, each = 2)</font></p><br /><p><font face="Courier New">[1] 1 1 2 2 3 3 4 4</font></p><br /><p><strong>Pembangkitan Peubah Acak (Sekuens Acak)</strong></p><br /><p> Sekuens acak merupakan suatu sampel acak dari suatu sebaran peluang tertentu. Bangkitan sekuens acak n buah dari suatu sebaran Normal dengan rata-rata (<em>mean</em>) = 0 dan simpangan baku (<em>sd</em>) = 1, perintah fungsinya adalah <font face="Courier New">rnorm(n, mean=0, sd=1)</font>. Nilai mean dan sd berturut-turut adalah 0 dan 1 merupakan nilai default untuk fungsi rnorm ini. Jadi fungsi R untuk membangkitkan 10 sekuens acak dari sebaran normal dengan rata-rata 0 dan simpangan baku 1 adalah:</p><br /><p><font face="Courier New">> rnorm(10)</font></p><br /><p><font face="Courier New"> [1] 1.3998745 1.1936305 -1.1250251 -0.3604853 -0.7063239</font></p><br /><p><font face="Courier New"> [6] -1.3216011 -1.2617174 -1.3309867 0.3515469 0.2686869</font></p><br /><p><font face="Times New Roman">Tabel 1 berikut dibawah ini memberikan bentuk sebaran peluang dan fungsi R pembangkit sekuen acaknya.</font></p><br /><p align="center"><font face="Times New Roman">Tabel 1. Fungsi R untuk membangkitkan sekuens acak sebaran peluang penting</font></p><br /><table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1" ><br /><tbody><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1.5pt double; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="151" ><br /><h1><font size="5">Sebaran Peluang</font></h1></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1.5pt double; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="360" ><br /><p><strong><font size="5">Fungsi</font></strong></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Gaussian (normal)</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rnorm(n, mean=0, sd=1)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Exponensial</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rexp(n, rate=1)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Gamma</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rgamma(n, shape, scale=1)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Poisson</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rpois(n, lambda)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Weibull</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rweibull(n, shape, scale=1)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Cauchy</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rcauchy(n, location=0, scale=1)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Beta</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rbeta(n, shape1, shape2)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>t-student</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rt(n, df)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Fisher-Snedecor (F)</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rf(n, df1, df2)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Pearson(<sub><img src="http://img224.imageshack.us/img224/6543/image012gy5.gif" height="24" width="21" border="0" alt="image012" /></sub>)</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rchisq(n, df)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Binomial</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rbinom(n, prob)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Geometric</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rgeom(n, prob)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Hypergeometric</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rhyper(nn, m, n, k)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Logistic</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rlogis(n, location=0, scale=1)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Lognormal</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rlnorm(n, meanlog=0, sdlog=1)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Negative binomial</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">rnbinom(n, size, prob)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="151" ><br /><p>Uniform</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="360" ><br /><p><font face="Courier New">runif(n, min=0, max=1)</font></p></td></tr><br /><tr><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 113.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1.5pt double" valign="top" width="151" ><br /><p>Statistik Wilcoxon’s</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 270.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1.5pt double" valign="top" width="360" ><br /><p><font face="Courier New">Rwilcox(nn, m, n), rsignrank(nn, n)</font></p></td></tr></tbody></table><br /><p> Fungsi <font face="Courier New">sample(x, size, replace = FALSE, prob = NULL)</font> adalah perintah untuk menampilkan sekuens acak yang berasal dari suatu sebaran peluang empirik, seperti teladan berikut di bawah ini:</p><br /><p>Tabel 2. Sebaran peluang empirik peubah acak X</p><br /><table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1" ><br /><tbody><br /><tr height="34"><br /><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 49.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="66" ><br /><h1><font size="3">X</font></h1></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 58.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="78" ><br /><h1><font size="3">1</font></h1></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 58.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="78" ><br /><h1><font size="3">2</font></h1></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 58.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="78" ><br /><h1><font size="3">3</font></h1></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 58.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none" valign="top" width="78" ><br /><h1><font size="3">4</font></h1></td></tr><br /><tr><br /><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 49.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1.5pt double" valign="top" width="66" ><br /><h1><font size="3">Peluang</font></h1></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 58.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1.5pt double" valign="top" width="78" ><br /><p>0.20</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 58.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1.5pt double" valign="top" width="78" ><br /><p>0.40</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 58.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1.5pt double" valign="top" width="78" ><br /><p>0.25</p></td><br /><td style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 58.15pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1.5pt double" valign="top" width="78" ><br /><p>0.15</p></td></tr></tbody></table><br /><p><font face="Courier New">> x<-1:4</font></p><br /><p>> peluang<-c(0.20, 0.40, 0.25, 0.15)</p><br /><p><font face="Courier New">> sample(x, size=20, replace=TRUE, prob=peluang)</font></p><br /><p><font face="Courier New"> [1] 3 4 3 3 2 3 4 2 1 3 3 4 2 2 2 2 4 2 4 2</font></p><br /><p>Perintah di atas menghasilkan 20 sekuens acak dari sebaran peluang empirik peubah acak X yang diperagakan oleh Tabel 2. Argumen <font face="Courier New">replace</font> pada fungsi sample diberi nilai <font face="Courier New">TRUE</font>, yang berarti sampel diambil dengan pemulihan.</p><br /><h1>Tampilan Grafik Dengan R</h1><br /><p> R menyediakan kemampuan yang kaya untuk visualisasi grafik (Rossiter, 2006). Tersedia dua sistem grafik: sistem <em><font face="Courier New">base</font></em> (terdapat dalam <em>package graphics</em>, yang dipanggil secara default ketika memulai R) dan sistem <em>trellis</em> (tersedia dalam <em>package</em> <em><font face="Courier New">lattice</font></em>). Disamping kedua sistem tersebut, terdapat berbagai package tambahan yang memperkaya kemampuan grafik R, antara lain: <font face="Courier New">misc3d</font> (berbagai plot 3 dimensi), <font face="Courier New">rgl</font> (sistem <em>device</em> untuk visualisasi grafik 3 dimensi), <font face="Courier New">scatterplot3d</font> (<em>scatter plot</em> 3 dimensi) dan beberapa package lain yang tidak ditujukan khusus untuk grafik seperti tseries, menyediakan kamampuan untuk menampilkan grafik-grafik deret waktu.</p><br /><p> Diagram pencar antar dua peubah x dan y, ditampilkan dengan fungsi <font face="Courier New">plot(x, y, ...)</font> atau <font face="Courier New">plot(y~x, ...).</font> Argumen (<font face="Courier New">...</font>) berarti dapat dilewati oleh metode-metode lain seperti paramater-paramete grafik, yang umumnya digunakan untuk mempercantik grafik, seperti pemberian warna, judul, skala dan sebagainya. Teladan berikut di bawah ini memberikan plot antara vaiabel x dan y. Hasilnya diberikan oleh Gambar 4.</p><br /><p><font face="Courier New">> y<-rnorm(50); x<-1:50</font></p><br /><p><font face="Courier New">> plot(x,y, pch=16, col="blue")</font></p><br /><p>Perintah fungsi plot ini dapat digunkan untuk menggambar kurva, seperti teladan berikut di bawah ini, yaitu untuk menggambarkan fungsi normal.</p><br /><p><font face="Courier New">> x<-seq(-4, 4, by=0.1)</font></p><br /><p><font face="Courier New">> y<-dnorm(x)</font></p><br /><p><font face="Courier New">> plot(y~x, type=’l’, main=’Fungsi Kepekatan Normal(0, 1)’,</font></p><br /><p><font face="Courier New">+ col=’red’)</font></p><br /><p>Hasilnya diberikan oleh Gambar 5 berikut ini.</p><br /><p align="center"><font face="Courier New" size="11" ><img src="http://img224.imageshack.us/img224/6103/image013wd9.gif" height="377" width="419" border="0" alt="image013" /></font></p><br /><p align="center">Gambar 4. Hasil fungsi <font face="Courier New">plot(x, y, ...)</font></p><br /><br /><p align="center"><img src="http://img224.imageshack.us/img224/5822/image014em6.gif" height="374" width="388" border="0" alt="image014" /></p><br /><p>Gambar 5. Hasil fungsi <font face="Courier New">plot(y~x, type=’l’,</font><font face="Courier New">main=’Fungsi Kepekatan Normal(0, 1)’,</font></p><br /><p><font face="Courier New">col=’red’)</font></p><br /><p> Grafik dengan sistem trellis memberikan tampilan yang lebih baik. Teladan berikut ini memperagakan histogram dari besarnya nilai transaksi (USD) dan cara pembayaran (“Cash”, “Check” dan “Credit Card”). Data tersedia dalam format SAV (SPSS) oleh karena itu digunakan <em>package</em> <font face="Courier New">foreign</font> untuk memanggil fungsi <font face="Courier New">read.spss</font>.</p><br /><p><font face="Courier New">> library(foreign)</font></p><br /><p><font face="Courier New">> consolid<-read.spss(file=’CONSOLID.SAV’,to.data.frame=TRUE)</font></p><br /><p><font face="Courier New">> histogram( ~ AMOUNT | METHOD_O, data = consolid, nint = 17,</font></p><br /><p><font face="Courier New">+ endpoints = c(1.0, 79.0), layout = c(3,1), aspect = 1,</font></p><br /><p><font face="Courier New">+ xlab = “Jumlah yang dibayarakan ($)”)</font></p><br /><p>Grafik yang dihasilkan seperti berikut ini.</p><br /><p align="center"><img src="http://img224.imageshack.us/img224/831/image015xm6.gif" height="294" width="566" border="0" alt="image015" /></p><br /><p align="center">Gambar 6. Histogram dengan sistem <em>trellis</em>.</p><br /><p><strong>Grafik Tiga Dimensi</strong></p><br /><p> Package graphics dari sistem base memiliki kemampuan untuk menampilkan grafik tiga dimensi dengan menggunakan fungsi <font face="Courier New">persp</font> (<em>perspective plots</em>). Berikut ini adalah teladan yang diberikan oleh Rossiter (2006) untuk menampilkan grafik sebaran normal bivariat.</p><br /><p><font face="Courier New">> range<-seq(-3, 3, by=0.1)</font></p><br /><p><font face="Courier New">> rand.1<-dnorm(range, 0, 1)</font></p><br /><p><font face="Courier New">> rand.2<-dnorm(range, 0, 0.7)</font></p><br /><p><font face="Courier New">> mesh<-outer(rand.1, rand.2, function(x, y) x*y)</font></p><br /><p><font face="Courier New">> persp(range, range, mesh, phi=20, theta=30, expand=0.8,</font></p><br /><p><font face="Courier New">+ xlab="N(0, 1)", ylab="N(0, 0.7)", zlab="PDF",</font></p><br /><p><font face="Courier New">+ main="Sebaran Normal Bivariat")</font></p><br /><p>Hasilnya diperagakan oleh Gambar 7.</p><br /><p> <em>Package</em> <font face="Courier New">rgl</font> digunakan untuk memvisualisasi grafik dengan data multi dimensi menggunakan OpenGL. Jadi grafik yang dihasilkan oleh package ini dapat diputar untuk melihat sudut pandang dalam perpektif yang berbeda. Perintah berikut ini menghasilkan diagram pencar dalam tiga dimensi.</p><br /><p>> open3d() </p><br /><p>> x <- sort(rnorm(1000)) </p><br /><p>> y <- rnorm(1000) </p><br /><p>> z <- rnorm(1000) + atan2(x,y) </p><br /><p>> plot3d(x, y, z, col=rainbow(1000), size=2) </p><br /><p align="center"><img src="http://img224.imageshack.us/img224/7058/image016fu9.gif" height="434" width="491" border="0" alt="image016" /></p><br /><p align="center">Gambar 7. Sebaran normal bivariate dihasilkan dengan menggunakan fungsi <font face="Courier New">persp</font>.</p><br /><p align="center"><strong>Kesimpulan</strong></p><br /><p> Tulisan ini hanya menyajikan sebagaian kecil saja dari kemampuan komputasi bahasa R, yang mana kemampuannya semakin diperkaya dengan bertambahnya berbagai <em>package</em> baru yang muncul. Sekarang ini tersedia kurang lebih seratus <em>package</em> yang dapat didownload secara gratis. </p><br /><p>Sebagaimana halnya software yang dapat distribusi secara gratis, R (dalam hal ini r-project) tidak memberikan layanan bantuan teknis, tetapi hal ini dapat diatasi dengan mengikuti milis r user yang anggotanya tersebar diseluruh dunia. Manual-manual R banyak tersedia di internet dan dapat diakses gratis. Manual-manual R tersebut banyak yang tersedia dalam bebagai bahasa disamping bahasa Inggris, hanya saja dalam bahasa Indonesia saat ini belum tersedia, demikian pula GUI R banyak yang sudah di terjemahkan dalam berbagai bahasa selain bahasa Inggris. Ketiadaan terjemahan dalam bahasa Indonesia ini disebabkan oleh minimnya masyarakat ilmiah di Indonesia yang berkecimpung dalam masyarakat R dunia. </p><br /><p align="center"><strong>Saran</strong></p><br /><p> Perangkat lunak untuk pengolahan data statatistik yang banyak digunakan di Indonesia umumnya adalah SPSS, Minitab, dan SAS, sayangnya kebanyakan yang digunakan tersebut adalah perangkat lunak bajakan. Jadi disini R dapat digunakan sebagai solusi alternatif.</p><br /><p align="center"><strong>Daftar Pustaka</strong></p><br /><p>Alsola, C., and F. Harrell. (2006). An Introduction to S and The Hmisc and Design Libraries. <a href="http://biostat.mc.vanderbilt.edu/RS">http://biostat.mc.vanderbilt.edu/RS</a>. [8 Januari 2007]</p><br /><p>Farraway, J.J. (2006). Practical Regression and Anova using R. </p><br /><p><a href="http://www.stat.lsa.umich.edu/~faraway/book">http://www.stat.lsa.umich.edu/~faraway/book</a>. [7 Desember 2004]</p><br /><p>Kuhnert, P. and B. Venables. (2005). An Introduction to R: Software for Statistical Modelling & Computing. CSIRO Australia. <a href="http://cran.r-project.org/">http://cran.r-project.org/</a>. [31 Januari 2007]</p><br /><p>Maindonald, J.H. (2001). Using R for Data Analysis and Graphics An Introduction. Australian National University. <a href="http://mirror.aarnet.edu.au/pub/CRAN">http://mirror.aarnet.edu.au/pub/CRAN</a>. [7 Desember 2004]</p><br /><p>Owen, W.J. (2006). The R Guide. Department of Mathematics and Computer Science, University of Richmond. <a href="http://www.mathc.richmond.edu/~wowen/TheRGuide.pdf">http://www.mathc.richmond.edu/~wowen/TheRGuide.pdf</a>. [15 April 2006]</p><br /><p>Paradis, E. (2002). R for Beginners. Institut des Sciences de l’Evolution, Univerisite Montpellier II. France. <a href="http://cran.r-project.org/">http://cran.r-project.org/</a>. [7 Desember 2004]</p><br /><p>Rossiter, D.G. (2006). Tutorial: Using the R Environtment for Statistical Computing An example with the Meercer & Hall wheat yield dataset. International Institute for Geo-Information Science & Earth Observation (ITC). <a href="http://www.itc.nl/personal/rossiter">http://www.itc.nl/personal/rossiter</a>. [8 Desember 2006]</p><br /><p><u> </u> . (2006). Technical Note: An example of statistical data analysis using the R environment for statistical computing. ). <a href="http://www.itc.nl/personal/rossiter">http://www.itc.nl/personal/rossiter</a>. [17 Januari 2007]</p><br /><p><u> </u> . (2006). Introduction to the R Project for Statistical Computing for use at ITC. International Institute for Geo-Information Science & Earth Observation (ITC). <a href="http://www.itc.nl/personal/rossiter">http://www.itc.nl/personal/rossiter</a>. [15 April 2006]</p><br /><p>Venables, W.N., D.M. Smith, and the R Development Core Team. (2003). An Introduction to R. <a href="http://www.r-project.org/">http://www.r-project.org/</a>. [7 Desember 2004]</p><br /><p>Versani, J. (2002). simpleR - Using R for Introductory Statistics. </p><br /><p><a href="http://www.math.csi.cuny.edu/Statistics/R/simpleR/Simple">http://www.math.csi.cuny.edu/Statistics/R/simpleR/Simple</a>. [7 Desember 2004]</p>Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com4tag:blogger.com,1999:blog-4308707388340857925.post-52243749733834301762008-05-03T14:05:00.000+07:002008-12-25T21:56:01.823+07:00Mengenal Bahasa R<p style="margin-bottom: 0cm;" align="center"><b>Apakah bahasa R itu?</b></p> <p style="margin-bottom: 0cm;" align="justify">Bahasa R (disingkat dengan R saja) adalah suatu fasilitas perangkat lunak terpadu untuk manipulasi data, simulasi, kalkulasi dan peragaan graphik. R memiliki kemampuan menganalisis data dengan sangat efektif dan dilengkapi dengan operator pengolahan array dan matriks. Tidak kalah menariknya R memiliki kemampuan penampilan grafik yang sangat sophisticated demikian pula peragaan untuk datanya.</p><br />Bahasa R merupakan versi sumber terbuka (<i>open-source</i>) dari bahasa pemrograman S (Azola dan Harrel, 2006). Versi komersial yang berbasis bahasa S adalah S plus. Bahasa R memiliki kemampuan yang tidak kalah dangan paket-paket program pengolahan data komersial bahkan dalam beberapa hal kemampuannya lebih baik. Perbandingan R khususnya terhadap SAS dibahas secara rinci oleh Azola dan Harrel (2006). Bahasa R mendapat sambutan yang baik dari kalangan statistikawan di seluruh dunia, sayangnya di Indonesia belum banyak dikenal. Tulisan ini dibuat untuk mengenalkan bahasa R khsusunya kalangan akademisi di Indonesia, dan untuk mendukung gerakan IGOS (<i>Indonesia Go Open Source</i>). <p style="margin-bottom: 0cm;" align="justify">Paling penting disini R dapat diperoleh secara gratis. Jika anda berminat untuk memilikinya tinggal diunduh (maksudnya di download) di <a href="http://cran.r-project.org/">http://cran.r-project.org</a>. Jika anda ingin melihat-lihat halaman utamanya web R ada di <a href="http://www.r-project.org/">http://www.r-project.org</a>. Jadi jika anda ingin mengolah data dan tidak tersedia dana untuk membeli software-sofware komersial asli seperti SPSS, SAS, Mintab, Lisrel dan lain-lain, kenapa mesti membajak? Sedangan yang gratis tersedia, tinggal di sownload saja.</p><p style="margin-bottom: 0cm;" align="justify"> </p><p style="margin-bottom: 0cm;" align="justify"><b>Sejarah R</b></p> <p style="margin-bottom: 0cm;" align="justify">R project pertama kali dikembangkan oleh <u>R</u>obert Gentleman dan <u>R</u>oss Ihaka (nama R untuk sofware ini berasal dari huruf pertama nama kedua orang tersebut) yang bekerja di departemen statistik Universitas Auckland tahun 1995. Sejak saat itu software ini mendapat sambutan yang luar biasa dari kalangan statistikawan, industrial engineering, peneliti, programmer dan sebagainya. Saat ini R di maintain oleh R Core development team. Saat tulisan ini dibuat R telah dikembangkan sampai versi 2.7.0, itu berkat kerja keras para sukarelawan/sukarelawati diseluruh dunia yang berkontribusi dalam berbagai aspek pengembangan R. Karena R bersifat Open source, maka setiap orang yang memiliki kemampuan pemrograman, dapat memodifikasinya dan mengkomersialisasikan asalkan memnuhi persyaratan. Persyaratannya apa saja coba lihat di situs web R.</p> <p style="margin-bottom: 0cm;" align="justify">Blog ini saya persembahkan untuk komunitas pengguna bahasa R untuk saling berbagi pengalaman, dan menyediakan suatu fasilitas problem solving.</p> <p style="margin-bottom: 0cm;" align="justify">Ok sekian dulu tulisan ini nanti saya lanjutkan.......</p>Anom Yudistirahttp://www.blogger.com/profile/05711065366466269821noreply@blogger.com2