SOAL ARRAY
1. Buat array 1D berisi angka ganjil dari 5 sampai 100
array1 <- array(seq(5,100, by=2))
print(array1)
Output:
## [1] 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53
## [26] 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
a. Tampilkan semua elemen yang habis dibagi 4
array1[array1 %% 4 == 0]
Output:
## numeric(0)
b. Urutkan array tersebut secara menurun (descending)
sort(array1, decreasing = TRUE)
Output:
## [1] 99 97 95 93 91 89 87 85 83 81 79 77 75 73 71 69 67 65 63 61 59 57 55 53 51
## [26] 49 47 45 43 41 39 37 35 33 31 29 27 25 23 21 19 17 15 13 11 9 7 5
c. Hitung jumlah total dan rata-ratanya
sum(array1) #jumlah total
mean(array1) #rata-rata
Output:
## [1] 2496
## [1] 52
2. Buat array 2 dimensi (m, n) yang elemennya kelipatan 4 dengan m,n>4
m <- 5
n <- 6
array2 <- array(seq(4, by=4, length.out= 30), dim = c(m,n))
print(array2)
Output:
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 4 24 44 64 84 104
## [2,] 8 28 48 68 88 108
## [3,] 12 32 52 72 92 112
## [4,] 16 36 56 76 96 116
## [5,] 20 40 60 80 100 120
a. Hitung berapa elemen dalam array yang bernilai lebih dari (mxn)
array2[array2 > m*n]
length(array2[array2 > m*n])
Output:
## [1] 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104
## [20] 108 112 116 120
## [1] 23
b. Tampilkan elemen pada diagonal utama
diag(array2)
Output:
## [1] 4 28 52 76 100
c. Hitung jumlah seluruh elemen baris ke-2
sum(array2[2,])
Output:
## [1] 348
3. Buat array 3 dimensi (x, y, z) dari angka lebih dari 10 dan kurang dari 100
x <- 3
y <- 3
z <- 5
array3 <- array(c(11:99), dim = c(x,y,z))
print(array3)
Output:
## , , 1
##
## [,1] [,2] [,3]
## [1,] 11 14 17
## [2,] 12 15 18
## [3,] 13 16 19
##
## , , 2
##
## [,1] [,2] [,3]
## [1,] 20 23 26
## [2,] 21 24 27
## [3,] 22 25 28
##
## , , 3
##
## [,1] [,2] [,3]
## [1,] 29 32 35
## [2,] 30 33 36
## [3,] 31 34 37
##
## , , 4
##
## [,1] [,2] [,3]
## [1,] 38 41 44
## [2,] 39 42 45
## [3,] 40 43 46
##
## , , 5
##
## [,1] [,2] [,3]
## [1,] 47 50 53
## [2,] 48 51 54
## [3,] 49 52 55
a. Seluruh elemen pada lapisan ke-(z-3)
array3[,,z-3]
#atau
array3[,,2]
Output:
## [,1] [,2] [,3]
## [1,] 20 23 26
## [2,] 21 24 27
## [3,] 22 25 28
## [,1] [,2] [,3]
## [1,] 20 23 26
## [2,] 21 24 27
## [3,] 22 25 28
b. Nilai maksimum pada seluruh array
max(array3)
Output:
## [1] 55
c. Cari rata-rata per kolom
mean(array3[,1,]) #rata-rata kolom ke-1
mean(array3[,2,]) #rata-rata kolom ke-2
mean(array3[,3,]) #rata-rata kolom ke-3
Output:
## [1] 30
## [1] 33
## [1] 36