pemrograman dalam r · referensi braun, dan murdoch. 2008.a first course in statistical computing...

26
STK372 KOMPUTASI STATISTIK II PEMROGRAMAN DALAM R © Agus Mohamad Soleh

Upload: others

Post on 03-Jan-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

STK372 KOMPUTASI STATISTIK II

PEMROGRAMAN DALAM R

© Agus Mohamad Soleh

Page 2: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Ruang Lingkup Materi

Pengantar Pemrograman R

Fungsi yang Tersedia

Pemrograman Berorientasi Objek

Pemrograman Grafik

Package dalam R

Pemrograman Lanjutan

Page 3: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Referensi

Braun, dan Murdoch. 2008. A First Course in Statistical

Computing with R.

Norman Matloff. 2011. The Art of R Programming. No

Starch Press, Inc. San Francisco, CA 94103

Lawrence, M. dan J. Verzani. 2012. Programming Graphical

User Interfaces in R.

Page 4: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

OVERVIEW OBJEK DATA S

© Agus Mohamad Soleh

Page 5: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

MODE OBJEK DATA

Numeric

Contoh: 12, -2.3, 1.2e-2

Complex

Contoh: 1.2e6+2i

Character

Contoh: ‘ipb’, “statistika”

Logical

Contoh: T, F, TRUE, FALSE

Page 6: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

OBJEK DATA

Objek data dasar dalam bahasa S:

Vektor

Matriks

Array

Factor

List

Data Frame

Page 7: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

OBJEK VEKTOR

Vektor merupakan tipe sederhana dari objek data dalam S

dalam hampir digunakan oleh semua objek data.

Semua elemen memiliki mode yang sama.

Akses:

Jika x adalah objek vektor, maka akses terhadap elemen ke-i

dilakukan melalui x[i]

Index i berupa bilangan integer atau nama dari index atau

elemen logical dari objek

Page 8: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

OBJEK MATRIKS

Matriks merupakan objek data yang banyak digunakan dalam

analisis statistika

Matriks pada bahasa S umumnya dibuat melalui vektor.

Akes:

Jika mat adalah objek matriks, maka akses terhadap:

individual element : mat[m,n] atau mat[i]

baris : mat[m,]

kolom : mat[,n]

m, n dan i adalah bilangan integer

Page 9: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

OBJEK ARRAY

Matriks merupakan bentuk khusus dari Array. Perbedaan

diantara keduanya adalah dimensinya.

Matriks adalah Array berdimensi dua.

Akses:

Akses terhadap objek array, mirip dengan matriks

menggunakan operator []

Page 10: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

OBJEK FACTOR

Merupakan tipe khusus vektor dengan elemen data kategori

Faktor diprint tanpa diapit oleh quotes “” --> memiliki

metode print khusus

Pada dasarnya faktor adalah vektor yang mengindikasikan

taraf (level) dari peubah kategori

Page 11: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

OBJEK LIST

List merupakan objek data yang elemen didalamnya boleh

memiliki mode yang berbeda.

Umumnya list digunakan untuk menyimpan hasil suatu fungsi

Perintah unlist akan membuat list menjadi vektor.

Akses:

Akses terhadap list dapat dilakukan melalui beberapa cara.

By name : menggunakan operator $

By position : menggunakan operator [[]]

Sebagai vektor : menggunakan operator []

Page 12: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

OBJEK DATA FRAME

Merupakan tipe khusus list yang digunakan untuk menyimpan

data dari berbagai macam tipe dalam bentuk matriks.

Akses:

Akses terhadap data frame berlaku seperti matriks dan list

matriks : dataolah[m,n]

list : dataolah$status atau dataolah[[2]]

Akses lain sebagai vektor :

attach(namadataframe)

detach(namadataframe)

Page 13: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Aritmetika

Aritmetika berhubungan dengan:

Operand

Operator

Fungsi

Page 14: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Aritmetika

Operator:

Page 15: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Aritmetika

Fungsi-fungsi standar yang sering digunakan

Fungsi konversi ke Integer : round, trunc, floor, ceiling

Fungsi umum : abs, sign, log, log10, sqrt, exp, sin, cos, tan,

asin, acos, atan, sinh, cosh, tanh

Fungsi jumlah dan product dari vektor: sum, prod, cumsum,

cumprod

Fungsi Maksimum dan Minimum : max, min, cummax, cummin

Fungsi range(x) menghitung c(min(x) , max(x))

Fungsi untuk mengurutkan : sort

Fungsi untuk membalikan : rev

Page 16: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Struktur Kontrol

Eksekusi bersyarat

if (kondisi) ekspresi (T) [else ekspresi (F)]

ifelse(test, nilai jika T, nilai jika F)

Fungsi switch beberapa diantaranya akan lebih baik dibanding

menggunakan if tersarang.

Page 17: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Struktur Kontrol

Loops

for (objek in sekuens) ekspresi

while (condition) ekspresi

repeat ekspresi (untuk menghentikan gunakan perintah break)

Page 18: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Struktur Kontrol

Pada beberapa kasus loops sebaiknya dihindari→ Gunakan

perintah apply

menjalankan fungsi untuk suatu array

Syntax :

apply(array, margin, function, named arguments, …)

margin : adalah subscript untuk vektor yang akan dikenakan

fungsi

1 : baris, 2 : kolom, c(1,2) : baris dan kolom

named arguments : optional untuk argument dari fungsi

perintah lain yang sama : tapply, lapply, sapply

Page 19: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Fungsi di R

R telah menyiapkan banyak fungsi yang dapat dimanfaatkan

untuk:

Manajemen data dan Utilitas

Aritmetika

Statistik

Grafik

Berkembangnya metode statistika membutuhkan fungsi baru

Page 20: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Menciptakan Fungsi Sendiri

Fungsi yang tidak ada dalam bahasa S dapat diciptakan

sendiri.

Syntax :

namafungsi <- function(argumen) isifungsi

Teladan:

std.dev <- function (x) sqrt(var(x))

Komentar bisa dituliskan menggunakan #

Page 21: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Menciptakan Fungsi Sendiri

Output dari fungsi adalah objek→ umumnya menggunakan

objek list

Untuk memanggil fungsi :

namafungsi (arg1, arg2, ….)

Page 22: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Penanganan Kesalahan

Untuk menangani kesalahan dalam fungsi disediakan fungsi-

fungsi:

try

tryCatch

warnings

stop

Page 23: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Argumen Fungsi

Fungsi umumnya menggunakan argumen

Argumen fungsi dalam R dapat diberikan sebuah nilai default

Argumen dapat tak terhingga (menggunakan …)

Sebuah fungsi di dalam R dapat dijadikan sebagai argumen

Page 24: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

Teladan

Membuat Fungsi untuk Melakukan Pengujian Hipotesis Nilai

Tengah untuk Dua Populasi dengan ragam sama.

Algoritma :

hitung masing-masing n

hitung galat baku

hitung statistik uji

hitung nilai-p

tetapkan keputusan penerimaan atau penolakan H0

Page 25: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San
Page 26: PEMROGRAMAN DALAM R · Referensi Braun, dan Murdoch. 2008.A First Course in Statistical Computing with R. Norman Matloff. 2011.The Art of R Programming. No Starch Press, Inc. San

AKHIR MATERI