I. Pendahuluan

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.

II. Landasan Teori

1. Uji Kruskal-Wallis

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

  1. Data berasal dari k sampel yang independen dan ditarik secara acak dari populasi

  2. Data berskala ordinal atau numerik (interval/rasio)

  3. 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

  1. 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

  2. Taraf Signifikansi (\(\alpha\))

  3. Daerah Kritis

    \(H_0\) ditolak jika \(T_{hitung}\) > \(\chi^2_{k-1} (\alpha)\) , atau \(p-value<\alpha\)

  4. Statistik Uji

    Menggunakan kruskal.test() untuk mendapatkan nilai \(p-value\) dari data yang dimiliki.

  5. Kesimpulan

    Jika nilai \(p-value\) < 0.05, maka \(H_0\) ditolak yang berarti perbedaan perlakuan memberikan hasil data yang berbeda.

2. Uji Normalitas

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

  1. Hipotesis

    \(H_0\) : Data berdistribusi normal

    \(H_1\) : Data tidak berdistribusi normal

  2. Taraf Signifikansi (\(\alpha\))

  3. Daerah Kritis

    \(H_0\) ditolak jika \(p-value<\alpha\)

  4. Statistik Uji

    Menggunakan shapiro.test() untuk menguji normalitas pada masing-masing variabel.

  5. Kesimpulan

    Jika nilai \(p-value\) < 0.05, maka \(H_0\) ditolak yang berarti data tidak berdistribusi normal.

3. Uji Homogenitas Varians

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

  1. Hipotesis

    \(H_0\) : Varians antar kelompok data sama (homogen)

    \(H_1\) : Varians antar kelompok data tidak sama (heterogen)

  2. Taraf Signifikansi (\(\alpha\))

  3. Daerah Kritis

    \(H_0\) ditolak jika \(p-value<\alpha\)

  4. Statistik Uji

    Menggunakan leveneTest() untuk menguji homogenitas varians.

  5. Kesimpulan

    Jika nilai \(p-value\) < 0.05, maka \(H_0\) ditolak yang berarti varians antar kelompok data tidak sama.

III. Metodologi Penelitian

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:

3.1 Sumber Data dan Pengambilan Sampel

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

3.2 Transformasi Data

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

3.3 Uji Asumsi Klasik

Sebelum menentukan uji beda yang digunakan, dilakukan dua pengujian awal terhadap data:

  1. 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.

  2. 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.

3.5 Visualisasi Pendukung

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)

IV. Hasil dan Pembahasan

4.1 Deskripsi Data

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 Uji Asumsi Klasik

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.

4.3 Uji Kruskal-Wallis

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.

4.5 Visualisasi Data

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.

V. Kesimpulan

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.

Referensi

  1. Dimas, Y. (2021, November 17). Kruskal Wallis. Retrieved from id.scribd.com: https://id.scribd.com/document/540208742/Kruskal-Wallis-1

  2. Hidayat, A. (2013). uji-homogenitas. Retrieved from www.statistikian.com: https://www.statistikian.com/2013/01/uji-homogenitas.html

  3. Hidayat, A. (2013). uji-normalitas. Retrieved from www.statistikian.com: https://www.statistikian.com/2013/01/uji-normalitas.html

  4. Hidayat, A. (2014). kruskall-wallis-h. Retrieved from www.statistikian.com: https://www.statistikian.com/2014/07/kruskall-wallis-h.html