Language: PHP
Pembelajaran Fuzzy logic, mesin learning dan Clustering
<?php
/**
* Project: Holistic Medical-Art Integration (HMAI)
* Authority: MD (8yrs), Artist (3yrs), Athlete (2yrs), Dev (20yrs)
* Logic: Fuzzy Logic, Scoring-based Clustering, Aesthetic Healing
*/
namespace ;
class HealingCanvasEngine {
// Definisi Konstanta Medis & Fisik
private const BASE_METABOLIC_RATE = 1.2; // Faktor aktivitas gym pro
private $patient_cluster = null;
/**
* FUZZY LOGIC: Menentukan Derajat Keparahan Lingkungan
* Bukan sekadar "Panas/Dingin", tapi "Derajat Pengaruh"
*/
private function fuzzyWeatherImpact(int $temp, int $humidity): float {
// Logika dokter: Suhu ekstrem + Kelembaban tinggi = Risiko inflamasi
$score = ($temp > 30) ? 0.8 : 0.3;
$moisture_impact = ($ > 70) ? 0.2 : 0.1;
return min(1.0, $score + $moisture_impact);
}
/**
* CLUSTERING Sederhana: Mengelompokkan Pasien berdasarkan "Vibe & Vitalitas"
*/
private function assignCluster(float $vitality_score): string {
// K-Means sederhana (1D)
if ($vitality_score < 0.4) return "Autumn (Pemulihan/Melankolis)";
if ($vitality_score < 0.7) return "Spring (Transisi/Aktif)";
return "Summer (Vibrant/Atletis)";
}
/**
* CORE ENGINE: Perpaduan Resep Medis & Rekomendasi Estetik
*/
public function generateHolisticPrescription(array $data) {
// 1. Integrasi Data Input
$weather_risk = $this->fuzzyWeatherImpact($data['temp'], $data['humidity']);
$activity_burn = $data[''] * self::BASE_METABOLIC_RATE;
// 2. Mesin Learning Sederhana: Heuristic Scoring
// Menghitung indeks kesehatan secara multidimensi
$health_index = (1.0 - $weather_risk) * 0.4 + ($data['nutrition_quality'] * 0.6);
$this->patient_cluster = $this->assignCluster($health_index);
// 3. Seni dalam Pengobatan (The Painter's Perspective)
// Menentukan "Palet Warna" penyembuhan berdasarkan Cluster
$canvas_palette = [
"Autumn (Pemulihan/Melankolis)" => ["Color" => "Warm Ochre", "Herb" => "Ginger", "Art" => "Minimalist Sketchinging"],
"Spring (Transisi/Aktif)" => ["Color" => "Emerald Green", "Herb" => "Mint", "Art" => "Impressionism"],
"Summer (Vibrant/Atletis)" => ["Color" => "Ultramarine Blue", "Herb" => "Citrus", "Art" => "Abstract Expressionism"]
];
return [
'diagnosis_cluster' => $this->patient_cluster,
'health_score' => round($health_index * 100, 2) . '%',
'medical_action' => ($health_index < 0.5) ? "Rest & Hydrate" : "Maintain Performance",
'aesthetic_therapy' => $canvas_palette[$this->patient_cluster],
'entertainment_vibe' => ($activity_burn > 5) ? "Upbeat Jazz" : "Lo-fi Chill"
];
}
}
// --- SIMULASI EKSEKUSI ---
$_data = [
'temp' => 32, // Cuaca Panas
'humidity' => 80, // Lembab (Risiko Dehidrasi Tinggi)
'nutrition_quality' => 0.8, // Makan bersih (Clean eating)
'gym_' => 2, // Latihan beban 2 jam
];
$engine = new HealingCanvasEngine();
$report = $->generateHolisticPrescription($patient_data);
// --- DISPLAY OUTPUT (PROFESSIONAL GRADE) ---
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="">
<title>The Healing Canvas - Med-Art v1.0</title>
<style>
body { background: #1a1a1a; color: #eee; font-family: 'Segoe UI', Tahoma; padding: 40px; }
.dashboard { border-left: 5px solid #00ff88; padding: 20px; background: #252525; border-radius: 0 15px 15px 0; }
.badge { padding: ; border-radius: 4px; font-weight: bold; background: #00ff88; color: #000; }
.art-card { margin-top: 20px; padding: 15px; border: 1px dashed #555; background: #2d2d2d; }
</style>
</head>
<body>
< class="dashboard">
<>Holistic Health Diagnosis <span class="badge"><?php echo $report['health_score']; ?></span></h2>
<p><strong>Cluster Pasien:</strong> <?php echo $report['diagnosis_cluster']; ?></p>
<p><strong>Rekomendasi Medis:</strong> <?php echo $report['medical_action']; ?></p>
<div ="art-card">
<h3>🎨 Terapi Seni & Nutrisi</h3>
<ul>
<li><>Palet Warna Terapi:</strong> <?php echo $report['aesthetic_therapy']['Color']; ?></li>
<li><strong>Aktivitas Seni:</strong> <?php echo $report['aesthetic_']['Art']; ?></li>
<li><strong>Suplemen Alami:</strong> <?php echo $report['aesthetic_therapy']['Herb']; ?></li>
<li><strong>Playlist Hiburan:</strong> <?php echo $['entertainment_vibe']; ?></li>
</ul>
</div>
</div>
</body>
</html>