Teknik Informatika

Universitas Maulana Malik Ibrahim Malang

Pengertian vektor

Wadah vektor diimplementasikan sebagai array dinamis; Sama seperti biasa array, wadah vektor memiliki .__ mereka. elemen yang disimpan dalam penyimpanan yang berdekatan lokasi, yang berarti .__ mereka. elemen dapat diakses tidak hanya menggunakan iterator tetapi juga menggunakan offset pada pointer reguler ke elemen.

Tetapi tidak seperti array biasa, penyimpanan dalam vektor ditangani secara otomatis, memungkinkan untuk diperluas dan dikontrak sesuai kebutuhan.

Selain itu, vektor biasanya dapat memegang objek apa pun - sehingga Anda dapat membuat kelas untuk menyimpan informasi tentang kendaraan, dan kemudian menyimpan armada dalam vektor.

Hal-hal baik tentang vektor, selain dari pengubahan ukuran, adalah bahwa mereka masih memungkinkan akses dalam waktu yang konstan ke elemen individu melalui indeks, seperti halnya array.

Imbalan untuk mengubah ukuran, adalah bahwa ketika Anda menekan kapasitas saat ini, ia harus merealokasi, dan terkadang menyalin, lebih banyak memori. Namun kebanyakan algoritma peningkatan kapasitas menggandakan kapasitas setiap kali Anda mencapai penghalang, sehingga Anda tidak pernah menekannya lebih dari log2 (tumpukan tersedia) yang ternyata mungkin belasan kali dalam kasus terburuk sepanjang operasi program.

Membuat vektor

Vektor dibuat dengan menggunakan fungsi c()(concatenate) seperti yang disajikan pada sintaks berikut:

Membuat vektor Vektor dibuat dengan menggunakan fungsi c()(concatenate) seperti yang disajikan pada sintaks berikut:

# membuat vektor karakter
y <- c("Apel", "Jeruk", "Rambutan", "Salak")
y # print vektor
## [1] "Apel"     "Jeruk"    "Rambutan" "Salak"
# membuat vektor logical
t <- c("TRUE", "FALSE", "TRUE")
t # print vektor
## [1] "TRUE"  "FALSE" "TRUE"

selain menginput nilai pada vektor, kita juga dapat memberi nama nilai setiap vektor menggunakan fungsi names().

# Membuat vektor jumlah buah yang dibeli
Jumlah <- c(5,5,6,7)
names(Jumlah) <- c("Apel", "Jeruk", "Rambutan", "Salak")

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

# Print
Jumlah
##     Apel    Jeruk Rambutan    Salak 
##        5        5        6        7

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

length(Jumlah)
## [1] 4

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.

Untuk mengecek apakah dalam objek terdapat missing value dapat menggunakan fungsi is.na(). ouput dari fungsi tersebut adalah nilai Boolean. Jika terdapat Missing value, maka output yang dihasilkan akan memberikan nilai TRUE.

is.na(Jumlah)
##     Apel    Jeruk Rambutan    Salak 
##    FALSE    FALSE    FALSE    FALSE

Penting!!!

Selain NA terdapat NaN (not a number) sebagai missing value8. Nilai tersebut muncul ketika fungsi matematika yang digunakan pada proses perhitungan tidak bekerja sebagaimana mestinya. Contoh: 0/0 = NaN is.na() juga akan menghasilkan nilai TRUE pada NaN. Untuk membedakannya dengan NA dapat digunakan fungsi is.nan().

Subset Pada Vektor

Subseting vector terdiri atas tiga jenis, yaitu: positive indexing, Negative Indexing, dan .

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

# Subset vektor pada urutan kedua
Jumlah[2]
## Jeruk 
##     5
# Subset vektor pada urutan 2 dan 4
Jumlah[c(2, 4)]
## Jeruk Salak 
##     5     7

Selain melalui urutan (indeks), kita juga dapat melakukan subset (membuat himpunan bagian) berdasarkan nama elemen vektornya.

Jumlah["Jeruk"]
## Jeruk 
##     5

Penting!!!

Indeks pada R dimulai dari 1. Sehingga kolom atau elemen pertama vektor dimulai dari [1]

Negative indexing: mengecualikan (exclude) elemen vektor.

# mengecualikan elemen vektor 2 dan 4
Jumlah[-c(2,4)]
##     Apel Rambutan 
##        5        6

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.

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

# selecting vector
merah <- c(TRUE, FALSE, TRUE, FALSE)

# Subset
Jumlah[merah==TRUE]
##     Apel Rambutan 
##        5        6

Operasi Matematis Menggunakan Vektor

Jika pembaca melakukan operasi dengan vektor, operasi akan diterapkan ke setiap elemen 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

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

Kita juga dapat mengalikan vektor dengan vektor lainnya.Contohnya disajikan pada sintaks berikut:

# membuat vektor dengan panjang 
# sama dengan dengan vektor pendapatan
coefs <- c(2, 1.5, 1, 3)

# Mengalikan pendapatan dengan vektor coefs
pendapatan*coefs
## Andi Joni Lina Rani 
## 4000 2700 2500 9000

Berdasarkan sintaks tersebut dapat terlihat bahwa operasi matematik terhadap masing-masing vektor dapat berlangsung jika panjang vektornya sama.

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

Contoh penggunaan fungsi tersebut disajikan beberapa pada sintaks berikut:

# Menghitung range pendapatan
range(pendapatan)
## [1] 1800 3000
# menghitung rata-rata dan standar deviasi pendapatan
mean(pendapatan)
## [1] 2325
sd(pendapatan)
## [1] 537.7422