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