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