Apa Itu Array?

Array di R adalah struktur data yang mampu menyimpan banyak elemen sekaligus dalam format berdimensi (lebih dari satu). Tidak seperti vektor atau matriks, array bisa memiliki tiga dimensi atau lebih.

Karakteristik Utama:

Cara Array Menyimpan Data:

Array Multidimensi

Array 1 dimensi(vektor)

Sekumpulan data dalam satu baris atau kolom.

Untuk contoh penerapan dari array 1 dimensi dapat dilihat dari contoh soal berikut:

  1. Buat array 1D berisi angka ganjil dari 5 sampai 100.
  1. Tampilkan semua elemen yang habis dibagi 4.
  2. Urutkan array tersebut secara menurun (descending).
  3. Hitung jumlah total dan rata-ratanya.

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

Array 2 dimensi(Matriks)

Data tersusun dalam baris dan kolom.

Untuk contoh penerapan dari array 2 dimensi dapat dilihat dari contoh soal berikut:

  1. Buat array 2 dimensi (m, n) yang elemennya kelipatan 4 dengan m,n>4
  1. Hitung berapa elemen dalam array yang bernilai lebih dari (mxn).
  2. Tampilkan elemen pada diagonal utama.
  3. Hitung jumlah seluruh elemen baris ke-2.
# 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

Array 3 dimensi

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:

  1. Buat array 3 dimensi (x, y, z) dari angka lebih dari 10 dan kurang dari 100
  1. Seluruh elemen pada lapisan ke-(z-3)
  2. Nilai maksimum pada seluruh array
  3. Cari rata-rata per kolom
# Membuat vektor dari 11 hingga 99
data<- 11:99
length(data)
## [1] 89
# Dikarenakan jumlah anggota vektor adalah 89 maka dibulatkan menjadi 90
# Tentukan dimensi array 3D, misalnya 3x3x10 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

Kesimpulan

Array adalah struktur data penting dalam pemrograman yang memungkinkan penyimpanan banyak elemen dengan tipe data yang sama dalam satu wadah. Di R, array dapat memiliki satu, dua, atau bahkan lebih dari tiga dimensi, tergantung kebutuhan pengolahan data.

Melalui berbagai contoh, kita melihat bahwa array mempermudah pengelolaan data dalam skala besar, mendukung operasi matematis, dan membantu analisis data lebih sistematis. Pemahaman tentang array sangat krusial sebagai dasar dalam mempelajari algoritma, pemrograman data, hingga pengolahan data skala besar ke depannya.