Logo

1 Final Exam Smt 2

1.1 Pemrograman Dasar dan Struktur Kontrol

# Masukkan nilai angka secara manual
angka <- 7  # Ganti dengan angka yang diinginkan

# Menentukan apakah bilangan positif, negatif, atau nol
if (angka > 0) {
  cat("Bilangan tersebut adalah positif.\n")
  # Memeriksa apakah bilangan positif tersebut genap atau ganjil
  if (angka %% 2 == 0) {
    cat("Bilangan tersebut adalah genap.\n")
    # Jika bilangan genap dan merupakan kelipatan 4, tampilkan pesan tambahan
    if (angka %% 4 == 0) {
      cat("Bilangan tersebut juga merupakan kelipatan 4.\n")
    }
  } else {
    cat("Bilangan tersebut adalah ganjil.\n")
  }
} else if (angka < 0) {
  cat("Bilangan tersebut adalah negatif.\n")
} else {
  cat("Bilangan tersebut adalah nol.\n")
}
## Bilangan tersebut adalah positif.
## Bilangan tersebut adalah ganjil.

1.1.1 Penjelasan:

    • Menggunakan readline() untuk menerima input pengguna (dalam bentuk karakter).
    • as.integer() mengonversi input karakter ke bilangan bulat.
    • Menggunakan struktur kontrol if, else if, dan else.
    • cat() digunakan untuk mencetak pesan (bisa juga print() kalau mau baris baru otomatis).

1.2 Fungsi dan Perulangan

# Fungsi untuk menghitung rata-rata, median, dan standar deviasi
hitung_statistik <- function(daftar1, daftar2) {
  # Menghitung nilai deskriptif untuk daftar pertama
  mean1 <- mean(daftar1)
  median1 <- median(daftar1)
  sd1 <- sd(daftar1)
  
  # Menghitung nilai deskriptif untuk daftar kedua
  mean2 <- mean(daftar2)
  median2 <- median(daftar2)
  sd2 <- sd(daftar2)
  
  # Membuat list hasil
  hasil <- list(
    daftar1 = list(rata_rata = mean1, median = median1, standar_deviasi = sd1),
    daftar2 = list(rata_rata = mean2, median = median2, standar_deviasi = sd2)
  )
  
  return(hasil)
}

# Contoh penggunaan
daftar_1 <- c(1, 2, 3, 4, 5)
daftar_2 <- c(10, 20, 30, 40, 50)

hasil <- hitung_statistik(daftar_1, daftar_2)

print(hasil)
## $daftar1
## $daftar1$rata_rata
## [1] 3
## 
## $daftar1$median
## [1] 3
## 
## $daftar1$standar_deviasi
## [1] 1.581139
## 
## 
## $daftar2
## $daftar2$rata_rata
## [1] 30
## 
## $daftar2$median
## [1] 30
## 
## $daftar2$standar_deviasi
## [1] 15.81139

1.2.1 Penjelasan:

  • Fungsi hitung_statistik menerima dua daftar (list atau vector).
  • Menggunakan fungsi bawaan mean(), median(), dan sd().
  • Hasil dikembalikan dalam bentuk list (modular dan bisa digunakan kembali).

1.3 Visualisasi Data dan Statistik Deskriptif

1.3.1 Dataset

1.3.2 Data Cleaning

1.3.2.1 Handling Missing Values

##              X Observation_ID           Date       Location         Season 
##              0              0              0              0              0 
##    Temperature       Humidity       Rainfall     Wind_Speed 
##              0              0              0              0

1.3.2.2 Removing Duplicates

1.3.2.3 Fixing Text Formating Issues

1.3.2.4 Handling Out;iers

1.3.2.5 Normalizing

1.3.2.5.1 Penjelasan
  • normalize() untuk min-max scaling (hasil 0–1).
  • scale() untuk Z-score (mean=0, sd=1).
  • df_duplicates di sini adalah data hasil cleaning & penghapusan duplikat sebelumnya.

1.3.2.6 Standarizing

1.3.2.7 Ensure Dataset

1.3.3 Data Transformation

1.3.3.1 Dataset

1.3.3.2 Temporal Transformasion

1.3.3.2.1 Lag, Dif Rolling
1.3.3.2.2 Extract Data
1.3.3.2.3 Cumulative Values

1.3.3.3 Distribution Transformations

1.3.3.3.1 Log Transformation
1.3.3.3.2 Box - Cox
1.3.3.3.3 Stabilize Variance

1.3.3.4 Scaling & Normalization

1.3.3.4.1 Min - Max Scaling

1.3.3.5 Stanrization (Z-Score)

1.3.3.6 Categorical Enconding

1.3.3.6.1 One Hot Encoding
1.3.3.6.2 Frequency Encoding

1.3.3.7 Feature Engineering

1.3.3.7.1 Interaction Features
1.3.3.7.2 Ratio Features
1.3.3.7.3 Group Aggregation
1.3.3.7.4 Rank Transformation
1.3.3.7.4.1 Buat ranking untuk semua kolom numerik
1.3.3.7.5 Text Cleaning & Feature Creation
1.3.3.7.6 Cumulative Feature

1.3.3.8 Outlier Handling

1.3.3.8.1 Z-Score
1.3.3.8.2 Interquartile Range (IQR)
1.3.3.8.3 Winsorizing

1.3.3.9 Discretization

1.3.3.9.1 Equal-width Binning
1.3.3.9.2 Equal-frequency Binning
1.3.3.9.3 Custom Bins

1.3.3.10 Seasonality