Σ
SDCalc
MenengahAplikasi·14 min

Diagram Kendali dan Pengendalian Proses

Kuasai pengendalian proses statistik (SPC) dengan diagram kendali. Pelajari cara menetapkan batas kendali menggunakan simpangan baku, menerapkan aturan Western Electric, dan mendeteksi pergeseran proses.

Pengendalian Proses Statistik: Fondasi Mutu

Diagram kendali adalah landasan pengendalian proses statistik (SPC), menggunakan simpangan baku untuk memantau stabilitas proses dari waktu ke waktu. Dikembangkan oleh Walter Shewhart di Bell Labs pada tahun 1920-an, alat-alat kuat ini membedakan antara variasi penyebab umum (melekat pada proses) dan variasi penyebab khusus (menunjukkan masalah yang memerlukan perhatian).

Keunggulan diagram kendali terletak pada kesederhanaannya: plot pengukuran Anda dari waktu ke waktu, tambahkan batas kendali berdasarkan simpangan baku, dan perhatikan titik atau pola yang menandakan masalah. Pemantauan real-time ini mencegah cacat sebelum terjadi, alih-alih menangkapnya melalui inspeksi setelahnya.

Manufaktur modern, layanan kesehatan, dan industri jasa mengandalkan diagram kendali untuk menjaga mutu. Dari fabrikasi semikonduktor yang memerlukan presisi nanometer hingga tingkat infeksi rumah sakit, SPC menyediakan kerangka kerja universal untuk peningkatan proses.

Penyebab Umum vs Khusus

Variasi penyebab umum adalah variabilitas alami yang diharapkan dalam proses apa pun. Variasi penyebab khusus menunjukkan sesuatu berubah—operator baru, alat aus, atau material terkontaminasi. Diagram kendali membantu Anda membedakan keduanya.

Jenis Diagram Kendali

Jenis data yang berbeda memerlukan diagram kendali yang berbeda. Memilih diagram yang tepat memastikan pemantauan proses yang akurat:

Jenis DiagramTipe DataKasus Penggunaan
X̄-R (X-bar dan Rentang)Kontinu, subkelompok n≤10Pengukuran manufaktur
X̄-S (X-bar dan Simp. Baku)Kontinu, subkelompok n>10Pengambilan sampel batch besar
I-MR (Individual-Moving Range)Pengukuran individualPengujian mahal/destruktif
p-chartProporsi cacatInspeksi lolos/gagal
c-chartJumlah cacatCacat per unit

Untuk data kontinu (pengukuran seperti panjang, berat, suhu), diagram X̄-R paling umum. Anda mengumpulkan subkelompok sampel, memplot rata-rata (X̄) pada satu diagram dan rentang (R) pada diagram lain. Bersama-sama, mereka memantau baik pemusatan maupun variabilitas proses.

Menghitung Batas Kendali

Batas kendali menentukan batas variasi yang diharapkan. Mereka ditetapkan pada ±3 simpangan baku dari garis pusat, menangkap 99,73% titik ketika proses terkendali:

Batas Kendali

UCL = x̄ + 3σ, CL = x̄, LCL = x̄ - 3σ

Untuk diagram X̄ menggunakan metode rentang, rumusnya menjadi:

Batas Diagram X-bar

UCL = X̿ + A₂R̄, LCL = X̿ - A₂R̄

Di mana X̿ adalah grand mean, R̄ adalah rata-rata rentang, dan A₂ adalah konstanta tergantung ukuran subkelompok (misal, A₂ = 0,577 untuk n=5).

Batas Kendali ≠ Batas Spesifikasi

Batas kendali dihitung dari data Anda dan mencerminkan apa yang sebenarnya dilakukan proses. Batas spesifikasi ditetapkan oleh pelanggan/insinyur dan mencerminkan apa yang seharusnya dilakukan proses. Proses bisa terkendali tetapi tetap menghasilkan bagian di luar spesifikasi.

Konstanta Batas Kendali

nA₂D₃D₄
21,88003,267
31,02302,574
40,72902,282
50,57702,114

Aturan Western Electric untuk Mendeteksi Masalah

Satu titik di luar batas kendali bukan satu-satunya sinyal masalah. Aturan Western Electric mendeteksi pola yang lebih halus dengan membagi diagram menjadi zona berdasarkan simpangan baku:

  • Zona C:Dalam 1σ dari garis pusat
  • Zona B:Antara 1σ dan 2σ dari pusat
  • Zona A:Antara 2σ dan 3σ dari pusat

Empat Aturan Utama

1

Aturan 1: Titik Tunggal

Satu titik melampaui 3σ (Zona A atau lebih). Ini hanya memiliki peluang 0,27% terjadi secara alami.
2

Aturan 2: Deretan 9

9 titik berturut-turut di sisi yang sama dari garis pusat. Menunjukkan pergeseran rata-rata proses.
3

Aturan 3: Tren 6

6 titik berturut-turut naik atau turun. Menunjukkan pergeseran proses atau keausan alat.
4

Aturan 4: Pola Zona

2 dari 3 titik berturut-turut di Zona A atau lebih (sisi yang sama). Peringatan dini pergeseran.

Mengenali Pola Umum

Praktisi berpengalaman belajar mengenali pola visual yang menunjukkan masalah spesifik:

PolaTampilanKemungkinan Penyebab
PergeseranPerubahan level mendadakOperator baru, batch material, penyesuaian peralatan
TrenPergeseran bertahap naik/turunKeausan alat, pergeseran suhu, kelelahan
SiklusPola naik/turun berulangPergantian shift, siklus lingkungan, jadwal rotasi
PengelompokanTitik berkumpul dekat pusatBatas tidak tepat, data dibulatkan/diedit
StratifikasiTitik menghindari pusatAliran campuran, beberapa mesin

Implementasi Python

Buat diagram kendali X̄-R dengan pemeriksaan aturan otomatis:

python
import numpy as np
import matplotlib.pyplot as plt

def create_xbar_chart(data, subgroup_size=5):
    """Create X-bar control chart with control limits."""
    # Reshape data into subgroups
    n_subgroups = len(data) // subgroup_size
    subgroups = data[:n_subgroups * subgroup_size].reshape(n_subgroups, subgroup_size)

    # Calculate subgroup means and ranges
    xbar = subgroups.mean(axis=1)
    R = subgroups.max(axis=1) - subgroups.min(axis=1)

    # Control chart constants (for n=5)
    A2 = 0.577
    D3, D4 = 0, 2.114

    # Calculate control limits
    xbar_bar = xbar.mean()
    R_bar = R.mean()

    UCL = xbar_bar + A2 * R_bar
    LCL = xbar_bar - A2 * R_bar

    # Check for out-of-control points
    ooc = (xbar > UCL) | (xbar < LCL)

    # Plot
    plt.figure(figsize=(12, 5))
    plt.plot(xbar, 'b-o', markersize=4)
    plt.axhline(xbar_bar, color='g', linestyle='-', label='CL')
    plt.axhline(UCL, color='r', linestyle='--', label='UCL')
    plt.axhline(LCL, color='r', linestyle='--', label='LCL')
    plt.scatter(np.where(ooc)[0], xbar[ooc], color='red', s=100, zorder=5)
    plt.xlabel('Subgroup')
    plt.ylabel('X-bar')
    plt.title('X-bar Control Chart')
    plt.legend()
    plt.show()

    return {'xbar': xbar, 'UCL': UCL, 'LCL': LCL, 'ooc': ooc}

# Example: Monitor a manufacturing process
np.random.seed(42)
# Simulate 100 measurements (20 subgroups of 5)
measurements = np.random.normal(100, 2, 100)
# Add a shift at subgroup 15
measurements[75:] += 3

result = create_xbar_chart(measurements)