Pendahuluan

Dalam dunia data science, visualisasi data merupakan langkah awal yang sangat penting untuk memahami pola yang tersembunyi di dalam data. Sebelum membangun model atau melakukan perhitungan statistik lanjutan, seorang analis perlu terlebih dahulu “melihat” bagaimana variabel-variabel saling berhubungan. Pendekatan ini dikenal sebagai bagian dari Exploratory Data Analysis (EDA), yaitu proses eksplorasi awal untuk menemukan pola, tren, maupun kejanggalan dalam data.

Pada laporan ini, analisis difokuskan pada hubungan antar variabel dalam dataset diamonds, yaitu kumpulan data yang berisi informasi karakteristik fisik dan kualitas berlian beserta harganya. Analisis dilakukan dari sudut pandang seorang data scientist yang bertugas menyajikan insight secara jelas, ringkas, dan mudah dipahami, khususnya bagi pembaca non-teknis.

Tujuan utama eksplorasi ini adalah memahami faktor-faktor apa saja yang berkaitan dengan harga berlian. Secara khusus, analisis akan meninjau bagaimana berat berlian, kualitas potongan, serta tingkat kejernihan berasosiasi dengan harga. Untuk itu digunakan beberapa teknik visualisasi bivariat yang dipilih sesuai dengan tipe data dan tujuan analitis masing-masing.

Variabel yang digunakan dalam analisis ini antara lain:

  • carat: menunjukkan berat berlian. Dalam praktik perhiasan, carat adalah satuan berat (1 carat = 200 miligram). Secara umum, semakin besar nilai carat, semakin besar ukuran fisik berlian yang terlihat. Dari sisi ekonomi, carat sering menjadi faktor utama yang mendorong kenaikan harga.
  • price: harga berlian dalam dolar AS, yang menjadi fokus utama analisis ini.
  • cut: menggambarkan kualitas potongan berlian, yaitu seberapa baik berlian tersebut dibentuk oleh pengrajin. Potongan yang baik membantu berlian memantulkan cahaya lebih optimal sehingga terlihat lebih berkilau. Urutan kualitas potongan dari yang terendah hingga tertinggi adalah Fair (cukup), Good (baik), Very Good (sangat baik), Premium (premium), dan Ideal (ideal).
  • clarity: menunjukkan tingkat kejernihan berlian, yaitu seberapa jernih tampilan bagian dalam batu ketika dilihat dengan pembesaran standar. Tingkat kejernihan berlian dari yang paling rendah hingga paling tinggi dapat dijelaskan sebagai berikut. I1 menunjukkan berlian dengan banyak cacat yang mudah terlihat. SI2 menunjukkan berlian dengan cacat kecil yang masih dapat terlihat. SI1 menunjukkan berlian dengan cacat kecil namun sedikit lebih sulit terlihat dibanding SI2. VS2 menunjukkan berlian dengan cacat sangat kecil yang cukup sulit terlihat. VS1 menunjukkan berlian dengan cacat sangat kecil dan lebih sulit terlihat dibanding VS2. VVS2 menunjukkan berlian dengan cacat yang sangat-sangat kecil dan hampir tidak terlihat. VVS1 menunjukkan berlian dengan cacat yang sangat-sangat kecil dan makin sulit terlihat. Sementara itu, IF menunjukkan berlian yang tidak terlihat memiliki cacat di bagian dalam. Berlian dengan clarity tinggi biasanya dihargai lebih mahal.
  • depth: Depth adalah persentase yang menunjukkan perbandingan antara tinggi dan lebar berlian, yang menggambarkan apakah bentuk berlian cenderung pipih atau cukup tinggi (berisi/tebal) jika dilihat dari samping.

Melalui kombinasi beberapa visualisasi, yaitu scatter plot, boxplot, bubble plot, dan hexbin plot, laporan ini berupaya memberikan gambaran yang lebih utuh tentang bagaimana karakteristik berlian berkaitan dengan harga. Analisis seperti ini tidak hanya berguna dalam konteks akademik, tetapi juga relevan secara praktis. Bagi pelaku bisnis perhiasan, pemahaman terhadap faktor yang paling memengaruhi harga dapat membantu dalam penentuan strategi penjualan, penilaian produk, maupun segmentasi pasar. Dengan kata lain, visualisasi data di sini berfungsi bukan sekadar untuk dilihat, tetapi untuk membantu pengambilan keputusan yang berbasis data.

Analisis Bivariat

1. Scatter Plot Hubungan Berat dengan Harga

Mengapa scatter plot?
Scatter plot adalah grafik yang menampilkan setiap berlian sebagai satu titik. Sumbu x menunjukkan berat (‘carat’), sumbu y menunjukkan harga. Dengan melihat sebaran titik, kita bisa tahu apakah berat mempengaruhi harga.

Terdapat juga garis merah pada scatter plot ini. Garis tersebut adalah garis smoothed (dalam statistik disebut smoothing curve atau trend line) yang menunjukkan tren rata-rata harga. . Garis ini fleksibel mengikuti pola data tanpa dipaksa linear, sehingga dapat memperlihatkan tren rata-rata harga pada setiap nilai carat.

ggplot(diamonds, aes(x = carat, y = price)) +
  geom_point(alpha = 0.1, size = 0.8, color = "steelblue") +
  geom_smooth(method = "gam", formula = y ~ s(x, bs = "cs"), color = "darkred", se = FALSE) +
  labs(
    title = "Hubungan Berat Berlian dengan Harga Berlian",
    x = "Berat (carat)",
    y = "Harga (USD)"
  ) +
  theme_minimal()

Makna Grafik:
Pada visualisasi pertama, kita melihat sebuah grafik sebaran (scatter plot) yang memetakan posisi setiap berlian berdasarkan berat karat pada sumbu horizontal (bawah) dan harga pada sumbu vertikal (samping). Garis merah tebal yang melintasi kumpulan titik tersebut berfungsi sebagai garis rata-rata atau tren hubungan. Secara cepat, kita dapat melihat bahwa garis tersebut bergerak naik, yang mengonfirmasi bahwa rata-rata harga meningkat seiring bertambahnya berat. Namun, jika diperhatikan lebih saksama, hubungan ini tidak bersifat linear atau lurus sempurna, melainkan cenderung melengkung dan mengalami fluktuasi pada titik-titik karat tertentu. penyebaran titik-titik di sekitarnya.

Hal penting lainnya, yang dapat kita cermati adalah penyebaran titik titik di sekitar garis tersebut. Pada area berat 0 hingga 1 karat, titik-titik tersebut mengumpul sangat rapat di sekitar garis merah, yang berarti harga berlian kecil sangat konsisten dan dapat diprediksi hanya dengan melihat beratnya. Namun, perhatikan apa yang terjadi saat berat berlian masuk ke angka 2 hingga 3 karat, sebaran titik tersebut melebar secara vertikal dengan sangat ekstrem. Di satu titik berat yang sama (misalnya tepat di angka 2), terdapat berlian yang harganya berada di kisaran 5.000 USD, namun ada juga yang mencapai hampir 19.000 USD. Hal ini menunjukkan, bahwa berat bukanlah satu satunya hal yang menentukan harga jual berlian.

2. Boxplot Distribusi Harga Berdasarkan Kualitas Potongan

Mengapa boxplot?
cut adalah variabel kategorik dengan tingkatan: Fair, Good, Very Good, Premium, Ideal. Perlu diketahui bahwa urutan kualitas dari yang terendah ke tertinggi adalah: Fair (cukup), Good (baik), Very Good (sangat baik), Premium (premium), dan Ideal (ideal). Untuk membandingkan distribusi harga antar kategori, boxplot sangat tepat karena menampilkan ringkasan lima angka (minimum, kuartil bawah, median, kuartil atas, maksimum) sekaligus memperlihatkan outlier tiap kelompok. Dengan demikian kita bisa melihat apakah potongan yang lebih baik selalu dihargai lebih mahal.

ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
  geom_boxplot(alpha = 0.7, outlier.size = 0.5) +
  labs(
    title = "Distribusi Harga Berdasarkan Kualitas Potongan",
    x = "Kualitas Potongan",
    y = "Harga (USD)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

Makna Grafik:
Secara sosial-ekonomi, potongan yang lebih baik (Premium, Ideal) seharusnya dijual lebih mahal. Namun boxplot menunjukkan bahwa median harga kelima kategori hampir sama, bahkan Fair (kualitas terendah) memiliki median sedikit di atas Ideal. Dapat kita lihat juga, bahwa rentang harga di setiap kategori sangat lebar. Fair memiliki harga dari 3.000 hingga 18.000 dollar, sementara Ideal dari 500 hingga 18.000 dollar. Artinya, di setiap kategori ada berlian yang sangat murah dan ada pula yang sangat mahal. Keberadaan outlier mahal di kategori Fair kemungkinan besar disebabkan oleh faktor berat. Bisa jadi berlian Fair yang mahal itu adalah berlian berukuran besar, sehingga harganya terdongkrak meskipun potongannya biasa. Dengan demikian, boxplot di atas menunjukkan bahwa kualitas potongan yang baik tidak selalu dihargai lebih mahal dan variabel berat memberikan pengaruh lebih besar terhadap harga berlian dibandingkan dengan variabel cut.

3. Bubble Plot Pengaruh Kejernihan dan Kedalaman terhadap Hubungan Berat dan Harga

Mengapa bubble plot dengan facet?
Bubble plot adalah pengembangan dari scatter plot yang memungkinkan kita menampilkan tiga variabel sekaligus. Di sini, kita ingin melihat apakah tingkat kejernihan (clarity) dan kedalaman (depth) ikut memengaruhi harga pada berat yang sama. Namun, karena jumlah data sangat banyak (54.000 titik), jika semua titik digambar dalam satu plot, akan terjadi tumpang tindih parah sehingga pola perbedaan antar tingkat kejernihan sulit diamati. Oleh karena itu, kita memisahkan data berdasarkan tingkat kejernihan ke dalam panel-panel kecil (facet). Dengan cara ini, setiap panel hanya menampilkan satu tingkat clarity, sehingga hubungan antara berat dan harga dapat dibandingkan antar tingkat kejernihan tanpa saling tumpang tindih.

  • Sumbu X (mendatar) = berat (carat)
  • Sumbu Y (tegak) = harga (price)
  • Ukuran titik (bubble) = kedalaman (depth), yakni semakin besar ukuran bubble, semakin dalam berlian (depth besar), sebaliknya bubble kecil berarti depth kecil (berlian lebih pipih).
  • Panel (facet) = tingkat kejernihan (clarity), dari terendah (I1) hingga tertinggi (IF). Dengan demikian, clarity ditunjukkan oleh pemisahan panel.
ggplot(diamonds, aes(x = carat, y = price, size = depth)) +
  geom_point(alpha = 0.2, color = "steelblue") +  
  scale_size_continuous(range = c(1, 4)) +
  facet_wrap(~ clarity, ncol = 4) +  # 8 panel untuk 8 tingkat clarity
  labs(
    title = "Pengaruh Kejernihan dan Kedalaman terhadap Hubungan Berat dan Harga",
    subtitle = "Setiap panel menunjukkan tingkat kejernihan (clarity) yang berbeda. 
                Ukuran bubble menunjukkan kedalaman (depth).",
    x = "Berat (carat)",
    y = "Harga (USD)",
    size = "Kedalaman (%)"
  ) +
  theme_minimal() +
  theme(strip.background = element_rect(fill = "#f0f0f0"))

Makna Grafik:
Grafik ini terdiri dari delapan panel kecil yang masing-masing mewakili satu tingkat kejernihan berlian, dari I1 (terendah) yang berada di pojok kiri atas hingga IF (tertinggi) yang berada di pojok kanan atas. Dalam setiap panel, sumbu mendatar menunjukkan berat berlian dalam satuan carat, sedangkan sumbu tegak menunjukkan harga dalam dolar AS. Ukuran bubble atau titik menggambarkan kedalaman berlian (‘depth’).

Secara umum, di semua panel terlihat pola yang sama. Semakin berat berlian, harganya cenderung naik. Hal ini terlihat dari sebaran titik yang bergerak ke kanan atas di setiap panel. Namun, ketika kita membandingkan antar panel, terlihat perbedaan dalam sebaran harga pada rentang berat yang sama.

Pada panel dengan kejernihan tinggi seperti IF, VVS1, dan VVS2, titik-titik tampak lebih banyak tersebar hingga ke area harga yang lebih tinggi, bahkan pada berat yang relatif kecil sekalipun. Misalnya, pada berat sekitar 1 carat, panel-panel ini menunjukkan titik-titik yang mencapai harga di atas 5.000 hingga 10.000 dollar dengan frekuensi yang cukup banyak.

Pada panel dengan kejernihan rendah seperti I1 dan SI2, sebaran titik lebih terkonsentrasi di area harga menengah ke bawah untuk berat yang sama. Namun perlu dicatat bahwa panel SI2 juga menunjukkan adanya titik-titik yang mencapai harga tinggi, terutama pada berat di atas 2 carat. Jadi, pada kejernihan rendah pun berlian besar tetap bisa mahal. Yang membedakan adalah pada kejernihan tinggi, berlian dengan harga mahal sudah mulai muncul bahkan sejak berat masih rendah. Dengan kata lain, kejernihan tinggi membuat berlian lebih mungkin dibanderol mahal meskipun ukurannya tidak terlalu besar.

Sementara itu, ukuran titik yang bervariasi menunjukkan perbedaan kedalaman antar berlian. Sebagian besar titik berukuran sedang, yang menandakan bahwa kebanyakan berlian memiliki kedalaman di kisaran ideal (60%). Tidak terlihat pola yang jelas bahwa ukuran titik yang lebih besar atau lebih kecil selalu berada di area harga tertentu. Hal ini menunjukkan bahwa kedalaman tidak memiliki pengaruh yang konsisten terhadap harga dibandingkan berat atau kejernihan.

Dengan menggunakan panel, kita bisa melihat dengan jelas bahwa pengaruh kejernihan terhadap harga merupakan faktor penting kedua setelah berat dalam menentukan harga berlian.

4. Melihat Kepadatan Data dengan Hexbin Plot

Mengapa hexbin plot?
Untuk melihat struktur kepadatan data secara lebih terstruktur, hexbin plot adalah jalan yang sangat baik. Hexbin plot membagi bidang menjadi ribuan sel berbentuk heksagon, lalu menghitung berapa banyak titik yang jatuh di dalam setiap sel. Warna sel kemudian menunjukkan frekuensi atau kepadatan data di area tersebut. Sel dengan jumlah titik yang banyak diwarnai lebih gelap, sedangkan jika titiknya sedikit diwarnai lebih terang. Dengan demikian, kita dapat melihat di mana konsentrasi data tertinggi berada, atau pusat massa hubungan antara carat dan price.

ggplot(diamonds, aes(x = carat, y = price)) +
  geom_hex(bins = 50) +
  scale_fill_gradient(low = "lightblue", high = "darkblue", trans = "log") +
  labs(
    title = "Kepadatan Hubungan Berat dan Harga",
    x = "Berat (carat)",
    y = "Harga (USD)",
    fill = "Jumlah\nBerlian"
  ) +
  theme_minimal()

Makna Grafik:
Warna biru tua pada hexbin plot di atas menunjukkan area dengan konsentrasi data tertinggi, sedangkan warna biru muda menunjukkan area yang jarang (konsentrasi lebih rendah).

Terlihat bahwa sebagian besar berlian terkumpul di wilayah berat kurang dari 1,5 carat dan harga di bawah 5.000 dollar. Ini berarti pasar didominasi oleh berlian berukuran kecil hingga sedang dengan harga terjangkau. Semakin ke kanan (berat bertambah) dan ke atas (harga naik), warna sel semakin terang, yang menandakan bahwa jumlah berlian semakin sedikit. Dengan kata lain, berlian besar dan mahal sangat jarang ditemukan.

Pola sebaran menunjukkan hubungan positif antara berat dan harga, namun dengan variasi yang besar. Tidak terlihat bentuk kurva yang jelas dari grafik di atas. Data cenderung memusat di sudut kiri bawah dan menyebar ke kanan atas. Hal ini mengindikasikan bahwa semakin berat berlian, harganya cenderung naik.

Kesimpulan

Dari keempat visualisasi yang telah dianalisis di atas, dapat ditarik beberapa kesimpulan. Pertama, berat berlian (carat) merupakan faktor paling dominan dalam menentukan harga. Scatter plot dan hexbin plot sama-sama menunjukkan bahwa semakin berat berlian, harganya cenderung naik. Namun, perlu dicatat bahwa kenaikan tersebut tidak selalu linier dan bervariasi, terutama pada berlian berukuran besar yang menunjukkan rentang harga yang lebih lebar.

Kedua, kualitas potongan (cut) tidak secara langsung menentukan mahal atau murahnya suatu berlian. Boxplot memperlihatkan bahwa median harga antar kategori potongan relatif sama, bahkan potongan terendah (Fair) memiliki median sedikit di atas potongan tertinggi (Ideal). Hal ini menegaskan bahwa faktor berat lebih berpengaruh dibandingkan potongan, dan berlian besar dengan potongan biasa pun bisa sangat mahal.

Ketiga, kejernihan (clarity) memberikan nilai tambah yang cukup berarti. Dari bubble plot terlihat bahwa pada kejernihan tinggi, berlian dengan harga mahal sudah mulai muncul bahkan sejak berat masih rendah. Sementara pada kejernihan rendah, harga mahal baru terlihat setelah berat mencapai ukuran besar. Dengan kata lain, kejernihan tinggi membuat berlian lebih mungkin dibanderol mahal meskipun ukurannya tidak terlalu besar.

Keempat, kedalaman (depth) tidak menunjukkan pola pengaruh yang konsisten terhadap harga. Sebaran ukuran bubble relatif merata dan tidak berkaitan erat dengan tinggi rendahnya harga. Ini mengindikasikan bahwa kedalaman bukanlah faktor utama penentu harga.

Terakhir, hexbin plot mengonfirmasi bahwa sebagian besar berlian yang diperdagangkan berada di kisaran berat kecil hingga sedang dengan harga terjangkau, sedangkan berlian besar dan mahal sangat jarang ditemukan. Hal ini mencerminkan struktur pasar yang didominasi produk menengah ke bawah.

Secara praktis, pemahaman ini dapat membantu pelaku bisnis perhiasan dalam menentukan strategi harga, misalnya dengan memberikan bobot utama pada berat, namun tetap mempertimbangkan kejernihan sebagai faktor pembeda nilai. Analisis visual sederhana ini membuktikan bahwa eksplorasi data sebelum pemodelan statistik sangat penting untuk menghindari kesimpulan yang keliru.