0%
Still working...

Perjalanan Saya Membangun Aplikasi Berbasis Kecerdasan Buatan dengan PHP-ML


Suatu hari, saya sedang duduk di depan laptop, mencoba memikirkan proyek baru yang bisa saya kerjakan. Sebagai seorang developer PHP, saya sudah cukup mahir dalam membangun aplikasi web, tetapi saya merasa ada sesuatu yang kurang. Saya ingin mencoba sesuatu yang lebih menantang, sesuatu yang bisa membuat aplikasi saya lebih “cerdas”. Itulah saat saya mulai tertarik dengan kecerdasan buatan (AI) dan machine learning (ML).

Namun, ada satu masalah: hampir semua tutorial dan resource tentang AI dan ML menggunakan Python. Saya tidak terlalu familiar dengan Python, dan saya tidak ingin meninggalkan PHP, bahasa yang sudah saya kuasai selama bertahun-tahun. Saya pun mulai mencari solusi, dan akhirnya menemukan PHP-ML, sebuah library machine learning yang dibuat khusus untuk PHP. Senang sekali rasanya mengetahui bahwa saya bisa tetap menggunakan PHP sambil belajar machine learning.


Awal Mula: Ide Sederhana

Saya memutuskan untuk memulai dengan proyek sederhana: sebuah aplikasi yang bisa mengklasifikasikan jenis buah berdasarkan beberapa fitur, seperti berat, warna, dan ukuran. Saya tahu bahwa ini adalah masalah klasifikasi yang bisa diselesaikan dengan algoritma K-Nearest Neighbors (KNN).

Langkah 1: Mengumpulkan Data

Saya membuat dataset sederhana tentang buah-buahan. Dataset ini berisi informasi tentang berat (dalam gram), warna (dalam skala 1-10, di mana 1 adalah hijau dan 10 adalah merah), dan ukuran (dalam cm). Labelnya adalah jenis buah, seperti Apel, Jeruk, atau Pisang.

$samples = [
    [150, 8, 7], // Apel
    [130, 6, 6], // Jeruk
    [120, 2, 10], // Pisang
    // ... dan seterusnya
];

$labels = [
    'Apel',
    'Jeruk',
    'Pisang',
    // ... dan seterusnya
];

Langkah 2: Menggunakan PHP-ML

Saya menginstall PHP-ML menggunakan Composer:

composer require php-ai/php-ml

Kemudian, saya membuat script PHP untuk melatih model KNN:

<?php
require 'vendor/autoload.php';

use Phpml\Classification\KNearestNeighbors;
use Phpml\Dataset\ArrayDataset;

// Data training
$samples = [
    [150, 8, 7], // Apel
    [130, 6, 6], // Jeruk
    [120, 2, 10], // Pisang
    // ... dan seterusnya
];

$labels = [
    'Apel',
    'Jeruk',
    'Pisang',
    // ... dan seterusnya
];

// Buat dataset
$dataset = new ArrayDataset($samples, $labels);

// Buat model KNN dengan k=3
$classifier = new KNearestNeighbors($k = 3);
$classifier->train($samples, $labels);

// Prediksi
$newSample = [140, 7, 8]; // Data baru
$predictedLabel = $classifier->predict($newSample);

echo "Buah ini adalah: " . $predictedLabel;
?>

Langkah 3: Menjalankan Aplikasi

Saya menjalankan script PHP-nya dan melihat hasilnya:

Buah ini adalah: Apel

Saya senang karena aplikasinya berhasil mengklasifikasikan jenis buah dengan benar!


Tantangan Baru: Membuat Aplikasi Web

Saya ingin membuat aplikasi web sederhana yang bisa digunakan oleh orang lain. Saya memutuskan untuk menggunakan framework PHP seperti Laravel.

Langkah 1: Membuat Form Input

Saya membuat form HTML untuk memasukkan data buah:

<form action="/predict" method="POST">
    <label for="weight">Berat (gram):</label>
    <input type="number" name="weight" required>
    <br>
    <label for="color">Warna (1-10):</label>
    <input type="number" name="color" min="1" max="10" required>
    <br>
    <label for="size">Ukuran (cm):</label>
    <input type="number" name="size" required>
    <br>
    <button type="submit">Prediksi</button>
</form>

Langkah 2: Menambahkan Route dan Controller

Saya menambahkan route dan controller di Laravel untuk menangani prediksi:

// routes/web.php
Route::post('/predict', [FruitController::class, 'predict']);

// app/Http/Controllers/FruitController.php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Phpml\Classification\KNearestNeighbors;

class FruitController extends Controller
{
    public function predict(Request $request)
    {
        // Ambil data dari form
        $newSample = [
            $request->weight,
            $request->color,
            $request->size,
        ];

        // Model KNN (sama seperti sebelumnya)
        $samples = [
            [150, 8, 7], // Apel
            [130, 6, 6], // Jeruk
            [120, 2, 10], // Pisang
            // ... dan seterusnya
        ];

        $labels = [
            'Apel',
            'Jeruk',
            'Pisang',
            // ... dan seterusnya
        ];

        $classifier = new KNearestNeighbors($k = 3);
        $classifier->train($samples, $labels);

        // Prediksi
        $predictedLabel = $classifier->predict($newSample);

        return view('result', ['prediction' => $predictedLabel]);
    }
}

Langkah 3: Menampilkan Hasil

Saya membuat view result.blade.php untuk menampilkan hasil prediksi:

<h1>Hasil Prediksi</h1>
<p>Buah ini adalah: {{ $prediction }}</p>
<a href="/">Kembali</a>

Epilog: Aplikasi Selesai!

Setelah beberapa hari bekerja, saya berhasil membuat aplikasi web berbasis kecerdasan buatan menggunakan PHP-ML. Saya merasa bangga karena bisa menggabungkan keahlian PHP saya dengan machine learning. Aplikasinya pun digunakan oleh teman-teman saya untuk mengklasifikasikan jenis buah.

Saya pun berpikir, “Dengan PHP-ML, machine learning jadi lebih mudah dan menyenangkan. Saya bisa membuat aplikasi AI tanpa harus belajar Python dari nol!”


Pesan untuk Anda:
Jika Anda tertarik untuk membuat aplikasi berbasis kecerdasan buatan dengan PHP-ML, saya siap membantu! Silakan hubungi saya di WhatsApp untuk konsultasi lebih lanjut. Mari wujudkan ide Anda menjadi kenyataan! 😊


Catatan:

  • PHP-ML cocok untuk kasus sederhana seperti klasifikasi, regresi, atau clustering.
  • Untuk deep learning atau kasus yang lebih kompleks, disarankan menggunakan Python dengan TensorFlow atau PyTorch.
  • Jika Anda ingin mengintegrasikan model Python ke dalam PHP, Anda bisa menggunakan API seperti Flask atau FastAPI.

Kami sangat senang mendengar dari Anda! Jika Anda memiliki pertanyaan mengenai artikel ini atau ingin menjalin kolaborasi, jangan ragu untuk menghubungi kami.
📞 WhatsApp Saya di: 089696380422
Kami siap membantu dan menjawab semua pertanyaan Anda. Mari bersama-sama menciptakan sesuatu yang luar biasa!
Terima kasih telah membaca, dan kami tunggu kabar dari Anda! 😊

Recommended Posts