Project Web Scraping: carmudi.co.id

NIM Nama
G1501231088 Eka Dicky Darmawan Yanuari

Pendahuluan

Web scraping adalah metode pengambilan data dari sebuah website. Metode ini sangat berguna dalam bisnis online, baik itu untuk riset pasar, riset kompetitor, atau mencari leads.

Proyek kali ini akan melakukan scraping pada situs web “Carmudi Indonesia” yang dapat diakses melalui https://www.carmudi.co.id/. Situs web ini adalah platform terkemuka yang menyediakan daftar kendaraan untuk dijual di Indonesia.

Salah satu produk kendaraan yang dipasarkan dalam situs ini adalah Toyota Raize. Toyota Raize adalah sebuah SUV Compact yang diproduksi oleh Toyota. Kendaraan ini dikenal dengan desainnya yang sporty dan modern, serta fitur-fitur canggih yang ditawarkan. Scraping data pada Toyota Raize memiliki kepentingan strategis dalam berbagai aspek industri otomotif. Dengan mengumpulkan informasi tentang SUV Compact ini, analis dan dealer dapat memperoleh pemahaman yang lebih dalam tentang tren pasar, preferensi konsumen, dan posisi kompetitif Raize dibandingkan dengan kendaraan lain di segmennya.

Data yang akan dilakukan scraping ada website ini adalah jenis mobil, harga mobil (bekas), odometer, tahun produksi, jenis transmisi dan lokasi.

Scraping

Proses scraping dapat dilakukan dengan langkah-langkah sebagai berikut:

Memuat library yang akan digunakan

library(rvest)
## Warning: package 'rvest' was built under R version 4.3.3
library(tidyverse)
## Warning: package 'ggplot2' was built under R version 4.3.2
## Warning: package 'tidyr' was built under R version 4.3.2
## Warning: package 'readr' was built under R version 4.3.2
## Warning: package 'dplyr' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter()         masks stats::filter()
## ✖ readr::guess_encoding() masks rvest::guess_encoding()
## ✖ dplyr::lag()            masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(mongolite)
## Warning: package 'mongolite' was built under R version 4.3.3

Mengambil variabel data yang diinginkan

Jenis_Mobil <- lamanweb %>% html_nodes(".ellipsize") %>%
  html_text() %>%
  gsub("\n", "",.)
Harga_Mobil <-  lamanweb %>% html_nodes(".listing__price") %>%
  html_text() %>%
  gsub("\n", "",.)
Odometer <-  lamanweb %>% html_nodes(".listing__specs") %>%
  html_text() %>%
  gsub("\n", "",.)

Membentuk data frame

tabeldf <- data.frame(Jenis_Mobil, Harga_Mobil, Odometer, stringsAsFactors = FALSE)
head(tabeldf)
##                                                                         Jenis_Mobil
## 1                                 2021 Toyota Raize 1.0 GR Sport TSS Wagon - matic 
## 2                                                    2021 Toyota Raize 1.0 G Wagon 
## 3                             2022 Toyota Raize 1.0 GR Sport Wagon - low km 24ribu 
## 4                                   2021 Toyota Raize 1.0 GR Sport Wagon - KM 10RB 
## 5 2021 Toyota Raize 1.0 G Wagon - bunga 0persen free 1 th asuransi dan garansi 1th 
## 6                                                    2021 Toyota Raize 1.0 G Wagon 
##      Harga_Mobil
## 1 Rp 235.000.000
## 2 Rp 206.000.000
## 3 Rp 236.000.000
## 4 Rp 225.000.000
## 5 Rp 206.000.000
## 6 Rp 206.000.000
##                                                                                                                                                                    Odometer
## 1       25 - 30K KM Automatic Jawa Timur Dealer Dealer terpercaya memiliki rekam jejak yang terbukti menegakkan praktik jual mobil terbaik disertifikasi oleh Carmudi.co.id
## 2  35 - 40K KM Automatic Jawa Barat Sales Agent Dealer terpercaya memiliki rekam jejak yang terbukti menegakkan praktik jual mobil terbaik disertifikasi oleh Carmudi.co.id
## 3       15 - 20K KM Automatic Jawa Timur Dealer Dealer terpercaya memiliki rekam jejak yang terbukti menegakkan praktik jual mobil terbaik disertifikasi oleh Carmudi.co.id
## 4  10 - 15K KM Automatic Jawa Timur Sales Agent Dealer terpercaya memiliki rekam jejak yang terbukti menegakkan praktik jual mobil terbaik disertifikasi oleh Carmudi.co.id
## 5  35 - 40K KM Automatic Jawa Barat Sales Agent Dealer terpercaya memiliki rekam jejak yang terbukti menegakkan praktik jual mobil terbaik disertifikasi oleh Carmudi.co.id
## 6 35 - 40K KM Automatic DKI Jakarta Sales Agent Dealer terpercaya memiliki rekam jejak yang terbukti menegakkan praktik jual mobil terbaik disertifikasi oleh Carmudi.co.id

Membersihkan data

tabeldf <- tabeldf %>%
  mutate(
    Tahun = str_sub(Jenis_Mobil, 1, 4),
    Jenis_Mobil = str_sub(Jenis_Mobil, 6),
    Transmisi = str_sub(Odometer, 10, 21),
    Lokasi = str_sub(Odometer, 20, 33),
    Odometer = str_sub(Odometer, 1, 11),
    Harga_Mobil = gsub("-[0-9]+% ", "", Harga_Mobil),
    Odometer = gsub("Au", "", Odometer),
    Transmisi = gsub("KM", "", Transmisi),
    Transmisi = gsub("M", "", Transmisi),
    Transmisi = gsub("Ja", "", Transmisi),
    Transmisi = gsub("Automatic Ba", "Automatic", Transmisi),
    Transmisi = gsub("Automatic DK", "Automatic", Transmisi),
    Transmisi = gsub("anual w", "Manual", Transmisi),
    Lokasi = gsub("ic", "", Lokasi),
    Lokasi = gsub("c", "", Lokasi),
    Lokasi = gsub("Dea", "", Lokasi),
    Lokasi = gsub("Sal", "", Lokasi),
    Lokasi = gsub("Jawa Timur D", "Jawa Timur", Lokasi),
    Lokasi = gsub("ler", "", Lokasi),
    Lokasi = gsub("De", "", Lokasi),
    Lokasi = gsub("Banten e", "Banten", Lokasi),
    Lokasi = gsub("Banten l", "Banten", Lokasi),
    Lokasi = gsub("awa Timur e", "Jawa Timur", Lokasi),
    Lokasi = gsub("awa Timur l", "Jawa Timur", Lokasi)
  )
head(tabeldf)
##                                                                    Jenis_Mobil
## 1                                 Toyota Raize 1.0 GR Sport TSS Wagon - matic 
## 2                                                    Toyota Raize 1.0 G Wagon 
## 3                             Toyota Raize 1.0 GR Sport Wagon - low km 24ribu 
## 4                                   Toyota Raize 1.0 GR Sport Wagon - KM 10RB 
## 5 Toyota Raize 1.0 G Wagon - bunga 0persen free 1 th asuransi dan garansi 1th 
## 6                                                    Toyota Raize 1.0 G Wagon 
##      Harga_Mobil    Odometer Tahun  Transmisi       Lokasi
## 1 Rp 235.000.000 25 - 30K KM  2021  Automatic  Jawa Timur 
## 2 Rp 206.000.000 35 - 40K KM  2021  Automatic  Jawa Barat 
## 3 Rp 236.000.000 15 - 20K KM  2022  Automatic  Jawa Timur 
## 4 Rp 225.000.000 10 - 15K KM  2021  Automatic  Jawa Timur 
## 5 Rp 206.000.000 35 - 40K KM  2021  Automatic  Jawa Barat 
## 6 Rp 206.000.000 35 - 40K KM  2021  Automatic  DKI Jakarta

Menyimpan data dalam format csv

write.csv(tabeldf, file = "ScrapingCarmudi.csv")

Visualisasi Data

Data yang diperoleh akan divisualisasikan sebagai gambaran awal dari data.

Memuat dataset

Kali ini dataset diubah dari format csv menjadi xlsx.

library(readxl)
data <- read_excel("ScrapingCarmudi.xlsx")
data
## # A tibble: 25 × 6
##    Jenis_Mobil                    Harga_Mobil_RP Odometer Tahun Transmisi Lokasi
##    <chr>                                   <dbl> <chr>    <dbl> <chr>     <chr> 
##  1 Toyota Raize 1.0 GR Sport Wag…      210000000 50 - 55…  2021 Automatic DKI J…
##  2 Toyota Raize 1.0 GR Sport Wag…      205000000 25 - 30…  2021 Automatic Banten
##  3 Toyota Raize 1.0 GR Sport TSS…      230000000 55 - 60…  2021 Automatic Jawa …
##  4 Toyota Raize 1.0 G Wagon            201000000 35 - 40…  2021 Automatic Jawa …
##  5 Toyota Raize 1.0 GR Sport TSS…      230000000 60 - 65…  2021 Automatic Jawa …
##  6 Toyota Raize 1.0 GR Sport Wag…      235000000 20 - 25…  2022 Automatic Yogya…
##  7 Toyota Raize 1.0 GR Sport Wag…      205000000 25 - 30…  2021 Automatic DKI J…
##  8 Toyota Raize 1.0 G Wagon - bu…      206000000 35 - 40…  2021 Automatic Jawa …
##  9 Toyota Raize 1.0 GR Sport Wag…      208000000 36947 KM  2022 Automatic Banten
## 10 Toyota Raize 1.0 GR Sport Wag…      205000000 27380 KM  2021 Automatic DKI J…
## # ℹ 15 more rows

Sebaran Tahun

Sebaran data mobil bekas toyota raize bedasarkan tahun produksinya

library(ggplot2)
library(RColorBrewer)

ggplot(data, aes(x=Tahun, fill=factor(Tahun))) +
  geom_bar(show.legend = FALSE) + # Menyembunyikan legenda
  scale_fill_brewer(palette="Paired") + # Menggunakan palet warna dari ColorBrewer
  theme_minimal() +
  labs(title="Distribusi Tahun Produksi Mobil Bekas Toyota Raize", x="Tahun", y="Jumlah Mobil") +
  theme(plot.title = element_text(hjust = 0.5)) + # Menengahkan judul
  geom_text(stat='count', aes(label=..count..), vjust=-0.5) + # Menambahkan label jumlah pada bar
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Memiringkan teks sumbu x
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Berdasarkan visualisasi, data menunjukkan bahwa mobil bekas toyota raize dengan tahun produksi 2021 memiliki jumlah tertinggi. Artinya sebanyak 17 dari 25 mobil bekas toyota raize yang dijual pada situs carmudi indonesia merupakan mobil tahun produksi 2021.

Sebaran Lokasi

Sebaran data mobil bekas toyota raize berdasarkan lokasinya

ggplot(data, aes(x=Lokasi, fill=factor(Lokasi))) +
  geom_bar(show.legend = FALSE) + # Menyembunyikan legenda
  scale_fill_brewer(palette="Paired") + # Menggunakan palet warna dari ColorBrewer
  theme_minimal() +
  labs(title="Distribusi Lokasi Pemilik Mobil Bekas Toyota Raize", x="Lokasi", y="Jumlah Mobil") +
  theme(plot.title = element_text(hjust = 0.5)) + # Menengahkan judul
  geom_text(stat='count', aes(label=..count..), vjust=-0.5) + # Menambahkan label jumlah pada bar
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Memiringkan teks sumbu x

Berdasarkan visualisasi, data menunjukkan bahwa mobil bekas toyota raize dari Provinsi Jawa Timur (9) dan DKI Jakarta (8) merupakan yang tertinggi. Artinya sebanyak 17 dari 25 mobil bekas toyota raize yang dijual pada situs carmudi indonesia merupakan mobil yang berasal dari Provinsi Jawa Timur dan DKI Jakarta.

Sebaran Transmisi

Sebaran data mobil bekas toyota raize berdasarkan jenis transmisinya

ggplot(data, aes(x=Transmisi, fill=factor(Transmisi))) +
  geom_bar(show.legend = FALSE) + # Menyembunyikan legenda
  scale_fill_brewer(palette="Paired") + # Menggunakan palet warna dari ColorBrewer
  theme_minimal() +
  labs(title="Distribusi Jenis Transmisi Mobil Bekas Toyota Raize", x="Transmisi", y="Jumlah Mobil") +
  theme(plot.title = element_text(hjust = 0.5)) + # Menengahkan judul
  geom_text(stat='count', aes(label=..count..), vjust=-0.5) + # Menambahkan label jumlah pada bar
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Memiringkan teks sumbu x

Berdasarkan visualisasi, data menunjukkan bahwa mobil bekas toyota raize dengan transmisi automatic merupakan yang paling banyak dijual dibanding transmisi manual. Artinya sebanyak 23 dari 25 mobil bekas toyota raize yang dijual pada situs carmudi indonesia merupakan mobil dengan transmisi Automatic.

Sebaran Harga

Sebaran data mobil bekas toyota raize berdasarkan range harganya

# Asumsikan 'data' adalah dataframe Anda dan 'Harga_Mobil_RP' adalah kolom harga
# Tentukan batas rentang harga
breaks <- seq(from=min(data$Harga_Mobil_RP), to=max(data$Harga_Mobil_RP), by=10000000)

# Buat faktor rentang harga
data$Rentang_Harga <- cut(data$Harga_Mobil_RP, breaks=breaks, include.lowest=TRUE, right=FALSE)

# Hitung jumlah untuk setiap rentang harga
jumlah <- table(data$Rentang_Harga)

# Buat tabel baru
tabel_baru <- as.data.frame(jumlah)
names(tabel_baru) <- c("Rentang_Harga", "Jumlah")

# Tampilkan tabel baru
tabel_baru
##         Rentang_Harga Jumlah
## 1 [1.95e+08,2.05e+08)      4
## 2 [2.05e+08,2.15e+08)     10
## 3 [2.15e+08,2.25e+08)      3
## 4 [2.25e+08,2.35e+08]      8
# Visualisasi
# Visualisasi dengan label dan warna berbeda untuk setiap bar
library(stringr)
ggplot(tabel_baru, aes(x=Rentang_Harga, y=Jumlah, fill=Rentang_Harga)) +
  geom_bar(stat="identity") +
  geom_text(aes(label=Jumlah), vjust=-0.3, color="black", size=3.5) +
  scale_fill_brewer(palette="Spectral") + # Menggunakan palet warna 'Spectral'
  theme_minimal() +
  labs(title="Distribusi Harga Mobil Bekas Toyota Raize",
       x="Harga Mobil",
       y="Jumlah Mobil") +
  theme(plot.title = element_text(hjust = 0.5)) + # Menengahkan judul
  theme(axis.text.x = element_text(angle=45, hjust=1)) + # Memiringkan teks sumbu x
  theme(legend.position="none") + # Menghilangkan legenda
  scale_x_discrete(labels=c("195-205 (Juta)", "206-215 (Juta)", "216-225 (Juta)", "226-235 (Juta)"))

Berdasarkan visualisasi, data menunjukkan bahwa mobil toyota raize sebagian besar memiliki range harga 206-215 juta dan 226-235 juta. Namun yang paling banyak ada pada range harga 206-215 juta rupiah.

Hubungan Harga dengan Variabel lain

Harga dengan variabel lain memiliki hubungan yang menarik untuk dipahami, oleh karena itu berikut visualisi hubungan harga dan variabel lain.

Harga dan Lokasi

Jakarta

library(dplyr)

# Filter data untuk hanya termasuk entri dari DKI Jakarta
data_jakarta <- data %>% filter(Lokasi == "DKI Jakarta")

# Tentukan batas rentang harga untuk data DKI Jakarta
breaks_jakarta <- seq(from=min(195000000), to=max(235000000), by=10000000)

# Buat faktor rentang harga untuk data DKI Jakarta
data_jakarta$Rentang_Harga <- cut(data_jakarta$Harga_Mobil_RP, breaks=breaks_jakarta, include.lowest=TRUE, right=FALSE)

# Hitung jumlah untuk setiap rentang harga di DKI Jakarta
jumlah_jakarta <- table(data_jakarta$Rentang_Harga)

# Buat tabel baru untuk data DKI Jakarta
tabel_baru_jakarta <- as.data.frame(jumlah_jakarta)
names(tabel_baru_jakarta) <- c("Rentang_Harga", "Jumlah")
tabel_baru_jakarta
##         Rentang_Harga Jumlah
## 1 [1.95e+08,2.05e+08)      3
## 2 [2.05e+08,2.15e+08)      4
## 3 [2.15e+08,2.25e+08)      1
## 4 [2.25e+08,2.35e+08]      0
# Visualisasi untuk DKI Jakarta
ggplot(tabel_baru_jakarta, aes(x=Rentang_Harga, y=Jumlah, fill=Rentang_Harga)) +
  geom_bar(stat="identity") +
  geom_text(aes(label=Jumlah), vjust=-0.3, color="black", size=3.5) +
  scale_fill_brewer(palette="Spectral") +
  theme_minimal() +
  labs(title="Distribusi Harga Mobil Bekas Toyota Raize di DKI Jakarta",
       x="Harga Mobil",
       y="Jumlah Mobil") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(axis.text.x = element_text(angle=45, hjust=1)) +
  theme(legend.position="none") +
  scale_x_discrete(labels=c("195-205 (Juta)", "206-215 (Juta)", "216-225 (Juta)", "226-235 (Juta)"))

Berdasarkan visualisasi, data menunjukkan bahwa mobil bekas toyota raize dari Provinsi DKI Jakarta sebagian besar memiliki range harga 195-206 juta rupiah, dari 8 mobil tidak ada mobil dengan harga diatas 226 juta rupiah di Provinsi DKI Jakarta.

Jawa Timur
# Filter data untuk hanya termasuk entri dari Jawa Timur
data_jatim <- data %>% filter(Lokasi == "Jawa Timur")

# Tentukan batas rentang harga untuk data Jawa Timur
breaks_jatim <- seq(from=min(195000000), to=max(235000000), by=10000000)

# Buat faktor rentang harga untuk data Jawa Timur
data_jatim$Rentang_Harga <- cut(data_jatim$Harga_Mobil_RP, breaks=breaks_jatim, include.lowest=TRUE, right=FALSE)

# Hitung jumlah untuk setiap rentang harga di Jawa Timur
jumlah_jatim <- table(data_jatim$Rentang_Harga)

# Buat tabel baru untuk data Jawa Timur
tabel_baru_jatim <- as.data.frame(jumlah_jatim)
names(tabel_baru_jatim) <- c("Rentang_Harga", "Jumlah")
tabel_baru_jatim
##         Rentang_Harga Jumlah
## 1 [1.95e+08,2.05e+08)      0
## 2 [2.05e+08,2.15e+08)      2
## 3 [2.15e+08,2.25e+08)      1
## 4 [2.25e+08,2.35e+08]      6
# Visualisasi untuk Jawa Timur
ggplot(tabel_baru_jatim, aes(x=Rentang_Harga, y=Jumlah, fill=Rentang_Harga)) +
  geom_bar(stat="identity") +
  geom_text(aes(label=Jumlah), vjust=-0.3, color="black", size=3.5) +
  scale_fill_brewer(palette="Spectral") +
  theme_minimal() +
  labs(title="Distribusi Harga Mobil Bekas Toyota Raize di Jawa Timur",
       x="Harga Mobil",
       y="Jumlah Mobil") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(axis.text.x = element_text(angle=45, hjust=1)) +
  theme(legend.position="none") +
  scale_x_discrete(labels=c("195-205 (Juta)", "206-215 (Juta)", "216-225 (Juta)", "226-235 (Juta)"))

Berdasarkan visualisasi, berbanding terbalik dengan Provinsi DKI Jakarta, data menunjukkan bahwa mobil bekas toyota raize dari Provinsi Jawa Timur sebagian besar memiliki range harga diatas 226 juta rupiah, sedangkan dari 9 mobil tidak ada mobil dengan harga dibawah 206 juta rupiah.

Harga dan Tahun Produksi

# Filter data untuk hanya termasuk entri dari Tahun 2021
data_2021 <- data %>% filter(Tahun == "2021")

# Tentukan batas rentang harga untuk data Tahun 2021
breaks_2021 <- seq(from=min(195000000), to=max(235000000), by=10000000)

# Buat faktor rentang harga untuk data Tahun 2021
data_2021$Rentang_Harga <- cut(data_2021$Harga_Mobil_RP, breaks=breaks_2021, include.lowest=TRUE, right=FALSE)

# Hitung jumlah untuk setiap rentang harga di Tahun 2021
jumlah_2021 <- table(data_2021$Rentang_Harga)

# Buat tabel baru untuk data Tahun 2021
tabel_baru_2021 <- as.data.frame(jumlah_2021)
names(tabel_baru_2021) <- c("Rentang_Harga", "Jumlah")
tabel_baru_2021
##         Rentang_Harga Jumlah
## 1 [1.95e+08,2.05e+08)      3
## 2 [2.05e+08,2.15e+08)      6
## 3 [2.15e+08,2.25e+08)      2
## 4 [2.25e+08,2.35e+08]      6
# Visualisasi untuk Tahun 2021
ggplot(tabel_baru_2021, aes(x=Rentang_Harga, y=Jumlah, fill=Rentang_Harga)) +
  geom_bar(stat="identity") +
  geom_text(aes(label=Jumlah), vjust=-0.3, color="black", size=3.5) +
  scale_fill_brewer(palette="Spectral") +
  theme_minimal() +
  labs(title="Distribusi Harga Mobil Bekas Toyota Raize Tahun Produksi 2021",
       x="Harga Mobil",
       y="Jumlah Mobil") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(axis.text.x = element_text(angle=45, hjust=1)) +
  theme(legend.position="none") +
  scale_x_discrete(labels=c("195-205 (Juta)", "206-215 (Juta)", "216-225 (Juta)", "226-235 (Juta)"))

Berdasarkan visualisasi, data menunjukkan bahwa mobil bekas toyota raize tahun produksi 2021 sebagian besar memiliki range harga 206-215 juta dan 226-235 juta rupiah.

Harga dan Jenis Transmisi

# Filter data untuk hanya termasuk entri dari Transmisi Automatic
data_automatic <- data %>% filter(Transmisi == "Automatic")

# Tentukan batas rentang harga untuk data Transmisi Automatic
breaks_automatic <- seq(from=min(195000000), to=max(235000000), by=10000000)

# Buat faktor rentang harga untuk data Transmisi Automatic
data_automatic$Rentang_Harga <- cut(data_automatic$Harga_Mobil_RP, breaks=breaks_automatic, include.lowest=TRUE, right=FALSE)

# Hitung jumlah untuk setiap rentang harga di Transmisi Automatic
jumlah_automatic <- table(data_automatic$Rentang_Harga)

# Buat tabel baru untuk data Transmisi Automatic
tabel_baru_automatic <- as.data.frame(jumlah_automatic)
names(tabel_baru_automatic) <- c("Rentang_Harga", "Jumlah")
tabel_baru_automatic
##         Rentang_Harga Jumlah
## 1 [1.95e+08,2.05e+08)      4
## 2 [2.05e+08,2.15e+08)      8
## 3 [2.15e+08,2.25e+08)      3
## 4 [2.25e+08,2.35e+08]      8
# Visualisasi untuk Transmisi Automatic
ggplot(tabel_baru_automatic, aes(x=Rentang_Harga, y=Jumlah, fill=Rentang_Harga)) +
  geom_bar(stat="identity") +
  geom_text(aes(label=Jumlah), vjust=-0.3, color="black", size=3.5) +
  scale_fill_brewer(palette="Spectral") +
  theme_minimal() +
  labs(title="Distribusi Harga Mobil Bekas Toyota Raize Transmisi Automatic",
       x="Harga Mobil",
       y="Jumlah Mobil") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(axis.text.x = element_text(angle=45, hjust=1)) +
  theme(legend.position="none") +
  scale_x_discrete(labels=c("195-205 (Juta)", "206-215 (Juta)", "216-225 (Juta)", "226-235 (Juta)"))

Berdasarkan visualisasi, data menunjukkan bahwa mobil bekas toyota raize dengan transmisi automatic sebagian besar ada pada range harga 206-215 juta dan 226-235 juta rupiah.

Penutup

Kesimpulan

Berdasarkan analisis dan visualisasi diatas, dapat ditarik beberapa kesimpulan diantaranya sebagai berikut:

  1. Mobil bekas toyota raize tahun produksi 2021 menjadi yang paling banyak dijual dibanding tahun lainnya pada situs carmudi indonesia berdasarkan dataset yang diambil.

  2. Mobil bekas toyota raize yang dijual sebagian besar berasal dari Provinsi Jawa Timur (9) dan DKI Jakarta (8) pada situs carmudi indonesia berdasarkan dataset yang diambil.

  3. Mobil bekas toyota raize dengan transmisi automatic mendominasi penjualan dibanding transmisi manual pada situs carmudi indonesia berdasarkan dataset yang diambil.

  4. Sebaran harga mobil bekas toyota raize secara umum berada pada range harga 206-215 juta rupiah dan 226-235 Juta rupiah pada situs carmudi indonesia berdasarkan dataset yang diambil. Dimana range harga 206-215 juta rupiah banyak berasal dari Provinsi DKI Jakarta dan range harga 226-235 juta rupiah banyak berasal dari Provinsi Jawa Timur.

Terima Kasih

Demikian proses dari project web scraping pada website carmudi indonesia serta visualisasi yang dapat ditunjukkan. Terima kasih atas waktu dan perhatiannya, lebih dan kurangnya mohon dimaafkan.