Algoritma & Struktur Data

~ Ujian Tengah Semester ~


Kontak : \(\downarrow\)
Email
Instagram https://www.instagram.com/novia_labola/
RPubs https://rpubs.com/noviaanita/

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)
write.csv(Data,"c:\\Users\\Public\\UTS ALGORITMA.csv", row.names = FALSE)

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.

R

Data$kelas<-ifelse(Data$Price > 12000,                                      # disini saya menggunakan fungsi ifelse untuk mencari variabel yang memiliki nilai high,medium, dan low
                   "High",
            ifelse(Data$Price >=10000 & Data$ Price <= 12000,
                   "Medium",
            ifelse(Data$Price <10000,
                   "Low", 0)))
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.

R

Data$Booking_fee<-ifelse(Data$Price < 8000,
                         "5%",
                   
            ifelse(Data$Price >=8000 & Data$ Price < 9000, 
                   "6%",
                   
            ifelse(Data$Price >=9000 & Data$ Price < 10000, 
                   "7%",
                   
            ifelse(Data$Price >=10000 & Data$ Price < 11000,
                   "8%",
                   
            ifelse(Data$Price >=11000 & Data$ Price < 13000,
                   "9%",
                   
            ifelse(Data$Price >=13000 & Data$ Price <= 15000,
                   "10%",0))))))
Data

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.

R

library(DT)                                                   # di coding ini pertama saya memanggil library dahulu setelah itu saya menggunakan fungsi for untuk mengumpulkan informasi penjualan dan juga menggunakan fungsi subset agar informasi penjualan keluar secara lengkap

sales = "Angel" 

for(x in sales){
print(subset(Data, subset=(Marketing_Name == x)))                               
}
##        Id Marketing_Name Work_Exp      City   Cluster Price Date_Sales
## 1       1          Angel      1.3   Jakarta   Peronia 13082 2018-07-07
## 51     51          Angel      1.3    Bekasi    Lavesh  9280 2018-04-19
## 101   101          Angel      1.3     Bogor     Asoka  7887 2019-02-19
## 151   151          Angel      1.3     Bogor     Adara  9177 2018-10-03
## 201   201          Angel      1.3 Tengerang     Tiara 10253 2018-04-25
## 251   251          Angel      1.3     Depok      Neon 12497 2018-03-13
## 301   301          Angel      1.3     Depok   Alindra  7662 2019-11-19
## 351   351          Angel      1.3     Bogor Sweethome  7260 2018-09-23
## 401   401          Angel      1.3    Bekasi   Peronia 10957 2020-02-10
## 451   451          Angel      1.3 Tengerang Sweethome  9151 2018-10-14
## 501   501          Angel      1.3    Bekasi   Alindra 13018 2019-06-27
## 551   551          Angel      1.3     Bogor    Narada  8944 2018-06-14
## 601   601          Angel      1.3    Bekasi   Alindra 14491 2019-03-18
## 651   651          Angel      1.3   Jakarta    Narada 10845 2019-10-23
## 701   701          Angel      1.3   Jakarta     Arana 10567 2019-08-18
## 751   751          Angel      1.3   Jakarta   Permata 13994 2020-04-02
## 801   801          Angel      1.3   Jakarta     Arana 12344 2018-07-25
## 851   851          Angel      1.3     Bogor     Tiara 10600 2019-06-06
## 901   901          Angel      1.3    Bekasi     Asera  7508 2018-02-20
## 951   951          Angel      1.3   Jakarta  Victoria  9151 2019-08-12
## 1001 1001          Angel      1.3     Depok   Alindra  8145 2019-01-10
## 1051 1051          Angel      1.3    Bekasi Primadona 10870 2020-02-13
## 1101 1101          Angel      1.3     Depok    Winona 12735 2019-07-21
## 1151 1151          Angel      1.3    Bekasi   Albasia 13032 2018-01-26
## 1201 1201          Angel      1.3     Bogor   Permata 11576 2019-04-12
## 1251 1251          Angel      1.3     Bogor  Alamanda 14931 2018-08-14
## 1301 1301          Angel      1.3     Bogor Teradamai 11207 2019-04-24
## 1351 1351          Angel      1.3    Bekasi   Albasia 10097 2020-01-24
## 1401 1401          Angel      1.3    Bekasi     Asoka  7044 2018-11-16
## 1451 1451          Angel      1.3   Jakarta      Neon 13936 2019-06-04
## 1501 1501          Angel      1.3    Bekasi   Palmyra 13376 2019-07-25
## 1551 1551          Angel      1.3     Depok   Palmyra 14772 2018-07-16
## 1601 1601          Angel      1.3     Bogor Sweethome 13910 2020-07-29
## 1651 1651          Angel      1.3     Bogor  Alamanda 10671 2018-10-27
## 1701 1701          Angel      1.3     Depok      Neon 12687 2018-12-07
## 1751 1751          Angel      1.3 Tengerang Teradamai  9891 2019-04-25
## 1801 1801          Angel      1.3     Bogor      Neon 11673 2018-06-20
## 1851 1851          Angel      1.3 Tengerang   Peronia  8313 2018-10-01
## 1901 1901          Angel      1.3   Jakarta     Asera 14924 2019-04-28
## 1951 1951          Angel      1.3     Depok     Asoka 10859 2018-08-16
## 2001 2001          Angel      1.3     Bogor     Arana 11543 2018-08-08
## 2051 2051          Angel      1.3     Depok  Alamanda 11088 2018-01-24
## 2101 2101          Angel      1.3     Bogor   Permata  8961 2019-05-11
## 2151 2151          Angel      1.3 Tengerang   Palmyra 14412 2020-01-28
## 2201 2201          Angel      1.3     Depok   Permata 12520 2020-03-20
## 2251 2251          Angel      1.3 Tengerang   Palmyra 14091 2019-09-28
## 2301 2301          Angel      1.3     Bogor   Albasia 10527 2020-09-03
## 2351 2351          Angel      1.3   Jakarta Sweethome  7084 2018-01-18
## 2401 2401          Angel      1.3     Bogor   Peronia  9348 2019-03-09
## 2451 2451          Angel      1.3     Bogor  Victoria  8702 2019-12-27
## 2501 2501          Angel      1.3   Jakarta     Adara 13069 2019-06-05
## 2551 2551          Angel      1.3   Jakarta   Albasia 12510 2018-12-27
## 2601 2601          Angel      1.3   Jakarta   Permata 10146 2019-03-12
## 2651 2651          Angel      1.3 Tengerang  Alamanda 14911 2019-05-18
## 2701 2701          Angel      1.3     Depok     Tiara 14856 2020-07-09
## 2751 2751          Angel      1.3    Bekasi   Mutiara 12404 2018-08-17
## 2801 2801          Angel      1.3     Depok    Lavesh 10950 2020-02-03
## 2851 2851          Angel      1.3     Bogor  Victoria  9628 2020-09-09
## 2901 2901          Angel      1.3   Jakarta Teradamai  9682 2020-01-11
## 2951 2951          Angel      1.3     Depok     Arana 14634 2020-06-13
## 3001 3001          Angel      1.3 Tengerang   Permata  9827 2020-04-26
## 3051 3051          Angel      1.3 Tengerang  Alamanda 11573 2018-02-07
## 3101 3101          Angel      1.3     Depok    Lavesh 11196 2020-04-23
## 3151 3151          Angel      1.3     Bogor     Tiara  9261 2018-03-25
## 3201 3201          Angel      1.3   Jakarta   Mutiara  7214 2019-02-21
## 3251 3251          Angel      1.3     Depok    Lavesh 13807 2020-07-17
## 3301 3301          Angel      1.3 Tengerang Sweethome 12443 2018-08-17
## 3351 3351          Angel      1.3   Jakarta Sweethome  9318 2018-04-16
## 3401 3401          Angel      1.3    Bekasi   Albasia  7622 2018-11-16
## 3451 3451          Angel      1.3    Bekasi    Lavesh 12928 2020-02-25
## 3501 3501          Angel      1.3   Jakarta  Victoria  7158 2020-05-13
## 3551 3551          Angel      1.3 Tengerang   Permata  8453 2019-01-18
## 3601 3601          Angel      1.3    Bekasi   Palmyra 10225 2020-05-23
## 3651 3651          Angel      1.3     Bogor   Albasia 14277 2020-08-23
## 3701 3701          Angel      1.3 Tengerang Teradamai 11591 2020-03-05
## 3751 3751          Angel      1.3     Depok     Tiara 14559 2018-08-24
## 3801 3801          Angel      1.3    Bekasi     Asera  9602 2020-07-15
## 3851 3851          Angel      1.3    Bekasi   Mutiara 12429 2020-09-04
## 3901 3901          Angel      1.3 Tengerang  Alamanda  9563 2018-11-13
## 3951 3951          Angel      1.3    Bekasi     Arana 11115 2018-06-26
## 4001 4001          Angel      1.3 Tengerang   Albasia 14453 2018-12-05
## 4051 4051          Angel      1.3     Bogor     Tiara 10250 2018-07-04
## 4101 4101          Angel      1.3   Jakarta   Peronia  9480 2018-03-04
## 4151 4151          Angel      1.3    Bekasi    Narada  8152 2019-10-15
## 4201 4201          Angel      1.3     Bogor   Albasia 10269 2020-04-09
## 4251 4251          Angel      1.3     Bogor     Asoka 12287 2018-01-26
## 4301 4301          Angel      1.3     Depok Teradamai 12586 2018-07-31
## 4351 4351          Angel      1.3     Bogor    Narada  7549 2020-01-31
## 4401 4401          Angel      1.3 Tengerang   Mutiara 11061 2019-10-02
## 4451 4451          Angel      1.3    Bekasi    Lavesh  9667 2018-03-23
## 4501 4501          Angel      1.3    Bekasi     Arana  8756 2020-01-05
## 4551 4551          Angel      1.3     Bogor   Albasia 11164 2018-11-22
## 4601 4601          Angel      1.3     Depok   Palmyra  8518 2019-03-11
## 4651 4651          Angel      1.3     Bogor     Arana 14234 2020-04-01
## 4701 4701          Angel      1.3    Bekasi     Adara 10415 2018-08-24
## 4751 4751          Angel      1.3    Bekasi     Asera 12613 2018-05-26
## 4801 4801          Angel      1.3    Bekasi Sweethome  7526 2019-05-23
## 4851 4851          Angel      1.3     Bogor   Palmyra  9164 2020-08-20
## 4901 4901          Angel      1.3 Tengerang     Arana 10216 2018-08-02
## 4951 4951          Angel      1.3   Jakarta Primadona 14059 2018-10-28
## 5001 5001          Angel      1.3   Jakarta     Asera 11794 2019-05-07
## 5051 5051          Angel      1.3     Bogor     Asoka  8110 2019-09-26
## 5101 5101          Angel      1.3    Bekasi Teradamai  8622 2019-04-03
## 5151 5151          Angel      1.3    Bekasi   Palmyra 11915 2018-06-19
## 5201 5201          Angel      1.3 Tengerang    Winona 13396 2019-03-17
## 5251 5251          Angel      1.3     Bogor     Asera  8525 2019-03-13
## 5301 5301          Angel      1.3     Depok    Narada 12964 2019-03-20
## 5351 5351          Angel      1.3     Bogor     Adara 12277 2018-10-29
## 5401 5401          Angel      1.3     Depok Teradamai  9482 2019-05-08
## 5451 5451          Angel      1.3     Bogor    Winona 11506 2020-02-04
## 5501 5501          Angel      1.3   Jakarta    Lavesh 10840 2018-04-25
## 5551 5551          Angel      1.3   Jakarta     Arana 10963 2018-12-19
## 5601 5601          Angel      1.3 Tengerang Sweethome 12646 2020-04-17
## 5651 5651          Angel      1.3    Bekasi     Arana  7130 2019-09-26
## 5701 5701          Angel      1.3    Bekasi   Alindra 13138 2018-01-16
## 5751 5751          Angel      1.3     Bogor   Peronia  8325 2018-02-27
## 5801 5801          Angel      1.3   Jakarta  Victoria 14627 2019-11-06
## 5851 5851          Angel      1.3    Bekasi     Arana  8573 2018-05-11
## 5901 5901          Angel      1.3   Jakarta   Palmyra 14400 2018-12-10
## 5951 5951          Angel      1.3   Jakarta Sweethome 12223 2020-06-27
## 6001 6001          Angel      1.3 Tengerang   Permata 11055 2020-01-30
## 6051 6051          Angel      1.3     Bogor   Alindra  9159 2020-01-10
## 6101 6101          Angel      1.3     Depok    Winona  9112 2019-06-02
## 6151 6151          Angel      1.3    Bekasi   Alindra 13824 2019-08-20
## 6201 6201          Angel      1.3 Tengerang    Lavesh 11151 2018-05-28
## 6251 6251          Angel      1.3   Jakarta     Arana 12936 2019-09-04
## 6301 6301          Angel      1.3    Bekasi  Alamanda 13197 2018-02-19
## 6351 6351          Angel      1.3    Bekasi    Lavesh  7063 2019-10-26
## 6401 6401          Angel      1.3   Jakarta   Permata  7427 2018-02-03
## 6451 6451          Angel      1.3 Tengerang Teradamai 11645 2020-08-12
## 6501 6501          Angel      1.3   Jakarta    Narada 11854 2018-10-09
## 6551 6551          Angel      1.3     Bogor   Mutiara  8478 2019-06-17
## 6601 6601          Angel      1.3     Bogor   Alindra 14320 2019-02-09
## 6651 6651          Angel      1.3     Depok   Albasia  7506 2018-12-18
## 6701 6701          Angel      1.3 Tengerang    Lavesh 10019 2019-03-11
## 6751 6751          Angel      1.3   Jakarta   Albasia 11835 2018-04-25
## 6801 6801          Angel      1.3   Jakarta     Adara 13536 2019-02-10
## 6851 6851          Angel      1.3    Bekasi      Neon  8463 2020-02-24
## 6901 6901          Angel      1.3   Jakarta    Winona  7360 2019-06-21
## 6951 6951          Angel      1.3 Tengerang      Neon  9025 2018-07-07
## 7001 7001          Angel      1.3 Tengerang      Neon 12864 2019-05-18
## 7051 7051          Angel      1.3     Bogor    Narada 13708 2019-03-23
## 7101 7101          Angel      1.3 Tengerang    Winona 13047 2019-07-11
## 7151 7151          Angel      1.3 Tengerang   Alindra  9480 2018-07-05
## 7201 7201          Angel      1.3     Depok  Victoria  7301 2020-07-02
## 7251 7251          Angel      1.3   Jakarta     Adara 13042 2018-05-13
## 7301 7301          Angel      1.3     Depok    Winona  9149 2019-10-23
## 7351 7351          Angel      1.3   Jakarta   Permata  7336 2019-07-16
## 7401 7401          Angel      1.3     Depok   Peronia 10021 2018-05-13
## 7451 7451          Angel      1.3     Depok   Mutiara  9190 2019-10-01
## 7501 7501          Angel      1.3     Depok  Alamanda 10967 2019-08-27
## 7551 7551          Angel      1.3 Tengerang   Alindra 11144 2019-05-19
## 7601 7601          Angel      1.3     Bogor     Arana 13903 2018-06-02
## 7651 7651          Angel      1.3     Bogor   Mutiara  7714 2019-12-21
## 7701 7701          Angel      1.3     Bogor   Alindra 10521 2019-11-06
## 7751 7751          Angel      1.3    Bekasi     Arana  9761 2018-04-28
## 7801 7801          Angel      1.3 Tengerang   Albasia  8223 2018-04-27
## 7851 7851          Angel      1.3     Depok  Victoria  9183 2020-02-05
## 7901 7901          Angel      1.3     Depok     Asoka 10890 2018-12-07
## 7951 7951          Angel      1.3    Bekasi      Neon 10759 2018-08-09
## 8001 8001          Angel      1.3    Bekasi Primadona 14837 2020-09-12
## 8051 8051          Angel      1.3    Bekasi Primadona  9588 2018-08-22
## 8101 8101          Angel      1.3    Bekasi Sweethome 10896 2019-11-02
## 8151 8151          Angel      1.3    Bekasi     Arana  7369 2019-07-25
## 8201 8201          Angel      1.3     Depok   Mutiara  7818 2018-11-28
## 8251 8251          Angel      1.3   Jakarta   Permata 13201 2019-04-15
## 8301 8301          Angel      1.3     Bogor   Albasia 11982 2019-12-12
## 8351 8351          Angel      1.3    Bekasi    Winona 13540 2018-08-26
## 8401 8401          Angel      1.3    Bekasi Sweethome 12162 2020-05-06
## 8451 8451          Angel      1.3     Depok    Lavesh  7905 2018-11-30
## 8501 8501          Angel      1.3    Bekasi    Lavesh 11347 2019-11-09
## 8551 8551          Angel      1.3 Tengerang Sweethome 11523 2020-08-31
## 8601 8601          Angel      1.3    Bekasi Primadona  8426 2019-10-19
## 8651 8651          Angel      1.3   Jakarta     Adara 12219 2020-04-15
## 8701 8701          Angel      1.3     Bogor     Tiara 13649 2019-04-03
## 8751 8751          Angel      1.3     Bogor     Asoka 13446 2019-08-06
## 8801 8801          Angel      1.3     Bogor Sweethome 14072 2019-06-20
## 8851 8851          Angel      1.3     Depok      Neon 13021 2020-02-03
## 8901 8901          Angel      1.3 Tengerang Teradamai 11241 2018-06-13
## 8951 8951          Angel      1.3     Depok Teradamai  8919 2018-08-25
## 9001 9001          Angel      1.3     Bogor    Lavesh 14490 2020-06-26
## 9051 9051          Angel      1.3     Depok     Asera  8234 2020-02-20
## 9101 9101          Angel      1.3     Depok     Tiara  7115 2018-03-14
## 9151 9151          Angel      1.3   Jakarta   Palmyra  7614 2020-07-22
## 9201 9201          Angel      1.3 Tengerang     Arana  7685 2019-10-01
## 9251 9251          Angel      1.3    Bekasi     Adara 11082 2018-11-28
## 9301 9301          Angel      1.3   Jakarta     Adara  8483 2019-08-27
## 9351 9351          Angel      1.3     Bogor   Peronia  8121 2018-05-17
## 9401 9401          Angel      1.3    Bekasi   Peronia  8645 2018-03-13
## 9451 9451          Angel      1.3   Jakarta   Palmyra 14024 2019-08-22
## 9501 9501          Angel      1.3   Jakarta     Tiara 10986 2018-06-10
## 9551 9551          Angel      1.3    Bekasi      Neon  7832 2020-09-24
## 9601 9601          Angel      1.3    Bekasi    Winona 10930 2019-02-03
## 9651 9651          Angel      1.3 Tengerang   Peronia 11508 2018-09-12
## 9701 9701          Angel      1.3     Bogor  Victoria 14726 2018-12-19
## 9751 9751          Angel      1.3     Bogor    Lavesh 14754 2018-09-13
## 9801 9801          Angel      1.3    Bekasi     Adara 13782 2018-11-02
## 9851 9851          Angel      1.3   Jakarta     Tiara  7375 2020-06-06
## 9901 9901          Angel      1.3 Tengerang  Victoria 13748 2018-12-30
## 9951 9951          Angel      1.3 Tengerang   Permata  9881 2020-05-05
##      Advertisement  kelas Booking_fee
## 1                6   High         10%
## 51              20    Low          7%
## 101              8    Low          5%
## 151              4    Low          7%
## 201             19 Medium          8%
## 251              4   High          9%
## 301             19    Low          5%
## 351             19    Low          5%
## 401              6 Medium          8%
## 451              2    Low          7%
## 501             17   High         10%
## 551              5    Low          6%
## 601              8   High         10%
## 651             11 Medium          8%
## 701             17 Medium          8%
## 751             10   High         10%
## 801             18   High          9%
## 851             17 Medium          8%
## 901              9    Low          5%
## 951             11    Low          7%
## 1001             7    Low          6%
## 1051            18 Medium          8%
## 1101            14   High          9%
## 1151            18   High         10%
## 1201            20 Medium          9%
## 1251             2   High         10%
## 1301            10 Medium          9%
## 1351             5 Medium          8%
## 1401             6    Low          5%
## 1451            13   High         10%
## 1501             2   High         10%
## 1551            19   High         10%
## 1601             1   High         10%
## 1651            16 Medium          8%
## 1701             1   High          9%
## 1751            20    Low          7%
## 1801            19 Medium          9%
## 1851            15    Low          6%
## 1901            18   High         10%
## 1951            13 Medium          8%
## 2001            10 Medium          9%
## 2051             4 Medium          9%
## 2101            14    Low          6%
## 2151            16   High         10%
## 2201             7   High          9%
## 2251             8   High         10%
## 2301            10 Medium          8%
## 2351             8    Low          5%
## 2401            17    Low          7%
## 2451            19    Low          6%
## 2501             3   High         10%
## 2551             7   High          9%
## 2601             7 Medium          8%
## 2651            10   High         10%
## 2701             8   High         10%
## 2751             9   High          9%
## 2801            10 Medium          8%
## 2851            13    Low          7%
## 2901            20    Low          7%
## 2951            12   High         10%
## 3001             4    Low          7%
## 3051            20 Medium          9%
## 3101             9 Medium          9%
## 3151            11    Low          7%
## 3201             5    Low          5%
## 3251            16   High         10%
## 3301            17   High          9%
## 3351            17    Low          7%
## 3401            12    Low          5%
## 3451            14   High          9%
## 3501            12    Low          5%
## 3551            13    Low          6%
## 3601             7 Medium          8%
## 3651             1   High         10%
## 3701            18 Medium          9%
## 3751             5   High         10%
## 3801            12    Low          7%
## 3851            17   High          9%
## 3901            13    Low          7%
## 3951             6 Medium          9%
## 4001             2   High         10%
## 4051            16 Medium          8%
## 4101             4    Low          7%
## 4151             2    Low          6%
## 4201            12 Medium          8%
## 4251            12   High          9%
## 4301             7   High          9%
## 4351             2    Low          5%
## 4401            10 Medium          9%
## 4451             6    Low          7%
## 4501             2    Low          6%
## 4551             5 Medium          9%
## 4601             3    Low          6%
## 4651             5   High         10%
## 4701            11 Medium          8%
## 4751            14   High          9%
## 4801            13    Low          5%
## 4851            19    Low          7%
## 4901            16 Medium          8%
## 4951            15   High         10%
## 5001            20 Medium          9%
## 5051            10    Low          6%
## 5101            10    Low          6%
## 5151            13 Medium          9%
## 5201            20   High         10%
## 5251             1    Low          6%
## 5301             7   High          9%
## 5351            20   High          9%
## 5401            17    Low          7%
## 5451             2 Medium          9%
## 5501            20 Medium          8%
## 5551            14 Medium          8%
## 5601             8   High          9%
## 5651             6    Low          5%
## 5701             3   High         10%
## 5751            16    Low          6%
## 5801            15   High         10%
## 5851            18    Low          6%
## 5901             7   High         10%
## 5951            11   High          9%
## 6001             7 Medium          9%
## 6051            17    Low          7%
## 6101             2    Low          7%
## 6151             4   High         10%
## 6201             3 Medium          9%
## 6251             1   High          9%
## 6301             3   High         10%
## 6351             4    Low          5%
## 6401            15    Low          5%
## 6451            16 Medium          9%
## 6501             9 Medium          9%
## 6551            17    Low          6%
## 6601             5   High         10%
## 6651            14    Low          5%
## 6701            16 Medium          8%
## 6751             1 Medium          9%
## 6801            14   High         10%
## 6851             4    Low          6%
## 6901             8    Low          5%
## 6951            20    Low          7%
## 7001             3   High          9%
## 7051             4   High         10%
## 7101             8   High         10%
## 7151             6    Low          7%
## 7201             7    Low          5%
## 7251             7   High         10%
## 7301             3    Low          7%
## 7351            18    Low          5%
## 7401             2 Medium          8%
## 7451             2    Low          7%
## 7501             3 Medium          8%
## 7551             3 Medium          9%
## 7601            11   High         10%
## 7651             4    Low          5%
## 7701             7 Medium          8%
## 7751            15    Low          7%
## 7801            14    Low          6%
## 7851            18    Low          7%
## 7901            19 Medium          8%
## 7951            19 Medium          8%
## 8001            20   High         10%
## 8051             6    Low          7%
## 8101            10 Medium          8%
## 8151            11    Low          5%
## 8201            11    Low          5%
## 8251             6   High         10%
## 8301            18 Medium          9%
## 8351            15   High         10%
## 8401             9   High          9%
## 8451             9    Low          5%
## 8501            12 Medium          9%
## 8551            20 Medium          9%
## 8601            19    Low          6%
## 8651             4   High          9%
## 8701            15   High         10%
## 8751            11   High         10%
## 8801            10   High         10%
## 8851             8   High         10%
## 8901            10 Medium          9%
## 8951             9    Low          6%
## 9001             9   High         10%
## 9051             3    Low          6%
## 9101            16    Low          5%
## 9151            19    Low          5%
## 9201            12    Low          5%
## 9251            16 Medium          9%
## 9301            19    Low          6%
## 9351             2    Low          6%
## 9401            20    Low          6%
## 9451             9   High         10%
## 9501            12 Medium          8%
## 9551             5    Low          5%
## 9601             5 Medium          8%
## 9651            11 Medium          9%
## 9701             6   High         10%
## 9751            12   High         10%
## 9801             1   High         10%
## 9851             1    Low          5%
## 9901            20   High         10%
## 9951            17    Low          7%

Soal 5

Pada bagian ini, Anda diharapkan dapat 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)

R

# Siapa nama marketing pemasaran terbaik?

nama_sales = 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")

n <- Data$Marketing_Name


Angel = subset(Data, (Marketing_Name == "Angel"))
Sherly = subset(Data, (Marketing_Name == "Sherly"))
Vanessa = subset(Data, (Marketing_Name == "Vanessa"))
Irene = subset(Data, (Marketing_Name == "Irene"))
Julian = subset(Data, (Marketing_Name == "Julian"))
Jeffry = subset(Data, (Marketing_Name == "Jeffry"))
Nikita = subset(Data, (Marketing_Name == "Nikita"))
Kefas = subset(Data, (Marketing_Name == "Kefas"))
Siana = subset(Data, (Marketing_Name == "Siana"))
Lala = subset(Data, (Marketing_Name == "Lala"))
Fallen = subset(Data, (Marketing_Name == "Fallen"))
Ardifo = subset(Data, (Marketing_Name == "Ardifo"))
Kevin = subset(Data, (Marketing_Name == "Kevin"))
Juen = subset(Data, (Marketing_Name == "Juen"))
Jerrel = subset(Data, (Marketing_Name == "Jerrel"))
Imelda = subset(Data, (Marketing_Name == "Imelda"))
Widi = subset(Data, (Marketing_Name == "Widi"))
Theodora = subset(Data, (Marketing_Name == "Theodora"))
Elvani = subset(Data, (Marketing_Name == "Elvani"))
Jonathan = subset(Data, (Marketing_Name == "Jonathan"))
Sofia = subset(Data, (Marketing_Name == "Sofia"))
Abraham = subset(Data, (Marketing_Name == "Abraham"))
Siti = subset(Data, (Marketing_Name == "Siti"))
Niko = subset(Data, (Marketing_Name == "Niko"))
Sefli = subset(Data, (Marketing_Name == "Sefli"))
Bene = subset(Data, (Marketing_Name == "Bene"))
Diana = subset(Data, (Marketing_Name == "Diana"))
Pupe = subset(Data, (Marketing_Name == "Pupe"))
Andi = subset(Data, (Marketing_Name == "Andi"))
Tatha = subset(Data, (Marketing_Name == "Tatha"))
Endri = subset(Data, (Marketing_Name == "Endri"))
Monika = subset(Data, (Marketing_Name == "Monika"))
Hans = subset(Data, (Marketing_Name == "Hans"))
Debora = subset(Data, (Marketing_Name == "Debora"))
Hanifa = subset(Data, (Marketing_Name == "Hanifa"))
James = subset(Data, (Marketing_Name == "James"))
Jihan = subset(Data, (Marketing_Name == "Jihan"))
Friska = subset(Data, (Marketing_Name == "Friska"))
Ardiwan = subset(Data, (Marketing_Name == "Ardiwan"))
Bakti = subset(Data, (Marketing_Name == "Bakti"))
Anthon = subset(Data, (Marketing_Name == "Anthon"))
Amry = subset(Data, (Marketing_Name == "Amry"))
Wiwik = subset(Data, (Marketing_Name == "Wiwik"))
Bastian = subset(Data, (Marketing_Name == "Bastian"))
Budi = subset(Data, (Marketing_Name == "Budi"))
Leo = subset(Data, (Marketing_Name == "Leo"))
Simon = subset(Data, (Marketing_Name == "Simon"))
Matius = subset(Data, (Marketing_Name == "Matius"))
Arry = subset(Data, (Marketing_Name == "Arry"))
Eliando = subset(Data, (Marketing_Name == "Eliando"))

y = c(sum(Angel$Price),sum(Sherly$Price),sum(Vanessa$Price),sum(Irene$Price),sum(Julian$Price),sum(Jeffry$Price),
      sum(Nikita$Price),sum(Kefas$Price),sum(Siana$Price),sum(Lala$Price),sum(Fallen$Price),sum(Ardifo$Price),
      sum(Kevin$Price),sum(Juen$Price),sum(Jerrel$Price),sum(Imelda$Price),sum(Widi$Price),sum(Theodora$Price),
      sum(Elvani$Price),sum(Jonathan$Price),sum(Sofia$Price),sum(Abraham$Price),sum(Siti$Price),sum(Niko$Price),
      sum(Sefli$Price),sum(Bene$Price),sum(Diana$Price),sum(Pupe$Price),sum(Andi$Price),sum(Tatha$Price),
      sum(Endri$Price),sum(Monika$Price),sum(Hans$Price),sum(Debora$Price),sum(Hanifa$Price),sum(James$Price),
      sum(Jihan$Price),sum(Friska$Price),sum(Ardiwan$Price),sum(Bakti$Price),sum(Anthon$Price),sum(Amry$Price),
      sum(Wiwik$Price),sum(Bastian$Price),sum(Budi$Price),sum(Leo$Price),sum(Simon$Price),sum(Matius$Price),
      sum(Arry$Price),sum(Eliando$Price))

marketing_ = data.frame(nama_sales,
                        y)

marketing_                                                              # di coding ini saya membuat data manual karena saya tidak tahu cara olah data otomatis
a = data.frame(n,y)                                                # setelah itu saya membuat data frame dan menggunakan fungsi which.max untuk mengembalikan posisi 
b = which.max(a$y)
c = a[b,]

library(DT)
datatable(c)
# Kota dan Cluster mana yang paling menguntungkan?

a <- Data$City

Jakarta = subset(Data, City == "Jakarta")
Bogor = subset(Data, City == "Bogor")
Depok = subset(Data, City == "Depok")
Tangerang = subset(Data, City == "Tangerang")
Bekasi = subset(Data, City == "Bekasi")

b = c(sum(Jakarta$Price),sum(Bogor$Price),sum(Depok$Price),sum(Tangerang$Price),sum(Bekasi$Price))

c = data.frame(a,b)
d = which.max(c$b)
e = c[d,]

library(DT)
datatable(e)
# Hitung total biaya iklan Anda, jika Anda harus membayarnya $4 setiap kali iklan.

Advertise=subset(Data, subset=(Marketing_Name=="Angel"))                # disini saya menggunakan fungsi subset, advertise, advertisement dan sum untuk mencari total biaya iklan  
Biaya_Iklan=(Advertise$Advertisement*4)
Totalbiaya=print(sum(Biaya_Iklan))
## [1] 8492
# Hitung rata-rata biaya iklan untuk setiap marketing di Perusahaan tersebut.

Data$Biaya_Iklan <- ifelse(Data$Advertisement >= 1, Data$Advertisement*4, 0)

x = 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")

for (i in x){
  r <- subset(Data, Marketing_Name == i)
  s <- sum(r$Biaya_Iklan)
  print(cat(sum(s)/length(r$Id), (cat(i, "Rerata Biaya : "))))
}
## Angel Rerata Biaya : 42.46NULL
## Sherly Rerata Biaya : 39.88NULL
## Vanessa Rerata Biaya : 43.9NULL
## Irene Rerata Biaya : 43.86NULL
## Julian Rerata Biaya : 42.34NULL
## Jeffry Rerata Biaya : 42.5NULL
## Nikita Rerata Biaya : 44.94NULL
## Kefas Rerata Biaya : 40.36NULL
## Siana Rerata Biaya : 42.54NULL
## Lala Rerata Biaya : 40.92NULL
## Fallen Rerata Biaya : 40.62NULL
## Ardifo Rerata Biaya : 43.14NULL
## Kevin Rerata Biaya : 45.8NULL
## Juen Rerata Biaya : 40.56NULL
## Jerrel Rerata Biaya : 43.78NULL
## Imelda Rerata Biaya : 43.02NULL
## Widi Rerata Biaya : 42.78NULL
## Theodora Rerata Biaya : 46.02NULL
## Elvani Rerata Biaya : 42.74NULL
## Jonathan Rerata Biaya : 44.66NULL
## Sofia Rerata Biaya : 37.44NULL
## Abraham Rerata Biaya : 40.1NULL
## Siti Rerata Biaya : 43.82NULL
## Niko Rerata Biaya : 41.34NULL
## Sefli Rerata Biaya : 39.44NULL
## Bene Rerata Biaya : 44.26NULL
## Diana Rerata Biaya : 41.54NULL
## Pupe Rerata Biaya : 39.52NULL
## Andi Rerata Biaya : 40.32NULL
## Tatha Rerata Biaya : 41.8NULL
## Endri Rerata Biaya : 42.04NULL
## Monika Rerata Biaya : 39.68NULL
## Hans Rerata Biaya : 41.92NULL
## Debora Rerata Biaya : 41.98NULL
## Hanifa Rerata Biaya : 42.8NULL
## James Rerata Biaya : 41.86NULL
## Jihan Rerata Biaya : 41.6NULL
## Friska Rerata Biaya : 43.84NULL
## Ardiwan Rerata Biaya : 43.46NULL
## Bakti Rerata Biaya : 42.98NULL
## Anthon Rerata Biaya : 40.12NULL
## Amry Rerata Biaya : 46.42NULL
## Wiwik Rerata Biaya : 41.96NULL
## Bastian Rerata Biaya : 43.76NULL
## Budi Rerata Biaya : 41.3NULL
## Leo Rerata Biaya : 43.4NULL
## Simon Rerata Biaya : 42.48NULL
## Matius Rerata Biaya : 44.24NULL
## Arry Rerata Biaya : 43.84NULL
## Eliando Rerata Biaya : 39.32NULL

Kasus 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:

  • Marital_Status : menetapkan status perkawinan acak (“Ya”, “Tidak”)
  • Address : berikan alamat acak (JABODETABEK)
  • Work_Location : menetapkan lokasi kerja secara acak (JABODETABEK)
  • Age : menetapkan urutan angka acak (dari 19 hingga 60)
  • Academic : menetapkan tingkat akademik acak (“J.School”, “H.School”, “Sarjana”, “Magister”, “Phd”)
  • Job : 10 pekerjaan acak untuk setiap tingkat akademik
  • Grade : 5 nilai acak untuk setiap Pekerjaan
  • Income : tetapkan pendapatan yang mungkin untuk setiap Pekerjaan
  • Spending : tetapkan kemungkinan pengeluaran untuk setiap Pekerjaan
  • Number_of_children: menetapkan nomor acak di antara 0 dan 10 (sesuai dengan status perkawinan)
  • Private_vehicle : menetapkan kemungkinan kendaraan pribadi untuk setiap orang (“Mobil”, “sepeda motor”, “Umum”)
  • Home : “Sewa”, “Milik”, “Kredit”

Soal 1

Tolong berikan saya kumpulan data tentang informasi 50000 pelanggan yang mengacu pada setiap variabel di atas!

R

Data <- (1:50000)

Marital_Status <- sample(c("Yes","No"), 50000, replace = T)

Address        <- sample(c("Bekasi", "Jakarta", "Bogor", "Depok", "Tangerang"), 50000, replace = T)

Work_Location  <- sample(c("Bekasi", "Jakarta", "Bogor", "Depok", "Tangerang") , 50000, replace = T)

Age            <- sample(c(19:60), 50000, replace = T)

Academic       <- sample(c("J.School", "H.School", "Sarjana", "Magister", "Phd"), 50000, replace = T)

Job            <- ifelse(Academic == "J.School", sample(c("Student", "Barista")),
                  ifelse(Academic == "H.School", sample(c("Waitress", "Sales Promotion")),
                  ifelse(Academic == "Sarjana", sample(c("Guru","dokter")),
                  ifelse(Academic == "Magister", sample(c("Dosen", "Manager")),
                  ifelse(Academic == "Phd", sample(c("Pengusaha", "Peneliti")),0)))))
              
Grade          <- sample(c("A", "B", "C", "D", "E"), 50000, replace = T)

Income         <- ifelse(Job == "Student", 0,
                  ifelse(Job == "Barista", 2500000, 
                  ifelse(Job == "Waitress", 2000000,
                  ifelse(Job == "Sales Promotion", 2000000,
                  ifelse(Job == "Guru", 3500000,
                  ifelse(Job == "dokter", 5000000,
                  ifelse(Job == "Dosen", 6000000, 
                  ifelse(Job == "Manager", 5000000,
                  ifelse(Job == "Pengusaha", 10000000,
                  ifelse(Job == "Peneliti", 10000000, 0))))))))))

Spending        <- sample(c(500000:1000000), 50000, replace = T)


Private_vehicle <- sample(c("Mobil", "Sepeda Motor", "Umum"), 50000, replace = T)

Home            <- sample(c("Sewa", "Milik", "Kredit"), 50000, replace = T)

Informasi_Pelanggan <- data.frame(Marital_Status,
                                  Address,
                                  Work_Location,
                                  Age, 
                                  Academic, 
                                  Job, 
                                  Grade,
                                  Income, 
                                  Spending,
                                  Private_vehicle,
                                  Home)


library(DT)
datatable(Informasi_Pelanggan)                                            # disini saya membuat coding mengikuti data pada kasus 1
## Warning in instance$preRenderHook(instance): It seems your data is too big
## for client-side DataTables. You may consider server-side processing: https://
## rstudio.github.io/DT/server.html

Soal 2

Ringkasan Statistik penting seperti apa yang bisa Anda dapatkan dari kumpulan data Anda?

R

Ringkasan=summary(Informasi_Pelanggan)
datatable(Ringkasan)

Soal 3

Menurut perhitungan dan analisis Anda, pelanggan mana yang potensial untuk Anda pertahankan?

R

Informasi_Pelanggan$Penghasilan = Informasi_Pelanggan$Income - Informasi_Pelanggan$Spending

y <- subset(Informasi_Pelanggan, Penghasilan >= 3000000)

library(DT)
datatable(y)
## Warning in instance$preRenderHook(instance): It seems your data is too big
## for client-side DataTables. You may consider server-side processing: https://
## rstudio.github.io/DT/server.html