PENDAHULUAN

Visualisasi data merupakan tahap awal yang penting dalam proses analisis karena membantu memahami karakteristik dataset secara menyeluruh sebelum dilakukan analisis lanjutan. Melalui visualisasi, pola distribusi, hubungan antarvariabel, serta potensi anomali dapat teridentifikasi dengan lebih jelas dibandingkan hanya melihat ringkasan statistik numerik.

Dataset yang digunakan adalah dataset diamonds yang memuat lebih dari 50 ribu observasi berlian dengan berbagai atribut, termasuk variabel numerik seperti price, carat, depth, dan table, serta variabel kategorik seperti cut, color, dan clarity. Dalam analisis ini, fokus diarahkan pada variabel kontinu, khususnya harga (price) dan ukuran berlian (carat), untuk memahami bagaimana distribusi harga terbentuk serta faktor apa yang paling memengaruhi variasinya.

Tujuan utama visualisasi ini adalah untuk mengeksplorasi distribusi harga berlian, menganalisis hubungan antara ukuran dan harga, serta melihat bagaimana kualitas potongan berkontribusi terhadap variasi harga. Dengan demikian, hasil visualisasi diharapkan dapat memberikan gambaran yang lebih komprehensif mengenai struktur harga dalam dataset ini.

DISTRIBUSI HARGA

Sebelum menganalisis hubungan antarvariabel, penting untuk memahami bagaimana harga tersebar dalam dataset. Histogram dengan kurva kepadatan digunakan karena grafik ini efektif untuk menampilkan distribusi data kontinu dan mengidentifikasi pola seperti kemencengan distribusi atau konsentrasi nilai pada rentang tertentu.

p1 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram(aes(y = after_stat(density)),
                 bins = 40,
                 fill = green_soft,
                 color = green_dark,
                 alpha = 0.8) +
  geom_density(color = green_dark, size = 1) +
  labs(
    title = "Distribusi Harga Berlian",
    x = "Harga (USD)",
    y = "Density"
  ) +
  theme_minimal()+
  theme(
    plot.title = element_text(face = "bold", size=16, color= "#1D6517")
  )

ggplotly(p1)

Berdasarkan grafik, distribusi harga menunjukkan pola menceng ke kanan (right-skewed). Sebagian besar berlian berada pada rentang harga rendah hingga menengah, sementara hanya sebagian kecil yang memiliki harga sangat tinggi. Pola ini menunjukkan bahwa pasar berlian dalam dataset didominasi oleh produk pada segmen harga tertentu, dengan sedikit produk premium bernilai tinggi. Ketidakseimbangan distribusi ini penting untuk diperhatikan karena dapat memengaruhi interpretasi rata-rata harga serta strategi segmentasi pasar.

HUBUNGAN CARAT DAN PRICE

Untuk memahami faktor utama yang memengaruhi harga, digunakan scatter plot karena grafik ini paling sesuai untuk mengevaluasi hubungan antara dua variabel kontinu. Scatter plot memungkinkan kita melihat pola hubungan, arah korelasi, serta potensi penyimpangan data.

p2 <- ggplot(diamonds,
             aes(x = carat,
                 y = price,
                 text = paste("Carat:", carat,
                              "<br>Price:", dollar(price)))) +
  geom_point(color = "#0B3D2E",  # emerald deep
             alpha = 0.35,
             size = 1.2) +
  geom_smooth(method = "lm",
              color = "#C2B280",  # beige gold tone
              size = 1.2,
              se = FALSE) +
  labs(
    title = "Hubungan Ukuran (Carat) dan Harga Berlian",
    x = "Carat",
    y = "Harga (USD)"
  ) +
  theme_minimal()+
  theme(
    plot.title = element_text(face = "bold", size=16, color= "#1D6517")
  )

ggplotly(p2, tooltip = "text")

Hasil visualisasi menunjukkan hubungan positif yang jelas antara ukuran berlian (carat) dan harga. Semakin besar ukuran berlian, semakin tinggi harga yang ditawarkan. Garis regresi memperkuat indikasi bahwa ukuran merupakan determinan utama harga. Namun, terlihat pula adanya variasi harga pada ukuran carat tertentu, yang menunjukkan bahwa selain ukuran, faktor lain seperti kualitas potongan atau kejernihan turut berperan dalam menentukan harga akhir.

BOXLOT HARGA BERDASARKAN CUT

Untuk melihat bagaimana kualitas potongan memengaruhi harga, digunakan boxplot. Grafik ini dipilih karena mampu menampilkan median, sebaran data, serta potensi outlier secara ringkas dalam satu visualisasi. Boxplot sangat efektif untuk membandingkan distribusi harga antar kategori.

p3 <- ggplot(diamonds,
             aes(x = cut,
                 y = price,
                 fill = cut,
                 text = paste("Cut:", cut,
                              "<br>Median approx:",
                              round(tapply(price, cut, median)[cut])))) +
  geom_boxplot(alpha = 0.8) +
  scale_fill_manual(values = c(
  "#637F19",
  "#86993D",
  "#A8B462",
  "#CBCE87",
  "#EEE8AA"   
)) +
  labs(
    title = "Distribusi Harga Berdasarkan Kualitas Cut",
    x = "Cut",
    y = "Harga (USD)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")+
  theme(
    plot.title = element_text(face = "bold", size=16, color= "#1D6517")
  )

ggplotly(p3, tooltip = "text")

Dari grafik terlihat bahwa kategori cut dengan kualitas lebih tinggi cenderung memiliki median harga yang lebih tinggi dibandingkan kategori lainnya. Namun demikian, terdapat tumpang tindih distribusi antar kategori, yang menunjukkan bahwa kualitas potongan bukan satu-satunya faktor penentu harga. Ukuran berlian tetap memainkan peran dominan, tetapi kualitas cut memberikan diferensiasi tambahan terutama pada rentang harga tertentu.

Kesimpulan

Berdasarkan hasil visualisasi data kontinu, dapat disimpulkan bahwa harga berlian dalam dataset ini memiliki distribusi yang tidak simetris dan didominasi oleh segmen harga menengah. Ukuran berlian menunjukkan hubungan positif yang kuat terhadap harga, sehingga dapat dianggap sebagai faktor utama dalam pembentukan nilai. Sementara itu, kualitas potongan berperan dalam memberikan variasi tambahan terhadap harga, meskipun pengaruhnya tidak sepenuhnya terpisah dari faktor ukuran. Secara keseluruhan, visualisasi ini memberikan pemahaman awal yang penting sebelum dilakukan analisis statistik lanjutan seperti pemodelan regresi atau pengujian hubungan variabel secara formal.