Algoritma dan Struktur Data
~ Ujian Tengah Semester ~
| Kontak | : \(\downarrow\) |
| garryjuliuspermana@gmail.com | |
| https://www.instagram.com/boring.garr/ | |
| RPubs | https://rpubs.com/Garr/ |
Kasus 1
Asumsikan Anda telah mengumpulkan beberapa kumpulan data dari perusahaan ABC Property seperti yang dapat kita lihat pada tabel berikut:
Id <- (1:10000)
Marketing_Name <- rep(c("Angel","Sherly","Vanessa","Irene","Julian",
"Jeffry","Nikita","Kefas","Siana","Lala",
"Fallen","Ardifo","Kevin","Juen","Jerrel",
"Imelda","Widi","Theodora","Elvani","Jonathan",
"Sofia","Abraham","Siti","Niko","Sefli",
"Bene", "Diana", "Pupe", "Andi", "Tatha",
"Endri", "Monika", "Hans", "Debora","Hanifa",
"James", "Jihan", "Friska","Ardiwan", "Bakti",
"Anthon","Amry", "Wiwik", "Bastian", "Budi",
"Leo","Simon","Matius","Arry", "Eliando"), 200)
Work_Exp <- rep(c(1.3,2.4,2.5,3.6,3.7,4.7,5.7,6.7,7.7,7.3,
5.3,5.3,10,9.3,3.3,3.3,3.4,3.4,3.5,5.6,
3.5,4.6,4.6,5.7,6.2,4.4,6.4,6.4,3.5,7.5,
4.6,3.7,4.7,4.3,5.2,6.3,7.4,2.4,3.4,8.2,
6.4,7.2,1.5,7.5,10,4.5,6.5,7.2,7.1,7.6),200)
City <- sample(c("Jakarta","Bogor","Depok","Tengerang","Bekasi"),10000, replace = T)
Cluster <- sample(c("Victoria","Palmyra","Winona","Tiara", "Narada",
"Peronia","Lavesh","Alindra","Sweethome", "Asera",
"Teradamai","Albasia", "Adara","Neon","Arana",
"Asoka", "Primadona", "Mutiara","Permata","Alamanda" ), 10000, replace=T)
Price <- sample(c(7000:15000),10000, replace = T)
Date_Sales <- sample(seq(as.Date("2018/01/01"), by = "day", length.out = 1000),10000, replace = T)
Advertisement <- sample(c(1:20), 10000, replace = T)
Data <- data.frame(Id,
Marketing_Name,
Work_Exp,
City,
Cluster,
Price,
Date_Sales,
Advertisement)
library(DT)
datatable(Data)Soal 1
Kategorikan variabel Harga pada dataset di atas menjadi tiga kelompok sebagai berikut:
- \(\text{High} > 12000\)
- \(10000 \le \text{Medium} \le 12000\)
- \(\text{Low} < 10000\)
Tetapkan ke dalam variabel baru yang disebut Kelas dengan menggunakan fungsi kontrol If, else if, dan else.
Data$Kelas <- ifelse(Data$Price>12000,
"High",
ifelse(Data$Price<10000,
"Low",
"Medium"))
library(DT)
datatable(Data)Soal 2
Kategorikan variabel Harga pada dataset di atas menjadi enam kelompok sebagai berikut:
- Booking_fee nya 5 % jika \(\text{Price} < 8000\)
- Booking_fee nya 6 % jika \(8000 \le \text{Price} < 9000\)
- Booking_fee nya 7 % jika \(9000 \le \text{Price} < 10000\)
- Booking_fee nya 8 % jika \(10000 \le \text{Price} < 11000\)
- Booking_fee nya 9 % jika \(11000 \le \text{Price} < 13000\)
- Booking_fee nya 10 % jika \(13000 \le \text{Price} \le 15000\)
Tetapkan ke dalam variabel baru yang disebut Booking_fee dengan menggunakan fungsi kontrol If, else if, dan else.
Data$Booking_fee <- ifelse(Data$Price >= 13000,
Data$Price*0.1,
ifelse(Data$Price>=11000,
Data$Price*0.09,
ifelse(Data$Price>=10000,
Data$Price*0.08,
ifelse(Data$Price>=9000,
Data$Price*0.07,
ifelse(Data$Price>=8000,
Data$Price*0.06,
Data$Price*0.05)))))
library(DT)
library(dplyr)subset(Data, select = c(6, 10)) %>% datatable()Data$Booking_fee<- Data$Booking_fee
print(head(Data, 10))## Id Marketing_Name Work_Exp City Cluster Price Date_Sales
## 1 1 Angel 1.3 Tengerang Adara 11431 2019-05-26
## 2 2 Sherly 2.4 Bekasi Permata 8787 2019-04-01
## 3 3 Vanessa 2.5 Bogor Sweethome 14022 2020-08-11
## 4 4 Irene 3.6 Bekasi Palmyra 7082 2020-08-17
## 5 5 Julian 3.7 Jakarta Peronia 7963 2020-06-30
## 6 6 Jeffry 4.7 Bogor Alamanda 13624 2018-01-26
## 7 7 Nikita 5.7 Bogor Mutiara 7705 2018-01-31
## 8 8 Kefas 6.7 Bekasi Alamanda 13597 2019-11-10
## 9 9 Siana 7.7 Bekasi Alamanda 10908 2019-11-18
## 10 10 Lala 7.3 Bekasi Mutiara 7953 2019-02-01
## Advertisement Kelas Booking_fee
## 1 2 Medium 1028.79
## 2 13 Low 527.22
## 3 18 High 1402.20
## 4 3 Low 354.10
## 5 7 Low 398.15
## 6 6 High 1362.40
## 7 5 Low 385.25
## 8 8 High 1359.70
## 9 16 Medium 872.64
## 10 11 Low 397.65
Soal 3
Menurut kumpulan data akhir yang telah anda buat pada soal no 2, saya berasumsi bahwa anda telah bekerja sebagai pemasaran di perusahaan abc property, bagaimana anda dapat mengumpulkan semua informasi tentang penjualan anda dengan menggunakan pernyataan for
library(dplyr)sales = "Simon"
for(x in sales){
print(subset(Data, subset=(Marketing_Name == x)))
}## Id Marketing_Name Work_Exp City Cluster Price Date_Sales
## 47 47 Simon 6.5 Bogor Alindra 14861 2018-07-31
## 97 97 Simon 6.5 Tengerang Primadona 13049 2020-09-20
## 147 147 Simon 6.5 Jakarta Sweethome 14807 2020-03-03
## 197 197 Simon 6.5 Bekasi Mutiara 9518 2019-09-19
## 247 247 Simon 6.5 Jakarta Lavesh 12027 2020-06-15
## 297 297 Simon 6.5 Jakarta Victoria 12730 2020-02-13
## 347 347 Simon 6.5 Jakarta Mutiara 9500 2018-06-25
## 397 397 Simon 6.5 Bogor Asera 9006 2018-04-07
## 447 447 Simon 6.5 Depok Asoka 10135 2020-03-19
## 497 497 Simon 6.5 Jakarta Tiara 13967 2018-11-22
## 547 547 Simon 6.5 Depok Asoka 8176 2020-07-23
## 597 597 Simon 6.5 Bekasi Victoria 9814 2018-06-15
## 647 647 Simon 6.5 Bekasi Teradamai 12357 2020-08-10
## 697 697 Simon 6.5 Jakarta Teradamai 12509 2018-02-23
## 747 747 Simon 6.5 Bogor Palmyra 13147 2020-08-15
## 797 797 Simon 6.5 Bekasi Primadona 11742 2019-09-14
## 847 847 Simon 6.5 Tengerang Winona 14633 2020-08-21
## 897 897 Simon 6.5 Bekasi Arana 9594 2019-12-24
## 947 947 Simon 6.5 Bogor Asoka 9064 2019-04-01
## 997 997 Simon 6.5 Depok Albasia 14607 2018-03-26
## 1047 1047 Simon 6.5 Bekasi Asoka 13905 2019-05-28
## 1097 1097 Simon 6.5 Bekasi Albasia 14168 2020-03-25
## 1147 1147 Simon 6.5 Bogor Asoka 7499 2019-06-07
## 1197 1197 Simon 6.5 Depok Neon 13353 2018-06-23
## 1247 1247 Simon 6.5 Tengerang Primadona 7056 2018-08-18
## 1297 1297 Simon 6.5 Jakarta Teradamai 12798 2018-11-07
## 1347 1347 Simon 6.5 Jakarta Peronia 8826 2020-07-24
## 1397 1397 Simon 6.5 Tengerang Lavesh 8052 2018-10-31
## 1447 1447 Simon 6.5 Bekasi Neon 8920 2018-09-23
## 1497 1497 Simon 6.5 Bogor Asera 8028 2020-03-05
## 1547 1547 Simon 6.5 Jakarta Asera 8640 2018-05-21
## 1597 1597 Simon 6.5 Bogor Asoka 10632 2019-09-09
## 1647 1647 Simon 6.5 Tengerang Sweethome 13817 2020-01-09
## 1697 1697 Simon 6.5 Jakarta Neon 11845 2018-08-30
## 1747 1747 Simon 6.5 Bekasi Permata 11105 2019-01-01
## 1797 1797 Simon 6.5 Bekasi Lavesh 14994 2020-05-14
## 1847 1847 Simon 6.5 Bogor Asera 10674 2019-09-23
## 1897 1897 Simon 6.5 Depok Neon 13169 2019-04-19
## 1947 1947 Simon 6.5 Tengerang Narada 12964 2020-09-24
## 1997 1997 Simon 6.5 Tengerang Neon 8112 2020-04-23
## 2047 2047 Simon 6.5 Jakarta Alindra 7409 2018-10-14
## 2097 2097 Simon 6.5 Tengerang Adara 9016 2018-11-02
## 2147 2147 Simon 6.5 Bogor Tiara 14725 2018-05-10
## 2197 2197 Simon 6.5 Tengerang Winona 13679 2018-12-22
## 2247 2247 Simon 6.5 Tengerang Neon 8186 2019-09-26
## 2297 2297 Simon 6.5 Bekasi Narada 9736 2019-06-04
## 2347 2347 Simon 6.5 Bekasi Mutiara 13698 2018-02-22
## 2397 2397 Simon 6.5 Depok Victoria 9342 2020-08-25
## 2447 2447 Simon 6.5 Bogor Lavesh 10274 2020-02-11
## 2497 2497 Simon 6.5 Depok Narada 8750 2019-10-22
## 2547 2547 Simon 6.5 Bekasi Alamanda 7640 2020-08-16
## 2597 2597 Simon 6.5 Jakarta Asoka 8185 2018-08-23
## 2647 2647 Simon 6.5 Tengerang Asera 9930 2019-04-21
## 2697 2697 Simon 6.5 Bekasi Alamanda 9102 2018-02-18
## 2747 2747 Simon 6.5 Bogor Narada 11250 2018-07-20
## 2797 2797 Simon 6.5 Jakarta Arana 11769 2020-04-10
## 2847 2847 Simon 6.5 Depok Neon 12743 2020-09-19
## 2897 2897 Simon 6.5 Jakarta Albasia 14380 2018-12-31
## 2947 2947 Simon 6.5 Bekasi Victoria 7887 2020-04-13
## 2997 2997 Simon 6.5 Tengerang Tiara 13967 2020-05-24
## 3047 3047 Simon 6.5 Bogor Neon 12790 2020-08-20
## 3097 3097 Simon 6.5 Bekasi Mutiara 10239 2020-07-29
## 3147 3147 Simon 6.5 Tengerang Peronia 14013 2018-08-02
## 3197 3197 Simon 6.5 Bogor Narada 11576 2019-10-10
## 3247 3247 Simon 6.5 Jakarta Victoria 9374 2020-01-13
## 3297 3297 Simon 6.5 Depok Winona 7590 2019-06-14
## 3347 3347 Simon 6.5 Jakarta Primadona 10276 2020-08-12
## 3397 3397 Simon 6.5 Depok Asera 8419 2020-03-19
## 3447 3447 Simon 6.5 Depok Primadona 13855 2018-01-26
## 3497 3497 Simon 6.5 Depok Peronia 8801 2018-06-16
## 3547 3547 Simon 6.5 Depok Palmyra 14581 2020-08-28
## 3597 3597 Simon 6.5 Tengerang Permata 12821 2018-04-11
## 3647 3647 Simon 6.5 Jakarta Asoka 12983 2020-08-10
## 3697 3697 Simon 6.5 Bogor Arana 11093 2019-08-16
## 3747 3747 Simon 6.5 Bogor Alamanda 13529 2019-04-10
## 3797 3797 Simon 6.5 Bekasi Adara 8077 2019-08-01
## 3847 3847 Simon 6.5 Tengerang Victoria 10406 2020-07-26
## 3897 3897 Simon 6.5 Tengerang Albasia 7071 2019-08-26
## 3947 3947 Simon 6.5 Jakarta Victoria 7567 2020-08-12
## 3997 3997 Simon 6.5 Tengerang Arana 8635 2018-01-24
## 4047 4047 Simon 6.5 Jakarta Asoka 10083 2020-03-23
## 4097 4097 Simon 6.5 Bogor Lavesh 7838 2019-02-01
## 4147 4147 Simon 6.5 Bogor Lavesh 7572 2020-08-21
## 4197 4197 Simon 6.5 Jakarta Permata 11074 2019-04-09
## 4247 4247 Simon 6.5 Tengerang Alindra 11620 2018-04-18
## 4297 4297 Simon 6.5 Bekasi Neon 10182 2018-05-08
## 4347 4347 Simon 6.5 Jakarta Arana 8885 2018-08-01
## 4397 4397 Simon 6.5 Jakarta Lavesh 8030 2020-05-25
## 4447 4447 Simon 6.5 Depok Alamanda 8746 2020-07-22
## 4497 4497 Simon 6.5 Depok Mutiara 12125 2020-09-23
## 4547 4547 Simon 6.5 Bogor Teradamai 11144 2019-11-19
## 4597 4597 Simon 6.5 Jakarta Primadona 10258 2018-08-08
## 4647 4647 Simon 6.5 Jakarta Sweethome 11764 2018-07-13
## 4697 4697 Simon 6.5 Tengerang Palmyra 10690 2018-03-28
## 4747 4747 Simon 6.5 Bekasi Sweethome 11215 2018-01-08
## 4797 4797 Simon 6.5 Tengerang Arana 14259 2020-07-17
## 4847 4847 Simon 6.5 Depok Albasia 14157 2020-06-03
## 4897 4897 Simon 6.5 Depok Palmyra 9417 2020-03-08
## 4947 4947 Simon 6.5 Bogor Alamanda 9927 2018-04-29
## 4997 4997 Simon 6.5 Depok Adara 11565 2019-05-02
## 5047 5047 Simon 6.5 Depok Primadona 8389 2018-07-21
## 5097 5097 Simon 6.5 Bekasi Winona 12179 2018-03-04
## 5147 5147 Simon 6.5 Tengerang Victoria 13770 2020-06-18
## 5197 5197 Simon 6.5 Tengerang Lavesh 13102 2019-12-09
## 5247 5247 Simon 6.5 Tengerang Winona 14478 2019-12-29
## 5297 5297 Simon 6.5 Bogor Lavesh 10024 2019-01-09
## 5347 5347 Simon 6.5 Tengerang Alamanda 8809 2019-02-16
## 5397 5397 Simon 6.5 Jakarta Asera 7073 2019-08-16
## 5447 5447 Simon 6.5 Bekasi Victoria 10603 2018-05-26
## 5497 5497 Simon 6.5 Jakarta Mutiara 10161 2018-10-31
## 5547 5547 Simon 6.5 Bogor Sweethome 8955 2018-08-24
## 5597 5597 Simon 6.5 Depok Alindra 9352 2019-11-30
## 5647 5647 Simon 6.5 Jakarta Winona 12227 2019-01-05
## 5697 5697 Simon 6.5 Tengerang Mutiara 11391 2020-01-17
## 5747 5747 Simon 6.5 Bogor Neon 8503 2018-05-04
## 5797 5797 Simon 6.5 Bogor Tiara 12961 2018-10-07
## 5847 5847 Simon 6.5 Bogor Tiara 13085 2018-09-16
## 5897 5897 Simon 6.5 Bekasi Alindra 12049 2018-05-10
## 5947 5947 Simon 6.5 Bekasi Teradamai 10287 2019-07-29
## 5997 5997 Simon 6.5 Bogor Peronia 12453 2018-12-18
## 6047 6047 Simon 6.5 Jakarta Mutiara 7001 2019-09-15
## 6097 6097 Simon 6.5 Bekasi Arana 12265 2019-08-25
## 6147 6147 Simon 6.5 Bekasi Lavesh 9583 2019-01-10
## 6197 6197 Simon 6.5 Tengerang Sweethome 9761 2019-09-06
## 6247 6247 Simon 6.5 Bekasi Albasia 13442 2019-11-04
## 6297 6297 Simon 6.5 Tengerang Winona 10495 2020-07-05
## 6347 6347 Simon 6.5 Tengerang Narada 13439 2020-06-23
## 6397 6397 Simon 6.5 Depok Sweethome 8832 2019-05-04
## 6447 6447 Simon 6.5 Depok Neon 14805 2018-12-04
## 6497 6497 Simon 6.5 Bogor Peronia 7879 2018-07-22
## 6547 6547 Simon 6.5 Bogor Tiara 12997 2020-05-13
## 6597 6597 Simon 6.5 Bogor Teradamai 10290 2018-05-04
## 6647 6647 Simon 6.5 Jakarta Alindra 12487 2018-12-07
## 6697 6697 Simon 6.5 Tengerang Sweethome 10736 2020-03-25
## 6747 6747 Simon 6.5 Jakarta Winona 10785 2018-06-10
## 6797 6797 Simon 6.5 Tengerang Palmyra 10010 2019-05-11
## 6847 6847 Simon 6.5 Depok Alindra 9768 2018-01-16
## 6897 6897 Simon 6.5 Jakarta Palmyra 9992 2020-04-11
## 6947 6947 Simon 6.5 Bekasi Lavesh 12755 2018-01-01
## 6997 6997 Simon 6.5 Depok Victoria 13428 2019-11-03
## 7047 7047 Simon 6.5 Jakarta Permata 14488 2018-04-22
## 7097 7097 Simon 6.5 Bogor Arana 10553 2019-06-09
## 7147 7147 Simon 6.5 Depok Asera 9583 2020-05-18
## 7197 7197 Simon 6.5 Bekasi Alindra 14276 2020-02-10
## 7247 7247 Simon 6.5 Bogor Arana 9939 2019-07-17
## 7297 7297 Simon 6.5 Tengerang Alindra 10658 2018-01-15
## 7347 7347 Simon 6.5 Tengerang Victoria 14703 2019-02-18
## 7397 7397 Simon 6.5 Depok Lavesh 12719 2019-10-20
## 7447 7447 Simon 6.5 Tengerang Asoka 12761 2019-05-02
## 7497 7497 Simon 6.5 Bekasi Peronia 13284 2018-03-09
## 7547 7547 Simon 6.5 Bekasi Arana 13448 2018-01-25
## 7597 7597 Simon 6.5 Depok Mutiara 12929 2019-09-09
## 7647 7647 Simon 6.5 Depok Sweethome 13747 2018-09-02
## 7697 7697 Simon 6.5 Bogor Primadona 10096 2020-01-09
## 7747 7747 Simon 6.5 Bekasi Neon 10597 2019-11-29
## 7797 7797 Simon 6.5 Bekasi Sweethome 10704 2019-07-05
## 7847 7847 Simon 6.5 Bekasi Albasia 8400 2018-03-04
## 7897 7897 Simon 6.5 Depok Palmyra 14054 2019-01-10
## 7947 7947 Simon 6.5 Tengerang Winona 9987 2018-11-21
## 7997 7997 Simon 6.5 Tengerang Tiara 10105 2019-09-17
## 8047 8047 Simon 6.5 Tengerang Arana 11659 2019-02-13
## 8097 8097 Simon 6.5 Jakarta Mutiara 10622 2018-12-27
## 8147 8147 Simon 6.5 Bogor Permata 8558 2020-07-13
## 8197 8197 Simon 6.5 Tengerang Peronia 7440 2019-02-26
## 8247 8247 Simon 6.5 Depok Permata 11708 2019-07-08
## 8297 8297 Simon 6.5 Bogor Victoria 10094 2019-06-11
## 8347 8347 Simon 6.5 Depok Palmyra 12297 2018-08-21
## 8397 8397 Simon 6.5 Depok Narada 10018 2018-05-17
## 8447 8447 Simon 6.5 Bogor Victoria 8162 2018-08-07
## 8497 8497 Simon 6.5 Bogor Asera 7639 2020-02-16
## 8547 8547 Simon 6.5 Bogor Asera 7210 2018-05-03
## 8597 8597 Simon 6.5 Bekasi Mutiara 9125 2018-07-25
## 8647 8647 Simon 6.5 Jakarta Tiara 11529 2018-08-08
## 8697 8697 Simon 6.5 Depok Alamanda 8319 2019-12-22
## 8747 8747 Simon 6.5 Tengerang Asoka 10546 2019-01-26
## 8797 8797 Simon 6.5 Jakarta Lavesh 14954 2018-07-18
## 8847 8847 Simon 6.5 Bogor Mutiara 10870 2018-01-14
## 8897 8897 Simon 6.5 Depok Arana 9170 2020-06-02
## 8947 8947 Simon 6.5 Tengerang Asoka 11571 2018-01-07
## 8997 8997 Simon 6.5 Bogor Asoka 9024 2020-07-07
## 9047 9047 Simon 6.5 Tengerang Arana 13365 2018-07-21
## 9097 9097 Simon 6.5 Bogor Adara 9487 2018-10-20
## 9147 9147 Simon 6.5 Bogor Narada 14236 2018-05-01
## 9197 9197 Simon 6.5 Depok Mutiara 13712 2019-05-17
## 9247 9247 Simon 6.5 Tengerang Albasia 7063 2020-06-26
## 9297 9297 Simon 6.5 Bogor Victoria 8176 2018-04-06
## 9347 9347 Simon 6.5 Jakarta Winona 12456 2020-09-01
## 9397 9397 Simon 6.5 Bogor Victoria 7563 2020-03-21
## 9447 9447 Simon 6.5 Jakarta Neon 9261 2020-03-06
## 9497 9497 Simon 6.5 Jakarta Victoria 11173 2019-06-18
## 9547 9547 Simon 6.5 Bogor Adara 12465 2018-01-20
## 9597 9597 Simon 6.5 Depok Neon 14545 2019-03-20
## 9647 9647 Simon 6.5 Tengerang Arana 12098 2019-07-30
## 9697 9697 Simon 6.5 Bogor Palmyra 9773 2018-06-13
## 9747 9747 Simon 6.5 Jakarta Neon 10728 2019-06-16
## 9797 9797 Simon 6.5 Tengerang Alamanda 13738 2019-10-10
## 9847 9847 Simon 6.5 Depok Palmyra 8684 2018-11-16
## 9897 9897 Simon 6.5 Jakarta Palmyra 13788 2019-02-06
## 9947 9947 Simon 6.5 Bekasi Alamanda 7331 2018-06-20
## 9997 9997 Simon 6.5 Jakarta Palmyra 7547 2018-06-23
## Advertisement Kelas Booking_fee
## 47 15 High 1486.10
## 97 8 High 1304.90
## 147 2 High 1480.70
## 197 17 Low 666.26
## 247 6 High 1082.43
## 297 2 High 1145.70
## 347 16 Low 665.00
## 397 5 Low 630.42
## 447 12 Medium 810.80
## 497 20 High 1396.70
## 547 14 Low 490.56
## 597 17 Low 686.98
## 647 1 High 1112.13
## 697 20 High 1125.81
## 747 8 High 1314.70
## 797 2 Medium 1056.78
## 847 20 High 1463.30
## 897 15 Low 671.58
## 947 3 Low 634.48
## 997 3 High 1460.70
## 1047 6 High 1390.50
## 1097 9 High 1416.80
## 1147 8 Low 374.95
## 1197 1 High 1335.30
## 1247 17 Low 352.80
## 1297 14 High 1151.82
## 1347 11 Low 529.56
## 1397 14 Low 483.12
## 1447 14 Low 535.20
## 1497 16 Low 481.68
## 1547 1 Low 518.40
## 1597 10 Medium 850.56
## 1647 14 High 1381.70
## 1697 13 Medium 1066.05
## 1747 5 Medium 999.45
## 1797 6 High 1499.40
## 1847 2 Medium 853.92
## 1897 10 High 1316.90
## 1947 12 High 1166.76
## 1997 20 Low 486.72
## 2047 12 Low 370.45
## 2097 5 Low 631.12
## 2147 14 High 1472.50
## 2197 14 High 1367.90
## 2247 9 Low 491.16
## 2297 9 Low 681.52
## 2347 10 High 1369.80
## 2397 10 Low 653.94
## 2447 6 Medium 821.92
## 2497 20 Low 525.00
## 2547 13 Low 382.00
## 2597 3 Low 491.10
## 2647 7 Low 695.10
## 2697 5 Low 637.14
## 2747 6 Medium 1012.50
## 2797 16 Medium 1059.21
## 2847 11 High 1146.87
## 2897 18 High 1438.00
## 2947 4 Low 394.35
## 2997 13 High 1396.70
## 3047 9 High 1151.10
## 3097 20 Medium 819.12
## 3147 10 High 1401.30
## 3197 9 Medium 1041.84
## 3247 3 Low 656.18
## 3297 12 Low 379.50
## 3347 1 Medium 822.08
## 3397 12 Low 505.14
## 3447 15 High 1385.50
## 3497 11 Low 528.06
## 3547 16 High 1458.10
## 3597 9 High 1153.89
## 3647 9 High 1168.47
## 3697 11 Medium 998.37
## 3747 14 High 1352.90
## 3797 2 Low 484.62
## 3847 1 Medium 832.48
## 3897 7 Low 353.55
## 3947 3 Low 378.35
## 3997 11 Low 518.10
## 4047 5 Medium 806.64
## 4097 19 Low 391.90
## 4147 10 Low 378.60
## 4197 12 Medium 996.66
## 4247 19 Medium 1045.80
## 4297 16 Medium 814.56
## 4347 15 Low 533.10
## 4397 10 Low 481.80
## 4447 8 Low 524.76
## 4497 5 High 1091.25
## 4547 7 Medium 1002.96
## 4597 15 Medium 820.64
## 4647 3 Medium 1058.76
## 4697 12 Medium 855.20
## 4747 8 Medium 1009.35
## 4797 2 High 1425.90
## 4847 2 High 1415.70
## 4897 10 Low 659.19
## 4947 18 Low 694.89
## 4997 11 Medium 1040.85
## 5047 16 Low 503.34
## 5097 2 High 1096.11
## 5147 2 High 1377.00
## 5197 5 High 1310.20
## 5247 3 High 1447.80
## 5297 7 Medium 801.92
## 5347 13 Low 528.54
## 5397 11 Low 353.65
## 5447 6 Medium 848.24
## 5497 18 Medium 812.88
## 5547 3 Low 537.30
## 5597 20 Low 654.64
## 5647 8 High 1100.43
## 5697 4 Medium 1025.19
## 5747 7 Low 510.18
## 5797 16 High 1166.49
## 5847 6 High 1308.50
## 5897 4 High 1084.41
## 5947 20 Medium 822.96
## 5997 4 High 1120.77
## 6047 15 Low 350.05
## 6097 4 High 1103.85
## 6147 8 Low 670.81
## 6197 18 Low 683.27
## 6247 12 High 1344.20
## 6297 18 Medium 839.60
## 6347 5 High 1343.90
## 6397 14 Low 529.92
## 6447 5 High 1480.50
## 6497 5 Low 393.95
## 6547 11 High 1169.73
## 6597 13 Medium 823.20
## 6647 5 High 1123.83
## 6697 18 Medium 858.88
## 6747 18 Medium 862.80
## 6797 8 Medium 800.80
## 6847 10 Low 683.76
## 6897 15 Low 699.44
## 6947 2 High 1147.95
## 6997 1 High 1342.80
## 7047 20 High 1448.80
## 7097 13 Medium 844.24
## 7147 18 Low 670.81
## 7197 7 High 1427.60
## 7247 17 Low 695.73
## 7297 9 Medium 852.64
## 7347 20 High 1470.30
## 7397 5 High 1144.71
## 7447 8 High 1148.49
## 7497 7 High 1328.40
## 7547 4 High 1344.80
## 7597 11 High 1163.61
## 7647 20 High 1374.70
## 7697 20 Medium 807.68
## 7747 14 Medium 847.76
## 7797 13 Medium 856.32
## 7847 20 Low 504.00
## 7897 10 High 1405.40
## 7947 17 Low 699.09
## 7997 18 Medium 808.40
## 8047 18 Medium 1049.31
## 8097 3 Medium 849.76
## 8147 20 Low 513.48
## 8197 16 Low 372.00
## 8247 1 Medium 1053.72
## 8297 7 Medium 807.52
## 8347 18 High 1106.73
## 8397 18 Medium 801.44
## 8447 18 Low 489.72
## 8497 13 Low 381.95
## 8547 14 Low 360.50
## 8597 5 Low 638.75
## 8647 6 Medium 1037.61
## 8697 3 Low 499.14
## 8747 10 Medium 843.68
## 8797 8 High 1495.40
## 8847 9 Medium 869.60
## 8897 15 Low 641.90
## 8947 18 Medium 1041.39
## 8997 13 Low 631.68
## 9047 14 High 1336.50
## 9097 16 Low 664.09
## 9147 6 High 1423.60
## 9197 20 High 1371.20
## 9247 11 Low 353.15
## 9297 17 Low 490.56
## 9347 11 High 1121.04
## 9397 12 Low 378.15
## 9447 2 Low 648.27
## 9497 19 Medium 1005.57
## 9547 9 High 1121.85
## 9597 20 High 1454.50
## 9647 4 High 1088.82
## 9697 16 Low 684.11
## 9747 5 Medium 858.24
## 9797 10 High 1373.80
## 9847 1 Low 521.04
## 9897 19 High 1378.80
## 9947 15 Low 366.55
## 9997 2 Low 377.35
Soal 4
Jika Anda akan mendapatkan bonus 2% dari Booking fee per unit sebagai pemasaran dan juga mendapatkan bonus tambahan 1% jika Anda telah bekerja di perusahaan ini selama lebih dari 3 tahun. Silakan hitung total bonus dengan menggunakan pernyataan if, for, dan break.
sales = "Simon"
r <- subset(Data, subset=(Marketing_Name == sales))
p = ifelse(( r$Work_Exp <3),
(r$price * r$Booking_fee) *(2/100),
(r$price * r$Booking_fee) *(3/100))
r$Bonus =p
rSoal 5
Pada bagian ini, Anda diharapkan dapa membuat fungsi yang dapat menjawab setiap penyataan dibawah ini dengan melibatkan setiap fungsi kontrol yang dipelajari pada pertemuan 7.
- Siapa nama marketing pemasaran terbaik?
- Kota dan Cluster mana yang paling menguntungkan?
- Hitung total biaya iklan Anda, jika Anda harus membayarnya $4 setiap kali iklan.
- Hitung rata-rata biaya iklan untuk setiap marketing di Perusahaan tersebut.
- Hitung Total Pendapatan (dalam Bulanan)
Siapa nama marketing pemasaran terbaik?
library(dplyr)
library(tidyverse)library(dplyr)
list_by_Price <-aggregate(Price~ Marketing_Name , data = Data, sum)
result_price <-list_by_Price[order(list_by_Price$Price,decreasing=T),]
list_by_adv <-aggregate(Advertisement~ Marketing_Name , data = Data, sum)
Datasales <- data.frame(left_join(result_price, list_by_adv))%>%head(1)DatasalesDari data diatas, Simon merupakan marketing pemasaran yang terbaik, dengan 2171 iklan.
Kota dan Cluster mana yang paling menguntungkan?
library(dplyr)
Profitable_City_Cluster <- aggregate ( Price ~ Cluster + City, data= Data, sum)
Data_City_Cluster <-Profitable_City_Cluster[order(Profitable_City_Cluster$Price,decreasing=T),]%>%head(1)
Data_City_ClusterDari data diatas, cluster yang paling menguntungkan adalah cluster Tiara, Jakarta.
Hitung total biaya iklan Anda, jika Anda harus membayarnya $4 setiap kali iklan
Data$Advertisement <- as.numeric(Data$Advertisement)
Data$Advertisement_Cost <- Data$Advertisement * 4
Total_Cost <- sum(Data$Advertisement_Cost)
paste("Total biaya iklan yang harus dibayarkan adalah $", Total_Cost)## [1] "Total biaya iklan yang harus dibayarkan adalah $ 418724"
Hitung rata-rata biaya iklan untuk setiap marketing di Perusahaan tersebut
Data$Advertisement.cost <- Data$Advertisement*4
aggregate(Advertisement.cost ~ Marketing_Name, data= Data, mean)Hitung Total Pendapatan (dalam Bulanan)
library(dplyr)
library(tidyverse)Data$Revenue <- Data$Price - Data$Booking_fee
Monthly_Rev <- Data%>%separate(Date_Sales, c("Year", "Month", "Day"), sep = "-")%>%
select(Year, Month, Revenue)
Monthly.Rev <-aggregate(Revenue ~ Month + Year, data = Monthly_Rev, sum)
Monthly.RevKasus 2
Misalkan Anda memiliki proyek riset pasar untuk mempertahankan beberapa pelanggan potensial di perusahaan Anda. Mari kita asumsikan Anda bekerja di perusahaan asuransi ABC. Untuk melakukannya, Anda ingin mengumpulkan kumpulan data berikut:
- Status_menikah : menetapkan status perkawinan acak (“Ya”, “Tidak”)
- Alamat : berikan alamat acak (JABODETABEK)
- Lokasi_kerja : menetapkan lokasi kerja secara acak (JABODETABEK)
- Umur : menetapkan urutan angka acak (dari 19 hingga 60)
- Gelar_akademik : menetapkan tingkat akademik acak (“Smp”, “Sma/Smk”, “Sarjana”, “Magister”, “Phd”)
- Pekerjaan : 10 pekerjaan acak untuk setiap tingkat akademik
- Pengalaman : 5 nilai acak untuk setiap Pekerjaan
- Pendapatan : tetapkan pendapatan yang mungkin untuk setiap Pekerjaan
- Pengeluaran : tetapkan kemungkinan pengeluaran untuk setiap Pekerjaan
- Jumlah_anak: menetapkan nomor acak di antara 0 dan 10 (sesuai dengan status perkawinan)
- kendaraan_Pribadi : menetapkan kemungkinan kendaraan pribadi untuk setiap orang (“Mobil”, “sepeda motor”, “Umum”)
- Status_rumah : “Sewa”, “Milik”, “Kredit”
Soal 1
Tolong berikan saya kumpulan data tentang informasi 50000 pelanggan yang mengacu pada setiap variabel di atas!
Status_menikah <-sample(c("Yes", "No"),50000, replace = T)
Alamat <-sample(c("Jakarta","Bogor","Depok","Tengerang","Bekasi"),50000, replace = T)
Lokasi_kerja <-sample(c("Jakarta","Bogor","Depok","Tengerang","Bekasi"),50000, replace = T)
Umur <-floor (runif(50000,19,65))
Gelar_akademik <-sample(c("Smp","Sma/Smk", "Sarjana", "Magister", "Phd"),50000, replace = T)
Pekerjaan <-ifelse(Gelar_akademik=="Smp",
sample(c("Kasir", "Kurir",
"Supir", "Office Boy",
"pengusaha bisnis kecil", "Barista",
"Tukang bangunan", "Pembantu rumah tangga",
"Security", "Buruh"),
length(Gelar_akademik=="Smp"), replace=T),
ifelse(Gelar_akademik=="Sma/Smk",
sample(c("Pembantu Juru Masak", "Pelayan Tamu",
"Wartawan", "Tutor",
"Penulis", "Pengusaha Bisnis Menengah",
"Pengajar Les", "Administrator",
"supir kendaraan berat", "asisten administrator"),
length(Gelar_akademik=="H.School"), replace=T),
ifelse(Gelar_akademik=="Sarjana",
sample(c("Perawat", "Pengusaha Strategis",
"Pelayan Kustomer", "Pemandu Tour",
"Pegawai negeri sipil", "Akuntan",
"Chef", "Sales",
"Sekretaris", "Guru Umum"),
length(Gelar_akademik=="Sarjana"),
replace=T),
ifelse(Gelar_akademik=="Magister",
sample(c("pengembang Website", "Pengembang Software",
"Dokter Umum","Bisnis analis",
"Grafik Designer", "Kontraktor",
"Guru Spesialis", "Data Analis",
"Aktuaris", "Apoteker"),
length(Gelar_akademik=="Magister"), replace=T),
sample(c("HRD", "Insinyur",
"Profesor", "Arsitek",
"Pengusaha", "Dokter Spesialis",
"Matematikawan", "Dosen",
"Psikologi"),
length(Gelar_akademik=="Phd"), replace=T)))))
Pengalaman <-sample(c("Ahli", "Menguasai", "Menengah", "Berpengalaman", "Tidak Berpengalaman"), 50000, replace=T)
Pendapatan = ifelse(Gelar_akademik == "Smp",250:400,
ifelse(Gelar_akademik == "Sma/Smk",320:600,
ifelse(Gelar_akademik == "Sarjana",550:1500,
ifelse(Gelar_akademik == "Magister",900:3580,1785:6550))))
Pengeluaran = ifelse(Gelar_akademik == "Smp",100:200,
ifelse(Gelar_akademik == "Sma/Smk",150:300,
ifelse(Gelar_akademik == "Sarjana",300:500,
ifelse(Gelar_akademik == "Magister",590:880,920:1635))))
Jumlah_anak <- ifelse(Status_menikah=="Yes", sample((c(0:4)),
length(Status_menikah=="Yes"), replace=T),
"0")
Kendaraan_Pribadi <- sample(c("Mobil", "Motor", "Kendaraan Umum"),
50000, replace=T)
Status_rumah <- sample(c("sewa", "milik", "kredit"),
50000, replace=T)
Data2 <-data.frame (Status_menikah,
Alamat,
Lokasi_kerja,
Umur,
Gelar_akademik,
Pekerjaan,
Pengalaman,
Pendapatan,
Pengeluaran,
Jumlah_anak,
Kendaraan_Pribadi,
Status_rumah
)
library(DT)
datatable(Data2)Soal 2
Ringkasan Statistik penting seperti apa yang bisa Anda dapatkan dari kumpulan data Anda?
summary(Data2)## Status_menikah Alamat Lokasi_kerja Umur
## Length:50000 Length:50000 Length:50000 Min. :19.00
## Class :character Class :character Class :character 1st Qu.:30.00
## Mode :character Mode :character Mode :character Median :42.00
## Mean :41.57
## 3rd Qu.:53.00
## Max. :64.00
## Gelar_akademik Pekerjaan Pengalaman Pendapatan
## Length:50000 Length:50000 Length:50000 Min. : 250
## Class :character Class :character Class :character 1st Qu.: 396
## Mode :character Mode :character Mode :character Median : 981
## Mean :1622
## 3rd Qu.:2470
## Max. :6550
## Pengeluaran Jumlah_anak Kendaraan_Pribadi Status_rumah
## Min. : 100.0 Length:50000 Length:50000 Length:50000
## 1st Qu.: 195.0 Class :character Class :character Class :character
## Median : 398.0 Mode :character Mode :character Mode :character
## Mean : 554.8
## 3rd Qu.: 804.0
## Max. :1635.0
Ringkasan Statistik yang didapatkan dari tabel atas adalah informasi mengenai rata-rata, minimum, maksimum, titik tengah dan kuartil. dari data umur, pendapatan, dan pengeluaran dari
Soal 3
Menurut perhitungan dan analisis Anda, pelanggan mana yang potensial untuk Anda pertahankan?
Data2$Tabungan_pelanggan <- Data2$Pendapatan - Data2$Pengeluaran
Data2$Maintain <- ifelse(Data2$Status_menikah=="Yes" &
0.30*Data2$Tabungan_pelanggan>5000,"Yes",
ifelse(Data2$Status_menikah=="No" &
0.30*Data2$Tabungan_pelanggan>200, "Yes",
"No"))
print(head(Data2, 5))## Status_menikah Alamat Lokasi_kerja Umur Gelar_akademik Pekerjaan
## 1 Yes Depok Bogor 19 Phd Pengusaha
## 2 Yes Jakarta Bekasi 30 Phd Insinyur
## 3 Yes Bogor Jakarta 51 Sma/Smk Tutor
## 4 No Depok Bogor 40 Phd HRD
## 5 No Jakarta Jakarta 37 Smp Pembantu rumah tangga
## Pengalaman Pendapatan Pengeluaran Jumlah_anak Kendaraan_Pribadi
## 1 Tidak Berpengalaman 1785 920 2 Motor
## 2 Ahli 1786 921 4 Kendaraan Umum
## 3 Menengah 322 152 3 Mobil
## 4 Berpengalaman 1788 923 0 Motor
## 5 Ahli 254 104 0 Mobil
## Status_rumah Tabungan_pelanggan Maintain
## 1 sewa 865 No
## 2 kredit 865 No
## 3 milik 170 No
## 4 kredit 865 Yes
## 5 sewa 150 No