# Membuat Variabel Identitas Mahasiswa (20 orang)
nama <- c("Andi", "Budi", "Citra", "Dewi", "Eko",
"Fajar", "Gita", "Hadi", "Indah", "Joko",
"Kiki", "Lala", "Maya", "Nina", "Oki",
"Putri", "Qori", "Roni", "Siska", "Toni")
# Variabel jk
jk <- c("Laki-laki", "Laki-laki", "Perempuan", "Perempuan", "Laki-laki",
"Laki-laki", "Perempuan", "Laki-laki", "Perempuan", "Laki-laki",
"Perempuan", "Perempuan", "Perempuan", "Perempuan", "Laki-laki",
"Perempuan", "Laki-laki", "Laki-laki", "Perempuan", "Laki-laki")
# Variabel Kelas menggunakan rep secara berulang untuk a, b, dan c dengan syarat
kelas <- rep(c("a", "b", "c"), each = 7, length.out = 20)
# Variabel Keikutsertaan (15 ikut, 5 tidak ikut: 3 perempuan dan 2 laki-laki)
keikutsertaan <- c("ikut", "tidak", "ikut", "tidak", "ikut",
"ikut", "ikut", "tidak", "ikut", "ikut",
"ikut", "tidak", "ikut", "ikut", "tidak",
"ikut", "ikut", "ikut", "ikut", "ikut")
# Variabel Transportasi: Jika laki-laki "motoran", jika perempuan "gocar"
transportasi <- ifelse(jk == "Laki-laki", "motoran", "gocar")
# Variabel Riwayat Penyakit menggunakan sample (asma, alergi, maag. dan tidak punya (-), dengan probability)
prob <- c(0.1, 0.1, 0.2 , 0.60)
riwayat_penyakit <- sample(c("asma", "alergi", "maag", "-"), 20, replace = TRUE, prob = prob)
# Membuat DataFrame Identitas Awal
df_identitas <- data.frame(
Nama = nama,
JK = jk,
Kelas = kelas,
Keikutsertaan = keikutsertaan,
Transportasi = transportasi,
Penyakit = riwayat_penyakit,
stringsAsFactors = FALSE
)
# Menampilkan Tabel Identitas Mahasiswa
print(df_identitas)
## Nama JK Kelas Keikutsertaan Transportasi Penyakit
## 1 Andi Laki-laki a ikut motoran -
## 2 Budi Laki-laki a tidak motoran -
## 3 Citra Perempuan a ikut gocar asma
## 4 Dewi Perempuan a tidak gocar -
## 5 Eko Laki-laki a ikut motoran -
## 6 Fajar Laki-laki a ikut motoran maag
## 7 Gita Perempuan a ikut gocar alergi
## 8 Hadi Laki-laki b tidak motoran -
## 9 Indah Perempuan b ikut gocar maag
## 10 Joko Laki-laki b ikut motoran -
## 11 Kiki Perempuan b ikut gocar -
## 12 Lala Perempuan b tidak gocar -
## 13 Maya Perempuan b ikut gocar maag
## 14 Nina Perempuan b ikut gocar maag
## 15 Oki Laki-laki c tidak motoran -
## 16 Putri Perempuan c ikut gocar maag
## 17 Qori Laki-laki c ikut motoran asma
## 18 Roni Laki-laki c ikut motoran -
## 19 Siska Perempuan c ikut gocar alergi
## 20 Toni Laki-laki c ikut motoran -
# Menonaktifkan scientific notation
options(scipen = 999)
# Vektor Variabel Harga
harga_villa <- 1500000
harga_transportasi <- 525000
harga_bakar <- 300000
harga_konsumsi <- 975000
# Perhitungan Iuran per Anak
# Laki-laki: 0.1 * villa + 0.67 * bakar + 0.08 * konsumsi
iuran_laki <- 0.1 * harga_villa + 0.67 * harga_bakar + 0.08 * harga_konsumsi
# Perempuan: 0.1 * villa + 0.67 * bakar + 0.08 * konsumsi + 0.125 * transportasi
iuran_perempuan <- 0.1 * harga_villa + 0.67 * harga_bakar + 0.08 * harga_konsumsi + 0.125 * harga_transportasi
# Menyusun vektor iuran sesuai dengan kolom JK di dataframe
iuran_per_anak <- ifelse(df_identitas$JK == "Laki-laki", iuran_laki, iuran_perempuan)
# Kalkulasi data biaya
df_biaya <- data.frame(
Harga_Villa = rep(harga_villa, 20),
Harga_Transportasi = rep(harga_transportasi, 20),
Harga_Bakar_Bakar = rep(harga_bakar, 20),
Harga_Konsumsi = rep(harga_konsumsi, 20),
Iuran_Per_Anak = iuran_per_anak
)
# Menggabungkan tabel menggunakan cbind
tabel_baru <- cbind(df_identitas, df_biaya)
print(head(tabel_baru), caption = "Pratinjau Tabel Setelah Penggabungan (cbind)")
## Nama JK Kelas Keikutsertaan Transportasi Penyakit Harga_Villa
## 1 Andi Laki-laki a ikut motoran - 1500000
## 2 Budi Laki-laki a tidak motoran - 1500000
## 3 Citra Perempuan a ikut gocar asma 1500000
## 4 Dewi Perempuan a tidak gocar - 1500000
## 5 Eko Laki-laki a ikut motoran - 1500000
## 6 Fajar Laki-laki a ikut motoran maag 1500000
## Harga_Transportasi Harga_Bakar_Bakar Harga_Konsumsi Iuran_Per_Anak
## 1 525000 300000 975000 429000
## 2 525000 300000 975000 429000
## 3 525000 300000 975000 494625
## 4 525000 300000 975000 494625
## 5 525000 300000 975000 429000
## 6 525000 300000 975000 429000
# tabel baru pembayaran
metode_pembayaran <- character(nrow(tabel_baru))
set.seed(999)
metode_pembayaran <- sample(c("cash", "qris"), 20, replace = TRUE)
# Menambahkan kolom ke dalam dataset
tabel_baru$metode_pembayaran <- metode_pembayaran
# tabel baru penyakit
tingkat_penyakit <- character(nrow(tabel_baru))
for (i in 1:nrow(tabel_baru)) {
peny <- tabel_baru$Penyakit[i]
if (peny == "alergi") {
tingkat_penyakit[i] <- "ringan"
} else if (peny == "maag") {
tingkat_penyakit[i] <- "sedang"
} else if (peny == "asma") {
tingkat_penyakit[i] <- "berat"
} else {
tingkat_penyakit[i] <- "tidak diketahui"
}
}
# Menambahkan kolom ke dalam dataset
tabel_baru$tingkat_penyakit <- tingkat_penyakit
print(tabel_baru)
## Nama JK Kelas Keikutsertaan Transportasi Penyakit Harga_Villa
## 1 Andi Laki-laki a ikut motoran - 1500000
## 2 Budi Laki-laki a tidak motoran - 1500000
## 3 Citra Perempuan a ikut gocar asma 1500000
## 4 Dewi Perempuan a tidak gocar - 1500000
## 5 Eko Laki-laki a ikut motoran - 1500000
## 6 Fajar Laki-laki a ikut motoran maag 1500000
## 7 Gita Perempuan a ikut gocar alergi 1500000
## 8 Hadi Laki-laki b tidak motoran - 1500000
## 9 Indah Perempuan b ikut gocar maag 1500000
## 10 Joko Laki-laki b ikut motoran - 1500000
## 11 Kiki Perempuan b ikut gocar - 1500000
## 12 Lala Perempuan b tidak gocar - 1500000
## 13 Maya Perempuan b ikut gocar maag 1500000
## 14 Nina Perempuan b ikut gocar maag 1500000
## 15 Oki Laki-laki c tidak motoran - 1500000
## 16 Putri Perempuan c ikut gocar maag 1500000
## 17 Qori Laki-laki c ikut motoran asma 1500000
## 18 Roni Laki-laki c ikut motoran - 1500000
## 19 Siska Perempuan c ikut gocar alergi 1500000
## 20 Toni Laki-laki c ikut motoran - 1500000
## Harga_Transportasi Harga_Bakar_Bakar Harga_Konsumsi Iuran_Per_Anak
## 1 525000 300000 975000 429000
## 2 525000 300000 975000 429000
## 3 525000 300000 975000 494625
## 4 525000 300000 975000 494625
## 5 525000 300000 975000 429000
## 6 525000 300000 975000 429000
## 7 525000 300000 975000 494625
## 8 525000 300000 975000 429000
## 9 525000 300000 975000 494625
## 10 525000 300000 975000 429000
## 11 525000 300000 975000 494625
## 12 525000 300000 975000 494625
## 13 525000 300000 975000 494625
## 14 525000 300000 975000 494625
## 15 525000 300000 975000 429000
## 16 525000 300000 975000 494625
## 17 525000 300000 975000 429000
## 18 525000 300000 975000 429000
## 19 525000 300000 975000 494625
## 20 525000 300000 975000 429000
## metode_pembayaran tingkat_penyakit
## 1 cash tidak diketahui
## 2 qris tidak diketahui
## 3 cash berat
## 4 cash tidak diketahui
## 5 cash tidak diketahui
## 6 qris sedang
## 7 cash ringan
## 8 qris tidak diketahui
## 9 qris sedang
## 10 qris tidak diketahui
## 11 cash tidak diketahui
## 12 cash tidak diketahui
## 13 qris sedang
## 14 cash sedang
## 15 cash tidak diketahui
## 16 cash sedang
## 17 qris berat
## 18 qris tidak diketahui
## 19 cash ringan
## 20 cash tidak diketahui