library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
Data_Project_Komstat_kelompok_8 <- read_excel("D:/KOMSTAT/Data Project Komstat kelompok 8.xlsx")
View(Data_Project_Komstat_kelompok_8)
Variabel_x <- Data_Project_Komstat_kelompok_8$`Angka Harapan Hidup`
Variabel_y <- Data_Project_Komstat_kelompok_8$`Indeks Pembangunan Manusia`
variabel <- data.frame(Variabel_x,Variabel_y)
variabel
## Variabel_x Variabel_y
## 1 70.06 63.69
## 2 63.05 68.05
## 3 65.28 70.92
## 4 67.58 70.31
## 5 69.16 74.14
## 6 70.76 75.96
## 7 70.37 72.92
## 8 68.73 71.13
## 9 71.78 73.77
## 10 69.64 72.56
## 11 72.03 75.36
## 12 72.07 76.19
## 13 69.39 71.86
## 14 69.21 63.17
## 15 70.02 70.32
## 16 66.44 68.85
## 17 71.82 71.67
## 18 69.21 71.21
## 19 67.55 69.51
## 20 67.53 70.93
## 21 67.43 69.58
## 22 69.16 72.16
## 23 69.91 72.77
## 24 69.90 63.75
## 25 69.43 62.93
## 26 69.77 74.74
## 27 63.87 69.86
## 28 74.25 79.70
## 29 71.29 76.17
## 30 73.58 81.76
## 31 72.79 76.95
## 32 69.84 76.05
## 33 71.71 70.23
# Berikut adalah langkah-langkah membuat fugsi dalam menghitung nilai korelasi
# 1. Inisialisasi jumlah data (n)
banyaknya_data <- function(Variabel_x, Variabel_y){
n <- length(Variabel_x) # Menghitung jumlah elemen
# Validasi input
if (n != length(Variabel_y) || n <= 1) {
return(NA) # Kembali NA (not available) jika panjang x dan y tidak sama atau kurang dari 2
}
return(n)} # mengembalikan hasil nilai n
# Memanggil fungsi dan menyimpan hasil
total_data <- banyaknya_data(Variabel_x, Variabel_y)
total_data
## [1] 33
# 2. Membuat fungsi menghitung jumlah nilai setiap variabel
penjumlahan_data <-function(data){# data adalah vektor berisi angka yang akan dihitung jumlahnya
jumlah <- 0 # Inisialisasi variabel untuk menyimpan jumlah
n <- length(data) # inisialisasi untuk panjang atau banyaknya data
for(i in 1:n){ # pengulangan penjumlahan untuk setiap data ke i yang dimulai dari 1 sampai dengan n
jumlah <- jumlah + data[i]} #inisialisasi variabel jumlah yaitu jumlah ditambah dengan data ke i
return (jumlah) # mengembalikan jumlah data setiap data ke i
}
jumlahvariabelx <- penjumlahan_data(Variabel_x)
jumlahvariabelx
## [1] 2294.61
jumlahvariabely <- penjumlahan_data(Variabel_y)
jumlahvariabely
## [1] 2369.17
You can also embed plots, for example:
# 3. Membuat fungsi menjumlahkan x ke-i kali y ke-i
jumlahkan_xi_kali_yi <- function(x, y) {
# Validasi input
if (length(x) != length(y)) {
stop("Panjang vektor x dan y harus sama.") # jika banyak data pada variabel x dan y tidak sama maka eksekusi dihentikan
}
# Inisialisasi total untuk menyimpan hasil penjumlahan
total <- 0 # total diinisialisasi dengan nilai 0, sehingga saat penjumlahan dimulai hasilnya akan bertambah dari 0
# Loop untuk menjumlahkan x-ke-i kali y-ke-i
for (i in 1:length(x)) {#loop for yang digunakan untuk mengulang setiap elemen dari vektor
total <- total + (x[i] * y[i]) # Mengalikan elemen x-ke-i dengan y-ke-i dan menambahkannya ke total
}
# Mengembalikan hasil total
return(total)
}
hasilxiyi <- jumlahkan_xi_kali_yi(Variabel_x, Variabel_y)
hasilxiyi
## [1] 164925.7
#4. Membuat fungsi menghitung kuadrat
# Fungsi menghitung setiap nilai pada variabel dikuadratkan lalu dijumlahkan
kuadrat <- function(data){ #data adalah vektor berisi angka yang akan dihitung nilai kuadratnya
n <- length(data) #inisialisasi untuk panjang atau banyaknya data
hasil_kuadrat <- numeric(n) #inisialisasi vektor berukuran n untuk menampung hasil perhitungan kuadrat
for (i in 1:n){ #pengulangan penjumlahan kuadrat untuk setiap data ke i sampai dengan n
hasil_kuadrat[i] <- data[i]*data[i] #hasil kuadrat data ke i adalah perkalian data ke i dengan data ke i
}
return(hasil_kuadrat) #mengembalikan jumlah kuadrat data setiap data ke i
}
Variabel_xkuadrat <- kuadrat(Variabel_x)
Variabel_xkuadrat
## [1] 4908.404 3975.302 4261.478 4567.056 4783.106 5006.978 4951.937 4723.813
## [9] 5152.368 4849.730 5188.321 5194.085 4814.972 4790.024 4902.800 4414.274
## [17] 5158.112 4790.024 4563.002 4560.301 4546.805 4783.106 4887.408 4886.010
## [25] 4820.525 4867.853 4079.377 5513.062 5082.264 5414.016 5298.384 4877.626
## [33] 5142.324
Variabel_ykuadrat <- kuadrat(Variabel_y)
Variabel_ykuadrat
## [1] 4056.416 4630.802 5029.646 4943.496 5496.740 5769.922 5317.326 5059.477
## [9] 5442.013 5264.954 5679.130 5804.916 5163.860 3990.449 4944.902 4740.322
## [17] 5136.589 5070.864 4831.640 5031.065 4841.376 5207.066 5295.473 4064.062
## [25] 3960.185 5586.068 4880.420 6352.090 5801.869 6684.698 5921.303 5783.602
## [33] 4932.253
dataframeVariabel_xkuadrat <- data.frame(Variabel_xkuadrat,Variabel_ykuadrat)
dataframeVariabel_xkuadrat
## Variabel_xkuadrat Variabel_ykuadrat
## 1 4908.404 4056.416
## 2 3975.302 4630.802
## 3 4261.478 5029.646
## 4 4567.056 4943.496
## 5 4783.106 5496.740
## 6 5006.978 5769.922
## 7 4951.937 5317.326
## 8 4723.813 5059.477
## 9 5152.368 5442.013
## 10 4849.730 5264.954
## 11 5188.321 5679.130
## 12 5194.085 5804.916
## 13 4814.972 5163.860
## 14 4790.024 3990.449
## 15 4902.800 4944.902
## 16 4414.274 4740.322
## 17 5158.112 5136.589
## 18 4790.024 5070.864
## 19 4563.002 4831.640
## 20 4560.301 5031.065
## 21 4546.805 4841.376
## 22 4783.106 5207.066
## 23 4887.408 5295.473
## 24 4886.010 4064.062
## 25 4820.525 3960.185
## 26 4867.853 5586.068
## 27 4079.377 4880.420
## 28 5513.062 6352.090
## 29 5082.264 5801.869
## 30 5414.016 6684.698
## 31 5298.384 5921.303
## 32 4877.626 5783.602
## 33 5142.324 4932.253
# 5. Menghitung jumlah nilai variabel yang telah dikuadratkan
jumlah_Variabel_xikuadrat <- penjumlahan_data(Variabel_xkuadrat)
jumlah_Variabel_xikuadrat
## [1] 159754.8
jumlah_Variabel_yikuadrat <- penjumlahan_data(Variabel_ykuadrat)
jumlah_Variabel_yikuadrat
## [1] 170715
## 6. Membuat fungsi menjumlahkan total nilai variabel lalu dikuadratkan
sumx_kuadrat <- kuadrat(jumlahvariabelx)
sumx_kuadrat
## [1] 5265235
sumy_kuadrat <- kuadrat(jumlahvariabely)
sumy_kuadrat
## [1] 5612966
# 7. Menghitung nilai korelasi menggunakan fungsi yang telah dibuat
rumuskorelasi <- (total_data *hasilxiyi - jumlahvariabelx *jumlahvariabely)/sqrt((total_data * jumlah_Variabel_xikuadrat - sumx_kuadrat)*(total_data *jumlah_Variabel_yikuadrat - sumy_kuadrat))
rumuskorelasi
## [1] 0.5308026
# 8. Menghitung kekuatan hubungan koefisien korelasi
kekuatan_korelasi <- function(rumuskorelasi){
if (rumuskorelasi >= 0.9 && rumuskorelasi <= 1) {
return("Hubungan sangat kuat positif")
} else if (rumuskorelasi > 0.7 && rumuskorelasi < 0.9) {
return("Hubungan kuat positif")
} else if (rumuskorelasi > 0.5 && rumuskorelasi <= 0.7) {
return("Hubungan sedang positif")
} else if (rumuskorelasi > 0.3 && rumuskorelasi <= 0.5) {
return("Hubungan lemah positif")
} else if (rumuskorelasi > 0 && rumuskorelasi <= 0.3) {
return("Tidak ada hubungan positif")
} else if (rumuskorelasi < 0 && rumuskorelasi >= -0.3) {
return("Tidak ada hubungan negatif")
} else if (rumuskorelasi <= -0.3 && rumuskorelasi > -0.5) {
return("Hubungan lemah negatif")
} else if (rumuskorelasi <= -0.5 && rumuskorelasi > -0.7) {
return("Hubungan sedang negatif")
} else if (rumuskorelasi <= -0.7 && rumuskorelasi > -0.9) {
return("Hubungan kuat negatif")
} else if (rumuskorelasi <= -0.9 && rumuskorelasi >= -1) {
return("Hubungan sangat kuat negatif")
} else {
return("Nilai tidak valid")
}
}
hasil_hubungan_korelasi <- kekuatan_korelasi(rumuskorelasi)
hasil_hubungan_korelasi
## [1] "Hubungan sedang positif"