Sekumpulan data dalam satu baris atau kolom.
Untuk contoh penerapan dari array 1 dimensi dapat dilihat dari contoh soal berikut:
Penyelesaian:
# Membuat array 1D berisi angka ganjil dari 5 sampai 100
array_angka <- seq (5,100, by=2)
array_angka
## [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 elemen yang habis dibagi 4
habis_dibagi_4 <- array_angka [array_angka %% 4 == 0]
cat("Elemen yang habis dibagi 4:\n")
## Elemen yang habis dibagi 4:
print(habis_dibagi_4)
## numeric(0)
#b. Mengurutkan array secara menurun (descending)
array_urut_desc <- sort (array_angka, decreasing = TRUE)
cat ("Array urut menurun:\n")
## Array urut menurun:
print (array_urut_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. Menghitung jumlah total dan rata-rata
jumlah_total <- sum (array_angka)
rata_rata<- mean (array_angka)
cat("Jumlah total:", jumlah_total,"\n")
## Jumlah total: 2496
cat ("Rata-rata:", rata_rata, "\n")
## Rata-rata: 52
Data tersusun dalam baris dan kolom.
Untuk contoh penerapan dari array 2 dimensi dapat dilihat dari contoh soal berikut:
# Deklarasi Array 2 dimensi (kelipatan 4), ukuran 5x5
b <- array(seq(4, 100, by=4), dim = c(5,5))
print(b)
## [,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 jumlah elemen yang lebih besar dari mxn (25)
sum(b > 25)
## [1] 19
# b. Tampilkan elemen pada diagonal utama
diag(b)
## [1] 4 28 52 76 100
# c. Hitung jumlah seluruh elemen baris ke-2
sum(b[2, ])
## [1] 240
Memiliki baris, kolom dan lapisan. berguna untuk data waktu atau grup data yang berulang.
Untuk contoh penerapan dari array 3 dimensi dapat dilihat dari contoh soal berikut:
# Membuat vektor dari 11 hingga 99
data<- c(11:99)
length(data)
## [1] 89
# Dikarenakan jumlah anggota vektor adalah 89 maka dibulatkan menjadi 90
# Tentukan dimensi array 3D, misalnya 3x5x6 agar total elemen = 90
my_array<- array(data,dim=c(3,5,6))
print(my_array)
## , , 1
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 11 14 17 20 23
## [2,] 12 15 18 21 24
## [3,] 13 16 19 22 25
##
## , , 2
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 26 29 32 35 38
## [2,] 27 30 33 36 39
## [3,] 28 31 34 37 40
##
## , , 3
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 41 44 47 50 53
## [2,] 42 45 48 51 54
## [3,] 43 46 49 52 55
##
## , , 4
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 56 59 62 65 68
## [2,] 57 60 63 66 69
## [3,] 58 61 64 67 70
##
## , , 5
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 71 74 77 80 83
## [2,] 72 75 78 81 84
## [3,] 73 76 79 82 85
##
## , , 6
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 86 89 92 95 98
## [2,] 87 90 93 96 99
## [3,] 88 91 94 97 11
#a. Seluruh elemen pada lapisan ke-(z-3):
z<- dim(my_array)[3]
lapisan_z_3<- my_array[, , z-3]
cat("\na. Elemen pada lapisan ke-(z-3):\n")
##
## a. Elemen pada lapisan ke-(z-3):
print(lapisan_z_3)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 41 44 47 50 53
## [2,] 42 45 48 51 54
## [3,] 43 46 49 52 55
#b. Nilai maksimum dari seluruh array
maksimum<- max(my_array)
cat("\nb. Nilai maksimum dari seluruh array:\n")
##
## b. Nilai maksimum dari seluruh array:
print(maksimum)
## [1] 99
#c Rata-rata per kolom
rata_per_kolom <- apply(my_array, 2, mean)
cat("\nc. Rata-rata per kolom:\n")
##
## c. Rata-rata per kolom:
print(rata_per_kolom)
## [1] 49.50000 52.50000 55.50000 58.50000 56.55556
Berdasarkan hasil penerapan konsep array dalam R, dapat disumpulkan bahwa:
Array 1 Dimensi (vektor) berisi data linear, cocok untuk daftar nilai sederhana. Operasi seperti pencarian, pengurutan, penjumlahan, dan rata-rata sangat mudah dilakukan.
Array 2 Dimensi (matriks) tersusun dalam baris dan kolom, memungkinkan analisis yang lebih terstruktur, seperti menghitung elemen berdasarkan kondisi tertentu, mengambil data diagonal, hingga menjumlahkan isi baris atau kolom tertentu.
Array 3 Dimensi memperluas konsep array ke dunia tiga dimensi, berguna untuk data yang memiliki kategori tambahan seperti waktu, grup, atau lapisan informasi lain.