PT Sunshine Technica Indonesia memproduksi botol plastik dengan berat target 50 gram per botol. Toleransi yang diizinkan adalah ±1 gram (49–51 gram). Namun, jika berat produk cenderung melebihi batas toleransi secara sistematis (misalnya karena keausan mesin atau masalah bahan baku), perusahaan ingin mendeteksi penyimpangan ini lebih awal.
Mengidentifikasi pergeseran kecil dalam berat produk plastik sedini mungkin untuk mencegah penyimpangan signifikan yang dapat menyebabkan produk berada di luar spesifikasi. Selain itu, memastikan berat botol plastik tetap berada dalam batas toleransi yang ditetapkan (±1 gram dari target 50 gram) agar produk selalu memenuhi standar kualitas yang diharapkan oleh pelanggan.
# Data berat botol
berat_botol <- c(49.5, 50.2, 50.1, 50.5, 49.8, 50.4, 50.0, 49.9, 50.3, 50.6)
# Target berat
target <- 50
# Hitung deviasi dari target
deviasi <- berat_botol - target
# Hitung CU-SUM
cu_sum <- cumsum(deviasi)
# hasil
data.frame(Botol = 1:length(berat_botol), Berat = berat_botol, Deviasi = deviasi, CU_SUM = cu_sum)
## Botol Berat Deviasi CU_SUM
## 1 1 49.5 -0.5 -0.5
## 2 2 50.2 0.2 -0.3
## 3 3 50.1 0.1 -0.2
## 4 4 50.5 0.5 0.3
## 5 5 49.8 -0.2 0.1
## 6 6 50.4 0.4 0.5
## 7 7 50.0 0.0 0.5
## 8 8 49.9 -0.1 0.4
## 9 9 50.3 0.3 0.7
## 10 10 50.6 0.6 1.3
# Batas kendali
batas_atas <- 5
batas_bawah <- -5
# Plot CU-SUM
plot(cu_sum, type = "o", pch = 16, col = "blue", ylim = c(-6, 6),
xlab = "Botol", ylab = "CU-SUM", main = "Grafik CU-SUM")
abline(h = batas_atas, col = "red", lty = 2) # Batas atas
abline(h = batas_bawah, col = "red", lty = 2) # Batas bawah
abline(h = 0, col = "black", lty = 1) # Garis tengah
# Tambahkan label untuk setiap titik
text(1:length(cu_sum), cu_sum, labels = round(cu_sum, 2), pos = 3)