Industri coffee chain merupakan salah satu sektor bisnis yang berkembang pesat, terutama di wilayah urban yang memiliki tingkat konsumsi tinggi terhadap produk berbasis kopi. Dalam praktik bisnisnya, perusahaan sering membagi pasar ke dalam beberapa segmen wilayah atau market seperti Central, East, South, dan West. Masing-masing market ini memiliki karakteristik yang dapat memengaruhi performa keuangan, khususnya dari sisi profitabilitas.
Penelitian ini bertujuan untuk menganalisis apakah terdapat perbedaan profit yang signifikan antar segmen market dalam industri coffee chain. Data yang digunakan berasal dari Coffee Chain Dataset dengan total 4.248 observasi. Namun, untuk menjaga efisiensi analisis dan pemerataan antar kelompok, dilakukan pengambilan sampel acak sebanyak 120 data, yaitu masing-masing 30 observasi dari setiap market.
Analisis dilakukan menggunakan pendekatan statistik non-parametrik, yaitu Uji Kruskal-Wallis, yang digunakan ketika asumsi normalitas data tidak terpenuhi. Metode ini cocok untuk membandingkan lebih dari dua kelompok tanpa bergantung pada distribusi normal, sehingga tetap memberikan hasil yang valid dalam kondisi data yang tidak terdistribusi secara normal. Hasil dari penelitian ini diharapkan dapat memberikan gambaran tentang perbedaan kinerja profit antar wilayah yang dapat digunakan sebagai dasar evaluasi bisnis atau strategi operasional.
Uji Kruskal Wallis adalah uji nonparametrik berbasis peringkat yang tujuannya untuk menentukan adakah perbedaan signifikan secara statistik antara dua atau lebih kelompok variabel independen pada variabel dependen yang berskala data numerik (interval/rasio) dan skala ordinal.
Uji ini identik dengan uji One Way Anova pada pengujian parametris, sehingga uji ini merupakan alternatif bagi uji One Way Anova apabila tidak memenuhi asumsi normalitas data. Selain sebagai uji alternatif, kegunaan lain adalah sebagai perluasan dari uji Mann Whitney U Test, di mana kita ketahui bahwa uji tersebut hanya dapat digunakan pada 2 kelompok variabel dependen. Sedangkan Kruskall Wallis dapat digunakan pada lebih dari 2 kelompok misal 3, 4, atau lebih.
Manfaat Uji Kruskal
Mengetahui apakah perbedaan treatment atau perlakuan memberikan pengaruh yang berbeda pada objek yang sedang diteliti.
Asumsi Uji Kruskal-Wallis
Data berasal dari k sampel yang independen dan ditarik secara acak dari populasi
Data berskala ordinal atau numerik (interval/rasio)
Data tidak memenuhi asumsi normalitas.
Statistik Uji
\[T=\frac{12}{N(N+1)}\sum_{i=1}^{n}\frac{R_i^2}{n_i}-3(N+1)\]
dengan
\[R_i=\sum_{j=1}^{n_i}R(X_{ij})\]
Keterangan :
\(N\) = jumlah sampel
k = jumlah kelompok
\(R_i\) = jumlah peringkat/rank pada kelompok i
\(n_i\) = jumlah sampel pada kelompok i
Langkah-Langkah Uji Kruskal-Wallis
Hipotesis
\(H_0\) : Perbedaan perlakuan tidak memberikan pengaruh yang berbeda terhadap data yang dihasilkan
\(H_1\) : Perbedaan perlakuan memberikan pengaruh yang berbeda terhadap data yang dihasilkan
Taraf Signifikansi (\(\alpha\))
Daerah Kritis
\(H_0\) ditolak jika \(T_{hitung}\) > \(\chi^2_{k-1} (\alpha)\) , atau \(p-value<\alpha\)
Statistik Uji
Menggunakan kruskal.test() untuk mendapatkan nilai \(p-value\) dari data yang dimiliki.
Kesimpulan
Jika nilai \(p-value\) < 0.05, maka \(H_0\) ditolak yang berarti perbedaan perlakuan memberikan hasil data yang berbeda.
Uji Normalitas adalah sebuah uji yang dilakukan dengan tujuan untuk menilai sebaran data pada sebuah kelompok data atau variabel tersebut berdistribusi normal ataukah tidak. Uji Normalitas berguna untuk menentukan data yang telah dikumpulkan berdistribusi normal atau diambil dari populasi normal. Jika data berdistribusi normal dapat diasumsikan bahwa data diambil secara acak dari populasi normal.
Langkah-Langkah Uji Normalitas
Hipotesis
\(H_0\) : Data berdistribusi normal
\(H_1\) : Data tidak berdistribusi normal
Taraf Signifikansi (\(\alpha\))
Daerah Kritis
\(H_0\) ditolak jika \(p-value<\alpha\)
Statistik Uji
Menggunakan shapiro.test() untuk menguji normalitas pada
masing-masing variabel.
Kesimpulan
Jika nilai \(p-value\) < 0.05, maka \(H_0\) ditolak yang berarti data tidak berdistribusi normal.
Uji homogenitas adalah pengujian mengenai sama tidaknya variansi-variansi dari dua buah distribusi atau lebih. Uji homogenitas dilakukan untuk mengetahui apakah data dalam variabel X dan Y bersifat homogen atau tidak.
Langkah-Langkah Uji Homogenitas Varians
Hipotesis
\(H_0\) : Varians antar kelompok data sama (homogen)
\(H_1\) : Varians antar kelompok data tidak sama (heterogen)
Taraf Signifikansi (\(\alpha\))
Daerah Kritis
\(H_0\) ditolak jika \(p-value<\alpha\)
Statistik Uji
Menggunakan leveneTest() untuk menguji homogenitas
varians.
Kesimpulan
Jika nilai \(p-value\) < 0.05, maka \(H_0\) ditolak yang berarti varians antar kelompok data tidak sama.
Penelitian ini menggunakan pendekatan kuantitatif dengan analisis non-parametrik untuk menguji perbedaan profit berdasarkan segmen market dalam industri Coffee Chain. Adapun langkah-langkah metodologi yang dilakukan sebagai berikut:
Data yang digunakan berasal dari Coffee Chain Datasets yang memuat sebanyak 4.248 observasi transaksi. Karena banyaknya data dan untuk memastikan representasi yang seimbang dari setiap segmen market, dilakukan teknik pengambilan sampel acak terstruktur. Setiap market (Central, East, South, dan West) diambil sebanyak 30 observasi, sehingga total sampel yang dianalisis adalah 120 observasi.
Sebelum melakukan pengolahan data, terlebih dahulu dilakukan pemanggilan library yang digunakan dalam analisis:
# Library yang dibutuhkan
library(readxl)
library(dplyr)
library(tidyr)
library(knitr)
library(here)
library(ggplot2)
library(ggpubr)
library(gridExtra)
library(car)
library(kableExtra)
library(svglite)
# Library yang dibutuhkan
library(readxl)
library(dplyr)
library(tidyr)
library(knitr)
library(here)
library(ggplot2)
library(ggpubr)
library(gridExtra)
library(car)
library(kableExtra)
library(svglite)
Pengambilan sampel dilakukan dengan fungsi sample_n()
dari package dplyr dan dikontrol dengan
set.seed(1510) untuk menjamin replikasi hasil yang
konsisten. Berikut sintaks yang digunakan:
# Pengambilan sampel
# Import Data
CoffeChaindataset <- read_excel("C:/Users/asus/Documents/Semester 4/SIM/CM MANDIRI/3. CM1 - Coffee Chain Datasets.xlsx") # Membaca dataset CoffeeChain
# Ambil 30 sampel per Market
set.seed(1510) # Menetapkan seed untuk keperluan reprodusibilitas hasil sampling
sample_data1 <- CoffeChaindataset %>%
group_by(Market) %>% # Mengelompokkan data berdasarkan variabel 'Market'
sample_n(30) %>% # Mengambil 30 sampel secara acak untuk setiap grup Market
mutate(row = row_number()) # Menambah kolom 'row' untuk nomor urut di setiap grup
# Pengambilan sampel
# Import Data
CoffeChaindataset <- read_excel("C:/Users/asus/Documents/Semester 4/SIM/CM MANDIRI/3. CM1 - Coffee Chain Datasets.xlsx") # Membaca dataset CoffeeChain
# Ambil 30 sampel per Market
set.seed(1510) # Menetapkan seed untuk keperluan reprodusibilitas hasil sampling
sample_data1 <- CoffeChaindataset %>%
group_by(Market) %>% # Mengelompokkan data berdasarkan variabel 'Market'
sample_n(30) %>% # Mengambil 30 sampel secara acak untuk setiap grup Market
mutate(row = row_number()) # Menambah kolom 'row' untuk nomor urut di setiap grup
Setelah data sampel diperoleh, dilakukan transformasi dari format
panjang (long) menjadi format lebar (wide) untuk memudahkan visualisasi
dan eksplorasi data. Namun, untuk pengujian statistik, data dikembalikan
ke format panjang agar memenuhi syarat input fungsi pengujian tertentu
seperti leveneTest().
# Ubah ke format wide
market_data <- sample_data1 %>%
select(Market, Profit, row) %>%
pivot_wider(names_from = Market, values_from = Profit) %>% # Mengubah data ke format wide berdasarkan variabel 'Market' dan nilai 'Profit'
select(Central, East, South, West)
# Tampilkan tabel
# Membuat tabel HTML dengan keterangan
kable_input <- kable(market_data, format = "html")
# Menambahkan styling dan menyesuaikan ukuran serta posisi judul
data_styling <- kable_input %>%
kable_styling(bootstrap_options = c("striped", "hover"),
full_width = FALSE,
position = "center") %>%
column_spec(1:4, width = "100px") # Atur lebar kolom
# Tambahkan scroll
scroll_box(data_styling, height = "300px")
| Central | East | South | West |
|---|---|---|---|
| 94 | 129 | 30 | 17 |
| 332 | 40 | 16 | -40 |
| 34 | 179 | -18 | 120 |
| 177 | 3 | 47 | -8 |
| 52 | 50 | 19 | 77 |
| 125 | 44 | 40 | 47 |
| -9 | 516 | 50 | 71 |
| 63 | 125 | 28 | 36 |
| 27 | -11 | 121 | 129 |
| 11 | 7 | 248 | 115 |
| 53 | 28 | 47 | -76 |
| 18 | 135 | 253 | 24 |
| 29 | 108 | 25 | 26 |
| 105 | 76 | -16 | 30 |
| 230 | 410 | 30 | 52 |
| 16 | -5 | 161 | 32 |
| 137 | -7 | 52 | 40 |
| 92 | 100 | 47 | 47 |
| 26 | 62 | -4 | 105 |
| 0 | 57 | 65 | 54 |
| 129 | 52 | 22 | 245 |
| 93 | -292 | 59 | 241 |
| 33 | 84 | 1 | 44 |
| -9 | 0 | 120 | -17 |
| 49 | 247 | -10 | -4 |
| 32 | 18 | 31 | 24 |
| -4 | 332 | -10 | 129 |
| 25 | 128 | 43 | 71 |
| 27 | 35 | 107 | 26 |
| 220 | 53 | 28 | 40 |
Sebelum menentukan uji beda yang digunakan, dilakukan dua pengujian awal terhadap data:
Uji Normalitas Menggunakan shapiro.test(), karena
ukuran sampel tiap grup kecil (n = 30). Tujuannya untuk melihat apakah
data profit di masing-masing market berdistribusi normal.
Uji Homogenitas Menggunakan leveneTest(), untuk
menilai apakah varians profit antar kelompok market homogen
(sama).
Jika asumsi normlalitas tidak terpenuhi, maka uji parametris seperti ANOVA tidak dapat digunakan, sehingga dilanjutkan ke pendekatan non-parametrik.
3.4 Uji Perbedaan Profit antar Market
Untuk menguji perbedaan profit antar segmen market, digunakan Uji
Kruskal-Wallis (kruskal.test()), yaitu metode
non-parametrik alternatif dari ANOVA satu arah. Uji Kruskal-Wallis
dipilih karena tidak mensyaratkan distribusi normal dan dapat digunakan
pada data dengan variansi yang homogen maupun heterogen.
Sebagai pelengkap analisis, digunakan visualisasi sebagai berikut:
BoxPlot
Boxplot digunakan untuk menyajikan perbandingan penyebaran data profit di setiap Market secara visual. (4.1)
QQ Plot per Market
QQ Plot digunakan untuk membandingkan distribusi profit per market terhadap distribusi normal. (4.2.1)
Bar Chart
Bar Chart digunakan untuk menampilkan rata-rata profit tiap segmen market. (4.5)
Berdasarkan metode pengambilan sampel stratified random sampling
(set.seed()) yang dijelaskan pada bab sebelumnya, diperoleh
total 120 sampel yang terdiri dari 30 observasi per market (Central,
East, South, dan West). Data sampel diambil secara acak proporsional
dari masing-masing segmen market agar representatif terhadap populasi
awal.
summary(market_data)
## Central East South West
## Min. : -9.00 Min. :-292.0 Min. :-18.00 Min. :-76.00
## 1st Qu.: 25.25 1st Qu.: 20.5 1st Qu.: 19.75 1st Qu.: 24.50
## Median : 41.50 Median : 55.0 Median : 35.50 Median : 42.00
## Mean : 73.57 Mean : 90.1 Mean : 54.40 Mean : 56.57
## 3rd Qu.:102.25 3rd Qu.: 127.2 3rd Qu.: 57.25 3rd Qu.: 75.50
## Max. :332.00 Max. : 516.0 Max. :253.00 Max. :245.00
Output dari fungsi summary(market_data) di atas
menyajikan ringkasan statistik deskriptif dari variabel Profit untuk
masing-masing segmen market. Statistik yang ditampilkan meliputi nilai
minimum (Min.), kuartil pertama (1st Qu.), median, rata-rata (Mean),
kuartil ketiga (3rd Qu.), dan nilai maksimum (Max.). Berdasarkan
ringkasan ini, terlihat bahwa masing-masing wilayah pasar memiliki
karakteristik distribusi profit yang berbeda.
Visualisasi distribusi penjualan per market ditunjukkan dengan boxplot dibawah ini.
ggplot(sample_data1, aes(x = Market, y = Profit, fill = Market)) +
geom_boxplot() +
labs(title = "Boxplot Profit per Market",
x = "Market",
y = "Profit") +
theme_minimal()+
theme(
plot.title = element_text(hjust = 0.5) # Ini untuk judul agar di tengah
)
Grafik ini membantu mengidentifikasi perbedaan sebaran nilai profit antar segmen market secara lebih intuitif. Dari visualisasi ini, kita dapat melihat indikasi adanya perbedaan median profit, tingkat sebaran (interkuartil), serta adanya pencilan (outlier) pada beberapa market. Hal ini menjadi landasan awal yang penting sebelum dilakukan pengujian statistik lebih lanjut untuk menentukan apakah perbedaan yang tampak secara visual ini signifikan secara statistik.
4.2.1 Uji Normalitas
Uji normalitas dilakukan dengan menggunakan Uji Shapiro-Wilk, dengan mempertimbangkan bahwa masing-masing market memiliki ukuran sampel kecil (n = 30).
# Uji Normalitas per Market
normality_results <- data.frame(
Market = c("Central", "East", "South", "West"),
Shapiro_p_value = round(sapply(market_data, function(x) shapiro.test(x)$p.value), 8)
)
print(normality_results)
## Market Shapiro_p_value
## Central Central 0.00030789
## East East 0.00048520
## South South 0.00004990
## West West 0.00911197
Karena nilai \(p-value\) < 0.05, maka dapat disimpulkan \(H_0\) ditolak yang berarti bahwa pada semua segmen market (Central, East, South, dan West) data tidak berdistribusi normal, sehingga asumsi normalitas tidak terpenuhi.
dengan visualisasi QQ Plot Per Market sebagai berikut.
# QQ Plot Market Central
p1 <- ggqqplot(market_data$Central, color = "pink") +
ggtitle("QQ Plot Central") +
theme(plot.title = element_text(hjust = 0.5))
# QQ Plot Market East
p2 <- ggqqplot(market_data$East, color = "lavender") +
ggtitle("QQ Plot East") +
theme(plot.title = element_text(hjust = 0.5))
# QQ Plot Market South
p3 <- ggqqplot(market_data$South, color = "orange") +
ggtitle("QQ Plot South") +
theme(plot.title = element_text(hjust = 0.5))
# QQ Plot Market West
p4 <- ggqqplot(market_data$West, color = "lightblue") +
ggtitle("QQ Plot West") +
theme(plot.title = element_text(hjust = 0.5))
# Menampilkan semua plot dalam satu tampilan dengan grid.arrange
grid.arrange(p1, p2, p3, p4, ncol = 2)
4.2.2 Uji Homogenitas Varians
Uji homogenitas varians dilakukan menggunakan Levene Test untuk melihat kesamaan varians antar kelompok:
# UJI HOMOGENITAS
# Melakukan Uji Levene
leveneTest(Profit ~ Market, data = sample_data1)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 3 2.2186 0.08968 .
## 116
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Karena \(p-value\) > 0.05, maka dapat disimpulkan bahwa \(H_0\) diterima yang berarti bahwa asumsi homogenitas varians terpenuhi, variansi antar segmen market (Central, East, South, dan West) adalah sama.
Berdasarkan uji normalitas, data profit pada masing-masing market tidak berdistribusi normal. Meskipun hasil uji homogenitas menunjukkan bahwa variansi antar kelompok homogen, pendekatan non-parametrik tetap digunakan, yaitu Uji Kruskal-Wallis untuk mengetahui apakah terdapat perbedaan profit yang signifikan antar segmen market.
Uji Kruskal-Wallis dipilih karena tidak mensyaratkan distribusi normal dan dapat digunakan pada data dengan variansi yang homogen maupun heterogen.
kruskal.test(market_data[, c("Central","East" ,"South", "West")], alternative = "two.sided")
##
## Kruskal-Wallis rank sum test
##
## data: market_data[, c("Central", "East", "South", "West")]
## Kruskal-Wallis chi-squared = 2.57, df = 3, p-value = 0.4628
Karena nilai \(p-value\) > 0.05, maka dapat disimpulkan bahwa \(H_0\) tidak ditolak yang berarti bahwa tidak terdapat perbedaan signifikan profit antar segmen market (Central, East, South, dan West) atau dengan kata lain perbedaan segmen market memberikan pengaruh yang sama terhadap profit.
Bar Chart
Bar chart berikut menunjukkan rata-rata penjualan tiap market:
# Menghitung rata-rata profit per market
avg_profit <- CoffeChaindataset %>%
group_by(Market) %>%
summarise(mean_profit = mean(Profit, na.rm = TRUE))
# Bar Chart
ggplot(avg_profit, aes(x = Market, y = mean_profit, fill = Market)) +
geom_col() +
scale_fill_manual(values = c(
"East" = "lavender",
"West" = "lightblue",
"South" = "yellow",
"Central" = "pink"
)) +
labs(
title = "Rata-Rata Profit per Market",
x = "Market",
y = "Rata-rata Profit"
) +
theme_minimal()+
theme(
plot.title = element_text(hjust = 0.5) # Ini untuk judul agar di tengah
)
Tampak bahwa Market Central memiliki rata-rata profit (keuntungan) tertinggi, diikuti oleh East, kemudian West dan South. Perbedaan visual yang ditampilkan pada grafik bar chart tidak cukup kuat secara statistik untuk disimpulkan sebagai perbedaan nyata. Ini mungkin disebabkan oleh variabilitas data yang tinggi dalam masing-masing kelompok.
Penelitian ini menganalisis perbedaan profit berdasarkan segmen market pada industri Coffee Chain, menggunakan data sampel sebanyak 120 observasi yang diambil secara acak terstruktur dari total 4.248 data asli. Masing-masing segmen market yaitu Central, East, South, dan West diwakili oleh 30 observasi.
Langkah awal dilakukan uji normalitas menggunakan Shapiro-Wilk yang menunjukkan bahwa seluruh data tidak berdistribusi normal pada masing-masing segmen market. Selain itu, asumsi homogenitas varians antar kelompok juga terpenuhi. Oleh karena itu, digunakan uji non-parametrik Kruskal-Wallis, yang tidak mensyaratkan normalitas sebagai asumsi dasar.
Hasil uji Kruskal-Wallis menghasilkan \(p-value\) > 0.05 sehingga dapat disimpulkan bahwa tidak terdapat perbedaan yang signifikan secara statistik terhadap profit di antara keempat segmen market. Dengan demikian, \(H_0\) diterima, yang berarti bahwa tidak terdapat perbedaan signifikan profit antar segmen market (Central, East, South, dan West) atau dengan kata lain perbedaan segmen market memberikan pengaruh yang sama terhadap profit.
Meskipun secara visual terdapat perbedaan rata-rata profit antar segmen market, perbedaan tersebut tidak cukup signifikan menurut uji statistik yang digunakan (Kruskal-Wallis). Hal ini menyiratkan bahwa segmen market bukanlah faktor yang dominan dalam memengaruhi profit pada dataset ini.
Dimas, Y. (2021, November 17). Kruskal Wallis. Retrieved from id.scribd.com: https://id.scribd.com/document/540208742/Kruskal-Wallis-1
Hidayat, A. (2013). uji-homogenitas. Retrieved from www.statistikian.com: https://www.statistikian.com/2013/01/uji-homogenitas.html
Hidayat, A. (2013). uji-normalitas. Retrieved from www.statistikian.com: https://www.statistikian.com/2013/01/uji-normalitas.html
Hidayat, A. (2014). kruskall-wallis-h. Retrieved from www.statistikian.com: https://www.statistikian.com/2014/07/kruskall-wallis-h.html