Fuzzy Tsukamoto

Prediksi Kinerja Staff berbasis Time Series & Quartile Adaptif

🔮

Fuzzy
Tsukamoto

Quartile-Based Time Series

Kelompok 3

  • Profesor Shafa
  • Kiyotaka Bima
  • Abdi Pham

Apa itu Fuzzy Tsukamoto?

Fuzzy Tsukamoto adalah metode inferensi fuzzy yang menggunakan monotone membership functions pada setiap rule-nya. Berbeda dengan Mamdani, setiap rule pada Tsukamoto langsung menghasilkan nilai crisp (z), lalu seluruh output dirata-rata secara terbobot.

Keunggulan Metode Ini

  • Batas fuzzy (RENDAH/SEDANG/TINGGI) bersifat adaptif — dihitung otomatis dari data historis tiap staff via Q1, Q2, Q3
  • Tidak perlu threshold manual — kuartil menjadi batas semesta pembicaraan yang adaptif
  • Mempertimbangkan tren data untuk prediksi yang lebih akurat dibanding sekadar rata-rata
  • Weighted Average defuzzifikasi menghasilkan nilai numerik yang halus dan interpretatif
  • Cocok untuk prediksi kinerja staff berbasis Time Series dengan data multi-periode

Alur Proses

① Data Historis ② Hitung Kuartil ③ Fuzzifikasi ④ Defuzzifikasi ⑤ Prediksi

Variabel Input

Sistem membutuhkan minimal 4 periode data historis per staff. Setiap periode memiliki 4 variabel:

Variabel Tipe Keterangan
Jumlah Tugas Benefit Semakin banyak tugas selesai = semakin baik
Rata-rata Waktu Cost Semakin cepat (nilai kecil) = semakin baik
Tugas Prioritas Benefit Semakin banyak tugas prioritas = lebih baik
Aktivitas Benefit Semakin aktif = semakin baik

Contoh Data Historis (Staff A)

PeriodeTugasWaktuPriorAktiv
P1405.0108
P2504.5129
P3554.01410
P4653.81511

Langkah 1 — Hitung Kuartil

Kuartil dihitung dari semua data historis staff digabung (Global Quartile). Ini membuat batas fuzzy adaptif terhadap kondisi nyata.

Rumus Kuartil (Interpolasi Linear):

Posisi Q1 = (n + 1) × 1/4
Posisi Q2 = (n + 1) × 2/4 ← Median
Posisi Q3 = (n + 1) × 3/4

Bila posisi desimal: Q = Xn + d × (Xn+1 − Xn)

Contoh — Jumlah Tugas (n = 10)

Data: [40, 50, 50, 55, 65, 70, 75, 80, 85, 90]
Pos Q1 = 11/4 = 2.75 → Q1 = 50 + 0.75×(50−50) = 50
Pos Q2 = 11/2 = 5.5 → Q2 = 65 + 0.5×(70−65) = 67.5
Pos Q3 = 33/4 = 8.25 → Q3 = 80 + 0.25×(85−80) = 81.25

💡 Kenapa kuartil? Staff A punya range 40–95, Staff B punya 30–58. Dengan kuartil, "TINGGI" untuk Staff A ≥ 81.25 sedang untuk Staff B ≥ 50. Sistem adil karena disesuaikan kemampuan masing-masing.

Langkah 2 — Fungsi Keanggotaan

Setiap nilai diubah menjadi derajat keanggotaan (μ) dalam 3 kategori menggunakan fungsi segitiga (triangular):

μ RENDAH (x)

Jika x ≤ Q1 → μ = 1.0
Jika Q1 < x < Q2 → μ = (Q2 − x) / (Q2 − Q1)
Jika x ≥ Q2 → μ = 0.0

μ SEDANG (x)

Jika x ≤ Q1 atau x ≥ Q3 → μ = 0.0
Jika Q1 < x ≤ Q2 → μ = (x − Q1) / (Q2 − Q1)
Jika Q2 < x < Q3 → μ = (Q3 − x) / (Q3 − Q2)

μ TINGGI (x)

Jika x ≤ Q2 → μ = 0.0
Jika Q2 < x < Q3 → μ = (x − Q2) / (Q3 − Q2)
Jika x ≥ Q3 → μ = 1.0

Langkah 3 — Hitung Tren

Tren menggambarkan arah perubahan data dari 3 periode terakhir dan digunakan sebagai dasar prediksi nilai berikutnya.

Ambil 3 data terakhir: [X₋₂, X₋₁, X₀]

trend₁ = X₋₁ − X₋₂
trend₂ = X₀ − X₋₁
Trend = (trend₁ + trend₂) / 2

Contoh (Staff A, 3 periode terakhir = [80, 85, 90])

trend₁ = 85 − 80 = 5
trend₂ = 90 − 85 = 5
Trend = (5 + 5) / 2 = 5.0

Tren positif berarti rata-rata naik 5 tugas per periode, sehingga prediksi diberi momentum kenaikan.

💡 Tren dihitung per variabel, sehingga masing-masing dari Jumlah Tugas, Rata Waktu, Tugas Prioritas, dan Aktivitas mendapatkan nilai tren sendiri.

Langkah 4 — Defuzzifikasi

Mengubah nilai fuzzy kembali menjadi angka nyata (crisp) menggunakan 3 rule prediksi berbasis level keanggotaan:

3 Rule Prediksi

z₁ (Rule RENDAH) = NilaiTerakhir + (Trend × 0.7)
z₂ (Rule SEDANG) = NilaiTerakhir + (Trend × 1.0)
z₃ (Rule TINGGI) = NilaiTerakhir + (Trend × 1.3)

⚡ 0.7 = konservatif, 1.0 = normal, 1.3 = optimis. Disesuaikan dengan level keanggotaan dominan staff.

Weighted Average (Formula Akhir)

z* = (μR×z₁ + μS×z₂ + μT×z₃) / (μR + μS + μT)

Normalisasi Membership

Jika total μ sangat kecil (< 0.01), fallback berdasarkan posisi nilai dalam range Q1–Q3:

  • Posisi kurang dari 33% → μR=0.6, μS=0.3, μT=0.1
  • Posisi 33–67% → μR=0.2, μS=0.6, μT=0.2
  • Posisi lebih dari 67% → μR=0.1, μS=0.3, μT=0.6

Langkah 5 — Klasifikasi Output

Nilai prediksi z* dibandingkan dengan kuartil global untuk menentukan kategori performa akhir:

🔴 RENDAH

z* ≤ Q1 + 30% × (Q2 − Q1)

Performa staff di bawah rata-rata

🟡 SEDANG

Di antara batas RENDAH dan TINGGI

Performa staff rata-rata

🟢 TINGGI

z* ≥ Q3 − 30% × (Q3 − Q2)

Performa staff di atas rata-rata

81 Aturan Fuzzy (3⁴ Kombinasi)

4 variabel × 3 level = 81 kombinasi aturan IF-THEN. Setiap aturan memetakan kombinasi status ke output performa:

IF Tugas=X AND Waktu=X AND Prior=X AND Aktiv=X
THEN Performa = RENDAH / SEDANG / TINGGI

Studi Kasus — Data Staff

Berikut data historis 2 staff (P1–P9) yang digunakan sebagai input sistem:

Staff A

PTugasWaktuPriorAktiv
P1405.0108
P2504.5129
P3554.01410
P4653.81511
P9903.22016

Staff B

PTugasWaktuPriorAktiv
P1306.087
P2355.598
P3375.2109
P4395.01110
P9554.51615

* Baris disorot = periode terakhir yang dihitung

Studi Kasus — Kuartil Global

Semua data 2 staff (18 periode total) digabung untuk menghitung kuartil global:

VariabelQ1Q2Q3Range
Jumlah Tugas3752.572.530 – 90
Rata Waktu3.74.755.43.2 – 6.0
Tugas Prioritas1013168 – 20
Aktivitas8.510.5137 – 16

Fuzzifikasi Staff A (P9) — Jumlah Tugas = 90

x = 90, Q1 = 37, Q2 = 52.5, Q3 = 72.5
μRendah : x ≥ Q2 → μ = 0.0000
μSedang : x ≥ Q3 → μ = 0.0000
μTinggi : x ≥ Q3 → μ = 1.0000

→ Staff A sangat TINGGI dalam Jumlah Tugas ✓

Studi Kasus — Defuzzifikasi

Staff A (P9) — Jumlah Tugas = 90, Trend = 5.0

μR = 0.0, μS = 0.0, μT = 1.0
z₁ = 90 + (5 × 0.7) = 93.50
z₂ = 90 + (5 × 1.0) = 95.00
z₃ = 90 + (5 × 1.3) = 96.50
z* = (0×93.5 + 0×95 + 1×96.5) / (0+0+1)
z* = 96.50 → Status: TINGGI ✓

Staff B (P9) — Jumlah Tugas = 55, Trend = 3.0

μR = 0.0, μS = 0.0, μT = 1.0 (55 ≥ Q3=52.5)
z₁ = 55 + (3×0.7) = 57.10
z₂ = 55 + (3×1.0) = 58.00
z₃ = 55 + (3×1.3) = 58.90
z* = 58.90 → Status: TINGGI ✓

Studi Kasus — 81 Aturan & Akurasi

Penentuan Skor Rule

Setiap variabel diberi skor: TINGGI=2, SEDANG=1, RENDAH=0. Waktu bersifat Cost sehingga RENDAH=2 (cepat = bagus).

Skor = (sTugas) + (sWaktu*) + (sPrior) + (sAktiv)
Skor ≥ 6 → TINGGI | ≥ 3 → SEDANG | < 3 → RENDAH

Contoh 3 Rule dari 81

#TugasWaktuPriorAktivOutput
R1RRRR🔴 RENDAH
R41SSSS🟡 SEDANG
R81TRTT🟢 TINGGI

Evaluasi Akurasi (dari data dummy)

Akurasi = (Prediksi Benar / Total Data Dievaluasi) × 100%

P1–P3 tidak dievaluasi (butuh 3 data sebelumnya untuk prediksi)

Ringkasan — Satu Staff Lengkap

1
Input Data Staff A, 9 periode, Q1=37 Q2=52.5 Q3=72.5 (Jumlah Tugas)
2
Nilai Terakhir Jumlah Tugas P9 = 90
3
Fuzzifikasi μRendah = 0.0, μSedang = 0.0, μTinggi = 1.0
4
Hitung Tren Dari [80, 85, 90] → Trend = 5.0
5
Rule Prediksi z₁=93.5, z₂=95.0, z₃=96.5
6
Defuzzifikasi Weighted Average z* = 96.5 (μT dominan = 1.0)
7
Klasifikasi Output 96.5 ≥ Q3 = 72.5 → TINGGI
Kesimpulan: Staff A diprediksi TINGGI di P10 🎯

Kesimpulan

Keunggulan Fuzzy Tsukamoto Quartile-Based:

  • Batas fuzzy adaptif — tidak perlu threshold manual, cukup dari data historis
  • Mempertimbangkan tren kenaikan/penurunan antar periode secara otomatis
  • 81 aturan IF-THEN mencakup semua kombinasi kondisi staff (3⁴)
  • Output berupa prediksi numerik (z*) sekaligus kategori performa RENDAH/SEDANG/TINGGI
  • Dapat dievaluasi akurasinya secara kuantitatif dan transparan

Kapan Menggunakan Metode Ini?

  • Data kinerja staff tersedia dalam beberapa periode waktu (lebih dari 4 periode)
  • Dibutuhkan prediksi kinerja periode berikutnya secara otomatis
  • Ingin sistem yang adil — batas penilaian menyesuaikan kemampuan tiap staff
  • Perlu penjelasan langkah-langkah yang transparan (interpretabilitas tinggi)

Pengembangan Lebih Lanjut:

  • Kombinasi dengan TOPSIS atau SAW untuk ranking akhir antar staff
  • Sumber data dari API real-time sistem PKBM yang terhubung langsung
  • Visualisasi grafik aktual vs prediksi menggunakan OxyPlot

Bahan yang Digunakan

Bahasa

  • CSS
  • JavaScript
  • PHP
  • XAML
  • C#
  • F#
  • SQL

Framework

  • Bootstrap
  • Vue.js
  • Laravel
  • .NET 10

Database

  • MySQL
  • SQLite

IDE & Editor

  • Visual Studio 2026
  • VS Code
  • XCode

Tools

  • Git / GitHub
  • Postman
  • MySQL Workbench

Platform

  • Windows
  • Web Browser
  • Android

Daftar Pustaka

Mahendra, G. S. (2024). Sistem pendukung keputusan: Metode fundamental & perkembangannya. PT. Sonpedia Publishing Indonesia.

Tsukamoto, Y. (1979). An approach to fuzzy-reasoning method. In M. Gupta, R. Ragade, & R. Yager (Eds.), Advances in Fuzzy Set Theory and Applications (pp. 137–149). North-Holland.

Zadeh, L. A. (1965). Fuzzy sets. Information and Control, 8(3), 338–353. https://doi.org/10.1016/S0019-9958(65)90241-X

Hyndman, R. J., & Athanasopoulos, G. (2021). Forecasting: Principles and Practice (3rd ed.). OTexts. https://otexts.com/fpp3/

🔮

Terima Kasih!

Semoga bermanfaat

Kelompok 3

Profesor Shafa

Kiyotaka Bima

Abdi Pham

"Data tanpa analisis hanya angka — Fuzzy mengubahnya menjadi keputusan."

Halaman 1 dari ?