2.1 Operator Operasi Pada R

Terdapat sejumlah operator operasi yang penting untuk pembaca ketahui, antara lain:

  • Operator aritmatika,
  • Operator perbandingan, dan
  • Operator logika.

2.1.1 Operator Aritmatika

Proses perhitungan akan ditangani oleh fungsi khusus. R akan memahami urutannya secara benar. Kecuali kita secara eksplisit menetapkan yang lain. Sebagai contoh tuliskan dan jalankan sintaks berikut pada Console R (tekan enter) maupun R Commander (tekan tombol submit):

## [1] 10

Bandingkan dengan sintaks berikut:

## [1] 12

TIPS!:R dapat digunakan sebagai kalkulator

Berdasarkan kedua hasil tersebut dapat disimpulkan bahwa ketika kita tidak menetapkan urutan perhitungan menggunakan tanda kurung, R akan secara otomatis akan menghitung terlebih dahulu perkalian atau pembangian.

Operator aritmatika yang disediakan R disajikan pada Tabel 2.1:

Tabel 2.1: Operator Aritmatika R.
Simbol Keterangan
+ 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

Untuk lebih memahaminya berikut contoh sintaks penerapan operator tersebut.

## [1] 8
## [1] 2
## [1] 15
## [1] 1.667
## [1] 125
## [1] 2
## [1] 1

Penggunaan operator aritmatika perlu mempertimbangkan hierarki prioritas operasinya. Pada contoh sebelumnya kita telah belajar bahwa operasi aritmatika akan dikerjakan terlebih dahulu dari yang ada di dalam tanda kurung lalu setelah itu akan diikuti oleh operasi lainnya. Secara lengkap, hierarki prioritas operasi aritmatika dirangkum pada Tabel 2.2:

Tabel 2.2: Hierarki prioritas operasi operator aritmatika.
Prioritas Operator Keterangan
1 +,- unari (tanda +,-)
2 ^
3 *,/,%%,%/%
4 +,- binari

Berdasarkan Tabel 2.2, pembaca dapat memprediksi output dari operasi berikut:

Operasi tersebut akan menghasilkan nilai 4 dengan urutan pengerjaan sebagai berikut:

  1. Pemberian tanda negatif pada angka 2
  2. Operasi dalam tanda kurung dengan urutan eksponensiasi (3^2) diikuti perkalian (9*2)
  3. Operasi pembagian terhadap nilai dalam kurung dengan angka 3 (18/3)
  4. Operasi penjumlahan (-2+6)

2.1.2 Operator Perbandingan

Operator relasi digunakan untuk membandingkan satu objek dengan objek lainnya. Operator yang disediakan R disajikan pada Tabel 2.3.

Tabel 2.3: Operator Relasi R.
Simbol Keterangan Deskripsi
== sama dengan bernilai TRUE jika kedua objek bernilai sama
!= tidak sama denga bernilai TRUE jika kedua objek tidak bernilai sama
> lebih besar dari bernilai TRUE jika nilai objek kanan lebih besar dari nilai objek kiri
< lebih kecil dari bernilai TRUE jika nilai objek kanan lebih kecil dari nilai objek kiri
>= lebih besar sama dengan bernilai TRUE jika nilai objek kanan lebih besar atau sama dengan dari nilai objek kiri
<= lebih kecil sama dengan bernilai TRUE jika nilai objek kanan lebih kecil atau sama dengan dari nilai objek kiri

Berikut adalah penerapan operator pada tabel tersebut:

## [1] FALSE
## [1] TRUE
## [1] FALSE
## [1] FALSE
## [1] TRUE
## [1] TRUE

Operator perbandingan memiliki hierarki prioritas yang lebih rendah dibandingkan dengan operator aritmatika. Pembaharuan Tabel 2.2 dilakukan dengan menambahkan operator perbandingan ditampilkan pada Tabel 2.4.

Tabel 2.4: Hierarki prioritas operasi dengan penambahan operator perbandingan.
Prioritas Operator Keterangan
1 +,- unari (tanda +,-)
2 ^
3 *,/,%%,%/%
4 +,- binari
5 <,<=,>,>=
6 ==,!=

2.1.3 Operator Logika

Operator logika hanya berlaku pada vektor dengan tipe logical, numeric, atau complex. Semua angka bernilai 1 akan dianggap bernilai logika TRUE. Operator logika yang disediakan R dapat dilihat pada Tabel 2.5.

Tabel 2.5: Operator logika R.
Simbol Keterangan
&& Operator logika AND
|| Operator logika OR
! Opeartor logika NOT
& Operator logika AND element wise
| Operator logika OR element wise

Penerapannya terdapat pada sintaks berikut:

## [1] FALSE
## [1] TRUE
## [1] FALSE FALSE  TRUE
## [1] FALSE FALSE FALSE
## [1]  TRUE  TRUE FALSE

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.