1.Membuat array 1D berisi angka ganjil dari 5 sampai 100

a=5:100
a_ganjil=array(a[a %% 2 == 1])  #mengambil elemen(angka) ganjil
print(a_ganjil)
##  [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.Menampilkan semua elemen yang habis dibagi 4

hbs_dibagi4=a_ganjil[a_ganjil %% 4 == 0]
print(hbs_dibagi4)
## integer(0)

b.Mengurutkan array tersebut secara menurun (descending)

urutan=sort(a_ganjil, decreasing = TRUE)
print(urutan)
##  [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.Menghitung jumlah total dan rata-ratanya

total=sum(a_ganjil)  #jumlah total
print(total)
## [1] 2496
rata2=mean(a_ganjil)
print(rata2)
## [1] 52

2.Membuat array 2 dimensi (m, n) yang elemennya kelipatan 4 dengan m,n>4

Tentukan ukuran array

Set nilai m dan n

m <- 5
n <- 6

Buat array 2D kelipatan 4

b <- array(seq(4, by = 4, length.out = m * n), dim = c(m, n))
print(b)
##      [,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 yang lebih besar dari (m*n)

elemen <- length(which(b > (m*n)))
print(elemen)
## [1] 23

b.Tampilkan elemen diagonal utama

diagonal <- diag(b)
print(diagonal)
## [1]   4  28  52  76 100

c.Hitung jumlah seluruh elemen baris ke-2

row2_sum <- sum(b[2,])
print(row2_sum)
## [1] 348

3.Membuat array 3 dimensi (x, y, z) dari angka lebih dari 10 dan kurang dari 100

x <- 4  # jumlah baris
y <- 5  # jumlah kolom
z <- 6  # jumlah lapisan (z > 3 untuk soal 3a)

Membuat array dengan nilai antara 11 sampai 99

arr3d <- array(11:99, dim = c(x, y, z))
print(arr3d)
## , , 1
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   11   15   19   23   27
## [2,]   12   16   20   24   28
## [3,]   13   17   21   25   29
## [4,]   14   18   22   26   30
## 
## , , 2
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   31   35   39   43   47
## [2,]   32   36   40   44   48
## [3,]   33   37   41   45   49
## [4,]   34   38   42   46   50
## 
## , , 3
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   51   55   59   63   67
## [2,]   52   56   60   64   68
## [3,]   53   57   61   65   69
## [4,]   54   58   62   66   70
## 
## , , 4
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   71   75   79   83   87
## [2,]   72   76   80   84   88
## [3,]   73   77   81   85   89
## [4,]   74   78   82   86   90
## 
## , , 5
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   91   95   99   14   18
## [2,]   92   96   11   15   19
## [3,]   93   97   12   16   20
## [4,]   94   98   13   17   21
## 
## , , 6
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   22   26   30   34   38
## [2,]   23   27   31   35   39
## [3,]   24   28   32   36   40
## [4,]   25   29   33   37   41

a.Menampilkan seluruh elemen pada lapisan ke-(z-3)

elemen_lapisan <- arr3d[,,z-3]
print(elemen_lapisan)
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   51   55   59   63   67
## [2,]   52   56   60   64   68
## [3,]   53   57   61   65   69
## [4,]   54   58   62   66   70

b.Nilai maksimum pada seluruh array

arr_maks <- max(arr3d)
print(arr_maks)
## [1] 99

c.Cari rata-rata per kolom

Untuk setiap lapisan

rata2kolom_lapisan <- apply(arr3d, c(2, 3), mean)
print(rata2kolom_lapisan)
##      [,1] [,2] [,3] [,4]  [,5] [,6]
## [1,] 12.5 32.5 52.5 72.5 92.50 23.5
## [2,] 16.5 36.5 56.5 76.5 96.50 27.5
## [3,] 20.5 40.5 60.5 80.5 33.75 31.5
## [4,] 24.5 44.5 64.5 84.5 15.50 35.5
## [5,] 28.5 48.5 68.5 88.5 19.50 39.5

Untuk semua lapisan sekaligus

rata2kolom <- apply(arr3d, 2, mean)
print(rata2kolom)
## [1] 47.66667 51.66667 44.54167 44.83333 48.83333