Apa kabar, sobat coder! Kali ini kita bakal belajar cara membuat chatbot sederhana menggunakan PHP. Gak perlu ribet, karena kita bakal pakai API dari pihak ketiga yang udah tersedia. Yuk, langsung aja!

1. Apa Itu Chatbot?

Sebelum kita mulai, yuk kita bahas dulu sedikit tentang chatbot. Chatbot adalah program komputer yang bisa berinteraksi dengan manusia melalui chat atau percakapan. Chatbot sering banget digunakan di website untuk memberikan informasi otomatis tanpa perlu bantuan manusia.

2. Apa yang Kita Butuhkan?

Untuk bikin chatbot ini, kita butuh beberapa hal:

  • PHP untuk back-end.
  • API Pihak Ketiga (misalnya, OpenAI, Dialogflow, atau lainnya) untuk proses percakapan.
  • Server yang bisa menjalankan PHP (bisa pakai localhost atau hosting online).
  • Text Editor (misalnya VS Code atau Sublime Text) untuk menulis kode.

3. Menyiapkan API untuk Chatbot

Kita bakal gunakan Dialogflow sebagai API untuk chatbot kita. Kenapa Dialogflow? Karena ia mudah digunakan, punya dokumentasi yang lengkap, dan mendukung banyak bahasa.

Langkah-langkah untuk setting Dialogflow:

  1. Buat akun di Dialogflow: Akses Dialogflow dan login menggunakan akun Google.
  2. Buat Project Baru: Setelah login, klik “Create Project” dan beri nama project kamu.
  3. Buat Agen: Setelah project dibuat, klik “Create Agent”. Agen ini yang akan menangani percakapan chatbot kamu.
  4. Integrasi Webhook (Opsional): Untuk membuat chatbot lebih interaktif, kamu bisa menghubungkan webhook dengan backend PHP kamu nanti.

Setelah agen dibuat, kamu bakal mendapatkan API key yang diperlukan untuk mengakses Dialogflow.

4. Membuat File PHP untuk Chatbot

Sekarang kita mulai bikin chatbot-nya! Ikuti langkah-langkah berikut.

Langkah 1: Instalasi dan Persiapan
  1. Buat folder baru di project kamu, misalnya chatbot.
  2. Di dalam folder tersebut, buat file PHP bernama index.php.
Langkah 2: Kode PHP untuk Menghubungkan ke Dialogflow

Buka file index.php, lalu tulis kode berikut:

<?php
// Ganti dengan API key dari Dialogflow
$access_token = "YOUR_DIALOGFLOW_ACCESS_TOKEN"; // Dapatkan di halaman API akses

// Ambil pesan dari user
$user_message = isset($_POST['message']) ? $_POST['message'] : '';

// Kirim pesan ke Dialogflow menggunakan API
function sendToDialogflow($message) {
    global $access_token;
    
    $url = 'https://api.dialogflow.com/v1/query?v=20150910';
    $headers = [
        'Authorization: Bearer ' . $access_token,
        'Content-Type: application/json',
    ];

    $data = [
        'query' => $message,
        'lang' => 'id', // Bahasa Indonesia
        'sessionId' => uniqid(),
    ];

    $options = [
        'http' => [
            'method'  => 'POST',
            'header'  => implode("\r\n", $headers),
            'content' => json_encode($data),
        ],
    ];

    $context = stream_context_create($options);
    $response = file_get_contents($url, false, $context);
    
    return json_decode($response, true);
}

// Menampilkan jawaban chatbot
if ($user_message) {
    $response = sendToDialogflow($user_message);
    $chatbot_reply = $response['result']['fulfillment']['speech'];
} else {
    $chatbot_reply = "Halo! Ada yang bisa saya bantu?";
}
?>

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Chatbot Sederhana</title>
    <style>
        body { font-family: Arial, sans-serif; }
        #chatbox { width: 100%; max-width: 600px; margin: 0 auto; padding: 20px; border: 1px solid #ccc; }
        .user-message, .bot-message { margin: 10px 0; padding: 10px; border-radius: 5px; }
        .user-message { background-color: #dfe6e9; }
        .bot-message { background-color: #b2bec3; }
    </style>
</head>
<body>
    <div id="chatbox">
        <div class="user-message"><?php echo htmlspecialchars($user_message); ?></div>
        <div class="bot-message"><?php echo htmlspecialchars($chatbot_reply); ?></div>
    </div>

    <form method="POST" action="">
        <input type="text" name="message" placeholder="Ketik pesan..." required>
        <button type="submit">Kirim</button>
    </form>
</body>
</html>

Penjelasan Kode:
  • API Dialogflow: Kita menggunakan Dialogflow API untuk mengirim pesan yang diterima dari pengguna dan mendapatkan balasan.
  • Form Input: Pengguna mengetik pesan di input form dan mengirimnya ke server.
  • Menampilkan Jawaban Chatbot: Balasan dari Dialogflow ditampilkan sebagai pesan chatbot.
Langkah 3: Menjalankan Chatbot
  1. Jika kamu menggunakan localhost, pastikan Apache dan PHP sudah terpasang.
  2. Simpan file PHP tadi dan buka di browser: localhost/chatbot/index.php.
  3. Coba kirim pesan dan lihat balasan dari chatbot.

5. Menambahkan Fitur Lain

Jika chatbot kamu berjalan lancar, coba tambahkan fitur seperti:

  • Penyimpanan Percakapan: Menyimpan percakapan ke database.
  • Fitur Multi-Language: Menambah dukungan bahasa lain di Dialogflow dan PHP.
  • Button Interaktif: Menambahkan button atau quick reply di frontend.

6. Tips dan Trik

  • Gunakan Dialogflow Console untuk mengatur Intent agar chatbot bisa menangani berbagai jenis pertanyaan.
  • Pastikan API Key kamu tetap aman, jangan sampai bocor.
  • Coba gunakan ngrok jika ingin menguji webhook secara online.

7. Kesimpulan

Itulah cara membuat chatbot sederhana menggunakan PHP dan Dialogflow! Dengan API pihak ketiga seperti Dialogflow, kamu bisa membangun chatbot yang cerdas tanpa perlu membuat algoritma NLP dari nol. Semoga tutorial ini bermanfaat, dan jangan ragu untuk eksperimen lebih lanjut ya!

Jika kamu punya pertanyaan atau ide lain, tinggal tanya aja di kolom komentar. Happy coding! 馃殌

By Medhy

Leave a Reply