This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.
#Pendahuluan
#Apa itu array?
Array yaitu suatu bentuk struktur data yang berfungsi menyimpan sejumlah nilai(data) dalam suatu variabel, di mana setiap elemen memiliki indeks(posisi) dan jenis data yang seragam. Tipe data array hanya satu tipe yaitu numerik, karakter, logika, dll.Dalam bentuk sederhana, array bisa dianggap sebagai deretan kotak yang masing-masing menyimpan satu nilai, dan setiap kotak diberi nomor (indeks).
R mendistribusikan memori untuk array sesuai dengan total elemen (hasil kali dari ukuran setiap dimensi) secara berurutan (bersebelahan). Array mengumpulkan elemen dalam format indeks.
#Ciri-ciri Array
# 1. Buat array 1D berisi angka ganjil dari 5 sampai 100
array <- seq(5, 100, by=2)
print("Array ganjil dari 5 sampai 100:")
## [1] "Array ganjil dari 5 sampai 100:"
print(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
# a. Tampilkan semua elemen yang habis dibagi 4
print("Elemen array yang habis dibagi 4:")
## [1] "Elemen array yang habis dibagi 4:"
print(array[array %% 4 == 0])
## numeric(0)
# b. Urutkan array tersebut secara menurun (descending)
array_urut_menurun <- sort(array, decreasing=TRUE)
print("Array diurutkan secara menurun:")
## [1] "Array diurutkan secara menurun:"
print(array_urut_menurun)
## [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
jumlah_total <- sum(array)
rata_rata <- mean(array)
print(paste("Jumlah total elemen array:", jumlah_total))
## [1] "Jumlah total elemen array: 2496"
print(paste("Rata-rata elemen array:", rata_rata))
## [1] "Rata-rata elemen array: 52"
# 2. Buat array 2 dimensi (m,n) yang elemen nya kelipatan 4 dengan m,n>4
array2d <- array(seq(4, 4*36, by=4), dim=c(6,6)) #m=6, n=6
print("Array 2 dimensi kelipatan 4:")
## [1] "Array 2 dimensi kelipatan 4:"
print(array2d)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 4 28 52 76 100 124
## [2,] 8 32 56 80 104 128
## [3,] 12 36 60 84 108 132
## [4,] 16 40 64 88 112 136
## [5,] 20 44 68 92 116 140
## [6,] 24 48 72 96 120 144
# a.Hitung berapa elemen dalam array yang bernilai lebih dari (mxn)
m <- nrow(array2d)
n <- ncol(array2d)
## Hitung mxn
mxn <- m*n
print(paste("Nilai mxn adalah:", mxn))
## [1] "Nilai mxn adalah: 36"
## Cari elemen yang lebih besar dari mxn
lebih_dari_mxn <- array2d[array2d>mxn]
print("Elemen yang lebih besar dari mxn:")
## [1] "Elemen yang lebih besar dari mxn:"
print(lebih_dari_mxn)
## [1] 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112
## [20] 116 120 124 128 132 136 140 144
## Hitung banyaknya elemen yang lebih besar dari mxn
jumlah_lebih_dari_mxn <- length(lebih_dari_mxn)
print(paste("Jumlah elemen lebih besar dari mxn:", jumlah_lebih_dari_mxn))
## [1] "Jumlah elemen lebih besar dari mxn: 27"
# b. Tampilkan elemen pada diagonal utamaa
diagonal_utama <- diag(array2d)
print("Elemen diagonal utama:")
## [1] "Elemen diagonal utama:"
print(diagonal_utama)
## [1] 4 32 60 88 116 144
# c. Hitung jumlah seluruh elemen baris ke-2
jumlah_baris2 <- sum(array2d[2, ])
print(paste("Jumlah seluruh elemen baris ke-2:", jumlah_baris2))
## [1] "Jumlah seluruh elemen baris ke-2: 408"
# 3. Buat array 3 dimensi(x,y,z) dari angka lebih dari 10 dan kurang dari 100
a3 <- array(seq(11, 99, by=2), dim <- c(4,3,5))
print(a3)
## , , 1
##
## [,1] [,2] [,3]
## [1,] 11 19 27
## [2,] 13 21 29
## [3,] 15 23 31
## [4,] 17 25 33
##
## , , 2
##
## [,1] [,2] [,3]
## [1,] 35 43 51
## [2,] 37 45 53
## [3,] 39 47 55
## [4,] 41 49 57
##
## , , 3
##
## [,1] [,2] [,3]
## [1,] 59 67 75
## [2,] 61 69 77
## [3,] 63 71 79
## [4,] 65 73 81
##
## , , 4
##
## [,1] [,2] [,3]
## [1,] 83 91 99
## [2,] 85 93 11
## [3,] 87 95 13
## [4,] 89 97 15
##
## , , 5
##
## [,1] [,2] [,3]
## [1,] 17 25 33
## [2,] 19 27 35
## [3,] 21 29 37
## [4,] 23 31 39
# a. Seluruh elemen pada lapisan ke-(z-3)
lapisan_z3=a3[,,2]
cat("Seluruh elemen pada lapisan ke(z-3):")
## Seluruh elemen pada lapisan ke(z-3):
print(lapisan_z3)
## [,1] [,2] [,3]
## [1,] 35 43 51
## [2,] 37 45 53
## [3,] 39 47 55
## [4,] 41 49 57
# b. Nilai maksimum pada seluruh array
maksimum_array=max(a3)
cat("\nNilai Maksimum pada Seluruh array:", maksimum_array, "\n")
##
## Nilai Maksimum pada Seluruh array: 99
# c. Cari rata-rata per kolom
rata_rata_per_kolom=apply(a3, c(2,3), mean)
print("Rata-rata per kolom di tiap slice:")
## [1] "Rata-rata per kolom di tiap slice:"
print(rata_rata_per_kolom)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 14 38 62 86.0 20
## [2,] 22 46 70 94.0 28
## [3,] 30 54 78 34.5 36