Universitas : UIN Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Pada Chapter ini penulis akan menjelaskan bagaimana melakukan perhitungan menggunakan R. Hal-hal yang akan dibahas pada chapter ini antara lain:

  1. Operator dan fungsi dasar pada R
  2. Jenis dan struktur data
  3. Vektor (cara membuat dan melakukan operasi matematika pada vektor)
  4. Matriks (cara membuat dan melakukan operasi matematika pada matriks)

1. Operator Aritmatik

Operator aritmatika yang disediakan R, yaitu :

+ : Addition, untuk operasi penjumlahan

- : Substraction, untuk operasi pengurangan

* : Multiplication, untuk operasi pembagian

/ : Division, untuk operasi pembagian

^ : Eksponentiation, untuk operasi pemangkatan

%%: Modulus, Untuk mencari sisa pembagian

%/%: Integer, Untuk mencari bilangan bulat hasil pembagian saja dan tanpa sisa pembagian

Tips: Pada R tanda # berfungsi menambahkan keterangan untuk menjelaskan sebuah sintaks pada R

2. Fungsi Aritmatik

  1. Logaritma dan eksponensial Untuk contoh fungsi logaritmik dan eksponensial jalankan sintaks berikut:

log2(8) # logaritma basis 2 untuk 8

## [1] 3

  1. Fungsi trigonometri Fungsi trigonometri yang ditampilkan seperti sin,cos, tan, dll.

cos(x) # cos x

sin(x) # Sin x

tan(x) # Tan x

acos(x) # arc-cos x

asin(x) # arc-sin x

atan(x) #arc-tan x

Untuk paket pracma ditambah :

cot(x) # cotan x

csc(x) # cosecan x

sec(x) # secan x

acot(x) # arc-cotan x

acsc(x) # arc-cosecan x

asec(x) # arc-secan x

Penting!

X dalam fungsi trigonometri memiliki satuan radian.

  1. Fungsi hiperbolik Fungsi hiperbolik yang tersedia :

cosh(x)

sinh(x)

tanh(x)

acosh(x)

asinh(x)

atanh(x)

Untuk paket pracma ditambah :

coth(x)

csch(x)

sech(x)

acoth(x)

acsch(x)

asech(x)

  1. Fungsi matematik lainnya Fungsi lainnya yang dapat digunakan adalah fungsi absolut, akar kuadrat, dll. Berikut adalah contoh sintaks penggunaan fungsi absolut dan akar kuadrat.

abs(-2) # nilai absolut -2

## [1] 2

sqrt(4) # akar kuadrat 4

## [1] 2

3. Operator Relasi

Operator relasi digunakan untuk membandingkan satu objek dengan objek lainnya. Operator yang disediakan R, yaitu :

“>” : Lebih besar dari

“<” : Lebih Kecil dari

“==” : Sama dengan

“>=” : Lebih besar sama dengan

“<=” : Lebih kecil sama dengan

“!=” : Tidak sama dengan

Berikut adalah penerapan operator pada tabel tersebut:

x <- 34

y <- 35

# Operator >

x > y

## [1] FALSE

# Operator <

x < y

## [1] TRUE

# operator ==

x == y

## [1] FALSE

# Operator >=

x >= y

##[1] FALSE

# Operator <=

x <= y

## [1] TRUE

# Operator !=

x != y

# [1] TRUE

4. Operator Logika

Operator logika yang disediakan R, yaitu :

&& : Operator logika AND

! : Operator logika NOT

& : Operator logika AND element wise

Penting!

operator & dan | akan mengecek logika tiap elemen pada vektor secara berpesangan (sesuai urutan dari kiri ke kanan). Operator %% dan || hanya mengecek dari kiri ke kanan pada observasi pertama. Misal saat menggunakan && jika observasi pertama TRUE maka observasi pertama pada vektor lainnya akan dicek, namun jika observasi pertama FALSE maka proses akan segera dihentikan dan menghasilkan FALSE.

5. Memasukkan Nilai Kedalam Variabel

Penting!

  1. R memungkinkan penggunaan <- , -> , atau = sebagai perintah pengisi nilai variabel.

  2. R bersifat case-sensitive. Maksudnya adalah besar kecil huruf berpengaruh.

# Harga sebuah lemon adalah 500 rupiah

lemon <- 500

# Atau

500 -> lemon

# dapat juga menggunakan tanda "="

lemon = 500

# Menggunakan fungsi print()

print(lemon)

## [1] 500

# Atau

lemon

## [1] 500

Untuk lebih memahaminya berikut adalah sintaks untuk menghitung volume suatu objek.

# Dimensi objek

panjang <- 10

lebar <- 5

tinggi <- 5

# Menghitung volume

volume <- panjang*lebar*tinggi

# Print objek volume

print(volume)

## [1] 250

Untuk menghapus objek pada memori kita dapat menggunakan fungsi rm() . Pada sintaks berikut penulis hendak menghapus objek lemon dan volume .

Catatan: Kumpulan objek yang telah tersimpan dalam memori disebut sebagai workspace```

# Menghapus objek lemon dan volume

rm(lemon, volume)

6. Tipe dan Struktur Data

Tipe data R, yaitu:

Tipe Data Contoh Keterangan
Logical TRUE, FALSE Nilai Boolean
Numeric 12.3, 5, 999 Segala jenis angka
Integer 23L, 97L, 3L Bilangan integer (bilangan bulat)
Complex 2i, 3i, 9i Bilangan kompleks
Character ‘a’, “b”, “123” Karakter dan string Factor 1, 0, “Merah” Dapat berupa numerik atau string namun pada proses akan terbaca sebagai angka
Raw Identik dengan “hello” Segala jenis data yang disimpan sebagai raw bytes

Struktur data diklasifikasikan berdasarkan dimensi data dan tie data di dalamnya (homogen atau heterogen). Objek terbagi atas dua buah struktur data yaitu homogen dan heterogen. Objek dengan struktur data homogen hanya dapat menyimpan satu tipe atau jenis data saja (numerik saja atau factor saja), sedangkan objek dengan struktur data heterogen akan dapat menyimpan berbagai jenis data.

7. Vektor

Membuat vektor

  1. Menggunakan fungsi c() (concatenate).

  2. Memberi nama nilai setiap vektor menggunakan fungsi names().

  3. Untuk menentukan panjang sebuah vektor kita dapat menggunakan fungsi lenght().

Penting!

Vektor hanya dapat memuat satu buah jenis data. Vektor hanya dapat mengandung jenis data numerik saja, karakter saja, dll.

Missing Values

Seringkali nilai pada vektor kita tidak lengkap atau terdapat nilai yang hilang (missing value) pada vektor. Missing value pada R dilambangkan oleh NA (not available). Berikut adalah contoh vektor dengan missing value.

Jumlah <- c(Apel=5, Jeruk=NA, Rambutan=6, Salak=7)

Subset Pada Vektor

Subseting vector terdiri atas tiga jenis, yaitu:

  1. Positive indexing: memilih elemen vektor berdasarkan posisinya (indeks) dalam kurung siku.

  2. Negative indexing: mengecualikan (exclude) elemen vektor.

  3. Subset berdasarkan vektor logical: Hanya, elemen-elemen yang nilai yang bersesuaian dalam vektor pemilihan bernilai TRUE, akan disimpan dalam subset.

Penting!

Panjang vektor yang digunakan untuk subset harus sama.

Operasi Matematis Menggunakan Vektor

Contoh disediakan pada sintaks di bawah ini:

pendapatan <- c(2000, 1800, 2500, 3000) names(pendapatan) <- c(“Andi”, “Joni”, “Lina”, “Rani”) pendapatan

## Andi Joni Lina Rani

## 2000 1800 2500 3000

# Kalikan pendapatan dengan 3

pendapatan*3

## Andi Joni Lina Rani

## 6000 5400 7500 9000

Seperti yang dapat dilihat, R mengalikan setiap elemen dengan bilangan pengali.

Berikut adalah fungsi lain yang dapat digunakan pada operasi matematika vektor:

max(x) # memperoleh nilai maksimum x

min(x) # memperoleh nilai minimum x

range(x) # memperoleh range vektor x

length(x) # memperoleh jumlah vektor x

sum(x) # memperoleh total penjumlahan vektor x

prod(x) # memeperoleh produk elemen vektor x

mean(x) # memperoleh nilai mean vektor x

sd(x) # standar deviasi vektor x

var(x) # varian vektor x

sort(x) # mengurutkan elemen vektor x dari yang terbesar

Membuat Deret Angka

Dengan menggunakan Regular Sequences.

Contoh :

# vektor benilai 1 s/d 10

1:10

## [1] 1 2 3 4 5 6 7 8 9 1

Nilai Berulang

Contoh :

# cetak angka 5 sebanyak 5 kali

rep(x=5, times=5)

## [1] 5 5 5 5 5

Distribusi Fungsi Argumen
Beta rbeta(n,shape1, shape2,ncp = 0) n = jumlah observasi; shape1,shape2 = parameter non-negatif distribusi beta; ncp = non-centrality parameter
Binomial rbinom(n,size, prob) n = jumlah observasi; prob = probabilitas sukses;size = jumlah percobaan
Cauchy rcauchy(n,location = 0,scale = 1) n = jumlah observasi; location, scale = parameter lokasi dan skala distribusi Cauchy
Chi-Square rchisq(n, df, ncp = 0) n = jumlah observasi; df = derajat kebebasan; ncp = non-centrality parameter
Exponensial rexp(n, rate = 1) n = jumlah observasi; rate = vektor parameter rate
F rf(n, df1, df2, ncp) n = jumlah observasi; df1, df2 = derajat kebebasan;ncp = non-centrality parameter
Gamma rgamma(n, shape, rate = 1, scale =1/rate) n = jumlah observasi; shape, scale = parameter shape dan scale; rate = alternatif lain argumen rate
Geometri rgeom(n, prob) n = jumlah observasi; prob = probabilitas sukses
Hipergeometri rhyper(nn, m, n, k) n = jumlah observasi; m = jumlah bola putih dalam wadah; n = jumlah bola hitam dalam wadah; k = jumlah pengambilan
Log-normal rlnorm(n, meanlog = 0, sdlog = 1) n = jumlah observasi; meanlog, sdlog = nilai mean dan simpangan baku dalam skala logaritmik
Negatif Binomial rnbinom(n, size, prob, mu) n = jumlah observasi; size = target jumlah percobaan sukses pertama kali; prob = probabilitas sukses; mu = parameterisasi alternatif melalui mean
Normal rnorm(n, mean = 0, sd = 1) n = jumlah observasi; mead, sd = nilai mean dan simpangan baku
Poisson rpois(n, lambda) n = jumlah observasi; lambda = vektor nilai mean
Student t rt(n, df, ncp) n = jumlah observasi; df = derajat kebebasan; ncp = non-centrality parameter
Uniform runif(n, min = 0, max = 1) n = jumlah observasi; min, max = nilai maksimum dan minimum distribusi
Weibull rweibull(n, shape, scale = 1) n = jumlah observasi; shape, scale = parameter shape dan scale

8. Matriks

Matriks digunakan untuk menyimpan tabel data dalam R.

Membuat matriks

# membuat vektor numerik

col1 <- c(5, 6, 7, 8, 9)

col2 <- c(2, 4, 5, 9, 8)

col3 <- c(7, 3, 4, 8, 7)

# menggabungkan vektor berdasarkan kolom

my_data <- cbind(col1, col2, col3)

my_data

# menggunakan fungsi matrix()

data <- matrix(

data = c(1,2,3, 11,12,13),

nrow = 2, byrow = TRUE,

dimnames = list(c(“row1”, “row2”),

c(“C.1”, “C.2”, “C.3”))

)

data

Subset Pada Matriks

Memilih baris/kolom berdasarkan pengindeksan positif

# Pilih baris ke-2

my_data[2,]

## col1 col2 col3

## 6 4 3

Memilih berdasarkan nama baris/kolom

# Pilih baris 1 dan kolom 3

my_data[“row1”,“col3”]

## [1] 7

Kecualikan baris/kolom dengan pengindeksan negatif

# Kecualikan baris 2 dan 3 serta kolom 3

my_data[-c(2,3), -3]

## col1 col2

## row1 5 2

## row4 8 9

## row5 9 8

Pilihan dengan logik

Dalam kode R di bawah ini, misalkan kita ingin hanya menyimpan baris di mana col3> = 4:

col3 <- my_data[, “col3”]

my_data[col3 >= 4, ]

## col1 col2 col3

## row1 5 2 7

## row3 7 5 4

## row4 8 9 8

## row5 9 8 7

Perhitungan Menggunakan Matriks

Berikut adalah contoh operasi matematika sederhana pada matriks:

# mengalikan masing-masing elemen matriks dengan 2

my_data*2

## col1 col2 col3

## row1 10 4 14

## row2 12 8 6

## row3 14 10 8

## row4 16 18 16

## row5 18 16 14

Seperti yang telah penulis jelaskan sebelumnya, kita juga dapat melakukan operasi matematika untuk memperoleh hasil penjumlahan elemen pada tiap baris atau kolom dengan menggunakan fungsi rowSums() untuk baris dan colSums() untuk kolom.

Kita juga bisa menggunakan fungsi rowSums() untuk baris dan colSums() untuk kolom. Jika kita tertarik untuk mencari nilai rata-rata tiap baris arau kolom kita juga dapat menggunakan fungsi rowMeans() atau colMeans(). Kita juga dapat melakukan perhitungan statistika lainnya menggunakan fungsi apply().

Catatan:

x : data matriks

MARGIN : Nilai yang dapat digunakan adalah 1 (untuk operasi pada baris) dan 2 (untuk operasi pada kolom)

FUN : fungsi yang diterapkan pada baris atau kolom

Referensi

https://bookdown.org/moh_rosidi2610/Metode_Numerik/intro.html