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)
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