#Given Subagja_2509076014

# 1. Menyimpan data dalam variabel
simpan <- c(10, 20, 40, 15, 40)
print(simpan)
## [1] 10 20 40 15 40
# 2. Mengakses nilai data secara individual
print(simpan[3])
## [1] 40
print(simpan[4])
## [1] 15
print(simpan[c(1, 3, 4)])
## [1] 10 40 15
print(simpan[2:4])
## [1] 20 40 15
# 3. Mengubah nilai data
simpan[3] <- 100
simpan[4] <- 10000
print(simpan)
## [1]    10    20   100 10000    40
# 4. Menghapus nilai data
NILAI <- c(10, 40, 45, 30, 80)
NILAI <- NILAI[-3]
print(NILAI)
## [1] 10 40 30 80
NILAI <- c(10, 40, 45, 30, 80)
NILAI <- NILAI[-4]
print(NILAI)
## [1] 10 40 45 80
NILAI <- c(10, 40, 45, 30, 80)
NILAI <- NILAI[c(-1, -3)]
print(NILAI)
## [1] 40 30 80
# 5. Operator lebih besar dari
NILAI <- c(100, 95, 70, 80, 25, 60, 80, 60, 55, 90)
print(NILAI[NILAI > 80])
## [1] 100  95  90
# 6. Operator lebih kecil dari
print(NILAI[NILAI < 70])
## [1] 25 60 60 55
# 7. Operator DAN (&)
print(NILAI[NILAI > 60 & NILAI < 80])
## [1] 70
# 8. Operator ATAU (|)
print(NILAI[NILAI > 80 | NILAI < 30])
## [1] 100  95  25  90
# 9. Menyaring data dengan kondisi
print(NILAI[NILAI < 75])
## [1] 70 25 60 60 55
print(NILAI[NILAI > 90])
## [1] 100  95
# 10. Fungsi dan perulangan
fungsi <- function(x) {
  for (i in 1:length(x)) {
    if (x[i] < 65) {
      x[i] <- x[i] + 10
    }
    print(x[i])
  }
}

A <- c(100, 95, 70, 80, 25, 60, 80, 60, 55, 90)
fungsi(A)
## [1] 100
## [1] 95
## [1] 70
## [1] 80
## [1] 35
## [1] 70
## [1] 80
## [1] 70
## [1] 65
## [1] 90
# 11. Jenis data R
print(mode(1000))
## [1] "numeric"
print(mode("HALO"))
## [1] "character"
d <- FALSE
print(mode(d))
## [1] "logical"
kuadrat <- function(x) {
  print(x * x)
}
A <- c(4)
kuadrat(A)
## [1] 16
print(mode(kuadrat))
## [1] "function"
# 12. Operator matematika
print(10 + 5)
## [1] 15
print(10 - 5)
## [1] 5
print(10 * 5)
## [1] 50
print(10 / 5)
## [1] 2
print(2 ^ 3)
## [1] 8
print(10 %% 3)
## [1] 1
# 13. Fungsi length
A <- c(100, 70, 80, 55, 80, 70, 80)
print(length(A))
## [1] 7
# 14. Fungsi sort
A <- c(70, 80, 50, 25, 100, 60)
print(sort(A))
## [1]  25  50  60  70  80 100
# 15. Fungsi diff
A <- c(100, 50, 70, 80, 60)
print(diff(A))
## [1] -50  20  10 -20
# 16. Fungsi sum
A <- c(50, 60, 70, 80)
print(sum(A))
## [1] 260
# 17. Fungsi sqrt
print(sqrt(81))
## [1] 9
# 18. Fungsi max dan min
A <- c(10, 25, 90, 75, 95, 57)
print(max(A))
## [1] 95
print(min(A))
## [1] 10
# 19. Fungsi exp dan pi
print(exp(1))
## [1] 2.718282
print(exp(2))
## [1] 7.389056
print(pi)
## [1] 3.141593
# 20. Fungsi options
options(digits = 3)
print(pi)
## [1] 3.14
options(digits = 7)

# 21. Fungsi seq
print(seq(from = 1, to = 10))
##  [1]  1  2  3  4  5  6  7  8  9 10
print(seq(from = 2, by = 0.5, length.out = 4))
## [1] 2.0 2.5 3.0 3.5
# 22. Membuat urutan kelipatan 3
print(seq(from = 2, to = 29, by = 3))
##  [1]  2  5  8 11 14 17 20 23 26 29
# 23. Fungsi table dan proporsi
A <- c(10, 10, 30, 10, 30, 10, 10, 40,
       40, 70, 90, 70, 80, 60, 60, 90)
print(table(A))
## A
## 10 30 40 60 70 80 90 
##  5  2  2  2  2  1  2
print(table(A) / length(A))
## A
##     10     30     40     60     70     80     90 
## 0.3125 0.1250 0.1250 0.1250 0.1250 0.0625 0.1250
# 24. Tabel data karakter
hasil <- c("ya", "tidak", "ya", "ya", "ya",
           "ya", "tidak", "ya", "tidak", "ya")
print(table(hasil))
## hasil
## tidak    ya 
##     3     7
print(table(hasil) / length(hasil))
## hasil
## tidak    ya 
##   0.3   0.7
# 25. Fungsi factor
A <- c("ikan", "ikan", "udang", "ikan",
       "udang", "ikan", "ikan", "udang")
print(factor(A))
## [1] ikan  ikan  udang ikan  udang ikan  ikan  udang
## Levels: ikan udang
A <- c("sarjana", "diploma", "sarjana",
       "pengangguran", "sarjana", "diploma",
       "diploma", "pengangguran")
print(factor(A))
## [1] sarjana      diploma      sarjana      pengangguran sarjana     
## [6] diploma      diploma      pengangguran
## Levels: diploma pengangguran sarjana
# 26. Fungsi barplot
A <- c(10, 10, 10, 10, 20, 20,
       30, 30, 30, 30, 30, 30)
barplot(table(A), main = "Diagram Batang Frekuensi",
        xlab = "Nilai", ylab = "Frekuensi")

barplot(table(A) / length(A),
        main = "Diagram Batang Proporsi",
        xlab = "Nilai", ylab = "Proporsi")

# 27. Fungsi plot
A <- c(10, 10, 10, 10, 10, 20,
       20, 20, 30, 30, 40)
print(table(A))
## A
## 10 20 30 40 
##  5  3  2  1
nilai <- c(10, 20, 30, 40)
frekuensi <- c(5, 3, 2, 1)

plot(nilai, frekuensi,
     main = "Grafik Nilai dan Frekuensi",
     xlab = "Nilai", ylab = "Frekuensi",
     pch = 19)

plot(table(A),
     main = "Grafik Frekuensi Data",
     xlab = "Nilai", ylab = "Frekuensi")