Visualisasi data merupakan bagian penting dalam proses analisis data karena membantu menyampaikan informasi secara ringkas, jelas, dan mudah dipahami. Melalui visualisasi, pola, perbedaan, serta karakteristik utama suatu dataset dapat diidentifikasi tanpa harus bergantung sepenuhnya pada tabel atau perhitungan numerik yang kompleks.

Pada analisis ini digunakan dataset diamonds yang tersedia dalam package ggplot2. Dataset ini memuat informasi mengenai karakteristik berlian, seperti kualitas potongan (cut), warna (color), tingkat kejernihan (clarity), serta harga (price). Analisis difokuskan pada eksplorasi data secara deskriptif melalui berbagai jenis visualisasi, baik untuk data kategorikal maupun numerik.

Visualisasi data dilakukan secara bertahap, dimulai dari analisis distribusi satu variabel, kemudian dilanjutkan dengan analisis dua variabel untuk melihat pola dan komposisi data. Selanjutnya, analisis diarahkan pada variabel harga untuk memahami pola distribusi dan sebaran nilai secara lebih mendalam. Pendekatan ini diharapkan dapat memberikan gambaran menyeluruh mengenai karakteristik dataset diamonds serta mendukung pengambilan kesimpulan yang bermakna.

Visualisasi Data Kategorik

library(ggplot2)
data(diamonds)
head(diamonds)
## # A tibble: 6 × 10
##   carat cut       color clarity depth table price     x     y     z
##   <dbl> <ord>     <ord> <ord>   <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1  0.23 Ideal     E     SI2      61.5    55   326  3.95  3.98  2.43
## 2  0.21 Premium   E     SI1      59.8    61   326  3.89  3.84  2.31
## 3  0.23 Good      E     VS1      56.9    65   327  4.05  4.07  2.31
## 4  0.29 Premium   I     VS2      62.4    58   334  4.2   4.23  2.63
## 5  0.31 Good      J     SI2      63.3    58   335  4.34  4.35  2.75
## 6  0.24 Very Good J     VVS2     62.8    57   336  3.94  3.96  2.48

Bar Chart

ggplot(diamonds, aes(x = cut)) +
  geom_bar(fill = "steelblue") +
  labs(
    title = "Jumlah Berlian Berdasarkan Kualitas Potongan",
    x = "Kualitas Potongan (Cut)",
    y = "Jumlah Berlian"
  )

Sebagai langkah awal analisis, saya melihat distribusi jumlah berlian berdasarkan kualitas potongan (cut). Visualisasi ini memberikan gambaran umum mengenai karakteristik dataset secara kategorikal.

Terlihat bahwa potongan Ideal mendominasi jumlah berlian, disusul oleh Premium dan Very Good, sementara Fair memiliki jumlah paling sedikit. Temuan ini menunjukkan bahwa dataset lebih banyak merepresentasikan berlian dengan kualitas potongan menengah hingga tinggi. Informasi ini penting sebagai konteks awal sebelum melihat hubungan cut dengan karakteristik lainnya.

Grouped Bar Chart

ggplot(diamonds, aes(x = cut, fill = color)) +
  geom_bar(position = "dodge") +
  labs(
    title = "Jumlah Berlian Berdasarkan Cut dan Color",
    x = "Kualitas Potongan (Cut)",
    y = "Jumlah Berlian",
    fill = "Color"
  )

Setelah mengetahui distribusi cut secara keseluruhan, analisis dilanjutkan dengan mengaitkan cut dan color untuk melihat variasi jumlah berlian berdasarkan dua karakteristik sekaligus.

Dari grafik ini terlihat bahwa warna G, H, dan I muncul paling dominan pada hampir semua kategori cut. Selain itu, potongan Ideal dan Premium tetap menunjukkan jumlah yang lebih tinggi dibandingkan kategori lainnya. Hal ini mengindikasikan bahwa distribusi berlian tidak hanya dipengaruhi oleh satu faktor, tetapi merupakan kombinasi antara kualitas potongan dan warna.

Visualisasi ini memperkaya pemahaman dari grafik sebelumnya dengan menunjukkan bagaimana komposisi warna tersebar pada setiap kategori potongan.

Stacked Bar Chart

ggplot(diamonds, aes(x = cut, fill = clarity)) +
  geom_bar(position = "stack") +
  labs(
    title = "Komposisi Clarity pada Setiap Kategori Cut",
    x = "Kualitas Potongan (Cut)",
    y = "Jumlah Berlian",
    fill = "Clarity"
  )

Analisis kemudian diperluas dengan melihat komposisi clarity pada setiap kategori cut menggunakan stacked bar chart. Berbeda dengan grafik sebelumnya yang menekankan perbandingan jumlah, grafik ini membantu memahami komposisi internal tiap kategori cut.

Terlihat bahwa tingkat kejernihan seperti SI1 dan VS2 mendominasi hampir di semua jenis potongan. Selain itu, potongan Ideal dan Premium kembali terlihat paling tinggi karena jumlah total berlian yang lebih banyak. Hal ini menunjukkan bahwa meskipun kualitas potongan berbeda, kejernihan tertentu tetap lebih umum dijumpai di dataset.

Proportion Bar Chart

ggplot(diamonds, aes(x = cut, fill = color)) +
  geom_bar(position = "fill") +
  labs(
    title = "Proporsi Warna pada Setiap Kategori Cut",
    x = "Kualitas Potongan (Cut)",
    y = "Proporsi",
    fill = "Color"
  )

Untuk melengkapi analisis kategorikal, digunakan proportion bar chart yang menampilkan distribusi warna dalam bentuk proporsi. Berbeda dari grouped bar chart, visualisasi ini menekankan perbandingan relatif, bukan jumlah absolut.

Hasilnya menunjukkan bahwa komposisi warna pada setiap kategori cut relatif serupa, dengan warna G, H, dan I tetap mendominasi. Perbedaan antar kategori cut tidak terlalu mencolok jika dilihat dari sisi proporsi. Ini mengindikasikan bahwa variasi warna cenderung konsisten di berbagai kualitas potongan.

Visualisasi Data Kontinu

Setelah memahami karakteristik berlian secara kategorikal, analisis dilanjutkan ke variabel numerik, yaitu harga berlian (price). Fokus analisis berikutnya adalah memahami pola distribusi harga secara univariate.

Histogram

ggplot(diamonds, aes(x = price)) +
  geom_histogram(bins = 50, fill = "steelblue", color = "white") +
  labs(
    title = "Histogram Harga Berlian",
    x = "Harga Berlian (USD)",
    y = "Jumlah"
  ) +
  theme_minimal()

Histogram digunakan sebagai langkah awal untuk melihat distribusi harga berlian. Terlihat bahwa sebagian besar berlian berada pada rentang harga rendah, sementara jumlah berlian semakin berkurang pada harga yang lebih tinggi.

Distribusi ini menunjukkan bahwa harga berlian tidak menyebar secara merata dan cenderung terkonsentrasi pada nilai tertentu, sehingga perlu dianalisis lebih lanjut menggunakan visualisasi lain.

Density Plot

ggplot(diamonds, aes(x = price)) +
  geom_density(fill = "steelblue", alpha = 0.6) +
  labs(
    title = "Density Plot Harga Berlian",
    x = "Harga Berlian (USD)",
    y = "Kerapatan"
  ) +
  theme_minimal()

Untuk memperjelas pola distribusi yang terlihat pada histogram, digunakan density plot. Grafik ini menunjukkan satu puncak utama pada harga rendah, yang menandakan bahwa mayoritas berlian berada pada rentang harga tersebut.

Dibandingkan histogram, density plot memberikan gambaran yang lebih halus mengenai sebaran data dan mengonfirmasi bahwa distribusi harga berlian condong ke satu sisi.

Boxplot

ggplot(diamonds, aes(y = price)) +
  geom_boxplot(fill = "steelblue") +
  labs(
    title = "Boxplot Harga Berlian",
    y = "Harga Berlian (USD)"
  ) +
  theme_minimal()

Boxplot digunakan untuk merangkum distribusi harga sekaligus mengidentifikasi nilai ekstrem. Terlihat bahwa terdapat banyak outlier pada harga tinggi, yang menunjukkan adanya sejumlah kecil berlian dengan harga jauh di atas mayoritas berlian lainnya.

Temuan ini memperkuat hasil histogram dan density plot bahwa distribusi harga berlian bersifat miring ke kanan (right-skewed).

Violyn Plot

ggplot(diamonds, aes(x = "", y = price)) +
  geom_violin(fill = "steelblue", alpha = 0.7) +
  labs(
    title = "Violin Plot Harga Berlian",
    y = "Harga Berlian (USD)",
    x = ""
  ) +
  theme_minimal()

Sebagai penutup analisis univariate harga, digunakan violin plot yang menggabungkan informasi distribusi dan kepadatan data. Bagian violin yang paling lebar berada pada harga rendah, menunjukkan bahwa rentang ini memiliki konsentrasi data tertinggi.

Semakin ke atas, bentuk violin semakin menyempit, yang menandakan bahwa berlian dengan harga tinggi jumlahnya relatif sedikit. Visualisasi ini menguatkan hasil dari histogram, density plot, dan boxplot sebelumnya secara visual dan intuitif.

Kesimpulan

Berdasarkan hasil visualisasi data yang telah dilakukan, dapat disimpulkan bahwa dataset diamonds memiliki karakteristik yang beragam, baik dari sisi variabel kategorikal maupun numerik. Visualisasi bar chart menunjukkan bahwa sebagian besar berlian dalam dataset memiliki kualitas potongan Ideal dan Premium, dengan distribusi warna dan kejernihan yang relatif konsisten di berbagai kategori potongan.

Analisis lanjutan menggunakan grouped bar chart, stacked bar chart, dan proportion bar chart memperlihatkan bahwa karakteristik berlian tidak berdiri sendiri, melainkan terbentuk dari kombinasi beberapa faktor seperti cut, color, dan clarity. Meskipun terdapat perbedaan jumlah antar kategori, komposisi warna dan kejernihan cenderung menunjukkan pola yang serupa.

Pada variabel numerik harga, histogram, density plot, boxplot, dan violin plot secara konsisten menunjukkan bahwa distribusi harga berlian tidak merata dan cenderung miring ke kanan. Sebagian besar berlian berada pada rentang harga rendah, sementara hanya sebagian kecil berlian yang memiliki harga sangat tinggi, yang ditandai dengan keberadaan outlier.

Secara keseluruhan, visualisasi data terbukti efektif dalam membantu memahami pola dan karakteristik dataset diamonds. Pendekatan visual ini memudahkan interpretasi data dan memberikan dasar yang kuat untuk analisis lanjutan atau pengambilan keputusan berbasis data.