Nama anggota kelompok 4:
1. J.H. Isabel D. Gultom (F1F023014)
2. A’inun Fauziyah (F1F023017)
3. Arum Pujiastuti (F1F023021)
4. Reva Amelia (F1F023022)

Diagram Kendali (Data Atribut Defective)

Berikut adalah projeck komstat kelompok 4, pada projeck kali ini kami membuat sebuah fungsi untuk memunculkan diagram kendali. Dimana diagram kendali sendiri merupakan sebuah diagram untuk memetakan kualitas (atribut ataupun variabel) dari waktu ke waktu. Diagram kendali yang ingin kami tampilkan adalah diagram kendali untuk data atribut (diskrit). Disini kami memilih diagram kendali atribut untuk defective yang artinya diagram ini mengacu pada seluruh unit yang ada. Yang mana jenis diagram kendalinya adalah diagram P dan diagram NP Disini kami menggunakan sebuah data dari Pia Bread untuk mencoba fungsi yang kami buat, berikut fungsi yang kami sajikan:

Memuat Library dan Data

# Memuat library yang diperlukan
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
library(knitr)
## Warning: package 'knitr' was built under R version 4.3.3
# Baca data dari file Excel
DATAKOMSTAT <- read_excel("D:/SEMESTER 3/Komputasi Statistika/DATAKOMSTAT.xlsx")

kable(DATAKOMSTAT) 
Hari ke jumlah produksi jumlah produk cacat
1 1000 61
2 1000 65
3 1000 61
4 1000 59
5 1000 52
6 1000 59
7 1000 60
8 1000 54
9 1000 58
10 1000 66
11 1000 65
12 1000 58
13 1000 58
14 1000 61
15 1000 58
16 1000 69
17 1000 71
18 1000 64
19 1000 66
20 1000 56
21 1000 58
22 1000 65
23 1000 60
24 1000 59
25 1000 66
26 1000 88
27 1000 70
28 1000 52
29 1000 63
30 1000 49

Ini merupakan fungsi untuk membaca file Excel dan menampilkan data dalam jendela Rstudio

Diagram Kendali P

Diagram kendali P adalah diagram kontrol dari bagian yang tidak memenuhi syarat, menunjukkan proporsi cacat (cacat keseluruhan), Berikut adalah fungsinya

#Diagram kendali p
Diagram_kendali_P <- function(cacat, sampel, judul = "Diagram Kendali p") {
  # Fungsi untuk periksa apakah panjang cacat dan sampel sama pada 
  if (length(cacat) != length(sampel)) {
    stop("jumlah data produk cacat dan sampel harus sama.")
  }
  
  # Hitung proporsi cacat untuk setiap sampel
  proporsi <- cacat / sampel
  
  # Hitung rata-rata proporsi cacat (p-bar)
  p_bar <- mean(proporsi)
  
  # Hitung batas pengendalian atas (UCL) dan bawah (LCL) Menggunakan ukuran sampel rata-rata
  n_bar <- mean(sampel)  # Menggunakan variabel sampel di sini
  UCL <- p_bar + 3 * sqrt(p_bar * (1 - p_bar) / n_bar)
  LCL <- p_bar - 3 * sqrt(p_bar * (1 - p_bar) / n_bar)
  
  # LCL tidak boleh kurang dari 0
  LCL <- max(LCL, 0)
  
  # Plot grafik diagram kendali p
  plot(proporsi, type = "o", pch = 16, col = "blue", ylim = c(0, max(UCL, max(proporsi))),
       xlab = "Sampel", ylab = "Proporsi Cacat", main = judul)
  abline(h = p_bar, col = "grey", lwd = 2, lty = 2)  # Garis p-bar
  abline(h = UCL, col = "pink", lwd = 2, lty = 2)      # Garis UCL
  abline(h = LCL, col = "green", lwd = 2, lty = 2)      # Garis LCL
  
  # Tambahkan keterangan
  legend("bottomright", legend = c("Proporsi Cacat", "Rata-rata (p-bar)", "UCL", "LCL"),
         col = c("blue", "grey", "pink", "green"), lty = c(1, 2, 2, 2), lwd = 2, pch = c(16, NA, NA, NA),cex=0.6)
}

# Panggil fungsi untuk membuat peta kendali p
Diagram_kendali_P(DATAKOMSTAT$`jumlah produk cacat`, DATAKOMSTAT$`jumlah produksi`, judul = "Diagram Kendali Proporsi Cacat")

Diagram Kendali NP

Diagram kendali NP merupakan diagram kontrol yang menunjukkan jumlah cacat dalam suatu populasi

# Fungsi untuk membuat diagram np
Diagram_np <- function(cacat, ukuran, judul = "Diagram np") {
  # Periksa apakah panjang cacat dan ukuran sama
  if (length(cacat) != length(ukuran)) {
    stop("Jumlah produk cacat dan ukuran sampel harus sama.")
  }
  
  # Hitung batas pengendalian
  n <- mean(ukuran)  # ukuran sampel rata-rata
  p_bar <- sum(cacat) / sum(ukuran)  # rata-rata proporsi cacat
  UCL <- n * p_bar + 3 * sqrt(n * p_bar * (1 - p_bar))  # Batas atas
  LCL <- max(0, n * p_bar - 3 * sqrt(n * p_bar * (1 - p_bar)))  # Batas bawah
  
  # Plot diagram np
  plot(cacat, type = "o", pch = 16, col = "blue", ylim = c(0, max(UCL, max(cacat))),
       xlab = "Sampel", ylab = "Jumlah Cacat", main = judul)
  abline(h = UCL, col = "red", lwd = 2, lty = 2)  # Garis UCL
  abline(h = LCL, col = "green", lwd = 2, lty = 2)  # Garis LCL
  abline(h = n * p_bar, col = "grey", lwd = 2, lty = 2)  # Garis rata-rata
  
  # Tambahkan keterangan
  legend("bottomright", legend = c("Jumlah Cacat", "UCL", "LCL", "Rata-rata"),
         col = c("blue", "red", "green", "grey"), lty = c(1, 2, 2, 2), lwd = 2, pch = c(16, NA, NA, NA), cex = 0.6)
}

# Panggil fungsi untuk membuat diagram np
Diagram_np(DATAKOMSTAT$`jumlah produk cacat`, DATAKOMSTAT$`jumlah produksi`, judul = "Diagram np Jumlah Cacat")

Sekian projeck kami mengenai fungsi diagram kendali Data atribut defective