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

array1d <- seq(5, 99, by = 2)
cat("\nArray 1D (angka ganjil 5-99):\n")
## 
## Array 1D (angka ganjil 5-99):
print(array1d)
##  [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 elemen yang habis dibagi 4

elemen_habis_4 <- array1d[array1d %% 4 == 0]
cat("\nElemen yang habis dibagi 4:\n")
## 
## Elemen yang habis dibagi 4:
print(elemen_habis_4)
## numeric(0)

b. Urutkan array secara menurun (descending)

array1d_desc <- sort(array1d, decreasing = TRUE)
cat("\nArray setelah diurutkan menurun:\n")
## 
## Array setelah diurutkan menurun:
print(array1d_desc)
##  [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

jumlah_total <- sum(array1d)
rata_rata <- mean(array1d)
cat("\nJumlah total:", jumlah_total, "\n")
## 
## Jumlah total: 2496
cat("Rata-rata:", rata_rata, "\n")
## Rata-rata: 52

2. Membuat array 2 dimensi

m <- 5
n <- 7
jumlah_elemen <- m * n
kelipatan4 <- seq(4, by=4, length.out=jumlah_elemen)
array2d <- matrix(kelipatan4, nrow = m, ncol = n)
cat("\nArray 2D:\n")
## 
## Array 2D:
print(array2d)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,]    4   24   44   64   84  104  124
## [2,]    8   28   48   68   88  108  128
## [3,]   12   32   52   72   92  112  132
## [4,]   16   36   56   76   96  116  136
## [5,]   20   40   60   80  100  120  140

a. Hitung elemen yang lebih dari (m x n)

threshold <- m * n
jumlah_lebih <- sum(array2d > threshold)
cat("\nJumlah elemen lebih dari", threshold, ":", jumlah_lebih, "\n")
## 
## Jumlah elemen lebih dari 35 : 27

b. Tampilkan elemen pada diagonal utama

diagonal_utama <- diag(array2d)
cat("\nElemen diagonal utama:\n")
## 
## Elemen diagonal utama:
print(diagonal_utama)
## [1]   4  28  52  76 100

c. Hitung jumlah seluruh elemen baris ke-2

jumlah_baris2 <- sum(array2d[2, ])
cat("\nJumlah elemen baris ke-2:", jumlah_baris2, "\n")
## 
## Jumlah elemen baris ke-2: 476

3. Membuat array 3 dimensi

set.seed(123)  
data <- sample(11:99, size = 3*4*5, replace = TRUE)  
array3d <- array(data, dim = c(3, 4, 5))
print(array3d)
## , , 1
## 
##      [,1] [,2] [,3] [,4]
## [1,]   41   24   60   35
## [2,]   89   77   53   79
## [3,]   61   52   24   67
## 
## , , 2
## 
##      [,1] [,2] [,3] [,4]
## [1,]   19   17   93   91
## [2,]   82   52   46   53
## [3,]   36   19   88   86
## 
## , , 3
## 
##      [,1] [,2] [,3] [,4]
## [1,]   25   19   33   63
## [2,]   42   51   37   17
## [3,]   17   84   70   63
## 
## , , 4
## 
##      [,1] [,2] [,3] [,4]
## [1,]   37   44   86   92
## [2,]   48   79   73   35
## [3,]   99   82   23   48
## 
## , , 5
## 
##      [,1] [,2] [,3] [,4]
## [1,]   31   57   16   96
## [2,]   89   70   82   49
## [3,]   51   26   96   41

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

z <- dim(array3d)[3]  
lapisan_zmin3 <- array3d[,,(z-3)]
cat("\nLapisan ke-(z-3):\n")
## 
## Lapisan ke-(z-3):
print(lapisan_zmin3)
##      [,1] [,2] [,3] [,4]
## [1,]   19   17   93   91
## [2,]   82   52   46   53
## [3,]   36   19   88   86

b. Nilai maksimum seluruh array

maksimum <- max(array3d)
cat("\nNilai maksimum di seluruh array:", maksimum, "\n")
## 
## Nilai maksimum di seluruh array: 99

c. Rata-rata per kolom (x per kolom y)

rata_per_kolom <- apply(array3d, MARGIN = c(2,3), FUN = mean)
cat("\nRata-rata per kolom:\n")
## 
## Rata-rata per kolom:
print(rata_per_kolom)
##          [,1]     [,2]     [,3]     [,4]     [,5]
## [1,] 63.66667 45.66667 28.00000 61.33333 57.00000
## [2,] 51.00000 29.33333 51.33333 68.33333 51.00000
## [3,] 45.66667 75.66667 46.66667 60.66667 64.66667
## [4,] 60.33333 76.66667 47.66667 58.33333 62.00000