Pendahuluan

Array adalah struktur data yang menyimpan elemen berurutan dengan tipe data yang sama dan diakses melalui indeks yang biasanya dimulai dari nol. Karakteristik utamanya meliputi ukuran tetap (pada beberapa bahasa) dan akses elemen yang cepat. Array memungkinkan penyimpanan data dalam jumlah besar secara efisien, serta memudahkan operasi seperti pencarian, pengurutan, dan manipulasi data tanpa memerlukan struktur data yang kompleks.

Konsep Array

Array 1D adalah kumpulan data yang disusun secara linear (seperti daftar)

Array 2D adalah array dengan dua dimensi, yang terdiri dari baris dan kolom. Ini sering digunakan untuk merepresentasikan matriks atau tabel data

Array 3D adalah array dengan tiga dimensi, yang dapat digunakan untuk merepresentasikan struktur data ruang seperti kubus atau volume.


Array 1D

Membuat array berisi bilangan ganjil dari 5 sampai 100.

array = seq(5, 100, by = 2)
array
##  [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

Mencari elemen dalam array yang habis dibagi 4 menggunakan operator modulus (%%)

habis_dibagi_4 = array[array %% 4 == 0]
habis_dibagi_4
## numeric(0)

Mengurutkan array dari angka terbesar ke terkecil

array_desc = sort(array, decreasing = TRUE)
array_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

Menghitung total seluruh elemen dan rata-ratanya.

jumlah_total = sum(array)
jumlah_total
## [1] 2496
rata_rata = mean(array)
rata_rata
## [1] 52

Menampilkan seluruh hasil dengan menggunakan fungsi cat()

cat("Array ganjil dari 5 sampai 100:\n", array, "\n\n")
## Array ganjil dari 5 sampai 100:
##  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 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
cat("Elemen yang habis dibagi 4:\n", habis_dibagi_4, "\n\n")
## Elemen yang habis dibagi 4:
## 
cat("Array secara descending:\n", array_desc, "\n\n")
## Array secara descending:
##  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 49 47 45 43 41 39 37 35 33 31 29 27 25 23 21 19 17 15 13 11 9 7 5
cat("Jumlah total:", jumlah_total, "\n")
## Jumlah total: 2496
cat("Rata-rata:", rata_rata, "\n")
## Rata-rata: 52

Array 2d

Membuat array 2D (5x5) dari angka kelipatan 4

arr = array(seq(4,100, by=4), dim = c(5,5))
arr
##      [,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

Menghitung jumlah elemen dalam array yang nilainya lebih besar dari 25

jumlah_lebih = sum(arr> 25)
jumlah_lebih
## [1] 19

Mengambil elemen-elemen pada diagonal utama array

diagonal= diag(arr)
diagonal
## [1]   4  28  52  76 100

Menjumlahkan seluruh elemen pada baris kedua.

jumlah_baris2 = sum(arr[2,])
jumlah_baris2
## [1] 240

Array 3D

Membuat Elemen array 3D ukuran 4×5×6 dari angka 11–99 berurutan

x = 4
y = 5
z = 6

arr3d = array(seq(11, 99), dim = c(x, y, z))
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

Menampilkan semua elemen array pada lapisan ketiga (z = 3)

cat("\nLapisan ke-3 (z):\n"); print(arr3d[, , 3])
## 
## Lapisan ke-3 (z):
##      [,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

Mencari nilai maksimum dari semua elemen array 3D

cat("\nNilai maksimum:", max(arr3d), "\n")
## 
## Nilai maksimum: 99

Menghitung rata-rata elemen per kolom array

cat("\nRata-rata per kolom:\n"); print(apply(arr3d, 2, mean))
## 
## Rata-rata per kolom:
## [1] 47.66667 51.66667 44.54167 44.83333 48.83333

KESIMPULAN

Array adalah struktur data dalam R yang digunakan untuk menyimpan kumpulan elemen bertipe sama dalam satu kesatuan yang terorganisir berdasarkan dimensi. Array dapat berbentuk satu dimensi (1D), dua dimensi (2D), maupun tiga dimensi (3D) atau lebih. Array 1D menyerupai vektor, yaitu deretan data dalam satu baris atau kolom; array 2D berbentuk seperti matriks yang memiliki baris dan kolom; sedangkan array 3D memiliki tambahan dimensi ketiga berupa lapisan, sehingga membentuk blok data tiga arah. Penggunaan array mempermudah manipulasi elemen, perhitungan matematis seperti jumlah, rata-rata, pencarian nilai maksimum, serta pengolahan data skala besar secara lebih efisien dan sistematis.