You are on page 1of 306

SUHARTONO

2008 Lab. Statistik Komputasi, ITS, Surabaya




ANALISISDATASTATISTIK
DENGAN

R

sht90 Dedicatedto

When the Lord created the world and people to live in it an enterprise
which, according to modern science, took a very long time I could well
imagine that He reasoned with Himself as follows: If I make everything
predictable, these human beings, whom I have endowed with pretty good brains,
will undoubtedly learn to predict everything, and they will thereupon have no
motive to do anything at all, because they will recognize that the future is
totally determined and cannot be influenced by any human action. On the other
hand, if I make everything unpredictable, they will gradually discover that
there is no rational basis for any decision whatsoever and, as in the first case,
they will thereupon have no motive to do anything at all. Neither scheme
would make sense. I must therefore create a mixture of the two. Let some
things be predictable and let others be unpredictable. They will then, amongst
many other things, have the very important task of finding out which is which.

Small Is Beautiful
E.F.SCHUMACHER

Untuk
Azizah, Alivia, Vanissa


ii
sht90 KataPengantar

KATAPENGANTAR

R adalah suatu sistem untuk analisis data yang termasuk kelompok software
statistik open source yang tidak memerlukan lisensi atau gratis, yang dikenal dengan
freeware. Sampai saat ini, pengguna statistika di Indonesia masih belum banyak yang
menggunakan R untuk keperluan analisis data. Sebagian besar pengguna statistika di
Indonesia masih menggunakan paketpaket statistik komersil, seperti SPSS, MINITAB,
Splus,SAS,atauEviews.Salahsatufaktorpenyebabnyaadalahmasihterbatasnyabuku
tentangRyangditerbitkandalambahasaIndonesia.
Buku ini bukan merupakan suatu buku teks tentang teoriteori dalam analisis
statistik,tetapilebihmerupakanbukuterapantentangmetodemetodestatistikdengan
penggunaan R. Tujuan penulisan buku ini adalah untuk menunjukkan bagaimana cara
melakukan analisis data statistik dengan menggunakan R. Dalam hal ini, ditunjukkan
bagaimanaRsebagaisuatupaketstatistikyangpowerfuldanmenyediakansistemgrafik
yang baik untuk mendukung analisis. Jika proses perhitungan dalam analisis data
menjadimudah,makaenergidaripenggunastatistikadiharapkandapatlebihdifokuskan
padapemahamantentangdatayangdianalisis.
BukuiniditujukanuntukpenggunaRsecaraumumsebagaipetunjukpengantar
pemakaian R untuk analisis data statistik. Selain itu, buku ini juga diharapkan dapat
dipakaidikelaskelaspadapengajaranstatistikabaikdileveldasarataupunlevellanjut
denganteknikteknikanalisisstatistiktertentu.Saatinibukuinidigunakansebagaisalah
satureferensipadamatakuliahAnalisisDataIdanIIdiProgramSarjana(S1)danmata
kuliah Analisis Data di Program Magister (S2) Jurusan Statistika, Institut Teknologi
SepuluhNopember(ITS),Surabaya.
PaketRmemilikifasilitasyangsangatbanyakuntukanalisisdatastatistik,mulai
dari metode yang klasik sampai dengan yang modern. Pada Bab 1 diuraikan tentang
paketstatistikR,yaitutentangsejarahsingkat,caramemperolehdanmenginstal,serta
fasilitas RGUI (Graphical User Interface) atau RCommander dan cara menginstalnya.
Bab2dan3membahastentangmanajemendatadiR,khususnyadenganmenggunakan
fasilitasdiRCommanderdanperintahlangsungdiRConsole.
Analisisgrafik padaR dijelaskanpada Bab 4, khususnya penggunaan fasilitas di
RCommander.PadaBab5dibahastentangpenggunaanfasilitasdiRCommanderuntuk
perhitungan fungsi distribusi peluang, yang mencakup perhitungan peluang pada
distribusikontinudandiskrit.Bahasantentanganalisisstatistikdeskriptifdijelaskanpada
Bab 6. Pada Bab 7 dijelaskan tentang penggunaan fasilitas di RCommander untuk
analisisstatistikinferensi,yangmencakupujihipotesistentangratarata,proporsi,dan
varians.DalamBab8dibahastentanganalisisregresilinear.Padabagianakhirdaribab
ini diberikan ringkasan beberapa perintah dan library yang berkaitan dengan analisis
regresi.


iii
sht90 KataPengantar


Bahasan tentang penggunaan fasilitas di RCommander untuk model linear
tergeneralisir(GLM)dijelaskanpadaBab9.DalamBab10dibahastentanganalisisgrafik
dengan menggunakan perintah langsung di RConsole atau command line. Bab 11
membahastentangpenggunaanRuntukanalisisruntunwaktu.Dalambab ini adatiga
subbab utama tentang modelmodel dalam analisis runtun waktu yang dibahas, yaitu
model tren linear, model eksponensial smoothing, dan model ARIMA. Di akhir bab ini
diberikan pula ringkasan beberapa perintah dan library yang berkaitan dengan analisis
runtunwaktu.
Pada Bab 12 dijelaskan tentang penggunaan R untuk analisis multivariat, yang
mencakuptentangAnalisisFaktor,AnalisisDiskriminan,danAnalisisCluster.DalamBab
13 dijelaskan tentang model regresi nonparametrik dan estimasi densitas. Fokus
pembahasan adalah pada regresi dengan kernel dan spline. Di akhir bab ini juga
diberikanringkasanbeberapaperintahdanlibraryyangberkaitandenganaplikasikernel
danspline.
Selanjutnya,padaBab14dibahastentangmodelnonlinear.Dalambabinijuga
dibahas tentang beberapa uji statistik untuk deteksi hubungan nonlinear, yaitu Uji
Ramseys RESET,Uji White, dan UjiTerasvirta. Pada akhirnya,dalam Bab 15 dijelaskan
tentangpengantarpemrogramandiR.
Padakesempatanini,penulismengucapkanterimakasihyangsebesarbesarnya
kepadadosendosenpenulisyangtelahbanyakmenginspirasiperkembanganakademik
penulis, khususnya Drs. Kresnayana Yahya, M.Sc. dan Ir. Dwiatmono A.W., M.Ikom.
selamapenulismenempuhS1diITSSurabaya,Prof.T.SubbaRaodanDr.JingsongYuan
dari Department of Mathematics, University of Manchester, United Kingdom, selama
penulismenempuhS2,danProf.Subanar,Ph.D.selamapenulismenempuhS3diUGM
Yogyakarta. Penulis juga mengucapkan banyak terima kasih kepada kolegakolega
akademik penulis yang telah banyak membantu dalam proses penulisan buku ini,
khususnya R. Mohamad Atok, S.Si., M.Si. dan Wahyu Wibowo, S.Si., M.Si. Akhirnya,
penulisjugamengucapkanbanyakterimakasihkepadamahasiswa/ipenulis,khususnya
mahasiswa/i S1 Statistika 2005 yang telah melakukan download paket dan library R
secarabersamasamasehinggabanyaklibrary(hampir1000library)yangsekarangtelah
tersediadandapatdiaktifkan.
Masukandanumpanbalikdaripembacasangatdiharapkanuntukperbaikanisi
bukuini.Pembacadapatmengirimkansarandankritikmelaluiemailkealamatpenulis,
yaitu suhartono@statistika.its.ac.id atau har_arema@yahoo.com. Semoga buku ini
dapatmemberikanmanfaat,khususnyabagiperkembanganilmustatistikadiIndonesia
dansecaraumumbagiparapembaca.

Surabaya,29September2008
Penulis,
Suhartono


iv
sht90 DaftarIsi

DAFTARISI

hal.
KATAPENGANTAR iv
DAFTARISI vi

BAB1.PAKETSTATISTIKR 1
1.1Pendahuluan 1
1.2 SejarahSingkatR 1
1.3CaraMemperolehR,PaketdanLibrary 1
1.4InstalasiRdalamSistemOperasiWindows 2
1.5GUIRCommanderdanInstalasinyadalamSistemOperasiWindows 4
1.6ManajemenDirektoriKerjadiR 6
1.7Fasilitashelp 10
1.7.1Mencarihelpdarisuatuperintah(command)tertentu 10
1.7.2Menggunakanhelpsearchengine 12
1.7.3OnlineSearchEngine 15

BAB2.MANAJEMENDATADIPAKETR 16
2.1DataEntrymenggunakanRGuidenganRCommander 16
2.2 MenampilkandatayangsedangaktifdiRCommander 19
2.3 EditingdatadiRCommander 20
2.4 ImportingdatadiRCommander 20
2.4.1ImportingdatafileExceldiRCommander 20
2.4.2ImportingdatafileSPSSdiRCommander 22
2.4.3ImportingdatafileMINITABdiRCommander 22
2.5 Memilihdatasetyangaktif 24
2.6 Transformasidatasetataupengaturanvariabelpadadataset 25
2.6.1Recodeataukodeulangpeubah 25
2.6.2Computeatauhitungpeubahbaru 27

BAB3.MANAJEMENDATADIRDENGANCOMMANDLINE 29
3.1JenisjenisDataObjek 30
3.1.1DataArraySatuDimensiatauDataVektor 30
3.1.2DataMatriks 31
3.1.3DataFrame 34
3.1.4DataList 37
3.2 ImportingDatapadaCommandLine 38
3.2.1MembacaFileASCII 38
3.2.2ImportingDataFileExcel 39
3.2.3ImportingDatadariPaketStatistik 41


v
sht90 DaftarIsi

BAB4.GRAFIKMENGGUNAKANRCommander 43
4.1GrafikdalamRGUI 45
4.2 GrafikHistogram 46
4.3 DiagramDahandanDaun(StemandLeaf) 48
4.4 GrafikBoxPlot 50
4.5 GrafikQQPlot 51
4.6 GrafikDiagramPencar(ScatterPlot) 53
4.7 GrafikPlotRatarata(Mean) 55
4.8 DiagramBatang(BarChart) 56
4.9 DiagramLingkaran(PieChart) 57
4.10PlotIndeks 58

BAB5.FUNGSIDISTRIBUSIPELUANGDIRCommander 61
5.1FungsiDistribusiKontinu 62
5.1.1MenghitungKuantildariDistribusiNormal 62
5.1.2MenghitungPeluangdariDistribusiNormal 64
5.1.3MembuatPlotdariDistribusiNormal 65
5.1.4MembangkitkanDatadariDistribusiNormal 67
5.2FungsiDistribusiDiskrit 70
5.2.1MenghitungKuantildariDistribusiBinomial 71
5.2.2MenghitungPeluangdariDistribusiBinomial 72
5.2.3MembuatPlotdariDistribusiBinomial 74
5.2.4MembangkitkanDatadariDistribusiBinomial 76

BAB6.STATISTIKDESKRIPTIFMENGGUNAKANRCommander 80
6.1RingkasanNumerik(Summary) 81
6.1.1RingkasanNumerikdariSemuaVariabel 81
6.1.2RingkasanNumerikuntukSuatuVariabel 83
6.2 DistribusiFrekuensi 85
6.3 TabelStatistika 86
6.4 MatriksKorelasi 88
6.5 UjiKorelasi 89
6.6 UjiKenormalanShapiroWilk 91
6.7 TabelKontingensiDuaArah 92
6.8 EntryLangsungDataFrekuensiuntukTabelKotingensiDuaArah 94

BAB7.STATISTIKINFERENSIMENGGUNAKANRCommander 97
7.1PengujianRatarata(Mean) 99
7.1.1PengujianRataratasampeltunggal 99
7.1.2PengujianPerbedaanRatarataDuasampelsalingbebas 102
7.1.3PengujianPerbedaanRatarataSampelBerpasangan 107


vi
sht90 DaftarIsi

7.1.4AnalisisVarianssatuarah(OnewayANOVA) 110
7.1.5AnalisisVariansduaarah(MultiwayANOVA) 115
7.2PengujianKesamaanVariansi 118
7.2.1PengujianKesamaanDuaVariansi 118
7.2.2UjiBartlett 120
7.2.3UjiLevene 121
7.3PengujianProporsi 122
7.3.1PengujianProporsiSampelTunggal 123
7.3.2PengujianProporsiDuaSampel 125

BAB8.ANALISISREGRESIMENGGUNAKANRCommander 128
8.1RegresiLinear 128
8.2ModelLinear 132
8.3CekDiagnosaKesesuaianModelRegresiLinear 137
8.4 Rangkumanperintahdanlibraryyangberkaitandengan
AnalisisRegresi 144

BAB9.GENERALIZEDLINEARMODELMENGGUNAKANRCommander 158
9.1PengantarTeoriModelLinearTergeneralisir 158
9.2ContohKasusModelLinearTergeneralisirdenganRCommander 161

BAB10.GRAFIKMENGGUNAKANRCLI 166
10.1 FungsifungsiPlotUtama 168
10.1.1Perintahplot() 168
10.1.2 Perintahqqnorm(x),qqline(x),qqplot(x,y) 172
10.1.3 Perintahhist(x) 176
10.1.4 Perintahimage(x,y,z,),contour(x,y,z,),persp(x,y,z,) 177
10.1.5 Argumenargumenuntukfungsiplotutama 178
10.2 FungsifungsiPlotTambahan 179
10.3 FungsifungsiPlotyangbersifatinteraktif 180
10.4 NotasiMatematikapadaPlot 180
10.5 Settingparametergrafik 182

BAB11.ANALISISRUNTUNWAKTUDENGANR 184
11.1 ModelTrendLinear 185
11.2.ModelExponentialSmoothing 187
11.2.1 ModelHoltWintersAditif 189
11.2.2 ModelHoltWintersMultiplikatif 193
11.2.3 ModelEksponensialGanda 195
11.2.4 ModelEksponensialSmoothingSederhana 196
11.3 ModelARIMA 198
11.3.1 ContohKasusModelARIMANonmusimanyangStasioner 203


vii
sht90 DaftarIsi

11.3.2 ContohKasusModelNonmusimanyangTidakStasioner 211


11.3.3 ModelARIMAMusiman 216
11.3.4 ContohKasusModelARIMAMusiman 219
11.3.5 KriteriaPemilihanModel 225
11.4 Rangkumanperintahdanlibraryyangberkaitandengan
AnalisisRuntunWaktu 227

BAB12. ANALISISMULTIVARIATDENGANR 230


12.1 AnalisisFaktor 230
12.2 AnalisisDiskriminan 232
12.3 AnalisisCluster 234

BAB13. REGRESINONPARAMETRIKDANESTIMASIDENSITAS 237


13.1 EstimasiDensitasdenganKernel 237
13.2 RegresiNonparametrikdenganKernel 241
13.3 RegresiNonparametrikdenganSpline 243
13.4 JenisjenisBasisSpline 249
13.5 RangkumanlibraryuntukAplikasiKerneldanSpline 254

BAB14. MODELNONLINEAR 256


14.1 EstimasiModelRegresiNonlinear 256
14.2 PerintahnlsdanSSasympOriguntukestimasimodelnonlinear 259
14.3 UjiDeteksiHubunganNonlinear 263
14.3.1 UjiRamsey'sRESET 263
14.3.2 UjiWhite 267
14.3.3 UjiTerasvirta 274

BAB15. PENGENALANPEMROGRAMANDALAMR 277


15.1 PenulisanFungsi 277
15.2 TypeDatadanOperator 280
15.3 ControlFlowdidalamR 281
15.4 Beberapatopikyangberhubungandenganfungsi 284
15.4.1 Argumendarisuatufungsi 284
15.4.2 Mengaturtampilandarioutput 286
15.5 Contohcontohfungsi 289

DAFTARPUSTAKA 292
DAFTARINDEKS 295
TENTANGPENULIS 298


viii
sht90 PaketStatistikR

BAB1
PAKETSTATISTIKR

1.1. Pendahuluan
Secara umum ada dua macam kelompok paket software statistik untuk
keperluan analisis data, yaitu kelompok software komersil dan kelompok software
statistik open source atau freeware. Beberapa contoh software statistik komersil yang
populardiIndonesiaadalahSPSS, MINITAB,Eviews,SAS,danSplus.Sedangkancontoh
dari freeware statistik antara lain R, Open Stats, SalStat, Vista, dan lainlain (lihat
http://www.statistics.com/content/freesoft/AZlisting.html).
Softwarestatistikyangkomersilmensyaratkanlisensidenganhargayangrelatif
sangat mahal untuk ukuran sebagian besar pengguna di Indonesia. Dengan demikian,
salah satu alternatif penyelesaian dari mahalnya lisensi tersebut adalah melalui
penggunaanfreewarestatistik,khususnyaR.

1.2. SejarahSingkatR
R dalam versi terakhirnya, yaitu versi 2.7.2 per 25 Agustus 2008, merupakan
suatusistemanalisisdatastatistikyangkompletsebagaihasildarikolaborasipenelitian
berbagai ahli statistik (statistisi) di seluruh dunia. Versi awal dari R dibuat pada tahun
1992diUniversitasAuckland,NewZealandolehRossIhakadanRobertGentleman.Pada
saat ini, source code kernel R dikembangkan terutama oleh R Core Team yang
beranggotakan 17 orang statistisi dari berbagai penjuru dunia (lihat http://www.r
project.org/contributors.html).Selainitu,parastatistisilainpenggunaRdiseluruhdunia
jugamemberikankontribusiberupakode,melaporkanbug,danmembuatdokumentasi
untukR.
Paket statistik R bersifat multiplatforms, dengan file instalasi binary/file tar
tersedia untuk sistem operasi Windows, Mac OS, Mac OS X, Linux, Free BSD, NetBSD,
irix,Solaris,AIX,danHPUX.Secaraumum,sintaksdaribahasaRadalahekuivalendengan
paket statistik Splus, sehingga sebagian besar keperluan analisis statistika, dan
pemrogramandenganRadalahhampiridentikdenganperintahyangdikenaldiSplus.

1.3. CaraMemperolehR,PaketdanLibrary
R dapat diperoleh secara gratis di CRANarchive yaitu The Comprehensice R
Archive Network di alamat http://cran.rproject.org. Pada server CRAN ini dapat
didownloadfileinstalasibinarydansourcecodedariRbasesystemdalamsistemoperasi
Windows(semuaversi),beberapajenisdistrolinux,danMacintosh.
Fungsi dan kemampuan dari R sebagian besar dapat diperoleh melalui Addon
packages/library.Suatulibraryadalahkumpulanperintahataufungsiyangdapatdi

sht90 PaketStatistikR

gunakan untuk melakukan analisis tertentu. Sebagai contoh, fungsi untuk melakukan
analisis time series dapat diperoleh di library ts. Instalasi standar dari R akan memuat
berbagailibrarydasar,antaralainbase,datasets,graphics,utils,danstats.Librarylain
hasilkontribusidaripenggunaR(diluaryangstandar)harusdiinstalsatupersatusesuai
denganyangdibutuhkanuntukanalisis.Daftarsemualibraryyangtersediadapatdiakses
darilinkdownloadCRANdialamathttp://cran.rproject.org.

1.4. InstalasiRdalamSistemOperasiWindows
Tahapan utama sebelum melakukan instalasi R dalam sitem operasi Windows
adalah mendownload file R2.7.2win32.exe yang dapat diperoleh di http://cran.r
project.org.Setelahitu,langkahlangkahinstalasiRdapatdilakukansepertiberikut:

Klikduakali(doubleclick)fileR2.7.2win32.exeyangterdapatpadadirektoriyang
telah disediakan, maka akan muncul jendela dialog seperti pada Gambar 1.1.
berikutini.



Gambar1.1.JendeladialogawalinstalasiRdalamsitemoperasiWindows

Setelah itu, lanjutkan jalannya proses instalasi dengan mengikuti Wizard dan
menggunakanpilihanpilihandefaultinstalasi.

Jika proses instalasi telah selesai, klik Finish untuk keluar dari proses instalasi.
Apabila semua proses berjalan dengan sukses, maka pada Desktop Windows dan
StartMenudariWindowsakanterdapatShortcutdariRsepertipadaGambar1.2.
berikutini.

sht90 PaketStatistikR



Gambar1.2.ShortcutdariR

Langkah terakhir jika instalasi R telah selesai adalah melakukan pengecekan atau
pengujianapakahprogramRdapatberjalandenganbaik.Lakukanklikduakalipada
shortcut R di Desktop atau pada Start Menu. Jika instalasi berlangsung dengan
baik,makajendelaprogramRakanterbukasepertiyangterlihatpadaGambar1.3.



Gambar1.3.JendelaawalprogramR,jikainstalasiberjalansukses

JikaselesaibekerjadenganR,makauntukkeluardariRdapatdilakukandengandua
cara,yaitu:

1. Ketikkanq()padacommandlinediRconsole,yaitu
>q()

2. PilihmenuFile,pilihExit,dankemudianklikYespadadialogSaveWorkspace
Image.

sht90 PaketStatistikR

1.5. GUIRCommanderdanInstalasinyadalamSistemOperasiWindows
Pada awalnya, interaksi utama antara pengguna dengan R adalah bersifat
Command Line Interface (CLI). Dengan demikian, untuk dapat menggunakan R di
perlukan penyesuaianpenyesuaian bagi pengguna yang telah terbiasa dengan fasilitas
Point and Click Graphical User Interface (GUI). Untungnya, pada saat ini telah tersedia
beberapaGUIsederhanauntukkeperluanbeberapaanalisisstatistikatertentu,khusus
nyayangberkaitandenganmanajemendatadiR.LibraryRcommanderyangterdiridari
Rcmdr, RcmdrPlugin.TechingDemos, RcmdrPlugin.epack, RcmdrPlugin.HH, dan
RcmdrPlugin.FactoMineR,merupakanlibrarytambahandariRuntukmemfasilitasiGUI
yangdapatdigunakanuntukberbagaianalisisstatistikadasar.
Instalasi libray Rcommander dapat dilakukan apabila filefile library di atas
sudah didownload dari server CRAN. Jika instalasi untuk R telah selesai dan berjalan
sukses,makalangkahlangkahuntukintalasiRcommanderadalahsebagaiberikut:
1. Pertama, jalankan program R sampai jendela program R terbuka (seperti yang
terlihatpadaGambar1.3diatas).

2. UntukmenginstalRcommander,pilihmenuPackages,pilihInstallpackage(s)from
localzipfiles.KemudianarahkanlokasipadadialogLookinkedirektoridimana
file Rcmdr_1.310.zip, RcmdrPlugin.HH_1.15.zip, RcmdrPlugin.epack_1.01.zip,
RcmdrPlugin.TechingDemos_1.310.zip, RcmdrPlugin.FactoMineR_1.00.zip. Pilih
semuafiletersebut,sepertiyangterlihatpadajendeladialogpadaGambar1.4.



Gambar1.4.JendeladialoguntukinstalasiRcommander

sht90 PaketStatistikR

Kemudian klik Open, maka R akan menginstal paket Rcommander yang ditandai
dengandialogberikutpadajendelaRconsole.


>utils:::menuInstallLocal()
package 'RcmdrPlugin.TeachingDemos' successfully unpacked and MD5 sums
checked
package'Rcmdr'successfullyunpackedandMD5sumschecked
package'RcmdrPlugin.epack'successfullyunpackedandMD5sumschecked
package 'RcmdrPlugin.FactoMineR' successfully unpacked and MD5 sums
checked
package'RcmdrPlugin.HH'successfullyunpackedandMD5sumschecked
updatingHTMLpackagedescriptions
>


3. PaketRcommanderdapatdijalankandenganduacarayangberbeda,yaitu:

Dengan mengetikkan perintah library(Rcmdr) pada jendela Rconsole dan


menekanEntersatukali.

>library(Rcmdr)

MemilihmenuPackages,pilihLoadpackagedankemudianmemilihRcmdr
pada daftar paket library yang telah terinstal, seperti yang terlihat pada
Gambar1.5.



Gambar1.5.JendeladialoguntukmenjalankanRcommander

sht90 PaketStatistikR

Apabila proses instalasi paket Rcommander berjalan dengan sukses, maka paket
RcommandertersebutakandiloadingdanmunculsepertipadaGambar1.6berikut
ini.



Gambar1.6.JendelaawaldaripaketlibraryRcommander

Pada saat ini, bahasa yang digunakan dalam paket Rcommander sudah ada yang
dalam bahasa Indonesia sebagai hasil pengembangan dan kontribusi statistisi di
Indonesia.

4. Untuk keluar dari paket Rcommander dan sekaligus R dapat dilakukan dengan
memilihmenuFile,pilihKeluar,danklikpadapilihanDariCommanderdanRyang
tersediadijendelaRcommander.


1.6. ManajemenDirektoriKerjadiR
CarakerjadariRadalahsamadenganSplus,yaitubekerjadengansatudirektori
untuk satu projek. R akan menyimpan file image dari semua obyek atau internal data
dan history dari semua perintah yang pernah diketikkan di jendela Rconsole pada
direktorikerjasecaraotomatisataudefaultdenganfileberekstensi.Rdata.Lokasi

sht90 PaketStatistikR

default dari direktori kerja R adalah direktori C:\Program Files\R\R2.7.2. Untuk


keperluan pekerjaan seharihari yang menggunakan R akan lebih baik jika dilakukan
padadirektoritersendiri,misalnyadirektoridengannamayangsesuaidenganpekerjaan
yangdijalankan.Dengandemikianakanmemudahkandalammelihathistorydanobyek
yangberhubungandenganpekerjaantersebut.

1.6.1. Mengubahlokasidirektorikerjaatauworkspace
Berikut ini adalah langkahlangkah yang dapat digunakan untuk membuat
direktorikhususdarisuatupekerjaandenganmenggunakanR.
Misalkan kita telah mempunyai direktori C:\Kerja_dg_R (buatlah direktori ini jika
belum ada). Langkah pertama, buatlah satu direktori baru di C:\Kerja_dg_R
dengan nama direktori Nama_Pekerjaan, misalkan Kerja1. Dengan demikian,
padatahapinidiperolehsuatudirektoribaruyaitu
C:\Kerja_dg_R\Kerja1.

BuatlahcopydarishortcutprogramRdidesktopwindow,danrenameshortcutini
sebagai shortcut Kerja1. Sehingga di desktop window muncul shortcut Kerja1
sepertiGambar1.7berikutini.



Gambar1.7.ShortcutdidesktopwindowdengannamaKerja1

Kemudian arahkan mouse pada shortcut tersebut dan klik kanan. Pilih Properties
danganti informasipadakolomStartin menjadi C:\Kerja_dg_R\Kerja1 seperti
yangterlihatpadaGambar1.8,setelahituklikOK.

Untuk mengetahui perubahan lokasi direktori kerja di R, lakukan klik dua kali
pada icon shortcut Kerja1 untuk menjalankan R. Sebagai ilustrasi sederhana, ketikkan
beberapabarisperintahberikutinisetelahjendelaRterbuka.


>x=1:15
>y=x+5
>x
[1]123456789101112131415
>y
[1]67891011121314151617181920

sht90 PaketStatistikR

C:\Program Files\R\R-2.7.2\bin\Rgui.exe



Gambar1.8.PerubahanlokasidirektorikerjakeC:\Kerja_dg_R\Kerja1

Setelah mengetikkan beberapa baris perintah di atas, lakukan keluar dari R
dengan memilihmenuFile/Exit. Padadialogpertanyaan Save workspaceimage?, klik
pada pilihan YES. Sekarang, jika dilakukan browsing di direktori C:\Kerja_dg_R\Kerja1
makaakanditemukansatufilebernama.Rdatayangmerupakannamadefaultfileimage
daridirektorikerja,danfileyanglainbernama.Rhistoryyangmerupakannamadefault
darifileyangberisikanhistorydarisemuaperintahyangpernahdiketikkan.Keduafileini
secara default akan diloading oleh R pada saat dijalankan untuk suatu sesi pekerjaan.
History dan data dari suatu sesi terakhir (yang telah tersimpan sebelum keluar) dapat
diakses pada jendela Rconsole dengan menggunakan tanda panah ke atas dan ke
bawah.

sht90 PaketStatistikR

1.6.2. Menyimpanimagedirektorikerja
Pada bagian sebelumnya telah dijelaskan bagaimana semua obyek yang
digunakan dalam satu sesi pemakaian R, yaitu mulai dibukanya program R sampai
ditutup kembali, akan disimpan secara default ke dalam file .Rdata. Supaya filefile
pekerjaan lebih terorganisir, R memberikan fasilitas tambahan untuk menyimpan data
atauobyek yang digunakandalamsetiap sesiR ke dalam file workspacetertentu yang
memiliki ekstensi .Rdata. Filefile ini selanjutnya dapat diload kembali jika diperlukan.
Sebagai contoh, jalankan program R dan ketikkan beberapa perintah berikut ini ke
dalamjendelaRconsole.


>x=1:15
>y=x+5
>x
[1]123456789101112131415
>y
[1]67891011121314151617181920


Prosespenyimpanandataatauobyek,yaituxdanysepertiyangtertulisdiatas,
kedalamdirektoriC:\Kerja_dg_R\Kerja1dengannamafilecoba1.Rdatadapatdilakukan
dengan menggunakan menu File, dan pilih Save Workspace . Selanjutnya lakukan
keluar dari R, dan pilih No (yang berarti tidak menyimpan imag dari file kerja) pada
dialogSaveWorkspaceImage?SekarangjalankankembaliprogramR,makadataatau
obyekdifilecoba1.Rdatadapatdiloadkembalidenganmenggunakanduamacamcara,
yaitu:
PilihmenuFile,danpilihLoadWorkspace,dansetelahitupilihfiledidirektori
C:\Kerja_dg_R\Kerja1dengannamacoba1.Rdata

GunakanperintahberikutpadajendelaRconsole


>load("C:\\Kerja_dg_R\\Kerja1\\Coba1.RData")
>objects()
[1]"x""y"
>x
[1]123456789101112131415
>y
[1]67891011121314151617181920

DarijendelakotakRconsolediatasdapatdilihatbahwasemuaobyekyangdikerjakan
pada sesi sebelumnya telah berhasil diload kembali. Dengan cara yang sama, semua
historydariperintahpadasuatusesidapatdisimpanmelaluimenuFile,danpilihSave

sht90 PaketStatistikR

History . Untuk melakukan load kembali history pada sesi sebelumnya yang sudah
tersimpan ini, dapat dilakukan dengan melalui menu File, dan pilih Load History ,
kemudianpilihnamafilehistoryyangakandipanggilkembalitersebut.HistorydarisesiR
yang telah diload ini dapat diakses dengan menggunakan tanda panah ke atas dan ke
bawah.

1.7. Fasilitashelp
Secara umum ada beberapa fasilitas help dari R yang dapat diakses dengan
berbagaicara,antaralain:
Mencarihelpdarisuatuperintah(command)tertentu
Menggunakanhelpsearchengine
OnlineSearchEngine

1.7.1. Mencarihelpdarisuatuperintah(command)tertentu
Adabeberapaperintahyangdapatdigunakanuntukmencarihelpataubantuan
terhadap suatu fungsi atau perintah dari R yang telah diketahui namanya. Sebagai
contoh, jika ingin diketahui secara detail tentang suatu perintah atau fungsi R yang
bernama plot, maka pada jendela Rconsole dapat diketikkan salah satu perintah
berikutini,yaitu:


>help(plot)
>?plot

Jendela help yang sama dapat juga diperoleh dengan menggunakan menu dengan
pilihanHelp, dan pilihR function (text)dan setelahjendeladialogmuncul,ketikkan
kataplotsepertiyangterlihatpadaGambar1.9berikutini.



Gambar1.9.Jendeladialoghelpuntuksuatufungsiatauperintah

10

sht90 PaketStatistikR

Setelah salah satu dari perintah di atas dijalankan, maka akan ditampilkan
bagian dari jendela help dari perintah plot seperti yang terlihat pada Gambar 1.10
berikutini.



Gambar1.10.Hasilpencarianhelpuntuksuatufungsiplot

Penjelasandarijendelahasilpencarianhelpuntukfungsiplotiniadalahsebagaiberikut:
Ada dua kolom jendela yang muncul, yaitu kolom kiri tentang index dari fungsi
atau perintah yang dicari (misal plot), dan kolom kanan adalah hasil atau
penjelasandaripencarianfungsiyangingindiketahui.

Pada bagian kiri atas kolom jendela hasil help adalah tentang keterangan nama
dari perintah atau fungsi yang sedang ditampilkan dan nama paket atau library
yangmemuatperintahtersebut.Dalamcontohdiatas,untukperintahplotdapat
dilihatbahwaperintahplotinitersimpandalampaketataulibrarygraphics..

Padasetiapjendelahelpdarisuatuperintahsecaraumumakanmemuatbagian
bagianberikut:

Description:uraiansingkattentangperintahtersebut
Usage:uraiantentangsyntaxperintahuntukpenggunaanperintahtersebut.
Arguments:uraiantentangargumenargumenyangdiperlukandarifungsi
atauperintahtersebut.
Details:uraianyanglebihlengkap(daripadayangdiberikanpadabagian
description)tentangperintahtersebut.


11

sht90 PaketStatistikR

Values:uraiantentangoutputperintahtersebut.
Author(s):uraiantentangauthordariperintahtersebut.
References:uraiantentangreferensiyangdapatdigunakanuntuk
memperolehketeranganlebihlanjutdariperintahtersebut.
Seealso:bagianiniberisidaftarperintahataufungsiyangberkaitan
eratdenganperintahtersebut.
Example:bagianiniberisicontohcontohpenggunaanperintahtersebut.

1.7.2. Menggunakanhelpsearchengine
Metodepencarianhelplainyangdapatdilakukanadalahdenganmenggunakan
pencarianterhadapkatakunci.Beberapametodeyangdapatdilakukanuntuktujuan
inidapatdijelaskansepertiberikutini.

a.Menggunakanperintahapropos(katakunci)
Perintah ini dapat digunakan untuk memperoleh daftar perintahperintah dari
semua paketatau library yangtelah terinstal pada sistem Ryang memuat suatukata
kunci.Berikutiniadalahcontohhasilperintahapropos(plot).

>apropos("plot")
[1]".__C__recordedplot" "assocplot" "barplot"
[4]"barplot.default" "biplot" "boxplot"
[7]"boxplot.default" "boxplot.stats" "cdplot"
[10]"coplot" "fourfoldplot" "interaction.plot"
[13]"lag.plot" "matplot" "monthplot"
[16]"mosaicplot" "plot" "plot.default"
[19]"plot.density" "plot.design" "plot.ecdf"
[22]"plot.lm" "plot.mlm" "plot.new"
[25]"plot.spec" "plot.spec.coherency" "plot.spec.phase"
[28]"plot.stepfun" "plot.ts" "plot.TukeyHSD"
[31]"plot.window" "plot.xy" "preplot"
[34]"qqplot" "recordPlot" "replayPlot"
[37]"savePlot" "screeplot" "spineplot"
[40]"sunflowerplot" "termplot" "ts.plot"
>


Dari hasil jendela di Rconsole tersebut dapat dilihat output yang memuat kata kunci
plotdalamsuatunamaperintah.Outputyangdiperolehakanberbedadantergantung
padalibraryyangterinstalpadakomputer.
Output yang sama dapat pula diperoleh dengan menggunakan menu utama
pada pilihan Help, kemudian pilih Apropos dan selanjutnya ketik plot pada jendela
dialogsepertiyangterlihatpadaGambar1.11berikutini.

12

sht90 PaketStatistikR



Gambar1.11.JendeladialogAproposuntukpencariansuatuperintah

b.Menggunakanperintahhelp.search(katakunci)
Perintah ini akan melakukan pencarian terhadap sebuah string bernama kata
kuncidisemuapaketataulibraryyangtelahterinstalpadasistemR.Berikutiniadalah
contohperintahhelp.search(plot)padajendelaRconsole.


>help.search("plot")

HasildariperintahtersebutdapatdilihatpadaGambar1.12berikutini.



Gambar1.12.Hasilpencarianhelpdenganperintahhelp.search(plot)

13

sht90 PaketStatistikR

Dari hasil untuk contoh di atas dapat dilihat keterangan nama perintah atau fungsi
besertanamapaketataulibrary(katayangdidalamkurung)yangmemuatstringplot.
Output yang diperoleh akan berbeda dan tergantung pada library yang terinstal pada
komputer.
Output yang sama dapat pula diperoleh dengan menggunakan menu utama
pada pilihan Help,kemudian pilih Searchhelp dan selanjutnyaketik plot padajendela
dialogsepertiyangterlihatpadaGambar1.13berikutini.



Gambar1.13.JendeladialogSearchhelpuntukpencariansuatuperintah

c.Menggunakanversihtmldarijendelahelp
Tampilan dari help dalam versi html dapat diperoleh melalui fungsi atau
perintah help.start() pada jendela Rconsole. Selain itu, jendela help dalam html ini
dapatpuladibukamenggunakanmenupadapilihanHelp,dankemudianpilihHtmlhelp.
Berikutiniadalahcontohhelp.start()padajendelaRconsole.


>help.start()

HasildariperintahtersebutdapatdilihatpadaGambar1.14.Beberapaketeranganatau
uraiandarihasiljendelahelpversihtmladalahsebagaiberikut:
Pada bagian Manuals, diperoleh daftar link dari semua file manual dalam versi
htmldariR.Versifilepdfdarifilemanualinidapatdiaksesmelaluimenuutama
Help,danpilihaManuals(inPdf)dariR.

Pada bagian Reference terdiri dari dua informasi utama, yaitu tentang Package
yang berisi daftar semua paket atau library yang telah diinstal pada sistem, dan
tentang Search Engine & Keywords yang dapat digunakan untuk pencarian kata
kunci(keywords)dalamsemuapaketataulibraryyangtelahdiinstaldalamsistem
Ryangadadikomputer.

14

sht90 PaketStatistikR

PadabagianMiscellaneousMaterialterdiridaribeberapalinkbeberapainformasi
tambahanyangpentinguntukdiketahuilebihlanjut.



Gambar1.14.Hasilpencarianhelpdalamversihtmldenganperintahhelp.start()


1.7.3. OnlineSearchEngine
Informasi tentang R secara online dapat dicari dengan menggunakan search
engine di alamat http:\\cran.rproject.org\search.html. Pada alamat tersebut dapat
diperolehsemuainformasitentangRyangadadalamsitusCRAN,informasisemuapaket
ataulibraryyangtersediauntukR,danditambahinformasiyangtersediapadaarchive
mailinglistrhelp@stat.math.ethz.ch.



15

sht90 ManajemendatadiPaketR

BAB2
MANAJEMENDATADIPAKETR

Manajemendatayangmeliputidataentry,edit,importdanexport,merupakan
suatulangkahyangpentingdalamanalisisstatistika.Adabeberapamacamdanukuran
datayangdapatdiolahmenggunakanR.Secaraumum,minimaladaduamacambentuk
data yang dapat diolah, yaitu data yang dimasukkan langsung lewat R editor melalui
keyboard, dan data yang sudah ditulis menggunakan Program Sheet lain, seperti Text,
SPSS, MINITAB, Access ataupun dBase. R menyediakan dua cara untuk melakukan
manajemen data, yaitu menggunakan RGUI dan melalui command line di Rconsole.
Pada bab ini, pembahasan tentang manajemen data difokuskan yang melalui RGUI,
khususnyapemakaianRCommander.

2.1. DataEntrymenggunakanRGuidenganRCommander
Padatahapawal,aktifkankembaliprogramRdenganmengklikiconshortcutnya.
KemudianloadlibraryRCommanderdenganmengetikkanperintahlibrary(Rcmdr)pada
jendela Rconsole, dan tunggu sampai RCommander selesai diloading. Jika proses
berjalansuksesmakaakannampakjendelaRCommandersepertipadaGambar2.1.



Gambar2.1.JendelaawaldaripaketlibraryRcommanderyangsuksesdiloading

16

sht90 ManajemendatadiPaketR

PengisiandatasecaralangsungviaRdenganmenggunakanRcommanderdapat
dilakukan melalui menu Data, dan pilih Dataset baru . Setelah itu, jendela dialog
pengisiannamadatasetakanditampilkan,sepertiyangterlihatpadaGambar2.2.Pada
kotakdialognamadataset,tuliskanlatihan1sebagainamadatasetbarutersebut.



Gambar2.2.Jendeladialogpengisiannamadataset

KemudianklikOK,danjendelaRGuiDataEditorakanterbukasepertipadaGambar2.3
berikutini.



Gambar2.3.JendelaRGuiDataEditoruntukpengisiandata

Pengisiannamavariabeldilakukandengancaraklikpadakolompalingatasdari
data editor. Sebagai contoh, untuk mengisikan nama variabel pertama, misalnya
responden,klikpadavar1.KemudianpadajendelaVariableeditorsepertiyangterlihat
pada Gambar 2.4, isikan responden sebagai variable name dan tipe data adalah
character(karenayangakandiisikanpadakolominiadalahnamanamaresponden).

17

sht90 ManajemendatadiPaketR



Gambar2.4.JendelaVariableeditoruntukpengisiannamavariabel

Sebagailatihan,isikandatatentangnamamahasiswa,nilaiUANtigamatapelajaran,dan
IPKsemester1,berikutinikedalamRDataeditor.

Responden Matematika BIndonesia BInggris IPK1


Adi 8.0 9.1 8.4 3.35
Budi 7.6 8.8 8.5 3.02
Dany 6.9 8.1 7.2 2.90
Eka 8.9 9.2 9.0 3.42
Fery 9.5 9.6 9.5 3.75
Nuri 7.3 8.7 7.9 3.26
Rury 6.5 7.5 8.2 2.76

Padadasarnya,prosespengisiandatainiadalahsamadenganpaketstatistikyanglain,
yaitu mulai isiannama kolom dan tipe data yangdiinputkan (numeric ataucharacter).
Setelah semua data selesai diinputkan, maka akan diperoleh tampilan Data Editor
sepertiberikutini.



Gambar2.5.JendelaDataEditorsetelahsemuadataselesaidiisikan


18

sht90 ManajemendatadiPaketR

Setelah dilakukan data entry, maka tutup jendela R Data Editor diatas untuk
mengakhiri proses data entry. Pada jendela RCommander terlihat Data set yang
dengan nama latihan1 saat ini sedang aktif, seperti yang terlihat pada Gambar 2.6.
Untuk menampilkan data yang sedang aktif di Jendela Keluaran RCommander, tulis
namadatasetyaitulatihan1diJendelaSkrip,kemudianklikKirim,makaakanterlihat
datasepertiberikutini.

Gambar2.6.JendelaRCommandersetelahdilakukanprosesentrydata

2.2.MenampilkandatayangsedangaktifdiRCommander
Untukmenampilkandatayangsedangaktifdimemori,lakukandenganmengklik
tombolLihatdataset.Setelahitujendeladataakandibukadanmenampilkandatayang
sedangaktifdimemorikomputersaatini,yaitudatalatihan1berikutini.

Gambar2.7.Jendeladatalatihan1yangsedangaktifdimemori


19

sht90 ManajemendatadiPaketR

2.3.EditingdatadiRCommander
Untuk melakukan editing terhadap data latihan1, lakukan dengan mengklik
tombolEdit data set.Setelah itujendelaData Editor akandibukakembali,danproses
editingdatadapatlangsungdilakukanpadadatadatayangsalahketik.Jikaeditingtelah
selesai dilakukan, tutup jendela Data Editor untuk kembali ke jendela Rcommander.
HasileditingyangtelahdilakukandapatdilihatdenganklikpadatombolLihatdataset.

2.4.ImportingdatadiRCommander
Seperti yang telah dijelaskan pada bagian sebelumnya, secara umum proses
data entry di RCommander dapat dilakukan dengan dua macam cara, yaitu dilakukan
langsung melalui Data Editor dan melalui import data dari format data yang diberikan
olehprogramlain.ProgramyangformatdatanyadapatdibacaolehRadalahdatadari
fileteksatauclipboard,datasetSPSS,datasetMINITAB,datasetSTATA,datadariExcel,
Access,ataudBase,sepertiyangterlihatpadajendelamenuberikut.

Gambar2.8.JendelaImpordatapadaRCommander

Pada bagian berikut ini akan dijelaskan penggunaan impor data dari Excel, SPSS, dan
MINITAB. Untuk file dari program yang lain, proses impor data melalui RCommander
dapat dilakukan secara sama dengan cara mengimpor data dari program Excel, SPSS,
ataupunMINITAB.

2.4.1.ImportingdatafileExceldiRCommander
MisalkansajadatafileExcelbelumada,danakandibuatterlebihdahulu.Buka
programExcel,setelahituisikandatatentangrespondendiatassehinggadiperolehdata
ExcelsepertiyangterlihatpadaGambar2.9.

20

sht90 ManajemendatadiPaketR

Gambar2.9.JendeladatapadaExcelyangakandiimporkeR

Langkah selanjutnya, simpan file ini sebagai file text (yaitu tab delimited txt), dengan
nama data1.txt di direktori C:\Kerja_R\. Untuk mengimpor data file ini kedalam
RCommander,pilihlahpadaRCommandermenuData,pilihImpordata,dankemudian
pilihdarifileteksatauclipboard.Padajendeladialogyangmuncul,isikaninformasi
namauntukdataset,namavariabel,danlainlain,sepertiberikutini.



Gambar2.10.JendeladialogImpordatadarifileteksatauclipboard


21

sht90 ManajemendatadiPaketR

Dalam hal ini, data hasil impor akan disimpan kedalam RCommander dengan
nama latihan2. Data ini diimpor dengan Pemisah Field/Medan adalah spasi. Klik OK,
kemudian akan muncul untuk melakukan browsing ke lokasi dari file teks yang akan
diimpor.ArahkankedirektoriC:\Kerja_R\danpilihfiledata1.txt.KemudianklikOpen,
maka sekarang data yang berada pada file data1.txt telah diimpor kedalam R
Commanderdengan nama latihan2.Sekarang, data set yang aktif pada RCommander
adalahlatihan2sepertiyangterlihatpadaGambar2.11.GunakantombolLihatdataset
untukmelihathasilimpordataini.

Gambar2.11.Jendeladialoghasilimpordatadanlatihan2sebagaidatasetaktif

2.4.2.ImportingdatafileSPSSdiRCommander
Proses impor data eksternal yang telah disimpan sebagai file SPSS, dapat
dilakukan dengan memilih pada RCommander menu Data, pilih Impor data, dan
kemudianpilihdaridatasetSPSS.Padajendeladialogyangmuncul,isikaninformasi
namauntukdataset(misallatihan3)sepertiberikutini.



Gambar2.12.JendeladialogImporDatasetSPSS

22

sht90 ManajemendatadiPaketR

KlikOK,danselanjutnyaarahkankedirektoritempatpenyimpananfileSPSSyangakan
diimpor, misalkan saja di C:\Kerja_R\ dengan nama data2.sav. Kemudian klik Open,
maka data hasil impor dari file data2.sav akan disimpan kedalam file latihan3. Pada
jendelaRCommanderterlihatdatasetlatihan3sedangaktif,sepertipadaGambar2.13.
KliktombolLihatdatasetuntukmelihathasilimpordataini.



Gambar2.13.Jendeladialoghasilimpordatadanlatihan3sebagaidatasetaktif

2.4.3.ImportingdatafileMINITABdiRCommander
Proses impor data eksternal yang telah disimpan sebagai file MINITAB adalah
ekuivalendenganimpordatateksatauSPSSsebelumnya,yaitudapatdilakukandengan
memilih pada RCommander menu Data, pilih Impor data, dan kemudian pilih dari
datasetMinitab.Padajendeladialogyangmuncul,isikaninformasinamauntukdata
set(misallatihan4)sepertiberikutini.



Gambar2.14.JendeladialogImporDatasetMINITAB

Klik OK, dan selanjutnya arahkan ke direktori tempat penyimpanan file MINITAB yang
akandiimpor,misalkansajadiC:\Kerja_R\dengannamadata3.MTP(MinitabPortable
Worksheet,lakukanpadasaatsaveasdiMinitab).KemudianklikOpen,makadatahasil
impor dari file data3.MTP akan disimpan kedalam file latihan4. Pada jendela R
Commander terlihat data set latihan4 sedang aktif, seperti pada Gambar 2.15. Klik
tombolLihatdatasetuntukmelihathasilimpordataini.

23

sht90 ManajemendatadiPaketR

Gambar2.15.Jendeladialoghasilimpordatadanlatihan4sebagaidatasetaktif

2.5.Memilihdatasetyangaktif
Pemilihan dataset yang aktif pada RCommander dapat dilakukan dengan
menggunakan menu Data, pilih Dataset aktif, dan kemudian klik Pilih dataset aktif
sepertiberikutini.



Gambar2.16.Jendeladialoguntukmemilihmenudatasetyangsedangaktif

24

sht90 ManajemendatadiPaketR

Selanjutnya, pilihlah dataset yang ingin diaktifkan dengan melakukan klik pada nama
datasetyangdipilih,kemudianklikOKsepertiberikutini.



Gambar2.17.Jendeladialoguntukmemilihdatasetyangsedangaktif

2.6.Transformasidatasetataupengaturanvariabelpadadataset
AdabeberapamenuuntuktransformasidatasetpadaRCommander,antaralain
recode atau kode ulang peubah, compute atau hitung peubah baru, standarisasi
peubah,dan lainnya.Secaralengkap,transformasi datasetyangdapatdilakukandapat
dilihatpadaGambar2.18.



Gambar2.18.Beberapamenuuntukmelakukantransformasidataset

2.6.1.Recodeataukodeulangpeubah
Kodeulangpeubahmerupakanpilihanmenupertamapadapengaturanvariabel
dataset. Misalkan saja akan dilakukan recode atau kode ulang pada variabel IPK dari
datasetlatihan4.

25

sht90 ManajemendatadiPaketR

RangenilaiIPK Nilaikodebaru
<3.00 1
3.003.50 2
>3.50 3

Langkahlangkahpengkodeandapatdilakukansebagaiberikut.
BukamenurecodedenganmemilihmenuDatapadaRCommander,kemudianpilih
Atur peubah pada dataset aktif, dan selanjutnya pilih Kode ulang peubah .
Selanjutnyaakandiperolehtampilansepertiberikut.



Gambar2.19.JendelapilihanKodeulangPeubah

Kemudianarahkankevariabelipk,dannamakanhasilrecodesebagaiipk_recode.
Informasipengkodeandapatdijelaskandenganmenggunakaninformasiberikut:
0.00:2.99 = 1
3.00:3.49 = 2
else = 3

Klik OK, dan sekarang jika dilihat pada dataset latihan4, akan diperoleh variabel
baruyaituipk_recodeyangberisikandatahasilpengkodeanulangdariipk.Lakukan
denganklikLihatdataset,sehinggadiperolehtampilandatasepertiberikut.

26

sht90 ManajemendatadiPaketR



Gambar2.20.JendeladatahasilKodeulangPeubahipkmenjadiipk_recode

2.6.2.Computeatauhitungpeubahbaru
Pilihanmenuhitung peubah barudapatdigunakanuntukmembentukvariabel
baruyangmerupakanfungsidarivariabelyangsudahada.Misalkansajaakandilakukan
transformasi terhadap variabeltinggipadadataset latihan4 menjadi variabel lain yang
dengannamatinggi_compute,yaitutinggi:100.
Langkahlangkahtransformasiiniadalahsebagaiberikut.
Pertamatama, aktifkan dataset yang akan dilakukan transformasi compute, yaitu
latihan4padaRCommander.
BukamenuHitungpeubahbarudenganmemilihmenuData,kemudianpilihAtur
peubahpadadatasetaktif,danselanjutnyapilihHitungpeubahbaru.Selanjutnya
akandiperolehtampilansepertipadaGambar2.21.
Selanjutnyaisikantinggi_computepadakolomNamapeubahbarudantinggi/100
padakolomEkspresiuntukdihitungsepertiyangterlihatpadaGambar2.21.
Klik OK, dan sekarang jika dilihat pada dataset latihan4, akan diperoleh variabel
baru yaitu tinggi_compute yang berisikan data hasil transformasi compute pada
variabeltinggi.LakukandenganklikLihatdataset,sehinggadiperolehtampilandata
baru pada kolom terakhir yaitu tinggi_compute yang merupakan hasil bagi dari
variabeltinggidengan100.

27

sht90 ManajemendatadiPaketR



Gambar2.21.JendelapilihanHitungpeubahbaru

Pengaturanatautransformasilainpadadatasetyangaktifdapatpuladilakukan
dengan menjalankan menu Data, pilih Atur peubah pada dataset aktif, dan arahkan
padatransformasiyangakanditerapkan.Bagianinihanyamenjelaskanduatransformasi
awal dari pilihan menu yang ada, yaitu recode dan compute. Transformasi lain yang
dapatdilakukanpadaRCommanderadalah:


Tambahkanbanyaknyapengamatankedataset
Standarisasipeubah
Konversipeubahnumerikkefaktor
Binpeubahnumerik
Aturulanglevelfaktor
Definisikankontrasdanfaktor
Namakanulangpeubah
Hapuspeubahdaridataset








28

sht90 ManajemenDatadiRdenganCommandLine

BAB3
MANAJEMENDATADIRDENGANCOMMANDLINE

Pada R, data yang ada dipandang sebagai suatu objek yang memiliki suatu
attributesatausifat.Sifatdataditentukanolehtypedatadanmodedata.Adaberbagai
typedatayangdikenalolehR,antaralainvektor,matriks,list,dataframe,array,factor,
dan function (builtin command). Sedangkan mode data yang dikenal R ada 4 macam
sepertiyangterlihatpadaTabel3.1berikutini.

Tabel3.1.EmpatmacammodedatayangdikenalR

Mode ContohperintahdiCommandLine
Numeric >23
>c(2.3,2,1.3,3.2)
>data.bulan=c(1,2,3,4,5,6,7,8,9,10,11,12)
Complex >1+5i
>sqrt(as.complex(5))
Logical >c(T,F,F,T,T,F,F,T,T,T)
>data.tahun>1998
Character >c(Budi,Wati,Rony,Naily)
>c(F,T,2)

Nama objekdalamRharusdimulaidenganhuruf,ditambahdengankombinasi
darihurufbesar,hurufkecil,angkadantitik.Penggunaantitikbiasanyadilakukanuntuk
memudahkan pengorganisasian data. Berikut ini adalah beberapa contoh dari nama
objekyangvalid.
databudi
data.budi
data.budi.1
data.budi.5
data.budi.no7.02.02.08

Contohdarinamaobjekyangtidakvalid(invalid)adalahsebagaiberikut:
1databudi :dimulaidariangka
databudi :operatortidakdapatdigunakan
databudi=1 :operator=tidakdapatdigunakan

Dalam R versi 2.7.2 ini, assignment dapat digunakan dengan operator < dan =.
Untuk melihat isi dari suatu data objek, dapat dilakukan dengan mengetikkan nama
objektersebutdiRpromptpadaRconsole.

29

sht90 ManajemenDatadiRdenganCommandLine

3.1.JenisjenisDataObjek
Pada bagian ini akan dijelaskan beberapa jenis data objek pada R, yaitu data
arraysatudimensiataudatavektor,datamatriks,dataframe,dandatalist.

3.1.1.DataArraySatuDimensiatauDataVektor

Vektor merupakan suatu array atau himpunan bilangan, character atau string,
logicalvalue,danmerupakanobjekpalingdasaryangdikenaldalamR.Padadatavektor
harusdigunakanmodetunggalpadadata,sehinggagabunganduadataataulebihyang
berbedamodetidakdapatdilakukankedalamsatuobjekvektor.Jikainidilakukan,maka
Rakanmengubahdatakemodeyanglebihumum,seperticontohberikutini.



>c(T,1:10)
[1]112345678910

>c("A",F,T)
[1]"A""FALSE""TRUE"

>c("A",2,4,F,T)
[1]"A""2""4""FALSE""TRUE"

>x=c(1:10)
>x
[1]12345678910

>mode(x)
[1]"numeric"

>length(x)
[1]10


Pada contoh pertama dapat dilihat bahwa pada command line menghasilkan vektor
yang semua data diubah menjadi mode numerik, sedangkan pada contoh kedua dan
ketigamenghasilkanvektoryangsemuadatanyadiubahmenjadimodekarakter.Untuk
mengetahuimodesuatuobjekvektordapatdilakukandenganmenggunakancommand
modesepertipadacontohdiatas.Jumlahataupanjangdatayangbertipevektordapat
diketahuidenganmemanfaatkanfungsilength(perhatikancontohdiatas).

Ekstraksi sebagian data vektor dapat dilakukan dengan berbagai cara atau
langkah. Dalam praktek analisis data statistik, ekstraksi ini biasanya dilakukan untuk
pembentukandatabaruberdasarkandatayangsudahada.Berikutiniadalahbeberapa
contohhasilekstraksidarisuatudatavektoryangterdiridari10elemen,yaitu10,5,14,
12,8,11,9,10,16,20.

30

sht90 ManajemenDatadiRdenganCommandLine


>x=c(10,5,14,12,8,11,9,10,16,20)
>x#untukmelihatsemuaelemenobjekvektorx
[1]10514128119101620

>x[2]#menampilkanelemenkedua
[1]5

>x[c(1,3,7)]#menampilkanelemenke1,3,7
[1]10149

>x[c(2,8)]#menampilkansemuaelemenkecualielemenke2,8
[1]10141281191620

>x[x>10]#menampilkansemuaelemenyanglebihbesardari10
[1]1412111620

>y=x[x>10]#menyimpanvektorygelemennyalebihbesardari10dgnnamay
>y
[1]1412111620


3.1.2.DataMatriks

Matriks atau data array dua dimensi adalah salah satu tipe data yang banyak
digunakandalampemrogramanstatistik.SebagianbesarfungsifungsistatistikdalamR
dapat dianalisis dengan menggunakan bentuk matriks. Bentuk matriks ini juga banyak
digunakanpadaoperasifungsifungsibuiltinuntukaljabarlineardalamR,sepertiuntuk
penyelesaiansuatupersamaanlinear.

Proses entry data matriks dilakukan dengan menggunakan fungsi matrix.


Argumen yang diperlukan adalah elemenelemen dari matriks, dan argumen optional
yaitu banyaknya baris nrow dan banyaknya kolom ncolom. Sebagai contoh, gunakan
perintahperintahberikutinipadaRconsole.

>matriks.1=matrix(c(1,2,3,4,5,6),nrow=2,ncol=3)
>matriks.2=matrix(1:6,nrow=2,ncol=3)
>matriks.3=matrix(1:6,nrow=2)
>matriks.4=matrix(1:6,2)
>matriks.1
[,1][,2][,3]
[1,]135
[2,]246


Keempatperintahdiatasakanmenghasilkanmatriksyangsama.Untukmengetahuinya
ketikkan matriks.2, matriks.3, matriks.4, dan kemudian enter untuk masingmasing
perintahtersebut.

31

sht90 ManajemenDatadiRdenganCommandLine


PadaR,datasecaradefaultakandiisikankolomperkolomsepertiyangterlihat
padacontohberikutini.


>data=c(6.4,8.8,7.5,5.3,7.6,9.5)
>data
[1]6.48.87.55.37.69.5

>matriks.a=matrix(data,nrow=3,ncol=2)
>matriks.a
[,1][,2]
[1,]6.45.3
[2,]8.87.6
[3,]7.59.5


Pengisian matriks menurut baris perbaris dapat dilakukan dengan menggunakan
argumen optional byrow=T pada command matrix. Berikut ini adalah contoh tentang
penggunaanargumentersebut.

>matriks.b=matrix(data,nrow=3,ncol=2,byrow=T)
>matriks.b
[,1][,2]
[1,]6.48.8
[2,]7.55.3
[3,]7.69.5

>dim(matriks.a)
[1]32

>length(matriks.a)
[1]6

>mode(matriks.a)
[1]"numeric"


Dimensi, length dan mode dari suatu matriks dapat dilihat dengan menggunakan
perintahdim,length,danmodesepertipadacontohdiatas.Perludiingatbahwasemua
elemendarimatriksharusmemilikimodeyangsama.Jikahal initidakdipenuhi,maka
elemenelemenakandiubahmenjadimodeyangpalingumum.

Adabeberapaoperatoryangbiasadigunakanuntukoperasimatriksdanvektor,
antara lain perkalian, invers matriks, transpose matriks dan crossproduct. Ringkasan
darioperatoroperatorinidapatdilihatpadaTabel2.2.

32

sht90 ManajemenDatadiRdenganCommandLine


Tabel3.2.Operatoruntukoperasimatriksdanvektor

Operator Keterangan
* Perkalianelemendemielemendarimatriks
%*% Perkalianmatriks
%o% Outer
solve Inversdarisuatumatriks
t Transposedarisuatumatriks
crossprod Crossproductsuatumatriks,yaitut(x)%*%x

Berikutiniadalahbeberapacontohhasilpenggunaanoperatorpadasuatumatriksdan
vektor.


>a=1:5
>a
[1]12345

>a*a#perkalianelemendemielemendarimatriksa
[1]1491625

>crossprod(a)#crossproduckdarimatriksa,yaitut(a)%*%a
[,1]
[1,]55

>b=matrix(c(1:4),2)
>b
[,1][,2]
[1,]13
[2,]24

>b*b#perkalianelemendemielemendarimatriksb
[,1][,2]
[1,]19
[2,]416

>b%*%b#perkalianmatriksbdenganmatriksb
[,1][,2]
[1,]715
[2,]1022

>solve(b)#inversdarimatriksb
[,1][,2]
[1,]21.5
[2,]10.5

33

sht90 ManajemenDatadiRdenganCommandLine


Pada R, dapat pula dilakukan penggabungan satu kolom atau satu baris baru
kedalam matriks lain. Hal ini dapat dilakukan dengan menggunakan perintah rbind
(untukmenambahkankebaris)dancbind(untukmenambahkankekolom).Perhatikan
contohcontohberikutini.

>a=matrix(c(3,4,5,6,7,8),2,3)
>a
[,1][,2][,3]
[1,]357
[2,]468

>a1=cbind(a,c(1,2))#menambahkankekolomke4daria
>a1
[,1][,2][,3][,4]
[1,]3571
[2,]4682

>a2=cbind(c(1,2),a)#menambahkankekolomke1daria
>a2
[,1][,2][,3][,4]
[1,]1357
[2,]2468

>a3=rbind(a,c(1,2,3))#menambahkankebariske3daria
>a3
[,1][,2][,3]
[1,]357
[2,]468
[3,]123

>a4=rbind(c(1,2,3),a)#menambahkankebariske1daria
>a4
[,1][,2][,3]
[1,]123
[2,]357
[3,]468



3.1.3.DataFrame

Data frame merupakan objek yang mempunyai bentuk sama dengan matriks,
yaitu terdiri atas baris dan kolom. Perbedaannya adalah data frame dapat terdiri atas
mode data yang berbedabeda untuk setiap kolomnya. Misalkan saja, kolom pertama
adalahnumeric,kolomkeduaadalahstring/character,dankolomketigaadalahlogical.
Objekdataframedapatdibuatdenganmenggunakanperintahdata.frame,sepertipada
contohcontohberikutini.

34

sht90 ManajemenDatadiRdenganCommandLine



>data.frame(c(1:4),c(T,T,F,F))
c.1.4.c.T..T..F..F.
11TRUE
22TRUE
33FALSE
44FALSE

>data.frame(nomer=c(1:4),jawaban=c(T,T,F,F))#adanamakolom
nomerjawaban
11TRUE
22TRUE
33FALSE
44FALSE

>cobaframe=data.frame(c(1:4),c(T,T,F,F))#simpanobjekdicobaframe
>cobaframe
c.1.4.c.T..T..F..F.
11TRUE
22TRUE
33FALSE
44FALSE

>names(cobaframe)[1]="nomer"#namakolomke1nomer
>names(cobaframe)[2]="jawaban"#namakolomke2jawaban
>cobaframe
nomerjawaban
11TRUE
22TRUE
33FALSE
44FALSE

>cobaframe1=data.frame(c(1:4),c(T,T,F,F))
>cobaframe1
c.1.4.c.T..T..F..F.
11TRUE
22TRUE
33FALSE
44FALSE

>names(cobaframe1)=c("nomer","jawaban")#berinamakolom
>cobaframe1
nomerjawaban
11TRUE
22TRUE
33FALSE
44FALSE




35

sht90 ManajemenDatadiRdenganCommandLine

Secaraumum,perintahperintahdiatasadalahekuivalendenganperintahberikutini.


>cobaframe2=data.frame(nomer=c(1:4),jawaban=c(T,T,F,F))
>cobaframe2
nomerjawaban
11TRUE
22TRUE
33FALSE
44FALSE

Seperti pada data vektor, ekstraksi sebagian data pada matriks dan data frame dapat
puladilakukandenganberbagaicaraataulangkah.Berikutiniadalahbeberapacontoh
hasilekstraksidarisuatumatriksdandataframe.


>matriks.1=matrix(1:9,3)
>dataframe.1=data.frame(nomer=1:4,nama=c("Adi","Budi","Cika","Dony"),
nilai=7:10)
>matriks.1
[,1][,2][,3]
[1,]147
[2,]258
[3,]369

>matriks.1[2,2]
[1]5

>dataframe.1
nomernamanilai
11Adi7
22Budi8
33Cika9
44Dony10

>dataframe.1[2,2]
[1]Budi
Levels:AdiBudiCikaDony

>dataframe.1["nama"]
nama
1Adi
2Budi
3Cika
4Dony

36

sht90 ManajemenDatadiRdenganCommandLine

3.1.4.DataList

Datalistmerupakanobjekyangpalingumumataugeneraldanpalingfleksibeldi
dalamR.Listadalahsuatuvektorterurutdarisekumpulankomponen.Setiapkomponen
dapat berupa sembarang data objek, yaitu vektor, matriks, data frame, atau data list
sendiri.Tiapkomponenpadadatalistdapatmempunyaimodeyangberbeda.Datalist
dapatdibuatdenganmenggunakanperintahlist.Berikutiniadalahcontohpendefinisian
danpemakaianelemenlist.


>list(c(1:3),c(T,F,T,T),data.frame(nama=c("Budi","Cika","Dony"),nilai=c(8:10)))
[[1]]
[1]123

[[2]]
[1]TRUEFALSETRUETRUE

[[3]]
namanilai
1Budi8
2Cika9
3Dony10


>datalist.1=list(nomer=c(1:3),jawaban=c(T,F,T,T),nilaiframe=data.frame(nama
=c("Budi","Cika","Dony"),nilai=c(8:10)))
>datalist.1
$nomer
[1]123

$jawaban
[1]TRUEFALSETRUETRUE

$nilaiframe
namanilai
1Budi8
2Cika9
3Dony10



Seperti pada jenisjenis data sebelumnya, ekstraksi sebagian data pada data list dapat
puladilakukandenganberbagaicaraataulangkah.Berikutiniadalahbeberapacontoh
hasilekstraksidarisuatudatalist.

37

sht90 ManajemenDatadiRdenganCommandLine



>datalist.1[1]#mengaksesnamadanelemenpertama
$nomer
[1]123

>datalist.1[[1]]#mengakseselemenpertama
[1]123

>datalist.1$nomer#mengakseselemenpertamaberdasarkannamanya
[1]123

>datalist.1$jawaban#mengakseselemenkedua
[1]TRUEFALSETRUETRUE

>datalist.1$nilaiframe#mengakseselemendataframe
namanilai
1Budi8
2Cika9
3Dony10

>datalist.1$nilaiframe$nama
[1]BudiCikaDony
Levels:BudiCikaDony

3.2.ImportingDatapadaCommandLine
Secaraumum,prosesimportingdatapadaRdapatdilakukandenganduacara,
yaitumenggunakanperintahperintahdicommandlinedanmenggunakanfasilitasGUI
RCmdr (lihat bagian 2.1 sebelumnya). Pada bagian ini akan dijelaskan penggunaan
perintahpadacommandlineuntukimportingdata.

3.2.1.MembacaFileASCII

Suatu file ASCII biasanya terdiri dari bilanganbilangan yang dipisahkan meng
gunakan spasi, tab, tanda akhir baris atau tanda baris baru, serta pembatas yang lain.
MisalkandatafileASCIIyangdibuatdiNOTEPADdengannamalatihan5.txtberisidata
sepertiberikutini.


50 28 75 35 49 64 88 94 54 34 28 56
87 42 33 67 31 98 58 47 37 66 64 25
66 35 87 58 93 86 69 29 96 86 57 80

38

sht90 ManajemenDatadiRdenganCommandLine

Anggap bahwa file ASCII dengan nama latihan5.txt ini sudah tersimpan pada direktori
kerja R. Proses impor data dapat dilakukan dengan perintah scan dan latihan5.txt
sebagai argumennya. Apabila data tidakberada padadirektori kerjaR, maka tulisjuga
direktori tersebut pada argumennya. Berikut ini adalah contoh proses impor data file
ASCII.

>scan("latihan5.txt")
Read36items
[1]50287535496488945434285687423367319858473766642566
[26]3587589386692996865780

>data5.scan=scan("latihan5.txt")
Read36items

>data5.scan
[1]50287535496488945434285687423367319858473766642566
[26]3587589386692996865780

>matrix5.scan=matrix(scan("latihan5.txt"),6)
Read36items

>matrix5.scan
[,1][,2][,3][,4][,5][,6]
[1,]508887586669
[2,]289442473529
[3,]755433378796
[4,]353467665886
[5,]492831649357
[6,]645698258680

>data6.scan=scan("c:\\Kerja_R\\latihan5.txt")
Read36items

>data6.scan
[1]50287535496488945434285687423367319858473766642566
[26]3587589386692996865780

3.2.2.ImportingDataFileExcel

Data file Excel dengan ekstensi .XLS dapat diimpor secara langsung meng
gunakanfasilitasGUIRCmdr(lihatbagiansebelumnya).Untukdapatdiimporkedalam
R dengan fasilitas command line, maka data file Excel harus terlebih dulu diubah
menjadiformatTextTabDelimited(ekstensi.TXT)atauCSVcommadelimited(ekstensi
.CSV). Setelah itu, data ini dapat diimpor menggunakan perintah read.table atau
read.csv.

39

sht90 ManajemenDatadiRdenganCommandLine


Misalkan saja data file Excel yang akan diimpor adalah seperti pada gambar
berikutinidantelahdisimpanmenjadifiledata1.txtataudata1.csv.

Gambar3.1.Jendeladata1.txtpadaExcelyangakandiimporkeR

Proses impordata1.txtdapatdilakukandenganperintahread.table,sedangkan,impor
data1.csv dilakukan dengan perintah read.csv. Argumen optional header=T digunakan
dengan tujuan agar R menggunakan baris pertama dari file sebagai header atau nama
darivariabel.Sepertipadabagiansebelumnya,apabiladatatidakberadapadadirektori
kerjaR,makatulisjugadirektoritersebutpadaargumennya.Berikutiniadalahcontoh
prosesimpordatafiledenganekstensi.TXTdan.CSV.

>latihan2<read.table("data1.txt",header=TRUE)#atau
>latihan2<read.table("c:\\Kerja_R\\data1.txt",header=TRUE)#atau
>latihan2<read.table("c:/Kerja_R/data1.txt",header=TRUE)

>latihan2

Responden Matematika BIndonesia BInggris IPK1
1 Adi 8.0 9.1 8.4 3.35
2 Budi 7.6 8.8 8.5 3.02
3 Dany 6.9 8.1 7.2 2.90
4 Eka 8.9 9.2 9.0 3.42
5 Fery 9.5 9.6 9.5 3.75
6 Nuri 7.3 8.7 7.9 3.26
7 Rury 6.5 7.5 8.2 2.76

40

sht90 ManajemenDatadiRdenganCommandLine

>latihan3<read.csv("data1.csv",header=TRUE)

>latihan3
Responden.Matematika.BIndonesia.BInggris.IPK1
1 Adi;8;9.1;8.4;3.35
2 Budi;7.6;8.8;8.5;3.02
3 Dany;6.9;8.1;7.2;2.9
4 Eka;8.9;9.2;9;3.42
5 Fery;9.5;9.6;9.5;3.75
6 Nuri;7.3;8.7;7.9;3.26
7 Rury;6.5;7.5;8.2;2.76

3.2.3.ImportingDatadariPaketStatistik

R mempunyai paket atau library foreign untuk melakukan importing data dari
filedalamformatpaketstatistikayanglain.SampaisaatiniyangtersediapadaRadalah
importingdatafiledaripaketpaketstatistikaberikut:

MINITAB : gunakanperintahread.mtpuntukmembacafileMinitab
PortableWorksheetataudatadenganekstensi.MTP.
FileinidapatdibuatdiMINITABdenganperintahSAVEAS
danpilihan.MTP
SPSS : gunakanperintahread.spssuntukmembacafile.SAV.
SAS : gunakanperintahread.ssdatauread.xport.
S+ : gunakanperintahread.S
STATA : gunakanperintahread.dta
Systat : gunakanperinahread.systat
Epiinfo : gunakanperintahread.epiinfountukmembacafile.REC.

Pada bagian ini akan diberikan contoh hanya untuk mengimpor data file SPSS
danMINITAByangseringkalidigunakandalamanalisisdatastatistik.Misalkandatafile
SPSS yang sudah dimiliki diberi nama WORLD95.SAV dan telah disimpan di direktori
kerjaR.ProsesimpordatainikedalamRdenganmenggunakanperintahcommandline
adalahsebagaiberikut.

41

sht90 ManajemenDatadiRdenganCommandLine

>latihan4<read.spss("World95.sav",use.value.labels=TRUE,
max.value.labels=Inf,to.data.frame=TRUE)

>latihan4[,1:5]#hanyamenampilkan5kolompertamasaja
COUNTRY POPULATN DENSITY URBAN RELIGION
1 Afghanistan 20500 25.0 18 Muslim
2 Argentina 33900 12.0 86 Catholic
3 Armenia 3700 126.0 68 Orthodox
4 Australia 17800 2.3 85 Protstnt
5 Austria 8000 94.0 58 Catholic
6 Azerbaijan 7400 86.0 54 Muslim




Perintah use.value.labels=TRUE digunakan untuk mendapatkan variabel yang bertipe
FACTORdenganvaluelabelsepertiyangadapadadatafilediSPSS.

BerikutiniadalahprosesimpordatafileMINITABdalamekstensi.MTPkedalam
Rdenganmenggunakanperintahcommandline.MisalkandatafileMINITAByangsudah
dimilikiadalahFA.MTWdantelahdisimpankedalamekstensi.MTPmenjadiFA.MTP.

>latihan5<read.mtp("C:/Kerja_R/Fa.MTP")

>latihan5
$X
[1]1081391114641275

$Y1
[1]8.046.957.588.818.339.967.244.2610.844.825.68

$Y2
[1]9.148.148.748.779.268.106.133.109.137.264.74

$Y3
[1]7.466.7712.747.117.818.846.085.398.156.425.73

$X4
[1]888888819888

$Y4
[1]6.585.767.718.848.477.045.2512.505.567.916.89


42

sht90 GrafikMenggunakanRCommander

BAB4
GRAFIKMENGGUNAKANRCommander

Pada bab ini akan dibahas penggunaan RCommander untuk membuat
penyajianstatistikdeskriptifdarisuatukumpulandata.Fokusutamaadalahpembuatan
beberapamacambentukgrafikyangbanyakdigunakandalamanalisisdata.
Sebagai langkah awal, buka kembali program R dengan mengklik icon R 2.7.2.
Kemudian, ubah direktori dimana file workspace berada. Misalkan file latihan4.RData
(hasil impor data SPSS dengan nama file WORLD95.SAV) ada di C:\Kerja_R, maka
direktori diubah ke C:\Kerja_R. Load file workspace tersebut dengan menggunakan
menuFile,pilihLoadWorkspacesepertipadagambarberikutini.



Gambar4.1.JendeladialoguntukLoadWorkspace

SetelahdiklikLoadWorkspacemakajendelaRakanmemberikanpilihandirektoridan
file workspace mana yang akan ditampilkan, seperti yang terlihat pada Gambar 4.2.
Pilihlahfileworkspacelatihan4.RDatayangadadidirektoriC:\Kerja_R.

43
sht90 GrafikMenggunakanRCommander

Gambar4.2.Jendeladialoguntukpilihanfileworkspaceyangakandiaktifkan

LangkahselanjutnyaadalahmengaktifkanRcommanderdenganmenggunakan
perintahlibrary(Rcmdr).Setelahitu,aktifkandatasetdenganmenggunakanmenuData,
klikDatasetaktif,danPilihdatasetaktifsepertiyangditampilkanpadaGambar4.3.

Gambar4.3.Jendeladialoguntukmemilihdatasetyangakandiaktifkan

44
sht90 GrafikMenggunakanRCommander

DaribeberapapilihanDatasetsyangada,kliklatihan4sebagaifileworkspaceyangakan
diaktifkan,sepertipadaGambar4.4.Dengandemikian,prosespengaktifankembalidata
latihan4 sudah dilakukan, dan proses analisis data baik secara statistik deskriptif atau
inferensdapatdilakukan.



Gambar4.4.Jendeladialoguntukpilihandatasetyangakandiaktifkan

4.1.GrafikdalamRGUI
R menyediakan banyak menu pilihan grafik pada RCommander, antara lain
Histogram, Diagram Batang dan Daun, Boxplot, dan lainlain. Secara lengkap pilihan
grafikyangtersediadapatdilihatpadagambarberikutini.

Gambar4.5.JendeladialoguntukpilihanGrafikpadaRCommander

45
sht90 GrafikMenggunakanRCommander

4.2.GrafikHistogram
Menu yang digunakan untuk membuat grafik histogram adalah Grafik, pilih
Histogram . Misalkan akan dibuat histogram untuk variabel LIFEEXPF (usia harapan
hidup wanita di suatu negara), maka pada jendela dialog yang muncul, pilih LIFEEXPF
sepertipadaGambar4.5.IsikanjumlahintervalyangdiinginkanpadakolomBanyaknya
bin,danklikOKuntukmenampilkanoutputhistogramnya.



Gambar4.5.Jendeladialogpilihanvariabeluntukpembuatanhistogram

OutputhistogramuntukdataLIFEEXPFyangdiperolehdariperintahdiatasdapatdilihat
pada Gambar 4.6. Dalam contoh ini, digunakan metode auto untuk pemilihan jumlah
interval,yaitumetodeSturgesdanCacahanFrekuensiyangdigunakanuntuknilai(Skala
Sumbu) yang diplotkan pada histogram. Selain itu dapat digunakan pilihan Persentase
atauKepadatanpadaSkalaSumbu.

OutputhistograminidapatdisimpandenganmenggunakanmenuFile,danpilih
Saveasdarijendelagrafik.Pilihlahoutputyangsesuai,misalkansajadalamformatPDF.
Maka pilih format PDF dalam daftar format file output. Selanjutnya, beri nama file
output dengan histogramLIFEEXPF.PDF. Selain itu, output histogram ini dapat pula
disimpandalamformatMetafile,Postcript,Png,Bmp,danJpeg.

Jikafilehistograminiingindikopiuntukdiinsertkedalamprogramlain,misalkan
kedalamMicrosoftWord,makadapatdigunakanmenuFile,pilihCopytotheclipboard,
danpilihasaBitmapatauCtrlC.Kemudian,bukaprogramMicrosoftWord,makafile
grafikdapatdipastekanmenggunakanperintahCtrlV.

46
sht90 GrafikMenggunakanRCommander


Gambar4.6.OutputhistogrampadavariabelLIFESXPF

SelainmenggunakanmenudiRCommander,pembuatanhistogramdapatjuga
dilakukan dengan command line di RConsole, yaitu dengan command hist diikuti
argumenoptionalyangdiinginkan.Berikutadalahcontohpembuatanhistogramdengan
commandlineuntukvariabelLIFEEXPFdanLIFEEXPM(usiaharapanhiduppriadisuatu
negara).

>Hist(latihan4$LIFEEXPF,scale="frequency",breaks="Sturges",col="darkgray")
>Hist(latihan4$LIFEEXPF,scale="frequency",breaks=10,col="darkgray")
>hist(latihan4$LIFEEXPF)

>#lihatperbedaanoutputhistogramyangdihasilkan

>Hist(latihan4$LIFEEXPM,scale="frequency",breaks="Sturges",col="darkgray")
>Hist(latihan4$LIFEEXPM,scale="frequency",breaks=10,col="darkgray")
>hist(latihan4$LIFEEXPM)

47
sht90 GrafikMenggunakanRCommander

4.3.DiagramBatangdanDaun(StemandLeaf)
MenuyangdigunakanuntukmembuatdiagrambatangdandaunadalahGrafik,
pilihSajianBatangdanDaun.Misalkanakandibuatdiagrambatangdandaununtuk
variabel LIFEEXPF, maka pada jendela dialog yang muncul, pilih LIFEEXPF seperti pada
Gambar4.7.



Gambar4.7.Jendeladialoguntukpembuatandiagrambatangdandaun

Isikanargumenoptionalyang diinginkan padakolomkolomyang tersedia, dan klik OK


untuk menampilkan output diagram batang dan daun. Output dari diagram ini akan
ditampilkandiJendelaKeluaranpadaRCommandersepertipadaGambar4.8.

Outputtersebutmenjelaskanbahwabilanganpadadaunmenunjukkannilainilai
satuan. Sehingga dapat diinterpretasikan bahwa usia harapan hidup wanita yang
terendah adalah 43 tahun dan yang tertinggi adalah 82 tahun. Ada 3 (tiga) negara
dengan usia harapan hidup wanitanya sebesar 82 tahun. Dalam contoh ini, pilihan
Automatik menghasilkan diagram batang dan daun dengan jumlah kelas dalam setiap
batangadalah5kelasinterval.

48
sht90 GrafikMenggunakanRCommander



>stem.leaf(latihan4$LIFEEXPF)

1 | 2: represents 12
leaf unit: 1
n: 109

LO: 43 44 44 45 45 46 47
9 5* | 00
12 t | 223
15 f | 455
17 s | 77
22 5. | 88889
6* |
23 t | 3
26 f | 455
32 s | 677777
39 6. | 8888899
45 7* | 000001
51 t | 222333
(14) f | 44444555555555
44 s | 66666777777888888888
24 7. | 9999999
17 8* | 00000001111111
3 t | 222


Gambar4.8.OutputdiagrambatangdandaunpadavariabelLIFESXPF

Pembuatandiagrambatangdandauninidapatjugadilakukandengancommand
line di RConsole, yaitu dengan command stem.leaf diikuti argumen optional yang
diinginkan. Berikut adalah contoh pembuatan diagram batang dan daun dengan
commandlineuntukvariabelLIFEEXPFdanLIFEEXPM.

>stem.leaf(latihan4$LIFEEXPF)
>stem.leaf(latihan4$LIFEEXPF,m=2)
>stem.leaf(latihan4$LIFEEXPF,style="bare",unit=1)

>#lihatperbedaanoutputdiagrambatangdandaunyangdihasilkan

>stem.leaf(latihan4$LIFEEXPM)
>stem.leaf(latihan4$LIFEEXPM,m=3)
>stem.leaf(latihan4$LIFEEXPF,style="bare",unit=1)

49
sht90 GrafikMenggunakanRCommander

4.4.GrafikBoxPlot
R menyediakan pilihan Boxplot pada menu Grafik untuk membuat tampilan
BoxPlot dari suatu data. Misalkan akan dibuat BoxPlot untuk variabel LIFEEXPF
berdasarkan RELIGION (kelompok agama mayoritas di negara tersebut), maka pada
jendeladialogyangmuncul,pilihLIFEEXPFsepertipadaGambar4.9.

Gambar4.9.JendeladialoguntukpilihanvariabeldalampembuatanBoxplot

Setelah itu, pilih Plot dengan kelompok sehingga diperoleh tampilan jendela seperti
padaGambar4.10.KlikRELIGIONsebagaivariabelkelompok,dankemudianklikOK.

Gambar4.10.JendeladialoguntukpilihanvariabelkelompokdalamBoxplot

OutputdariBoxPlotyangdiperolehakanditampilkandiJendelaKeluaranpada
RCommander seperti pada Gambar 4.11. Output tersebut menjelaskan bahwa usia
harapan hidup wanita di negara dengan mayoritas penduduknya beragama Jewish
(Yahudi)danProtestansecararatarataadalahpalingtinggidibandinglainnya.

50
sht90 GrafikMenggunakanRCommander


Gambar4.11.OutputBoxPlotpadavariabelLIFESXPFberdasarkanRELIGION


Command line di RConsole dapat juga digunakan untuk pembuatan BoxPlot,
yaitu dengan command boxplot diikuti argumen optional yang diinginkan. Berikut
adalahcontohpembuatanBoxPlotdengancommandlineuntukvariabelLIFEEXPFdan
LIFEEXPMsendirisendiridanberdasarkanvariabelRELIGION.

>boxplot(latihan4$LIFEEXPF)
>boxplot(latihan4$LIFEEXPM)
>boxplot(LIFEEXPF~RELIGION,ylab="LIFEEXPF",xlab="RELIGION",data=latihan4)
>boxplot(latihan4$LIFEEXPF~latihan4$RELIGION)

>#lihatperbedaanoutputBoxPlotyangdihasilkan

4.5.GrafikQQPlot
QQPlot merupakan salah satu metode eksplorasi secara grafik yang dapat
digunakan untuk menguji apakah suatu data berdistribusi normal. Untuk membuat
grafik QQPlot, R menyediakan pilihan QQPlot pada menu Grafik. Misalkan akan
dibuat QQPlot untuk variabel LIFEEXPF, maka pada jendela dialog yang muncul, pilih
LIFEEXPFsepertipadaGambar4.12.

51
sht90 GrafikMenggunakanRCommander

Gambar4.12.JendeladialoguntukpilihanvariabeldalampembuatanQQPlot

Kemudian pilih LIFEEXPF dari daftar variabel dan gunakan distribusi normal sebagai
distribusidefaultpadaQQPlot.KlikOK,makaakandiperolehgrafiksepertiberikut.


Gambar4.13.OutputQQPlotpadavariabelLIFESXPF

52
sht90 GrafikMenggunakanRCommander

BerdasarkanoutputpadaGambar4.13dapatdijelaskanbahwavariabelLIFEEXPFtidak
berdistribusi normal dan data cenderung menceng ke kanan (ekor lebih panjang di
bagiankiri).Haliniterlihatjelasjugadarigrafikhistogramnya(lihatGambar4.6).
Command line di RConsole dapat juga digunakan untuk pembuatan QQPlot,
yaitu dengan command boxplot diikuti argumen optional yang diinginkan. Berikut
adalahcontohpembuatanBoxPlotdengancommandlineuntukvariabelLIFEEXPFdan
LIFEEXPMsendirisendiridanberdasarkanvariabelRELIGION.

>qq.plot(latihan4$LIFEEXPF,dist="norm",labels=FALSE)
>qq.plot(latihan4$LIFEEXPM,dist="norm",labels=FALSE)

4.6.GrafikDiagramPencar(ScatterPlot)
R menyediakan pilihan Diagram pencar pada menu Grafik untuk membuat
tampilan ScatterPlot dari suatu data. Misalkan akan dibuat ScatterPlot untuk variabel
LIFEEXPF sebagai sumbu Y dan variabel LOGGDP sebagai sumbu X. Gunakan default
untukpilihanyanglain,sepertipadaGambar4.14.

Gambar4.14.JendeladialogpilihanvariabeldalampembuatanDiagramPencar

53
sht90 GrafikMenggunakanRCommander

Kemudian pilih LOG_GDP pada variabel X dan LIFEEXPF untuk variabel Y, dan klik OK
sehinggadiperolehoutputgrafiksepertiberikutini.



Gambar4.15.OutputDiagramPencarantaravariabelLOG_GDPdanLIFESXPF

Pada output Diagram Pencar, diperoleh juga grafik BoxPlot dari setiap marginal
variabel, dan garis regresi linear dan nonparametrik terbaik untuk menggambarkan
hubunganantarakeduavariabelini.
Command line di RConsole dapat juga digunakan untuk pembuatan Diagram
Pencar di atas, yaitu dengan command scatterplot diikuti argumen optional yang
diinginkan. Berikut adalah contoh pembuatan Diagram Pencar dengan command line
untuk variabel LIFEEXPF sebagai sumbu Y, dan LOG_GDP sebagai sumbu X, seperti
perintahdiRCommanderdiatas.

>scatterplot(LIFEEXPF~LOG_GDP,reg.line=lm,smooth=TRUE,labels=FALSE,
boxplots='xy',span=0.5,data=latihan4)

54
sht90 GrafikMenggunakanRCommander

4.7.GrafikPlotRatarata(Mean)
R menyediakan pilihan Plot Rerata pada menu Grafik untuk membuat
tampilan Plot Ratarata dari suatu data. Misalkan akan dibuat Plot Ratarata untuk
variabelLIFEEXPFberdasarkanREGION(kelompokwilayahnegara),makapadajendela
dialog yang muncul, pilih REGION dan LIFEEXPF seperti pada Gambar 4.16. Klik OK,
sehinggadiperolehoutputsepertipadaGambar4.17.

Gambar4.16.JendeladialogpilihanvariabeldalampembuatanPlotRatarata


Gambar4.17.OutputPlotRataratavariabelREGIONdanLIFESXPF

55
sht90 GrafikMenggunakanRCommander

Pada output Plot Ratarata di atas dapat dilihat bahwa LIFEEXPF (usia harapan hidup
wanita)yangterendahrataratanyaadalahpadanegaranegaradiAfrika.
CommandlinediRConsoleuntukpembuatanPlotRatarataadalahcommand
plotMeansdiikutiargumenoptionalyangdiinginkan.Berikutadalahcontohpembuatan
PlotRataratadengancommandlineuntukvariabelLIFEEXPFdanREGION.


>plotMeans(latihan4$LIFEEXPF,latihan4$REGION,error.bars="se")
>plotMeans(latihan4$LIFEEXPF,latihan4$REGION,error.bars="conf.int",level=0.95)

4.8.DiagramBatang(BarChart)
R menyediakan pilihan Diagram batang pada menu Grafik untuk membuat
tampilanDiagramBatangdarisuatudata.MisalkanakandibuatDiagramBatanguntuk
variabel REGION, maka pada jendela dialog yang muncul, pilih REGION seperti pada
Gambar4.18berikutini.



Gambar4.18.JendeladialogpilihanvariabeldalampembuatanDiagramBatang

Setelah itu klik OK, dan akan diperoleh output Diagram Batang seperti pada Gambar
4.19. Pada output tersebut dapat dilihat bahwa ada dua kelompok REGION terbesar,
yaitunegaranegarayangtermasukdiregionalOECPdanAmerikaLatin.
Command line di RConsole dapat juga digunakan untuk pembuatan Diagram
Batang, yaitu dengan command barplot diikuti argumen optional yang diinginkan.
BerikutadalahcontohpembuatanDiagramBatangdengancommandlineuntukvariabel
REGION,sepertiperintahdiRCommanderdiatas.


>barplot(table(latihan4$REGION),xlab="REGION",ylab="Frequency")

56
sht90 GrafikMenggunakanRCommander

Gambar4.19.OutputDiagramBatangdarivariabelREGION

4.9.DiagramLingkaran(PieChart)
Tampilan Diagram Lingkaran pada paket R disediakan melalui pilihan Diagram
lingkaranpadamenuGrafik.Misalkanakan dibuatDiagramLingkaranuntukvariabel
REGION,makapadajendeladialogyangmuncul,pilihREGIONsepertipadaGambar4.20
berikutini.

Gambar4.20.JendeladialogpilihanvariabeldalampembuatanDiagramLingkaran

Kemudian klik OK, dan akan diperoleh output Diagram Lingkaran seperti yang terlihat
padaGambar4.21.

57
sht90 GrafikMenggunakanRCommander

Gambar4.21.OutputDiagramLingkarandarivariabelREGION

Command line di RConsole yang dapat digunakan untuk pembuatan Diagram


Lingkaran adalah pie diikuti argumen optional yang diinginkan. Berikut adalah contoh
pembuatan Diagram Lingkaran dengan command line untuk variabel REGION, seperti
perintahdiRCommanderdiatas.


>pie(table(latihan4$REGION),labels=levels(latihan4$REGION),main="REGION",
col=rainbow(length(levels(latihan4$REGION))))

4.10.PlotIndeks
Plot Indeks adalah suatu plot dari variabel menurut indeks atau urutan data.
Plot ini dalam analisis data statistik lebih dikenal dengan Time Series Plot. R
menyediakan pilihan Plot Indeks pada menu Grafik untuk membuat tampilan Plot
Indeksdarisuatudata.PadaRCommanderinihanyatersediaduapilihantipedariplot,
yaitu Paku dan Poin. Misalkan akan dibuat Plot Indeks untuk variabel LIFEEXPF, maka
pada jendela dialog yang muncul, pilih LIFEEXPF seperti pada Gambar 4.22. Dalam hal
ini, pilih tipe plot Paku, dan kemudian klik OK, sehingga diperoleh output Plot Indeks
sepertiyangterlihatpadaGambar4.23.

58
sht90 GrafikMenggunakanRCommander



Gambar4.22.JendeladialogpilihanvariabeldalampembuatanPlotIndeks

Gambar4.23.OutputPlotIndeksdarivariabelLIFEEXPF

CommandlinediRConsoleyangdapatdigunakanuntukpembuatanPlotIndeks
adalah plot diikuti argumen optional yang diinginkan. Jika akan menampilkan plot
berupa garis, maka dapat digunakan pilihan type=l, yang berarti line atau garis.
Berikut adalah contoh pembuatan Plot Indeks dengan command line untuk variabel
LIFEEXPF.

59
sht90 GrafikMenggunakanRCommander


>plot(latihan4$LIFEEXPF,type="h")
>plot(latihan4$LIFEEXPF,type="p")
>plot(latihan4$LIFEEXPF,type="l",main="TimeSeriesPlotDataLIFEEXPF")

Berikut ini adalah output Plot Indeks pada variabel LIFEEXPF dengan pilihan tipe garis
(line)yangdinotasikandenganl.


Gambar4.24.OutputPlotIndeksdarivariabelLIFEEXPFdengantype=l

60
sht90 FungsiDistribusiPeluangdiRCommander

BAB5
FUNGSIDISTRIBUSIPELUANGDIRCommander

PadababiniakandijelaskanpenggunaanRCommanderuntukperhitunganyang
berkaitan dengan fungsi distribusi peluang. RCommander menyediakan menu untuk
melakukan beberapa operasi standar yang berkaitan dengan fungsi distribusi peluang,
yaitu:
Perhitungannilaikuantil
Perhitungannilaipeluang
Pembuatanplotdistribusiataugrafikdensitas
Pembuatanplotdistribusikumulatif
Pembangkitandataataurandomdata

Secara umum ada dua macam distribusi yang disediakan paket R, yaitu Distribusi
KontinudanDiskrit.Untukmengetahuidistribusikontinuataudiskritapasajayangada
di R, dapat dilakukan dengan memilih menu Distribusi, kemudian pilih Distribusi
Kontinu, sehingga akan muncul pilihan dari berbagai distribusi kontinu yang ada di R,
sepertiyangterlihatpadaGambar5.1.



Gambar5.1.JendeladialoguntukpilihanDistribusiKontinu

Dari Gambar 5.1 dapat dilihat macammacam distribusi kontinu yang ada di R,
yaitu Distribusi Normal, t, Chikuadrat, F, Eksponensial, Seragam, Beta, Cauchy,
Logistik,LogNormal,Gamma,Weibull,danGumbel.Secaraumum,prosesperhitungan
yang berkaitan dengan distribusi peluang untuk macammacam distribusi kontinu
tersebutadalahrelatifsama.Untukitu,padababinifokuspembahasanhanyadiberikan
padadistribusiyangbanyakdipakaidianalisisstatistikadasar,yaituDistribusiNormal.

61
sht90 FungsiDistribusiPeluangdiRCommander


Distribusi Diskrit yang disediakan di R dapat dilihat dengan memilih menu
Distribusi,kemudianpilihDistribusiDiskrit,sehinggaakanmunculpilihandariberbagai
distribusidiskrityang adadi R,sepertiyang terlihat padaGambar5.2.Dari gambar ini
dapatdilihatbahwadistribusidiskrityangadadiRadalahDistribusiBinomial,Poisson,
Geometrik,Hipergeometrik,danBinomialNegatif.




Gambar5.2.JendeladialoguntukpilihanDistribusiDiskrit

5.1.FungsiDistribusiKontinu
Pada bagian ini akan dijelaskan cara perhitungan berkaitan dengan fungsi
distribusipeluang,yaituperhitungannilaikuantil,pembuatanplotataugrafikdensitas,
pembuatan plot distribusi kumulatif, dan pembangkitan data dari distribusi kontinu,
khususnya Distribusi Normal yang banyak digunakan dalam analisis statistika dasar.
Secara umum, fungsi kepadatan probabilitas dari Distribusi Normal adalah sebagai
berikut
2
1 x

1
f ( x) = e 2 ,untuk < x <
2

denganparameter adalahnilairatarata,dan adalahdeviasistandar.



5.1.1.MenghitungKuantildariDistribusiNormal
PerhitungannilaikuantiltertentudariDistribusiNormaldapatdilakukandengan
RCommander,yaitu gunakan menu Distribusi, pilihDistribusi Kontinu, pilih Distribusi
Normal, dan kemudian klik Kuantil Normal . Setelah itu akan terlihat jendela pilihan
untukmendapatkankuantilyangakandicarisepertipadaGambar5.3.


62
sht90 FungsiDistribusiPeluangdiRCommander



Gambar5.3.JendeladialoguntukperhitunganKuantilNormal

Misalkanakandihitungnilaikuantil=0,05(5%)dariDistribusiNormalStandar,
yaituingindicarinilai Z sedemikianhingga
P( Z Z ) = 0,05 (luasanlowertailatauekorbawah),

maka pada jendela isian Peluang tulis nilai 0.05. Dalam hal ini ratarata adalah 0 dan
deviasistandar1.KemudianklikOK,sehinggaakandiperolehnilaipadajendelakeluaran
RCommander yaitu Z 0,05 = 1.644854 .Pilihan ekor atas atauupper taildigunakanjika
ingindicarinilai Z1 sedemikianhingga
P( Z Z1 ) = 1 (luasanuppertailatauekoratas).

Jika pilihan ekor atas yang digunakan, maka keluaran RCommander memberikan nilai
1.644854padajendelakeluarannya.
SelainmenggunakanmenudiRCommander,perhitungankuantilnormaldapat
juga dilakukan dengan command line di RConsole, yaitu dengan command qnorm
diikuti argumen optional yang diinginkan. Berikut adalah contoh perhitungan kuantil
normaldengancommandlineuntuk=0,05.

>qnorm(c(0.05),mean=0,sd=1,lower.tail=TRUE)
[1]1.644854

>qnorm(c(0.05),mean=10,sd=2,lower.tail=TRUE)
[1]6.710293

>qnorm(c(0.05),mean=0,sd=1,lower.tail=FALSE)
[1]1.644854

>qnorm(c(0.05),mean=10,sd=2,lower.tail=FALSE)
[1]13.28971

63
sht90 FungsiDistribusiPeluangdiRCommander

5.1.2.MenghitungPeluangdariDistribusiNormal
Perhitungan peluang dari suatu nilai tertentu dari Distribusi Normal dapat
dilakukan dengan RCommander, yaitu gunakan menu Distribusi, pilih Distribusi
Kontinu,pilihDistribusiNormal,dankemudianklikPeluangNormal.Setelahituakan
terlihatjendelapilihanuntukmemperolehpeluangyangdicarisepertipadaGambar5.4
berikutini.



Gambar5.4.JendeladialoguntukperhitunganPeluangNormal

Ada empat isian utama dari jendela dialog untuk perhitungan Peluang Normal, yaitu
Nilai peubah, mu, sigma, dan pilihan Ekor bawah atau Ekor atas. Secara matematis,
fasilitasinidapatdigunakanuntukmenghitung

P( X c) =?(luasanlowertailatauekorbawah),
dan
P( X c) =?(luasanuppertailatauekoratas),

darisuatupeubah(variabel)random X yangberdistribusiNormal,atau X ~ N ( , ) .

MisalkanakandihitungnilaipeluangdariDistribusiNormalStandar,yaituingin
dicarinilai
P( Z 3) =?(luasanlowertailatauekorbawah),
makapadajendelaisianNilaipeubahtulisnilai3.Dalamhaliniratarataadalah0dan
deviasi standar 1. Klik OK, sehingga akan diperoleh nilai 0.001349898 pada jendela
keluaranRCommander.Pilihanekoratasatauuppertaildigunakanjikaingindicarinilai
P( Z c) =?(luasanuppertailatauekoratas).
Jikapilihanekoratasyangdigunakandan c = 3 ,makakeluaranRCommanderjugaakan
memberikannilai0.001349898padajendelakeluarannya.

64
sht90 FungsiDistribusiPeluangdiRCommander

Perhitungan peluang normal dapat juga dilakukan dengan command line di R


Console, yaitu dengan command pnorm diikuti argumen optional yang diinginkan.
Berikut adalah contoh perhitungan peluang normal dengan command line untuk
berbagainilaipeubah.

>pnorm(c(3),mean=0,sd=1,lower.tail=TRUE)
[1]0.001349898

>pnorm(c(6.710293),mean=10,sd=2,lower.tail=TRUE)
[1]0.05000001

>pnorm(c(3),mean=0,sd=1,lower.tail=FALSE)
[1]0.001349898

>pnorm(c(13.28971),mean=10,sd=2,lower.tail=FALSE)
[1]0.04999986

5.1.3.MembuatPlotdariDistribusiNormal
PlotdariDistribusiNormalteoritisdenganrataratadandeviasistandartertentu
dapatdilakukandenganRCommander,yaitugunakanmenuDistribusi,pilihDistribusi
Kontinu,pilihDistribusiNormal,dankemudianklikPlotDistribusiNormal.Setelahitu
akan terlihat jendela pilihan untuk mendapatkan plot distribusi normal teoritis yang
ingindicarisepertipadaGambar5.5dibawahini.



Gambar5.5.JendeladialoguntukpembuatanPlotDistribusiNormal

Misalkan akan dibuat plot fungsi kepadatan peluang dari Distribusi Normal
Standar,makapadajendelaisianmu(rerata)tulisnilai0dansigma(simpanganbaku)1.
KlikpilihanPlotfungsikepadatan,dankemudianklikOK,sehinggaakandiperolehplot
fungsikepadatandariDistribusiNormalStandarsepertipadaGambar5.6berikutini.

65
sht90 FungsiDistribusiPeluangdiRCommander


Gambar5.6.OutputplotfungsikepadatanDistribusiNormalStandar

Jika pilihan Plot fungsi distribusi (kumulatif) yang dipilih, maka akan diperoleh output
plot fungsi distribusi kumulatif dari Distribusi Normal Standar seperti terlihat pada
Gambar5.7.


Gambar5.7.OutputplotfungsidistribusikumulatifdariDistribusiNormalStandar

66
sht90 FungsiDistribusiPeluangdiRCommander

Pembuatan plot fungsi kepadatan dan fungsi distribusi kumulatif dapat juga
dilakukan dengan command line di RConsole, yaitu dengan command dnorm (untuk
plot fungsi kepadatan) dan command pnorm (untuk plot fungsi distribusi kumulatif)
diikutiargumenoptionalyangdiinginkan.Berikutadalahcontohpembuatanplotfungsi
kepadatandengancommandlineuntuksuatunilaipeubah.


>.x<seq(3.291,3.291,length=100)
>plot(.x,dnorm(.x,mean=0,sd=1),xlab="x",ylab="Density",
main=expression(paste("NormalDistribution:",mu,"=0,",
sigma,"=1")),type="l")
>abline(h=0,col="gray")


Sedangkan contoh pembuatan plot fungsi distribusi kumulatif dengan command line
untuksuatunilaipeubahadalahsepertiberikut.



>.x<seq(4,4,length=100)
>plot(.x,pnorm(.x,mean=0,sd=1),xlab="x",ylab="CumulativeProbability",
main=expression(paste("NormalDistribution:",mu,"=0,",
sigma,"=1")),type="l")
>abline(h=0,col="gray")
>#perhatikanperbedaanoutputyangdihasilkan



5.1.4.MembangkitkanDatadariDistribusiNormal
R menyediakan fasilitas untuk membangkitkan data yang mengikuti distribusi
statistika tertentu. Misalkan akan dibangkitkan data yang mengikuti distribusi normal,
makadapatdigunakanmenuDistribusi,pilihDistribusiKontinu,pilihDistribusiNormal,
dan kemudian klik Sampel dari Distribusi Normal . Setelah itu akan terlihat jendela
pilihanuntukpembangkitandatadaridistribusinormalsepertipadaGambar5.8.
Sebagai contoh, akan dibangkitkan data sebanyak 15 baris dan 10 kolom yang
mengikutiDistribusiNormalStandar,makatulisnamadatasethasildaridatabangkitan
pada isian Masukkan nama untuk data set (misalkan dengan nama latihan5). Pada
jendelaisianmu(rerata)tulisnilai0,sigma(simpanganbaku)1,Ukuransampel(baris)
15, dan Banyaknya pengamatan (kolom) 10. Jika ratarata sampel juga ingin
ditambahkan, maka klik pada pilihan Rerata sampel, dan kemudian klik OK. Pilihan
pilihanyanglain,yaituJumlahsampeldanDeviasibakusampeljugadapatditampilkan
jikadiinginkan.

67
sht90 FungsiDistribusiPeluangdiRCommander



Gambar5.8.JendeladialoguntukmembangkitkandatadariDistribusiNormal

Untukmengetahuihasildatayangdibangkitkan,klikpilihanLihatdatasetpada
RCommander, sehingga akan terlihat datadata hasil bangkitan seperti pada Gambar
5.9. Secara umum akan diperoleh 15 baris sampel dan 11 kolom data, yaitu 10 kolom
datahasilbangkitandan1kolomterakhiryangberisirataratadarisetiapsampelyang
dibangkitkan.

Gambar5.9.OutputdatahasilbangkitandariDistribusiNormalStandar

68
sht90 FungsiDistribusiPeluangdiRCommander

Pembangkitan data dari suatu distribusi statistika tertentu ini juga dapat
dilakukan dengan command line di RConsole, yaitu dengan command rnorm (untuk
Distribusi Normal) diikuti argumen optional yang diinginkan. Berikut adalah contoh
pembangkitandatadengancommandlineuntukDistribusiNormaldenganrataratadan
deviasistandartertentu.

>rnorm(15,mean=0,sd=1)
[1]0.660257510.207162941.037686241.599514440.090306041.90549079
[7]1.687788430.083684230.964726230.103008760.272611010.16491906
[13]0.526977990.574489610.45865682

>latihan5<as.data.frame(matrix(rnorm(15*10,mean=0,sd=1),ncol=10))
>rownames(latihan5)<paste("sample",1:15,sep="")
>colnames(latihan5)<paste("obs",1:10,sep="")
>latihan5$mean<rowMeans(latihan5[,1:10])
>showData(latihan5,placement='20+200',font=getRcmdr('logFont'),
maxwidth=80,maxheight=30)

>#Bangkitkandatadansimpanhasilnyadalambentuksepertimatriks
>as.data.frame(matrix(rnorm(15*5,mean=100,sd=10),ncol=5))
V1 V2 V3 V4 V5
1 84.46823 108.53078 104.05075 77.02379 91.55903
2 98.15929 93.74033 124.44052 80.38603 102.47690
3 95.00374 106.84794 104.09301 106.48609 97.34608
4 101.29297 118.54484 81.04212 98.63245 102.88233
5 98.92599 86.56266 86.52845 66.00474 90.27446
6 95.15418 102.50113 105.34845 79.55246 97.73824
7 106.38983 89.38471 85.31907 100.10805 91.51123
8 86.04483 104.22601 80.81650 101.08752 120.83886
9 84.41069 105.68604 91.14394 99.07307 99.37543
10 112.78286 104.58306 108.08592 109.01078 110.87053
11 109.17854 99.67204 97.54832 91.57182 104.02405
12 100.85442 98.14412 100.82436 97.54563 88.32492
13 111.41381 100.48431 103.03010 100.38959 101.00266
14 124.13427 101.54886 98.13771 102.57961 114.76246
15 93.99127 108.28097 107.97942 94.53939 86.20123
16 90.35201 123.02141 103.70384 95.25282 100.77538



SecaraumumRmenyediakanfasilitasuntukmembangkitkandatadariberbagai
distribusi statistika yang kontinu. Daftar lengkap berkaitan dengan command line di R
untuk membangkitkan data dari distribusi kontinu beserta argumen dan library yang
diperlukandapatdilihatpadaTabel5.1.

69
sht90 FungsiDistribusiPeluangdiRCommander

Tabel5.1.DaftarfungsiR(commandline)untukmembangkitkandatayang
mengikutisuatudistribusikontinutertentu

DistribusiKontinu FungsiR Argumenyangdiperlukan library

Beta rbeta n,shape1,shape2 stats


Cauchy rcauchy n,location=0,scale=1 stats
Chisquared rchisq n,df stats
Eksponensial rexp n,rate stats
F rf n,df1,df2 stats
Gamma rgamma n,shape,rate=1 stats
Lognormal rlnorm n,mean,sd stats
Logistic rlogis n,location=0,scale=1 stats
Normal rnorm n,mean,sd stats
Studentt rt n,df stats
Seragam(Uniform) runif n,min,max stats
Weibull rweibull n,shape,scale=1 stats
MultivariateNormal mvrnorm n=1,mu,Sigma MASS

5.2.FungsiDistribusiDiskrit
Seperti pada bagianDistribusiKontinu,padabagianFungsiDistribusiDiskrit ini
akan dijelaskan cara perhitungan berkaitan dengan fungsi distribusi peluang, yaitu
perhitungannilaikuantil,pembuatanplotataugrafikdensitas,pembuatanplotdistribusi
kumulatif, dan pembangkitan data dari suatu distribusi diskrit. Dalam hal ini, fokus
pembahasan hanya diberikan pada Distribusi Binomial, sedangkan untuk distribusi
diskrityanglaindapatdilakukandengancarayangrelatifsama.
Secara umum, fungsi kepadatan probabilitas dari Distribusi Binomial adalah
sebagaiberikut

n
f ( x) = p x (1 p ) n x ,untuk x = {0,1,2, K , n)
x

dengan n adalahbanyaknyapengamatanataupercobaanbinomial, p adalahpeluang


sukses untuk suatu percobaan binomial, dan (1 p) adalah peluang gagal atau tidak
suksesnya.Notasiuntukpeubahdandistribusinyaadalah X ~ B (n, p) .

70
sht90 FungsiDistribusiPeluangdiRCommander

5.2.1.MenghitungKuantildariDistribusiBinomial
Perhitungan nilai kuantil tertentu dari Distribusi Binomial dapat dilakukan
dengan RCommander, yaitu gunakan menu Distribusi, pilih Distribusi Diskrit, pilih
Distribusi Binomial, dan kemudian klik Kuantil Binomial . Setelah itu akan terlihat
jendelapilihanuntukmendapatkankuantilyangakandicarisepertipadaGambar5.10.



Gambar5.10.JendeladialoguntukmenghitungKuantilBinomial

Misalkanakandihitungnilaikuantil=0,25(25%)dariDistribusiBinomialdengann=20
danp=0.5atau X ~ B(20,0.5) ,yaituingindicarinilai X sedemikianhingga
P( X X ) = 0,25 (luasanlowertailatauekorbawah).

Untuk mendapatkan kuantil di atas, maka pada jendela isian Peluang tulis nilai 0.25,
TrialBinomial20,danPeluangSukses0.5.KemudianklikOK,sehinggaakandiperoleh
nilaipadajendelakeluaranRCommanderyaitu X 0,25 = 8 ,yangberarti
P( X 8) = 0,25 .

Pilihan ekor atas (upper tail) digunakan jika akan dicari nilai X 1 sedemikian
hingga
P( X X 1 ) = 1 (luasanuppertailatauekoratas).

Jika pilihan ekor atas yang digunakan, maka keluaran RCommander memberikan nilai
12padajendelakeluarannya,yangberarti

P( X 12) = 0,75 .

Perhitungan kuantil binomial dapat juga dilakukan dengan command line di R


Console, yaitu dengan command qbinom diikuti argumen optional yang diinginkan.
Berikutadalahcontohperhitungankuantilbinomialdengancommandlineuntuk=0,25
danyanglain.

71
sht90 FungsiDistribusiPeluangdiRCommander

>qbinom(c(0.25),size=20,prob=0.5,lower.tail=TRUE)
[1]8

>qbinom(c(0.25),size=20,prob=0.5,lower.tail=FALSE)
[1]12

>qbinom(c(0.75),size=20,prob=0.5,lower.tail=TRUE)
[1]12

5.2.2.MenghitungPeluangdariDistribusiBinomial
Perhitungan peluang kumulatif untuk nilai tertentu dari Distribusi Binomial
dapatdilakukandenganRCommander,yaitugunakanmenuDistribusi,pilihDistribusi
Diskrit, pilih Distribusi Binomial, dan klik Peluang ujung Binomial . Setelah itu akan
terlihatjendelapilihanuntukmemperolehpeluangyangdicarisepertiGambar5.11.



Gambar5.11.JendeladialoguntukmenghitungPeluangBinomialKumulatif

Misalkan akan dihitung nilai peluang dari Distribusi Binomial Kumulatif, yaitu
ingin dicari nilai P( X 8) (luasan lower tail atau ekor bawah) dari Distribusi Binomial
dengann=20danp=0.5,makapadajendelaisianNilaipeubahtulisnilai8.Dalamcontoh
ini isikan Trial Binomial 20, dan Peluang Sukses 0.5. Klik OK, sehingga akan diperoleh
nilai0.2517223padajendelakeluaranRCommander.
Selain itu, R juga memberikan fasilitas untuk menghitung nilai peluang untuk
suatunilaitertentu.Misalkanakandicari P( X = 8) dariDistribusiBinomialdengann=20
dan p=0.5. Untuk itu, pilih menu Distribusi, pilih Distribusi Diskrit, pilih Distribusi
Binomial,danklikPeluangBinomial.IsikanTrialBinomial20,danPeluangSukses0.5.
KlikOK,makaakanditampilkannilaipeluanguntuk X = 0,1,2, K ,20 .

72
sht90 FungsiDistribusiPeluangdiRCommander


Perhitungan peluang binomial dan peluang binomial kumulatif dapat juga
dilakukan dengan command line di RConsole, yaitu dengan command pbinom (untuk
peluang) dan pbinom (untuk peluang kumulatif) diikuti argumen optional yang di
inginkan. Berikut adalah contoh perhitungan peluang binomial dan peluang binomial
kumulatifdengancommandlineuntuknilainilaitertentu.

>dbinom(8,size=20,prob=0.5)
[1]0.1201344

>pbinom(c(8),size=20,prob=0.5,lower.tail=TRUE)
[1]0.2517223

>pbinom(c(8),size=20,prob=0.5,lower.tail=FALSE)
[1]0.7482777

>pbinom(c(11),size=20,prob=0.5,lower.tail=FALSE)
[1]0.2517223

>dbinom(0:20,size=20,prob=0.5)
[1]9.536743e071.907349e051.811981e041.087189e034.620552e03
[6]1.478577e023.696442e027.392883e021.201344e011.601791e01
[11]1.761971e011.601791e011.201344e017.392883e023.696442e02
[16]1.478577e024.620552e031.087189e031.811981e041.907349e05
[21]9.536743e07

>.Table<data.frame(Pr=dbinom(0:20,size=20,prob=0.5))
>rownames(.Table)<0:20
>.Table
Pr
09.536743e07
11.907349e05
21.811981e04
31.087189e03
44.620552e03
51.478577e02
63.696442e02
..
164.620552e03
171.087189e03
181.811981e04
191.907349e05
209.536743e07

73
sht90 FungsiDistribusiPeluangdiRCommander

5.2.3.MembuatPlotdariDistribusiBinomial
Plot dari Distribusi Binomial teoritis dengan n dan p tertentu dapat dilakukan
dengan RCommander, yaitu gunakan menu Distribusi, pilih Distribusi Diskrit, pilih
Distribusi Normal, dan kemudian klik Plot Distribusi Binomial . Setelah itu akan
terlihat jendela pilihan untuk mendapatkan plot distribusi binomial teoritis yang ingin
dicarisepertipadaGambar5.12.



Gambar5.12.JendeladialoguntukmembuatPlotDistribusiBinomial

Misalkan akan dibuat plot fungsi kepadatan peluang dari Distribusi Binomial dengan
n=20 dan p=0.5, atau akan ditampilkan secara grafik nilainilai dari f ( x) = P( X = x)
untuk X ~ B(20,0.5) ,atau

20
f ( x) = 0,5 x (1 0,5) 20 x ,untuk x = {0,1,2, K ,20) .
x

Untukmenampilkanitu,makapadajendelatulis20padaisianTrialBinomial,dantulis
0.5padaisianPeluangSukses.
Setelah itu pilih plot yang akan dibuat, misalkan saja plot fungsi kepadatan
peluang, maka klik pilihan Plot fungsi kepadatan peluang. Klik OK, sehingga akan
diperolehplotfungsikepadatandariDistribusiBinomialdengann=20danp=0.5seperti
padaGambar5.13.Darigambarinidapatdilihatbahwanilai f (x) terbesaradalahpada
X = 10 ,yangsecaramatematisdapatdihitungsepertiberikut

20
f (10) = 0,510 (1 0,5) 2010
10

20 10
= 0,5 (0,5)10

10

= 0,1601 .

74
sht90 FungsiDistribusiPeluangdiRCommander


Gambar5.13.OutputplotfungsikepadatanDistribusiBinomialdengann=20danp=0.5

Jika pilihan Plot fungsi distribusi (kumulatif) atau F ( x) = P( X x) yang dipilih,


maka akan diperoleh output plot fungsi distribusi kumulatif dari Distribusi Binomial
dengann=20danp=0.5sepertipadaGambar5.14berikutini.


Gambar5.14.OutputplotfungsiDistribusiKumulatifBinomialdengann=20danp=0.5

75
sht90 FungsiDistribusiPeluangdiRCommander


Pembuatan plot fungsi kepadatan dan fungsi distribusi kumulatif dapat juga
dilakukan dengan command line di RConsole, yaitu dengan command dnorm (untuk
plot fungsi kepadatan) dan command pnorm (untuk plot fungsi distribusi kumulatif)
diikuti argumen optional yang diinginkan. Berikut adalah contoh pembuatan plotplot
tersebutdengancommandlineuntuksuatunilaipeubah.


>#Perintahuntukpembuatanplotfungsikepadatanbinomial

>.x<3:17
>plot(.x,dbinom(.x,size=20,prob=0.5),xlab="NumberofSuccesses",
ylab="ProbabilityMass",main="BinomialDistribution:Trials=20,
Probabilityofsuccess=0.5",type="h")
>points(.x,dbinom(.x,size=20,prob=0.5),pch=16)
>abline(h=0,col="gray")

>#Perintahuntukpembuatanplotfungsidistribusikumulatifbinomial

>.x<rep(.x,rep(2,length(.x)))
>plot(.x[1],pbinom(.x,size=20,prob=0.5)[length(.x)],
xlab="NumberofSuccesses",ylab="CumulativeProbability",
main="BinomialDistribution:Trials=20,Probabilityofsuccess=0.5",
type="l")
>abline(h=0,col="gray")




5.2.4.MembangkitkanDatadariDistribusiBinomial
Seperti pada distribusi kontinu, R menyediakan fasilitas untuk membangkitkan
data yang mengikuti distribusi diskrit tertentu. Misalkan akan dibangkitkan data yang
mengikuti distribusi binomial, maka dapat digunakan menu Distribusi, pilih Distribusi
Diskrit,pilihDistribusiBinomial,dankemudianklikSampeldariDistribusiBinomial.
Setelah itu akan terlihat jendela pilihan untuk pembangkitan data dari distribusi
binomialsepertipadaGambar5.15.
Sebagai contoh, akan dibangkitkan data sebanyak 15 baris dan 5 kolom yang
mengikuti Distribusi Binomial dengan n=20 dan p=0.5, maka tulis nama dataset hasil
databangkitanpadaisianMasukkannamauntukdataset(misalkanBinomialSamples).
Tulisangka20padakolomisianTrialBinomial,danangka0.5padaisianPeluangSukses.
Selanjutnya,padapilihanUkuransampel(baris)ketikangka15dan5padaBanyaknya
pengamatan (kolom). Jika ratarata sampel juga ingin ditambahkan, maka klik pada
pilihan Rerata sampel, dan kemudian klik OK. Pilihanpilihan yang lain, yaitu Jumlah
sampel dan Deviasi baku sampel juga dapat ditampilkan jika diinginkan, yaitu dengan
melakukanklikpadakeduapilihantersebut.

76
sht90 FungsiDistribusiPeluangdiRCommander



Gambar5.15.JendeladialoguntukmembangkitkandatadariDistribusiBinomial

Untukmengetahuihasildatayangdibangkitkan,klikpilihanLihatdatasetpada
RCommander, sehingga akan terlihat datadata hasil bangkitan seperti pada Gambar
5.16.Secaraumumakandiperoleh15barissampeldan6kolomdata,yaitu5kolomdata
hasilbangkitandan1kolomterakhiryangberisirataratadarisetiapsampelbangkitan.



Gambar5.16.OutputdatahasilbangkitandariDistribusiBinomial(n=20danp=0.5)

77
sht90 FungsiDistribusiPeluangdiRCommander


Proses pembangkitan data dari suatu distribusi statistika yang diskrit ini juga
dapat dilakukan dengan command line di RConsole, yaitu dengan command rbinom
(untuk Distribusi Binomial) diikuti argumen optional yang diinginkan. Berikut adalah
contoh pembangkitan data dengan command line untuk Distribusi Binomial dengan n
danptertentu.

>rbinom(100,size=20,prob=0.5)
[1]121291213688711117108912991010812899
[26]11812121113156111112810119811128131014121211
[51]121111121111717612961110788119108710116
[76]149129971012111412121313312121410108691515

>#Bangkitkandatabinomialdansimpanhasilnyadalammatriks

>matrix(rbinom(15*5,size=20,prob=0.5),ncol=5)
[,1][,2][,3][,4][,5]
[1,]13114148
[2,]111012810
[3,]131112810
[4,]1281199
[5,]1178710
[6,]1111101114
[7,]10911119
[8,]111212712
[9,]111210138
[10,]12812116
[11,]8118135
[12,]13119128
[13,]1399106
[14,]109111210
[15,]121012118

>BinomialSamples<as.data.frame(matrix(rbinom(15*5,size=20,prob=0.5),ncol=5))
>rownames(BinomialSamples)<paste("sample",1:15,sep="")
>colnames(BinomialSamples)<paste("obs",1:5,sep="")
>BinomialSamples$mean<rowMeans(BinomialSamples[,1:5])
>showData(BinomialSamples,placement='20+200',font=getRcmdr('logFont'),
maxwidth=80,maxheight=30)



SecaraumumRmenyediakanfasilitasuntukmembangkitkandatadariberbagai
distribusi statistika yang diskrit. Daftar lengkap berkaitan dengan command line di R
untukmembangkitkandatadaridistribusidiskritbeserta argumendanlibraryyangdi
perlukandapatdilihatpadaTabel5.2.

78
sht90 FungsiDistribusiPeluangdiRCommander


Tabel5.2.DaftarfungsiR(commandline)untukmembangkitkandatayang
mengikutisuatudistribusidiskrittertentu

DistribusiDiskrit FungsiR Argumenyangdiperlukan library

Binomial rbinom n,size,prob stats


BinomialNegatif rnbinom n,size,prob,mu stats
Geometrik rgeom n,prob stats
Hipergeometrik rhyper nn,m,n,k stats
Poisson rpois n,lambda stats

Berikut ini adalah ringkasan fungsi kepadatan probabilitas dari distribusi diskrit yang
disediakanRpadatabeldiatas.
DistribusiBinomialNegatif
( x + n) n
f ( x) = p (1 p) x ,untuk x = {0,1,2, K , n > 0} dan 0 < p 1 .
(n) x!

Distribusi ini merepresentasikan banyaknya kegagalan yang terjadi dalam suatu


barisanpercobaanBernoullisebelumsuatutargetdarisejumlahsuksesdicapai.

DistribusiGeometrik
f ( x) = p(1 p) x 1 ,untuk x = {1,2, K} dan 0 < p 1 .
Distribusi ini merepresentasikan terjadinya sukses pertama kali pada percobaan ke
x dalamsuatubarisanpercobaanBernoulli.

DistribusiHipergeometrik
m n

x k x
f ( x) = ,untuk x = {0,1,2, K , k} .
m + n
k

Distribusi ini digunakan untuk sampling tanpa pengembalian. Fungsi kepadatan
distribusi ini mempunyai parameter m (banyaknya objek group 1 yang berkaitan
denganbanyaknyasukses), n (banyaknyaobjekgroup2),dan k (banyaknyaobjek
yangdiambiltanpapengembalian).

DistribusiPoisson
x e
f ( x) = ,untuk x = {1,2, K} dan =parameterratarata.
x!

79
sht90 StatistikDeskriptifmenggunakanRCommander

BAB6
STATISTIKDESKRIPTIFMENGGUNAKANRCommander

Bab ini akan membahas penggunaan RCommander untuk membuat statistik
deskriptif dari suatu kumpulan data, khususnya pembuatan ringkasan (summary) data
dan pembuatan tabel. Ringkasan data difokuskan pada pembuatan statistik deskriptif,
yaitu ukuranukuran pemusatan, penyebaran, kemiringan, keruncingan, dan lokasi dari
datadata numerik (metrik). Sedangkan pembuatan tabel difokuskan pada datadata
nonnumerik(nonmetrik).
PaketRmenyediakanbeberapafasilitasberkaitandenganpembuatanringkasan
dari data numerik dan nonnumerik. Secara lengkap fasilitas yang berkaitan dengan
ringkasan data dapat dilihat pada Gambar 6.1. Dari gambar ini dapat dilihat bahwa
fasilitasRingkasandatayangdisediakandalamRCommanderadalah
Ringkasannumerik,
DistribusiFrekuensi,
Hitungobservasihilang
Tabelstatistika,
Matrikskorelasi,
Ujikorelasi,dan
UjikenormalanShapiroWilk.



Gambar6.1.JendeladialoguntukpilihanDistribusiKontinu

Selain tabel satu informasi, pada bab ini juga akan dijelaskan cara pembuatan
tabel lebih dari satu informasi, khususnya tabel dua informasi secara bersamasama
yang dikenal dengan tabulasi silang atau tabel kontingensi. Fasilitas yang disedikan R
untukpembuatantabelkontingensiinidapatdiihatpadaGambar6.2.

80
sht90 StatistikDeskriptifmenggunakanRCommander




Gambar6.2.JendeladialoguntukpilihanDistribusiDiskrit

Sebagai langkah awal, buka kembali program R dengan mengklik icon R 2.7.2.
danpanggildatatentangnegaranegaradiduniapadatahun1995yangdikenaldengan
data WORLD95.SAV di SPSS yang sudah disimpan dalam file R yaitu latihan4.RData,
seperti yang digunakan pada Bab 4 sebelumnya. Load file workspace tersebut dengan
menggunakanmenuFile,pilihLoadWorkspace.


6.1.RingkasanNumerik(Summary)
Pada bagian ini akan dijelaskan cara perhitungan ringkasan deskriptif dari data
dengan menggunakan berbagai metode statistika deskriptif. Secara umum ada dua
macam data yang akan dibuat ringkasan numeriknya, yaitu data metrik (skala interval
ataurasio)dandatanonmetrik(skalanominalatauordinal).Rmenyediakanduamacam
cara untuk menampilkan ringkasan numerik dari variabelvariabel yang ada pada data,
yaitumenampilkanringkasannumerikdarisemuavariabelyangada,danmenampilkan
ringkasan numerik hanya dari variabel tertentu saja. Berikut ini adalah penjelasan
lengkapuntukmasingmasingcarapembuatanringkasannumerik.

6.1.1.RingkasanNumerikdariSemuaVariabel
PerhitunganRingkasanNumerikdarisemuavariabeldapatdilakukandenganR
Commander,yaitugunakanmenuStatistika,pilihRingkasan,pilihDatasetaktif.Setelah
itu akan terlihat jendela informasi tentang jumlah variabel pada dataset yang akan
ditampilkanringkasannumeriknyasepertipadaGambar6.3.Dalamhalini,semuadata
baikyangmetrikataupunnonmetrikakanditampilkanringkasannumeriknya.
Pada data metrik, ringkasan numerik akan menampilkan beberapa besaran
statistikyaituMean,Min,Max,Kuartil1,Median,danKuartil3.Sedangkanpadadata
nonmetrik,ringkasannumerikhanyamenampilkanjumlahataufrekuensipadamasing
masingkategoriyangada.

81
sht90 StatistikDeskriptifmenggunakanRCommander



Gambar6.3.Jendelainformasijumlahvariabelyangdibuatringkasannumeriknya

Output lengkap yang diperoleh dari pilihan Ringkasan dan Dataset aktif pada data
latihan4.RDatabesertacommandlinediRConsoleadalahsebagaiberikut.

>summary(latihan4)
COUNTRY POPULATN DENSITY URBAN
Afghanistan : 1 Min. : 256 Min. : 2.3 Min. : 5.00
Argentina : 1 1st Qu.: 5100 1st Qu.: 29.0 1st Qu.: 40.75
Armenia : 1 Median : 10400 Median : 64.0 Median : 60.00
Australia : 1 Mean : 47724 Mean : 203.4 Mean : 56.53
Austria : 1 3rd Qu.: 35600 3rd Qu.: 126.0 3rd Qu.: 75.00
Azerbaijan : 1 Max. :1205200 Max. :5494.0 Max. :100.00
(Other) :103 NA's : 1.00

RELIGION LIFEEXPF LIFEEXPM LITERACY
Catholic:41 Min. :43.00 Min. :41.00 Min. : 18.00
Muslim :27 1st Qu.:67.00 1st Qu.:61.00 1st Qu.: 63.00
Protstnt:16 Median :74.00 Median :67.00 Median : 88.00
Orthodox: 8 Mean :70.16 Mean :64.92 Mean : 78.34
Buddhist: 7 3rd Qu.:78.00 3rd Qu.:72.00 3rd Qu.: 98.00
Animist : 4 Max. :82.00 Max. :76.00 Max. :100.00
(Other) : 6 NA's : 2.00

FERTILTY LOG_POP CROPGROW LIT_MALE


Min. :1.300 Min. :2.408 Min. : 0.00 Min. : 28.00
1st Qu.:1.880 1st Qu.:3.708 1st Qu.: 6.00 1st Qu.: 63.00
Median :3.050 Median :4.017 Median :13.50 Median : 87.00
Mean :3.563 Mean :4.114 Mean :17.98 Mean : 78.73
3rd Qu.:5.000 3rd Qu.:4.551 3rd Qu.:26.75 3rd Qu.: 96.00
Max. :8.190 Max. :6.081 Max. :77.00 Max. :100.00
NA's :2.000 NA's : 3.00 NA's : 24.00

LIT_FEMA CLIMATE
Min. : 9.00 temperate :34
1st Qu.: 45.00 tropical :32
Median : 71.00 mediterranean:10
Mean : 67.26 desert : 7
3rd Qu.: 93.00 arid : 6
Max. :100.00 (Other) :13
NA's : 24.00 NA's : 7


82
sht90 StatistikDeskriptifmenggunakanRCommander

6.1.2.RingkasanNumerikuntukSuatuVariabel
Perhitungan Ringkasan Numerik khusus untuk variabel metrik dapat dilakukan
denganRCommander,yaitugunakanmenuStatistika,pilihRingkasan,pilihRingkasan
numerik . Setelah itu akan terlihat jendela informasi tentang variabel metrik dari
datasetyangakanditampilkanringkasannumeriknyasepertipadaGambar6.4berikut.



Gambar6.4.Jendelapilihanvariabelmetrikyangdibuatringkasannumeriknya

MisalkanakandibuatringkasannumerikuntukvariabelLIFEEXPF(usiaharapan
hidup wanita di suatu negara), maka pada jendela dialog yang muncul, klik LIFEEXPF
pada pilihan Peubah. Kemudian klik besaranbesaran statistik yang akan ditampilkan
ringkasannya. Setelah itu, klik OK untuk menampilkan output ringkasan numeriknya,
sehinggadiperolehoutputpadajendelakeluaransepertiberikutini.


>numSummary(latihan4[,"LIFEEXPF"],statistics=c("mean","sd","quantiles"))
mean sd 0% 25% 50% 75% 100% n
70.15596 10.57178 43 67 74 78 82 109



Perhitunganringkasannumerikinidapatjugadilakukandengancommandlinedi
RConsole,yaitudengancommandsummarydiikutiargumenoptionalyangdiinginkan.
Berikut adalah contoh perhitungan ringkasan numerik dengan command line untuk
suatuvariabelmetrik.

83
sht90 StatistikDeskriptifmenggunakanRCommander



>summary(latihan4$LIFEEXPF)
Min. 1st Qu. Median Mean 3rd Qu. Max.
43.00 67.00 74.00 70.16 78.00 82.00


R juga menyediakan fasilitas untuk menampilkan ringkasan numerik dari
variabel numerik berdasarkan group atau faktor tertentu. Misalkan akan dibuat
ringkasanuntukvariabelLIFEEXPFberdasarkanREGION,makagunakanmenuStatistika,
pilihRingkasan,pilihRingkasannumerik,danisikanpilihansepertisebelumnya,yaitu
variabel LIFEEXPF pada pilihan Peubah yang muncul. Kemudian klik Ringkas dengan
kelompok...,danpilihvariabelREGIONdaridaftarPeubahkelompokyangadaseperti
padaGambar6.5berikutini.



Gambar6.5.Jendelapilihanpeubahkelompok(group)dalamringkasannumerik

Selanjutnya klik OK, maka akan diperoleh output ringkasan numerik pada jendela
keluaransepertipadaoutputberikutini.


>numSummary(latihan4[,"LIFEEXPF"],groups=latihan4$REGION,
statistics=c("mean","sd","quantiles"))

mean sd 0% 25% 50% 75% 100% n
OECD 80.09524 1.179185 78 79 80 81 82 21
East Europe 76.00000 1.109400 74 75 76 77 78 14
Pacific/Asia 67.41176 10.886108 44 59 69 74 82 17
Africa 54.26316 7.978040 43 48 55 58 70 19
Middle East 71.58824 4.500817 63 68 72 74 80 17
Latn America 71.76190 7.388537 47 67 75 77 79 21

84
sht90 StatistikDeskriptifmenggunakanRCommander


Dari output tersebut dapat dijelaskan bahwa ratarata usia harapan hidup
perempuan tertinggi pada negaranegara yang termasuk kawasan OECD, dan yang
terendahadalahpadakawasanAFRICA.Secaravisualhalinisepertiyangtelahdiperoleh
padaPlotRataratadiBab4sebelumnya.

6.2.DistribusiFrekuensi
Pembuatan Distribusi Frekuensi untuk variabel nonmetrik dapat dilakukan
dengan RCommander, yaitu gunakan menu Statistika, pilih Ringkasan, pilih Distribusi
Frekuensi . Setelah itu akan terlihat jendela pilihan tentang variabel nonmetrik dari
datasetyangakanditampilkandistribusifrekuensinyasepertipadaGambar6.6.



Gambar6.6.Jendelapilihanvariabelnonmetrik(satuataulebih)yangakan
ditampilkandistribusifrekuensinya.

Misalkan akan dibuat distribusi frekuensi untuk variabel REGION, maka pada
jendeladialogpilihanvariabelyangmuncul,klikREGIONpadapilihanPeubah.Kemudian
klik OK untuk menampilkan output distribusi frekuensinya, sehingga diperoleh output
padajendelakeluaransepertiberikutini.


>.Table<table(latihan4$REGION)
>.Table#countsforREGION

OECDEastEuropePacific/AsiaAfricaMiddleEastLatnAmerica
211417191721

>100*.Table/sum(.Table)#percentagesforREGION

OECDEastEuropePacific/AsiaAfricaMiddleEastLatnAmerica
19.2660612.8440415.5963317.4311915.5963319.26606



85
sht90 StatistikDeskriptifmenggunakanRCommander


Sebagai tambahan, pada menu pilihan Distribusi Frekuensi ini dapat juga
dilakukan Uji Kecocokan untuk mengevaluasi apakah probabilitas masingmasing
kategori sesuai dengan yang dihipotesakan. Misalkan akan diuji apakah persentase
negara pada masingmasingREGIONadalah sama, yaitu1/6, makapilih Uji kecocokan
Chikuadrat(hanyauntuksatupeubah)sehinggadiperolehjendelapilihanprobabilitas
yangmenjadihipotesissepertigambarberikutini.



Gambar6.7.Jendelapilihanisianprobabilitasyangdihipotesakan

Klik OK untuk menampilkan output hasil pengujian, sehingga diperoleh output pada
jendelakeluaransepertiberikutini.


>.Probs<c(0.166666666666667,0.166666666666667,0.166666666666667,
0.166666666666667,0.166666666666667,0.166666666666667)

>chisq.test(.Table,p=.Probs)

Chisquaredtestforgivenprobabilities

data:.Table
Xsquared=2.0275,df=5,pvalue=0.8453

Hasil tersebut menunjukkan bahwa pvalue pengujian adalah 0.8453. Sehingga jika
digunakan=0.05dapatdisimpulkanbahwapengujianmenunjukkangagaltolakH0.Hal
inidikarenakanpvaluelebihbesardari.Dengandemikiandapatdisimpulkanbahwa
proporsinegaradimasingmasingREGIONadalahsamayaitu1/6.

6.3.TabelStatistika
R juga menyediakan fasilitas untuk membuat ringkasan statistik dalam tabel
untuksuatuvariabelnumerik(metrik)berdasarkanvariabelnonmetrik(kategorik)atau
faktor tertentu. Pada RCommander, gunakan menu Statistika, pilih Ringkasan, pilih
TabelstatistikasehinggadiperolehjendelapilihansepertipadaGambar6.8.

86
sht90 StatistikDeskriptifmenggunakanRCommander



Gambar6.8.JendelapilihanFaktordanPeubahresponyangakanditampilkan
TabelStatistikanya

Misalkan akan dibuat tabel statistika untuk variabel LOG_GDP berdasarkan


variabel REGION, makapada jendela dialogpilihanFaktor yang muncul,klik LOG_GDP
danklikREGIONpadapilihanPeubahrespon.Kemudianpilihbesaranstatistikyangakan
ditampilkan pada tabel statistika yang akan dibuat. Setelah itu, klik OK untuk menam
pilkan output tabel statistikanya, sehingga diperoleh output pada jendela keluaran
sepertiberikutini.


>tapply(latihan4$LOG_GDP,list(REGION=latihan4$REGION),mean,na.rm=TRUE)

REGION
OECDEastEuropePacific/AsiaAfricaMiddleEastLatnAmerica
4.2078143.6864283.1076482.7718813.5464123.200901

>tapply(latihan4$LIFEEXPF,list(REGION=latihan4$REGION),median,na.rm=TRUE)

REGION
OECDEastEuropePacific/AsiaAfricaMiddleEastLatnAmerica
807669557275

Hasil tersebut menunjukkan bahwa negaranegara di kawasan OECD mempunyai rata


rata LOGGDP dan median LIFEEXPF paling tinggi dibanding dengan negaranegara di
kawasanyanglain.

87
sht90 StatistikDeskriptifmenggunakanRCommander

6.4.MatriksKorelasi
Perhitungan Matriks Korelasi untuk variabelvariabel metrik dan nonmetrik
dapatdilakukandenganRCommander,yaitugunakanmenuStatistika,pilihRingkasan,
pilih Matriks korelasi . Setelah itu akan terlihat jendela pilihan tentang variabel
variabeldaridatasetyangakanditampilkanmatrikskorelasinyasepertipadaGambar6.9
berikutini.



Gambar6.9.JendelapilihanPeubahyangakanditampilkanmatrikskorelasinya

Secara umum, perhitungan nilai korelasi antara dua peubah metrik (skala
intervalatauratio),misalkan X dan Y adalah(JohnsondanBhattacharyya,1996)

n
( X i X )(Yi Y )
i =1
rxy =
n n
(X i X ) (Yi Y )
2 2
i =1 i =1

n
X i Yi nXY
i =1
= ,
n n
X i2 nX 2
Yi nY
2 2
i =1 i =1

dengan X i adalah nilainilai pada peubah pertama, Yi adalah nilainilai pada peubah
kedua,dan n adalahbanyaknyapengamatan(data).

88
sht90 StatistikDeskriptifmenggunakanRCommander


Misalkan akan dibuat matriks korelasi untuk variabel CALORIES, FERTILITY,
LIFEEXPF, LIFEEXPM, dan LOG_GDP, maka pada jendela dialog pilihan Peubah yang
muncul,klikkelimavariabeltersebut.Kemudianpilihjeniskorelasi(dalamkasusinipilih
ProdukMomen Pearson) yang akan ditampilkan pada matriks korelasi yang akan
dibuat. Setelah itu, klik OK untuk menampilkan output matriks korelasi, sehingga
diperolehoutputpadajendelakeluaransepertiberikutini.


>cor(latihan4[,c("CALORIES","FERTILTY","LIFEEXPF","LIFEEXPM","LOG_GDP")],
use="complete.obs")

CALORIES FERTILTY LIFEEXPF LIFEEXPM LOG_GDP


CALORIES 1.0000000 -0.6958507 0.7753786 0.7650363 0.8474292
FERTILTY -0.6958507 1.0000000 -0.8435988 -0.8089856 -0.7170879
LIFEEXPF 0.7753786 -0.8435988 1.0000000 0.9893717 0.8287739
LIFEEXPM 0.7650363 -0.8089856 0.9893717 1.0000000 0.8037349
LOG_GDP 0.8474292 -0.7170879 0.8287739 0.8037349 1.0000000

6.5.UjiKorelasi
Perhitungan Uji Korelasi, baik untuk korelasi ProdukMomen Pearson ataupun
korelasi RankOrder Spearman dapat dilakukan dengan RCommander, yaitu gunakan
menu Statistika, pilih Ringkasan, pilih Uji korelasi . Setelah itu akan terlihat jendela
pilihantentangduavariabelyangakandiujikorelasinyasepertipadaGambar6.10.



Gambar6.10.JendelapilihanduaPeubahyangakandiujikorelasinya

89
sht90 StatistikDeskriptifmenggunakanRCommander


Misalkan akan dilakukan pengujian korelasi untuk variabel LIFEEXPF dan
LOG_GDP, maka pada jendela dialog pilihan Peubah yang muncul, klik kedua variabel
tersebut. Kemudian pilih jenis korelasi (dalam kasus ini pilih ProdukMomen Pearson)
yangakandiuji.Setelahitu,klikOKuntukmenampilkanoutputpengujianpadajendela
keluaransepertiberikutini.


>cor.test(latihan4$LIFEEXPF,latihan4$LOG_GDP,alternative="two.sided",
method="pearson")

Pearson'sproductmomentcorrelation

data:latihan4$LIFEEXPFandlatihan4$LOG_GDP
t=15.4575,df=107,pvalue<2.2e16
alternativehypothesis:truecorrelationisnotequalto0
95percentconfidenceinterval:
0.76211770.8813950
sampleestimates:
cor
0.8310795

Hipotesisyangdigunakandalampengujiankorelasiiniadalahsebagaiberikut

H0 : xy = 0 (keduapeubahtidakberkorelasilinear)
H1 : xy 0 (keduapeubahberkorelasilinear).

Statistikujiuntukpengujiankorelasiiniadalahuji t ,yaitu

rxy n 2
t= .
1 rxy
2

Dalam hal ini, H0 ditolakyang berartiduapeubahsecara statistiksignifikanberkorelasi


jikanilaiuji t memenuhidaerahpenolakan,yaitu

t > t ; df = n 2 ataunilai p < .


2

Hasil output R diatas menunjukkan bahwa nilai p pengujian adalah 2.2e16.


Sehinggajikadigunakan=0.05dapatdisimpulkanbahwapengujianmenunjukkantolak
H0. Hal ini dikarenakan nilai p lebih kecil dari . Dengan demikian dapat disimpulkan
bahwaadakorelasipositifantaraLIFEEXPFdanLOGGDP.

90
sht90 StatistikDeskriptifmenggunakanRCommander


6.6.UjiKenormalanShapiroWilk
Perhitungan Uji Kenormalan ShapiroWilk pada RCommander dapat dilakukan
denganmenggunakanmenuStatistika,pilihRingkasan,kemudianpilihUjikenormalan
ShapiroWilk.Setelahituakanterlihatjendelapilihantentangvariabelyangakandiuji
kenormalannyasepertipadaGambar6.11berikutini.



Gambar6.11.JendelapilihanPeubahyangakandiujikenormalannya

Hipotesis yang digunakan dalam pengujian kenormalan ShapiroWilk adalah sebagai


berikut

H0 : databerdistribusiNormal,atau X ~ N ( , 2 )
H1 : datatidakberdistribusiNormal.

Misalkan akan dilakukan pengujian kenormalan untuk variabel LIFEEXPF, maka
padajendeladialogpilihanPeubahyangmuncul,klikLIFEEXPFtersebut.Kemudianklik
OKuntukmenampilkanoutputpengujianpadajendelakeluaransepertiberikutini.


>shapiro.test(latihan4$LIFEEXPF)

ShapiroWilknormalitytest

data:latihan4$LIFEEXPF
W=0.8596,pvalue=9.435e09

Output ini menunjukkan bahwa pvalue pengujian adalah 9.435e9. Sehingga jika
digunakan =0.05 dapat disimpulkan bahwa pengujian menunjukkan tolak H0 yang
berartidataLIFEEXPFtidakberdistribusinormal.HalinididukungolehQQPlotpadaBab
4sebelumnya(lihatpadahalaman52).

91
sht90 StatistikDeskriptifmenggunakanRCommander


6.7.TabelKontingensiDuaArah
Pembuatan tabel kontingensi dua arah pada RCommander dapat dilakukan
dengan menggunakan menu Statistika, pilih Tabel kontingensi, dan kemudian pilih
Tabel dua arah . Setelah itu akan terlihat jendela pilihan tentang dua variabel
nonmetrik(kategorik)yangakandibuattabelkontingensiduaarahsepertipadaGambar
6.12berikutini.



Gambar6.12.JendelapilihanDuaPeubahyangakandibuatTabelKontingensinya

Misalkan akan dibuat tabel kontingensi dua arah untuk variabel CLIMATE dan
REGION,makapadajendeladialogpilihanPeubahbarisyangmunculklikCLIMATEdan
pilih REGION pada pilihan Peubah kolom. Kemudian pilih besaran (persentase baris,
persentase kolom, atau persentase keseluruhan) dan uji hipotesis (sebagai pilihan
defaultadalahujikesalingbebasanChikuadrat)yangakan dilakukan.Setelah itu,klik
OKuntukmenampilkanoutputtabelkontingensiduaarahpadajendelakeluaranseperti
berikutini.

92
sht90 StatistikDeskriptifmenggunakanRCommander


>.Table<xtabs(~CLIMATE+REGION,data=latihan4)
>.Table
REGION
CLIMATE OECD East Europe Pacific/Asia Africa Middle East Latn America
desert 0 0 0 1 6 0
arid / desert 0 0 0 1 4 0
arid 1 0 1 0 2 2
tropical 0 0 9 10 0 13
mediterranean 1 2 2 2 2 1
maritime 1 3 0 0 0 0
temperate 15 8 4 2 2 3
arctic / temp 3 1 0 0 0 0
arctic 0 0 0 0 0 0

>rowPercents(.Table)#RowPercentages
REGION
CLIMATE OECD East Europe Pacific/Asia Africa Middle East Latn America
desert 0.0 0.0 0.0 14.3 85.7 0.0
arid / desert 0.0 0.0 0.0 20.0 80.0 0.0
arid 16.7 0.0 16.7 0.0 33.3 33.3
tropical 0.0 0.0 28.1 31.2 0.0 40.6
mediterranean 10.0 20.0 20.0 20.0 20.0 10.0
maritime 25.0 75.0 0.0 0.0 0.0 0.0
temperate 44.1 23.5 11.8 5.9 5.9 8.8
arctic / temp 75.0 25.0 0.0 0.0 0.0 0.0
arctic NaN NaN NaN NaN NaN NaN

REGION
CLIMATE Total Count
desert 100.0 7
arid / desert 100.0 5
arid 100.0 6
tropical 99.9 32
mediterranean 100.0 10
maritime 100.0 4
temperate 100.0 34
arctic / temp 100.0 4
arctic NaN 0

>.Test<chisq.test(.Table,correct=FALSE)
Warning in chisq.test(.Table, correct = FALSE) :
Chi-squared approximation may be incorrect

>.Test

Pearson's Chi-squared test

data: .Table
X-squared = NaN, df = 40, p-value = NA

Output uji Chikuadrat atau Chisquared tidak dapat diperoleh karena banyak nilai 0
padabeberapaselkombinasiantaravariabelCLIMATEdanREGION.

93
sht90 StatistikDeskriptifmenggunakanRCommander

6.8.EntryLangsungDataFrekuensiuntukTabelKontingensiDuaArah
Rjugamenyediakanfasilitasuntukmembuattabelkontingensiduaarahdengan
caramemasukkanlangsungfrekuensifrekuensipadasetiapkombinasiselyangadapada
tabel kontingensi. Pembuatan masukkan tabel dua arah ini pada RCommander dapat
dilakukandenganmenggunakanmenuStatistika,pilihTabelkontingensi,dankemudian
pilihMasukkandananalisistabelduaarah.Setelahituakanterlihatjendelapilihan
tentang Banyaknya baris dan Banyaknya kolom, serta Masukkan frekuensi yang akan
dibuattabelkontingensiduaarahsepertipadaGambar6.13berikutini.



Gambar6.12.JendelapilihanDuaPeubahyangakandibuatTabelKontingensinya

MisalkanakandibuattabelkontingensiduaarahuntukvariabelPILIHANACARA
TVdanGENDERRESPONDEN,makapadajendelakolom,tulisOlahragadanSinetron,
dantulisPriadanWanitapadajendelabaris.Isikanangka45,20,25,dan40padaempat
sel isian yang ada (misal Pria cenderung menonton Olah raga, sedangkan Wanita
cenderung menonton Sinetron). Kemudian klik OK untuk menampilkan output tabel
kontingensiduaarahpadajendelakeluaransepertiberikutini.

94
sht90 StatistikDeskriptifmenggunakanRCommander


>library(abind)#aktifkanterlebihdulujikadiperlukan

>.Table<matrix(c(45,20,25,40),2,2,byrow=TRUE)
>rownames(.Table)<c('Pria','Wanita')
>colnames(.Table)<c('Olahraga','Sinetron')

>.Table#Counts

Olah raga Sinetron


Pria 45 20
Wanita 25 40

>rowPercents(.Table)
Olah raga Sinetron Total Count
Pria 69.2 30.8 100 65
Wanita 38.5 61.5 100 65

>.Test<chisq.test(.Table,correct=FALSE)
>.Test

Pearson'sChisquaredtest

data:.Table
Xsquared=12.381,df=1,pvalue=0.0004337

ProsedurujiChisquarePearsonatau 2 padaoutputdiatas(untukevaluasidependensi
antara dua peubah nonmetrik, skala nominal atau ordinal) adalah sebagai berikut
(JohnsondanBhattacharyya,1996).

(1).Hipotesa: H0 :peubahpadabarisdankolomindependen
H1 :peubahpadabarisdankolomdependen

(2). Statistikuji:
b k (Oij E ij ) 2
2 =
i =1 j =1 E ij

dengan Oij = jumlahpengamatanpadabariskeidankolomkej,


E ij = nilaiekspektasipengamatanpadabariskeidankolomkej.
Perhitunganuntuknilaiekspektasiiniadalahsebagaiberikut
n i. n. j
E ij = ,
n
dengan ni. =totalpengamatanbariskei, n. j =totalpengamatankolomkej,
dan n =totalpengamatankeseluruhan.

95
sht90 StatistikDeskriptifmenggunakanRCommander


(3). Daerahpenolakan:
TolakH0yangberartikeduapeubahsalingdependen(terkait)jika

2 > 2 , df = (b 1)( k 1) ataunilai p < ,

dengan b =jumlahbaris,dan k =jumlahkolom.



Hasil dari output di atas menunjukkan nilai uji Chisquare Pearson dan nilai p
untuk pengambilan kesimpulan tentang ada tidaknya dependensi antara gender
responden dan acara TV yang sering ditonton. Nilai uji Chisquare Pearson adalah
12.381, dan nilai p sebesar 0.0004337. Dengan demikan, jika digunakan =0.05 dapat
disimpulkan bahwa pengujian menunjukkan tolak H0 yang berarti bahwa gender
respondendanacaraTVyangditontontidakindependenatausalingterkait.Keterkaitan
dua variabel tersebut adalah Pria cenderung menonton Olah raga (68,2% Pria),
sedangkanWanitacenderungmenontonSinetron(61,5%Wanita).

96
sht90 StatistikInferensimenggunakanRCommander

BAB7
STATISTIKINFERENSIMENGGUNAKANRCommander

Padabab ini akandibahaspenggunaanRCommander untukmembuat analisis
statistik inferensi dari suatu kumpulan data. Ada beberapa metode analisis statistik
inferensiyangdisediakanpadaRCommander,yaituujihipotesisuntukmean,proporsi,
danvarians,ujiChikuadratuntukevaluasikebebasanantaraduavariabelkategorik,uji
ANOVA,ujiujiNonparametrik,analisiskomponenutama,analisisfaktor,analisisklaster,
analisisregresilinear,danGeneralizedlinearmodel.
PaketRCommanderpadaawalnyadibuatuntukkeperluananalisisstatistikyang
sederhana, yaitu sebagai alat komputasi untuk perkuliahan statistika dasar, khususnya
untuk pengguna yang cenderung lebih terbiasa menggunakan paketpaket statistika
yang bersifat point and click. Oleh karena itu, menu dan pilihan kotak dialog yang
ditampilkan masih bersifat sederhana dan tidak mencakup semua kapabilitas yang
dimiliki R. Sebagai sebuah sistem komputasi statistika yang lengkap, kemampuan R
sebagianbesardiperolehdariribuanpaket(packageataulibrary)yangdikontribusikan
oleh seluruh penggguna R di seluruh dunia. Dengan demikian, tidaklah mungkin
membuatsatusistemRGUIyangmemilikimenudarisemuakemampuanyangdimiliki
R. Hal ini karena terlalu banyaknya analisis statistika yang dapat dilakukan dengan
menggunakan R. Untuk mengetahui daftar semua paket yang tersedia sampai saat ini
dapatdilihatdihttp://cran.rproject.org.
Secara umum, metode statistika yang tersedia dalam RCommander terbagi
dalam 8 (delapan) dialog pilihan utama yang dapat dijalankan setelah memilih menu
Statistika,yaitu:
1.Ringkasan(Summaries),yangterdiridaridialogpilihan

2.Tabelkontingensi(ContingencyTables),yangterdiridaridialogpilihan

97
sht90 StatistikInferensimenggunakanRCommander


3.Rerata(Means),yangterdiridaridialogpilihan



4.Proporsi(Proportions),yangterdiridaridialogpilihan



5.Variansi(Variances),yangterdiridaridialogpilihan



6.Ujinonparametrik(Nonparametrictests),yangterdiridaridialogpilihan



7.Analisisdimensional(Dimensionalanalysis),yangterdiridaridialogpilihan



8.Pencocokanmodel(Fitmodels),yangterdiridaridialogpilihan

98
sht90 StatistikInferensimenggunakanRCommander


PembahasantentangRingkasandanTabelkontingesisudahdiberikanpadaBab
6sebelumnya.Dengandemikian,babiniakanmembahasanalisisstatistikauntukpilihan
Ratarata,Variansi,danseterusnya.

7.1.PengujianRatarata(Mean)
Padabagianiniakandijelaskancaraperhitunganuntukpengujianrataratadari
suatu data. R menyediakan lima macam pilihan pada pengujian ratarata, yaitu Ujit
sampel tunggal, Ujit sampel saling bebas, Ujit berpasangan, ANAVA Satuarah, dan
ANAVA Multiarah. Pilihanpilihan analisis statistika tersebut dapat diperoleh dengan
memilih menu Statistika, dan kemudian memilih Rerata seperti yang terlihat pada
Gambar7.1berikutini.



Gambar7.1.Jendeladialoguntukpilihanpadapengujianratarata

7.1.1.PengujianRataratasampeltunggal(Singlesamplettest)
MisalkansuatusamplingterhadapairsungaiKALIMASSurabayadilakukanoleh
Departemen Kesehatan kota Surabaya untuk menentukan apakah ratarata jumlah
bakteriperunitvolumeairdiSungaitersebutmasihdibawahambangbatasamanyaitu
200.Kemudian,penelitididepartementersebutmengumpulkan10sampelairperunit
volumedanmenemukanjumlahbakterisebagaiberikut.

Sampelke 1 2 3 4 5 6 7 8 9 10
Jml.bakteri 175 190 215 198 184 207 210 193 196 180

Apakahdata(informasi)inimemberikanbuktiyangkuatbahwarataratajumlahbakteri
perunitvolumeairdisungaiKALIMASmasihdibawahambangbatasaman?

99
sht90 StatistikInferensimenggunakanRCommander


Pengujian ratarata sampel tunggal dapat dilakukan setelah data tersedia di R.
Untuk itu, masukkan terlebih dahulu datadata tersebut dengan menggunakan menu
Data,pilihDatasetbaru,danberinamadatasetbaruitu(misalkandata7mu).Setelah
itu,isikandatadataitusepertitampilanberikutini.



Gambar7.2.JendelatampilanuntukentrydatapadaRCommander

Untuk melakukan pengujian ratarata sampel tunggal seperti contoh kasus di
atas, RCommander menyediakan pilihan yaitu melalui menu Statistika, pilih Rerata,
dan kemudian pilih Ujit sampel tunggal, sehingga diperoleh tampilan dialog isian
untukpengujianrataratasampeltunggalsepertipadaGambar7.3.PadapilihanPeubah
klik bakteri, dan kemudian isikan angka 200 pada kotak pilihan Hipotesis nol: mu=.
Setelah itu, klik pilihan pada Hipotesis Alternatif sesuai dengan permasalahan diatas,
yaitu Rerata populasi < mu0. Secara lengkap hipotesis statistik yang digunakan dalam
pengujianrataratainiadalahsebagaiberikut.

H0: = 200 (atau 200 )


H1: < 200

KemudiantentukanLevelKeyakinanpengujianyangakandigunakan,misalkansaja0.95.
Hal ini berarti yang digunakan adalah 5%. Setelah semua isian dialog sudah sesuai
dengan pengujian yang akan dilakukan, klik OK untuk menampilkan output dari
pengujianini.

100
sht90 StatistikInferensimenggunakanRCommander



Gambar7.3.JendeladialoguntukpilihanpadaUjitsampeltunggal

Statistik uji yang digunakan dalam uji hipotesis ini adalah uji t , yang rumus
perhitungannyaadalah(JohnsondanBhattacharyya,1996)
X
t= ,
S
n

dengan X adalah ratarata dan S adalah deviasi standar yang dihitung dari data
sampel, serta n adalah banyaknya data. Dalam hal ini, H0 ditolak yang berarti bahwa
< 200 ,jikanilaiuji t memenuhidaerahpenolakan,yaitu

t < t ; df = n 1 ataupvalue < .

Outputhasilpengujianrataratasampeltunggalyangdiperolehdaricontohkasusdiatas
adalahsebagaiberikut.


>t.test(data7mu1$bakteri,alternative='less',mu=200,conf.level=.95)

OneSamplettest

data:data7mu1$bakteri
t=1.2516,df=9,pvalue=0.1211
alternativehypothesis:truemeanislessthan200
95percentconfidenceinterval:
Inf202.4162
sampleestimates:
meanofx
194.8

101
sht90 StatistikInferensimenggunakanRCommander


Hasil ini menunjukkan bahwa nilai statistik t yang diperoleh adalah 1.2516,
dengan pvalue pengujian adalah 0.1211. Dengan menggunakan kaidah pengambilan
keputusanberdasarkanpvalue,yaitutolakH0jikapvaluelebihkecildarinilai,maka
pada=0.05dapatdisimpulkanbahwapengujianmenunjukkangagaltolakH0.Dengan
demikiandapatdijelaskanbahwarataratajumlahbakteriperunitvolumeairyangada
di Sungai KALIMAS Surabaya tidak berada di bawah ambang batas aman atau per
nyataanbahwarataratajumlahbakteriperunitvolumeairdiSungaiKALIMASmasihdi
bawahambangbatasamanadalahTIDAKBENAR.

7.1.2. PengujianPerbedaanRatarataDuasampelsalingbebasatau
Independentsamplettest
Misalkan suatu metode perakitan produk dalam pabrik tertentu memerlukan
kirakirasatubulanmasatraininguntukseorangpegawaibaruuntukmencapaiefisiensi
maksimum.Suatumetodetrainingyangbarutelahdiusulkandanpengujiandilakukan
untuk membandingkan metode baru tersebut dengan prosedur yang standar. Dua
kelompokyangmasingmasingterdiridarisembilanpegawaibarudilatihselamaperiode
waktu tiga minggu, satu kelompok menggunakan metode baru dan lainnya mengikuti
prosedur latihan yang standar.Lama waktu (dalammenit) yangdiperlukanoleh setiap
pegawaiuntukmerakitprodukdicatatpadaakhirdariperiodeempatminggutersebut,
danhasilnyadapatdilihatpadatabelberikut.

Tabel7.1.Lamawaktu(dalammenit)untukmerakitproduk

ProsedurStandar 32 37 35 28 41 44 35 31 34

ProsedurBaru 35 31 29 25 34 40 27 32 31

Apakah data ini memberikan cukup bukti untuk menyatakan bahwa mean (ratarata)
waktuuntukmerakitprodukpadaakhirperiodeempatminggulatihanadalahlebihkecil
untuk prosedur (metode) latihan baru? Gunakan =0.05 untuk membuat kesimpulan
daripengujianhipotesisini.
Seperti pada bagian sebelumnya, pengujian perbedaan ratarata dua sampel
independen inidapatdilakukan setelahdatatersedia diR.Dalamhalini,adaduacara
yang dapat dilakukan yaitu memasukkan data pada dataset baru atau menambahkan
data pada dataset yang sudah ada. Pada bagian ini akan digunakan cara kedua yaitu
menambahkan datadata ini pada dataset yang sudah ada dari subbab sebelumnya,
yaitudata7mu.

102
sht90 StatistikInferensimenggunakanRCommander


Untuk itu, aktifkan dulu data7mu dengan menggunakan menu Data, pilih
Dataset aktif, dan kemudian klik Pilih dataset aktif . Setelah itu pilih data7mu yang
sudah tersimpan sebelumnya. Selanjutnya, editing data untuk menambah data baru
dapatdilakukandenganmengklikjendeladialogEditdataset.Dengandemikianproses
editinguntukmenambahkandatabarudapatdilakukan.IsikandatadatapadaTabel7.1
pada dua kolom baru yang tersedia, yaitu kolom pertama dengan nama waktu yang
berisidatadatawaktuperakitan(baik denganmetodebaru ataupunmetodestandar).
Sehinggapadakolomwaktuiniada18data.Padakolomyangkeduaberinamametode,
isikan angkaangka kode dari metode baru (misalkan dengan kode 1) dan metode
standar (kode 2). Setelah proses input data baru telah lengkap, maka akan diperoleh
tampilandatasetdata7muyangberisi3(tiga)kolomsepertiyangterlihatpadaGambar
7.4. Kemudian tutup jendela pengisian data ini untuk melanjutkan ke komputasi
pengujianperbedaanratarataduasampelsalingbebas.



Gambar7.4.JendelatampilanuntukhasileditingdatabarupadaRCommander


103
sht90 StatistikInferensimenggunakanRCommander


Untuk dapat mengaktifkanmenu Ujit sampel salingbebas diperlukan langkah
awal, yaitu mengkonversi variabel metode menjadi faktor. Hal ini dapat dilakukan
denganmenggunakanmenuData,pilihAturpeubahpadadatasetaktif,dankemudian
klik Konversi peubah numerik ke faktor , sehingga diperoleh jendela dialog seperti
gambarberikutini.



Gambar7.5.JendeladialoguntukKonversiPeubahNumerikkeFaktor

Selanjutnya pilih variabel metode, dan klik Level Faktor pada pilihan Sediakan nama
leveldangunakanpilihandefault<samadenganpubah>padaNamapeubahbaru.Klik
OKsehinggadiperolehtampilansepertiberikutini.



Gambar7.6.JendeladialoguntukNamalevelpadapeubahbaru

Isikannamalevelyangsesuaidengannilainumerikyangakandiberinama,yaitu
metode standar untuk 1 dan metode baru untuk 2. Setelah itu klik OK, dan proses
konversivariabeldarinumerikkefaktortelahdilakukan.Untukmelihatperubahandata
akibat proses konversi ini dapat dilakukan dengan mengklik pada jendela pilihan Lihat
dataset,sehinggadiperolehtampilandata7mubarusepertipadaGambar7.7dibawah
ini.

104
sht90 StatistikInferensimenggunakanRCommander



Gambar7.7.Jendelatampilandatabarusetelahkonversimetodekefaktor

Sebagaicatatan,hasileditingdenganmenambahkanvariabelbarudenganjumlahdata
lebih banyak daripada variabel yang lama menyebabkan variabel yang lama mengan
dungdatamissing.
Tahap selanjutnya adalah proses pengujian perbedaan ratarata untuk data di
atas, yaitu dengan memilih menu Statistika, pilih Rerata, dan kemudian pilih Ujit
sampelsalingbebas,sehinggadiperolehjendeladialogsepertipadaGambar7.8.Klik
metode pada jendela Kelompok, dan waktu pada jendela Peubah respon, serta pilih
Hipotesis Alternatif yang sesuai dengan permasalahan di atas, yaitu klik Selisih>0.
Dalamkasusini,hipotesisstatistikayangdigunakanadalah

H0: 1 2 0 atau 1 2
H1: 1 2 > 0 atau 1 > 2

dengan 1 adalahrataratapopulasiuntukwaktumerakitdenganprosedurstandar,dan
2 menyatakanrataratapopulasiuntukwaktumerakitdenganprosedurbaru.
Setelah itu, pilih Interval Keyakinan yang digunakan (misalkan saja 0.95 yang
berarti=5%).KemudianpilihAsumsivariansisamadenganmengkliksalahsatupilihan
yang ada, misalkan saja Ya (pada bagian selanjutnya hal ini akan diuji dengan
menggunakanfasilitasyangadadiRCommander).

105
sht90 StatistikInferensimenggunakanRCommander



Gambar7.8.JendeladialoguntukUjitSampelSalingBebas

Penjelasantentangstatistikujiyangdigunakandalamujihipotesisperbedaanduarata
ratasampelsalingbebasdenganasumsivarianssamaadalahuji t ,yaitu(Johnsondan
Bhattacharyya,1996)

X1 X 2
t= ,
1 1
S pooled +
n1 n 2

dengan X 1 dan X 2 adalahrataratasampelpertamadankedua, n1 dan n 2 banyaknya


sampel data pertama dan kedua, dan S pooled adalah taksiran deviasi standar bersama
yangdidefinisikandengan

(n1 1) S12 + (n 2 1) S 22
S 2pooled = .
n1 + n 2 2

Dalam hal ini S1 dan S 2 adalah deviasi standar dari sampel data pertama dan kedua.
KarenaujiiniadalahujisatuarahdenganH1 bertandalebihbesar,makaH0ditolakjika
nilaiuji t memenuhidaerahpenolakan,yaitu

t > t ; df = n1 + n2 2 ataupvalue < .

Selanjutnya, setelah semua isian dialog sudah sesuai dengan pengujian yang
akan dilakukan, klik OK untuk menampilkan output dari pengujian ini. Hasil dari
pengujianperbedaanrataratauntukkasuswaktumerakitdiatassecaralengkapdapat
dilihatpadaoutputberikutini.

106
sht90 StatistikInferensimenggunakanRCommander


>fix(data7mu)
>data7mu$metode<factor(data7mu$metode,labels=c('metodestandar',
'metodebaru'))

>t.test(waktu~metode,alternative='greater',conf.level=.95,var.equal=TRUE,
data=data7mu)

TwoSamplettest

data:waktubymetode
t=1.6495,df=16,pvalue=0.05927
alternativehypothesis:truedifferenceinmeansisgreaterthan0
95percentconfidenceinterval:
0.2142871Inf
sampleestimates:
meaningroupmetodestandarmeaningroupmetodebaru
35.2222231.55556



Hasil ini menunjukkan bahwa nilai statistik t yang diperoleh adalah 1.6495,
denganpvaluesebesar0.05927.Denganmenggunakankaidahpengambilankeputusan
berdasarkanpvalue,makapada=0.05dapatdisimpulkanbahwapengujianhipotesis
menunjukkangagaltolakH0.Dengandemikiandapatdijelaskanbahwarataratawaktu
perakitandenganmetodebarudanmetodestandaradalahtidakberbedaataudugaan
bahwa metode baru memberikan waktu perakitan lebih cepat adalah tidak didukung
olehdata.

7.1.3. PengujianPerbedaanRataratasampelberpasangan(Pairedttest)
Misalkansebuahpabrikinginmembandingkankualitaskeawetandariduajenis
banmobilyangberbeda,yaitubanAdanB.Untukperbandingan,dilakukaneksperimen
dengan cara sebuah ban jenis A dan sebuah ban jenis B secara acak ditentukan dan
dipasang pada roda belakang dari lima mobil. Mobilmobil tersebut dijalankan untuk
sejauh km tertentu dan jarak keawetan (jarak sampai diperoleh ban mengalami
kerusakan tertentu) dicatat untuk setiap ban. Hasil pengukuran dari percobaan ini
(dalam ribu km) dapat dilihat pada Tabel 7.2. Dalam percobaan ini, faktor pengemudi,
kondisi mobil, kondisi jalan, dan faktorfaktor lain yang diduga berpengaruh terhadap
tingkat keawetan pemakaian ban diharapkan dapat dikendalikan dengan cara me
lakukan pengacakan letak ban pada roda belakang setiap mobil yang digunakan.
Berdasarkan data pada Tabel 7.2, tentukan apakah hasil ini memberikan cukup bukti
untukmenyatakanbahwaadaperbedaantingkatkeawetanuntukkeduajenisbanmobil
tersebut.

107
sht90 StatistikInferensimenggunakanRCommander


Tabel7.2.Tingkatkeawetan(dalamribukm)untukduajenisban


JenisBan
Mobil
BanA BanB

1. 10,6 10,2
2. 9,8 9,4
3. 12,3 11,8
4. 9,7 9,1
5. 8,8 8,3

PengujianperbedaanrataratasampelberpasangandapatdilakukandenganR
CommandersetelahdatatersediadiR.Untukitu,aktifkanduluRCommanderdanbuat
datasetbaru,misalkansajadengannamadata7mu3denganmenggunakanmenuData,
pilihDatasetbaru.Setelahitubuattigakolomuntukvariabelmobil,banA,danbanB.
Isikan data pada Tabel 7.2 pada kolomkolom baru yang tersedia, sehingga diperoleh
tampilandatasepertipadaGambar7.9berikutini.



Gambar7.9.JendelatampilandatauntukUjitberpasangan

Tahap selanjutnya adalah proses pengujian perbedaan ratarata sampel ber


pasangan untuk data di atas, yaitu dengan memilih menu Statistika, pilih Rerata, dan
kemudian pilih Ujit berpasangan, sehingga diperoleh jendela dialog seperti pada
Gambar7.10.Klikban.ApadajendelaPeubahpertama,danban.BpadajendelaPeubah
kedua. Kemudian pilih Hipotesis Alternatif yang sesuai dengan permasalahan di atas,
yaituklikDuaarahyangmenyatakanbahwahipotesispenelitianadalahadaperbedaan
tingkatkeawetanantarabanAdanB.

108
sht90 StatistikInferensimenggunakanRCommander



Gambar7.10.JendeladialoguntukUjitBerpasangan

Dalam contoh kasus percobaan tingkat keawetan kedua ban ini, hipotesis
statistikayangdigunakanadalah

H0 : = 0
H1 : 0 atauadaperbedaantingkatkeawetan

dengan adalah ratarata (populasi) selisih tingkat keawetan ban A dengan ban B.
Statistikujidalampengujianiniadalahuji t ,yaitu(JohnsondanBhattacharyya,1996)

D
t= ,
SD
n

dengan D adalah ratarata selisih sampel tingkat keawetan ban A dengan ban B, dan
S D adalah deviasi standar dari selisih sampel tingkat keawetan ban A dengan ban B,
serta n adalah banyaknya sampel data. Karena uji ini termasuk dalam uji dua arah
dengan H1 bertanda tidak sama dengan atau , maka H0 ditolak jika nilai uji t
memenuhidaerahpenolakan,yaitu

| t | > t ataupvalue < .
; df = n 1
2

Kemudian, pilih Interval Keyakinan yang digunakan (misalkan saja 0.95 yang
berarti =5%). Setelah semua isian dialog sudah sesuai dengan pengujian yang akan
dilakukan,klikOKuntukmenampilkanhasiloutputdaripengujiansampelberpasangan
sepertiberikutini.

109
sht90 StatistikInferensimenggunakanRCommander


>t.test(data7mu3$Ban.A,data7mu3$Ban.B,alternative='two.sided',
conf.level=.95,paired=TRUE)

Pairedttest

data:data7mu3$Ban.Aanddata7mu3$Ban.B
t=12.8285,df=4,pvalue=0.0002128
alternativehypothesis:truedifferenceinmeansisnotequalto0
95percentconfidenceinterval:
0.37611490.5838851
sampleestimates:
meanofthedifferences
0.48

Hasilinimenunjukkanbahwanilaistatistik t yangdiperolehadalah12.8285,dan
pvalue pengujian adalah 0.0002128. Dengan menggunakan kaidah pengambilan
keputusanberdasarkanpvalue,makapada=0.05dapatdisimpulkanbahwapengujian
menunjukkantolakH0.Dengandemikiandapatdijelaskanbahwaratarataselisihtingkat
keawetan antara ban A dan B adalah berbeda. Hasil ini menunjukkan bahwa ban A
mempunyai tingkat keawetan lebih lama (jarak lebih jauh) dibanding ban B. Hal ini
ditunjukkan oleh nilai positif pada ratarata selisih jarak tempuh antara ban A dan B
sampaibanbantersebutrusak.

7.1.4. AnalisisVariansi(ANAVA)satuarah(OnewayANOVA)
Suatueksperimendilakukanuntukmembandingkanhargasepotongroti(merek
tertentu) pada empat lokasi di suatu kota. Empat toko pada lokasi 1, 2 dan 3 dipilih
secaraacaksebagaisampel,sedangkandilokasi4hanyaduatokoyangterpilih(hanya
duatokoiniyangmenjualmerektersebut).Diperolehdatasebagaiberikut:

Tabel7.3.Hargasepotongrotimerektertentupadaempatlokasi

Lokasi Harga(riburupiah)

1 1.59 1.63 1.65 1.61


2 1.58 1.61 1.64 1.63
3 1.54 1.54 1.55 1.58
4 1.69 1.70

110
sht90 StatistikInferensimenggunakanRCommander

Apakah data ini memberikan bukti yang cukup untuk menyatakan bahwa ada
perbedaanrataratahargarotiditokotokopada4lokasiyangtersebardikota
tersebut?
Pengujian perbedaan ratarata dari empat sampel ini dapat dilakukan dengan
metode ANAVA satu arah yang tersedia di RCommander setelah data tersedia di R.
Untuk itu, buat dataset baru, misalkan saja dengan nama data7mu4 dengan
menggunakan menu Data, pilih Dataset baru . Setelah itu buat dua kolom untuk
variabel lokasi, dan harga. Isikan data pada Tabel 7.3 pada kolomkolom baru yang
tersedia,sehinggadiperolehdatasepertipadaGambar7.11.
Seperti pada Ujit sampel saling bebas, diperlukan langkah awal untuk
mengaktifkanANAVAsatuarahini,yaitumengkonversivariabellokasimenjadifaktor.
Hal ini dapat dilakukan dengan menggunakan menu Data, pilih Atur peubah pada
dataset aktif, dan kemudian klik Konversi peubah numerik ke faktor , seperti yang
digunakanpadavariabelmetodepadaUjitsampelsalingbebasdibagiansebelumnya,
yaitusubbab7.1.2.



Gambar7.11.JendelatampilandatauntukANAVAsatuarah

Darigambarinidapatdilihatbahwastrukturdatayangdigunakanadalahsamadengan
padapengujianrataratasampelsalingbebas(independen).

111
sht90 StatistikInferensimenggunakanRCommander


Tahap selanjutnya adalah proses pengujian ANAVA satu arah, yaitu dengan
memilih menu Statistika, pilih Rerata, dan kemudian pilih ANAVA Satuarah. Selain
itu,ujiANAVAsatuarahinidapatjugadilakukandenganmenggunakanmenuStatistika,
pilihRerata,dankemudianpilihANAVAMultiarah,sehinggadiperolehjendeladialog
sepertipadaGambar7.12berikutini.



Gambar7.12.JendeladialoguntukANAVAmultiarah

Pada jendela dialog pilihan ANAVA multiarah terlihat bahwa fasilitas ini dapat
digunakanuntuksatuataulebihfaktor.Sehinggakalauhanyasatufaktoryangdiselidiki,
makafasilitasiniadalahsamasajadenganANAVAsatuarah.
Selanjutnya, klik lokasi pada jendela Faktor, dan harga pada jendela Peubah
respon. Pada contoh kasus perbandingan ratarata harga ini, hipotesis statistika yang
digunakanadalah
H0: 1=2=3=4=
H1: minimaladasatumeanpopulasiyangbeda
dengan i adalah ratarata (populasi) harga roti di lokasi i. Statistik uji yang digunakan
adalah uji F, dan bentuk perhitungannya disajikan dalam suatu tabel yang dikenal
dengan tabel ANAVA. Berikut ini adalah bentuk umum tabel ANAVA satu arah untuk
perbandinganrataratakpopulasi(JohnsondanBhattacharyya,1996).

Sumber d.f. SS MS F
Treatment k1 SST MST=SST/(k1) MST/MSE
Error nk SSE MSE=SSE/(nk)
Total n1 SSTotal

RumusuntukperhitungannilainilaiSST,SSEdanSSTotaladalahsebagaiberikut.

112
sht90 StatistikInferensimenggunakanRCommander

PerhitunganSSTatauSumSquaresofTreatment
k k Ti2 T 2
SST= ni ( x i x ) 2 =
i =1 i =1 ni n

PerhitunganSSEatauSumSquaresofErrors
k ni
SSE= ( x ij x i ) 2
i =1 j =1

PerhitunganSSTotalatauSumSquaresofTotal
k ni T2
SSTotal= ( x ij x ) 2 = x ij2
i =1 j =1 ij n

dengan
Ti =Totalpengamatanpopulasi(treatment)kei
T = Totalpengamatanseluruhnya
ni = Banyaknyapengamatantreatmentkei
n = Banyaknyapengamatanseluruhnya.

Kembali ke Gambar 7.12, setelah pengisian peubah pada jendela Faktor, dan jendela
Peubah respon, selanjutnya klik OK untuk menampilkan output dari pengujian seperti
berikutini.


>Anova(lm(harga~lokasi,data=data7mu4))
AnovaTable(TypeIItests)

Response:harga
SumSqDfFvaluePr(>F)
lokasi0.00087530.08970.964
Residuals0.03252510

>tapply(data7mu4$harga,list(lokasi=data7mu4$lokasi),mean,na.rm=TRUE)#means
lokasi
1234
1.60001.62001.61251.6050

>tapply(data7mu4$harga,list(lokasi=data7mu4$lokasi),sd,na.rm=TRUE)#std.deviations
lokasi
1234
0.063770420.065828060.045000000.03535534




113
sht90 StatistikInferensimenggunakanRCommander


HasilinimenunjukkanbahwanilaistatistikFyangdiperolehadalah0.0897,dan
pvalue pengujian adalah 0.964. Dengan menggunakan kaidah pengambilan keputusan
berdasarkan pvalue, maka pada =0.05 dapat disimpulkan bahwa pengujian
menunjukkan gagal tolak H0. Dengan demikian dapat dijelaskan bahwa ratarata harga
rotidiempatlokasiituadalahsama.
Selain dengan menggunakan perintah di RCommander, dapat juga digunakan
commandlinediRConsoleyaitumenggunakanperintahlm.Perintahinisecaraumum
adalahuntukuntukanalisismodellinear(linearmodel),termasukjugadapatdigunakan
untuk analisis regresi linear. Berikut ini adalah contoh penggunakan perintah lm pada
datadiatasbesertaoutputnya.



>fit<lm(harga~lokasi,data=data7mu4)
>summary(fit)

Call:
lm(formula=harga~lokasi,data=data7mu4)

Residuals:
Min1QMedian3QMax
0.080000.023750.006250.026870.09000

Coefficients:
EstimateStd.ErrortvaluePr(>|t|)
(Intercept)1.600000.0285156.1107.84e14***
lokasi[T.2]0.020000.040330.4960.631
lokasi[T.3]0.012500.040330.3100.763
lokasi[T.4]0.005000.049390.1010.921

Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:0.05703on10degreesoffreedom
MultipleRSquared:0.0262,AdjustedRsquared:0.2659
Fstatistic:0.08967on3and10DF,pvalue:0.964

>anova(fit)
AnalysisofVarianceTable

Response:harga
DfSumSqMeanSqFvaluePr(>F)
lokasi30.0008750.0002920.08970.964
Residuals100.0325250.003252


Hasil dengan perintah ini memberikan output yang lebih banyak, termasuk koefisien
regresiyangdapatdigunakanuntukmenghitungrataratahargarotipadasetiaplokasi.

114
sht90 StatistikInferensimenggunakanRCommander


7.1.5. AnalisisVariansi(ANAVA)duaarah(MultiwayANOVA)
Suatu eksperimen dilakukan untuk menguji apakah terdapat efek (pengaruh)
dariduafaktor,yaitujenismaterialdantemperaturpemakaian,terhadaplamabaterai
tertentu dapat bertahan (usia pakai baterai). Tiga jenis material dan tiga macam
temperaturberbedadipilihsecaraacakdandigunakandalameksperimenini.Dalamhal
ini,temperaturyangdipilihadalah15,70,dan125(dalam0F).Padasetiapselkombinasi
perlakuandilakukanpengulangan(replikasi)sebanyakempatkali.Datahasileksperimen
inisecaralengkapdapatdilihatpadaTabel7.4.

Tabel7.4.Dataeksperimanterhadapusiapakaibaterai(dalamjam)

Temperatur(0F)
TipeMaterial
15 70 125

130155 3440 2070


1
74180 8075 8258
150188 136122 2570
2
159126 106115 5845
138110 174120 96104
3
168160 150139 8260

Apakahdatainimemberikanbuktiyangcukupuntukmenyatakanbahwaadaefekjenis
materialdantemperaturterhadapusiapakaibaterai?
Untuk menguji efek kedua faktor tersebut dapat dilakukan dengan metode
ANAVA multi arah yang tersedia di RCommander. Untuk itu, buat dataset baru,
misalkansajadengannamadata7mu5denganmenggunakanmenuData,pilihDataset
baru. Setelah itu buatdua kolomuntuk variabellokasi, dan harga. Isikan data pada
Tabel 7.4 pada kolomkolom baru yang tersedia, sehingga diperoleh data seperti pada
Gambar7.13.Darigambarinidapatdilihatbahwastrukturdatayangdigunakanadalah
samadenganpadaANAVAsatuarah.
Seperti pada ANAVA satu arah, diperlukan langkah awal untuk mengaktifkan
ANAVA satu arah ini, yaitu mengkonversi variabel jenis material dan temperatur
menjadi faktor. Hal ini dapat dilakukan dengan menggunakan menu Data, pilih Atur
peubah pada dataset aktif, dan kemudian klik Konversi peubah numerik ke faktor ,
sepertiyangdigunakanpadavariabellokasipadaANAVAsatuarahsebelumnya.Dalam
kasus ini, karena ada dua faktor yang akan diselidiki pengaruhnya terhadap respon,
makaanalisisyangdigunakandisebutANAVAduaarah.

115
sht90 StatistikInferensimenggunakanRCommander



Gambar7.13.JendelatampilandatauntukANAVAduaarah

Tahap selanjutnya adalah proses pengujian ANAVA dua arah, yaitu dengan
memilih menu Statistika, pilih Rerata, dan kemudian pilih ANAVA Multiarah,
sehinggadiperolehjendeladialogsepertipadaGambar7.14.Padajendeladialogpilihan
ANAVA multiarah klik material dan temperat pada jendela Faktor, dan usia pada
jendela Peubah respon. Pada contoh kasus ini, ada tiga hipotesis statistika yang
digunakan,yaitu:
1.EfekfaktorJenisMaterial
H0 : i=0(i=1,2,3)atautidakadaefekjenismaterialterhadapusiapakai
H1 : minimaladasatui0atauadaefekjenismaterialterhadapusiapakai

116
sht90 StatistikInferensimenggunakanRCommander

2.EfekfaktorTemperatur
H0 : j=0(j=1,2,3)atautidakadaefektemperaturterhadapusiapakai
H1 : minimaladasatuj0atauadaefektemperaturterhadapusiapakai

3.EfekinteraksifaktorJenisMaterialdanTemperatur
H0 : ()ij=0(i,j=1,2,3)atautidakadaefekinteraksi
H1 : minimaladasatuj0atauadaefekinteraksi



Gambar7.14.JendeladialoguntukANAVAmultiarah

Kemudian,klikOKuntukmenampilkanoutputdari pengujianANAVA duaarahseperti
dalamkotakdibawahparagrafini.Hasilinimenunjukkanbahwaadaefekyangsignifikan
dari jenis material, temperatur, serta interaksi antara jenis material dan temperatur,
terhadapusiapakaibaterai.Haliniditunjukkanolehpvalueyangsemuanyalebihkecil
dari=0.05padaketigaefekyangdievaluasi.


>data7mu5$material<as.factor(data7mu5$material)
>data7mu5$temperat<as.factor(data7mu5$temperat)
>Anova(lm(usia~material*temperat,data=data7mu5))

AnovaTable(TypeIItests)

Response:usia
SumSqDfFvaluePr(>F)
material39119228.96771.909e07***
temperat1068427.91140.001976**
material:temperat961443.55950.018611*
Residuals1823127

Signif.codes:0***0.001**0.01*0.05.0.11




117
sht90 StatistikInferensimenggunakanRCommander




>tapply(data7mu5$usia,list(material=data7mu5$material,
temperat=data7mu5$temperat),mean,na.rm=TRUE)#means

temperat
material 15 70 125
1 134.75 155.75 144.00
2 57.25 119.75 145.75
3 57.50 49.50 85.50

>tapply(data7mu5$usia,list(material=data7mu5$material,
temperat=data7mu5$temperat),sd,na.rm=TRUE)#std.deviations

temperat
material 15 70 125
1 45.35324 25.61738 25.97435
2 23.59908 12.65899 22.54440
3 26.85144 19.26136 19.27866

>tapply(data7mu5$usia,list(material=data7mu5$material,
temperat=data7mu5$temperat),function(x)sum(!is.na(x)))#counts

temperat
material 15 70 125
1 4 4 4
2 4 4 4
3 4 4 4



Sebagai tambahan, hasil dari perintah ANAVA multi arah pada RCommander juga
menampilkan output yang berisi nilainilai mean, standar deviasi, dan jumlah
pengulanganpadasetiapselkombinasiantarfaktor.

7.2.PengujianKesamaanVariansi
Rmenyediakantigamacampilihanpadapengujiankesamaanvariansi,yaituUji
F dua variansi, Uji Bartlett, dan Uji Levene. Pilihanpilihan analisis statistika tersebut
dapat diperoleh dengan memilih menu Statistika, dan kemudian memilih Variansi.
Berikutiniadalahpenjelasanuntukmasingmasingujitersebut.

7.2.1. PengujianKesamaanDuaVariansi
Pada bagian 7.1.2 sebelumnya telah dibahas pengujian ratarata dua sampel
independendenganujit.Dalamujiiniadaduapilihanberkaitandenganasumsivarians
dariduasampelyangdiamati,yaitusamaatauberbeda.Untukmengujikesamaandua
varianstersebutdapatdilakukandenganujiF.

118
sht90 StatistikInferensimenggunakanRCommander


Perhatikan kembali contoh kasus perbandingan lama waktu merakit produk
antarametodestandardanmetodebaruyangdatanyadapatdilihatdiTabel7.1.Untuk
melakukan pengujian kesamaan variansi lama waktu merakit pada kedua metode
tersebut, R menyediakan fasilitas dengan cara memilih menu Statistika, pilih Variansi,
dansetelahitupilihUjiFDuavariansi,sehinggadiperolehjendeladialogsepertipada
Gambar7.15.(Aktifkanterlebihdahuludatasetyangsudahtersimpansebelumnya,yaitu
datasetpadabagian7.1.2)



Gambar7.15.JendeladialoguntukUjiFDuaVariansi

Selanjutnya, klik metode pada jendela Kelompok, dan waktu pada jendela
Peubahrespon.Padacontohkasusperbandinganduavariansdarilamawaktumerakit
produk dengan metode standar dan metode baru, hipotesis statistika yang digunakan
adalah(JohnsondanBhattacharyya,1996)

H0: 12 = 22 ataukeduavariansadalahsamabesar
H1: 12 22 ataukeduavariansadalahberbeda.

Statistik uji yang digunakan adalah uji F. Ada tiga pilihan Hipotesis Alternatif atau H1
yang dapat dilakukan, yaitu Duaarah, Selisih<0, dan Selisih>0. Pada contoh ini klik
pilihanDuaarahsesuaidenganyangdinyatakanpadahipotesisstatistikadiatas.Setelah
itu tetapkan Level Keyakinan yang digunakan dalam pengujian (misalkan 0,95 yang
berarti =0.05). Klik OK sehingga diperoleh tampilan output pada jendela keluaran
sepertiberikutini.

119
sht90 StatistikInferensimenggunakanRCommander

>var.test(waktu~metode,alternative='two.sided',conf.level=.95,data=data7mu2)

Ftesttocomparetwovariances

data:waktubymetode
F=1.2205,numdf=8,denomdf=8,pvalue=0.7849
alternativehypothesis:trueratioofvariancesisnotequalto1
95percentconfidenceinterval:
0.27531145.4109136
sampleestimates:
ratioofvariances
1.220527

Hasil ini menunjukkan bahwa tidak ada perbedaan varians dari lama waktu
merakit produk dengan metode standar dan metode baru. Hal ini ditunjukkan oleh p
value(yaitu0.7849)yanglebihbesardari=0.05.

7.2.2. UjiBartlett
R menyediakan fasilitas untuk pengujian kesamaan varians dari beberapa
sampel(lebihdariduasampel).Sebagaicontohkasus,lihatkembalibagian7.1.5tentang
pengujian tentang efek jenis material dan temperatur terhadap usia pakai baterai.
Misalkan ingin diketahui apakah ada perbedaan varians usia pakai baterai pada ketiga
jenis material yang digunakan, maka dapat digunakan menu Statistika, pilih Variansi,
dan setelah itu pilih Uji Bartlett, sehingga diperoleh jendela dialog seperti pada
Gambar7.16.(Aktifkanterlebihdahuludatasetyangsudahtersimpansebelumnya,yaitu
data7mu5padabagian7.1.5).



Gambar7.16.JendeladialoguntukUjiBartlett

120
sht90 StatistikInferensimenggunakanRCommander


Selanjutnya, pilih material pada jendela Kelompok, dan usia pada jendela
Peubahrespon.Padacontohkasusini,hipotesisstatistikayangdigunakanadalah

H0: 12 = 22 = 32 atauketigavariansadalahsamabesar
H1: minimaladasatuvariansyangberbeda.

KlikOKsehinggadiperolehtampilanoutputpadajendelakeluaransepertiberikutini.



>bartlett.test(usia~material,data=data7mu5)

Bartletttestofhomogeneityofvariances

data:usiabymaterial
Bartlett'sKsquared=2.8321,df=2,pvalue=0.2427



Hasilinimenunjukkanbahwatidakadaperbedaanvariansdariusiapakaibateraipada
ketigajenismaterialyangdigunakandalameksperimen.Haliniditunjukkanolehpvalue
(yaitu0.2427)yanglebihbesardari=0.05.

7.2.3. UjiLevene
Seperti pada bagian sebelumnya, Uji Levene adalah uji yang dapat digunakan
untuk pengujian kesamaan varians dari beberapa sampel (lebih dari dua sampel).
Perhatikan kembali contoh pada bagian sebelumnya, yaitu apakah ada perbedaan
varians usia pakai baterai pada ketiga jenis material yang digunakan. R menyediakan
fasilitas untuk Uji Levene yaitu melalui menu Statistika, pilih Variansi, dan setelah itu
pilihUjiLevene,sehinggadiperolehjendeladialogsepertipadaGambar7.16.



Gambar7.17.JendeladialoguntukUjiLevene

121
sht90 StatistikInferensimenggunakanRCommander


Selanjutnya, pilih material pada jendela Kelompok, dan usia pada jendela
Peubah respon. Seperti pada contoh sebelumnya, hipotesis statistika yang digunakan
adalah

H0: 12 = 22 = 32 atauketigavariansadalahsamabesar
H1: minimaladasatuvariansyangberbeda.

KlikOKsehinggadiperolehtampilanoutputpadajendelakeluaransepertiberikutini.



>tapply(data7mu5$usia,data7mu5$material,var,na.rm=TRUE)

123
1004.51521838.9924659.0606

>levene.test(data7mu5$usia,data7mu5$material)

Levene'sTestforHomogeneityofVariance
DfFvaluePr(>F)
group21.04450.3632
33


Seperti pada hasil Uji Bartlett sebelumnya, hasil Uji Levene ini menunjukkan bahwa
tidak ada perbedaan varians dari usia pakai baterai pada ketiga jenis material yang
digunakandalameksperimen.Haliniditunjukkanolehpvalue(yaitu0.3632)yanglebih
besardari=0.05.

7.3.PengujianProporsi
Rmenyediakandua macampilihanpadapengujianproporsi,yaituUjiProporsi
SampelTunggaldanUjiProporsiDuaSampel.Pilihanpilihananalisisstatistikatersebut
dapat diperoleh dengan memilih menu Statistika, dan kemudian memilih Proporsi.
Untuk penjelasan pengujian proporsi ini digunakan data HBAT.SAV yang ada di buku
Hair dkk. (2006, hal. 2831) dengan judul Multivariate Data Analysis. Data tersebut
berisi data profil responden, tingkat persepsi terhadap variabelvariabel pemasaran
(kualitas produk, image website, kecepatan pengiriman, dan lainlain), serta tingkat
kepuasankonsumen.
Sebagai tahap awal, gunakan RCommander untuk melakukan impor data file
SPSS yaitu HBAT.SAV ke file R. Untuk itu, gunakan menu Data, pilih Impor data, dan
kemudian klik dari dataset SPSS. Setelah itu, pengujian proporsi dengan R dapat
dilakukandenganpilihanpilihanmenuyangtersedia.

122
sht90 StatistikInferensimenggunakanRCommander


7.3.1. PengujianProporsiSampelTunggal
Pada data HBAT ada salah satu pertanyaan yang berkaitan dengan apakah
konsumen akan melakukan hubungan (memesan kembali) di masa yang akan datang
denganperusahaan(dinotasikanX23).Adaduajawabanyangdapatdipilih,yaituTIDAK
dan YA. Misalkan dari 100 konsumen yang telah memberikan jawaban ingin diketahui
apakah ada perbedaan proporsi yang menjawab TIDAK dan YA. Hal ini sama dengan
pengujian untuk mengetahui apakah proporsi konsumen yang menjawab TIDAK (tidak
maumelakukanhubungandimasadatang)adalah0,50.
Uji proporsi sampel tunggal pada R disediakan melalui menu Statistika, pilih
Proporsi,dansetelahitupilihUjiproporsiSampeltunggal,sehinggadiperolehjendela
dialogsepertipadaGambar7.18berikutini.



Gambar7.18.JendeladialoguntukUjiProporsiSampelTunggal

Selanjutnya,pilihX23padajendelaPeubah,danisikanangka0.5padajendelaHipotesis
nol:p=. Seperticontohsebelumnya, adatigapilihan Hipotesis Alternatif atau H1 yaitu
ProporsiPopulasi=p0,ProporsiPopulasi<p0,danProporsiPopulasi>p0.Padacontoh
iniklikProporsiPopulasi=p0sesuaidenganhipotesisstatistikayangdigunakanyaitu
H0: p=0,50atauproporsiyangmenjawabTIDAKadalah0,50
H1: p0,50

123
sht90 StatistikInferensimenggunakanRCommander

SetelahitutetapkanLevelKeyakinanyangdigunakandalampengujian(misalkan
0,95 yang berarti =0.05) beserta Tipe Ujinya. Klik OK sehingga diperoleh tampilan
outputpadajendelakeluaransepertiberikutini.



>hbat<read.spss("D:/hair_multivariate_6_data/HBAT.sav",
use.value.labels=TRUE,max.value.labels=Inf,to.data.frame=TRUE)

>.Table<xtabs(~X23,data=hbat)

>.Table
X23
No,wouldnotconsiderYes,wouldconsider
5545

>prop.test(rbind(.Table),alternative='two.sided',p=.5,conf.level=.95,
correct=FALSE)

1sampleproportionstestwithoutcontinuitycorrection

data:rbind(.Table),nullprobability0.5
Xsquared=1,df=1,pvalue=0.3173
alternativehypothesis:truepisnotequalto0.5
95percentconfidenceinterval:
0.45244600.6438546
sampleestimates:
p
0.55



Dalam kasus ini, statistik uji yang digunakan adalah uji Chisquare atau 2 , yaitu
(JohnsondanBhattacharyya,1996)
2 (Oi E i ) 2
2 = ,
i =1 Ei

dengan E i = np = 100 0,5 = 50 untukmasingmasingi.


Hasil output di atas menunjukkan bahwa pengujian gagal menolak H0 yaitu
proporsi konsumen yang menjawab TIDAK mau menjalin kembali hubungan di masa
datangadalah0,50.Haliniditunjukkanolehpvalue(yaitu0.3173)yanglebihbesardari
=0.05. Dengan demikian dapat disimpulkan bahwa tidak ada perbedaan proporsi
konsumenyangmaudantidakmaumenjalinkembalihubungandenganperusahaandi
masadatang.

124
sht90 StatistikInferensimenggunakanRCommander

7.3.2. PengujianProporsiDuaSampel
Salah satu variabel profile konsumen pada data HBAT adalah jenis perusahaan
(dinotasikan X2), yaitu magazine industry dan newsprint industry. Misalkan ingin
diketahui apakah ada perbedaan proporsi yang menjawab TIDAK dan YA pada per
tanyaan tentang mau tidaknya melakukan hubungan kembali di masa datang dalam
keduakelompokkonsumenindustritersebut.
Uji proporsi dua sampel adalah uji statistik yang dapat dilakukan untuk
menjawab permasalahan tersebut. R menyediakan fasilitas uji ini melalui menu
Statistika, pilih Proporsi, dan setelah itu pilih Uji proporsi dua sampel, sehingga
diperolehjendeladialogsepertipadaGambar7.19.



Gambar7.19.JendeladialoguntukUjiProporsiduasampel

Selanjutnya,pilihX2padajendelaKelompok,danpilihX23padajendelaPeubahrespon.
Padacontohinihipotesisstatistikayangdigunakanadalah
H0: p1=p2atau proporsiyangmenjawabTIDAKmaumelakukanhubungan
kembalidimasadatangpadakonsumenmagazineindustry
dannewsprintindustryadalahSAMA
H1: p1p2atau adaPERBEDAANproporsiyangmenjawabTIDAKmau
melakukanhubungankembalidimasadatangpada
konsumenmagazineindustrydannewsprintindustry

125
sht90 StatistikInferensimenggunakanRCommander

SetelahitupilihHipotesisAlternatifatauH1yangsesuaidenganhipotesisdiatas,
yaitu Duaarah. Tetapkan juga Level Keyakinan dan Tipe Uji yang digunakan. Klik OK
sehinggadiperolehtampilanoutputpadajendelakeluaransepertiberikutini.


>.Table<xtabs(~X2+X23,data=hbat)

>.Table
X23
X2No,wouldnotconsiderYes,wouldconsider
Magazineindustry3022
Newsprintindustry2523

>rowPercents(.Table)
X23
X2No,wouldnotconsiderYes,wouldconsiderTotalCount
Magazineindustry57.742.310052
Newsprintindustry52.147.910048

>prop.test(.Table,alternative='two.sided',conf.level=.95,correct=FALSE)

2sampletestforequalityofproportionswithoutcontinuity
correction

data:.Table
Xsquared=0.3173,df=1,pvalue=0.5732
alternativehypothesis:two.sided
95percentconfidenceinterval:
0.13885710.2510366
sampleestimates:
prop1prop2
0.57692310.5208333



Padacontohkasusini,statistikujiyangdigunakanadalahujiChisquareatau 2 seperti
padasubbab6.8sebelumnya,yaitu(JohnsondanBhattacharyya,1996)

2 2 (Oij E ij ) 2
2 =
i =1 j =1 E ij

dengan
Oij = jumlahpengamatanpadabariskeidankolomkej,
E ij = nilaiekspektasipengamatanpadabariskeidankolomkej.

126
sht90 StatistikInferensimenggunakanRCommander

Daerahpenolakanuntukpengujianperbedaankeduaproporsiini,yaitutolakH0
yangberartiadaperbedaanproporsiyangmenjawabTIDAKmaumelakukanhubungan
kembali dimasa datang pada konsumen magazine industry dan newsprint industry
adalahjikanilai

2 > 2 ,df =1 ataunilai p < .

Hasil output di atas menunjukkan bahwa pengujian gagal menolak H0 yaitu proporsi
konsumen yang menjawab TIDAK mau menjalin kembali hubungan di masa datang
antara konsumen magazine industry dan newsprint industry adalah SAMA. Hal ini
ditunjukkanolehpvalue(yaitu0.5732)yanglebihbesardari =0.05.Dengandemikian
dapat disimpulkan bahwa jenis industri dari konsumen tidak memberikan perbedaan
terhadap kemauan dalam menjalin kembali hubungan dengan perusahaan di masa
datang.

127
sht90 AnalisisRegresimenggunakanRCommander

BAB8
ANALISISREGRESIMENGGUNAKANRCommander

Ada berbagai prosedur dan library untuk melakukan analisis data dengan
berbagai jenis persamaan regresi yang disediakan oleh R, baik model regresi linear
ataupunnonlinear.Padabagianiniakandijelaskananalisisregresilinearyangdisediakan
di RCommander. Secara umum ada dua menu yang disediakan RCommander untuk
analisisregresilinear,yaituRegresiLineardanModelLinear.


8.1.RegresiLinear
Secara umum bentuk matematis dari model regresi linier sederhana dapat
dinyatakansebagaiberikut(DraperdanSmith,1981;Kutnerdkk.,2004)

Y = 0 + 1 X
atau
Y = 0 + 1 X +
dengan
Y = nilaipengamatandaripeubahatauvariabeltakbebas(respon)
X = nilaipengamatandaripeubahatauvariabelbebas(prediktor)
Y = nilairamalanatauprediksidaripeubahatauvariabeltakbebas(respon)
= nilaikesalahanramalan
0 = intersepataukonstanta
1 = slopeataukoefisienkemiringanmodelregresi.

Metodekuadralterkecilatauordinaryleastsquares(OLS)adalahsuatumetode
yang digunakan untuk menentukan suatu garis lurus atau menaksir nilai 0 dan 1
dengankesesuaianterbaikyangmeminimumkanjumlahkuadratpenyimpangannilai Y
yang diamati dari nilainilai yang diramalkan (jumlah kuadrat kesalahan atau 2 ).
Secaramatematismetodeiniadalahmeminimumkan

n
SSE = (Yi Yi ) 2
i =1

n
= (Yi 0 1 X i ) 2 .
i =1

Denganmenggunakandifferensialterhadap 0 dan 1 akandiperolehnilaitaksiran


kuadratterkeciluntuk 0 dan 1 .

128
sht90 AnalisisRegresimenggunakanRCommander

Berikut ini adalah rumus untuk mendapatkan nilainilai taksiran 0 dan 1


denganmenggunakanOLS,(DraperdanSmith,1981)

n
( X i X )(Yi Y )
i =1
1 =
n
(X i X )
2
i =1

n
X i Yi nXY
= i =n1 ,
i X 2
nX 2
i =1

dan

0 = Y 1 X .


Misalkan akan diamati hubungan antara tingkat persepsi konsumen terhadap
kualitas produk HBAT (variabel X6) dan tingkat kepuasan konsumen (variabel X19)
melaluimodelregresilinear.Untukkeperluanini,RCommandermenyediakanfasilitas
melaluimenuStatistika,pilihPencocokanModel,dansetelahitupilihRegresiLinier,
sehingga diperoleh jendela dialog seperti pada Gambar 8.1. Menu ini disediakan
terutama untuk estimasi model regresi linear dari variabel dependen yang bersifat
metrikdenganvariabelindependenyangsemuanyabersifatmetrik,dansecaradefault
memuatkomponenkonstantadalammodelregresinya.



Gambar8.1.JendeladialoguntukRegresiLinier

129
sht90 AnalisisRegresimenggunakanRCommander


Pada contoh kasus HBAT ini, ketik nama untuk model regresi linear yang akan
diestimasi (default adalah Regmodel.1). Hal ini berarti output hasil estimasi regresi
linear disimpan sebagai objek dengan nama Regmodel.1. Kemudian pilih X19 (tingkat
kepuasan konsumen) pada jendela Peubah respon (variabel dependen), dan pilih X6
(tingkat persepsi konsumen terhadap kualitas produk HBAT) pada jendela Peubah
eksplanatori (variabel independen). Jendela dialog pada variabel independen menye
diakan pilihan satu atau lebih yang mengindikasikan bahwa menu ini secara umum
dapat digunakan untuk analisis regresi linear berganda. Klik OK sehingga diperoleh
outputmodelregresilinearsederhanasepertiberikutini.


>RegModel.1<lm(X19~X6,data=hbat)

>summary(RegModel.1)

Call:
lm(formula=X19~X6,data=hbat)

Residuals:
Min1QMedian3QMax
1.887460.727110.015770.856412.25220

Coefficients:
EstimateStd.ErrortvaluePr(>|t|)
(Intercept)3.675930.597656.1511.68e08***
X60.415120.075345.5102.90e07***

Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:1.047on98degreesoffreedom
MultipleRSquared:0.2365,AdjustedRsquared:0.2287
Fstatistic:30.36on1and98DF,pvalue:2.901e07

>#perhatikanhasildariperintahperintahberikutini

>hbat$fitted.RegModel.1<fitted(RegModel.1)

>hbat$residuals.RegModel.1<residuals(RegModel.1)

>hbat$rstudent.RegModel.1<rstudent(RegModel.1)

>hbat$hatvalues.RegModel.1<hatvalues(RegModel.1)

>hbat$cooks.distance.RegModel.1<cooks.distance(RegModel.1)

>#Perintahuntukmendapatkangambargarisregresi

>plot(hbat$X6,hbat$X19)
>lines(hbat$X6,hbat$fitted.RegModel.1,col="red")



130
sht90 AnalisisRegresimenggunakanRCommander


Output tersebut menunjukkan bahwa model linear regresi yang menunjukkan
hubungan antara X yaitu persepsi kualitas produk terhadap Y yaitu kepuasan
konsumenberdasarkandatasampeladalah

Y = 3,67593 + 0,41512 X

Model regresi linear ini menjelaskan bahwa ada pengaruh positif antara persepsi
kualitas produk terhadap kepuasan konsumen. Nilai dugaan slope sebesar 0,41512
dapat diinterpretasikan sebagai kenaikan ratarata tingkat kepuasan konsumen akibat
kenaikanpersatuanpersepsikualitasproduk.Hasilujitmenunjukkanbahwapengaruh
persepsikualitasproduktersebutadalahsignifikansecarastatistikpada=0.05.Halini
ditunjukkanolehbesarnyapvaluedariujit(yaitu2.90e07)yanglebihkecildari=0.05.
Perintah terakhir pada output di atas adalah untuk mendapatkan garis regresi
yangmenjelaskanhubunganantarapersepsiterhadapkualitasprodukdengankepuasan
konsumen.HasildariperintahinidapatdilihatpadaGambar8.2.Darigambarinidapat
dijelaskan bahwa secara keseluruhan terdapat variasi observasi yang besar dari garis
regresi yang ada. Hal ini juga ditunjukkan oleh nilai koefisien determinasi (R2) model
yangcukupkecil,yaitu0,2365.



Gambar8.2.Plotobservasidanhasilgarisregresilinear

131
sht90 AnalisisRegresimenggunakanRCommander

8.2.ModelLinear
Menu pilihan Model Linier pada RCommander bersifat lebih umum daripada
menu Regresi Linier sebelumnya. Pada menu ini, variabel dependen dibatasi hanya
untuk variabel yang bersifat metrik. Sedangkan untuk variabel independen, tidak
terbatas hanya untuk variabel yang bersifat metrik, tetapi juga dapat yang bersifat
nonmetrik atau bertipe kategori (yang dalam pengolahan data menggunakan variabel
dummy).
Secara umum model regresi linear yang melibatkan lebih dari satu variabel
bebas(prediktor)dikenaldenganmodelregresilinearberganda.Bentukmatematisdari
modelregresilinearbergandaadalah(DraperdanSmith,1981;Kutnerdkk.,2004)

Y = 0 + 1 X 1 + 2 X 2 + K + p X p

dengan
Y = nilairamalanatauprediksidaripeubahatauvariabeltakbebas(respon)
X i = nilaipengamatandarivariabelbebas(prediktor),dengan i = 1,2, K , p
0 = intersepataukonstanta
i = slopeataukoefisienkemiringanmodelregresi,dengan i = 1,2, K , p .

Estimasiterhadapparameterdalammodelregresilinearbergandatersebut( 0 , 1 , 2 )
diperlukan untuk mendapatkan model tersebut. Seperti pada model linear sederhana,
halinidapatdilakukandenganmenggunakanmetodekuadratterkecil(OLS).
Nilai taksiran koefisien regresi berganda ini dapat pula diperoleh dengan cara
pendekatanmatrikyaitu,(DraperdanSmith,1981;Kutnerdkk.,2004)

= (X X) 1 X Y
dengan
= matrikstaksiranparameter(ukuranp1,denganpadalahjumlah
parameteryangditaksir)
X = matriksvariabelbebas(ukurannp)
Y = matriksvariabeltakbebas(ukurann1).

Untukp=2,makacontohpenjelasanmatriksdiatasdapatditulissebagaiberikut

1 X 11 X 12 Y1
0 1 X X 22 Y
21 2
= 1 , X = 1 X 31 X 32 ,dan Y = Y3 .

2 ... ... ... ...
1 X n1 X n 2 Yn

132
sht90 AnalisisRegresimenggunakanRCommander


Misalkan akan diteliti hubungan antara tipe konsumen berdasarkan lamanya
menjadi konsumen (variabel X1) dan tingkat persepsi konsumen terhadap kualitas
produkHBAT(variabelX6)terhadaptingkatkepuasankonsumen(variabelX19)melalui
model regresi linear berganda. Dalam hal ini X1 merupakan variabel nonmetrik yang
terdiri dari 3 kategori, yaitu kurang dari 1 tahun, 15 tahun, dan lebih dari 5 tahun.
Untuk keperluan analisis regresi linear berganda ini, RCommander menyediakan
fasilitas melalui menu Statistika, pilih Pencocokan Model, dan setelah itu pilih Model
Linier,sehinggadiperolehjendeladialogsepertipadaGambar8.3.



Gambar8.3.JendeladialoguntukModelLinier

Dalamkasusini,modelregresilinearbergandayangakandicaribentuknyaadalah

Y = 0 + 1 X 11 + 2 X 12 + 3 X 6 .

Untuk penyelesaian kasus tersebut, ketik nama objek output model regresi
linear yang akan diestimasi (misal LinearModel.2). Hal ini berarti output hasil estimasi
regresilinearbergandadisimpansebagaiobjekdengannamaLinearModel.2.Kemudian
pilih X19 (tingkat kepuasan konsumen) pada jendela Formula Model: (variabel
dependen),danpilihX6+X1(tingkatpersepsikonsumenterhadapkualitasprodukHBAT
dan jenis konsumen) pada jendela kanan dari Formula Model (variabel independen).
Jendela dialog pada Formula Model menyediakan banyak pilihan dari model linear
ataupun model yang dilinearkan dengan transformasi tertentu. Klik OK sehingga
diperolehoutputmodelregresilinearbergandasepertiberikutini.

133
sht90 AnalisisRegresimenggunakanRCommander




>LinearModel.2<lm(X19~X6+X1,data=hbat)

>summary(LinearModel.2)

Call:
lm(formula=X19~X6+X1,data=hbat)

Residuals:
Min1QMedian3QMax
1.859730.632500.052930.549872.11380

Coefficients:
EstimateStd.ErrortvaluePr(>|t|)
(Intercept)3.83340.57066.7181.31e09***
X60.26650.07783.4260.000903***
X1[T.1to5years]1.55110.19987.7638.99e12***
X1[T.Over5years]1.39400.25575.4523.87e07***

Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:0.8157on96degreesoffreedom
MultipleRSquared:0.5458,AdjustedRsquared:0.5316
Fstatistic:38.45on3and96DF,pvalue:<2.2e16

>#Perhatikanhasildariperintahperintahberikutini

>hbat$fitted.LinearModel.2<fitted(LinearModel.2)
>hbat$residuals.LinearModel.2<residuals(LinearModel.2)
>hbat$rstudent.LinearModel.2<rstudent(LinearModel.2)
>hbat$hatvalues.LinearModel.2<hatvalues(LinearModel.2)
>hbat$cooks.distance.LinearModel.2<cooks.distance(LinearModel.2)
>trellis.device(theme="col.whitebg")
>plot(all.effects(LinearModel.2),ask=FALSE)



Output ini menunjukkan bahwa jenis (lama menjadi) konsumen dan persepsi
terhadapkualitasprodukberpengaruhsignifikanterhadapkepuasankonsumen.Halini
ditunjukkan oleh besarnya pvalue dari uji t pada kedua variabel tersebut yang lebih
kecildari=0.05.Khususuntukvariabeljeniskonsumen,adaduakoefisienregresiyang
ditampilkan, yaitu pada konsumen 15 tahun (sebesar 1,5511) dan lebih dari 5 tahun
(sebesar 1,3940). Tanda koefisien regresi yang positif pada kedua variabel dummy
tersebut menjelaskan bahwa konsumen lama (15 tahun dan lebih dari 5 tahun)
memilikitingkatkepuasanlebihtinggidibandingkonsumenbaru(kurangdari1tahun).
Sebagaitambahan,hasilregresilinearbergandamemberikannilaikoefisiendeterminasi
(R2) model yang lebih besar dibanding hasil regresi linear sebelumnya, yaitu naik dari
0,2365menjadi0,5458.

134
sht90 AnalisisRegresimenggunakanRCommander

Dengandemikian,modelregresilinearbergandayangdiperolehdaridatapada
kasusdiatasadalah

Y = 3,8334 + 1,5511X 11 + 1,3940 X 12 + 1,3940 X 6

dengan X 11 dan X 12 adalahvariabeldummy,yaitu


X 11 bernilai1untukkonsumen15tahun,danNOLuntukkonsumenyanglain,
X 12 bernilai1untukkonsumenlebihdari5tahun,danNOLuntukkonsumen
yanglain.

RCommander juga menyediakan fasilitas analisis grafik tentang model linear
regresiyangtelahdiperoleh,yaitumelaluimenuModel,pilihGrafik,dansetelahitupilih
menu analisis grafik yang diinginkan. Menu pilihanpilihan ini dapat diaktifkan setelah
estimasi model linear sukses dijalankan. Berikut ini adalah menu pilihan analisis grafik
yangdisediakanolehRCommander.



Gambar8.4.JendeladialoguntukanalisislanjutandariModelLinier

Klik pada pilihan Plot Efek akan menghasilkan output grafik seperti yang terlihat pada
Gambar8.5.
Dari gambar ini dapat dijelaskan bahwa tingkat kepuasan konsumen yang
tertinggi ada pada konsumen 15 tahun, sedangkan tingkat kepuasan yang terendah
terletak pada konsumen baru yaitu kurang dari 1 tahun. Plot kedua menunjukkan
bahwavariabelX6 (tingkatpersepsikualitasproduk)mempunyaipengaruhlinearyang
positif terhadap X19, yaitu tingkat kepuasan konsumen. Hal ini sesuai dengan tanda
koefisienmodelregresiyangpositifuntukX6.

135
sht90 AnalisisRegresimenggunakanRCommander



Gambar8.5.PlotEfekpadamasingmasingvariabelindependendariModelLinier

Berikut ini adalah ringkasan tentang prosedur uji serentak (simultan) dan uji
individu(parsial)signifikansikoefisienpadamodellinearregresi.

UjiSERENTAKatauSIMULTAN(DraperdanSmith,1981;Kutnerdkk.,2004)


1. Hipotesispengujian
H0 : 1=2==p=0
H1 : minimaladasatui0 ,i=1,2,,p.

2. StatistikUji
MSRegresi
F=
MSError
dengan
n n
(Yi Y ) (Yi Yi )
2 2

MSRegresi= i =1 ,danMSError= i =1 .
p 1 n p

3. Daerahpenolakan
TolakH0jika F > F;(v1= p 1,v 2= n p) ataupvalue < .

136
sht90 AnalisisRegresimenggunakanRCommander


UjiINDIVIDUatauPARSIAL(DraperdanSmith,1981;Kutnerdkk.,2004)

1. Hipotesispengujian
H0 : i=0
H1 : i0,i=0,1,2,,p.

2. StatistikUji

i 0
t= .
st.dev. ( i )

3. Daerahpenolakan
TolakH0jika t > t ; df = n p ataupvalue < .
2

8.3.CekDiagnosaKesesuaianModelRegresiLinear
RCommander menyediakan banyak fasilitas untuk evaluasi kesesuaian model
regresi.Setelahsuatumodelregresilineartelahdijalankandandiperoleh,makasemua
pilihan pada menu Model aktif dan dapat dipilih untuk diaktifkan. Berikut ini adalah
tampilanjendelapilihanpadapilihanmenuModel.



Gambar8.6.JendeladialoguntukcekdiagnosadarisuatuModelLinier

137
sht90 AnalisisRegresimenggunakanRCommander

Jendela dialog untuk cek diagnosa suatu model regresi linear di atas menunjukkan
bahwa ada banyak fasilitas yang disediakan RCommander untuk evaluasi kesesuaian
modelregresilinear.Padabagianini,evaluasikesesuaianmodeldifokuskanpadadeteksi
multikolinearitasdanpengecekankesesuaianasumsimodel,yaitu i ~ IIDN (0, 2 ) .
Besaran statistik yang biasanya digunakan untuk mendeteksi multikolinearitas
antar variabel independen adalah VarianceInflation Factors atau VIF (Kutner dkk.,
2004). RCommander menyediakan fasilitas untuk mengeluarkan besaran ini pada
pilihan menu Model, dan kemudian Diagnostik numerik, sehingga muncul tampilan
jendeladialogpilihansepertiberikutini.



Gambar8.7.JendeladialogpilihandarisuatuDiagnostiknumerik

Dari Gambar 8.7 dapat dilihat bahwa ada lima pilihan yang dapat dijalankan untuk
evaluasikesesuaianmodel,yaitu:
deteksimultikolinearitasdenganbesaranVIF,
deteksiheteroskedastisitasdenganUjiBreuschPagan,
deteksiautokorelasidenganUjiDurbinWatson,
deteksinonlinearitasdenganUjiRESET,dan
deteksipencilandenganUjiBonferroni.

Selain itu, RCommander juga menyediakan fasilitas grafik untuk evaluasi


kesesuaianasumsimodelregresilinear.Residualdarimodelregresimerupakanbesaran
standar yang digunakan untuk evaluasi kesesuaian asumsi model regresi. Beberapa
besaran lain yang juga banyak dipakai untuk evaluasi kesesuaian model regresi adalah
standardizedresiduals,yaitu(Kutnerdkk.,2004)
i
i =
s 1 hii

dengan s adalah akardarimeansquareerror(MSE), hii adalahdiagonaldarimatriks


hatatau H yaitu
H = X ( X T X ) 1 X T .

hii adalahbesaranyangdapatdigunakanuntukmendeteksipengaruhobservasi Yi .

138
sht90 AnalisisRegresimenggunakanRCommander


Fasilitas pada RCommander untuk evaluasi kesesuaian model regresi dengan
analisisgrafiktersediapadapilihanmenuModel,dankemudianGrafik,sehinggamuncul
tampilanjendeladialogpilihansepertiberikutini.



Gambar8.8.JendeladialogpilihanevaluasikesesuaianmodeldenganGrafik

Pilihan pada Gambar 8.8 menunjukkan bahwa ada enam grafik yang dapat dijalankan
untuk evaluasi kesesuaian model, yaitu Plot Diagnostik Dasar, QQPlot sisa, Plot
Komponen+Sisa,PlotTambahanpeubah,PlotPengaruh,danPlotEfek.
Misalkan akan diteliti hubungan antara tingkat persepsi konsumen terhadap
beberapavariabelpemasarandariprodukHBAT(variabelx6,x7,,x18)dengantingkat
kepuasan konsumen (variabel x19) melalui model regresi linear berganda. Untuk itu
jalankan kembali analisis regresi linear berganda dengan memasukkan variabel
independenx6,x7,,x18,sepertiyangterlihatpadajendeladialogdiGambar8.9.



Gambar8.9.JendeladialogpilihanuntukModelRegresiLinearBerganda

139
sht90 AnalisisRegresimenggunakanRCommander

Setelah semua isian pilihan lengkap, klik OK sehingga diperoleh output model regresi
linearbergandapadajendelakeluaransepertiberikutini.

>lm.3<lm(x19~x6+x7+x8+x9+x10+x11+x12+x13+x14
+x15+x16+x17+x18,data=hbat)

>summary(lm.3)

Call:
lm(formula=x19~x6+x7+x8+x9+x10+x11+x12+x13+
x14+x15+x16+x17+x18,data=hbat)

Residuals:
Min 1Q Median 3Q Max
-1.38704 -0.31208 0.08356 0.40652 0.91947

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.335836 1.120309 -1.192 0.23639
x6 0.377422 0.052707 7.161 2.55e-10 ***
x7 -0.456065 0.136509 -3.341 0.00124 **
x8 0.035203 0.064924 0.542 0.58907
x9 0.154286 0.103602 1.489 0.14009
x10 -0.034414 0.062829 -0.548 0.58529
x11 0.362389 0.266690 1.359 0.17775
x12 0.827376 0.101460 8.155 2.57e-12 ***
x13 -0.047465 0.048202 -0.985 0.32753
x14 -0.106968 0.125531 -0.852 0.39652
x15 -0.002939 0.039535 -0.074 0.94091
x16 0.143065 0.104519 1.369 0.17463
x17 0.237926 0.272485 0.873 0.38500
x18 -0.249168 0.514102 -0.485 0.62914

Signif.codes:0|***|0.001|**|0.01|*|0.05|.|0.1||1

Residualstandarderror:0.5663on86degreesoffreedom
MultipleRsquared:0.8039, AdjustedRsquared:0.7742
Fstatistic:27.11on13and86DF,pvalue:<2.2e16

Berdasarkanoutputini,makamodelregresilinearbergandayangdiperolehdari
datapadakasusHBATdiatasadalah(tampilanduaangkadibelakangkoma)

Y = 1,34 + 0,38 X 6 0,46 X 7 + 0,04 X 8 + K + 0,24 X 17 0,25 X 18 .

Output di atas juga menunjukkan bahwa hanya ada tiga variabel independen yang
berpengaruhsignifikanterhadapkepuasankonsumen,yaitu X 6 , X 7 ,dan X 12 .

140
sht90 AnalisisRegresimenggunakanRCommander

RCommanderjugamenyediakanfasilitasuntukevaluasisignifikansiparameter
modelregresidenganmenggunakanintervalkeyakinan.Halinidapatdilakukanmelalui
menu Model, dan pilih Interval keyakinan, sehingga diperoleh jendela dialog seperti
berikutini.



Gambar8.10.JendeladialoguntukIntervalkeyakinankoefisienmodelregresi

KlikOKsehinggadiperolehoutputmodelregresilinearbergandapadajendelakeluaran
sepertiberikutini.

>Confint(lm.3,level=.95)
2.5% 97.5%
(Intercept) 3.56293670 0.89126370
x6 0.27264462 0.48219908
x7 0.72743631 0.18469316
x8 0.09386134 0.16426636
x9 0.05166841 0.36023963
x10 0.15931399 0.09048646
x11 0.16777421 0.89255200
x12 0.62568021 1.02907262
x13 0.14328849 0.04835827
x14 0.35651558 0.14258055
x15 0.08153160 0.07565348
x16 0.06471161 0.35084127
x17 0.30375712 0.77960892
x18 1.27116865 0.77283249


Selanjutnya, evaluasi kesesuaian model akan dilakukan untuk mendeteksi


multikolinearitasantarvariabelindependen,yaitumelaluimenuModel,pilihDiagnostik
numerik,dankemudianklikFaktorInflasiVariansi(FIV)sehinggadiperolehoutputpada
jendelakeluaransepertiberikutini.

141
sht90 AnalisisRegresimenggunakanRCommander

>vif(lm.3)
x6 x7 x8 x9 x10 x11 x12
1.6716932.8225623.0474014.837740 1.547421 37.978425 3.653611

x13 x14 x15 x16 x17 x18


1.7120223.2684131.0754452.909058 33.332337 44.003758


Outputinimenjelaskanbahwavariabelindependenyangmempunyaikolinearitastinggi
adalah x11, x17, dan x18. Hal ini diindikasikan dengan nilai VIF yang besar yaitu lebih
dari10(Kutnerdkk.,2004)
Evaluasiselanjutnyaadalahanalisisgrafikuntukmelihatapakahresidualsudah
memenuhisyaratkesesuaianmodel.HalinidapatdilakukanmelaluimenuModel,pilih
Grafik,dankemudianklikPlotDiagnostikDasarsehinggadiperolehoutputgrafikseperti
padaGambar8.11berikutini.



Gambar8.11.OutputPlotDiagnostikDasaruntukevaluasikesesuaianmodel

142
sht90 AnalisisRegresimenggunakanRCommander

Output grafik di atas terdiri dari empat plot utama untuk evaluasi kesesuaian residual
model,yaitu:
Plotantarafittedvalues(nilainilaiprediksi)denganresidual,
Plotkuantilkuantilnormaldaristandardizedresiduals,
Plotantarafittedvaluesdenganakarstandardizedresiduals,dan
Plotantaraleveragedenganstandardizedresiduals.

Selainitu,RCommanderjugamemberikanfasilitasuntukevaluasiuntukdeteksi
adanya pengamatan yang berpengaruh ataupun pencilan dengan menampilkan plot
antara nilainilai hat dengan Studentized Residuals (lihat Venables dan Ripley (1997),
halaman 204205). Hal ini dapat dilakukan melalui menu Model, pilih Grafik, dan
kemudianklikPlotPengaruhsehinggadiperolehoutputgrafiksepertipadaGambar8.12
berikutini.



Gambar8.12.OutputPlotPengaruhuntukdeteksiinfluencedanpencilan

143
sht90 AnalisisRegresimenggunakanRCommander


8.4.RangkumanperintahdanlibraryyangberkaitandenganAnalisisRegresi
Berikutiniadalahrangkumanperintahdanpenjelasantentangkegunaan,serta
librarydariperintahtersebut,yangbiasanyadigunakandalamanalisisregresi.

LinearModel

Perintah Kegunaan library

Anova TabelAnovauntukmodellineardanmodellinear car


tergeneralisir(GLM)
anova Menghitungsuatutabelanalisisvariansuntuksatu stats
ataulebihmodellinearyangdiestimasi
coef Suatufungsigenericuntukmengekstrasikoefisien stats
modeldariobyekpadafungsipemodelan
coeftest Pengujiankoefisienyangdiestimasi lmtest
confint Menghitungtaksiranintervaluntuksatuataulebih stats
parameterdalammodelyangdiestimasi
deviance Mengembalikandeviancedariobjekmodelyang stats
diestimasi
effects Mengembalikanefekdarimodelyangdiestimasi stats
fitted Suatufungsigenericuntukmengekstrasinilai stats
prediksiobjekyangdiambildarifungsipemodelan
formula Memberikansuatucaramengekstrasiformula stats
yangterintegrasidenganobjeklain
linear.hypothesis Mengujihipotesiskelinearan car
lm Digunakanuntukmengestimasimodellinear. stats
Perintahinidapatdigunakanuntukregresi,analisis
varians,dananalisiskovarians
model.matrix Membuatsuatumatriksrancangan stats
predict Nilaiprediksiberdasarkanobjekmodellinear stats
residuals Suatufungsigenerikuntukmengekstrasiresidual stats
modeldariobjekpadafungsipemodelan
summary.lm Metodeuntukmeringkas(summary) stats
vcov Mengambilmatriksvarianskovariansdari stats
parameterutamaobjekmodelyangdiestimasi

144
sht90 AnalisisRegresimenggunakanRCommander

Pemilihanvariabeldalammodel

Perintah Kegunaan library

add1 Menghitungsemuaargumensingletermsyang stats


ditambahkanataudikeluarkandarimodel,
mengestimasimodeldanmenghitungtabeldari
perubahandinilaiprediksi

AIC FungsigenericuntukmenghitungAICatauAkaike stats


informationcriterionuntuksatuataubeberapa
objekmodelyangdiestimasi,berdasarkanrumus
2*loglikelihood+k*npar,dengannparadalah
jumlahparametermodel,dank=2untukAIC,atau
k=log(n)untukBICatauSBC(Schwarz'sBayesian
criterion),dengannadalahbanyaknyapengamatan.

Cpplot PlotCp faraway

drop1 Menghitungsemuaargumensingletermsyang stats


ditambahkanataudikeluarkandarimodel,
mengestimasimodeldanmenghitungtabeldari
perubahandinilaiprediksi

extractAIC Menghitung(generalized)AICuntukmodel stats


parametrikyangdiestimasi

leaps Pemilihansubsetdengan`leapsandbounds' leaps

maxadjr MaximumAdjustedRsquared faraway

offset Anoffsetisatermtobeaddedtoalinearpredictor, stats


suchasinageneralisedlinearmodel,withknown
coefficient1ratherthananestimatedcoefficient

step SelectaformulabasedmodelbyAIC stats

update.formula isusedtoupdatemodelformulae.Thistypically stats


involvesaddingordroppingterms,butupdatescan
bemoregeneral

145
sht90 AnalisisRegresimenggunakanRCommander

Cekdiagnosakesesuaianmodel

Perintah Kegunaan library

cookd Cook'sDistancesforLinearandGeneralized car


LinearModels

cooks.distance Cooksdistance stats

covratio covarianceratio stats

dfbeta DBETA stats

dfbetas DBETAS stats

dffits DFFTITS stats

hat diagonalelementsofthehatmatrix stats

hatvalues diagonalelementsofthehatmatrix stats

influence.measures Thissuiteoffunctionscanbeusedtocompute stats


someoftheregression(leaveoneoutdeletion)
diagnosticsforlinearandgeneralized
linearmodels

lm.influence Thisfunctionprovidesthebasicquantitieswhich stats


areusedinformingawidevarietyofdiagnostics
forcheckingthequalityofregressionfits

ls.diag Computesbasicstatistics,includingstandard stats


errors,tandpvaluesfortheregression
coefficients

outlier.test BonferroniOutlierTest car

rstandard standardizedresiduals stats

rstudent studentizedresiduals stats

vif VarianceInflationFactor car

146
sht90 AnalisisRegresimenggunakanRCommander

AnalisisGrafikpadamodellinear

Perintah Kegunaan library

ceres.plots CeresPlots car

cr.plots Component+Residual(PartialResidual)Plots car

influence.plot RegressionInfluencePlot car

leverage.plots RegressionLeveragePlots car

panel.car PanelFunctionCoplots car

plot.lm Fourplots(selectablebywhich)arecurrently stats


provided:aplotofresidualsagainstfittedvalues,a
ScaleLocationplotofsqrt{|residuals|}against
fittedvalues,aNormalQQplot,andaplotof
Cook'sdistancesversusrowlabels

prplot PartialResidualPlot faraway

qq.plot QuantileComparisonPlots car

qqline addsalinetoanormalquantilequantileplot stats


whichpassesthroughthefirstandthirdquartiles

qqnorm isagenericfunctionthedefaultmethodofwhich stats


producesanormalQQplotofthevaluesiny

reg.line PlotRegressionLine car

scatterplot.matrix ScatterplotMatrices car

scatterplot ScatterplotswithBoxplots car

spread.level.plot SpreadLevelPlots car

147
sht90 AnalisisRegresimenggunakanRCommander

Pengujianasumsipadamodellinear

Perintah Kegunaan library

ad.test AndersonDarlingtestfornormality nortest


bartlett.test PerformsBartlett'stestofthenullthatthe stats
variancesineachofthegroups(samples)arethe
same
bgtest BreuschGodfreyTest lmtest
bptest BreuschPaganTest lmtest
cvm.test CramervonMisestestfornormality nortest
durbin.watson DurbinWatsonTestforAutocorrelatedErrors car
dwtest DurbinWatsonTest lmtest
levene.test Levene'sTest car
lillie.test Lilliefors(KolmogorovSmirnov)testfornormality nortest
ncv.test ScoreTestforNonConstantErrorVariance car
pearson.test Pearsonchisquaretestfornormality nortest
sf.test ShapiroFranciatestfornormality nortest
shapiro.test PerformstheShapiroWilktestofnormality stats

TransformasiVariabelpadamodellinear

Perintah Kegunaan library

box.cox BoxCoxFamilyofTransformations car


boxcox BoxCoxTransformationsforLinearModels MASS
box.cox.powers MultivariateUnconditionalBoxCox car
Transformations
box.tidwell BoxTidwellTransformations car
box.cox.var ConstructedVariableforBoxCoxTransformation car

148
sht90 AnalisisRegresimenggunakanRCommander

RegresiRidge

Perintah Kegunaan library

lm.ridge RidgeRegression MASS

Regresitersegmentasi(SegmentedRegression)

Perintah Kegunaan library

segmented Segmentedrelationshipsinregressionmodels segmented

slope.segmented Summaryforslopesofsegmentedrelationships segmented

LeastSquaresTergeneralisir(GeneralizedLeastSquares)

Perintah Kegunaan library

ACF.gls AutocorrelationFunctionforglsResiduals nlme

anova.gls CompareLikelihoodsofFittedObjects nlme

gls FitLinearModelUsingGeneralizedLeastSquares nlme

intervals.gls ConfidenceIntervalsonglsParameters nlme

lm.gls fitLinearModelsbyGeneralizedLeastSquares MASS

plot.gls PlotaglsObject nlme

predict.gls PredictionsfromaglsObject nlme

qqnorm.gls NormalPlotofResidualsfromaglsObject nlme

residuals.gls ExtractglsResiduals nlme

summary.gls SummarizeaglsObject nlme

149
sht90 AnalisisRegresimenggunakanRCommander

ModelLinearTergeneralisir(GeneralizedLinearModel)

Perintah Kegunaan library

family Familyobjectsprovideaconvenientwaytospecifythe stats


detailsofthemodelsusedbyfunctionssuchasglm
glm.nb fitaNegativeBinomialGeneralizedLinearModel MASS
glm isusedtofitgeneralizedlinearmodels,specifiedby stats
givingasymbolicdescriptionofthelinearpredictorand
adescriptionoftheerrordistribution
polr ProportionalOddsLogisticRegression MASS

LeastSquaresNonlinear(NonlinearLeastSquaresatauNLS)

Perintah Kegunaan library

nlm Thisfunctioncarriesoutaminimizationofthefunction stats


fusingaNewtontypealgorithm
nls Determinethenonlinearleastsquaresestimatesofthe stats
nonlinearmodelparametersandreturnaclassnls
object
nlscontrol Allowtheusertosetsomecharacteristicsofthenls stats
nonlinearleastsquaresalgorithm
nlsModel ThisistheconstructorfornlsModelobjects,whichare stats
functionclosuresforseveralfunctionsinalist.The
closureincludesanonlinearmodelformula,datavalues
fortheformula,aswellasparametersandtheirvalues

GeneralizedNonlinearLeastSquaresatauGNLS

Perintah Kegunaan library

coef.gnls ExtractgnlsCoefficients nlme


gnls FitNonlinearModelUsingGeneralizedLeastSquares nlme
predict.gnls PredictionsfromagnlsObject nlme

150
sht90 AnalisisRegresimenggunakanRCommander

LoessRegression

Perintah Kegunaan library

loess Fitapolynomialsurfacedeterminedbyoneormore stats


numericalpredictors,usinglocalfitting
loess.control Setcontrolparametersforloessfits stats
predict.loess Predictionsfromaloessfit,optionallywithstandard stats
errors
scatter.smooth Plotandaddasmoothcurvecomputedbyloesstoa stats
scatterplot

SplinesRegression

Perintah Kegunaan library

bs BSplineBasisforPolynomialSplines splines
ns GenerateaBasisMatrixforNaturalCBSplineBasis splines
forPolynomialSplinesubicSplines
periodicSpline CreateaPeriodicInterpolationSpline splines
polySpline PiecewisePolynomialSplineRepresentation splines
predict.bSpline EvaluateaSplineatNewValuesofx splines
predict.bs EvaluateaSplineBasis splines
splineDesign DesignMatrixforBsplines splines
splineKnots KnotVectorfromaSpline splines
splineOrder DeterminetheOrderofaSpline splines

RobustRegression

Perintah Kegunaan library

lqs ResistantRegression MASS


rlm RobustFittingofLinearModels MASS

151
sht90 AnalisisRegresimenggunakanRCommander

Structuralequationmodels

Perintah Kegunaan library

sem GeneralStructuralEquationModels sem


tsls TwoStageLeastSquares sem

SimultaneousEquationEstimation

Perintah Kegunaan library

systemfit FitsasetoflinearstructuralequationsusingOrdinary systemfit


LeastSquares(OLS),WeightedLeastSquares(WLS),
SeeminglyUnrelatedRegression(SUR),TwoStage
LeastSquares(2SLS),WeightedTwoStageLeast
Squares(W2SLS)orThreeStageLeastSquares(3SLS)

PartialLeastSquaresRegression(PLSR)danPrincipalComponentRegression(PCR)

Perintah Kegunaan library

biplot.mvr BiplotsofPLSRandPCRModels pls


coefplot PlotRegressionCoefficientsofPLSRandPCRmodels pls
crossval CrossvalidationofPLSRandPCRmodels pls
cvsegments Generatesegmentsforcrossvalidation pls
kernelpls.fit KernelPLS(DayalandMacGregor) pls
msc MultiplicativeScatterCorrection pls
mvr PartialLeastSquaresandPrincipalComponents pls
Regression
mvrCv Crossvalidation pls
oscorespls.fit OrthogonalscoresPLSR pls
predplot PredictionPlots pls
scoreplot PlotsofScoresandLoadings pls

152
sht90 AnalisisRegresimenggunakanRCommander

Lanjutan:PLSRandPCR

Perintah Kegunaan library

scores ExtractScoresandLoadingsfromPLSRandPCR pls


Models

svdpc.fit PrincipalComponentsRegression pls

validationplot ValidationPlots pls

QuantileRegression

Perintah Kegunaan library

anova.rq Anovafunctionforquantileregressionfits quantreg

boot.rq BootstrappingQuantileRegression quantreg

lprq locallypolynomialquantileregression quantreg

nlrq Functiontocomputenonlinearquantileregression quantreg


estimates

qss AdditiveNonparametricTermsforrqssFitting quantreg

ranks QuantileRegressionRanks quantreg

rq QuantileRegression quantreg

rqss AdditiveQuantileRegressionSmoothing quantreg

rrs.test QuantileRegressionRankscoreTest quantreg

standardize Functiontostandardizethequantileregression quantreg


process

153
sht90 AnalisisRegresimenggunakanRCommander

Linearandnonlinearmixedeffectsmodels

Perintah Kegunaan library

ACF AutocorrelationFunction nlme

ACF.lme AutocorrelationFunctionforlmeResiduals nlme

anova.lme CompareLikelihoodsofFittedObjects nlme

fitted.lme ExtractlmeFittedValues nlme

fixed.effects ExtractlmeFittedValues nlme

intervals ConfidenceIntervalsonCoefficients nlme

intervals.lme ConfidenceIntervalsonlmeParameters nlme

lme LinearMixedEffectsModels nlme

nlme NonlinearMixedEffectsModels nlme

predict.lme PredictionsfromanlmeObject nlme

predict.nlme PredictionsfromannlmeObject nlme

qqnorm.lme NormalPlotofResidualsorRandomEffectsfroman nlme


lmeobject

random.effects ExtractRandomEffects nlme

ranef.lme ExtractlmeRandomEffects nlme

residuals.lme ExtractlmeResiduals nlme

simulate.lme Simulatelmemodels nlme

summary.lme SummarizeanlmeObject nlme

glmmPQL FitGeneralizedLinearMixedModelsviaPQL MASS

154
sht90 AnalisisRegresimenggunakanRCommander

GeneralizedAdditiveModel(GAM)

Perintah Kegunaan library

anova.gam Comparethefitsofanumberofgammodels gam


gam.control Controlparametersforfittinggammodels gam
gam Fitageneralizedadditivemodel gam
na.gam.replace Amissingvaluemethodthatishelpfulwithgams gam
plot.gam Aninteractiveplottingfunctionforgams gam
predict.gam Makepredictionsfromagamobject gam
preplot.gam extractsthecomponentsfromagaminaplotready gam
form
step.gam stepwisemodelsearchwithgam gam
summary.gam summarymethodforgam gam

SurvivalAnalysis

Perintah Kegunaan library

anova.survreg ANOVAtablesforsurvregobjects survival


clogit Conditionallogisticregression survival
cox.zph TesttheproportionalhazardsassumptionofaCox survival
regression
coxph ProportionalHazardsRegression survival
oxph.detail Detailsofacoxmodelfit survival
coxph.rvar RobustvarianceforaCoxmodel survival
ridge Ridgeregression survival
survdiff TestSurvivalCurveDifferences survival
survexp ComputeExpectedSurvival survival
survfit ComputeasurvivalCurveforCensoredData survival
survreg Regressionforaparametricsurvivalmodel survival

155
sht90 AnalisisRegresimenggunakanRCommander

ClassificationandRegressionTrees

Perintah Kegunaan library

cv.tree CrossvalidationforChoosingtreeComplexity tree


deviance.tree ExtractDeviancefromatreeObject tree
labels.rpart CreateSplitLabelsForanrpartObject rpart

meanvar.rpart MeanVariancePlotforanrpartObject rpart


misclass.tree MisclassificationsbyaClassificationtree tree
na.rpart HandlesMissingValuesinanrpartObject rpart
partition.tree PlotthePartitionsofasimpleTreeModel tree
path.rpart FollowPathstoSelectedNodesofanrpartObject rpart
plotcp PlotaComplexityParameterTableforanrpartFit rpart
printcp DisplaysCPtableforFittedrpartObject rpart
prune.misclass CostcomplexityPruningofTreebyerrorrate tree

prune.rpart CostcomplexityPruningofanrpartObject rpart


prune.tree CostcomplexityPruningoftreeObject tree
rpart RecursivePartitioningandRegressionTrees rpart
rpconvert Updateanrpartobject rpart
rsq.rpart PlotstheApproximateRSquarefortheDifferent rpart
Splits
snip.rpart SnipSubtreesofanrpartObject rpart
solder SolderingofComponentsonPrintedCircuitBoards rpart
text.tree AnnotateaTreePlot tree
tile.tree AddClassBarplotstoaClassificationTreePlo tree

tree.control SelectParametersforTree tree


tree.screens SplitScreenforPlottingTrees tree

tree FitaClassificationorRegressionTree tree

156
sht90 AnalisisRegresimenggunakanRCommander

Betaregression

Perintah Kegunaan library

betareg Fittingbetaregressionmodels betareg


plot.betareg PlotDiagnosticsforabetaregObject betareg
predict.betareg Predictedvaluesfrombetaregressionmodel betareg
residuals.betareg Residualsfunctionforbetaregressionmodels betareg
summary.betareg SummarymethodforBetaRegression betareg

157
sht90 GeneralizedLinearModelmenggunakanR

BAB9
GENERALIZEDLINEARMODELMENGGUNAKANR

Model Linier Tergeneralisir atau Generalized Linear Model (GLM) merupakan
pengembangan dari model linear yang mengakomodir dua hal utama, yaitu distribusi
responyangnonnormaldantransformasiuntuklinearitas.Referensiyangkomprehensif
tentang GLM dapat dilihat di McCullagh dan Nelder (1989). Pada bab ini akan dibahas
pengantarteoriModelLinearTergeneralisir(GLM)dancontohsuatukasusGLMdengan
menggunakanRCommander.

9.1.PengantarTeoriModelLinearTergeneralisir
Suatu Model Linear Tergeneralisir dapat dideskripsikan oleh asumsiasumsi
berikutini:

Ada suatu respon, y , teramati secara independen pada nilainilai yang tetap dari
variabelvariabelstimulus x1 , x 2 , K , x p .

Variabelvariabel stimulus hanya mempengaruhi distribusi dari y melalui suatu


fungsilineartunggalyangdisebutdenganprediktorlinear = 1 x1 + K + p x p .

Distribusidari y mempunyaifungsikepadatandalambentuk

f ( y i ; i , ) = exp[ Ai { y i i ( i )} / + ( y i , / Ai )]

dengan adalahsuatuparameterskala(scale parameter), Ai adalahsuatubobot


awalyangdiketahui,danparameter i tergantungpadaprediktorlinear.

Ratarata atau mean, , adalah suatu fungsi invertibel yang halus dari prediktor
linear,yaitu

= m( ) ,dan = m 1 ( ) = l ( ) .

Fungsiinvers, l ( ) ,disebutdengansuatufungsilinkataulinkfunction.

Jika telah diketahui, maka distribusi dari y akan menjadi distribusi suatu keluarga
eksponensialkanoniksatuparameter.

GLMmembolehkan suatu perlakuanmetodologistatistik untuk beberapakelas


penting dari modelmodel. Berikut ini adalah beberapa contoh penjabaran untuk
beberapadistribusiyangtermasukdalamkeluargaGLM.

158
sht90 GeneralizedLinearModelmenggunakanR


o GaussianatauDistribusiNormal
UntukDistribusiNormalmaka = 2 dandapatditulis

1
log f ( y ) = { y 12 2 12 y 2 } 12 log(2 ) ,

2
sehingga = dan ( ) = .
2

o DistribusiPoisson
UntukDistribusiPoissondenganmean diperoleh

log f ( y ) = y log log( y! ) ,

sehingga = log , = 1 dan ( ) = = e .


o DistribusiBinomial
Untuk Distribusi Binomial jumlah percobaan a dan parameter p , maka respon
menjadi y = s / a dengan s adalahjumlahsukses.Fungsikepadatannyaadalah

p a
log f ( y ) = a y log + log(1 p ) + log ,
1 p ay

sehingga Ai = a i , = 1 , adalahtransformasilogitdari p ,dan


( ) = log(1 p) = log(1 + e ) .

Keluarga GLM yang disediakan dalam RCommander dengan fungsi glm mencakup
distribusi gaussian, binomial, poisson, Gamma, inverse.gaussian, quasibinomial, dan
quasipoisson.
Masingmasing distribusi dari respon memberikan suatu jenis fungsi link yang
menghubungkan ratarata atau mean dengan suatu prediktor linear. Fungsifungsi
tersebut secara lengkap dapat dilihat pada Tabel 9.1 dengan D adalah notasi untuk
default di R. Kombinasi dari distribusi respon dan fungsi link disebut dengan keluarga
darisuatuGLM.
Untuk n pengamatan dari suatu GLM, fungsi loglikelihood yang dibentuk
adalah
log f ( , ; Y ) = [ Ai { y i i ( i )} / + ( y i , / Ai )]
i

danmempunyaifungsiskoratauscorefunctionuntuk yaitu

U ( ) = Ai { y i ( i )} / .

159
sht90 GeneralizedLinearModelmenggunakanR

Darisinidapatditunjukkanbahwa(secaralengkaplihatMcCullaghdanNelder(1989))

E ( y i ) = i = ( i ) dan var( y i ) = ( i ) .
Ai

Tabel9.1.KeluargaGLMdanfungsilinkyangbersesuaian


NamaKeluarga

Link inverse.
binomial Gamma gaussian poisson
gaussian
logit D
Probit
cloglog
identity D
inverse D
log D
1/mu^2 D
sqrt


Fungsi yang didefinisikan dengan V ( ) = ( ( )) disebut dengan suatu fungsi
variansatauvariancefunction.Untuksetiapdistribusirespon,fungsilink l = ( ) 1 untuk
disebutdengansuatulinkkanonikataucanonicallink.Tabel9.2berikutiniadalah
daftarfungsicanonicallinkdanfungsivariansdariKeluargaGLM.

Tabel9.2.FungsicanonicallinkdanfungsivariansdariKeluargaGLM

Keluarga Canonicallink Nama Varians Nama

binomial log( /(1 )) logit /(1 ) mu(1mu)


Gamma 1/ invers 2 mu^2
gaussian identitas 1 konstanta
Inverse.gaussian 2/ 2 1/mu^2 3 mu^3
poisson log log mu

160
sht90 GeneralizedLinearModelmenggunakanR


9.2.ContohKasusModelLinearTergeneralisirdenganRCommander
RCommander menyediakan fasilitas untuk analisis ModelLinier Tergeneralisir
melalui menu Statistika, pilih Pencocokan Model, dan setelah itu pilih Model Linier
Tergeneralisir. Secara umum, Model Linier Tergeneralisir digunakan untuk analisis
model pada data variabel respon (dependen) yang mengikuti distribusi keluarga
eksponensial. Ada beberapa keluarga distribusi yang tersedia di RCommander, yaitu
gaussian, binomial, poisson, Gamma, inverse.gaussian, quasibinomial, dan quasi
poisson.Padabagianinihanyadijelaskanpadakasuskeluargadistribusibinomialyaitu
variabelresponyangmempunyaiduakategori, sehinggamodelyangdiperolehdikenal
denganmodelregresilogisitik.
Misalkan akan diteliti hubungan antara tipe konsumen berdasarkan lamanya
menjadi konsumen (variabel X1) dan tingkat persepsi konsumen terhadap kualitas
produkHBAT(variabelX6)terhadapkemauankonsumenuntukmembangunhubungan
dengan perusahaan di masa yang akan datang (variabel X23, yang jawabannya adalah
YA dan TIDAK). Untuk keperluan analisis regresi logistik ini, pilih menu Statistika, pilih
Pencocokan Model, dan kemudian pilih Model Linier Tergeneralisir, sehingga
diperolehjendeladialogsepertiberikut.



Gambar9.1.JendeladialoguntukanalisisModelLinierTergeneralisir


161
sht90 GeneralizedLinearModelmenggunakanR


Untuk penyelesaian contoh kasus ini, ketik nama objek output model linear
tergeneralisir (GLM) yang akan diestimasi (misal GLM.1). Hal ini berarti output hasil
estimasi GLM disimpan sebagai objek dengan nama GLM.1. Kemudian pilih X23
(kemauan untuk membangun hubungan di masa datang) pada sebelah kiri jendela
Formula Model: (variabel dependen), dan pilih X1 + X6 (jenis konsumen dan tingkat
persepsi konsumen terhadap kualitas produk HBAT) pada jendela kanan dari Formula
Model(variabelindependen).KlikduakalipadapilihanbinomialdijendelaFamili,dan
pilih Fungsi hubungan (link)yang sesuai,yaitu logitpada kasus regresi logistikini.Klik
OKsehinggadiperolehoutputregresilogistriksepertiberikutini.



>GLM.1<glm(X23~X1+X6,family=binomial(logit),data=hbat)

>summary(GLM.1)

Call:
glm(formula=X23~X1+X6,family=binomial(logit),data=hbat)

DevianceResiduals:
Min1QMedian3QMax
1.65660.60710.31650.85802.2036

Coefficients:
EstimateStd.ErrorzvaluePr(>|z|)
(Intercept)4.65461.80362.5810.009858**
X1[T.1to5years]2.99940.81113.6980.000217***
X1[T.Over5years]3.03770.91103.3350.000854***
X60.26970.22451.2010.229733

Signif.codes:0***0.001**0.01*0.05.0.11

(Dispersionparameterforbinomialfamilytakentobe1)

Nulldeviance:137.63on99degreesoffreedom
Residualdeviance:101.78on96degreesoffreedom
AIC:109.78

NumberofFisherScoringiterations:5


>trellis.device(theme="col.whitebg")

>plot(all.effects(GLM.1),ask=FALSE)


162
sht90 GeneralizedLinearModelmenggunakanR


Output di atas menunjukkan bahwa jenis (lama menjadi) konsumen HBAT
berpengaruh signifikan terhadap kemauan konsumen untuk membangun hubungan di
masa yang akan datang, sedangkan persepsi terhadap kualitas produk tidak ber
pengaruh terhadap kemauan untuk membangun hubungan di masa datang. Hal ini
ditunjukkan oleh besarnya pvalue dari uji Z pada kedua variabel dummy untuk X1
tersebut yang lebih kecil dari =0.05. Sedangkan pvalue dari uji Z untuk variabel X6
lebihbesardari=0.05.Tandakoefisienregresilogistikyangpositifpadakeduavariabel
dummytersebutmenjelaskanbahwakonsumenlama(15tahundanlebihdari5tahun)
cenderung di masa datang mempunyai peluang yang lebih tinggi untuk membangun
hubungankembalidenganperusahaandibandingkonsumenbaru(kurangdari1tahun).
Secara matematis,model regresi logistikyang diperolehberdasarkan outputdi
atasadalah
1
( x) = ,
[ 4,6546+ 2,9994 X 11 + 3,0377 X 12 + 0, 2697 X 6]
1+ e

atau
( x)
log = 4,6546 + 2,9994 X 11 + 3,0377 X 12 + 0,2697 X 6 ,
1 ( x)

dengan X 11 dan X 12 adalahvariabeldummy,yaitu


X 11 bernilai1untukkonsumen15tahun,danNOLuntukkonsumenyanglain,
X 12 bernilai1untukkonsumenlebihdari5tahun,danNOLuntukkonsumen
yanglain.

OddsRatioadalahbesaranyangbiasanyadigunakandalammenginterpretasikan
hasil suatu model regresi logistik. Secara lengkap bagaimana perhitungan Odds Ratio
daninterpretasinyadapatdilihatdibukuHosmerdanLemeshow(1989,hal.4047)yang
berjudulAppliedLogisticRegression.
Seperti pada bagian sebelumnya, RCommander juga menyediakan fasilitas
diagnostik numerik dan analisis grafik untuk evaluasi kebaikan model GLM yang telah
diperoleh.Misalkan ingin ditampilkan intervalkeyakinanuntukkoefisien modelregresi
logistik.HalinidapatdilakukandengancaramemilihModel,dankemudianklikInterval
keyakinan, sehingga munculdialogpilihan seperti padaGambar9.2.Ada dua pilihan
tes yang dapat ditampilkan interval keyakinannya sesuai dengan level keyakinan yang
diinginkan,yaitu
StatistikaRasiolikelihood,dan
StatistikWald.
MisalkanakanditampilkanintervalkeyakinandariStatistikWald,makaklikpilihanpada
StatistikWald,dankemudianklikOK.

163
sht90 GeneralizedLinearModelmenggunakanR



Gambar9.2.JendeladialogIntervalkeyakinanpadaGLMdistribusibinomial

Output interval keyakinan dari Statistik Wald akan terlihat di jendela keluaran
sepertiberikutini.


>Confint(GLM.1,level=.95,type="Wald")
2.5% 97.5%
(Intercept) 8.189528 1.1196538
X1[T.1to5years] 1.409792 4.5890841
X1[T.Over5years] 1.252199 4.8231276
X6 0.170395 0.7097233



DarioutputintervalkeyakinantersebutdapatdijelaskanbahwavariabelX1mempunyai
pengaruh yang signifikan terhadap variabel respon, sedangkan variabel X6 tidak
berpengaruh terhadap variabel respon. Hal ini ditunjukkan dengan interval keyakinan
koefisiendariX1yangtidakmencakupnilaiNOLpadabatasbawahdanatasnya.
Pada analisis grafik, ada beberapa pilihan grafik yang dapat ditampilkan untuk
mengevaluasi kebaikan model GLM. Seperti pada model linear, beberapa grafik yang
dapatditampilkan adalah PlotDiagnostikDasar,PlotKomponen+Sisa,Plot Tambahan
peubah, Plot Pengaruh, dan Plot Efek. Pada RCommander, plotplot tersebut dapat
dijalankan melalui menu Model, pilih Grafik, dan setelah itu pilih menu analisis grafik
yangdiinginkan.JikapilihangrafikyangdiinginkanadalahPlotDiagnostikDasar,maka
akan diperoleh output grafik yang terdiri dari empat macam plot seperti yang terlihat
pada Gambar 9.3. Sebagai tambahan, jika pilihan grafik yang dipilih adalah Plot Efek,
maka akan diperoleh output grafik yang terdiri dari dua macam plot seperti pada
Gambar9.4.

164
sht90 GeneralizedLinearModelmenggunakanR



Gambar9.3.HasilPlotDiagnostikDasardarisuatuGLM



Gambar9.4.PlotEfekpadamasingmasingvariabelindependendariGLM

165
sht90 GrafikMenggunakanRCLI

BAB10
GRAFIKMENGGUNAKANRCLI

Secara garis besar ada dua cara untuk membuat grafik dalam R, yaitu dengan
menggunakan RGUI (lihat Bab 4) dan RCLI. Pada bagian ini akan diberikan beberapa
contoh pembuatan grafik dengan menggunakan RCLI. Aktifkan jendela grafik terlebih
dahulusebelummembuatsuatugrafik.Jikausermemanggilsuatuperintahpembuatan
grafik,makaRsecaraotomatisakanmengaktifkansatujendelagrafik.Semuagrafikyang
dibuatakandiplotpadajendelagrafikini.

Jikauseringinmengaktifkanlebihdarisatujendelagrafikdalamsistemoperasi
windows,userdapatmengaktifkanjendelagrafikbarudenganperintah
>win.graph()
atau
>windows()

Untukmenutupjendelagrafikterakhiryangsedangaktif,gunakanperintah
>graphics.off()
atau
>dev.off()

SecaraumumperintahuntukpembuatangrafikdidalamRdapatdikelompokkan
menjadi3kelompokutama,yaitu

1.Fungsifungsiplotutamaatauhighlevelplottingcommands
Fungsidalamkelompokinidapatdigunakanuntukmembuatsuatuplotbarupada
jendelagrafik.Beberapafungsitersebutadalahplot,qqplot,hist,image,contour,
persp.

2.Fungsifungsiplottambahanataulowlevelplottingcommands
Fungsidikelompokinidapatdigunakanuntukmenambahkaninformasitambahan
kedalam suatu grafik yang telah dibuat dengan fungsifungsi plot utama diatas.
Fungsifungsitambahaninidapatdigunakanuntukmenambahkantitiktitikbaru,
garisgaris atau keteranganketerangan kedalam grafik. Beberapa fungsi yang
termasukkelompokiniadalahpoints,lines,text,abline,legend,title.

3.Fungsifungsiyangbersifatinteraktifatauinteractivegraphicsfunctions
Fungsi dalam kelompok ini memungkinkan user untuk menambahkan informasi
atau mengambil informasi dari suatu plot yang telah ada menggunakan alat
sepertimouse.Beberapafungsitersebutadalahlocator,identify.

166
sht90 GrafikMenggunakanRCLI


Paket R memiliki beberapa library yang berkaitan dengan pembuatan grafik.
Padababinipembahasanhanyadifokuskanpadabeberapaperintahyangberhubungan
dengan pembuatan grafik pada library standar yaitu graphics. Ada banyak library lain
yang dapat digunakan untuk pembuatan grafik, antara lain aplpack, chplot, corrgram,
gplot,grid,iplots,lattice,playwith,plotrix,rgl,Rgraphviz,Rgobi,danlainlain.
Daftar dari perintah yang tersedia pada library standar R dapat dilihat dengan
cara melihat nomor direktori dari library yang ada dalam sistem. Gunakan perintah
search()untukmengetahuinomordirektoritersebut(lihathasilberikutini).


>search()
[1]".GlobalEnv""package:stats""package:graphics"
[4]"package:grDevices""package:utils""package:datasets"
[7]"package:methods""Autoloads""package:base"



Dari keluaran tersebut dapat dilihat bahwa library graphics sebagai objects berada
diurutanketiga dalamdirektorisearchdariR.Kemudianuntuk melihatdaftarperintah
dalam library graphics dapat digunakan perintah objects diikuti nomer urutan objek
tersebut. Berikut adalah perintahperintah yang ada dalam library graphics dengan
menggunakanperintahobjects(3).


>objects(3)
[1] "abline" "arrows" "assocplot" "axis"
[5] "Axis" "axis.Date" "axis.POSIXct" "axTicks"
[9] "barplot" "barplot.default" "box" "boxplot"
[13] "boxplot.default" "bxp" "cdplot" "close.screen"
[17] "co.intervals" "contour" "contour.default" "coplot"
[21] "curve" "dotchart" "erase.screen" "filled.contour"
[25] "fourfoldplot" "frame" "grid" "hist"
[29] "hist.default" "identify" "image" "image.default"
[33] "layout" "layout.show" "lcm" "legend"
[37] "lines" "lines.default" "locator" "matlines"
[41] "matplot" "matpoints" "mosaicplot" "mtext"
[45] "pairs" "pairs.default" "panel.smooth" "par"
[49] "persp" "pie" "piechart" "plot"
[53] "plot.default" "plot.design" "plot.new" "plot.window"
[57] "plot.xy" "points" "points.default" "polygon"
[61] "rect" "rug" "screen" "segments"
[65] "spineplot" "split.screen" "stars" "stem"
[69] "strheight" "stripchart" "strwidth" "sunflowerplot"
[73] "symbols" "text" "text.default" "title"
[77] "xinch" "xspline" "xyinch" "yinch"

167
sht90 GrafikMenggunakanRCLI


Pada bagian berikut ini akan dibahas penggunaan perintahperintah dalam
librarygraphicsdiatasberdasarkanjeniskelompokperintahtersebut.

10.1.FungsifungsiPlotUtama
Seperti yang dijelaskan sebelumnya, fungsifungsi plot utama dapat digunakan
untuk membuat suatu plot baru dalam suatu jendela grafik. Jika jendela grafik yang
sedang aktif telah berisi suatu grafik/plot, maka dengan perintahperintah grafik tipe
plot utama ini mengakibatkan R akan menghapus grafik/plot yang telah ada tersebut.
Berikutiniadalahpenjelasanbeberapafungsiyangtermasukdalamtipeplotutamaini.

10.1.1.Perintahplot()
Perintahplot()digunakanuntukmenampilkanplotdarisuatudata.Padapaket
R,perintahplotinidapatmembuatplot/grafikyangbersesuaiandengantipedaridata.
Berikutiniadalahbeberapacontohpenggunaanplotpadaberbagaitipedata.

Membuatdiagrampencaratauscatterplotdaridataxdany
Perintahplot(x,y)dapatdigunakanuntukmembuatdiagrampencardaridatax
dan y. Perhatikan contoh data harga jual (X dalam ribu rupiah) dan volume penjualan
atausales(Ydalamjutarupiah)mingguansuatuprodukpadatabelberikutini.

Tabel10.1.Datahargadansalesselama10minggupengamatan

Mingguke 1 2 3 4 5 6 7 8 9 10
X(harga) 1.3 2 1.7 1.5 1.6 1.2 1.6 1.4 1 1.1

Y(sales) 10 6 5 12 10 15 5 12 17 20

Untuk membuat diagram pencar dari data harga dan sales tersebut, dapat digunakan
scriptRberikutini.

>harga=c(1.3,2,1.7,1.5,1.6,1.2,1.6,1.4,1,1.1)
>sales=c(10,6,5,12,10,15,5,12,17,20)
>plot(harga,sales)

GrafikkeluarandariperintahiniadalahdiagrampencarsepertipadaGambar10.1.

168
sht90 GrafikMenggunakanRCLI



Gambar10.1.Outputdiagrampencardenganperintahplot(x,y)

Berdasarkandiagrampencardiatasdapatdijelaskanbahwaadahubunganlinearnegatif
yangcukupkuatantarahargadansales.Haliniberartijikaterjadikenaikanhargapada
produkadakecenderunganpenjualanakanmengalamipenurunan,dansebaliknya.

Membuatplotmenurutindeksatauurutanwaktu(TimeSeriesPlot)
Perintahplot(x)dapatjugadigunakanuntukmembuatplotdaridataxmenurut
indeks. Pada data yang bertipe runtun waktu (time series), perintah plot(x) akan
menghasilkan plot dari x menurut urutan waktu atau dikenal dengan Time Series Plot.
Perhatikan contoh pemakaian plot(x) pada data sales (dalam juta rupiah) mingguan
suatuprodukdiTabel10.1berikutini.

>plot(sales)
>win.graph()#membukajendelagrafikbaruuntukplotdata
>y=ts(sales)
>plot(y)

169
sht90 GrafikMenggunakanRCLI

GrafikkeluarandariperintahplotdiatasdapatdilihatpadaGambar10.2.Darigambarini
dapat dijelaskan bahwa plot(x) menghasilkan Time Series Plot jika data bertipe runtun
waktu(lihatgambarb).


(a) (b)

Gambar10.2.Outputplotmenurutindeksdenganperintahplot(x)

Membuatplotdaridatabertipefaktor
Pada Bab 7 sebelumnya diberikan contoh data HBAT yang mengandung data
bertipe faktor. Untuk ilustrasi penggunaan perintah plot(x) pada data bertipe faktor,
aktifkan kembali data HBAT yang sudah tersimpan di direktori C:\Kerja_R dalam file R
dengannamahbat.RData.SalahsatuvariabelyangbertipefaktoradalahX1,yaitutipe
konsumenberdasarkanlamanyamenjadikonsumenHBAT.Perhatikanperintahperintah
berikutuntukmemanggildatadanmembuatplotpadavariabelX1.

>load("C:\\Kerja_R\\hbat.RData")
>summary(hbat$X1)
Lessthan1year1to5yearsOver5years
323533

>plot(hbat$X1)

Grafik keluaran dari perintah plot untuk variabel X1 diatas dapat dilihat pada Gambar
10.3berikutini.

170
sht90 GrafikMenggunakanRCLI



Gambar10.3.Outputperintahplot(x)padadatabertipefaktor

BerdasarkangrafikpadaGambar10.3dapatdijelaskanbahwajumlahkonsumendengan
lamamenjadikonsumen15tahunadalahkelompokterbanyakdari100konsumenyang
menjadisampel,yaitu35konsumen.
Selain itu, perintah plot() juga dapat digunakan untuk membuat boxplot dari
suatuvariabelyangbersifatmetrikberdasarkansuatuvariabelnonmetrik(faktor).Misal
kan akan dibuat boxplot tingkat kepuasan konsumen (X19) berdasarkan lama menjadi
konsumenHBAT(X1).Perhatikanperintahdanhasildariperintahberikutini.

>numSummary(hbat[,"X19"],groups=hbat$X1,statistics=c("mean","sd","quantile"))
mean sd 0% 25% 50% 75% 100% n
Less than 1 year 5.725000 0.7603055 4.7 5.35 5.45 6.10 8.4 32
1 to 5 years 7.314286 0.6983775 6.1 6.70 7.30 7.75 9.0 35
Over 5 years 7.654545 1.0779294 5.5 7.10 7.60 8.60 9.9 33

>plot(hbat$X19~hbat$X1)

171
sht90 GrafikMenggunakanRCLI


Gambar10.4.Outputperintahplot(x)padadatametrik(X19)berdasarkan
datayangbertipefaktor(X1)

10.1.2.Perintahqqnorm(x),qqline(x),qqplot(x,y)
Perintahperintah ini digunakan untuk membuat dan menampilkan Quantile
Quantile Plots atau dikenal dengan QQ plot. Plot ini dapat digunakan untuk menguji
apakahsekumpulandataberasaldarisuatudistribusitertentu,atauapakahduasampel
datamemilikidistribusiyangidentik(sama).Perintahqqnormdigunakanuntukmenguji
apakah suatu data mengikuti Distribusi Normal, sedangkan perintah qqplot dapat di
gunakan untuk membuat perbandingan dengan distribusi yang lain. Bersama dengan
perintah qqnorm, perintah fungsi plot tambahan qqline dapat digunakan untuk me
nambahkangarisdarikuantilpertamakekuantilketigadalamplotqqnorm.Datadapat
dikatakan berasal dari distribusi yang bersifat heavier tail dibandingkan dengan
Distribusi normal jika plot qqnorm memiliki bentuk turun (dibawah garis) pada bagian
kiridannaik(diatasgaris)padabagiankanan.
Berikut ini adalah contoh ilustrasi penggunaan qqnorm untuk uji kecocokan
terhadapDistribusiNormalpada suatuvariabeldi dataHBAT,dancontohpenggunaan
qqplotuntukperbandingandistribusipadasuatudatasimulasi.

172
sht90 GrafikMenggunakanRCLI


UjikecocokanterhadapDistribusiNormal
Untukilustrasipenggunaanperintahqqnormpadasuatudata,gunakanvariabel
X6 (tingkat persepsi konsumen terhadap kualitas produk) pada data HBAT diatas.
PerhatikanperintahperintahberikutuntukmembuatplotKuantilKuantilNormalpada
variabelX6.


>qqnorm(hbat$X6)#perintahuntukmembuatKuantilKuantilNormal
>qqline(hbat$X6,col=2)#kuantilteoritis



HasildariperintahqqnormdanqqlinepadadataX6diatasdapatdilihatpadaGambar
10.5.Darigambartersebutdapatdijelaskanbahwasecaravisualdatatidakberdistribusi
Normal, karena terdapat sejumlah data dibagian kuantil atas dan bawah yang terletak
diluargarislurus.



Gambar10.5.OutputperintahqqnormdanqqlinepadadataX6

173
sht90 GrafikMenggunakanRCLI

UjikecocokanterhadapDistribusiStatistiktertentu
Pada bagian ini akan diberikan ilustrasi penggunaan perintah qqplot untuk uji
kecocokanterhadapdistribusitertentupadasuatudatasampel.Misalkansajadiketahui
suatu data y yang dibangkitkan secara random (mengikuti distribusi t dengan df=4).
Secara umum akan diperoleh data yang bersifat heavy tail karena dibangkitkan pada
nilai df yang kecil. Perintah simulasi dan pengujian kenormalan data adalah sebagai
berikut.


>y=rt(100,df=4)
>qqnorm(y)#perintahuntukmembuatKuantilKuantilNormal
>qqline(y,col=2)#kuantilteoritis


Berikutadalahoutputdariperintahqqnormdanqqlinediatas.



Gambar10.6.Outputperintahqqnormdanqqlinepadadatay

174
sht90 GrafikMenggunakanRCLI


Hasildariperintahqqnormdanqqlinepadadataydiatasmenunjukkanbahwa
data tidak berdistribusi Normal. Selanjutnya data akan dicoba bandingkan dengan
distribusitdengandfyangkecil.Untukitu,bangkitkansampeldatalaindaridistribusit
dengan df 4. Berikut perintah pembangkitan data dan qqplot untuk perbandingan
distribusi.


>Qteori=rt(200,df=4)
>qqplot(Qteori,y)#distribusiteoritispembandingsebagaix,datasebagaiy


Output dari perintah diatas dapat dilihat pada Gambar 10.7. Dari gambar ini terlihat
bahwa data secara visual relatif dalam garis lurus, sehingga distribusi t dengan df=4
relatifcukupbaikuntukmemodelkandatasimulasiydiatas.


Gambar10.7.OutputperintahqqplotpadadataydanQteori

Sebagai catatan, karena sifat dari pengujian secara grafik yang cenderung subyektif,
maka kesimpulan yang diperoleh harus dikonfirmasi dengan menggunakan uji statistik
yangsesuai.

175
sht90 GrafikMenggunakanRCLI

10.1.3.Perintahhist(x)
Perintahhistdigunakanuntukmembuatplothistogramdarisuatudatatertentu.
PerhitunganbanyaknyakelasintervalsecaradefaultdiRmenggunakanmetodeSturges.
Untuk pilihan lain yang tersedia berkaitan dengan pembuatan histogram dapat dilihat
padahelpperintahhist.Misalkanakandibuathistogramdarivariabeltingkatkepuasan
konsumenHBATatauvariabelX19.Berikutiniadalahperintahperintahuntukpembuat
anhistogrampadaX19.


>hist(hbat$X19)
>hist(hbat$X19,breaks=20)
>hist(hbat$X19,breaks=20,col="green",border="pink")

>#Perhatikanperbedaanoutputhistogramyangditampilkan


Berikut ini adalah output histogram pada perintah hist yang terakhir, yaitu yang
melibatkanargumenbanyaknyakelasintervalbesertawarnahistogramnya.



Gambar10.8.OutputperintahhistpadavariabelX19datahbat

176
sht90 GrafikMenggunakanRCLI

10.1.4.Perintahimage(x,y,z,),contour(x,y,z,),persp(x,y,z,)
Perintah persp adalah perintah yang digunakan untuk membuat plot tiga
dimensi. Sedangkan perintah image dan contour digunakan untuk membuat plot
proyeksiduadimensidaridatatersebut.Untukilustrasipenggunaanketigaperintahdan
outputnya,perhatikanscriptberikutini.


>y=seq(20,20,0.5)#bilanganantara20dan20denganjarak0.5
>x=seq(20,20,0.5)
>z=outer(x^2,y^2,"*")#z=x^2+y^2untuksemuaelemenxdany
>persp(x,y,z)#plotdimensitigadarix,y,danzdengansudutdefault
>persp(x,y,z,theta=30,phi=30,col="green")#sudutdanwarnabeda

>#Perhatikanperbedaanoutputplottigadimensiyangditampilkan

>image(x,y,z)
>contour(x,y,z)

Berikutiniadalahoutputdariperintahperspdantambahanargumenargumendiatas.


Gambar10.9.Outputperintahpersppadadatasimulasi

177
sht90 GrafikMenggunakanRCLI

10.1.5.Argumenargumenuntukfungsiplotutama
Secaralengkapargumenargumenuntukfungsiplotutamadapatdilihatdengan
perintahhelp(plot).Berikutiniadalahbeberapaargumendankegunaannyapadafungsi
plot.
add=TRUE
Argumen add=TRUE dapat digunakan untuk melakukan setting agar plot yang
dibuat ditambahkan kedalam plot yang telah ada, yaitu fungsi plot utama.
Sehingga plot yang dibuat bersifat seperti fungsi plot tambahan. Perintah ini
hanyadapatdigunakanuntukbeberapafungsiplot utama.Defaultnilaidari add
adalahadd=FALSE.

axes=FALSE
Argumen axes=FALSE dapat digunakan untuk melakukan setting agar axes dari
suatuplottidak ditampilkan.Hal ini berguna apabilauserakanmembuatsetting
sendiriterhadaptampilandariaxispadaplotdenganperintahaxis().Defaultnilai
dariaxesadalahaxes=TRUE,yaituaxisakanditampilkanpadaplot.

log=x,log=y,log=xy
Argumen ini bertujuan untuk merubah satuan dari sumbu x, y atau keduanya
menjadiberskalalog.

type=
Argumen ini bertujuan untuk menentukan tipe dari plot yang dibuat. Berikut ini
adalahbeberapapilihantipeyangtersedia.(Catatan:contohpenggunaanadalah
type=luntukmembuatplotgarisataulines)

xlab=string,ylab=string,main=string,sub=string
Argumen ini bertujuan untuk memberi keterangan dari axis x, y, dan judul dari
grafik.Argumensubberfungsiuntukmenampilkansubjudul,biasanyadiletakkan
dibawahaxisx.

178
sht90 GrafikMenggunakanRCLI

10.2.FungsifungsiPlotTambahan
Ada beberapa macam fungsi plot tambahan atau low level graphics function
yang dapat digunakan untuk memperbaiki tampilan atau menambahkan sejumlah
keterangandalamplotyangtelahdibuatdenganfungsigrafikutama.Berikutiniadalah
adalahpenjelasanbeberapafungsiyangtermasukdalamtipeplottambahanini.


points(x,y)
Fungsiatauperintahinidapatdigunakanuntukmenambahkantitiktitikpada
koordinatyangdiberikanolehxdany.

lines(x,y)
Perintahinibertujuanuntukmenambahkangarismenurutkoordinatyang
diberikandalamxdany.

text(x,y,labels,)
Perintahinidapatdigunakanuntukmenambahkansuatutekspadakoordinatx
dany.

ablines(a,b),abline(h=y),abline(v=x)
Perintahablines(a,b)bertujuanuntukmenambahkangarislurusy=a+bxpada
plotyangtelahada.Sedangkanperintahabline(h=y)danabline(v=x)digunakan
untukmembuatgarishorisontalatauvertikalsesuaidenganlokasiyang
diberikanpadah=yatauv=x.

legend(x,y,legend,)
Perintahinidapatdigunakanuntukmembuatlegenddarisuatuplotpadaposisi
yangdiberikankoordinatxdany.Beberapaargumentambahandiberikanpada
perintahlegend(vmenunjukkansuatuvektoryangbersesuaiannilainyadengan
keteranganpadaargumenlegend),yaitu
legend(,lty=v)untukmemberikanlinetypeyangdigunakandalamplot
legend(,col=v)untukmemberikanwarnadarititikataugarisdalamplot
legend(,lwd=v)untukmemberikanlinewidthdarigarisdalamplot

title(main,sub)
Perintahinibertujuanuntukmemberikanjuduldansubjuduldariplot.Hasil
yangsamadapatdiberikandenganmenggunakanargumenmaindansubdari
fungsiplotutama.

179
sht90 GrafikMenggunakanRCLI

10.3.FungsifungsiPlotyangbersifatinteraktif
Ada beberapa macam fungsi plot interaktif yang juga dapat digunakan untuk
memperbaikitampilanataumenambahkansejumlahketerangandalamplotyangtelah
dibuatdenganberinteraksiRmenggunakanmouse.Berikutiniadalahadalahpenjelasan
beberapafungsiyangtermasukdalamtipeplottambahanini.


locator(n,type)
Denganperintahini,Rmenungguuseruntukmemillihn(maksimum512)lokasi
padaplotyangada,danmembuatplotyangbersesuaiandenganspesifikasi
yangdiberikanpadaargumentype.

locator()
Perintahinibergunauntukpemilihanlokasidalamsuatuplotsecarainteraktif,
misalnyabergunauntukmenempatakanteks,labelataulegendpadaposisi
yanglebihtepatdalamgrafik.

identify(x,y,labels)
Perintahinidapatdigunakanuntukmeletakkanlabel(ataunomerindeksdari
datajikaargumenlabeltidakdiberikan)darititiktitikyangdiberikandalamx
dany.

10.4.NotasiMatematikapadaPlot
Sejumlahfasilitasuntukmenambahkansimbolpersamaanmatematikakedalam
suatuplottersediapadaR.Informasilengkapberkaitandenganfasilitasinidapatdilihat
dengan perintah help(plotmath). Untuk mengetahui beberapa contoh notasi hasil dari
perintahplotmath,lakukanperintahperintahberikutini.


>help(plotmath)

>example(plotmath)#Terdiridaribeberapaperintahdenganplotmath

>demo(plotmath)


Berikut ini adalah salah satu contoh pemakaian perintah plotmath untuk pembuatan
persamaanmatematikapadasuatuplotdata.

180
sht90 GrafikMenggunakanRCLI


>x<seq(4,4,len=101)
>y<cbind(sin(x),cos(x))

>matplot(x,y,type="l",xaxt="n",
+main=expression(paste(plain(sin)*phi,"and",
+plain(cos)*phi)),
+ylab=expression("sin"*phi,"cos"*phi),#only1stistaken
+xlab=expression(paste("PhaseAngle",phi)),
+col.main="blue")

>axis(1,at=c(pi,pi/2,0,pi/2,pi),
+labels=expression(pi,pi/2,0,pi/2,pi))



Hasildariscriptyangmelibatkanperintahmatplotdiatasadalahsebagaiberikut.



Gambar10.10.Outputperintahpembuatannotasimatematikapadaplot


181
sht90 GrafikMenggunakanRCLI

10.5.Settingparametergrafik
Default dari R dalam setiap jendela grafik hanya akan dibuat plot dari satu
grafik. Setting ini dapat diubah sedemikian hingga dalam satu jendela grafik dapat
dibuat lebih dari satu grafik, yaitu dengan menggunakan perintah par. Perintah par
(singkatan dari kata partisi) ini diikuti dengan argumen mfrow (singkatan dari multi
figure row). Misalkan akan dibuat 6 grafik dalam satu halaman, yaitu 2 baris dan 3
kolom, maka dapat digunakan perintah par(mfrow=c(2,3)). Berikut ini adalah contoh
perintah untuk pembuatan 6 grafik dalam satu halaman dengan melibatkan variabel
variabelpadadatahbat.RData.


>win.graph()
>par(mfrow=c(2,3))
>hist(hbat$X19)#Plotpertamasebuahhistogram
>plot(hbat$X6,hbat$X19,main="DiagrampencarX6vsX19")#Plotkedua
>qqnorm(hbat$X19)#PlotketigasebuahkuantilkuantilnormaldariX19
>qq.plot(hbat$X6)#PlotkeempatsebuahkuantilkuantilnormaldariX6
>plot(hbat$X1,hbat$X19)#Plotkelimasebuahboxplot
>plot(hbat$X19,type="l")#Ploturutanindeks



OutputdariperintahperintahdiatasdapatdilihatpadaGambar10.11dihalaman147.
Hasilinimemberikangambarankepadauserbeberapakeunggulanpembuatanplotpada
R,khususnyamultiplotpadasatutampilanbersamasama.
Keterangan lanjut berkaitan dengan setting dari parameterparameter untuk
grafikatauGraphicalParametersdapatdilihatpadamenuhelpdariperintahpar,yaitu
denganmenggunakanperintah?par.Berikutadalahparameterparametertersebut.

182
sht90 GrafikMenggunakanRCLI



Gambar10.11.Outputperintahpembuatanplotdengansettingparametergrafik

183
sht90 AnalisisRuntunWaktudenganR

BAB11
ANALISISRUNTUNWAKTUDENGANR

Dalamduniausahayangterusmenerusberubahdengancepat,seorangmanajer
harus mampu menganalisis lingkungan yang terus berubah dan dapat memprediksi
berbagaikemungkinandimasadepan.Kemampuanuntukmeramalatauforecastmasa
depan usaha menjadi penting sebagai dasar pengambilan keputusan strategis bagi
kelangsungan perusahaan. Sebagai contoh, bagian pemasaran suatu perusahaan yang
inginmengetahuipermintaansuatuprodukdimasamendatang,ataupemerintahingin
mengetahuidanmemperkirakanberapalajuinflasitahuntahunmendatang.
Berbagaiteknikuntukmelakukanperamalanmasadepanberdasarkanpadadata
masa lalu telah dikembangkan berdasarkan pada pengetahuan akan ilmu statistika.
Secara umum ada dua pendekatan untuk peramalan, yaitu peramalan kuantitatif dan
kualitatif. Peramalan kualitatif dilakukan jika data yang tersedia tidak ada atau tidak
mencukupi, misalnya dalam proyek peluncuran produk baru. Metode peramalan
kualitatifbiasanyadilakukansecarasubyektif,sepertiteknikDelphidanexpertopinion.
Sedangkanmetodeperamalankuantitatifdilakukandenganmenggunakandata
masa lalu yang tersedia. Secara umum metode peramalan kuantitatif terbagi atas dua
kelompokutama,yaitu:(Makridakisdkk.,1998;HankedanReitsch,2001)
PendekatanCausal(sebabakibat)
Metodeperamalankelompokinimembahasproyeksisuatukejadianberdasarkan
variabelvariabelyangdidugamempengaruhikejadiantersebut.Teknikperamalan
yang termasuk pendekatan ini diantaranya adalah analisis regresi berganda, dan
modelekonometrik.
PendekatanTimeSeries
Metode peramalan kelompok ini membahas proyeksi masa depan dari suatu
variabeldidasarkanpadadatamasalaludansekarang.
BabiniakanmembahaspenerapanpaketRpadamodelperamalandenganpendekatan
timeseriesyangbanyakdigunakanuntukmelakukankegiatanperamalan.
Dataruntunwaktuatautimeseriesadalahdatayangdikumpulkan,dicatat,atau
diamati berdasarkan urutan waktu. Beberapa contoh time series adalah data bulanan
tentanghargasembilankebutuhanpokok,databulananmengenaikonsumsimasyarakat
akan daging ayam dan sapi, data bulanan tentang jumlah impor/ekspor komoditas
tertentu, atau data harian dari Indeks Harga Saham Gabungan (IHSG) di Bursa Efek
Jakarta, yang menunjukkan pergerakan IHSG setiap hari. Secara umum, tujuan dari
analisisruntunwaktuadalahuntukmenemukanbentukpoladaridatadimasalaludan
menggunakan pengetahuan ini untuk melakukan peramalan terhadap sifatsifat dari
datadimasayangakandatang.

184
sht90 AnalisisRuntunWaktudenganR


R menyediakan banyak library untuk analisis runtun waktu atau dikenal juga
dengan Time Series Analysis. Selain pada library standar yaitu stats, analisis runtun
waktu lebih lanjut dapat dilakukan dengan menggunakan library fSeries, tseries,
forecasting,strucchange,TSA,fArma,fracdiff,danmasihbanyakyanglain.Padabagian
iniakandibahaspenggunaanRuntukanalisismodelmodelruntunwaktu,sepertimodel
tren, exponential smoothing, ARIMA, dan Neural Networks. Pembahasan tentang
perintahperintah di R untuk analisis runtun waktu di bab ini akan difokuskan pada
penggunaanperintahdiRConsole.

11.1.ModelTrendLinear
PrinsipdarimodelTrendLinearadalahmencaripersamaantrendlineardaridata
dan menggunakannya untuk mendapatkan ramalan pada waktuwaktu yang akan
datang, Yt + k .Secaramatematis,persamaanlineardaritrendlineardapatditulissebagai
berikut:

Yt = a + bt ,

denganadanbadalahkoefisienkoefisienpersamaanlinearyangakandicariberdasar
kandatayangada,dantadalahkodedariurutanperiodewaktu(biasanyat=1,2,).
Sebagai contoh kasus, misalkan akan dilakukan peramalan jumlah penumpang
pesawatudarainternasionalpadadataAirPassengersyangsudahtersediadiR.Dengan
menulis langsung nama data tersebut pada RConsole, maka akan diperoleh tampilan
dataruntunwaktumulaiJanuari1949sampaidenganDesember1960sepertiberikut.


>AirPassengers
JanFebMarAprMayJunJulAugSepOctNovDec
1949112118132129121135148148136119104118
1950115126141135125149170170158133114140
1951145150178163172178199199184162146166
1952171180193181183218230242209191172194
1953196196236235229243264272237211180201
1954204188235227234264302293259229203229
1955242233267269270315364347312274237278
1956284277317313318374413405355306271306
1957315301356348355422465467404347305336
1958340318362348363435491505404359310337
1959360342406396420472548559463407362405
1960417391419461472535622606508461390432




185
sht90 AnalisisRuntunWaktudenganR


Analisis tren linear dapat dilakukan dengan menggunakan perintah lm atau
linear model seperti pada analisis regresi linear di Bab 7. Berikut adalah script R dan
outputpersamaantrenlinearpadadataAirPassengers.

>AirPassengers
>t=1:length(AirPassengers)
>y=AirPassengers
>fit=lm(y~t)
>summary(fit)

Call:
lm(formula=y~t)

Residuals:
Min1QMedian3QMax
93.85830.7275.75724.489164.999

Coefficients:
EstimateStd.ErrortvaluePr(>|t|)
(Intercept)87.652787.7163511.36<2e16***
t2.657180.0923328.78<2e16***

Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:46.06on142degreesoffreedom
MultipleRsquared:0.8536,AdjustedRsquared:0.8526
Fstatistic:828.2on1and142DF,pvalue:<2.2e16

>plot(t,y,type="o",xlab="monthly,19491960",ylab="AirPassengers")
>abline(fit)


Berdasarkan output perintah summary(fit) dapat dijelaskan bahwa persamaan tren
linearuntukdataAirPassengersadalah

Yt = 87,65278 + 2,65718 t .

Persamaan tren linear ini menunjukkan bahwa setiap bulan ada kenaikan jumlah
penumpangpesawatudarainternasionalyaiturataratasebesar2,65718.
Dua perintah terakhir pada script diatas digunakan untuk membuat ilustrasi
grafik yaituplotantara data aktualdengan nilainilaiprediksinya. Outputdari perintah
inidapatdilihatpadaGambar11.1berikutini.


186
sht90 AnalisisRuntunWaktudenganR


Gambar11.1.OutputmodeltrenlinearpadadataAirPassengers

11.2.ModelExponentialSmoothing
Prinsip dari metode Exponential Smoothing adalah menggunakan nilai peng
halusan secara eksponensial sebagai ramalan dari kejadian di satu waktu yang akan
datang, Yt + k . Secara umum ada tiga macam model eksponensial, yaitu eksponensial
sederhana(untukdatadenganpolastasioner),eksponensialgandayangdikenaldengan
modelHolt(untukdatadenganpolatren),danmodelHoltWinters(untukdatadengan
polamusimandenganatautanpatren).
Rmenyediakanfasilitasuntukketigamodeltersebutdengansatuperintahyaitu
HoltWinters.Penggunaandariperintahiniadalahsepertiberikut.


HoltWinters(x,alpha=NULL,beta=NULL,gamma=NULL,
seasonal=c("additive","multiplicative"),
start.periods=3,l.start=NULL,b.start=NULL,
s.start=NULL,
optim.start=c(alpha=0.3,beta=0.1,gamma=0.1),
optim.control=list())


187
sht90 AnalisisRuntunWaktudenganR


Perintah HoltWinters ini memiliki beberapa argumen yang dapat digunakan untuk
menentukanpemilihanmetodeeksponensialsmoothingmanayangakandipilih.Berikut
iniadalahargumenyangdapatdipilihpadaperintahHoltWinters.

Argumen Keterangan

x Anobjectofclassts

alpha alphaparameterofHoltWintersFilter.

beta betaparameterofHoltWintersFilter.Ifsetto0,thefunction
willdoexponentialsmoothing.

gamma gammaparameterusedfortheseasonalcomponent.Ifsetto
0,annonseasonalmodelisfitted.

seasonal Characterstringtoselectan"additive"(thedefault)or
"multiplicative"seasonalmodel.Thefirstfew
charactersaresufficient.(Onlytakeseffectifgammaisnon
zero).

start.periods Startperiodsusedintheautodetectionofstartvalues.Must
beatleast3.

l.start Startvalueforlevel(a[0]).

b.start Startvaluefortrend(b[0]).

s.start Vectorofstartvaluesfortheseasonalcomponent
(s_1[0]...s_p[0])

optim.start Vectorwithnamedcomponentsalpha,beta,andgamma
containingthestartingvaluesfortheoptimizer.Onlythe
valuesneededmustbespecified.Ignoredintheone
parametercase.

optim.control Optionallistwithadditionalcontrolparameterspassedto
optimifthisisused.Ignoredintheoneparametercase.

Model HoltWinters yang disediakan di R terdiri dari dua pilihan, yaitu model
aditif dan multiplikatif. Model aditif digunakan pada data runtun waktu dengan pola
seasonal dengan variasi musiman konstan. Sedangkan model multiplikatif digunakan
untukdatadenganpolaseasonalyangmengandungvariasitidakkonstan.

188
sht90 AnalisisRuntunWaktudenganR


Fungsi prediksi pada model HoltWinters aditif (untuk runtun waktu dengan
panjangperiodep)adalah

Yhat[t+h]=a[t]+h*b[t]+s[t+1+(h1)modp],

dengana[t],b[t]dans[t]adalah

a[t]=(Y[t]s[tp])+(1)(a[t1]+b[t1])
b[t]=(a[t]a[t1])+(1)b[t1]
s[t]=gamma(Y[t]a[t])+(1gamma)s[tp].

Sedangkan fungsi prediksi pada model HoltWinters multiplikatif (untuk runtun waktu
denganpanjangperiodep)adalah

Yhat[t+h]=(a[t]+h*b[t])*s[t+1+(h1)modp],

dengana[t],b[t]dans[t]adalah

a[t]=(Y[t]/s[tp])+(1)(a[t1]+b[t1])
b[t]=(a[t]a[t1])+(1)b[t1]
s[t]=gamma(Y[t]/a[t])+(1gamma)s[tp].

Fungsi ini bekerja untuk mendapatkan nilainilai optimal dari dan/atau dan/atau
gammadenganmeminimalkankuadratdarierrorprediksisatutahap.

11.2.1.ModelHoltWintersAditif
Sebagai contoh kasus, misalkan akan dilakukan peramalan CO2 pada data co2
yangsudahtersediadiR.DenganmenulislangsungnamadatatersebutpadaRConsole,
maka akan diperoleh tampilan data runtun waktu mulai Januari 1959 sampai dengan
Desember 1997. Sebagai tahap awal, identifikasi pola data dapat dilakukan dengan
menampilkan plottimeseries denganmenggunakanperintahplot(x).Outputdariplot
tersebutdapatdilihatpadaGambar11.2.Darigambartersebutdapatdilihatbahwadata
mengandung pola tren dan seasonal dengan variasi relatif konstan. Dengan demikian
modelHoltWintersaditifadalahsesuaiuntukditerapkangunaperamalanpadadata.

189
sht90 AnalisisRuntunWaktudenganR



Gambar11.2.OutputmodeltrenlinearpadadataAirPassengers

BerikutadalahscriptRyangdigunakanuntukmenerapkanmodelHoltWinters
aditifpadadataCO2yangsudahtersediadiR.

>#SeasonalAdditiveHoltWinters
>co2
>plot(co2)#menampilkanplottimeseriesdaridata
>model1<HoltWinters(co2)#menerapkanHoltWintersaditif(default)
>fore1<predict(model1,50,prediction.interval=TRUE)
>plot(model1,fore1)
>plot(fitted(model1))

Script di atas menghasilan koefisienkoefisien yang optimal pada model HoltWinters


aditif(model1),nilairamalan50periodeyangakandatang,dangrafikantaranilaiaktual,
prediksidanramalan50periodeyangakandatang.Perintahterakhirmenghasilkanplot
tiaptiap komponendata, yaitu level,trend,danseasonal, serta nilairamalan. Berikut
iniadalahoutputlengkappadamasingmasingperintahdiatas.


190
sht90 AnalisisRuntunWaktudenganR



>model1
HoltWintersexponentialsmoothingwithtrendandadditiveseasonalcomponent.

Call:
HoltWinters(x = co2)

Smoothing parameters:
alpha: 0.4907075
beta : 0.01197529
gamma: 0.4536582

Coefficients:
[,1]
a 364.6866567
b 0.1268701
s1 0.2812220
s2 1.0173743
s3 1.6642371
s4 2.9411121
s5 3.3487805
s6 2.5064789
s7 0.9613233
s8 -1.3122489
s9 -3.3464772
s10 -3.1988220
s11 -1.8558114
s12 -0.5254438


>fore1
fit upr lwr
Jan 1998 365.0947 365.6900 364.4995
Feb 1998 365.9578 366.6224 365.2931
Mar 1998 366.7315 367.4603 366.0027
Apr 1998 368.1352 368.9244 367.3461
May 1998 368.6698 369.5162 367.8234


Oct 2001 367.3239 369.9810 364.6667
Nov 2001 368.7937 371.4892 366.0983
Dec 2001 370.2510 372.9848 367.5171
Jan 2002 371.1845 373.9829 368.3861
Feb 2002 372.0475 374.8841 369.2110

Output diatas menunjukkan bahwa nilai parameter smoothing yang optimal


adalah alpha=0.49, beta=0.01, dan gamma=0.45. Koefisienkoefisien a dan b, serta
koefisien seasonal (s1,s2,,s12) juga diberikan. Selanjutnya juga diberikan nilainilai
ramalan50periodekedepanbesertataksiranbatasatasdanbawah.Padaakhirnyaplot
komponendata,sertaperbandinganantaranilaiaktualdanramalanditampilkanseperti
padaGambar11.3dan11.4

191
sht90 AnalisisRuntunWaktudenganR



Gambar11.3.NilaiaktualdanramalanpadadataCO2



Gambar11.4.Nilainilaikomponenlevel,trend,danseasonalpadadataCO2

192
sht90 AnalisisRuntunWaktudenganR

11.2.2.ModelHoltWintersMultiplikatif
Misalkan akan dilakukan peramalan jumlah penumpang pesawat udara pada
dataAirPassengersyangsudahtersediadiR.Sebagaitahapawal,identifikasipoladata
dapatdilakukandenganmenampilkanplottimeseries(lihatGambar11.1)menunjukkan
bahwa data mengandung pola tren dan seasonal dengan variasi yang cenderung
meningkat.Dengandemikiansalahsatumodelyangsesuaiuntukperamalanpadadata
AirPassengersiniadalahmodelHoltWintersmultiplikatif.
BerikutadalahscriptRyangdigunakanuntukmenerapkanmodelHoltWinters
multiplikatifpadadataAirPassengersyangsudahtersediadiR.

>#SeasonalMultiplicativeHoltWinters
>AirPassengers
>plot(AirPassengers)#menampilkanplottimeseriesdaridata
>model2<HoltWinters(AirPassengers,seasonal=mult)
>fore2<predict(model2,24,prediction.interval=TRUE)
>plot(model2,fore2)
>plot(fitted(model2))

Script di atas menghasilan koefisienkoefisien yang optimal pada model HoltWinters


multiplikatif(model2),nilairamalan24periodeyangakandatang,dangrafikantaranilai
aktual dan ramalan 24 periode yang akan datang. Perintah terakhir menghasilkan plot
tiaptiap komponendata, yaitu level,trend,danseasonal, serta nilairamalan. Berikut
iniadalahsebagianoutputpadaperintahperintahdiatas.



>model2
HoltWintersexponentialsmoothingwithtrendandmultiplicativeseasonalcomponent.

Call:
HoltWinters(x=AirPassengers,seasonal="mult")

Smoothingparameters:
alpha:0.274855
beta:0.01745283
gamma:0.8766261

Coefficients:
[,1]
a475.6200718danseterusnya.




193
sht90 AnalisisRuntunWaktudenganR

Plot komponen data, serta perbandingan antara nilai aktual dan ramalan ditampilkan
sepertipadaGambar11.5dan11.6berikutini.


Gambar11.5.NilaiaktualdanramalanpadadataAirPassengers


Gambar11.6.Nilaikomponenlevel,trend,danseasonalpadaAirPassengers

194
sht90 AnalisisRuntunWaktudenganR

11.2.3.ModelHoltWintersNonseasonalatauModelEksponensialGanda
Misalkan akan dilakukan peramalan jumlah populasi penduduk United States
(dalam juta jiwa) pada data uspop yang sudah tersedia di R (ditambah suatu error).
Tahapawalidentifikasipoladatamenunjukkanbahwadatamengandungpolatrenyang
cenderungmeningkat.Dengandemikiansalahsatumodelyangsesuaiuntukperamalan
padadatauspopiniadalahmodeleksponensialgandaatauHoltWintersnonseasonal.
BerikutadalahscriptRyangdigunakanuntukmenerapkanmodelHoltWinters
nonseasonal pada data uspop yang sudah tersedia di R, serta beberapa output dari
perintahperintahtersebut.

>#NonSeasonalHoltWinters
>uspop
TimeSeries:
Start=1790
End=1970
Frequency=0.1
[1]3.935.317.249.6412.9017.1023.2031.4039.8050.20
[11]62.9076.0092.00105.70122.80131.70151.30179.30203.20

>x<uspop+rnorm(uspop,sd=5)#errorN(0,5)ditambahkankedatauspop
>model3<HoltWinters(x,gamma=0)#gamma=0untukeksponensialganda
>model3
HoltWintersexponentialsmoothingwithtrendandwithoutseasonalcomponent.

Call:
HoltWinters(x=x,gamma=0)

Smoothingparameters:
alpha:0.5747944
beta:1
gamma:0

Coefficients:
[,1]
a201.89779
b29.71546

>model3$SSE#nilaiSSEdarimodelHoltWintersnonseasonal
[1]1020.530

>fore3<predict(model3,5,prediction.interval=TRUE)#ramalan5tahunkedepan

>plot(model3,fore3)

195
sht90 AnalisisRuntunWaktudenganR


PlotperbandinganantaranilaiaktualdanramalandarimodelHoltWinternonseasonal
padadatauspopadalahsebagaiberikut.


Gambar11.7.Nilaiaktualdanramalanpadadatauspop

11.2.4.ModelEksponensialSmoothingSederhana
Misalkan saja akan dilakukan penerapan model eksponensial smoothing
sederhanauntukperamalanjumlahpopulasipendudukUnitedStates(dalamjutajiwa)
pada data uspop yang sudah tersedia di R, seperti pada bagian sebelumnya. Berikut
adalah script R yang digunakan untuk menerapkan model eksponensial smoothing
sederhana pada data uspop (plus suatu error), serta beberapa output dari perintah
perintahtersebut.


>#ExponentialSmoothing
>uspop
>x<uspop+rnorm(uspop,sd=5)
>model4<HoltWinters(x,gamma=0,beta=0)
>fore4<predict(model4,5,prediction.interval=TRUE)#ramalan5tahunkedepan




196
sht90 AnalisisRuntunWaktudenganR




>model4
HoltWintersexponentialsmoothingwithouttrendandwithoutseasonalcomponent.

Call:
HoltWinters(x=x,beta=0,gamma=0)

Smoothingparameters:
alpha:0.9999216
beta:0
gamma:0

Coefficients:
[,1]
a208.6348

>model4$SSE#menampilkannilaiSSEdarimodeleksponensialsmoothingsederhana
[1]3974.916

>plot(model4,fore4)


Plot perbandingan antara nilai aktual dan ramalan dari model eksponensial smoothing
sederhanapadadatauspopadalahsebagaiberikut.

Gambar11.8.Nilaiaktualdanramalanpadadatauspopdenganmetode
eskponensialsmoothingsederhana

197
sht90 AnalisisRuntunWaktudenganR

11.3.ModelARIMA
Model Autoregressive Integrated Moving Average (ARIMA) merupakan salah
satu model yang populer dalam peramalan dengan pendekatan time series. Model ini
terdiri dari tiga bentuk utama yaitu model AR, MA, dan ARMA. Prosedur BoxJenkins
adalah suatu prosedur standar yang banyak digunakan dalam pembentukan model
ARIMA.Proseduriniterdiridariempattahapanyangiteratifdalampembentukanmodel
ARIMA pada suatu data runtun waktu, yaitu tahap identifikasi, estimasi, diagnostic
check, dan peramalan. Berikut ini adalah diagram yang menggambarkan tahaptahap
dalamprosedurBoxJenkins(BowermandanOConnell,1993;Wei,2006).

Postulasikan

KelasUmumModel



1.TahapIDENTIFIKASI
(Identifikasimodeldugaansementara)



2.TahapESTIMASI
(Estimasikanparametermodel)




TIDAK 3.TahapDIAGNOSTICCHECK
(Verifikasiapakahmodelsesuai?)


YA

4.TahapFORECASTING
(Gunakanmodeluntukperamalan)


Gambar11.9.ProsedurBoxJenkinsuntukpembentukanmodelARIMA

198
sht90 AnalisisRuntunWaktudenganR


Secaraumum,bentukmatematisdarimodelARIMA(p,d,q)dapatditulissebagai
berikut(Cryer,1986;Wei,2006)
(1 1 B K p B p )(1 B ) d Z t = 0 + (1 1 B K q B q )a t ,

dengan B adalah operator mundur, yaitu B k Z t = Z t k . Penentuan orde p dan q dari


model ARIMA pada suatu data runtun waktu dilakukan dengan mengidentifikasi plot
Autocorrelation Function (ACF) dan Partial Autocorrelation Function (PACF) dari data
yangsudahstasioner.Berikutiniadalahpetunjukumumuntukpenentuanordepdanq
padasuatudataruntunwaktuyangsudahstasioner.

Tabel11.1.PolateoritisACFdanPACFdariprosesyangstasioner

Proses ACF PACF




Diesdown Cutsoffafterlagp
AR(p)
(turuncepatsecara (terputussetelahlagp)

eksponensial/sinusoidal)

MA(q) Cutsoffafterlagq Diesdown


(terputussetelahlagq) (turuncepatsecara
eksponensial/sinusoidal)

Diesdown Diesdown
ARMA(p,q)
(turuncepatsecara (turuncepatsecara
eksponensial/sinusoidal)) eksponensial/sinusoidal))

AR(p)atau Cutsoffafterlagq Cutsoffafterlagp


MA(q) (terputussetelahlagq) (terputussetelahlagp)

Whitenoise Tidakadayangsignifikan Tidakadayangsignifikan


(Random) (tidakadayangkeluarbatas) (tidakadayangkeluarbatas)

Radalahsalahsatupaketstatistikayangmenyediakanfasilitasuntukmembuat
bentukACFdanPACFteoritisdarimodelmodelARIMAyangstasioner.Berikutiniadalah
contohscriptuntukmembuatplotACFdanPACFteoritisdarimodelAR(p),MA(q)dan
ARMA(p,q),sertaoutputnya.

199
sht90 AnalisisRuntunWaktudenganR



>#ACFdanPACFteoritisuntukAR(1)
>acf.ar1=ARMAacf(ar=0.8,ma=0,20)
>pacf.ar1=ARMAacf(ar=0.8,ma=0,20,pacf=T)
>acf.ar1=acf.ar1[2:21]
>c1=acf.ar1
>c2=pacf.ar1
>ar1=cbind(c1,c2)
>ar1#NilainilaiACFdanPACFteoritis
>par(mfrow=c(1,2))
>plot(acf.ar1,type="h",xlab="lag",ylim=c(1,1))
>abline(h=0)
>plot(pacf.ar1,type="h",xlab="lag",ylim=c(1,1))
>abline(h=0)

Berikut ini adalah hasil plot ACF dan PACF teoritis dari model ARIMA(1,0,0) yang
biasanyadisingkatmodelAR(1),dengannilaikoefisienparametermodel(phi)0,8.



Gambar11.10.PlotACFdanPACFteoritismodelAR(1)denganphi=0,8

DarigambardiatasdapatdijelaskanbahwaplotACFpadamodelAR(1)dengankoefisien
parameterpositifadalahdiesdown(turuncepatsecaraeksponensial)dengannilaiACF
yang selalu positif. Sedangkan PACF menunjukkan pola yang terputus setelah lag 1
sepertipetunjukpadaTabel11.1.

200
sht90 AnalisisRuntunWaktudenganR



>#ACFdanPACFteoritisuntukMA(2)
>acf.ma2=ARMAacf(ar=0,ma=c(1.5,0.7),20)
>pacf.ma2=ARMAacf(ar=0,ma=c(1.5,0.7),20,pacf=T)
>acf.ma2=acf.ma2[2:21]
>c1=acf.ma2
>c2=pacf.ma2
>ma2=cbind(c1,c2)
>ma2#NilainilaiACFdanPACFteoritis
>par(mfrow=c(1,2))
>plot(acf.ma2,type="h",xlab="lag",ylim=c(1,1))
>abline(h=0)
>plot(pacf.ma2,type="h",xlab="lag",ylim=c(1,1))
>abline(h=0)

Di bawah ini adalah hasil plot ACF dan PACF teoritis dari model ARIMA(0,0,2)
yangbiasanyadisingkatmodelMA(2),dengannilaikoefisienparametermodel(tetha1
dan2)1,5dan0,7.



Gambar11.10.PlotACFdanPACFteoritismodelMA(2)dengantetha1,5dan0,7

Berdasarkan pola pada gambar diatas dapat dijelaskan bahwa plot ACF pada model
MA(2)dengankoefisienparameterpositif1,5(tetha1)dan0,7(tetha2)adalahterputus
setelah lag 2. Sedangkan PACF menunjukkan pola yang dies down (turun cepat secara
sinusoidal)dengannilaiPACFyangberubahdaripositifkenegatifsepertipetunjukpada
Tabel11.1diatas.

201
sht90 AnalisisRuntunWaktudenganR



>#ACFdanPACFteoritisuntukARMA(1,1)
>acf.arma11=ARMAacf(ar=0.7,ma=0.4,10)
>pacf.arma11=ARMAacf(ar=0.7,ma=0.4,10,pacf=T)
>acf.arma11=acf.arma11[2:11]
>c1=acf.arma11
>c2=pacf.arma11
>arma11=cbind(c1,c2)
>arma11#NilainilaiACFdanPACFteoritis
>par(mfrow=c(1,2))
>plot(acf.arma11,type="h",xlab="lag",ylim=c(1,1))
>abline(h=0)
>plot(pacf.arma11,type="h",xlab="lag",ylim=c(1,1))
>abline(h=0)

HasilplotACFdanPACFteoritisdarimodelARIMA(1,0,1)yangdisingkatmodel
ARMA(1,1),dengannilaikoefisienparameterAR(phi)0,7dankoefisienMA(tetha)0,4.



Gambar11.11.PlotACFdanPACFteoritismodelARMA(1,1)denganphi0,7dantetha
0,4

GambardiatasmenunjukkanbahwaplotACFpada modelARMA(1,1)dengan koefisien


parameterpphi0,7dantetha0,4adalahdiesdown(turuncepatsecaraeksponensial).
Pola yang sama juga ditunjukkan oleh plot PACF yaitu dies down (turun cepat secara
sinusoidal)dengannilaiPACFyangberubahdaripositifkenegatifsepertipetunjukpada
Tabel11.1diatas.

202
sht90 AnalisisRuntunWaktudenganR

11.3.1.ContohKasusModelARIMANonmusimanyangStasioner
Misalkan akan dilakukan peramalan dengan model ARIMA pada data runtun
wakturecruit.dat,yaitudatatentangbanyaknyaikanbaruyangtelahdikumpulkanoleh
Dr. Roy Mendelssohn dari The Pacific Environmental Fisheries Group (lihat buku
Shumway dan Stoffer (2006), dengan judul Time Series Analysis and Its Applications
with R Examples; halaman 7). Data ini adalah data bulanan mulai tahun 19501987.
BerikutiniadalahscriptfileRuntukmemanggildanmenampilkanplottimeseriesdari
data.


>rec=ts(scan("recruit.dat"),start=1950,frequency=12)
>plot(rec)

Hasilplottimeseriesdaridataadalahsebagaiberikut.



Gambar11.12.Plottimeseriesdaridatarecruit

203
sht90 AnalisisRuntunWaktudenganR

Dari plot time series pada Gambar 11.12 dapat dijelaskan bahwa data relatif
stasioner dan tidak mengandung tren. Berikut adalah script file R untuk menampilkan
ACFdanPACFdaridatarecruitbesertaoutputnya.


>rec=ts(scan("recruit.dat"))
>plot(rec)#menampilkanplottimeseriesdaridata
>win.graph
>par(mfrow=c(2,1))
>acf(rec,48)#menampilkanACFsampailag48
>pacf(rec,48)#menampilkanPACFsampailag48





Gambar11.13.PlotACFdanPACFdaridatarecruit

204
sht90 AnalisisRuntunWaktudenganR


Hasil identifikasi bentuk ACF dan PACF dari data recruit menunjukkan bahwa
ACF cenderung dies down (turun cepat) dan PACF cenderung terputus setelah lag 2.
Dengan demikian, model dugaan yang sesuai untuk data ini adalah ARIMA(2,0,0) atau
AR(2). Tahap selanjutnya adalah estimasi parameter pada model ARIMA dugaan. Ada
beberapametodeestimasiparameteryangdisediakanR,antaralain:
EstimasiYuleWalker(YW)
EstimasiOrdinaryLeastSquares(OLS)
EstimasiMaximumLikelihoodEstimation(MLE)

BerikutiniadalahscriptfileRuntukestimasiparameterdenganmenggunakanmetode
estimasiYuleWalkerbesertaoutputnya.


>rec.yw=ar.yw(rec,order=2)

>rec.yw$x.mean
[1]62.26278#taksirannilairataratadata

>rec.yw$ar
[1]1.33158740.4445447#taksirannilaiphi1danphi2

>sqrt(diag(rec.yw$asy.var.coef))
[1]0.042226370.04222637#standarerrordariphi1danphi2

>rec.yw$var.pred
[1]94.79912#taksiranvarianserror(mse)

Berdasarkan hasil taksiran YuleWalker pada output diatas, maka model AR(2) yang
diperolehdapatditulissecaramatematissepertiberikut(duaangkabelakangkoma)
(1 1.33B + 0.44 B 2 )( Z t 62.26) = at ,

atau
Z t = 62.26(1 1.33 + 0.44) + 1.33Z t 1 0.44 Z t 2 + at ,

dengan Z t adalahdataaslipadawaktuket.Outputdiatasjugamemberikannilainilai
standarerrorpadamasingmasingkoefisienyangdapatdigunakanuntukujisignifikansi
parameterparametermodeltersebut.
Sebagaiperbandingan,berikutiniadalahscriptfileRuntukestimasiparameter
denganmenggunakanmetodeestimasiOrdinaryLeastSquaresdanMaximumLikelihood
Estimation,sertaoutputyangdihasilkan.

205
sht90 AnalisisRuntunWaktudenganR



>rec.ols=ar.ols(rec,order=2)#metodeOLS

>rec.ols$x.mean
[1]62.26278#taksirannilairataratadata

>rec.ols$ar
,,1

[,1]
[1,]1.3540685#taksirannilaiphi1danphi2
[2,]0.4631784

>rec.ols$asy.se.coef
$x.mean
[1]0.4460397

$ar
[1]0.041789010.04187942#standarerrordariphi1danphi2

>rec.ols$var.pred
[,1]
[1,]89.71705#taksiranvarianserror(mse)


>rec.mle=ar.mle(rec,order=2)#metodeMLE

>rec.mle$x.mean
[1]62.26153#taksirannilairataratadata

>rec.mle$ar
[1]1.35128090.4612736#taksirannilaiphi1danphi

>sqrt(diag(rec.mle$asy.var.coef))
[1]0.040991590.04099159#standarerrordariphi1danphi2

>rec.mle$var.pred
[1]89.33597#taksiranvarianserror(mse)



Hasilestimasiketigametodetersebutmenunjukkanbahwanilainilaitaksiranparameter
modelAR(2)yangdiperolehrelatiftidakberbedajauh.Halyangmenarikadalahtaksiran
dari varians error (atau yang dikenal dengan MSE). Nilai MSE yang diperoleh ketiga
modelmenunjukkanbahwametodeMLEmemberikannilaiMSEyangpalingkecil,yaitu
89.33597.
Selain menggunakan perintahperintah diatas, R juga menyediakan perintah
arima untuk estimasi secara langsung dengan menampilkan beberapa nilai taksiran
sekaligus.Berikutadalahketeranganpenggunaanarimadanargumenyangdibutuhkan.

206
sht90 AnalisisRuntunWaktudenganR



arima(x,order=c(0,0,0),
seasonal=list(order=c(0,0,0),period=NA),
xreg=NULL,include.mean=TRUE,
transform.pars=TRUE,
fixed=NULL,init=NULL,
method=c("CSSML","ML","CSS"),
n.cond,optim.control=list(),kappa=1e6)


Sebagai contoh, script untuk estimasi CSSMLE (pilihan default) pada data recruit
denganperintaharimabesertaoutputnyaadalahsebagaiberikut.

>fit1<arima(rec,c(2,0,0))
>fit1

Call:
arima(x=rec,order=c(2,0,0))

Coefficients:
ar1ar2intercept
1.35120.461261.8585
s.e.0.04160.04174.0039

sigma^2estimatedas89.33:loglikelihood=1661.51,aic=3331.02

HasildiatasmenunjukkanbahwanilainilaitaksiranparametermodelAR(2)untukdata
recruitadalahsamadenganmenggunakanperintahsebelumnya.
Langkahselanjutnyasetelah estimasiparameterdiperolehadalahcekdiagnosa
untuk mengetahui apakah model sudah memenuhi syarat kebaikan suatu model. R
menyediakan fasilitas untuk uji kesesuaian model, yaitu Uji Statistik LjungBox untuk
mengetahui apakah residual model sudah memenuhi syarat white noise. Hal ini dapat
dilakukandenganperintahtsdiagseperticontohberikutini.


>fit1<arima(rec,c(2,0,0))
>tsdiag(fit1)#cekdiagnosadenganUjiLjungBox

207
sht90 AnalisisRuntunWaktudenganR


Berikut adalah output hasil perintah tsdiag untuk pengecekan apakah residual model
sudahmemenuhisyaratwhitenoise.



Gambar11.14.PlotACFresidualdanpvaluedariujiStatistikLjungBox

Hasil diatas menunjukkan bahwa residual model AR(2) telah memenuhi syarat white
noise.HaliniditunjukkanolehpvaluedariujiLjungBoxyangsemuanyalebihbesardari
0,05(alphaatautingkatsignifikansipengujian).
Asumsikeduayangjugaharusdiperiksaadalahnormalitasdariresidualmodel.R
menyediakan banyak perintah untuk uji normalitas, baik secara grafik atau statistik
inferensia.PadabagianiniakandigunakanhistogramdanQQplotuntukevaluasisecara
grafik.Secarainferensidigunakansalahsatuperintahyangada,yaitushapiro.testuntuk
menerapkan uji ShapiroWilk. Berikut adalah script file R yang dapat digunakan untuk
menampilkan histogram dan QQplot dari residual, serta uji normalitas residual model
denganujiShapiroWilk.

208
sht90 AnalisisRuntunWaktudenganR




>par(mfrow=c(2,1))
>hist(fit1$resid,br=12)
>qqnorm(fit1$resid)
>shapiro.test(fit1$resid)

ShapiroWilknormalitytest

data:fit1$resid
W=0.9736,pvalue=2.723e07


OutputhistogramdanQQplotresidualmodelAR(2)padadatarecruitdapatdilihatpaga
Gambar 11.15. Output uji ShapiroWilk diatas menunjukkan bahwa residual belum
memenuhisyaratdistribusinormal.Haliniditunjukkanolehpvalueyanglebihkecildari
0.05(alphapengujian).



Gambar11.15.HistogramdanQQPlotresidualmodelAR(2)padadatarecruit

209
sht90 AnalisisRuntunWaktudenganR


Langkah terakhir setelah model yang diperoleh sudah memenuhi syarat model
adalahperamalan.AnggapmodelAR(2)adalahmodelyangsesuaiuntukperamalandata
recruit. Berikut ini adalah script file R yang lengkap mulai tahap identifikasi, estimasi,
cekdiagnosa,danperamalan.


>rec=ts(scan("recruit.dat"),start=1950,frequency=12)

>plot(rec)#TahapIDENTIFIKASI
>win.graph
>par(mfrow=c(2,1))
>acf(rec,48)#menampilkanACFsampailag48
>pacf(rec,48)#menampilkanPACFsampailag48

>fit1<arima(rec,c(2,0,0))#TahapESTIMASI

>tsdiag(fit1)#TahapCEKDIAGNOSA
>win.graph
>par(mfrow=c(2,1))
>hist(fit1$resid,br=12)
>qqnorm(fit1$resid)
>shapiro.test(fit1$resid)

>rec.fore=predict(fit1,n.ahead=24)#TahapPERAMALAN
>U=rec.fore$pred+rec.fore$se
>L=rec.fore$predrec.fore$se
>minx=min(rec,L)
>maxx=max(rec,U)
>ts.plot(rec,rec.fore$pred,xlim=c(1970,1990),ylim=c(minx,maxx))
>lines(rec.fore$pred,col="red",type="o")
>lines(U,col="blue",lty="dashed")
>lines(L,col="blue",lty="dashed")



Pada script ini nilainilai ramalan 24 periode yang akan datang disimpan dalam object
yangdiberinamarec.fore.Dalamhalininilainilairamalanbesertabatasatasdanbatas
bawah juga diberikan. Untuk menampilkan angkaangka tersebut cukup dengan
menuliskannamaobjecttersebutpadaRConsole.
Hasil plot ramalan beserta batas atas dan batas bawah ramalan ditampilkan
pada Gambar 11.16. Warna merah menunjukkan nilainilai ramalan, sedangkan warna
biru adalah batas bawah dan atas dari ramalan. Hasil tersebut menunjukkan bahwa
ramalan yang diperoleh relatif cukup baik, karena sudah mengikuti pola data recruit
padawaktuwaktusebelumnya.


210
sht90 AnalisisRuntunWaktudenganR



Gambar11.16.Plotramalan,batasatasdanbatasbawahpadadatarecruit

11.3.2.ContohKasusModelARIMANonmusimanyangTidakStasioner
Misalkan akan dilakukan peramalan dengan model ARIMA pada data runtun
waktugnp96.dat,yaitudatakuartalantentangGNPUSperiode1947(1)sampai2002(3).
Datainiadalahdataruntunwaktuyangtidakstasionerdalammeandanvarians,seperti
yang terlihat pada Gambar 11.17. Hal ini ditunjukkan oleh fluktuasi varians yang
cenderungmeningkatseiringbertambahnyawaktu.Karenadatabelumstasionerdalam
meandanvarians,makapadatahapidentifikasidilakukanprosestransformasiterlebih
dulu untuk menstabilkan varians, dan kemudian differencing untuk menstasionerkan
mean data. Pemilihan transformasi yang sesuai dapat menggunakan transformasi Box
Cox.Dalamkasusini,transformasilogyangterpilihuntukmenstabilkanvariansidata.R
menyediakanperintahdiffuntukprosesdifferencingsuatudataruntunwaktu.
Berikut ini adalah script lengkap untuk memanggil data, identifikasi, estimasi,
cek diagnosa, dan peramalan pada data gnp96.dat. Output lengkap dari script ini
ditampilkan per tahapan pembentukan model ARIMA dengan menggunakan prosedur
BoxJenkins.

211
sht90 AnalisisRuntunWaktudenganR

>gnp96=read.table("gnp96.dat")
>gnp=ts(gnp96[,2],start=1947,frequency=4)
>#tahapIDENTIFIKASI
>plot(gnp)
>acf(gnp,50)
>gnpgr=diff(log(gnp))#transformasidandifferencingdata
>plot.ts(gnpgr)
>par(mfrow=c(2,1))
>acf(gnpgr,24)
>pacf(gnpgr,24)
>#tahapESTIMASI
>gnpgr.ar=arima(gnpgr,order=c(1,0,0))#potentialproblemhere
>gnpgr.ma=arima(gnpgr,order=c(0,0,2))
>gnpgr.ar
>gnpgr.ma
>#tahapCEKDIAGNOSA
>tsdiag(gnpgr.ar,gof.lag=20)
>tsdiag(gnpgr.ma,gof.lag=20)



HasilTahapIDENTIFIKASI

Gambar11.17.PlotdatakuartalanGNPUSmulai1947(1)sampai2002(3)


212
sht90 AnalisisRuntunWaktudenganR


Gambar11.18.PlotACFdatakuartalanGNPUSmulai1947(1)2002(3)

Berikut ini adalah hasil transformasi log dan differencing untuk mendapatkan data
runtunwaktuyangstasioner.


Gambar11.19.PlotdatakuartalanGNPUSsetelahdilogdandifferencing(gnpgr)

213
sht90 AnalisisRuntunWaktudenganR

OutputbentukACFdanPACFdaridatagnpyangsudahditransformasidandifferencing
menjadidatagnppr.


Gambar11.20.PlotACFdanPACFdaridatagnpgr

HasilTahapESTIMASI



>gnpgr.ar#HasilestimasiparametermodelARIMA(1,1,0)

Call:
arima(x=gnpgr,order=c(1,0,0))

Coefficients:
ar1intercept
0.34670.0083
s.e.0.06270.0010

sigma^2estimatedas9.03e05:loglikelihood=718.61,aic=1431.22




214
sht90 AnalisisRuntunWaktudenganR




>gnpgr.ma#HasilestimasiparametermodelARIMA(0,1,2)

Call:
arima(x=gnpgr,order=c(0,0,2))

Coefficients:
ma1ma2intercept
0.30280.20350.0083
s.e.0.06540.06440.0010

sigma^2estimatedas8.92e05:loglikelihood=719.96,aic=1431.93



HasilTahapCEKDIAGNOSA



Gambar11.20.PlotACFdanPACFdariresidualmodelARIMA(1,1,0)

215
sht90 AnalisisRuntunWaktudenganR



Gambar11.21.PlotACFdanPACFdariresidualmodelARIMA(0,1,2)


Hasilhasil diatas menunjukkan bahwa model ARIMA(0,1,2) adalah model ARIMA yang
lebih sesuai untuk data GNP US jika dibandingkan dengan model ARIMA(1,1,0). Hal ini
ditunjukkan oleh nilai likelihood yang lebih besar dan nilai AIC yang lebih kecil pada
modelARIMA(0,1,2).


11.3.3.ModelARIMAMusiman
Secara umum, model ARIMA musiman terdiri dari dua macam yaitu model
musiman saja atau ARIMA(P,D,Q)S dan model ARIMA multiplikatif musiman dan
nonmusiman atau ARIMA(p,d,q)(P,D,Q)S, dengan S adalah periode musiman. Bentuk
matematisdarimodelARIMA(P,D,Q)Sdapatditulissebagaiberikut

(1 1S B K P B PS )(1 B S ) D Z t = 0 + (1 1 B K Q B QS )a t .

216
sht90 AnalisisRuntunWaktudenganR

Sepertipadamodelnonmusiman,penentuanordePdanQdarimodelARIMAmusiman
pada suatu data runtun waktu dilakukan dengan mengidentifikasi plot ACF dan PACF
daridatayangsudahstasioner.Berikutiniadalahpetunjukumumuntukpenentuanorde
PdanQpadasuatudataruntunwaktumusimanyangsudahstasioner.

Tabel11.2.PolateoritisACFdanPACFdariprosesmusimanyangstasioner

Proses ACF PACF



AR(P)S DiesdownpadalagkS,dengan CutsoffsetelahlagPS
k=1,2,3,


MA(Q)S CutsoffsetelahlagQS DiesdownpadalagkS,dengan
k=1,2,3,

ARMA(P,Q)S DiesdownpadalagkS,dengan DiesdownpadalagkS,dengan


k=1,2,3, k=1,2,3,

AR(P)Satau CutsoffsetelahlagQS CutsoffsetelahlagPS


MA(Q)S

Whitenoise Tidakadayangsignifikan Tidakadayangsignifikan


(Random) (tidakadayangkeluarbatas) (tidakadayangkeluarbatas)

Selanjutnya, gabungan petunjuk pola ACF dan PACF pada Tabel 11.1 dan 11.2
dapat digunakan untuk menentukan orde p, q, P, dan Q pada model musiman
multiplikatif ARIMA(p,d,q)(P,D,Q)S. Secara umum bentuk model ARIMA BoxJenkins
MusimanatauARIMA(p,d,q)(P,D,Q)Sadalah:(Cryer,1986;Wei,2006)

p ( B ) P ( B S )(1 B) d (1 B S ) D Z t = 0 + q ( B ) Q ( B S )a t ,

dengan
p,d,q = orderAR,MAdandifferencingNonmusiman,
P,D,Q= orderAR,MAdanDifferencingMusiman,
p (B) = (1 1 B 2 B 2 ... p B p ) ,

217
sht90 AnalisisRuntunWaktudenganR


P ( B S ) = (1 1 B S 2 B 2 S ... P B PS ) ,
(1 B) d = operasimatematisdaridifferencingNonmusiman,
(1 B S ) D = operasimatematisdaridifferencingMusiman,
q (B ) = (1 1 B 2 B 2 ... q B q ) ,
Q ( B S ) = (1 1 B S 2 B 2 S ... Q B QS ) ,
Zt = Z t .

Seperti pada model nonmusiman, R menyediakan fasilitas untuk membuat
bentuk ACF dan PACF teoritis dari modelmodel ARIMA musiman yang stasioner, baik
musiman saja atau multiplikatif musiman dan nonmusiman. Berikut ini adalah contoh
scriptuntukmembuatplotACFdanPACFteoritisdarimodelARIMA(p,d,q)(P,D,Q)S.


>#ACFdanPACFteoritisuntukMA(1)(1)12
>theta=c(0.6,rep(0,10),0.5,0.3)
>#phi=c(rep(0,11),0.8)untukmodelAR
>acf.arma=ARMAacf(ar=0,ma=theta,60)
>pacf.arma=ARMAacf(ar=0,ma=theta,60,pacf=T)
>acf.arma=acf.arma[2:61]
>c1=acf.arma
>c2=pacf.arma
>arma=cbind(c1,c2)
>arma#NilainilaiACFdanPACFteoritis
>par(mfrow=c(1,2))
>plot(acf.arma,type="h",xlab="lag",ylim=c(1,1))
>abline(h=0)
>plot(pacf.arma,type="h",xlab="lag",ylim=c(1,1))
>abline(h=0)



Model ARIMA yang digunakan pada script diatas adalah ARIMA(0,0,1)(0,0,1)12 atau
disingkatMA(1)(1)12.Secaramatematismodelinidapatditulisdalambentuk

Z t = (1 1 B )(1 1 B12 )at ,

atau
Z t = at 1at 12 1at 12 + 11at 13 .

Hasil plot ACF dan PACF teoritis dari model ARIMA(0,0,1)(0,0,1)12 dengan nilai
koefisienparametermodel(tetha1danTETHA1)0,6dan0,5dapatdilihatpadaGambar
11.22berikutini.

218
sht90 AnalisisRuntunWaktudenganR



Gambar11.22.PlotACFdanPACFteoritismodelARIMA(0,0,1)(0,0,1)12


11.3.4.ContohKasusModelARIMAMusiman
Misalkan akan dilakukan peramalan dengan model ARIMA pada data runtun
waktuprod.dat,yaitudatabulanantentangtheFederalReseerveBoardProcuctionIndex
(lihat buku Shumway dan Stoffer (2006), dengan judul Time Series Analysis and Its
ApplicationswithRExamples;halaman160).Datainiadalahdatabulananmulaitahun
19481978.BerikutiniadalahscriptfileRuntukmemanggildanmenampilkanplottime
series,ACF,danPACFdaridataasli.



>prod=ts(scan("prod.dat"),start=1948,frequency=12)
>plot(prod)
>par(mfrow=c(2,1))#(P)ACFofdata
>acf(prod,48)
>pacf(prod,48)



Hasil dari plot time series data indeks produksi tersebut (prod) dapat dilihat pada
Gambar 11.23. Plot ini menunjukkan bahwa data mengandung tren naik atau data
belumstasionerdalammean.
Hal ini didukung oleh bentuk ACF dan PACF data asli pada Gambar 11.24,
khususnya pola ACF yang turun lambat yang mengindikasikan bahwa data belum
stasioner dalam mean. Pada tahap ini (tahap identifikasi) dilakukan differencing pada
datauntukmendapatkandatayangstasionerdalammean.

219
sht90 AnalisisRuntunWaktudenganR


Gambar11.23.Plottimeseriesdaridataindeksproduksi(prod)



Gambar11.24.PlotACFdanPACFdaridataindeksproduksi(prod)

220
sht90 AnalisisRuntunWaktudenganR


Berikut ini adalah script untuk differencing dan identifikasi bentuk ACF dan PACF dari
datayangsudahstasioner.


>par(mfrow=c(2,1))#ACFdanPACFdifferencingd=1
>acf(diff(prod),48)
>pacf(diff(prod),48)
>#Karenabelumstasionerdalammusiman,dilanjutkan
>#differencingmusimanD=1,S=12atauD=12.
>par(mfrow=c(2,1))#ACFdanPACFdifferencingd=1,D=12
>acf(diff(diff(prod),12),48)
>pacf(diff(diff(prod),12),48)

HasildariplotACFdanPACFpadadatayangsudahdidifferencingd=1,danD=1,S=12,
ataudifferencingnonmusimandanmusiman,ditampilkanpadaGambar11.25.



Gambar11.25.PlotACFdanPACFdaridataprodyangtelahdidifferencing

221
sht90 AnalisisRuntunWaktudenganR


GambarACFdanPACFdatayangsudahstasionermenunjukkanbahwapadalag
lagnonmusiman(lag19)ACFdanPACFcenderungdiesdown.Halinijugaterjadipada
laglagmusiman(lag12,24,36)yangcenderungjugadiesdown.Berdasarkanpetunjuk
padaTabel9.1dan9.2,didugaada3(tiga)modelyangsesuaiuntukdataini,yaitu:

1. ARIMA(1,1,1)(0,1,1)12
2. ARIMA(1,1,1)(2,1,0)12
3. ARIMA(1,1,1)(2,1,1)12.

Hasil estimasi pada ketiga model dugaan tersebut menunjukkan bahwa model
ARIMA(1,1,1)(2,1,1)12 merupakanmodelterbaik,berdasarkanperbandingankriteriaAIC.
Berikut adalah script R yang dapat digunakan untuk estimasi parameter pada model
ARIMAmultiplikatif.

>#TahapESTIMASIPARAMETERmodelke3
>prod.fit3=arima(prod,order=c(1,1,1),seasonal=list(order=c(2,1,1),period=12))
>prod.fit3

Berikut ini adalah output hasil estimasi parameter dari model ketiga, yaitu model
multiplikatif ARIMA(1,1,1)(2,1,1)12. Hasil ini menunjukkan bahwa model multiplikatif
ARIMA(1,1,1)(2,1,1)12 adalahsesuaiuntukdataprodkhususnyajikadilihatdaritaksiran
parameterdansignifikansiparametertersebut(hitungujistatistiktnya).


>prod.fit3#Menampilkanhasilhasilestimasiparameter

Call:
arima(x=prod,order=c(1,1,1),seasonal=list(order=c(2,1,1),period=12))

Coefficients:
ar1ma1sar1sar2sma1
0.57530.27090.21530.28000.4968
s.e.0.11200.13000.07840.06190.0712

sigma^2estimatedas1.351:loglikelihood=568.22,aic=1148.43

222
sht90 AnalisisRuntunWaktudenganR


Tahapselanjutnyayaitutahapcekdiagnosadanperamalanberdasarkanmodel
yangsesuai.BerikutadalahscriptRyangdapatdigunakanuntuktahapcekdiagnosadan
peramalanpadamodelARIMAmultiplikatif,sertaoutputnya.



>#TahapDIAGNOSTICSCHECK
>tsdiag(prod.fit3,gof.lag=48)

>#TahapPERAMALAN
>prod.pr=predict(prod.fit3,n.ahead=12)
>U=prod.pr$pred+2*prod.pr$se
>L=prod.pr$pred2*prod.pr$se
>ts.plot(prod,prod.pr$pred,col=1:2,type="o",ylim=c(105,175),xlim=c(1975,1980))
>lines(U,col="blue",lty="dashed")
>lines(L,col="blue",lty="dashed



Gambar11.26.OutputtahapcekdiagnosapadamodelARIMA(1,1,1)(2,1,1)12

223
sht90 AnalisisRuntunWaktudenganR

Plotperbandinganantaranilaiaktualdannilairamalanbeberapaperiodekedepandapat
dilihatpadagambarberikutini.



Gambar11.27.Plotramalan,batasatasdanbatasbawahpadadataprod

Dengan demikian model terbaik yang diperoleh untuk data prod diatas adalah model
multiplikatif ARIMA(1,1,1)(2,1,1)12 yang secara matematis dapat ditulis dalam bentuk
sebagaiberikut(duaangkabelakangkoma).

(1 0,58 B)(1 + 0,22 B12 + 0,28 B 24 )(1 B)(1 B12 ) Z t = (1 0,27 B)(1 0,50 B12 )at ,

dengantaksiranvarianserror(MSE)sebesar1,351.
Penjabaran dari model ARIMA(1,1,1)(2,1,1)12 di atas akan menunjukkan bahwa
peramalan indeks produksi pada suatu bulan (Zt) merupakan fungsi linear dari indeks
produksipadabulanbulansebelumnya,yaitusatu(Zt1),dua(Zt2),duabelas(Zt12),tiga
belas(Zt13),empatbelas(Zt14),duapuluhempat(Zt24),duapuluhlima(Zt25),duapuluh
enam(Zt26),tigapuluhenam(Zt36),tigapuluhtujuh(Zt37),tigapuluhdelapan(Zt38),dan
residualpadabulanbulansebelumnya,yaitusatu(at1),duabelas(at12),dantigabelas
(at13)bulansebelumnya.

224
sht90 AnalisisRuntunWaktudenganR


11.3.5.KriteriaPemilihanModel
Ada beberapa kriteris pemilihan model yang dapat digunakan untuk memilih
model ARIMA terbaik pada suatu data runtun waktu, antara lain Akaikes Information
Criterion (AIC), AIC Bias Corrected (AICc), dan Schwarzs Information Criterion (SIC).
Berikutiniadalahrumusuntukperhitungankriteriakriteriatersebut.

AkaikesInformationCriterion(AIC)
n + 2k
AIC = ln k2 + ,
n

dengan k adalah banyaknya parameter dalam model, dan n adalah jumlah data
(pengamatan), serta k2 estimator maksimum likelihood dari varians error yang
didefinisikansebagaiberikut
RSS k
k2 = ,
n
denganRSSadalahtheresidualsumofsquares(jumlahkuadraterror).


AICBiasCorrected(AICc),
n+k
AICc = ln k2 + ,
nk 2

dengank,n,dan k2 sepertiyangdidefinisikandiatas.

SchwarzsInformationCriterion(SIC).
k ln n
SIC = ln k2 + ,
n

dengank,n,dan k2 sepertiyangdidefinisikandiatas.

Misalkan akan dilakukan perbandingan nilainilai kriteria AIC, AICc, dan SIC
untukpemilihanmodelterbaikpadakasusdataGNPUSsebelumnya,yaituantaramodel
ARIMA(1,1,0)denganARIMA(0,1,2).Sepertiyangdijelaskanpadasubbab11.3.3,kriteria
AIC menunjukkan bahwa model ARIMA(0,1,2) adalah model yang lebih baik dibanding
modelARIMA(1,1,0).HalinidikarenakanmodelARIMA(0,1,2)memberikannilaiAICyang
lebih kecil dibandingkan dengan model ARIMA(1,1,0). Berikut ini adalah script dan
output untuk perhitungan nilainilai kriteria AIC, AICc, dan SIC pada kedua model
tersebut.

225
sht90 AnalisisRuntunWaktudenganR



>gnp96=read.table("gnp96.dat")
>gnp=ts(gnp96[,2],start=1947,frequency=4)
>gnpgr=diff(log(gnp))
>gnpgr.ar=arima(gnpgr,order=c(1,0,0))
>gnpgr.ma=arima(gnpgr,order=c(0,0,2))
>
>n=length(gnpgr)#jumlahdata
>kma=length(gnpgr.ma$coef)#jumlahparameterpadamodelMA
>sma=gnpgr.ma$sigma2#nilaimledarisigma^2
>kar=length(gnpgr.ar$coef)#jumlahparameterpadamodelMA
>sar=gnpgr.ar$sigma2#nilaimleofsigma^2
>
>#PerhitungannilaiAIC
>log(sma)+(n+2*kma)/n#MA(2)
[1]8.297695

>log(sar)+(n+2*kar)/n#AR(1)
[1]8.294403
>
>#PerhitungannilaiAICc
>log(sma)+(n+kma)/(nkma2)#MA(2)
[1]8.287855

>log(sar)+(n+kar)/(nkar2)#AR(1)
[1]8.284898
>
>#PerhitungannilaiBIC
>log(sma)+kma*log(n)/n#MA(2)
[1]9.251712

>log(sar)+kar*log(n)/n#AR(1)
[1]9.263748



OutputdiatasmenunjukkanbahwakriteriaAICcdanSICmemberikanhasilyang
berbeda. Kriteria AICc memberikan hasil yang sama dengan AIC, yaitu model terbaik
adalahmodelARIMA(0,1,2).HaliniditunjukkanolehnilaiAICcpadamodelARIMA(0,1,2)
yang lebih kecil daripada model ARIMA(1,1,0). Sebaliknya, kriteria SIC menunjukkan
bahwa model yang lebih sederhana adalah yang lebih baik, yaitu model ARIMA(1,1,0).
Nilai SIC pada model ARIMA(1,1,0) adalah 9,288 dan ini lebih kecil dibanding yang
diperolehmodelARIMA(0,1,2),yaitu9,276.Seringkalidalambanyakkasus,kriteriaSIC
akancenderungmemilihmodelyanglebihsederhanadibandingkriteriaAICdanAICc.


226
sht90 AnalisisRuntunWaktudenganR

11.4.RangkumanperintahdanlibraryyangberkaitandenganAnalisisRuntun
Waktu
Berikut ini adalah rangkuman beberapa perintah dan penjelasan tentang
kegunaan,sertalibrarydariperintahtersebut,yangbiasanyadigunakandalamanalisis
runtunwaktu.

InputDataRuntunWaktu

Perintah Kegunaan library

cycle() givesthepositionsinthecycleofeachobservation stats


deltat() returnsthetimeintervalbetweenobservations stats
end() extractsandencodesthetimesthelastobservation stats
weretaken
frequency() returnsthenumberofsamplesperunittime stats

start() readsatimeseriesfile stats

time() extractsandencodesthetimesthefirstobservation stats


weretaken
ts() createstimeseriesobjects stats

window() isagenericfunctionwhichextractsthesubsetofthe stats


object'x'observedbetweenthetimes'start'and
'end'.Ifafrequencyisspecified,theseriesisthenre
sampledatthenewfrequency

DekomposisiRuntunWaktu

Perintah Kegunaan library

decompose() decomposesatimeseriesintoseasonal,trendand stats


irregularcomponentsusingmovingaverages.Deals
withadditiveormultiplicativeseasonalcomponent
filter() linearfilteringonatimeseries stats
HoltWinters() computesHoltWintersFilteringofagiventime stats
series

227
sht90 AnalisisRuntunWaktudenganR

Perintah Kegunaan library

sfilter() removesseasonalfluctuationusingasimplemoving ast


average

spectrum() estimatesthespectraldensityofatimeseries stats

stl() decomposesatimeseriesintoseasonal,trendand stats


irregularcomponentsusing'loess'

tsr() decomposesatimeseriesintotrend,seasonaland ast


irregular.Dealswithadditiveand
multiplicativecomponents

PengujiandalamAnalisisRuntunWaktu

Perintah Kegunaan library

adf.test() computestheAugmentedDickeyFullertestforthe tseries


nullthat'x'hasaunitroot(tseries)

Box.test() computestheBoxPierceorLjungBoxteststatistic stats


forexaminingthenullhypothesisofindependencein
agiventimeseries

bds.test() computesandprintstheBDSteststatisticforthe tseries


nullthat'x'isaseriesofi.i.d.randomvariables

bptest() performstheBreuschPagantestfor lmtest


heteroskedasticityofresiduals

dwtest() performstheDurbinWatsontestfor lmtest


autocorrelationofresiduals

jarque.bera.test() JarqueBeratestfornormality tseries

kpss.test() computesKPSStestforstationarity tseries

shapiro.test() ShapiroWilkNormalityTest stats

tsdiag() agenericfunctiontoplottimeseriesdiagnostics stats

228
sht90 AnalisisRuntunWaktudenganR

ModelmodelStokastikdalamAnalisisRuntunWaktu

Perintah Kegunaan library

ar() fitsanautoregressivetimeseriesmodeltothedata, stats


bydefaultselectingthecomplexitybyAIC
arima() fitsanARIMAmodeltoaunivariatetimeseries stats
arima.sim() simulatefromanARIMAmodel stats
arma() fitsanARMAmodeltoaunivariatetimeseriesby tseries
conditionalleastsquares
garch() fitsaGeneralizedAutoregressiveConditional tseries
HeteroscedasticGARCH(p,q)timeseriesmodeltothe
databycomputingthemaximumlikelihood
estimatesoftheconditionallynormalmodel

GrafikdalamAnalisisRuntunWaktu

Perintah Kegunaan library


lag.plot() plotstimeseriesagainstlaggedversionsof stats
themselves.Helpsvisualizing"autodependence"
evenwhenautocorrelationsvanish
plot.ts() plottingtimeseriesobjects stats
seaplot() plottingseasonalsubseriesorprofile ast
ts.plot() plotsseveraltimeseriesonacommonplot.Unlike stat
'plot.ts'theseriescanhaveadifferenttimebases,
buttheyshouldhavethesamefrequency
ccf(),pacf(), thefunction'acf'computes(andbydefaultplots) stats
ccf() estimatesoftheautocovarianceorautocorrelation
function.Function'pacf'isthefunctionusedforthe
partialautocorrelations.Function'ccf'computesthe
crosscorrelationorcrosscovarianceoftwo
univariateseries
diff.ts() returnssuitablylaggedanditerateddifferences stats
lag() computesalaggedversionofatimeseries,shifting stats
thetimebasebackbyagivennumber
ofobservations

229
sht90 AnalisisMultivariatdenganR

BAB12
ANALISISMULTIVARIATDENGANR

Analisis Multivariat merupakan salah satu metode dalam analisis statistik yang
banyak digunakan dalam penelitian kuantitatif yang melibatkan banyak variabel. Ada
beberapa metode dalam Analisis Multivariat, antara lain Analisis Faktor, Analisis
Diskriminan, Analisis Klaster, Multidimensional Scaling, Analisis Konjoin, dan Model
Persamaan Struktural (SEM). Secara lengkap teori yang berkaitan dengan analisis
multivariatdapatdilihatpadaJohnsondanWichern(1998),Sharma(1996),sertaHair
dkk. (2006). Pada bab ini akan dijelaskan penggunaan R untuk beberapa metode
tersebut,khususnyaAnalisisFaktor,AnalisisDiskriminan,danAnalisisKlaster.

12.1.AnalisisFaktor
Analisis Faktor merupakan salah satu metode interdependensi dalam analisis
multivariat yang biasanya digunakan untuk mengeksplorasi struktur hubungan yang
terjadidalamsuatukelompokvariabel.Selainitu,AnalisisFaktorjugadigunakanuntuk
mereduksi dimensi data kedalam suatu variabel baru yang independen yang disebut
denganfaktoratauvariabellatent.Secaraumum,adaduamacamAnalisisFaktoryaitu
AnalisisFaktoreksploratoridankonfirmatori.Padabagianini,penjelasanpenggunaanR
hanyadifokuskanpadaAnalisisFaktoreksploratori.
RmenyediakanfasilitasuntukAnalisisFaktorpadalibrarystatsdenganperintah
factanal. Misalkan akan dilakukan Analisis Faktor terhadap variabelvariabel tentang
persepsipelangganpadadataHBAT.SAVyang adadibukuHairdkk.(2006,hal.2831)
dengan judul Multivariate Data Analysis seperti yang juga dibahas di Bab 7. Ada 13
variabel persepsi pelanggan yang akan dievaluasi struktur hubungannya, yaitu
x6,x7,,x18.Identifikasikecukupandatamenunjukkanbahwavariabelx15danx17tidak
memenuhi syarat kecukupan data sehingga kedua variabel tersebut tidak diikutkan
dalam Analisis Faktor. Penjelasan tentang hasil identifikasi ini secara lengkap dapat
dilihatdiHairdkk.(2006)padaBab3tentangAnalisisFaktor.
Perintah factanal pada R adalah fasilitas untuk Analisis Faktor dengan metode
ekstraksi Maksimum Likelihood. Ada beberapa pilihan rotasi dan metode untuk
mendapatkan faktor skor. Berikut ini adalah deskripsi penggunaan secara umum dari
perintahtersebut.


factanal(x,factors,data=NULL,covmat=NULL,n.obs=NA,
subset,na.action,start=NULL,
scores=c("none","regression","Bartlett"),
rotation="varimax",control=NULL,...)


230
sht90 AnalisisMultivariatdenganR


Untuk kasus data persepsi pelanggan pada data HBAT.SAV yang sudah diimport ke
dalamRdengannamahbat,berikutadalahperintahdanoutputdariAnalisisFaktor.


>FA<factanal(~x6+x7+x8+x9+x10+x11+x12+x13+x14+x16+x18,
+factors=4,data=hbat,rotation="varimax",scores="regression")

>FA

Call:
factanal(x = ~x6 + x7 + x8 + x9 + x10 + x11 + x12 + x13 + x14 + x16 + x18,
factors = 4, data = hbat, scores = "regression", rotation = "varimax")

Uniquenesses:
x6 x7 x8 x9 x10 x11 x12 x13 x14 x16 x18
0.682 0.360 0.228 0.178 0.679 0.005 0.017 0.636 0.163 0.347 0.076

Loadings:
Factor1 Factor2 Factor3 Factor4
x6 0.557
x7 0.793
x8 0.872 0.102
x9 0.884 0.142 0.135
x10 0.190 0.521 -0.110
x11 0.502 0.104 0.856
x12 0.119 0.974 -0.130
x13 0.225 -0.216 -0.514
x14 0.894 0.158
x16 0.794 0.101 0.105
x18 0.928 0.189 0.164

Factor1 Factor2 Factor3 Factor4
SS loadings 2.592 1.977 1.638 1.423
Proportion Var 0.236 0.180 0.149 0.129
Cumulative Var 0.236 0.415 0.564 0.694

Test of the hypothesis that 4 factors are sufficient.


The chi square statistic is 24.26 on 17 degrees of freedom.
The p-value is 0.113



Hasil output diatas menunjukkan bahwa empat faktor yang dihasilkan dapat
menjelaskan 69,4% total variansi data. Variabelvariabel utama penyusun faktor
tersebutadalah
Faktor1:variabelx9,x16,danx18,
Faktor2:variabelx7,x10,danx12,
Faktor3:variabelx8,danx14,
Faktor4:variabelx6danx13.

Outputtersebutjugamenunjukkanbahwaadasatuvariabelyangsebaiknyadihilangkan
darianalisiskarenahasilrotasimasihmasukdalamduafaktor,yaitux11yangmenyusun
Faktor1dan4.

231
sht90 AnalisisMultivariatdenganR

R juga memberikan fasilitas untuk menampilkan hasil Analisis Faktor lebih


mudah untuk diinterpretasi, yaitu dengan cara mengurutkan nilai loading faktor pada
variabel penyusun faktor. Berikut ini adalah perintah print untuk menampilkan hasil
AnalisisFaktordanoutputyangdihasilkan.



>print(FA,digits=3,cutoff=0.4,sort=TRUE)

Call:
factanal(x = ~x6 + x7 + x8 + x9 + x10 + x11 + x12 + x13 + x14 + x16 + x18,
factors = 4, data = hbat, scores = "regression", rotation = "varimax")

Uniquenesses:
x6 x7 x8 x9 x10 x11 x12 x13 x14 x16 x18
0.682 0.360 0.228 0.178 0.679 0.005 0.017 0.636 0.163 0.347 0.076

Loadings:
Factor1 Factor2 Factor3 Factor4
x9 0.884
x16 0.794
x18 0.928
x7 0.793
x10 0.521
x12 0.974
x8 0.872
x14 0.894
x6 0.557
x11 0.502 0.856
x13 -0.514

Factor1 Factor2 Factor3 Factor4


SS loadings 2.592 1.977 1.638 1.423
Proportion Var 0.236 0.180 0.149 0.129
Cumulative Var 0.236 0.415 0.564 0.694

Test of the hypothesis that 4 factors are sufficient.


The chi square statistic is 24.26 on 17 degrees of freedom.
The p-value is 0.113


12.2.AnalisisDiskriminan
Analisis Diskriminan merupakan salah satu metode dependensi dalam analisis
multivariat yang biasanya digunakan untuk evaluasi klasifikasi objek. Sifat data yang
digunakan dalam analisis ini adalah nonmetrik pada variabel dependen (biasanya
berupakodegroupobjek)danmetrikpadakelompokvariabelindependen.Tujuandari
analisis ini adalah mendapatkan suatu fungsi (disebut fungsi diskriminan) yang dapat
digunakanuntukmemisahkanobjeksesuaidengangroupatauklasifikasinya.Fungsiini
selanjutnyadapatjugadigunakanuntukmemprediksigroupdarisuatuobjekbaruyang
diamati(Sharma,1996).

232
sht90 AnalisisMultivariatdenganR


R menyediakan fasilitas untuk Analisis Diskriminan Linear dan Kuadratik pada
libraryMASSdenganperintahlda(linear)danqda(kuadratik).Sebagaicontoh,datairis
yang sudah ada di paket R akan digunakan sebagai studi kasus untuk Analisis
Diskriminan Linear. Berikut adalah contoh perintah dan output Analisis Diskriminan
Linearpadadatairistersebut.


>Iris<data.frame(rbind(iris3[,,1],iris3[,,2],iris3[,,3]),
+Sp=rep(c("s","c","v"),rep(50,3)))
>train<sample(1:150,75)#Sampel75datadari150
>table(Iris$Sp[train])#75datasampelyangterpilih

c s v
29 22 24

>z<lda(Sp~.,Iris,prior=c(1,1,1)/3,subset=train)
>z#MenampilkanhasilAnalisisDiskriminan
Call:
lda(Sp ~ ., data = Iris, prior = c(1, 1, 1)/3,
subset = train)

Prior probabilities of groups:


c s v
0.3333333 0.3333333 0.3333333

Group means:
Sepal.L. Sepal.W. Petal.L. Petal.W.
c 5.986207 2.765517 4.293103 1.327586
s 4.954545 3.400000 1.481818 0.250000
v 6.683333 2.958333 5.654167 2.016667

Coefficients of linear discriminants:


LD1 LD2
Sepal.L. 0.8690984 0.07142847
Sepal.W. 1.5296128 -2.41239510
Petal.L. -1.7362163 0.89825836
Petal.W. -4.0571327 -2.94769154

Proportion of trace:
LD1 LD2
0.9915 0.0085



PerintahAnalisisDiskriminanLinearpadascriptdiatasdiaplikasikanpada75datasampel
(train) dan sisanya digunakan untuk validasi apakah fungsi diskriminan yang diperoleh
dapatmemprediksidengantepatgroupdari75datasisanya.Taksirannilaikoefisiendari
duafungsilineardiskriminanyangdihasilkandapatdilihatpadaoutputtersebut.

233
sht90 AnalisisMultivariatdenganR

Evaluasi kebaikan klasifikasi dari Analisis Diskriminan Linear pada data training
dantestingdapatdilihatpadaoutputberikutini.



>predict(z,Iris[train,])$class
[1]ssssssssssssssssssssssssssssccccccccvc
[39]cccccccccccvvvvvvvvvvvvvvcvcvvvvvvvvv
Levels:csv

>table(Iris$Sp[train],predict(z,Iris[train,])$class)

c s v
c 28 0 1
s 0 22 0
v 0 0 24

>table(Iris$Sp[train],predict(z,Iris[train,])$class)

c s v
c 20 0 1
s 0 28 0
v 2 0 24


Hasil diatas menunjukkan bahwa pada data training hanya ada satu pengamatan yang
salahterklasifikasi,yaituharusnyakelompokcdiprediksiv.Sedangkanpadadatatesting
ada tiga pengamatan yang salah terklasifikasi, yaitu satu pengamatan kelompok c
diprediksiv,danduapengamatankelompokvdiprediksic.

12.3.AnalisisCluster
AnalisisClusteradalahsuatumetodedalamanalisismultivariatyangdigunakan
untuk menemukan struktur group atau kelompok diantara kasuskasus (obyek) yang
diamati. Secara umum, metode dalam Analisis Cluster didasarkan pada ukuran
similaritasdandissimiliaritas.PaketRmenyediakanfasilitasuntukAnalisisClusterpada
RCommander.PilihanuntukAnalisisClusterinidapatdilakukandenganmemilihmenu
Statistika, pilih Analisis Dimensional, dan kemudian pilih Analisis Klaster, sehingga
diperolehpilihansepertiberikutini.

234
sht90 AnalisisMultivariatdenganR


Pada bagian ini, penjelasan tentang penggunaan R untuk Analisis Cluster akan
difokuskan pada pemakaian perintah langsung di RConsole atau command line.
PerintahhclustdapatdigunakanuntukimplementasiAnalisisClusterdenganbeberapa
pilihan metode agglomeration, yaitu "ward", "single", "complete", "average",
"mcquitty","median"atau"centroid". MisalkanakanditerapkanAnalisisClusteruntuk
mendapatkan kelompok negaranegara bagian di Amerika pada data USArrest yang
sudahtersediadipaketR.BerikutiniadalahscriptdanhasiloutputdariAnalisisCluster
Hirarkidenganmenggunakanukurandissimilaritasdanmetodeaverage.


>hca<hclust(dist(USArrests))
>plot(hca)
>rect.hclust(hca,k=3,border="red")
>x<rect.hclust(hca,h=50,which=c(2,7),border=3:4)


Berikut ini adalah output dendogram berdasarkan script diatas, yang dapat digunakan
untukmenentukanjumlahkelompokyangakandianalisislanjut.

Gambar12.1.DendogramuntuknegaranegarabagianAmerikaberdasarkan
AnalisisClusterHirarkimetodeaverage

235
sht90 AnalisisMultivariatdenganR

Untuk mengetahui keanggotaan group atau kelompok yang dihasilkan dalam


Analisis Cluster Hirarki diatas, R menyediakan perintah cutree untuk menampilkannya.
Berikut ini adalah script dan hasil output tentang keanggotaan setiap obyek dengan
AnalisisClusterHirarki.


>hca<hclust(dist(USArrests))

>cutree(hca,k=1:5)#k=1adalahkelompoktrivial

1 2 3 4 5
Alabama 1 1 1 1 1
Alaska 1 1 1 1 1
Arizona 1 1 1 1 1
Arkansas 1 2 2 2 2
California 1 1 1 1 1
Colorado 1 2 2 2 2
Connecticut 1 2 3 3 3
Delaware 1 1 1 1 1
Florida 1 1 1 4 4



Utah 1 2 3 3 3
Vermont 1 2 3 3 5
Virginia 1 2 2 2 2
Washington 1 2 2 2 2
West Virginia 1 2 3 3 5
Wisconsin 1 2 3 3 5
Wyoming 1 2 2 2 2

>##Perbandingan2dan3grouphasilCluster
>g24<cutree(hca,k=c(2,4))
>table(g24[,"2"],g24[,"4"])

1 2 3 4
1 14 0 0 2
2 0 14 20 0

Output diatas menunjukkan hasilhasil pengelompokan dengan menggunakan jumlah


kelompok 1 sampai dengan 5. Hasil perbandingan untuk 2 kelompok dan 4 kelompok
juga ditampilkan pada output diatas. Jika menggunakan 4 kelompok, maka 2 anggota
yangsemuladigroup1padaanalisisdengan2kelompokmenjadigroup4,sedangkan20
anggotayangsemuladigroup2padaanalisisdengan2kelompokmenjadigroup3.

236
sht90 RegresiNonparametrikdanEstimasiDensitas

BAB13
REGRESINONPARAMETRIKDANESTIMASIDENSITAS

Padadekadeterakhirini,pemodelanstatistikanonparametrikmerupakansalah
satu metode statistika yang berkembang dengan pesat seiring dengan perkembangan
komputasi. Bab ini akan menjelaskan penggunaan R untuk pemodelan regresi dan
estimasidensitasnonparametrik,khususnyapenggunaankerneldanspline.

13.1.EstimasiDensitasdenganKernel
Estimasinonparametrikdarifungsidensitasprobabilitasmerupakansuatutopik
yang luas. Beberapa buku yang membahas tentang hal ini adalah Silverman (1986),
Hrdle(1991),Scott(1992),sertaWanddanJones(1995).Metodeestimasiyangdibahas
dalambagianiniadalahmetodeestimasinonparametrikdengankernel.
Perintah untuk membuat histogram yaitu hist dengan argumen freq=FALSE
adalahjugasuatuestimatordarifungsidensitas.Jikatiaptiaptitiktengahdarikelasdi
masingmasing histogram dihubungkan maka akan diperoleh estimator fungsi densitas
dalam bentuk poligon frekuensi. Berikut ini adalah contoh script untuk mendapatkan
histogramdalamfrekuensirelatif(probabilitas)yangdapatdigunakansebagaiestimator
darifungsidensitaspadasuatudata,yaitugeyser$durationyangsudahtersediadiR.



>data(geyser,package="MASS")
>x<geyser$duration
>hist(x,breaks=22,freq=FALSE,
main="SmoothingwithGaussianKernel")

Output dari script ini dapat dilihat pada Gambar 13.1. Dari gambar tersebut dapat
dijelaskanbahwadatageyser$durationbersifatbimodal,yaitumempunyaiduamacam
puncakdisekitarangka2dan4.
Rmenyediakanfasilitasestimasinonparametrikdarifungsidensitasprobabilitas
denganperintahdensitydilibrarystatsdanbeberapaperintahdilibraryKernSmooth.
Secaramatematis,implementasipenghalusdensitasdengankerneladalah

1 n x xj
f ( x) = K

b j =1 b

untuk suatu sampel x1 , x 2 , K , x n , dengan K ( ) suatu kernel tertentu dan b adalah


bandwithyangdigunakan.

237
sht90 RegresiNonparametrikdanEstimasiDensitas



Gambar13.1.Outputhistogramfrekuensirelatifpadadataduration

Pada bagian ini, penjelasan tentang estimasi nonparametrik dari suatu fungsi
densitas akan ditekankan pada penggunaan perintahperintah yang ada di library
KernSmooth. Beberapa jenis kernel yang tersedia di library KernSmooth dapat dilihat
padatabelberikutini.


ArgumenKernel KeteranganJenisKernel

normal KernelGaussian(pilihandefault)
box KernelRectangularbox
"epanech" KernelEpanechnikov(thecentredbeta(2,2)density)
"biweight" KernelBiweight(thecentredbeta(3,3)density)
"triweight" KernelTriweight(thecentredbeta(4,4)density)


238
sht90 RegresiNonparametrikdanEstimasiDensitas


Berikutiniadalahcontohgrafikdaribentukbentukkerneluntukestimasinonparametrik
darisuatufungsidensitas.



Gambar13.2.Grafikdariberbagaikerneluntukestimasidensitas

Perintah dpik pada library KernSmooth dapat digunakan untuk mendapatkan nilai
bandwithyangoptimalpadasuatukernelyangdiimplentasikanpadasuatudata.Berikut
ini adalah script untuk implementasi estimasi nonparametrik dari fungsi densitas pada
datageyser$durationyangsudahtersediadiR,denganmenggunakanpilihanbandwith
optimal.

>data(geyser,package="MASS")
>x<geyser$duration
>h.n<dpik(x,kernel="normal")#Pemilihanbandwithyangoptimal
>est.n<bkde(x,kernel="normal",bandwidth=h.n)
>h.b<dpik(x,kernel="box")

>est.b<bkde(x,kernel="box",bandwidth=h.b)
>h.e<dpik(x,kernel="epanech")

>est.e<bkde(x,kernel="epanech",bandwidth=h.e)
>h.bi<dpik(x,kernel="biweight")

>est.bi<bkde(x,kernel="biweight",bandwidth=h.bi)
>h.tri<dpik(x,kernel="triweight")

>est.tri<bkde(x,kernel="triweight",bandwidth=h.tri)

239
sht90 RegresiNonparametrikdanEstimasiDensitas


Tampilan besarnya bandwith optimal dan hasil perbandingan grafik dari
estimatorestimator densitas pada data geyser$duration dapat dilakukan dengan
menggunakanscriptberikutini.


>#Perbandinganbandwithoptimalpadamasingmasingkernel
>hopt<cbind(h.n,h.b,h.e,h.bi,h.tri)
>hopt
h.n h.b h.e h.bi h.tri
[1,] 0.1438196 0.2502543 0.3183884 0.3771834 0.4283099

>win.graph()
>hist(x,breaks=22,freq=FALSE,main="SmoothingwithKernels")
>lines(est.n,col='red')#densitasdengankernelnormal
>lines(est.b,col='blue')#densitasdengankernelrectangular
>lines(est.e,col='gray')#densitasdengankernelepanechnikov
>lines(est.bi,col='green')#densitasdengankernelbiweight
>lines(est.tri,col='pink')#densitasdengankerneltriangular


Outputdariscriptdiatasadalahestimasidaribentukfungsidensitasprobabilitasseperti
padagambardibawahini.


Gambar13.3.Grafikdariberbagaikerneluntukestimasidensitas

240
sht90 RegresiNonparametrikdanEstimasiDensitas


Sebagaitambahan,padalibraryKernSmoothjugatersediafasilitasuntukanalisis
kernel dua dimensi, yaitu dengan perintah bkde2D. Berikut ini adalah contoh script
tentanganalisiskernelduadimensipadadatageyseryangsudahadadiR.

>data(geyser,package="MASS")
>x<cbind(geyser$duration,geyser$waiting)
>est<bkde2D(x,bandwidth=c(0.7,7))
>contour(est$x1,est$x2,est$fhat)
>persp(est$fhat)

Berikutiniadalahoutputdariscriptdiatas.


(a). (b).

Gambar13.4.Grafikdariestimasidensitasduadimensipadadatageyser

13.2.RegresiNonparametrikdenganKernel
Dalam praktek, seringkali dijumpai permasalahan keterkaitan antara variabel
independendandependenyangbentukketerkaitannyatidakdiketahuisecarapastiatau
hanyaadasedikitinformasitentangbentukketerkaitantersebut.Regresinonparametrik
adalah suatu metode statistika yang banyak digunakan untuk menganalisis hubungan
antara variabel independen dan dependen yang bentuk hubungan antar variabel
tersebut tidak diketahui. Ada beberapa metode dalam regresi nonparametrik, antara
laindenganpenghalusan(smoothing)kerneldanspline.

241
sht90 RegresiNonparametrikdanEstimasiDensitas


R menyediakan fasilitas estimasi regresi nonparametrik dengan kernel pada
beberapa perintah di library KernSmooth. Secara matematis, implementasi regresi
nonparametrikdengankerneladalah

n xi x j
y i K
j =1 b
y i =
n xi x j
K
j =1 b

dengan b adalah parameter bandwith, dan K ( ) suatu fungsi kernel seperti pada
estimasi densitas sebelumnya. Ada dua perintah utama di library KernSmooth yang
dapatdigunakanuntukestimasiregresinonparametrikdengankernel,yaitu:

Perintah Keterangan

dpill menggunakanmetodologidirectpluginuntukmemilih
bandwidthpadasuatuestimasiregresikernelGaussianlinear
lokal,sepertiyangdideskripsikanolehRuppert,Sheatherdan
Wand(1995).

locpoly estimasisuatufungsidensitasprobabilitas,fungsiregresiatau
turunannyadenganmenggunakanpolinomiallokal.

Berikut ini adalah script untuk implementasi estimasi regresi nonparametrik


dengan kernel Gaussian pada data geyser$duration sebagai x dan geyser$waiting
sebagaiyyangsudahtersediadiR,denganmenggunakanpilihanbandwithoptimal.

>data(geyser,package="MASS")
>x<geyser$duration
>y<geyser$waiting
>win.graph()
>plot(x,y,col="blue")
>h.opt<dpill(x,y)#Selectiontheoptimalbandwith
>fit.opt<locpoly(x,y,bandwidth=h.opt)
>lines(fit.opt,col="red")
>title(main="Gaussiankernelregressionwithoptimalbandwith")



242
sht90 RegresiNonparametrikdanEstimasiDensitas


Outputdariscriptdiatasadalahgarishalus(smooth)dariestimasiregresinonparametrik
dengankernelGaussiansepertiberikut(gariswarnamerah).


Gambar13.5.GrafikdariestimasiregresinonparametrikdengankernelGaussian


13.3.RegresiNonparametrikdenganSpline
Sepertipadaestimasiregresinonparametrikdengankernel,Rjugamenyediakan
fasilitas estimasi regresi nonparametrik dengan spline, yaitu dengan menggunakan
perintah smooth.spline. Misalkan diketahui ada n pasangan data ( xi , y i ) . Suatu
penghalusan (smoothing) spline meminimumkan suatu kompromi antara fit (taksiran)
danderajatdaripenghalus(smoothness)dalambentuk

wi [ y i f ( xi )] + ( f ( x)) dx
2 2

padasemuafungsi(terukuryangdapatditurunkanduakali) f .Iniadalahsuatuspline
kubikdenganknotknotpada xi ,tetapitidakmenginterpolasititiktitikdatauntuk > 0
dan derajat dari fit dikontrol oleh . Penentuan dapat ditetapkan tertentu atau
dipilihsecaraotomatisdenganmetodecrossvalidation.

243
sht90 RegresiNonparametrikdanEstimasiDensitas


Perintahdanargumenuntukaplikasiregresinonparametrikdengansplinekubik
padaRadalahsebagaiberikut.


smooth.spline(x,y=NULL,w=NULL,df,spar=NULL,
cv=FALSE,all.knots=FALSE,nknots=NULL,
keep.data=TRUE,df.offset=0,penalty=1,
control.spar=list())

Berikut ini adalah penjelasan tentang pilihan argumen yang dapat digunakan dalam
perintahsmooth.spline.

Argumen Keterangan

x avectorgivingthevaluesofthepredictorvariable,oralistoratwocolumn
matrixspecifyingxandy.
y responses.Ifyismissing,theresponsesareassumedtobespecifiedbyx.
w optionalvectorofweightsofthesamelengthasx;defaultstoall1.
df thedesiredequivalentnumberofdegreesoffreedom(traceofthesmoother
matrix).
spar smoothingparameter,typically(butnotnecessarily)in(0,1].Thecoefficientof
theintegralofthesquaredsecondderivativeinthefit(penalizedloglikelihood)
criterionisamonotonefunctionofspar,seethedetailsbelow.
cv ordinary(TRUE)orgeneralizedcrossvalidation(GCV)whenFALSE.
all.knots ifTRUE,alldistinctpointsinxareusedasknots.IfFALSE(default),asubsetofx[]
isused,specificallyx[j]wherethenknotsindicesareevenlyspacedin1:n,see
alsothenextargumentnknots.
nknots integergivingthenumberofknotstousewhenall.knots=FALSE.Perdefault,this
islessthann,thenumberofuniquexvaluesforn>49.
keep.data logicalspecifyingiftheinputdatashouldbekeptintheresult.IfTRUE(asper
default),fittedvaluesandresidualsareavailablefromtheresult.
df.offset allowsthedegreesoffreedomtobeincreasedbydf.offsetintheGCVcriterion.
penalty thecoefficientofthepenaltyfordegreesoffreedomintheGCVcriterion.
control.spar optionallistwithnamedcomponentscontrollingtherootfindingwhenthe
smoothingparameterspariscomputed,i.e.,missingorNULL,seebelow.
Notethatthisispartlyexperimentalandmaychangewithgeneralspar
computationimprovements!

244
sht90 RegresiNonparametrikdanEstimasiDensitas


Di bawah ini adalah script untuk implementasi regresi nonparametrik dengan
splinekubikpadadatacarsyaituvariabelspeedsebagaixdandistsebagaiyyangsudah
tersediadiR,sertaoutputyangdihasilkan.

>attach(cars)
>plot(speed,dist,main="data(cars)&smoothingsplines")
>cars.spl<smooth.spline(speed,dist)
>(cars.spl)
Call:
smooth.spline(x=speed,y=dist)

SmoothingParameterspar=0.7801305lambda=0.1112206(11iterations)
EquivalentDegreesofFreedom(Df):2.635278
PenalizedCriterion:4187.776
GCV:244.1044

>lines(cars.spl,col="blue")
>lines(smooth.spline(speed,dist,df=10),lty=2,col="red")
>legend(5,120,c(paste("default[C.V.]=>df=",round(cars.spl$df,1)),
+"s(*,df=10)"),col=c("blue","red"),lty=1:2,bg='bisque')


Gambar13.6.Grafikhasilregresisplinekubikpadadatacars

245
sht90 RegresiNonparametrikdanEstimasiDensitas

Pengecekan kebaikan model regresi nonparametrik spline kubik ini dapat dilakukan
denganmelihatanalisisresidualmodel.Berikutiniadalahscriptuntukplotresidualdari
modeldiatas.

>##Residual(TukeyAnscombe)plot:
>plot(residuals(cars.spl)~fitted(cars.spl))
>abline(h=0,col="gray")

Outputyangdihasilkandariscriptiniadalahsepertigambarberikutini.


Gambar13.7.Grafikanalisisresidualdariregresinonparametriksplinekubik

Hasil di atas menunjukkan bahwa residual cenderung mempunyai pola yang tidak
homogen,yaitucenderungmembesarseiringmeningkatnyanilaiprediksi(fitted).
Sebagai tambahan, berikut ini adalah contoh script lain untuk implementasi
regresi nonparametrikdengan spline kubikpada suatu data simulasi, denganberbagai
parametersmoothing(spar)danprediksipadadatatrainingdantesting.

246
sht90 RegresiNonparametrikdanEstimasiDensitas


#Contohsmoothingpadadatasimulasisimulasi
y18<c(1:3,5,4,7:3,2*(2:5),rep(10,4))
xx<seq(1,length(y18),len=201)

#Regresisplinekubikdenganx=1:18dany=y18
(s2<smooth.spline(y18))#SmoothingparameterdgnGCV
(s02<smooth.spline(y18,spar=0.2))#Smoothingparameter0.2

#Plotperbandinganhasilregresisplinekubikdenganberbagaixdanspar
plot(y18,main="Smoothingdengansplinekubik")
lines(s2,col="green")#Hasilprediksidenganx
lines(predict(s2,xx),col=red)#Hasilprediksi"GCV"denganxx
lines(predict(s02,xx),col="blue")#Hasilprediksi"spar=0.2"denganx


Output perbandingan grafik dari script ini dapat dilihat pada Gambar 13.8. Perhatikan
pilihanwarnapadascriptuntukmengetahuipilihanregresikubiksplineyangdigunakan.


Gambar13.8.Outputregresisplinekubikpadadatasimulasi

247
sht90 RegresiNonparametrikdanEstimasiDensitas


Selainsplinekubik,paketRjugamenyediakanfasilitasuntukimplementasijenis
splineyanglain.Adabanyaklibraryyangdapatdigunakan,salahsatunyaadalahlibrary
splinesyangmenyediakanfasilitasuntukBspline.Berikutiniadalahcontohscriptuntuk
implementasi regresi nonparametrik dengan Bspline pada data cars, dengan variabel
speedsebagaixdandistsebagaiyyangsudahtersediadiR.


library(splines)
bs(cars$speed,df=3)
summary(fm3<lm(dist~bs(speed,df=3),data=cars))
bs(cars$speed,df=5)
summary(fm5<lm(dist~bs(speed,df=5),data=cars))
bs(cars$speed,df=10)
summary(fm10<lm(dist~bs(speed,df=10),data=cars))
##Contohmenyimpandanmenampilkanprediksi
plot(cars,xlab="dist(in)",ylab="speed(lb)",main="RegresiBspline")
ht<seq(4,25,length.out=200)
lines(ht,predict(fm3,data.frame(speed=ht)),col="blue")
lines(ht,predict(fm5,data.frame(speed=ht)),col="red")
lines(ht,predict(fm10,data.frame(speed=ht)),col="green")

Ada dua output utama yang akan dihasilkan dari script tersebut, yaitu hasilhasil
estimasiBsplineyangterdiridarinilaiprediksi,knots,dankoefisiendarimodelregresi
spline,sertaoutputgrafikhasilprediksi.Berikutadalahsebagianhasildariscriptdiatas.



>bs(cars$speed,df=5)
12345
[1,]0.0000000000.00000000000.000000000.0000000000.000000000

[50,]0.0000000000.00000000000.000000000.0000000001.000000000
attr(,"degree")
[1]3
attr(,"knots")
33.33333%66.66667%
1318
attr(,"Boundary.knots")
[1]425
attr(,"intercept")
[1]FALSE
attr(,"class")
[1]"bs""basis"



248
sht90 RegresiNonparametrikdanEstimasiDensitas


HasiloutputgrafikhasilprediksiregresinonparametrikdenganBsplineuntukberbagai
derajatsplinedapatdilihatpadagambarberikutini.Untukmengetahuiperbedaanefek
dari derajat spline terhadap hasil smoothing yang diperoleh, perhatikan pilihan warna
padascriptdiatas.


Gambar13.9.GrafikhasilregresiBsplinepadadatacars


13.4.JenisjenisBasisSpline
Padabagiansebelumnyatelahdiilustrasikanhasilregresinonparametrikdengan
splinekubikdanBspline.Secaraumumadabeberapajenissplineyangdapatdigunakan
dalamregresinonparametrik.Rmenyediakanfasilitasuntukmengetahuimacammacam
spline, dikenal fungsi basis, yang dapat digunakan untuk regresi nonparametrik, yaitu
pada library fda. Dalam library ini disediakan fasilitas untuk membuat delapan macam
fungsi basis spline, yaitu basis Bspline, Constant, Exponential, Fourier, Monomial,
Polygonal,Polynomial,danPowerBasisObject.
Fungsifungsi yang ada di library fda dikembangkan untuk mendukung analisis
datafungsionalsepertiyangdigambarkanolehRamsaydanSilverman(2005).Berikutini
adalah tabel yang berisi perintahperintah untuk membuat fungsifungsi basis spline
yangdapatdiaplikasikanuntukpemodelanregresinonparametrik.

249
sht90 RegresiNonparametrikdanEstimasiDensitas

Perintah Keterangan

create.bspline.basis UntukmembuatsuatuBsplineBasis
create.constant.basis UntukmembuatsuatuConstantBasis
create.exponential.basis UntukmembuatsuatuExponentialBasis
create.fourier.basis UntukmembuatsuatuFourierBasis
create.monomial.basis UntukmembuatsuatuMonomialBasis
create.polygonal.basis UntukmembuatsuatuPolygonalBasis
create.polynomial.basis UntukmembuatsuatuPolynomialBasis
create.power.basis UntukmembuatsuatuPowerBasisObject


Berikut ini adalah contoh script untuk membuat macammacam basis Bspline yang
dapatdigunakanpadaregresinonparametrik.



#Thesimplestbasiscurrentlyavailablewiththisfunction:
str(bspl1.1<create.bspline.basis(norder=1,breaks=0:1))
#1basisfunction,order1=degree0=stepfunction:
#constant1between0and1.

str(bspl1.2<create.bspline.basis(norder=1,breaks=c(0,.5,1)))
#2bases,order1=degree0=stepfunctions:
#(1)constant1between0and0.5and0otherwise
#(2)constant1between0.5and1and0otherwise.

str(bspl2.3<create.bspline.basis(norder=2,breaks=c(0,.5,1)))
#3bases:order2=degree1=linear
#(1)linefrom(0,1)downto(0.5,0),0after
#(2)linefrom(0,0)upto(0.5,1),thendownto(1,0)
#(3)0to(0.5,0)thenupto(1,1).

str(bspl3.4<create.bspline.basis(norder=3,breaks=c(0,.5,1)))
#4bases:order3=degree2=parabolas.
#(1)(x.5)^2from0to.5,0after
#(2)2*(x1)^2from.5to1,andaparabola
#from(0,0to(.5,.5)tomatch
#(3&4)=complementsto(2&1).




250
sht90 RegresiNonparametrikdanEstimasiDensitas




#Defaultbsplinebasis
str(bSpl4.23<create.bspline.basis())
#Cubicbspline(norder=4)withnbasis=23,
#sonbreaks=nbasisnorder+2=21,
#2ofwhicharerangeval,leaving19Interiorknots.

str(bSpl4.<create.bspline.basis(c(1,1)))
#SameasbSpl4.23butover(1,1)ratherthan(0,1).

win.graph()
par(mfrow=c(3,2))
plot(bspl1.1);plot(bspl1.2);plot(bspl2.3)
plot(bspl3.4);plot(bSpl4.23);plot(bSpl4.)



Outputdariscriptdiatasadalahsebagaiberikut.



Gambar13.10.MacammacamfungsibasisBspline


251
sht90 RegresiNonparametrikdanEstimasiDensitas


Basis constant adalah suatu basis spline yang menghasilkan suatu konstanta
sepertiyangterlihatpadaplotpertamadiGambar13.10atauyangpalingatassebelah
kiri.Fungsibasisyanglainadalahexponential,danberikutadalahscriptuntukmembuat
basissplineexponential.


#Createanexponentialbasisoverinterval[0,5]
#withbasisfunctions1,exp(t)andexp(5t)
basisobj<create.exponential.basis(c(0,5),3,c(0,1,5))
#plotthebasis
plot(basisobj)


Hasiloutputgrafikdariscriptiniadalahsebagaiberikut.


Gambar13.11.Macammacamfungsibasisexponential

Selanjutnya akan dijelaskan tentang fungsi basis Fourier. Fungsi basis Fourier
adalah suatu sistem yang biasanya digunakan pada fungsifungsi yang periodik. Fungsi
basis Fourier yang pertama adalah suatu fungsi konstanta. Sedangkan yang lainnya
adalah pasangan dari sin dan cos dengan pengali suatu integer dari periode dasar.
Jumlah atau banyaknya fungsi basis yang dibangkitkan adalah selalu ganjil. Berikut
adalahscriptuntukmembuatfungsibasisFourier.

252
sht90 RegresiNonparametrikdanEstimasiDensitas



#CreateaminimalFourierbasisforthemonthlytemperaturedata,
#using3basisfunctionswithperiod12months.
monthbasis3<create.fourier.basis(c(0,12))

#setuptheFourierbasisforthemonthlytemperaturedata,
#using9basisfunctionswithperiod12months.
monthbasis<create.fourier.basis(c(0,12),9,12.0)

#plotthebasis
win.graph()
par(mfrow=c(2,1))
plot(monthbasis3)
plot(monthbasis)


Outputgrafikdariscriptiniadalahsebagaiberikut.



Gambar13.12.MacammacamfungsibasisFourier


253
sht90 RegresiNonparametrikdanEstimasiDensitas


13.5.RangkumanlibraryuntukAplikasiKerneldanSpline
Pada bagian ini akan diberikan suatu rangkuman tentang beberapa library
besertaketerangantentangperintahperintahdalamlibrarytersebutyangdisediakanR
untukaplikasimetodekerneldanspline.

Tabellibraryuntukaplikasikernel

library Keterangan

feature Featuresignificanceformultivariatekerneldensityestimation.
GenKern Functionsforgeneratingandmanipulatingkerneldensity
estimates.
KernSmooth Fungsifungsiuntukpenghalusan(smoothing)kerneldan
densityestimation,sepertipadabukuWanddanJones(1995)
denganjudul"KernelSmoothing".
kernlab Kernelbasedmachinelearningmethodsforclassification,
regression,clustering,noveltydetection,quantileregression
anddimensionalityreduction.Amongothermethodskernlab
includesSupportVectorMachines,SpectralClustering,Kernel
PCAandaQPsolver.
kerfdr Semiparametrickernelbasedapproachtolocalfdr
estimations
ks Kerneldensityestimatorsandkerneldiscriminantanalysisfor
multivariatedata.
locpol Kernellocalpolinomialregression.
lokern Kernelregressionsmoothingwithadaptivelocalorglobal
pluginbandwidthselection.
MKLE Maximumkernellikelihoodestimation.
monreg Nonparametricmonotoneregression.
monoProc Strictlymonotonesmoothingprocedure,givenfitinoneortwo
variables.
np Nonparametrickernelsmoothingmethodsformixed
datatypes.
sm Smoothingmethodsfornonparametricregressionanddensity
estimation.


254
sht90 RegresiNonparametrikdanEstimasiDensitas


Tabellibraryuntukaplikasispline

library Keterangan

assist ASuiteofSPlusFunctionsImplementingSmoothingSplines
cobs99 ConstrainedBsplines
DierckxSpline Rcompanionto"CurveandSurfaceFittingwithSplines"
earth BuildregressionmodelsusingthetechniquesinFriedman's
papers"FastMARS"and"MultivariateAdaptiveRegression
Splines".
fda Thesefunctionsweredevelopedtosupportfunctionaldata
analysisasdescribedinRamsay,J.O.andSilverman,B.W.
(2005)FunctionalDataAnalysis.NewYork:Springer.
gss Acomprehensivepackageforstructuralmultivariatefunction
estimationusingsmoothingsplines.
kzs Acollectionoffunctionsutilizingsplinestoconstructasmooth
estimateofasignalburiedinnoise.
lmeSplines Addsmoothingsplinemodellingcapabilitytonlme.Fit
smoothingsplinetermsinGaussianlinearandnonlinear
mixedeffectsmodels.
logspline Routinesforthelogsplinedensityestimation.

MBA ScattereddatainterpolationwithMultilevelBSplines
mda Mixtureandflexiblediscriminantanalysis,multivariate
additiveregressionsplines(MARS),BRUTO,...
polspline Routinesforthepolynomialsplinefittingroutineshazard
regression,hazardestimationwithflexibletails,logspline,
lspec,polyclass,andpolymars
pspline PenalizedSmoothingSplines.Smoothingsplineswithpenalties
onordermderivatives.
sspline RpackageforComputingtheSphericalSmoothingSplines

255
sht90 ModelNonlinear

BAB14
MODELNONLINEAR

Pemodelan yang digunakan untuk menjelaskan hubungan nonlinear antar
variabel dan beberapa prosedur pengujian untuk mendeteksi adanya keterkaitan
nonlinear telah mengalami perkembangan yang sangat pesat pada beberapa dekade
terakhir ini. Sebagai overview hal ini dapat dilihat antara lain pada buku Granger dan
Terasvirta (1993). Perkembangan yang pesat ini juga terjadi dalam bidang pemodelan
statistiksecaraumum.PadababiniakandijelaskantentangpenggunaanpaketRuntuk
pemodelannonlinear.

14.1.EstimasiModelRegresiNonlinear
TeoritentangmodelregresinonlinearsecaralengkapdapatdilihatdiSeberdan
Wild(1989).Bentukumumdarisuatumodelregresinonlinearadalah
y = (x, ) +

dengan x adalahsuatuvektorkovariat, adalahsuatuvektorpkomponenparameter


yang tidak diketahui, dan adalah suatu error yang N (0, 2 ) . Misalkan suatu model
regresinonlineardalambentuk
1
y= +
1 + exp( 2 + 3t )

akandiaplikasikanpadadataUS.popyaitutentangpopulasidiAmerikaSerikat,dengan
y adalah jumlah populasi dan t menyatakan tahun. Berikut ini adalah script untuk
memanggildanmenampilkandataUS.popdalamsuatudiagrampencar.

>library(car)
>data(US.pop)
>attach(US.pop)

Thefollowingobject(s)aremaskedfromUS.pop(position3):
populationyear

>US.pop
yearpopulation
117903.929
218005.308

211990248.710

>plot(year,population,main='PopulationoftheUnitedStates')

256
sht90 ModelNonlinear

Plotantara t yangmenyatakantahundan y tentangjumlahpopulasidiUSdapatdilihat


pada Gambar 14.1. Dari gambar ini dapat dijelaskan bahwa ada hubungan yang non
linearantara t dan y .


Gambar14.1.Diagrampencarantara t dan y padadataUS.pop

Dalam contoh kasus US.pop ini, vektor parameternya adalah = ( 1 , 2 , 3 ) T .


Berikut ini adalah script untuk mendapatkan taksiran parameter pada model regresi
nonlineardiatas.


>time<0:20
>pop.mod<nls(population~beta1/(1+exp(beta2+beta3*time)),
+start=list(beta1=350,beta2=4.5,beta3=0.3),trace=T)
13007.48:350.04.50.3
609.5727:351.80748623.84050020.2270578
365.4396:383.70453673.99111480.2276690

356.4001:389.16551263.99034570.2266199


257
sht90 ModelNonlinear



>summary(pop.mod)

Formula:population~beta1/(1+exp(beta2+beta3*time))

Parameters:
EstimateStd.ErrortvaluePr(>|t|)
beta1389.1655130.8119712.632.20e10***
beta23.990350.0703256.74<2e16***
beta30.226620.0108620.874.60e14***

Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:4.45on18degreesoffreedom

Numberofiterationstoconvergence:6
Achievedconvergencetolerance:1.492e06

>par(mfrow=c(1,2))
>plot(year,population,main='(a)')
>lines(year,fitted.values(pop.mod),lwd=2,col=2)
>plot(year,residuals(pop.mod),type='b',main='(b)',col="blue")
>abline(h=0,lty=2,col="green")


Hasil diatas menunjukkan nilainilai taksiran dari parameter model regresi nonlinear,
sehinggasecaralengkapmodelnonlinearyangdiperolehdapatditulisdalambentuk

389.16551
y= + .
1 + exp(3.99035 0.22662t )

Output tersebut juga menunjukkan bahwa nilai taksiran ketiga parameter itu adalah
signifikansecarastatistikpadaalpha0.001.Sebagaicatatan, t dalammodelregresinon
linear inimenyatakansuatukodedari tahun,yaitu 0 untuk tahun1790, 1 untuk 1800,
danseterusnya.Padaoutputsummary(pop.mod)jugaditampilkannilaitaksiranstandar
errordariresidual,yaitu4.45.
Padabagianakhirdariscriptdiatasberisiperintahuntukmembuatplotantara
nilai aktual dan prediksi secara bersamasama, serta perintah untuk menyajikan plot
residual model. Hasil lengkap plot perbandingan ini dapat dilihat pada Gambar 14.2a.
Dari gambar tersebut dapat dijelaskan bahwa nilainilai prediksi dari taksiran model
regresi nonlinear yang diperoleh relatif baik, karena sudah mengikuti pola yang ada
padadata.Kondisiiniberbedadenganyangdideskripsikanolehnilainilairesidualmodel
di Gambar 14.2b. Grafik residual tersebut menunjukkan bahwa residual model belum
menunjukkan pola yang random, melainkan pola yang cenderung mengandung sifat
autokorelasiatauberkaitandenganresidualsebelumatausesudahnya.

258
sht90 ModelNonlinear

Gambar14.2.Plotperbandingankesesuaianprediksidanevaluasiresidualmodel


14.2.PerintahnlsdanSSasympOriguntukestimasimodelnonlinear
Ada beberapa perintah di paket R yang disediakan untuk menjalankan model
regresinonlinear,antaralainnlsdanSSasympOrig.Contohdiatasmerupakansalahsatu
aplikasi dari perintah nls pada suatu data real. Pada bagian ini akan diberikan
rangkuman tentang perintah nls dan SSasympOrig, khususnya yang berkaitan dengan
argumenargumenyangdapatditampilkan.Secaraumumpenggunaanperintahnlsdan
keteranganargumenyangdisediakanadalahsebagaiberikut.

nls(formula,data,start,control,algorithm,trace,subset,weights,
na.action,model,lower,upper,...)


259
sht90 ModelNonlinear


Argumen Keterangan
formula anonlinearmodelformulaincludingvariablesandparameters.Willbe
coercedtoaformulaifnecessary.
data anoptionaldataframeinwhichtoevaluatethevariablesinformula
andweights.Canalsobealistoranenvironment,butnotamatrix.
start anamedlistornamednumericvectorofstartingestimates.When
startismissing,averycheapguessforstartistried(ifalgorithm
!= "plinear").
control anoptionallistofcontrolsettings.Seenls.controlforthenamesof
thesettablecontrolvaluesandtheireffect.
algorithm characterstringspecifyingthealgorithmtouse.Thedefaultalgorithm
isaGaussNewtonalgorithm.Otherpossiblevaluesare"plinear"
fortheGolubPereyraalgorithmforpartiallylinearleastsquares
modelsand"port"forthenl2solalgorithmfromthePortpackage.
trace logicalvalueindicatingifatraceoftheiterationprogressshouldbe
printed.DefaultisFALSE.IfTRUEtheresidual(weighted)sumof
squaresandtheparametervaluesareprintedattheconclusionof
eachiteration.Whenthe"plinear"algorithmisused,the
conditionalestimatesofthelinearparametersareprintedafterthe
nonlinearparameters.Whenthe"port"algorithmisusedthe
objectivefunctionvalueprintedishalftheresidual(weighted)sumof
squares.
subset anoptionalvectorspecifyingasubsetofobservationstobeusedinthe
fittingprocess.
weights anoptionalnumericvectorof(fixed)weights.Whenpresent,the
objectivefunctionisweightedleastsquares.
na.action afunctionwhichindicateswhatshouldhappenwhenthedatacontain
NAs.Thedefaultissetbythena.actionsettingofoptions,andis
na.failifthatisunset.Thefactoryfreshdefaultisna.omit.Value
na.excludecanbeuseful.
model logical.Iftrue,themodelframeisreturnedaspartoftheobject.
DefaultisFALSE.
lower,upper vectorsoflowerandupperbounds,replicatedtobeaslongasstart.
Ifunspecified,allparametersareassumedtobeunconstrained.
Boundscanonlybeusedwiththe"port"algorithm.Theyare
ignored,withawarning,ifgivenforotheralgorithms.
... Additionaloptionalarguments.Noneareusedatpresent.

260
sht90 ModelNonlinear


SSasympOrig merupakan suatu perintah untuk aplikasi regresi nonlinear
denganfungsiyangspesifik,yaitu
Asym
y= + ,
1 exp( exp(lrc) input )

dengan input adalah suatu vektor kovariat, dan Asym dan lrc merupakan parameter
parameter model. Secara umum penggunaan perintah SSasympOrig dan keterangan
argumenyangdisediakanadalahsebagaiberikut.

SSasympOrig(input,Asym,lrc)

Argumen Keterangan
input anumericvectorofvaluesatwhichtoevaluatethemodel.
Asym anumericparameterrepresentingthehorizontalasymptote.
lrc anumericparameterrepresentingthenaturallogarithmoftherate
constant.

Misalkan perintah SSasympOrig akan diaplikasikan pada data BOD yang sudah
tersediadiR.Datainiterdiridariduavariabel,yaituTimedandemand.Berikutiniadalah
script untuk aplikasi perintah SSasympOrig dan beberapa output berkaitan dengan
taksiranmodelregresinonlineardanplotprediksiyangdihasilkan.


>BOD
Time demand
1 1 8.3
2 2 10.3
3 3 19.0
4 4 16.0
5 5 15.6
6 7 19.8

>fm<nls(demand~SSasympOrig(Time,A,lrc),data=BOD)

>#fm<nls(demand~A*(1exp(exp(lrc)*Time)),data=BOD,
start=list(A=1,lrc=0.1),trace=TRUE)

261
sht90 ModelNonlinear

>summary(fm)

Formula:demand~A*(1exp(exp(lrc)*Time))

Parameters:
EstimateStd.ErrortvaluePr(>|t|)
A19.14262.49597.6700.00155**
lrc0.63280.38241.6550.17328

Signif.codes:0***0.001**0.01*0.05.0.11

Residualstandarderror:2.549on4degreesoffreedom

Numberofiterationstoconvergence:7
Achievedconvergencetolerance:5.54e07

>predict(fm)#fittedvaluesatobservedtimes
[1]7.88744912.52497715.25167316.85487017.79749018.677580
>plot(demand~Time,data=BOD,col=4,
+main="BODdataandfittedfirstordercurve",
+xlim=c(0,7),ylim=c(0,20))
>tt<seq(0,8,length=101)
>lines(tt,predict(fm,list(Time=tt)),col=2)

Gambar14.3.PlotperbandingankesesuaianprediksipadadataBOD

262
sht90 ModelNonlinear

14.3.UjiDeteksiHubunganNonlinear
PaketRmenyediakanbeberapaujiuntukmendeteksihubungannonlinearatau
nonlinearitytestantarvariabel,baikpadamodelregresiataupunanalisisruntunwaktu.
Padabagianinipembahasandifokuskanpadadeteksinonlinearitaspadamodelregresi,
khususnyaUjiRamseysRESET,UjiWhite,danUjiTerasvirta.Berikutadalahpenjelasan
untukmasingmasingujinonlinearitastersebut.

14.3.1.UjiRamseysRESET
Teori berkaitan dengan Uji Ramseys RESET ini secara lengkap dapat dilihat di
Ramsey (1969), dan Gujarati (1996). Dalam R, Uji Ramseys RESET disediakan pada
librarylmtestdenganperintahresettest.Secaraumum,penggunaanperintahresettest
yangdisediakandilibrarylmtestadalahsebagaiberikut.


resettest(formula,power=2:3,type=c("fitted","regressor",
"princomp"),data=list())


Keterangan lengkap tentang argumen yang dapat digunakan untuk perintah resettest
adalahsebagaiberikut.

Argumen Keterangan

formula asymbolicdescriptionforthemodeltobetested(orafitted
"lm"object).

power integers.Avectorofpositiveintegersindicatingthepowersof
thevariablesthatshouldbeincluded.Bydefault,thetestisfor
quadraticorcubicinfluenceofthefittedresponse.

type astringindicatingwhetherpowersofthefittedresponse,the
regressorvariables(factorsareleftout),orthefirstprincipal
componentoftheregressormatrixshouldbeincludedinthe
extendedmodel.

data anoptionaldataframecontainingthevariablesinthemodel.
Bydefaultthevariablesaretakenfromtheenvironmentwhich
resettestiscalledfrom.

263
sht90 ModelNonlinear


Penjelasantentangargumenpowerdenganisianintegersadalahsuatufasilitas
tentangsuatubilanganbulatpositifyangmengindikasikanpangkatdarivariabelvariabel
yang akan ditambahkan dalam pengujian nonlinearitas model. Secara default, uji ini
adalah untuk pengaruh kuadratik (pangkat 2) atau kubik (pangkat 3) dari taksiran
variabel respon. Sedangkan argumen type dengan tiga pilihan isian yang harus
ditambahkan dalam model untuk pengujian nonlinearitas, yaitu the fitted response
(taksiran variabel respon), the regressor variables (variabel prediktor), dan the first
principalcomponent(komponenutamapertama)darimatriksregressor.Berikutadalah
ringkasanprosedurUjiRamseysRESET,denganpower=3,danpilihantaksiranvariabel
respon(thefittedresponse)sebagaiprediktortambahan.


(i). Regresikan y t pada 1, x1 , K , x p danhitungnilainilaitaksiranvariabel
respon yt ,yaitu
y t = 0 + 1 x1 + K + p x p .

Hitungkoefisiendeterminasidariregresi,yaitu R 2 ,danselanjutnya
2
notasikandengan Rold .

(ii). Regresikan yt pada 1, x1 , K , x p dan2prediktortambahan,yaitu y t2


dan y t3 ,denganmodel
y t = 0 + 1 x1 + K + p x p + 1 y t2 + 2 y t3 .

Kemudianhitungkoefisiendeterminasidariregresiini,yaitu R 2 ,dan
2
notasikandengan Rnew .

(iii). Hitungnilaiuji F ,yaitu


2
( Rnew Rold
2
)/m
F= ,
(1 Rnew
2
) /(n p 1 m)

dengan m : banyaknyaprediktortambahan(dalamhalini2,suku
kuadratikdankubik),
p : banyaknyaprediktorawal,dan
n : jumlahpengamatanyangdigunakan.

Dibawahhipotesislinearitas,nilaiuji F inimendekatidistribusi F dengan
derajatbebas m dan (n p 1 m) .

264
sht90 ModelNonlinear


Secaraumum,argumentypeakanmemberikanperbedaanmodelpadatahap(ii)
dari prosedur uji diatas. Jika pilihan type adalah variabel regressor, maka m prediktor
tambahandalamtahap(ii)adalahsukukuadratikdan/ataukubikdarivariabelregressor,
sesuaidenganpilihanpoweryangdigunakan.

DalamUjiRamseysRESETini,bentukumummodelyangmenjelaskanhubungan
antaravariabelindependen(prediktor)denganvariabeldependen(respon)dapatditulis
dalam

Y = f ( X ) + .

Hipotesispengujianyangdigunakandalamujinonlinearitasiniadalah:
H0: f ( X ) adalahfungsilineardalam X ataumodellinear
H1: f ( X ) adalahfungsinonlineardalam X ataumodelnonlinear.

H0ditolakyangberartimodelnonlinearadalahyangsesuai,jikanilaiuji F memenuhi
daerahpenolakanyaitu
F > F ; ( df1 =m,df 2 =n p 1m ) ataupvalue < .

Misalkanperintahresettestakandiaplikasikanuntukpengujianduamacamdata
simulasi,yaitudarimodelnonlinear( Y1 )danmodellinear( Y2 ).Bentukmatematisdari
modelpadadatasimulasiadalah

(i). Y1 = 1 + X + X 2 + ,

(ii). Y2 = 1 + X + ,

dengan X = {1,2, K ,30} dan ~ N (0,1) . Berikut ini adalah script untuk membangkitkan
datadanmembuatplotyangmenggambarkanhubunganantara X dengan Y1 dan Y2 .


>x<c(1:30)
>y1<1+x+x^2+rnorm(30)
>y2<1+x+rnorm(30)
>win.graph()
>par(mfrow=c(1,2))
>plot(x,y1,main="PlotXvsY1",col="blue")
>plot(x,y2,main="PlotXvsY2",col="green")

Hasil dari plot yang menggambarkan hubungan antara X dengan Y1 dan Y2 dapat
dilihatpadaGambar14.4.

265
sht90 ModelNonlinear



Gambar14.4.Plotantara X dengan Y1 ,dan X dengan Y2

Selanjutnya, aplikasi Uji Ramseys RESET pada kedua pasangan data dapat
dilakukandenganmenggunakanperintahberikutini.


>library(lmtest)#Aktifkanterlebihdahulu
>resettest(y1~x,power=2,type="regressor")
>resettest(y2~x,power=2,type="regressor")

Hasil dari perintah Uji Ramseys RESET untuk kedua pasangan data di atas adalah
sebagaiberikut.


>resettest(y1~x,power=2,type="regressor")

RESETtest

data:y1~x
RESET=170757.1,df1=1,df2=27,pvalue<2.2e16

>resettest(y2~x,power=2,type="regressor")

RESETtest

data:y2~x
RESET=0.4505,df1=1,df2=27,pvalue=0.5078


266
sht90 ModelNonlinear

Berdasarkanoutputdiatasdapatdisimpulkanbahwaadahubungannonlinearantara X
dengan Y1 . Hal ini ditunjukkan oleh pvalue (2.2e16) yang lebih kecil dari =5%.
Sehingga model nonlinear adalah model yang sesuai untuk menjelaskan hubungan
antara X dengan Y1 . Sebaliknya, output tersebut menunjukkan bahwa tidak ada
hubungannonlinearantara X dengan Y2 ,daninidijelaskanolehpvalue(0.5078)yang
lebihbesardari=5%.Dengandemikian,modellinearadalahmodelyangsesuaiuntuk
menjelaskanhubunganantara X dengan Y2 .
Sebagaitambahan,perhatikankembalidatasimulasipadamodelpertama,yaitu
model nonlinear ( Y1 ) yang merupakan model kuadratik. Jika didefinisikan X 1 = X ,
X 2 = X 2 dan keduanya dimasukkan sebagai variabel prediktor (regressor) pada Uji
RamseysRESET,makaakandiperolehhasilsepertiberikutini.

>x1<x
>x2<x^2
>resettest(y1~x1+x2,power=2,type="regressor")

RESETtest

data:y1~x1+x2
RESET=0.2263,df1=2,df2=25,pvalue=0.799

Hasil output ini menunjukkan bahwa model yang sesuai untuk menjelaskan hubungan
antara X 1 dan X 2 dengan Y1 adalah model linear. Hal ini ditunjukkan oleh pvalue
(0.799) yang lebih besar dari =5%. Dengan demikian dapat disimpulkan bahwa tidak
adahubungannonlinearantara X 1 dan X 2 dengan Y1 .

14.3.2.UjiWhite
UjiWhiteadalahujideteksinonlinearitasyangdikembangkandarimodelneural
network yang dikemukan oleh White (1989). Uji ini termasuk dalam kelompok uji tipe
Lagrange Multiplier (LM). Secara lengkap teori berkaitan dengan uji White ini dapat
dilihat di White (1989) dan Lee dkk. (1993). Pada paket R, Uji White disediakan pada
librarytseriesdenganperintahwhite.test.
Berikut ini adalah penjelasan singkat tentang uji deteksi nonlinearitas tipe
LagrangeMultiplier.Misalkan I t adalahsuatuhimpunaninformasiyangdidefinisikan
I t = {x1t , x 2t , K , x pt }

danmenyatakansemuavariabelvariabeleksogen xt yangdigunakandalam I t oleh wt .

267
sht90 ModelNonlinear

Proses pemodelan adalah mendapatkan suatu pendekatan yang baik untuk f ( wt )


sedemikanhingga
E[ y t | I t ] = f ( wt ) .

Strategi pemodelan pada model statistik yang nonlinear dapat dilakukan dalam dua
tahap, yaitu (i) uji linearitas untuk y t dengan menggunakan informasi I t , dan (ii) jika
linearitas ditolak, gunakan beberapa model parametrik alternatif, nonparametrik, dan
atausemiparametrik.
Perhatikan suatu model nonlinear yang secara matematis ditulis dalam bentuk
sebagaiberikut
yt = ( wt ) + wt + u t (14.1)

dengan u t ~ IIDN (0, 2 ) , wt = (1, w ~ = ( x , K , x ) , = ( , , K , ) , = ( , ~ ) ,


~ ) , w
t t 1t pt 0 1 p 0
dan ~ = ( 1 , K , p ) .Misaldiberikan

( wt ) = 0 ( wt ) ,(14.2)

dengan
( wt ) = {1 + exp( wt )}1 12 .

Dengandemikianpersamaan(14.1)dapatdiinterpretasikansebagaisuatumodelregresi
yangnonlineardengankonstanta 0 + 0 ( wt ) .
Model (14.1) adalah suatu kasus khusus dari model neural network satu layer
tersembunyi(hiddenlayer),
q
y t = wt + 0 j { ( j wt ) 12 } + u t .(14.3)
j =1

Secaravisual,arsitekturdarimodelneuralnetworkinidapatdilustrasikansepertipada
Gambar14.5.
Perhatikan persamaan (14.1) dengan (14.2) dan suatu uji hipotesis bahwa yt
adalahlinear,yaitu y t = wt + u t .Hipotesisnoldapatdidefinisikansebagai H 0 : 0 = 0 .
Dalammodel(14.3)hipotesis

H 0 : 01 = 02 = L = 0q = 0

disebut hipotesis linearitas dari uji neural network melawan nonlinearitas yang
terabaikan(White,1989;Leedkk.,1993).Permasalahanidentifikasidiatasdiselesaikan
dengan menetapkan nilainilai dari vektor 1 , K , q sehingga nilainilai dari ( j wt )
dapat dihitung. Hal ini dilakukan melalui penentuan vektorvektor itu secara random
dari suatu distribusi yang mungkin, dimana Lee dkk. (1993) menggunakan suatu
distribusiuniform.

268
sht90 ModelNonlinear


Karena variabelvariabel ( j wt ) dimungkinkan sangat berkorelasi, Lee dkk.
(1993)menerapkansuatutransformasikomponenutamamenjadi

t = [ ( 1 wt ), K , ( q wt )]

dan menggunakan dua komponen utama yang ortonormal kedalam bagian linear dari
modelpadaregresitambahanuntukujilinearitas.

Gambar14.5.Arsitekturmodelneuralnetworksatulayertersembunyi
padapersamaan(14.3)

Implementasi praktis dari uji linearitas yang merupakan tipe LM dengan


samplingrandomyangdikenalkanolehLeedkk.(1993)yangselanjutnyadikenaldengan
UjiWhiteinidapatdilakukanmelaluiduastatistikuji,yaituuji 2 danuji F .Berikutini
adalahpenjelasanlengkattentangproseduruntukmendapatkannilaiuji 2 danuji F
padaUjiWhite.

269
sht90 ModelNonlinear


Proseduruntukmendapatkannilaiuji 2 padaUjiWhite

(i). Regresikan y t pada 1, x1 , K , x p danhitungnilainilairesidual u t .

(ii). Regresikan u t pada 1, x1 , K , x p dan m prediktortambahan,dan


kemudianhitungkoefisiendeterminasidariregresi R 2 .Dalamujiini,
m prediktortambahaniniadalahnilainilaidari ( j wt ) hasildari
suatutransformasikomponenutama.

(iii). Hitung 2 = nR 2 ,dengan n adalahjumlahpengamatanyang


digunakan.

Dibawah hipotesis linearitas, 2 mendekati distribusi 2 (m) . Kajian
d
teoritis berkaitan dengan pendekatan asimtotis nR 2 2 dapat
dilihatpadaWhite(1989).



Proseduruntukmendapatkannilaiuji F padaUjiWhite

(i). Regresikan y t pada 1, x1 , K , x p danhitungnilainilairesidual u t dan


hitungjumlahkuadratresidual SSR0 = u t2 .

(ii). Regresikan u t pada 1, x1, K , x p dan m prediktortambahan(seperti


yangdijelaskandiatas),dankemudianhitungresidual vt danjumlah
kuadratresidual SSR1 = vt2 .

( SSR0 SSR1 ) / m
(iii). Hitung F = ,
SSR1 /(n p 1 m)

dengan n adalahjumlahpengamatanyangdigunakan.

Dibawahhipotesislinearitas,nilaiuji F inimendekatidistribusi F dengan
derajatbebas m dan (n p 1 m) .

270
sht90 ModelNonlinear


Secaraumum,adaduamacampenggunaanperintahwhite.testyangdisediakan
di library tseries untuk implementasi Uji White, yaitu untuk permasalahan analisis
regresi dan analisis runtun waktu. Berikut ini adalah cara penggunaan uji White
tersebut.


##Defaultmethod:untukanalisisregresi
white.test(x,y,qstar=2,q=10,range=4,
type=c("Chisq","F"),scale=TRUE,...)

##UjiWhiteuntukanalisisruntunwaktu
white.test(x,lag=1,qstar=2,q=10,range=4,
type=c("Chisq","F"),scale=TRUE,...)


Keterangan tentang argumen yang dapat digunakan untuk perintah white.test adalah
sebagaiberikut.

Argumen Keterangan

x Anumericvector,matrix,ortimeseries.
y Anumericvector.
lag anintegerwhichspecifiesthemodelorderintermsoflags.
q anintegerrepresentingthenumberofphantomhiddenunitsusedto
computetheteststatistic.
qstar thetestisconductedusingqstarprincipalcomponentsofthe
phantomhiddenunits.Thefirstprincipalcomponentisomittedsince
inmostcasesitappearstobecollinearwiththeinputvectorof
laggedvariables.Thisstrategypreservespowerwhilestillconserving
degreesoffreedom.
range theinputtohiddenunitweightsareinitializeduniformlyover
[range/2,range/2].
type AstringindicatingwhethertheChiSquaredtestortheFtestis
computed.Validtypesare"Chisq"and"F".
scale Alogicalindicatingwhetherthedatashouldbescaledbefore
computingtheteststatistic.Thedefaultargumentstoscaleareused.
... furtherargumentstobepassedfromortomethods.


271
sht90 ModelNonlinear


Misalkanperintahwhite.test akandiaplikasikan untuk pengujiandatasimulasi,
yaitudarimodelnonlineardenganbentukmatematissebagaiberikut

Y = X 2 X 3 + ,

dengan X ~ U (1,1) dan ~ N (0,0.1) . Berikut ini adalah script untuk membangkitkan
datadanmembuatplotyangmenggambarkanhubunganantara X dengan Y .


>n<1000
>x<runif(1000,1,1)#Nonlinearin``mean''regression
>y<x^2x^3+0.1*rnorm(x)
>plot(x,y,main="PlotXvsY",col="blue")

Hasildariplotyangmenggambarkanhubunganantara X dengan Y dapatdilihatpada


Gambar14.6berikutini.


Gambar14.6.Plotyangmenggambarkanhubunganantara X dengan Y

Berdasarkan plot ini dapat dijelaskan bahwa hubungan antara X dengan Y
adalahnonlinear.BerikutiniadalahaplikasiUjiWhiteuntukdeteksinonlinearitaspada
pasangandatahasilsimulasitersebut.

272
sht90 ModelNonlinear


>library(tseries)#Aktifkanterlebihdahulu
>white.test(x,y)#UjiChisquare
>white.test(x,y,type=c("F"))#UjiF

>##Isthepolynomialoforder2misspecified?
>white.test(cbind(x,x^2,x^3),y)

Dalam kasus ini, secara umum hipotesis pengujian yang digunakan dalam uji non
linearitasiniadalah:
H0: f ( X ) adalahfungsilineardalam X ataumodellinear
H1: f ( X ) adalahfungsinonlineardalam X ataumodelnonlinear.

Hasil dari perintah Uji Ramseys RESET untuk kedua pasangan data di atas adalah
sebagaiberikut.


>white.test(x,y)

WhiteNeuralNetworkTest

data:xandy
Xsquared=2462.076,df=2,pvalue<2.2e16

>white.test(x,y,type=c("F"))

WhiteNeuralNetworkTest

data:xandy
F=4536.783,df1=2,df2=997,pvalue<2.2e16


Berdasarkan output ini dapat disimpulkan bahwa ada hubungan nonlinear antara X
dengan Y , baik dengan uji Chisquare atau uji F. Hal ini ditunjukkan oleh besarnya
pvalue (2.2e16 baik pada uji Chisquare maupun uji F) yang lebih kecil dari =5%.
Dengan demikian, model nonlinear adalah model yang sesuai untuk menjelaskan
hubunganantara X dengan Y .
Sebagai tambahan, perhatikan kembali data simulasi pada model ini, yaitu Y
merupakan model nonlinear yang merupakan model kubik. Jika didefinisikan X 1 = X ,
X 2 = X 2 , X 3 = X 3 dan ketiganya dimasukkan sebagai variabel prediktor (regressor)
padaUjiWhite,makaakandiperolehhasilsepertioutputberikutini.

273
sht90 ModelNonlinear



>x1<x
>x2<x^2
>x3<x^3
>x.all<cbind(x1,x2,x3)
>white.test(x.all,y)

WhiteNeuralNetworkTest

data:x.allandy
Xsquared=1.2287,df=2,pvalue=0.541

>#UjiWhitedenganujiF
>white.testx.all,y,type=c("F"))

WhiteNeuralNetworkTest

data:x.allandy
F=0.1956,df1=2,df2=995,pvalue=0.8224

Berbeda dengan kesimpulan sebelumnya, hasil output ini menunjukkan bahwa model
yang sesuai untuk menjelaskan hubungan antara X 1 , X 2 dan X 3 dengan Y adalah
model linear. Hal ini ditunjukkan oleh pvalue (0.541 pada uji Chisquare, dan 0.8224
padaujiF)yanglebihbesardari=5%.Dengandemikiandapatdisimpulkanbahwatidak
adahubungannonlinearantara X 1 , X 2 dan X 3 dengan Y .

14.3.3.UjiTerasvirta
Seperti Uji White sebelumnya, Uji Terasvirta adalah uji deteksi nonlinearitas
yangjugadikembangkandarimodelneuralnetworkdantermasukdalamkelompokuji
tipe Lagrange Multiplier (LM). Secara lengkap teori berkaitan dengan uji Terasvirta ini
dapat dilihat di Terasvirta dkk. (1993). Uji Terasvirta ini adalah uji tipe Lagrange
MultiplieryangdikembangkandenganekspansiTaylor.Padaakhirnya,perbedaanutama
dengan Uji White terletak pada tahap kedua prosedur uji, khususnya tentang m
prediktortambahanyangdimasukkandalammodelpengujian.DalamUjiTerasvirtaini,
m prediktor tambahan yang digunakan adalah suku kuadratik dan kubik yang
merupakanhasildaripendekatanekspansiTaylor.
Paket R menyediakan fasilitas untuk Uji Terasvirta pada library tseries dengan
perintahterasvirta.test.SepertipadaUjiWhite,adaduamacampenggunaanperintah
terasvirta.testyangdisediakandilibrarytseriesuntukimplementasiUjiTerasvirta,yaitu
untuk permasalahan analisis regresi dan analisis runtun waktu. Berikut ini adalah cara
penggunaanujiTerasvirtadenganpaketR.

274
sht90 ModelNonlinear



##Defaultmethod:untukanalisisregresi
terasvirta.test(x,y,type=c("Chisq","F"),
scale=TRUE,...)

##UjiTerasvirtauntukanalisisruntunwaktu
terasvirta.test(x,lag=1,type=c("Chisq","F"),
scale=TRUE,...)


Keterangan tentang argumen yang dapat digunakan untuk perintah terasvirta.test


adalahsebagaiberikut.

Argumen Keterangan

x anumericvector,matrix,ortimeseries.

y anumericvector.

lag anintegerwhichspecifiesthemodelorderintermsoflags.

type astringindicatingwhethertheChiSquaredtestortheFtestis
computed.Validtypesare"Chisq"and"F".

scale alogicalindicatingwhetherthedatashouldbescaledbefore
computingtheteststatistic.Thedefaultargumentstoscale
areused.

... furtherargumentstobepassedfromortomethods.


Misalkan perintah terasvirta.test akan diaplikasikan untuk pengujian data
simulasisepertipadaUjiWhitesebelumnya,yaitudarimodelnonlineardenganbentuk
matematissebagaiberikut

Y = X 2 X 3 + ,

dengan X ~ U (1,1) dan ~ N (0,0.1) . Seperti pada bagian sebelumnya, hipotesis


pengujianyangdigunakanadalah

H0: f ( X ) adalahfungsilineardalam X ataumodellinear


H1: f ( X ) adalahfungsinonlineardalam X ataumodelnonlinear.

275
sht90 ModelNonlinear

BerikutiniadalahscriptdanhasilimplementasiUjiTerasvirtauntukevaluasihubungan
antara X dengan Y .


>terasvirta.test(x,y)

TeraesvirtaNeuralNetworkTest

data:xandy
Xsquared=2476.359,df=2,pvalue<2.2e16

>terasvirta.test(x,y,type=c("F"))

TeraesvirtaNeuralNetworkTest

data:xandy
F=5432.583,df1=2,df2=997,pvalue<2.2e16

>terasvirta.test(x.all,y)

TeraesvirtaNeuralNetworkTest

data:x.allandy
Xsquared=21.7509,df=16,pvalue=0.1514

>terasvirta.test(x.all,y,type=c("F"))

TeraesvirtaNeuralNetworkTest

data:x.allandy
F=1.3482,df1=16,df2=981,pvalue=0.1605

Berdasarkan output dari dua perintah pertama dapat disimpulkan bahwa ada
hubungannonlinearantara X dengan Y ,baikdenganujiChisquareatauujiF.Halini
ditunjukkanolehbesarnyapvalue(2.2e16baikpadaujiChisquaremaupunujiF) yang
lebih kecil dari =5%. Dengan demikian, model nonlinear adalah model yang sesuai
untukmenjelaskanhubunganantara X dengan Y ,dan hal inisama denganhasil yang
diperolehpadaUjiWhite.

Sedangkan hasil output dari dua perintah terakhir menunjukkan bahwa model
yang sesuai untuk menjelaskan hubungan antara X 1 = X , X 2 = X 2 dan X 3 = X 3
dengan Y adalah model linear. Hal ini ditunjukkan oleh pvalue (0.1514 pada uji Chi
square,dan0.1605padaujiF) yanglebihbesardari =5%.Hasiliniadalahsamadengan
kesimpulanyangdiperolehpadaUjiWhite,yaitutidakadahubungannonlinearantara
X 1 , X 2 dan X 3 dengan Y .

276
why92 PengenalanPemrogramandalamR

BAB15
PENGENALANPEMROGRAMANDALAMR

Paket R menyediakan fasilitas untuk membuat fungsi yang didefinisikan oleh
user (userdefined function). Fasilitas ini memungkinkan user untuk membuat program
analisis yang lebih fleksibel dengan menggunakan fungsifungsi builtin didalam R.
Fungsifungsibuiltininisudahdiperkenalkanpadababbabsebelumnya.Padabagianini
akandiberikanpengantarmengenaipemrogramandenganbahasaR.

15.1.PenulisanFungsi
SalahsatutahappentingdalampendefinisianfungsifungsibarudiRadalahcara
penulisan fungsi tersebut. Secara umum, struktur penulisan fungsi di dalam R adalah
sebagaiberikut.

nama_fungsi = function(argumen dari fungsi)


{
........... isi dari fungsi
}

Penulisan fungsi ini dapat dilakukan melalui dua macam cara, yaitu melalui RConsole
danREditor.Sebagaiilustrasi,misalkanakandibuatfungsiuntukmenghitungratarata
sekumpulandata.DalamhalinidianggapRtidakmemilikifungsiuntukmenghitungnilai
ratarata. Akan tetapi R memiliki fungsi untuk menghitung jumlah (yakni sum), dan
fungsiuntukmenghitungpanjangvektor(yaknilength).Berikutiniadalahcontohfungsi
rataratayangdituliskanpadaRConsole.

> rata=function(x)
+ {
+ rata_rata=sum(x)/length(x)
+ rata_rata
+ }

Dalamcontohini,namafungsiyangdibuatadalahrata,danargumennyaadalah
xsebagaidatayangakandihitungrataratanya.

> x=c(2,1,3,4,5)
> rata(x)
[1] 3

277
why92 PengenalanPemrogramandalamR

SedangkanmelaluiREditor,pendefinisianfungsibarudapatdikerjakandenganlangkah
langkahsebagaiberikut.
Pertama kali munculkan REditor dengan klik File pada RConsole, kemudian pilih
New script. Selanjutnya ketik script fungsi yang akan dibuat padaREditorseperti
berikutini.

Apabila sudah selesai, simpan fungsi ini dengan memilih File pada RConsole, dan
kemudianklikSaveas...,sehinggadiperolehtampilansepertiberikutini.

278
why92 PengenalanPemrogramandalamR

Sebagai catatan, pemberian nama boleh berbeda dengan nama fungsi yang di
definisikan. Akan tetapi untuk mempermudah mengingatnya disarankan untuk
menggunakannamafilesamadengannamafungsi.Dalamhalinidiberinamarata.

Selanjutnyaagarfungsidapatdigunakan,makadidalamfileiniharusdibuatsource
nya. Proses ini dapat dapat dilakukan dengan menggunakan menu File, kemudian
klikSourceRcode...danpilihfileyangakandisourcekansepertiberikut.



KlikOpen,sehinggapadaRConsoleakanmuncultextberikutini.

> source("C:\\Program Files\\R\\R-2.7.2\\rata")

Text ini menunjukkan bahwa dalam fungsi yang didefinisikan tidak ada kesalahan
perintah. Untuk mencoba fungsi ini, misalkan akan dihitung ratarata dari data
3,1,2,4,5.Selanjutnyaketikperintahsepertiberikut.

> x=c(3,1,2,4,5)
> rata(x)
[1] 3

Sampai di sini sudah bisa didefinisikan fungsi baru yang sederhana didalam R.
Untuk pembuatan fungsi yang lebih kompleks, diperlukan pengetahuan tentang
typedatadanperintahperintahdalampemrograman.

279
why92 PengenalanPemrogramandalamR

15.2.TypeDatadanOperator
PadaBab3telahdibahastentangbeberapatypedatapadaR.Pengetahuanakan
typedatainisangatdiperlukandalampendefinisanfungsibaru.Secaraumumadatype
datadasar,yaitunumeric,characterataustring,danlogika.Sedangkantypedatayang
terstruktur,yangterdiridarikombinasitypedatadasar,adalaharray.Arrayyangterdiri
darisatudimensidinamakanvektor,sedangkanyangterdiridariduadimensiataulebih
dinamakan matrik. Bagaimana mendefinisikan datadata type ini secara lengkap sudah
dibahasdalamBab3.
Hal lain yang harus diingat selain type data adalah operator. Operator
digunakan untuk operasi matematik atau manipulasi data. Dalam pendefinisian fungsi
baru atau secara umum dalam pemrograman seringkali memerlukan kombinasi
penggunaan berbagai macam operator. Berikut ini ringkasan operator yang biasa
digunakandalamoperasimatematik.

OperatorAritmetika

+ penjumlahan

pengurangan
* perkalian
/ pembagian
^ pangkat

OperatorLogika

< kurangdari
<= kurangdariatausamadengan
> lebihdari
>= lebihdariatausamadengan
== samadengan
!= tidaksamadengan
& dan(and)
| atau(or)
! tidak(negasi)

280
why92 PengenalanPemrogramandalamR

Selainoperatordiatas,dalamBab3telahpuladibuatringkasanoperatoruntuk
matrik seperti penjumlahan, pengurangan, perkalian, invers, determinan dan eigen
value.Perintahperintahinisangatpentingdalammendefinisikanfungsibaru.

15.3.ControlFlowdidalamR
Barisanperintahdalam Rbiasanyadieksekusibarisperbaris.DalamR,barisan
perintahyangdiletakkandidalamtandakurung{}sebagaisatugroupdipandangsebagai
satuekspresitunggal.Barisanekspresiyangdinyatakandalambentukgroupinijugadi
eksekusibarisperbaris.Untukmengaturproseseksekusi,diperlukanperintahperintah
controlflow.Bentukcontrolflowiniakanbanyakdigunakandalammenulissuatufungsi
yangdibentukolehuser.Beberapaperintahcontrol flowyangdikenaldidalamRakan
dibahasdalambagianini.

Statemenif
Statemeninimempunyaiaturanpenulisan

> if (kondisi) {ekspresi}

Perintah ini berarti jika (kondisi) bernilai benar, maka {ekspresi} dilaksanakan, jika
(kondisi) bernilai salah, maka {ekspresi} tidak dilaksanakan. Berikut adalah contoh
statemenif.

> if (2>3) x=c(1,2,3)


> x
Error: object "x" not found

Pada contoh ini, karena kondisi (2>3) bernilai False, maka ekspresi x=c(1,2,3) tidak
dieksekusi. Sehingga pada saat nilai x ditampilkan, karena x tidak ada maka keluar
pesanError:object"x"notfound.Selanjutnyaperhatikancontohstatemenifberikut
ini.

> if (2<3) x=c(1,2,3)


> x
[1] 1 2 3

Padacontohini,karenakondisi(2<3)bernilaibenar(True),makaekspresix=c(1,2,3)
dieksekusi,sehingganilainilaidataxdapatditampilkan.

281
why92 PengenalanPemrogramandalamR

Statemenifelse
Statemeninimempunyaiaturanpenulisansepertiberikutini.

> if (kondisi) {ekspresi1} else {ekspresi2}

Perintah ini mempunyai arti jika (kondisi) bernilai benar maka {ekspresi1} yang
dilaksanakan, dan jika bernilai salah maka {ekspresi2} yang dilaksanakan. Berikut
contohstatemenifelse.

> if (2>3) x=c(1,2,3) else x=c(4,5,6)


> x
[1] 4 5 6

Statemenfor
Statemeninidigunakanuntukperulangan.Syntaxdasardarifungsiiniadalahsebagai
berikut.

> for (name in expr1) {expr2}

Pada contoh dibawah ini, statemen for akan digunakan untuk menghitung nilai
faktorial.

> f=1
> for (i in 1:5)
+ {
+ f=f*i
+ }
> f
[1] 120

Padacontohinidihitungnilai5!=1.2.3.4.5=120.

Fungsibreakdannext
Syntaxdarifungsiiniadalahsebagaiberikut.
break : stopdankeluarloopyangsedangdieksekusi.
next : stopiterasiyangsedangberjalandanlangsungmulaiiterasiselanjutnya.

Command next dan break pada dasarnya berfungsi untuk mencegah kemungkinan
adanyainfinitifeloopdalamsuatufungsi,sepertidalamsuatulooprepeat(yangdalam

282
why92 PengenalanPemrogramandalamR


Rtidakmemilikiakhireksekusiyangalami,sehinggamutlakdiperlukanstoppingloop
dengan perintah break atau next) dan while (yang diperlukan untuk menghentikan
perulangan atau loop di satu bagian dari ekspresi dalam loop tanpa melanjutkan ke
ekspresilaindidalamloopini).

Statemenreturndanstop
Keduabentukstatemeninidigunakanuntukmenghentikaneksekusidarisuatufungsi
yangtelahdiaksesdankembalikeRprompt.Syntaxnyaadalahsebagaiberikut.
return(expr) : stopfungsiyangsedangdiaksesataudievaluasidanmunculkan
outputnilaidariexprdiprompt.
stop(message): digunakanuntukmemberikantandaadanyakesalahandengan
menghentikanevaluasidarifungsiyangsedangdiaksesdan
menampilkanmessagedipromptsebagaipesankesalahandan
kembalikeRprompt.

Fungsi return tidak hanya membuat kita berhenti dari loop yang sedang dievaluasi,
tetapijugadarifungsiyangsedangdiakses.Jadiberbedadenganbentuk break atau
nextyangtidakmenghentikaneksekusifungsi.

Statementrepeat
Syntaxdasardaristatemeniniadalahsebagaiberikut.

> repeat {expr}

Perintah repeat pada R merupakan perintah ynag mengakibatkan perulangan atau


looping tiada henti. Oleh karena itu, penggunaan repeat memerlukan penambahan
perintahuntukmenghentikanperulangan.Perintahinibisamenggunakanstatemenif
yang dikombinasikan dengan break. Berikut ini adalah contoh untuk menghitung n!
denganmenggunakanrepeat.

> f=1
> i=0
> repeat
+ {
+ i=i+1
+ f=f*i
+ if (i==5) break
+ }
> f
[1] 120

283
why92 PengenalanPemrogramandalamR


Statementwhile
Statemen while merupakan statemen untuk perulangan, dengan syntax sebagai
berikut.

> while (condition) expr

Sebagaicontoh,akandibuatperintahuntukmenghitungnilain!.

> f=1
> i=0
> while (i<5)
+ {
+ i=i+1
+ f=f*i
+ }
> f
[1] 120

15.4.Beberapatopikyangberhubungandenganfungsi
Berikutiniadalahbeberapatopikyangberhubungandenganfungsiyangbanyak
digunakandalampemrogramR.

15.4.1.Argumendarisuatufungsi
Didalam membuat argumen dari suatu fungsi ada beberapa hal yang diperhatikan,
antaralainoptionaldanrequiredargument.

a.Optionalargument
Optionalargumentadalahargumensuatufungsiyangdapattidakdiberikannilainya
ketika fungsi tersebut dipanggil. Untuk hal tersebut biasanya ada nilai default dari
argumen itu yang tidak perlu didefinisikan nilainya pada saat dipanggil. Sebagai
contoh, misalkaningindibangkitkandataberdistribusinormalsebanyak10,dengan
mean=15danvariansi=9denganfungsirnormberikutini.

datanormal=function(n=10,mean=15,variansi=9)
{
data <- rnorm(n,mean,sqrt(variansi))
data
}

284
why92 PengenalanPemrogramandalamR

Seluruhargumendarifungsidatanormaldiatasmerupakanoptionalargumentyakni
secara default telah diberikan nilai dari masingmasing argumen. Setelah script
function diketikkan pada RConsole atau pada REditor, panggil dengan perintah
berikut.

> datanormal()
[1]12.48633015.94063616.79275218.63401513.50043015.72283810.076475
[8]9.9908978.05666015.627972

Sudah ditampilkan 10 bilangan random normal dengan mean 15 dan variansi 9.


Argumen optional ini dapat diganti dengan memberikan spesifikasi nilai dari
argumen tersebut. Sebagai contoh akan dibangkitkan 25 bilangan normal standar
dengan fungsi diatas. Hal tersebut dapat dilakukan dengan memanggil fungsi
datanormaldenganmerubahnilaiargumennya,yaitu

> datanormal(n=20, mean=0, variansi=1)

ataudapatjugadengan

> datanormal(20,0,1)

Perintahiniakanmenggantinilaidefaultargumenoptionalpadafungsidatanormal,
sehinggadiperolehhasilsebagaiberikutini.

[1]1.143680170.134699672.596789361.471904790.757855801.73536802
[7]0.405799351.214022391.375582350.029391011.519455770.84322992
[13]1.692951402.572906340.525872041.643174260.573956250.23601621
[19]0.147496581.42066282

b.Requiredargument
Requiredargumentadalahargumenargumenyangharusdiberikanataudispesifikasi
nilainya jika fungsi tersebut dipanggil. Sebagai contoh akan dilakukan modifikasi
fungsibangkitannormaldiatasmenjadisepertiberikutini.

datanormal2 <-function(n, mean, variansi=9)
{
data=rnorm(n, mean, sqrt(variansi))
data
}

285
why92 PengenalanPemrogramandalamR


Dengan demikian argumen n dan mean merupakan required argument, sehingga
harus diberi nilai ketika user memanggil fungsi bangkitan datanormal2 melalui R
prompt.Sebagaicontoh,perhatikanperintahberikutini.

> datanormal2(10,0)

Perintah ini akan membangkitkan 10 bilangan random normal dengan mean 0 dan
variansi9,denganoutputsebagaiberikut.

[1]1.914678071.516189590.032839811.549366055.600143281.23081757
[7]2.015694231.603316113.206827781.46176645

15.4.2.Mengaturtampilandarioutput
Ada beberapa fungsi builtin yang dapat digunakan untuk mengatur tampilan
output, baik dengan menampilkan layar maupun dengan menyimpan data di disk.
Berikutadalahuraiantentangbeberapafungsitersebut.

a.Fungsitabdannewline
Untukmenggunakantabdalammenampilkanoutputmakagunakan\tsedangkan
untukmenggantibaris,gunakan\n.Perintahiniseringdigunakanbersamadengan
perintahcat(lihatbagiand).

b.Perintahprint
Perintahinibertujuanuntukmenampilkansuatuobjekkelayarsesuaidenganjenis
data.Perhatikancontohberikutini.


>dataprint=list(karakter=letters[1:5],numerik=c(1:5))
>print(dataprint)
$karakter
[1]"a""b""c""d""e"

$numerik
[1]12345

c.Perintahformat
Perintah format bertujuan untuk mengubah mode data dari numerik ke karakter.
Lihatcontohberikutini.

286
why92 PengenalanPemrogramandalamR




>angka=1:10
>angka
[1]12345678910
>karakter=format(angka)
>angka_karakter=format(angka)
>angka_karakter
[1]"1""2""3""4""5""6""7""8""9""10"

d.Perintahcat
Perintahcatmerupakanperintahyangcukupfleksibeldidalammenampilkanoutput
dilayar,yaitudapatmenampilkandatacharacter,datanumerik,komentarkomentar
output, ataupun menuliskan data layar. Lihat help menu dari R untuk keterangan
lebih lanjut mengenai fungsi ini. Untuk mengilustrasikan penggunaan dari perintah
catinidiberikancontohsebagaiberikut.Misalkanuseringinmerubahtampilandari
outputfungsibangkitannormaldiatas,danakandilakukanmodifikasidarifungsiitu
sepertiberikutini.

datanormal3 <- function(n=10,mean=15,variansi=9)


{
data<-rnorm(n,mean,sqrt(variansi))
cat(============\n)
cat( List Data \n)
cat(============\n)
cat(data, sep = \n)
cat(============\n)
}

Setelah file disourcekan (jika diketik melalui REditor), maka contoh output dari
fungsi ini dapat dilihat dibawah ini. Perhatikan perbedaan tampilan output dengan
perintah datanormal3. Perintah \n dan \t telah dikenalkan pada bagian (a)
diatas.

>datanormal3()
===========
ListData
===========
2.422166
4.422396
.............
8.015969
===========

287
why92 PengenalanPemrogramandalamR


Lebihlanjut,fungsicatdapatdigunakanuntukmenyimpanoutputkedalamsuatufile
eksternal disk. Misalkan output dengan format yang sama dengan contoh diatas
ingin disimpan ke direktori c: dengan nama file output.txt (nama maksimum 8
character). Maka perlu dilakukan modifikasi fungsi datanormal menjadi sebagai
berikut.

datanormal4 <- function(n=10,mean=15,variansi=9)


{
data <- rnorm(n,mean,sqrt(variansi))
cat(=================\n,file=c:output.txt)
cat( List Data \n, append=T,file=c:output.txt)
cat(=================\n, append=T,
file=c:output.txt)
cat(data, sep = \n, append=T,file=c:output.txt)
cat(=================\n, append=T
,file=c:output.txt)
}

Perhatikan perbedaan fungsi datanormal4 dan datanormal3 pada contoh diatas.


Lokasi dan namafiledapatdisesuaikan dengankeinginan user. Setelahdisourcekan
file script dari fungsi ini, maka fungsi ini dapat dipanggil menggunakan perintah
sebagaiberikut.

> datanormal4()

Outputdarifungsidatanormal4dapatdiaksesdenganmelihatfileoutput.txtmelalui
pilihanFile,dankemudianklikOpenscript.Perhatikandirectoryyangaktifadadi
C:\ProgramFiles\R\R2.7.2\

C:\Program Files\R\R-2.7.2\output.txt - R Editor

288
why92 PengenalanPemrogramandalamR

e.Perintahwrite.table
Fungsi ini dapat digunakan untuk menuliskan data (biasanya bertipe dataframe)
yang ada kedalam suatu file di disk. Untuk keterangan lebih lanjut dari fungsi ini,
lihatfasilitashelpdariR.Berikutadalahcontohpenggunaandariperintahtersebut.

datanormal5 <- function(n=10,mean=15,variansi=9)
{
data <- as.data.frame(rnorm)(n,mean,sqrt(variansi))
write.table(data,file=c:output.txt,sep=\t)
}

Setelah disourcekan file script dari fungsi ini, maka selanjutnya fungsi ini dapat
dipanggildenganmenggunakanperintahsepertiberikutini.

> datanormal5()

15.5.Contohcontohfungsi
Selanjutnya akan diberikan beberapa contoh fungsi dengan menggunakan
perintahperintah yang sudah dijelaskan di bagian sebelumnya. Contohcontoh ini
diharapkandapatlebihmemberipemahamantentangbagaimanamendefiniskanfungsi
baru di R. Sebelum mengetikkan script fungsi ini pada REditor, perintahperintah
berikut disarankan untuk dicoba terlebih dahulu baris per baris pada RConsole. Jika
urutan sudah benar, baik secara logic maupun syntax, maka urutanurutan perintah
pada RConsole dapat dicopy, kemudian dipaste ke REditor. Cara ini akan membantu
prosesmencarikesalahandalamprogram(debugging).

Ujitdengansampeltunggal
Berikut ini adalah contoh fungsi untuk uji ratarata sampel tunggal dengan
varians tidak diketahui dengan menggunakan statistik uji t. Pada fungsi berikut, diberi
nama uji_t, dengan argumen x sebagai vektor data yang akan diuji, mu0 sebagai nilai
ratarata yang dihipotesiskan, dan arah sebagai identifikasi apakah hipotesis alternatif
pengujianbersifatduaarah,kurangdariataulebihdari.

uji_t = function(x,mu0,arah)
{
df=length(x)-1
T=abs((mean(x)-mu0)/(sd(x)/sqrt(length(x))))
if (arah==0) P=2*(1-pt(abs(T),df))
else if (arah==-1) P=pt(T,df)
else P=pt(T,df,lower.tail=FALSE)

289
why92 PengenalanPemrogramandalamR

cat("Uji t Sampel Tunggal","\n")


cat("Ho:mu =",mu0,"\n")
if (arah==0) cat("H1:mu !=",mu0,"\n")
if (arah==-1) cat("H1:mu <",mu0,"\n")
if (arah==1) cat("H1:mu >",mu0,"\n")
cat("Mean=",mean(x),", stdev=", sd(x),"
n=",length(x),"\n")
cat("T = ",T,",df = ",df," ,P = ",P,"\n")
}

Sebelum menjalankan, simpan terlebih dulu fungsi itu dengan nama uji_t.R dan
kemudian disourcekan. Untuk menjalankan akan digunakan data bakteri seperti yang
dibahas pada Bab 7. Sehingga, perbandingan hasil fungsi ini dapat dilakukan dengan
outputujisampeltunggalpadaRdiBab7tersebut.



>bakteri=c(175,190,215,198,184,207,210,193,196,180)

>uji_t(bakteri,200,0)

UjitSampelTunggal
Ho:mu=200
H1:mu!=200
Mean=194.8stdev=13.13858n=10
T=1.251570,df=9P=0.2422777

>uji_t(bakteri,200,1)

UjitSampelTunggal
Ho:mu=200
H1:mu>200
Mean=194.8stdev=13.13858n=10
T=1.251570,df=9P=0.8788612

>uji_t(bakteri,200,1)

UjitSampelTunggal
Ho:mu=200
H1:mu<200
Mean=194.8stdev=13.13858n=10
T=1.251570,df=9P=0.1211388

290
why92 PengenalanPemrogramandalamR

RegresiLinearSederhana
Berikutiniakandiberikancontohfungsiregresiuntukmengestimasipersamaan
regresi linear sederhana. Fungsi ini mempunyai 2 argumen, yaitu y sebagai variabel
respon dan x sebagai variabel prediktor. Estimasi dilakukan dengan metode kuadrat
terkecil.Selanjutnya berturutturutdihitungstandarderrorhasil estimasi, thitung dan
nilai p. Sebagai validasi, hasil perhitungan dapat dibandingkan dengan output menu
regresisepertipadaBab8.

regresi<-function(y,x)
{
if (length(y)!=length(x)) cat("Banyak data tidak sama\n")
k=1
n=length(x)
for (i in 1:n) k[i]=1
X=cbind(k,x)
b=(solve(t(X)%*%X))%*%t(X)%*%y
y_hat=X%*%b
e=y-y_hat
SSR=sum((y_hat-mean(y))^2)
SSE=sum((y-y_hat)^2)
MSR=SSR/1
MSE=SSE/(n-1-1)
cov_b=solve(t(X)%*%X)*MSE
se_b=sqrt(diag(cov_b))
t_value=(1/se_b)*b
p_value=2*(1-pt(abs(t_value),n-2))
cat(" estimate std.error t_value p \n")
for (i in 1:2)
{
if (i==1) cat("intercept
",b[i],se_b[i],t_value[i],p_value[i],"\n")
else cat( "x
",b[i],se_b[i],t_value[i],p_value[i],"\n")
}
}

Untukmenjalankan,misalkandigunakandataberikutini.


>y=c(11,13,15,12,14,16,18)
>x=c(2,4,5,3,6,7,8)
>regresi(y,x)
estimatestd.errort_valuep
intercept8.7857140.749829911.716947.960169e05
x1.0714290.13923997.6948380.0005912413

291
sht90 DaftarPustaka

DAFTARPUSTAKA

Cryer,J.D.(1986).TimeSeriesAnalysis.Boston:PWSKENTPublishingCompany.
Draper, N.R. and Smith, H. (1981). Applied Regression Analysis. Second Edition, John
Wiley&Sons,Inc.
Granger, C.W.J. and Terasvirta, T. (1993). Modeling Nonlinear Economic Relationships.
Oxford:OxfordUniversityPress.
Gujarati, D.N. (1996). Basic Econometrics. 5th edition, McGraw Hill International, New
York.
Hair, J.F., Anderson, R.E., Tatham, R.L. and Black, W.C. (2006). Multivariate Data
Analysis.6thedition,PrenticeHallInternational:UnitedKingdom.
Hanke, J.E. and Reitsch, A.G. (2001). Business Forecasting. 7th edition, Prentice Hall,
EnglewoodCliffs,N.J.
Hrdle,W.(1991).SmoothingTechniqueswithImplementationinS.NewYork:Springer
Verlag.
Hosmer, D.W. and Lemeshow, S. (1989). Applied Logistic Regression. NewYork: John
Wiley&Sons.
Johnson, R.A. and Bhattacharyya, G.K. (1996). Statistics: Principles and Methods. 3rd
edition,Canada:JohnWiley&Sons..
Johnson, N. and Wichern, D. (1998). Applied Multivariate Statistical Analysis. Prentice
Hall,EnglewoodCliffs,N.J.
Kutner, M.H., Nachtsheim, C.J. and Neter, J. (2004). Applied Linear Regression Models.
McGrawHillInternational,NewYork.
Lee, T.H., White,H., and Granger,C.W.J. (1993).Testing forNeglectedNonlinearityin
TimeSeriesModels:AcomparisonofNeuralNetworkmethodsandalternativetest.
JournalofEconometrics,56,pp.269290.
Makridakis,S.,Wheelwright,S.C.andHyndman,R.J.(1998).Forecasting:Methodand
Applications.NewYork:JohnWiley&Sons.
McCullagh, P. and Nelder, J.A. (1989). Generalized Linear Models. Second edition.
London:ChapmanandHall.
Ramsey, J.B. (1969). Tests for Specification Error in Classical Linear Least Squares
RegressionAnalysis.JournaloftheRoyalStatisticalSociety,SeriesB,31,350371.
Scott,D.W.(1992).MultivariateDensityEstimation.Theory,Practice,andVisualization.
NewYork:JohnWileyandSons.
Seber, G.A.F. and Wild, C.J. (1989). Nonlinear Regression. New York: John Wiley and
Sons.


292
sht90 DaftarPustaka

Sharma,S.(1996).AppliedMultivariateTechniques.NewYork:JohnWiley&Sons.
Shumway,R.H.andStoffer,D.S.(2006).TimeSeriesAnalysisandItsApplicationswithR
Examples.Secondedition,Springer:NewYork,USA.
Silverman, B.W. (1985). Density Estimation for Statistics and Data Analysis. London:
ChapmanandHall.
Terasvirta, T., Lin, C.F., and Granger, C.W.J. (1993). Power of the neural network
linearitytest.JournalofTimeSeriesAnalysis,14,159171.
Wand,M.P.andJones,M.C.(1995).KernelSmoothing.London:ChapmanandHall.
Wei,W.W.S.(2006).TimeSeriesAnalysis:UnivariateandMultivariateMethods.Second
edition,AddisonWesleyPublishingCo.,USA.
White,H.(1989).Anadditionalhiddenunittestforneglectednonlinearityinmultilayer
feedforward networks. In Proceedings of The International Joint Conference on
NeuralNetworks,Washington,DC(pp.451455).SanDiego,CA:SOSPrinting.

*BerikutadalahreferensiebookyangdapatdidownloaddiserverCRANRProject

Baron, J. and Li, Y. (2003). Notes on the use of R for psychology experiments and
questionnaires.DeparmentofPsychology,UniversityofPennsylvania.
Bliese,P.(2006).MultilevelModelinginR(2.2):ABriefIntroductiontoR,themultilevel
packageandthenlmepackage.Paul.bliese@us.army.mil.
Chongsuvivatwong, V. (2006). Analysis of Epidomiological Data Using R and Epicalc.
EpidemiologyUnit,PrinceofSongklaUniversity,Thailand.
Faraway,J.J.(2002).PracticalRegressionandAnovausingR.www.stat.lsa.umich.edu/
~faraway/book.
Farnsworth,G.V.(2006).EconometricsinR.gfarnsworth@kellogg.northwestern.edu.
Maindonald,J.H.(2004).UsingRforDataAnalysisandGraphics:Introduction,Codeand
Commentary.CentreforBioinformationScience,AustralianNationalUniversity.
Owen, W.J. (2007). The R Guide. Department of Mathematics and Computer Science,
UniversityofRichmond.
Paradis, E. (2005). R for Beginners. Institut des Sciences de lEvolution, Universite
MontpellierII,France.
Ricci,V.(2005).FittingDistributionswithR.vito_ricci@yahoo.com.
Rossiter, D.G. (2007). Introduction to the R Project for Statistical Computing for use at
ITS.http://www.its.nl/personal/rossiter.
SeefeldK.andLinder,E.(2007).StatisticsUsingRwithBiologicalExamples.Department
ofMathematics&Statistics,UniversityofNewHampshire,Durham,NH.


293
sht90 DaftarPustaka

Venables,W.N.andSmith,D.M.(2007).AnIntroductiontoR.TheRDevelopmentCore
Team.
Verzani,JA.(2002).SimpleRUsingRforIntroductoryStatistics.www.math.csi.cuny.edu
/Statistics/R/simpleR/Simple.
Vikneswaran(2005).AnRcompaniontoExperimentalDesign.www.geocities.com/vik


294
sht90 DaftarIndeks

DAFTARINDEKS

abline,166,179 diagram,
acf,199202 batang(barchart),5657
AIC,AICc,225 batangdandaun,4849
AkaikesInformationCriterion,lihatAIC lingkaran(piechart),5758
Analisis, pencar(scatterplot),5354
Cluster,234236 direktori,6
Diskriminan,232233 diskriminan,232234
Faktor,230231 linear,233234
Multivariat,230 distribusi,6179
Regresi,128157 binomial,7078
RuntunWaktu,184229 diskrit,70
Variansi,110117 frekuensi,8586
ANOVA,lihatAnalisisVariansi kontinu,62
ARIMA,198226 normal,6269
cekdiagnosa,207209
estimasi,205 edit,
indentifikasi,199202 data,20
musiman,216224 eksponensialsmoothing,187197
nonmusiman,203216 ganda,195196
peramalan,210211 sederhana,196197
YuleWalker,205 HoltWinters,189194
leastsquares,205206 entry,
maksimumlikelihood,205206 data,1618
estimasi,
Bartlett,120121 densitas,237241
barchart,5657 modelARIMA,205
binomial,7078 modellineartergeneralisir,161165
boxandwhiskerplot,5051 modelnonlinear,256259
BoxJenkinsmethodology,198 regresilinear,128136

chisquaretest,9496 FactorAnalysis,230231
compute,2729 factors,42
correlation,8890 frame,34
fungsi,
data,3037 distribusi,61,62,69
array,30 plot,168180
frame,34
matriks,31 GeneralizedLinearModel,158165
list,37 grafik,4360,168183
dataset,2425 setting,182183
dendogram,235 GLM,158165


295
sht90 DaftarIndeks

help,1015 regresilinear,128131
searchengine,1214 regresinonlinear,256276
onlinesearchengine,15 trenlinear,185186
histogram,46 multivariat,
HoltWinters,189194 analisis,230236
aditif,189192
multiplikatif,193194 nonlinear,256276
model,256262
importdata, uji,263276
ASCII,38 normal,6269,91
EXCEL,20,39 distribusi,6269
MINITAB,22,41 nls,259262
SPSS,22,41
instalasiR,2 operator,279

kenormalan, pacf,199202
shapirowilk,91 paket,1
kernel,237240 pemrograman,277291
Epanechnikov,238239 fungsi,277279
Gaussian,238239 indeks,58
kontingensi,9296 optionalargument,284285
kuantil,62,71 requiredargument,285286
binomial,71 plot,55,58,168180
normal,62 indeks,58
interaktif,80
lda,233 ratarata,55
Levene,121 utama,168178
library,1 tambahan,179
linear, proporsi,122127
model,132137 ujiperbedaan,122127
regresi,128131
lm,132137 qda,233
logistik, QQplot,51
regresi,161165
Ramseys,263266
matriks,31,86 RESET,263266
data,31 recode,25
korelasi,88 regresi,128157,237248,256262
mean, kernel,241243
plot,55 linear,128157
model,128165,185226,256276 nonlinear,256262
ARIMA,198226 nonparametrik,241248
eksponensialsmoothing,187197 spline,243248
linear,132137 ringkasan,8184
lineartergeneralisir,158165 numerik,8184


296
sht90 DaftarIndeks

runtunwaktu,184229

ShapiroWilk,88
SIC,203
spline,221233
basis,227228
Bspline,223225
kubik,226229
SSasympOrig,239240
StemandLeaf,48
summary,7981

tabel,84,89
kontingensi,89
statistika,84
Terasvirta,274276
transformasi,25
dataset,25

ujinonlinearitas,263276
RamseysRESET,263266
Terasvirta,274276
White,267273
ujiproporsi,122127
duasampel,125127
sampeltunggal,122124
ujiratarata,99117
duasampelbebas,102106
sampelberpasangan,107109
sampeltunggal,99101
OnewayANOVA,110114
MultiwayANOVA,115117
ujivariansi,112115
Bartlett,114
duavariansi,112
Levene,115

vektor,30

White,266272

YuleWalker,205


297
sht90 TentangPenulis


TENTANGPENULIS

Suhartono, bekerja sebagai dosen di Jurusan Statistika, Institut


TeknologiSepuluhNopember(ITS).IalulusS1StatistikaITSpada
tahun 1995 dan mendapat Master of Statistical Analysis and
Stochastic Systems dari University of Manchester Institute of
Science and Technology (UMIST), UK, tahun 1998. Kemudian ia
mendapat Dr pada tahun 2007 di bidang Neural Network for
Time Series Forecasting dari Jurusan Matematika, Universitas
GadjahMada(UGM).

Bidang penelitian yang banyak dilakukan adalah time series forecasting, neural
network for data analysis, spatial time series, dan econometrics time series. Beberapa
areaterapanyangmenjadiobyekpenelitiandantelahdilakukanantaralainpemodelan
inflasidiIndonesia,turismdiBali,transportasi(kendaraan)dijalantol,hidrologi(debit
airdisuatubendungan),danpemodelanpemakaianenergilistrikjangkapendekdisuatu
area distribusi. Saat ini ia sedang meneliti tentang model hybrid neural network dan
analisiswaveletuntuktimeseriesforecasting,sertamengembangkanmodelintervensi,
structural change, dan model variasi kalender yang banyak terjadi di beberapa kasus
dataseriesdiIndonesia.

Di Jurusan Statistika ITS, ia saat ini menjadi Kepala Laboratorium Statistik


Komputasi. Beberapa mata kuliah yang diampu adalah Analisis Runtun Waktu (Time
SeriesAnalysis),AnalisisData,danAnalisisMultivariatdiprogramSarjanadanMagister.
Beberapa file untuk pembelajaran Time Series Analysis dan Design of Experiment yang
telahiabuatdapatdiaksessecaraonlinepadaopencontentITSmelaluiwww.its.ac.id.
Selainitu,karyakaryapenelitianyangtelahialakukandapatjugadiaksessecaraonline
padapilihanwebpersonaldosendihomepageITStersebut.


298

You might also like