Kelompok B

Almirah Lutfiyah (H051241062)

Angelin Jesslyn Pianto (H051241048)

Gilbert Radja (H051241054)

Nur Aizi (H051241040)

Zaskiya (H051241044)

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

Kesimpulan

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.