Array di R merupakan struktur data yang digunakan untuk menyimpan sekumpulan elemen dengan tipe data yang sama, seperti numerik, karakter, atau logika. Elemen-elemen dalam array dapat disusun dalam satu dimensi, dua dimensi, tiga dimensi, dan seterusnya.
# Buat array 1D berisi angka ganjil dari 5 sampai 100.
angka_ganjil <- array(seq(5, 100, by = 2))
print(angka_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. Tampilkan semua elemen yang habis dibagi 4
angka_ganjil[angka_ganjil %% 4 == 0]
## numeric(0)
# b. Urutkan array tersebut secara menurun (descending).
sort(angka_ganjil, decreasing = TRUE)
## [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(angka_ganjil) # jumlah dari seluruh angka ganjil
## [1] 2496
mean(angka_ganjil) # rata-rata dari seluruh angka ganjil
## [1] 52
# Buat array 2 dimensi (5*5) dengan elemen kelipatan 4
# seq(4, 4*25, by=4) membuat deret bilangan mulai dari 4 sampai 4×25 (yaitu 100) dengan kenaikan 4
# matrix(..., nrow=5, ncol=5) membentuk deret tadi menjadi matriks 5 baris dan 5 kolom
d2 <- matrix(seq(4, 4*25, by=4), nrow=5, ncol=5)
print(d2)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 4 24 44 64 84
## [2,] 8 28 48 68 88
## [3,] 12 32 52 72 92
## [4,] 16 36 56 76 96
## [5,] 20 40 60 80 100
# a. Hitung berapa elemen dalam array yang bernilai lebih dari (m*n)
#Karena m*n = 5*5 = 25, kita cek berapa elemen yang >25.
sum(d2 > 25)
## [1] 19
# b. Tampilkan elemen pada diagonal utama
#Diagonal utama berarti elemen dari kiri atas ke kanan bawah
diag(d2)
## [1] 4 28 52 76 100
# c. Menghitung jumlah seluruh elemen baris ke-2
sum(d2[2,])
## [1] 240
# Membuat array 3 dimensi (4x3x5) dengan angka acak yang lebih dari 10 dan kurang dari 100
# Membuat array 3D dengan angka acak 10-100
set.seed(123) # Membuat yang hasil yang dihasilkan tetap konsisten dan tidak berubah-ubah
array3d <- array(sample(10:99, size = 4*3*5, replace = TRUE),
dim = c(4, 3, 5),
dimnames = list(
Baris = c("B1", "B2", "B3", "B4"),
Kolom = c("K1", "K2", "K3"),
Lapisan = c("L1", "L2", "L3", "L4", "L5")
))
# Menampilkan array dengan nama dimensi
print(array3d)
## , , Lapisan = L1
##
## Kolom
## Baris K1 K2 K3
## B1 40 76 23
## B2 88 51 34
## B3 60 59 99
## B4 23 52 78
##
## , , Lapisan = L2
##
## Kolom
## Baris K1 K2 K3
## B1 66 16 45
## B2 18 51 87
## B3 81 18 90
## B4 35 92 52
##
## , , Lapisan = L3
##
## Kolom
## Baris K1 K2 K3
## B1 85 18 36
## B2 24 50 69
## B3 41 83 62
## B4 16 32 16
##
## , , Lapisan = L4
##
## Kolom
## Baris K1 K2 K3
## B1 62 43 72
## B2 36 78 22
## B3 47 81 91
## B4 98 85 34
##
## , , Lapisan = L5
##
## Kolom
## Baris K1 K2 K3
## B1 47 56 15
## B2 30 99 81
## B3 88 69 95
## B4 50 25 95
# a. Seluruh elemen pada lapisan ke-(z-3)
# Asumsi z adalah dimensi ketiga (5 lapisan), maka z-3 = 2
lapisan_zkurang3 <- array3d[, , 2]
cat("\na. Elemen pada lapisan ke-2 (z-3):\n")
##
## a. Elemen pada lapisan ke-2 (z-3):
print(lapisan_zkurang3)
## Kolom
## Baris K1 K2 K3
## B1 66 16 45
## B2 18 51 87
## B3 81 18 90
## B4 35 92 52
# b. Nilai maksimum pada seluruh array
nilai_maks <- max(array3d)
cat("\nb. Nilai maksimum seluruh array:", nilai_maks, "\n")
##
## b. Nilai maksimum seluruh array: 99
# c. Rata-rata per kolom
# Menggunakan apply untuk menghitung mean per kolom di setiap lapisan
nilai_rata_kolom <- apply(array3d, c(2, 3), mean) # menghitung rata2 perkolom dari tiap dimensi
cat("\nc. Rata-rata per kolom di setiap lapisan:\n")
##
## c. Rata-rata per kolom di setiap lapisan:
print(nilai_rata_kolom)
## Lapisan
## Kolom L1 L2 L3 L4 L5
## K1 52.75 50.00 41.50 60.75 53.75
## K2 59.50 44.25 45.75 71.75 62.25
## K3 58.50 68.50 45.75 54.75 71.50
Dipahami bahwa array satu, dua, dan tiga dimensi masing-masing memiliki peran penting dalam pengelolaan data. Array satu dimensi biasanya digunakan untuk data yang tersusun secara sederhana, array dua dimensi cocok untuk menyusun data dalam bentuk tabel atau matriks, sementara array tiga dimensi sangat membantu dalam menangani data yang lebih kompleks. Dengan memahami struktur serta cara kerja ketiga jenis array ini, kita akan lebih mudah dalam mengelola data secara efisien dan rapi. Pengetahuan dasar ini juga menjadi bekal yang sangat berguna untuk keperluan analisis data di masa depan.
KELOMPOK 1 A 1. Alfiah Rupaidah H051241005 2. Desy Saini H051241041 3. Anisa Aulia H051241045 4. Muhammad Surya Pratama H051241067 5. Adelia Eka Agustin H051241075