Modul 1 memperkenalkan pemrograman R dengan menjelaskan tujuan, materi, dan aspek penilaian praktikum. Modul ini juga mendemonstrasikan penggunaan perintah dasar R seperti membuat dan mengolah objek, menampilkan hasil, membangkitkan deret bilangan, dan menyimpan hasil kerja ke file.
1. Modul 1
Tujuan Praktikum : Memperkenalkan pemrograman R; menu; perintah‐perintah dasar;
pembangkitan deret
Materi MetNum Acuan : ‐
Tes Kecil Praktikum : Tidak ada tes (tidak ada penilaian aspek kognitif)
Aspek Penilaian : Psikomotorik, Afektif
<<<‐>>>
1. R merupakan suatu sistem untuk analisis statistik dan grafis yang diciptakan oleh Ross Ihaka
dan Robet Gentleman dari Department of Statistics of the University of Auckland di
Auckland, New Zealand. R bisa disebut sebagai perangkat lunak (software) maupun bahasa
(language) yang menggunakan dialek bahasa S yang diciptakan oleh Rick Becker, John
Chambers, dan Allan Wilks di AT&T Bell Laboratories. S juga tersedia sebagai perangkat
lunak S‐PLUS yang dikomersialkan oleh Insightful.
2. R ini bebas didistribusikan sesuai dengan tata‐cara GNU General Public Licence.
Perkembangan dan distribusinya dilakukan oleh beberapa ahli statistik yang dikenal sebagai
R Development Core Team.
3. R tersedia dalam beberapa bentuk dengan sumber yang ditulis terutama dalam C dan
beberapa routine dalam Fortran, yaitu untuk mesin Unix dan biner pre‐compiled Linux,
Windows, Linux dan Macintosh. File‐file yang diperlukan untuk meng‐install R tersedia di
internet di situs Comprehensive R Archive Network (CRAN) dengan disertai informasi cara
instalasi (lihat di http://CRAN.R‐project.org).
4. R merupakan suatu perangkat lunak yang memiliki fasilitas untuk manipulasi data, kalkulasi,
dan menampilkan grafis. Beberapa hal diantaranya adalah:
a. Penanganan dan fasilitas penyimpanan data yang efektif
b. Alat yang cepat dan ampuh untuk analisis data
c. Fasilitas grafis untuk analisis dan menampilkan data langsung di komputer atau
hardcopy
d. Bahasa pemrograman yang dirancang dengan sungguh‐sungguh, sederhana, dan
efektif (yang disebut “S”) dan memiliki fasilitas‐fasilitas seperti kondisional, loops,
fungsi rekursif user‐defined, serta masukan dan keluaran.
5. Bagi yang merasa “tidak bisa membuat program”, bahasa R ini mungkin akan membawa
nuansa lain. Ada dua alasan untuk itu. Yang pertama, R merupakan bahasa interpreter alih‐
alih kompilasi, yang berarti bahwa semua perintah (command) yang diketikkan lewat
keyboard akan langsung dieksekusi tanpa perlu membuat program lengkap seperti pada
bahasa komputer kebanyakan (C, Fortran, Pascal, dsb.). Kedua, sintaksis R sangat sederhana
dan intuitif. Sebagai contoh perintah lm(y ~ x) yang berarti “pengepasan” (fitting) model
Petrus Paryono – 2010‐2011 1 Metode Numerik dengan R
2. Modul 1
linear dengan y sebagai respons (variabel gayut ‐ dependent) dan x sebagai prediktor
(variabel tak‐gayut ‐ independent).
6. Bila anda ingin menginstall program R versi 2.11.1 untuk Windows (dengan nama file R‐
2.11.1‐win32.exe) di komputer, installah file exe tersebut dan akan muncul icon R di
desktop. (Catatan: saat ini telah tersedia versi 2.12)
7. Jalankan R dan akan muncul window default yang disebut R Console. Di console ini semua
perintah (command) untuk segala kegiatan analisis dan manipulasi data, serta menampilkan
grafis, dilakukan. Perhatikanlah prompt yang muncul setelah berbagai informasi awal, yaitu
“>”. Ini merupakan simbol default untuk Windows.
8. Keluar (quit) dari program R dapat dilakukan lewat perintah atau lewat menu. Untuk lewat
perintah, ketikkan dari prompt
> q()
atau lewat menu File | Exit
9. Apa saja yang kita ketikkan di keyboard akan dicatat sebagai sejarah yang dapat dipanggil‐
kembali (recall), disimpan (save), dan dibaca kembali (load). Untuk memanggil‐kembali,
gunakan tombol panah naik (↑) dan panah turun (↓). Perintah ini dapat diedit lalu dijalankan
sebagai perintah baru. Cara menyimpan adalah lewat menu File | Save History yang akan
menyimpan dalam file dengan nama ekstensi .Rhistory. File ini dapat dipanggil kembali lewat
menu File | Load History.
10. Ketika R sedang aktif, semua variabel, data, fungsi, hasil, dan sebagainya, disimpan dalam
memori aktif komputer dalam bentuk objek (objects) yang memiliki nama (name). Pengguna
Petrus Paryono – 2010‐2011 2 Metode Numerik dengan R
3. Modul 1
dapat melakukan kalkulasi atau manipulasi pada objek‐objek ini dengan menggunakan
operator‐operator (aritmatika, logika, komparasi, ...) dan fungsi‐fungsi (yang ada pada objek
itu sendiri).
11. Membuat objek sederhana dan menetapkan nilainya (assignment)
> p <- 7
atau
> 7 -> p
atau
> p = 7
p adalah objek dengan nama p dan kemudian ditetapkan dengan nilai 7. Penetapan objek
dengan suatu nilai bisa dilakukan dengan gabungan simbol “<” dan “‐“ menjadi “<-“ dengan
arah panah ke kiri, atau “-“ dan “>” menjadi “->” dengan arah panah ke kanan, atau
menggunakan tanda “=” (sama dengan). Namun untuk membedakan objek ada baiknya jika
tanda “=” digunakan untuk menuliskan rumus (formula) seperti berikut:
> q = p + 3
sedangkan penggunaan simbol “<-“ lebih disarankan daripada “->” karena lebih sering
dipakai dalam algoritma pada umumnya, sehingga lebih mudah dipahami/dikenali.
12. Sekarang kita akan lihat hasil dari objek q dan p. Ketikkan kedua objek tersebut dari prompt
dan lihatlah hasilnya
> p
[1] 7
> q
[1] 10
Di bagian kiri hasil muncul [1] yang menunjukkan vektor dengan elemen ke‐1 dari p atau q.
13. Sekarang bandingkan kedua objek berikut. Ketikkan keduanya lalu lihat hasilnya
> m <- 2
> M <- 18
> m
[1] 2
> M
[1] 18
Hasilnya berbeda. Ini berarti bahwa penulisan objek bersifat case‐sensitive, yaitu penulisan
dengan huruf kecil (lowercase) dan huruf besar (uppercase) berbeda. Nama objek harus
dimulai dengan huruf (A‐Z dan a‐z) dan dapat pula berisi huruf, angka (0‐9), titik (.), dan
garis bawah (_). Misalnya: y1, Y2, waktu, tinggi.menara1, berat_badan.
Petrus Paryono – 2010‐2011 3 Metode Numerik dengan R
4. Modul 1
14. Untuk melihat objek‐objek yang ada di memori, bisa lewat menu Misc | List objects , atau
menggunakan perintah
> ls()
[1] "m" "M" "p" "q"
atau
> objects()
[1] "m" "M" "p" "q"
15. Apabila kita menuliskan suatu objek yang telah ada, seperti m, maka nilai m yang ada di
memori akan digantikan dengan nilai yang baru.
> m <- 5
> m
[1] 5
16. Selain objek, dari prompt R dapat juga dituliskan suatu ekspresi untuk suatu kalkulasi secara
langsung, tetapi tidak akan tersimpan dalam memori. Cobalah ekspresi berikut, sekaligus
memahami operator aritmatika yang dipakai. Tanda kurung menunjukkan prioritas
perhitungan.
> 6+4*2
[1] 14
> (6+4)*2
[1] 20
> 8^3-2
[1] 510
> 8^(3-2)
[1] 8
> 22/7
[1] 3.142857
> 22/7+5
[1] 8.142857
> 22/(7+5)
[1] 1.833333
> pi
[1] 3.141593
pi adalah suatu konstanta “bult‐in” atau objek atau pada bahasa lain disebut “reserved
word” yang dipakai oleh sistem untuk suatu nilai 3.141593. Nilai default konstanta pi ini
telah disediakan oleh R dan bisa diisi dengan nilai lain, namun sebaiknya tidak diubah,
supaya tidak menyulitkan diri sendiri ketika bekerja dengan berbagai konstanta.
Petrus Paryono – 2010‐2011 4 Metode Numerik dengan R
5. Modul 1
17. Berikut ini adalah cara menetapkan beberapa objek dalam satu baris. Gunakan titik‐koma
(semi‐colon) sebagai pemisah perintah
> k1 <- 32; k2 <- 46; n <- 50; mhs <- "Obaja"
> ls()
[1] "k1" "k2" "m" "M" "mhs" "n" "p" "q"
18. Untuk melihat objek di memori secara rinci, gunakan fungsi ls.str seperti berikut
> ls.str()
k1 : num 32
k2 : num 46
m : num 2
M : num 18
mhs : chr "Obaja"
n : num 50
p : num 7
q : num 10
19. Semua objek di atas yang tersimpan di memori atau di workspace dapat disimpan sebagai
file, lewat menu File | Save Workspace... Pilih direktori penyimpanan dan berilah nama file,
dan jangan lupa sertakan ekstensi .RData.
Kita dapat panggil kembali file tersebut dengan File | Load Workspace... pilihlah nama file
yang diinginkan.
20. Seringkali kita bekerja memanggil data dari atau menyimpan data ke suatu folder tertentu.
Untuk memudahkan pekerjaan, kita dapat mengubah setting default direktori dengan menu
File | Change dir...
21. Di window console, kita dapat terus menuliskan perintah. Bila sudah sampai di bagian bawah
window, perintah tetap akan dapat dituliskan karena akan secara otomatis scroll. Kita dapat
melihat perintah‐perintah di atas atau di bawah dengan menggeser‐geser scroll‐bar vertikal
di sebelah kanan.
Apabila console atau window tempat kerja telah penuh dengan perintah‐perintah atau
hasilnya, kita dapat membersihkannya dengan menu Edit | Clear console atau menggunakan
Ctrl‐L.
Membersihkan console tidak berarti membersihkan memori, kita masih dapat memanggil
kembali perintah‐perintah yang masih tersimpan di memori tersebut dengan menggunakan
panah‐atas (↑) atau panah‐turun (↓)
22. Untuk menghapus semua objek dari memori (workspace), lakukan lewat menu Misc |
Remove all objects yang kemudian akan muncul window konfirmasi apakah betul‐betul ingin
menghapus semua objek.
Petrus Paryono – 2010‐2011 5 Metode Numerik dengan R
6. Modul 1
Perintah untuk menghapus semua objek ini akan muncul setelah konfirmasi dengan “Yes”
> rm(list=ls(all=TRUE))
23. Suatu deret regular berisi integer (bilangan bulat) dapat dibangkitkan secara langsung atau
disimpan sebagai objek. Cobalah ketiga perintah berikut
> 1:15
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
> 1:15-2
[1] -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13
> 1:(15-2)
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13
Bisakah membedakan ketiga hasil tersebut setelah adanya penambahan ‐2 serta
penggunaan tanda kurung sebagai prioritas operator aritmatika?
Berikut adalah membuat objek d berisi deret regular dan kemudian kita lihat hasilnya.
> d <- 1:55
> d
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
[51] 51 52 53 54 55
Perhatikanlah [26] dan [51] yang menunjukkan bahwa angka di sebelah kanannya adalah
berturut‐turut elemen ke‐26 dan ke‐51. Apabila lebar window console diubah, isi kedua
tanda tersebut akan berubah, karena tampilan deret akan mengikuti sepanjang lebar
window console. Cobalah mengubah lebar window console lalu lihat isi objek d.
Kita juga bisa bisa mengetahui panjang elemen dari objek d dengan fungsi length.
> length(d)
[1] 55
24. Jika tadi kita mencoba deret integer menaik, sekarang kita coba deret integer menurun
> d1 <- 16:1
> d1
[1] 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
> d2 <- 16:-4
> d2
[1] 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 -1 -2 -3 -4
25. Deret bilangan riil (real numbers) juga bisa dibangkitkan dengan fungsi seq seperti berikut.
> seq(2,6,0.5)
[1] 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0
Petrus Paryono – 2010‐2011 6 Metode Numerik dengan R
7. Modul 1
dengan angka pertama (2) sebagai bilangan awal dari deret, angka kedua (6) sebagai
bilangan akhir, dan angka ketiga (0.5) adalah kenaikan (increement) atau ukuran langkah
(step size)
Bisa juga dituliskan dengan cara lain, yaitu:
> seq(length=9, from=2, to=6)
[1] 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0
atau bisa diketikkan langsung deretnya dengan menggunakan fungsi c seperti berikut:
> c(7.1,5.3,6.2,10.5)
[1] 7.1 5.3 6.2 10.5
Selain itu, kita dapat juga menggunakan fungsi scan untuk mengetikkan deretan bilangan
yang sekaligus bisa mengetahui urutan elemen ketika menekan Enter. Cobalah ketikkan
perintah fungsi scan lalu tekan Enter. Setelah muncul nomer elemen, ketikkan deretan
bilangan yang diinginkan dengan spasi (space) sebagai pembatasnya. Setelah menekan Enter
akan muncul nomer elemen berikutnya. Bila telah dianggap cukup, tekan Enter sekali lagi
untuk mengakhiri deretan bilangan. Sistem akan memberi informasi jumlah elemen (item)
yang diketikkan dan membentuk deretan.
> z <- scan()
1: 4.3 12.2 5.9 9.1 11.4
6:
Read 5 items
26. Sedikit berbeda dengan perintah di atas, disini kita akan menggunakan fungsi rep untuk
membuat vektor dengan semua elemennya identik (sama).
> rep(4,9)
[1] 4 4 4 4 4 4 4 4 4
> rep("ha..",3)
[1] "ha.." "ha.." "ha.."
27. Fungsi sequence menampilkan deretan integer yang masing‐masing berakhir dengan angka
yang dituliskan dalam argumen:
> sequence(3:6)
[1] 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6
> sequence(6:3)
[1] 1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 1 2 3
> sequence(c(7,3))
[1] 1 2 3 4 5 6 7 1 2 3
> sequence(c(7,3,4))
[1] 1 2 3 4 5 6 7 1 2 3 1 2 3 4
Petrus Paryono – 2010‐2011 7 Metode Numerik dengan R
8. Modul 1
Perintah yang pertama untuk deret menaik, perintah yang kedua untuk deret menurun.
Perintah ketiga dan keempat untuk deret menaik yang diakhiri dengan angka‐angka yang
tertulis dalam argumen. Masih ingatkah berapa hasil c(7,3) dan c(7,3,4)?
28. Untuk menghasilkan deret acak dengan jumlah tertentu, digunakan fungsi rnorm yaitu
Gaussian normal seperti berikut:
> rnorm(12)
[1] -1.97727147 -0.89015192 -0.20861013 -0.94032002 1.61055034 -0.02900793
[7] 0.43224186 2.15257789 1.90569482 2.45514000 0.19528462 1.12135117
‐:)(:‐
Petrus Paryono – 2010‐2011 8 Metode Numerik dengan R