11 FEBRUARI 2026Dataset diamonds merupakan data yang berisi informasi mengenai karakteristik berlian dan harga jualnya. Data ini terdiri dari 53.940 baris data dan 10 variabel, dimana setiap baris mewakili satu buah berlian. Dataset ini sering digunakan untuk keperluan eksplorasi dan visualisasi data karena mencerminkan berbagai aspek kualitas berlian yang saling berkaitan. Dalam industri berlian, kualitas produk umumnya dinilai berdasarkan konsep 4C, yaitu cut, color, clarity, dan carat. Di antara faktor tersebut, warna (color) menjadi salah satu aspek penting karena memengaruhi persepsi kualitas dan harga. Oleh karena itu, analisis ini bertujuan untuk mengeksplorasi distribusi kategori color dalam dataset serta menganalisis keterkaitannya dengan variabel kualitas lainnya, yaitu clarity dan cut. Melalui pendekatan ini, diharapkan dapat diperoleh pemahaman yang lebih komprehensif mengenai pola kualitas berlian dalam dataset.
## tibble [53,940 × 10] (S3: tbl_df/tbl/data.frame)
## $ carat : num [1:53940] 0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
## $ cut : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
## $ color : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
## $ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
## $ depth : num [1:53940] 61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
## $ table : num [1:53940] 55 61 65 58 58 57 57 55 61 61 ...
## $ price : int [1:53940] 326 326 327 334 335 336 336 337 337 338 ...
## $ x : num [1:53940] 3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
## $ y : num [1:53940] 3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
## $ z : num [1:53940] 2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...
DISTRIBUSI FREKUENSI KATEGORI COLOR PADA DATASET DIAMONDS
diamonds$color <- factor(
diamonds$color,
levels = c("J", "I", "H", "G", "F", "E", "D"),
ordered = TRUE
)
color_freq <- diamonds %>%
count(color)
color_freq## # A tibble: 7 × 2
## color n
## <ord> <int>
## 1 J 2808
## 2 I 5422
## 3 H 8304
## 4 G 11292
## 5 F 9542
## 6 E 9797
## 7 D 6775
ggplot(color_freq, aes(x = color, y = n,
fill = ifelse(n == max(n), "highlight", "normal"))) +
geom_col(width = 0.6) +
scale_fill_manual(
values = c("highlight" = "#4CAF50",
"normal" = "#81C784"),
guide = "none"
) +
geom_text(aes(label = n), vjust = -0.5, size = 3) +
scale_y_continuous(
breaks = seq(0, max(color_freq$n) + 2000, by = 2000),
expand = expansion(mult = c(0, 0.1))
) +
labs(
title = "Distribusi Frekuensi Kategori Color pada Dataset Diamonds",
x = "Color",
y = "Frekuensi",
caption = "Urutan Kualitas Color: J = terendah → D = tertinggi\nSumber: Dataset Diamonds"
) +
theme_minimal() +
theme(
plot.title = element_text(
hjust = 0.5,
face = "bold",
size = 14,
margin = margin(b = 15)
),
axis.text.x = element_text(angle = 30, hjust = 1)
)Visualisasi ini menunjukkan frekuensi berlian berdasarkan kategori color (warna) dalam dataset diamonds. Urutan kategori disusun berdasarkan tingkat kualitas warna berlian, yaitu dari kualitas terendah dengan warna lebih kekuningan (J) hingga kualitas tertinggi dengan warna paling bening (D).
Berdasarkan grafik, berlian dengan warna G memiliki frekuensi paling banyak yaitu 11292. Sementara itu, warna J (kualitas terendah) memiliki frekuensi paling sedikit yaitu 2808. Menariknya, warna dengan kualitas paling tinggi (D) bukan merupakan kategori dengan frekuensi terbanyak. Hal ini menunjukkan bahwa berlian dengan kualitas menengah lebih banyak tercatat dibandingkan dengan kualitas yang sangat rendah maupun sangat tinggi dalam dataset ini.
Pola distribusi tersebut mengindikasikan bahwa data tidak terdistribusi secara merata pada seluruh kategori warna, melainkan terkonsentrasi pada kualitas menengah. Ketidakseimbangan ini penting untuk diperhatikan karena dapat memengaruhi analisis lanjutan, terutama apabila dilakukan perbandingan antar kategori warna.
FREKUENSI COLOR PADA SETIAP TINGKAT CLARITY DIAMONDS
diamonds$clarity <- factor(
diamonds$clarity,
levels = c("I1", "SI2", "SI1", "VS2", "VS1",
"VVS2", "VVS1", "IF"),
ordered = TRUE
)
clarity_freq <- diamonds %>%
count(clarity) %>%
arrange(clarity)
clarity_freq## # A tibble: 8 × 2
## clarity n
## <ord> <int>
## 1 I1 741
## 2 SI2 9194
## 3 SI1 13065
## 4 VS2 12258
## 5 VS1 8171
## 6 VVS2 5066
## 7 VVS1 3655
## 8 IF 1790
ggplot(color_clarity_freq, aes(x = clarity, y = n, fill = color)) +
geom_col(
width = 0.9,
position = position_dodge2(width = 1, padding = 0)
) +
scale_fill_manual(
values = colorRampPalette(
c("#FDE725", "#35B779", "#2C7FB8")
)(7),
name = "Color"
) +
labs(
title = "Frekuensi Color pada Setiap Tingkat Clarity Diamonds",
x = "Clarity",
y = "Frekuensi",
caption = "Urutan Kualitas Color: J = terendah → D = tertinggi\nUrutan Kualitas Clarity: I1 = terendah → IF = tertinggi\nSumber: Dataset Diamonds"
) +
theme_minimal() +
theme(
plot.title = element_text(
hjust = 0.5,
face = "bold",
size = 14,
margin = margin(b = 30)
),
axis.text.x = element_text(angle = 30, hjust = 1),
legend.position = "right",
plot.margin = margin(t = 15, r = 15, b = 15, l = 15)
)Visualisasi ini menunjukkan hubungan antara kategori color (warna) dan clarity dalam dataset diamonds. Clarity merepresentasikan tingkat kejernihan berlian, dengan tingkat kecacatan paling tinggi (kualitas terendah) yaitu I1 dan tingkat kecacatan paling rendah (kualitas tertinggi) yaitu IF. Sedangkan untuk kategori color (warna), warna J merupakan kualitas warna paling rendah dan warna D merupakan kualitas warna paling tinggi.
Pada visualisasi terlihat bahwa frekuensi berlian terbesar berada pada tingkat clarity menengah yaitu SI1 dan VS2 yang mendominasi hampir seluruh kategori warna. Sementara itu, tingkat clarity tertinggi seperti VVS1 dan IF memiliki frekuensi yang relatif lebih sedikit.
Jika ditinjau dari kategori color, warna G cenderung dominan pada sebagian besar kategori clarity. Sedangkan warna D sebagai kualitas tertinggi, tidak selalu menjadi kategori dengan frekuensi terbesar pada tingkat clarity.
Secara keseluruhan, visualisasi ini menunjukkan bahwa distribusi berlian dalam dataset lebih banyak terkonsentrasi pada kategori kualitas menengah baik dari sisi warna maupun kejernihan. Pola ini mengindikasikan bahwa sebagian besar berlian dalam dataset cenderung berada pada tingkat kualitas yang seimbang (menengah), bukan pada kualitas paling premium maupun paling rendah.
PROPORSI KATEGORI CUT PADA SETIAP COLOR DIAMONDS
gradasi_cut <- colorRampPalette(
c("#FDE725", "#35B779", "#2C7FB8"))(5)
ggplot(diamonds, aes(x = color, fill = cut)) +
geom_bar(position = "fill") +
scale_fill_manual(
values = c(
"Fair" = gradasi_cut[1],
"Good" = gradasi_cut[2],
"Very Good" = gradasi_cut[3],
"Premium" = gradasi_cut[4],
"Ideal" = gradasi_cut[5]
),
name = "Cut"
) +
scale_y_continuous(
limits = c(0,1),
breaks = seq(0,1,0.2)
) +
labs(
title = "Proporsi Kategori Cut pada Setiap Color Diamonds",
x = "Color",
y = "Proporsi",
caption = "Urutan Kualitas Cut: Fair = terendah → Ideal = tertinggi\nUrutan Kualitas Color: J = terendah → D = tertinggi\nSumber: Dataset Diamonds"
) +
theme_minimal() +
theme(
plot.title = element_text(
hjust = 0.5,
face = "bold",
size = 14,
margin = margin(b = 20)
),
axis.text.x = element_text(angle = 30, hjust = 1),
legend.position = "right"
)Visualisasi ini menunjukkan hubungan antara kategori color (warna) dan cut (potongan) dalam dataset diamonds. Cut merepresentasikan kualitas potongan berlian, dengan kualitas terendah yaitu Fair dan kualitas tertinggi yaitu Ideal. Sedangkan untuk kategori color (warna), warna J merupakan kualitas warna paling rendah dan warna D merupakan kualitas warna paling tinggi.
Visualisasi ini menggunakan bentuk proporsi (persentase) yang membuat setiap batang menjadi sama tinggi (100%). Visualisasi ini menunjukkan komposisi kualitas potongan dalam tiap warna, bukan perbandingan jumlah total berlian antar warna.
Ditinjau dari distribusi proporsinya, hampir semua warna didominasi oleh kategori potongan Ideal dan Premium. Berlian dengan kualitas warna rendah juga banyak yang memiliki potongan Ideal dan kualitas warna tertinggi juga tidak menunjukkan peningkatan proporsi yang signifikan pada kategori cut kualitas tertinggi dibanding dengan warna lainnya.
Secara keseluruhan, visualisasi ini menunjukkan bahwa komposisi kualitas potongan (cut) pada setiap kategori warna (color) cenderung seragam dan tidak mengalami perbedaan proporsi yang mencolok antar warna. Kategori potongan tinggi seperti Ideal dan Premium mendominasi hampir seluruh kelompok warna, baik pada warna dengan kualitas rendah maupun tinggi. Hal ini mengindikasikan bahwa kualitas potongan dalam dataset relatif konsisten di berbagai tingkat warna. Dengan demikian, distribusi cut lebih mencerminkan pola yang stabil dan merata karena tidak terdapat pola peningkatan atau penurunan proporsi cut yang signifikan.
FREKUENSI KATEGORI CUT PADA SETIAP COLOR DIAMONDS
diamonds$cut <- factor(
diamonds$cut,
levels = c("Fair", "Good", "Very Good", "Premium", "Ideal"),
ordered = TRUE
)
cut_freq <- diamonds %>%
count(cut) %>%
arrange(cut)
cut_freq## # A tibble: 5 × 2
## cut n
## <ord> <int>
## 1 Fair 1610
## 2 Good 4906
## 3 Very Good 12082
## 4 Premium 13791
## 5 Ideal 21551
gradasi_cut <- colorRampPalette(
c("#FDE725", "#35B779", "#2C7FB8"))(5)
ggplot(diamonds, aes(x = color, fill = cut)) +
geom_bar() +
scale_fill_manual(
values = c(
"Fair" = gradasi_cut[1],
"Good" = gradasi_cut[2],
"Very Good" = gradasi_cut[3],
"Premium" = gradasi_cut[4],
"Ideal" = gradasi_cut[5]
),
name = "Cut"
) +
scale_y_continuous(
labels = scales::comma,
expand = expansion(mult = c(0, 0.05))
) +
labs(
title = "Frekuensi Kategori Cut pada Setiap Color Diamonds",
x = "Color",
y = "Frekuensi",
caption = "Urutan Kualitas Cut: Fair = terendah → Ideal = tertinggi\nUrutan Kualitas Color: J = terendah → D = tertinggi\nSumber: Dataset Diamonds"
) +
theme_minimal() +
theme(
plot.title = element_text(
hjust = 0.5,
face = "bold",
size = 14,
margin = margin(b = 20)
),
axis.text.x = element_text(angle = 30, hjust = 1),
legend.position = "right"
)Visualisasi ini menunjukkan hubungan antara kategori color (warna) dan cut (potongan) dalam dataset diamonds. Cut merepresentasikan kualitas potongan berlian, dengan kualitas terendah yaitu Fair dan kualitas tertinggi yaitu Ideal. Sedangkan untuk kategori color, warna J merupakan kualitas warna paling rendah dan warna D merupakan kualitas warna paling tinggi.
Berbeda dengan visualisasi proporsi (100%), grafik ini menampilkan frekuensi absolut (jumlah nyata) berlian pada setiap kombinasi color dan cut. Artinya, tinggi batang mencerminkan jumlah berlian sebenarnya dalam masing-masing kategori warna, bukan persentase komposisinya.
Jika ditinjau dari kategori cut, hampir seluruh warna didominasi oleh potongan Ideal, diikuti oleh Premium dan Very Good. Kategori cut terendah seperti Fair memiliki frekuensi paling kecil di semua warna. Pola ini menunjukkan bahwa sebagian besar berlian dalam dataset memiliki kualitas potongan yang relatif tinggi, terlepas dari tingkat warnanya.
Secara keseluruhan, visualisasi ini memperlihatkan bahwa dalam dataset diamonds, kualitas potongan tinggi (Ideal dan Premium) mendominasi hampir semua kategori warna. Selain itu, warna menengah seperti G, F, dan E memiliki jumlah observasi yang lebih besar dibandingkan warna ekstrem (J maupun D), sehingga distribusi total berlian lebih banyak terkonsentrasi pada warna menengah dengan kualitas potongan yang baik.