suppressPackageStartupMessages({
  suppressWarnings({
  library(ggplot2)
  library(dplyr)
  data("diamonds")
  View(diamonds)
  })
})

Tujuan dari visualisasi variabel price dan carat adalah untuk mengetahui distribusi dan penyebaran data, mengetahui kelompok harga yang dominan, mendeteksi outlier dan melihat pola dari setiap variabel yang digunakan.

Visualisasi 1 : Histogram (Price)

ggplot(diamonds, aes(x = price)) +
  geom_histogram(
    binwidth = 5000, 
    fill = "brown",
    color = "white",
    boundary = 0
  ) +
  
  scale_x_continuous(
    breaks = seq(0, 20000, by = 5000),
    labels = c("$0-5,000", "$5,000-10,000", "$10,000-15,000", "$15,000-20,000", "$20,000+")
  ) +
  
  scale_y_continuous(
    expand = expansion(mult = c(0, 0.1))
  ) +
  
  labs(
    title = "Distribusi Harga Berlian",
    x = "Kelompok Harga",
    y = "Jumlah Berlian",
    caption = "Sumber: Dataset diamonds"
  ) +
  
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold", size = 18),
    plot.subtitle = element_text(hjust = 0.5, color = "gray30", size = 12),
    axis.text.x = element_text(face = "bold", size = 11),
    axis.text.y = element_text(face = "bold", size = 11),
    panel.grid.minor = element_blank()
  )

Dari histogram distribusi harga berlian pada dataset diamonds, terlihat bahwa sebagian besar berlian memiliki harga yang cukup terjangkau. Harga berlian antara $0 hingga $5.000 mendominasi pasar dengan total mencapai sekitar 39.000 berlian, menunjukkan bahwa pasar didominasi oleh produk yang harganya terjangkau. Namun, hal yang menarik adalah pola penyebarannya tidak berlangsung secara perlahan dan terus menerus. Setelah kelompok harga terendah, jumlah berlian menurun tajam hanya menjadi sekitar 9.000 pada kelompok $5.000–$10.000, penurunan ini juga terjadi di kelompok harga berikutnya, yaitu $10.000–$15.000 dan $15.000–$20.000, di mana ukuran berlian semakin mengecil. Kemudian untuk kelompok $20.000+, jumlah berlian yang dimiliki menjadi yang paling sedikit. Ini menunjukkan bahwa berlian yang harganya sangat mahal itu cukup jarang dalam dataset, karena hanya sebagian kecil berlian yang memiliki nilai harga yang tinggi sekali.

Pola ini menunjukkan bahwa meskipun pasar berlian didominasi oleh produk yang harganya murah, ada segmen pasar menengah yang cukup besar dan kuat, bahkan lebih besar dibandingkan segmen pasar menengah bawah. Hal ini bisa menunjukkan selera pembeli terhadap berlian dengan kualitas atau ukuran tertentu yang harganya berada dalam rentang tersebut. Sementara itu, adanya 10.000 berlian dalam kategori harga premium menunjukkan bahwa barang berharga masih disukai di pasar, meskipun jumlahnya tidak banyak.

Secara umum, penyebaran harga ini menunjukkan pasar yang beragam dengan berbagai peluang di berbagai segmen, mulai dari produk yang banyak dibeli hingga barang yang mahal. Untuk strategi bisnis, sebaiknya fokus pada tersedianya produk di kisaran harga rendah hingga menengah sebagai langkah utama, sementara segmen harga premium tetap diperlukan untuk mempertahankan citra merek dan mendapatkan keuntungan yang lebih besar.

Visualisasi 2 : Density Plot (Carat)

# Density plot sederhana untuk carat
ggplot(diamonds, aes(x = carat)) +
  geom_density(
    fill = "#2c3e50",  # biru
    alpha = 0.6,
    color = "blue",
    linewidth = 1
  ) +
  
  scale_x_continuous(
    breaks = seq(0, 5, by = 0.5)
  ) +
  
  labs(
    title = "Distribusi Berat Berlian (Carat)",
    x = "Berat (Carat)",
    y = "Kepadatan",
    caption = "Sumber : Dataset diamonds"
  ) +
  
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold", size = 16),
    axis.text = element_text(face = "bold"),
    panel.grid.minor = element_blank()
  )

Dari grafik kepadatan distribusi berat berlian (dalam carat) pada dataset diamonds, kita bisa melihat pola distribusi yang menarik dan tidak merata. Grafik ini menggunakan sumbu vertikal untuk menunjukkan tingkat kepadatan atau frekuensi relatif, sedangkan sumbu horizontal menunjukkan berat berlian dalam satuan carat, mulai dari 0 hingga sekitar 5 carat.

Yang paling terlihat dari grafik ini adalah bentuk distribusinya yang sangat miring ke kanan, dengan ketinggian puncaknya berada di area berat rendah. Terdapat peningkatan jumlah yang sangat tinggi di sekitar 0,3 hingga 0,4 karat, yang menunjukkan bahwa kebanyakan berlian dalam dataset ini memiliki ukuran yang relatif kecil. Setelah puncak pertama, kepadatan berkurang tajam, tapi membentuk sejumlah puncak kecil berikutnya, terutama di sekitar 0.8 hingga 0.9 karat, 1.0 hingga 1.1 karat, 1.5 karat, dan 2.0 karat.

Dalam industri berlian, para pembeli cenderung lebih menyukai batu berlian dengan berat tertentu yang dianggap sebagai nilai terbaik, seperti mendekati 0,5 karat, 1 karat, 1,5 karat, dan seterusnya. Produsen dan pemotong berlian biasanya menjaga berat berlian mendekati angka bulat karena berlian dengan berat seperti itu lebih bernilai, sehingga terbentuk penumpukan berlian pada ukuran tertentu.

Puncak tertinggi dalam ukuran 0,3 hingga 0,4 karat menunjukkan bahwa pasar didominasi oleh berlian-berlian yang lebih kecil dan lebih mudah dibeli. Sementara itu, adanya puncak-puncak dengan ukuran lebih besar, meskipun memiliki kepadatan yang jauh lebih rendah, menunjukkan bahwa berlian dengan ukuran besar (di atas 1,5 karat) semakin langka semakin berat beratnya. Di bagian kanan grafik, kepadatan mendekati nol setelah 3 karat, yang menunjukkan bahwa berlian dengan ukuran sangat besar (3–5 karat) merupakan barang yang langka dan sangat istimewa.

Visualisasi 3 : Boxplot (Price)

ggplot(diamonds, aes(y = price)) +
  geom_boxplot(fill = "tan") +
  labs(title = "Boxplot Harga pada Dataset Diamonds",
       y = "Harga",
       caption = "Sumber : Dataset diamonds") +
  theme_minimal()

Dari grafik boxplot yang menunjukkan distribusi harga berlian dalam dataset diamonds, kita bisa melihat ringkasan statistik yang berisi informasi penting mengenai bagaimana data harga tersebar. Boxplot ini menggunakan sumbu vertikal untuk menampilkan harga dalam satuan dolar, dimulai dari 0 hingga sekitar 18.000, sedangkan sumbu horizontal hanya menunjukkan rentang agar boxplot bisa ditempatkan tanpa ada kategori tertentu.

Dari visualisasi ini, terlihat bahwa harga tengah berlian berada di sekitar 2.400, yang ditunjukkan oleh garis tengah di dalam kotak. Artinya, 50% dari harga berlian berada di bawah angka tersebut, yang menunjukkan bahwa sebagian besar berlian dalam dataset ini memiliki harga yang cukup terjangkau. Kotak yang menunjukkan rentang antara kuartil pertama (Q1) sekitar 950 hingga kuartil ketiga (Q3) sekitar 5.300 menunjukkan bahwa 50% data tengah berada dalam rentang harga tersebut.

Yang paling terlihat dari boxplot ini adalah adanya banyak pencilan di bagian atas grafik. Titik-titik harga di atas 10.000 hingga hampir 18.000 menunjukkan adanya banyak berlian dengan harga premium yang jauh melebihi tingkat distribusi data yang normal. Banyaknya data yang tidak biasa ini memperkuat hasil sebelumnya bahwa distribusi harga cenderung miring ke kanan, dengan garis ekor yang panjang di bagian harga tinggi.

Menariknya, tidak ada harga yang terlalu murah di bagian bawah, yang menunjukkan bahwa harga terendah masih berada dalam rentang distribusi yang normal. Batas bawah dari boxplot berada di sekitar 350 hingga 400 dolar, yang merupakan harga terendah berlian dalam dataset ini.

Kesimpulan

Secara keseluruhan, dataset ini menunjukkan ketimpangan distribusi yang khas pada pasar berlian yang mana mayoritas produk berada di segmen bawah (harga murah dan ukuran kecil), namun terdapat segmen menengah-atas hingga premium yang cukup kuat dan membentuk puncak-puncak tersendiri. Boxplot mengonfirmasi bahwa median harga relatif rendah ($2.400), tetapi ekor kanan distribusi panjang dan padat dengan pencilan.