Pendahuluan

Laporan ini menyajikan analisis visualisasi data diskrit dan kategorik menggunakan dataset diamonds dari paket ggplot2 di R. Dataset ini berisi 53.940 berlian dengan variabel kategorik seperti cut (kualitas potong: Fair, Good, Very Good, Premium, Ideal), color (warna: D hingga J, di mana D adalah terbaik), dan clarity (kejernihan: I1, SI2, SI1, VS2, VS1, VVS2, VVS1, IF). Untuk memudahkan pembacaan grafik, beberapa visualisasi hanya menyertakan 5 kategori teratas (berdasarkan frekuensi) dari variabel color dan clarity, serta 3 kategori teratas dari variabel cut.

Isi

# 5 warna dengan frekuensi tertinggi
top_colors <- diamonds %>%
  count(color) %>%
  arrange(desc(n)) %>%
  slice_head(n = 5) %>%
  pull(color)

# 5 clarity dengan frekuensi tertinggi
top_clarity <- diamonds %>%
  count(clarity) %>%
  arrange(desc(n)) %>%
  slice_head(n = 5) %>%
  pull(clarity)

# 3 cut dengan frekuensi tertinggi
top_cuts <- diamonds %>%
  count(cut) %>%
  arrange(desc(n)) %>%
  slice_head(n = 3) %>%
  pull(cut)

# Subset data untuk top colors
diamonds_top5 <- diamonds %>%
  filter(color %in% top_colors)

# Subset data untuk top clarity dan top cuts
diamonds_top5_clarity <- diamonds %>%
  filter(clarity %in% top_clarity, cut %in% top_cuts)

Sebagai langkah awal, kita perlu memahami bagaimana distribusi kualitas potong berlian di pasar. Apakah konsumen lebih menyukai potongan tertentu? Mari kita lihat frekuensi masing-masing kategori cut.

ggplot(diamonds, aes(x = cut)) +
  geom_bar(fill = "brown", alpha = 0.8) +
  geom_text(stat = 'count', aes(label = after_stat(count)), vjust = -0.3, size = 3) +
  labs(title = "Frekuensi Kualitas Potong Berlian",
       x = "Kualitas Potong", y = "Jumlah Berlian") +
  theme_minimal()

Grafik ini memperlihatkan bahwa potongan Ideal mendominasi pasar dengan lebih dari 20.000 unit, diikuti oleh Premium dan Very Good. Sementara itu, potongan Fair dan Good hanya menyumbang sebagian kecil. Dari sudut pandang bisnis, hal ini mengindikasikan bahwa konsumen cenderung memilih berlian dengan potongan terbaik, mungkin karena pengaruh kilau dan nilai estetika. Bagi perusahaan perhiasan, pengadaan stok sebaiknya memprioritaskan potongan Ideal dan Premium, karena permintaan tertinggi berada di segmen ini. Namun, potongan Fair dan Good tetap dapat dipertahankan sebagai opsi bagi pasar dengan anggaran terbatas atau untuk koleksi khusus.

Setelah mengetahui bahwa potongan Ideal adalah yang paling populer, pertanyaan berikutnya adalah apakah distribusi warna merata di semua tingkatan potong? Atau ada pola tertentu? Misalnya, apakah warna premium (seperti D) lebih banyak ditemukan pada potongan yang lebih baik? Untuk menjawabnya, kita bandingkan jumlah berlian untuk setiap warna (hanya 5 warna terbanyak) dalam setiap kategori cut menggunakan grouped bar chart. Grafik ini mencakup semua kategori cut agar terlihat perbandingan lengkapnya.

ggplot(diamonds_top5, aes(x = cut, fill = color)) +
  geom_bar(position = "dodge") +
  scale_fill_manual(values = c("#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"),
                    name = "Warna (5 teratas)") +
  labs(title = "Perbandingan Jumlah Berlian Berdasarkan Warna dan Kualitas Potong",
       x = "Kualitas Potong", y = "Jumlah") +
  theme_minimal() +
  theme(legend.position = "bottom")

Pada grafik terlihat bahwa sebagian besar berlian berada pada potongan Ideal, diikuti Premium dan Very Good, dan warna E, F, dan G secara konsisten memiliki jumlah paling banyak di ketiga potongan tersebut terutama pada kategori Ideal dan Premium, sedangkan warna D relatif lebih sedikit di semua tingkat potong dan warna H berada di posisi menengah. Untuk melihat apakah volume yang lebih besar pada kombinasi warna dan cut tersebut juga berkaitan dengan kejernihan, perhatikan grafik stacked bar yang menunjukkan distribusi clarity pada masing masing potong.

# Hitung proporsi untuk setiap kombinasi cut (3 teratas) dan clarity (5 teratas)
prop_clarity <- diamonds_top5_clarity %>%
  count(cut, clarity) %>%
  group_by(cut) %>%
  mutate(
    persentase = n / sum(n),
    label = scales::percent(persentase, accuracy = 0.1)
  )

# Buat stacked bar chart dengan label persentase
ggplot(prop_clarity, aes(x = cut, y = n, fill = clarity)) +
  geom_bar(stat = "identity", position = "stack") +
  geom_text(
    aes(label = label, group = clarity),
    position = position_stack(vjust = 0.5),
    size = 3,
    color = "white",
    fontface = "bold"
  ) +
  scale_fill_brewer(palette = "Set2", name = "Kejernihan (5 teratas)") +
  labs(
    title = "Komposisi Kejernihan pada Tiga Potong Utama",
    x = "Kualitas Potong",
    y = "Jumlah Berlian"
  ) +
  theme_minimal() +
  theme(legend.position = "bottom")

Pada tiga potong utama terlihat pola jelas di mana potongan Ideal memiliki proporsi kejernihan yang lebih tinggi seperti VS2 dan VS1, potongan Premium juga relatif kuat pada kejernihan menengah-tinggi namun sedikit di bawah Ideal, sedangkan potongan Very Good didominasi oleh kejernihan yang lebih rendah misalnya SI1 dan SI2. Untuk membandingkan kecenderungan ini antar warna secara relatif tanpa mempengaruhi ukuran total, lanjutkan ke proportion bar chart yang menampilkan persentase setiap kategori cut dalam masing masing warna.

# Hitung proporsi cut per warna (5 teratas)
prop_cut_by_color <- diamonds_top5 %>%
  count(color, cut) %>%
  group_by(color) %>%
  mutate(pct = n / sum(n),
         label = scales::percent(pct, accuracy = 0.1))

# Buat grafik dengan label persentase
ggplot(prop_cut_by_color, aes(x = color, y = pct, fill = cut)) +
  geom_bar(stat = "identity", position = "fill") +
  geom_text(aes(label = label), 
            position = position_fill(vjust = 0.5),
            size = 3, color = "white", fontface = "bold") +
  scale_fill_manual(values = c("#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"),
                    name = "Kualitas Potong") +
  scale_y_continuous(labels = percent_format()) +
  labs(title = "Proporsi Kualitas Potong per Warna",
       x = "Warna", y = "Proporsi") +
  theme_minimal() +
  theme(legend.position = "bottom")

Berdasarkan grafik proporsi kualitas potong per warna berlian D sampai H terlihat bahwa pada semua warna kategori yang paling dominan adalah Ideal dan Premium. Proporsi Ideal menjadi yang tertinggi di setiap warna berkisar sekitar 37 sampai 43 persen dengan nilai tertinggi pada warna G, sedangkan Premium berada di urutan kedua dengan kisaran sekitar 23 sampai 28 persen dan tertinggi pada warna H. Kategori Very Good berada di kisaran 20 sampai 24 persen sementara Good dan Fair memiliki proporsi paling kecil umumnya di bawah 10 persen dan sekitar 2 sampai 4 persen. Hal ini menunjukkan bahwa sebagian besar berlian pada setiap warna lebih banyak tersedia atau diminati pada kualitas potong tinggi terutama kategori Ideal sedangkan kualitas Good dan Fair relatif sedikit. Dengan demikian prioritas stok yang disarankan adalah menempatkan lebih banyak E sampai G untuk potongan Ideal dan Premium, menyediakan D untuk segmen ultra premium serta menjaga H sebagai pelengkap untuk pasar menengah, dan untuk keputusan persediaan yang lebih akurat sebaiknya hitung jumlah absolut penjualan per kombinasi warna dan cut serta lakukan uji statistik untuk melihat apakah perbedaan antar warna signifikan.

Kesimpulan

Setelah dilakukan analisis dengan visualisasi, dapat diambil kesimpulan bahwa sebagian besar stok dan permintaan terkonsentrasi pada potongan Ideal, diikuti oleh Premium dan Very Good, dengan warna E, F, dan G yang paling banyak muncul terutama pada potongan Ideal dan Premium. Warna D relatif lebih sedikit sementara H berada di posisi menengah. Volume besar pada potongan Ideal dan Premium didukung oleh proporsi kejernihan yang lebih tinggi seperti VS1 dan VS2 sehingga kombinasi potong tinggi dan kejernihan tinggi lebih menonjol. Proporsi per warna mempertegas bahwa E dan G cenderung lebih sering hadir sebagai produk potong terbaik. Untuk pengelolaan persediaan disarankan memprioritaskan E sampai G untuk potongan Ideal dan Premium, menyediakan D untuk segmen ultra premium, serta menjaga H sebagai pelengkap untuk pasar menengah. Sebelum mengambil keputusan pembelian sebaiknya hitung jumlah absolut penjualan per kombinasi warna dan potongan serta lakukan uji statistik untuk memastikan apakah perbedaan antar warna signifikan.