🤖 Fondasi Aplikasi AI
Membangun Chatbot Berbasis Basis Data dengan Python
Mata Pelajaran: Informatika | Kelas XII | Fase F
Tujuan Pembelajaran
- Memahami konsep dasar kecerdasan buatan (AI) berbasis aturan
- Menganalisis fondasi kerja aplikasi AI berbasis teks (Chatbot)
- Memahami proses analisis data tekstual sederhana
- Mengimplementasikan struktur data Dictionary dalam Python
- Menganalisis keterbatasan AI berbasis rule-based
📚 Materi Pembelajaran
1. Mengenal InfoTerms Bot
InfoTerms Bot adalah chatbot sederhana yang berfungsi sebagai kamus digital interaktif untuk istilah-istilah Informatika. Bot ini menggunakan pendekatan AI Berbasis Aturan (Rule-Based AI).
Bayangkan InfoTerms Bot seperti seorang pustakawan yang jujur tapi kaku. Dia memiliki buku kamus tebal di mejanya. Saat Anda bertanya, dia mencari di indeks bukunya. Kalau ada, dia bacakan definisinya. Kalau tidak ada, dia jujur bilang “Maaf, tidak ada di database saya.”
2. Kode Program InfoTerms Bot
3. Penjelasan Konsep Penting
a. Dictionary (Struktur Data)
Dictionary adalah struktur data Python yang menyimpan informasi dalam bentuk pasangan kunci-nilai (key-value pairs).
| Komponen | Penjelasan | Contoh |
|---|---|---|
| Key | Kata kunci untuk pencarian (harus unik) | “ai”, “data”, “python” |
| Value | Nilai/definisi yang disimpan | “Artificial Intelligence…” |
b. Pra-pemrosesan Data (Text Preprocessing)
Baris pesan = kata_kunci.lower() sangat penting karena:
- Komputer bersifat case-sensitive (peka huruf besar/kecil)
- “AI”, “Ai”, dan “ai” dianggap berbeda oleh komputer
- Dengan
.lower(), semua input dinormalisasi menjadi huruf kecil
c. Logika Percabangan (if-elif-else)
Program mengevaluasi kondisi secara berurutan:
- if: Cek apakah input ada di kamus
- elif: Cek apakah pengguna menyapa
- elif: Cek apakah pengguna ingin keluar
- else: Default jika tidak ada yang cocok
d. Perulangan (while loop)
Variabel berjalan = True berfungsi sebagai saklar yang mengontrol apakah program terus berjalan atau berhenti.
📝 LEMBAR KERJA PESERTA DIDIK (LKPD)
Analisis Fondasi Aplikasi AI
Bagian 1: Analisis Logika & Pemrosesan Data Skor: 40
1. Tahap Pra-pemrosesan Data (Text Preprocessing)
Pada fungsi cari_istilah, terdapat baris pesan = kata_kunci.lower(). Mengapa tahapan ini sangat krusial dalam pemrosesan bahasa alami (NLP) pada AI? Apa yang akan terjadi jika baris tersebut dihapus dan pengguna mengetik “HALO”?
2. Analisis Aturan (Rule-Based System)
Chatbot ini menggunakan pendekatan AI berbasis aturan (Rule-Based). Jelaskan bagaimana program menentukan respons yang tepat berdasarkan input dari pengguna!
3. Alur Program (Control Flow)
Perhatikan fungsi mulai_kamus_bot(). Jelaskan peran perintah while berjalan: dan bagaimana program memastikan bahwa aplikasi tidak berjalan selamanya (infinite loop)!
Bagian 2: Pengujian & Analisis Celah AI Skor: 40
1. Analisis Ambiguitas Kata Kunci
Jika pengguna mengetik kalimat: “Saya tidak mau keluar rumah hari ini”, apakah chatbot akan terus berjalan atau berhenti? Jelaskan mengapa hal tersebut terjadi berdasarkan logika if pada fungsi mulai_kamus_bot()!
2. Keterbatasan AI Kontekstual
Jika pengguna mengetik: “Kabar saya buruk hari ini”, apa respons yang akan diberikan oleh bot? Apakah respons tersebut relevan dan menunjukkan empati? Hubungkan jawabanmu dengan keterbatasan AI berbasis aturan (rule-based) dibanding AI modern berbasis LLM (seperti ChatGPT)!
3. Analisis Data Input Tambahan
Gambarkan atau tuliskan alur (flowchart sederhana) bagaimana data teks mengalir dari saat pengguna mengetik di keyboard hingga bot menampilkan jawaban di layar!
Bagian 3: Tantangan Pengembangan Skor: 20
1. Modifikasi Logika
Tuliskan potongan kode (code snippet) tambahan berupa fungsi elif baru agar chatbot mampu mengenali kata kunci tentang “informatika” atau “belajar AI” dan memberikan respons yang edukatif!
2. Peningkatan Kecerdasan Bot
Bagaimana cara kamu mengubah program ini agar jika pengguna mengetik kata yang salah (typo), misalnya “hlo” atau “hay”, bot tetap bisa mengenali bahwa maksud pengguna adalah menyapa? (Sebutkan konsepnya, tidak wajib menuliskan kodenya).
Eksperimen: Modifikasi Kode
🎯 Tantangan 1: Tambah Istilah Baru
Tambahkan 3 istilah baru ke dalam kamus_ai:
- machine learning
- internet
- database
🎯 Tantangan 2: Tambah Respons Baru
Buat respons baru untuk kata kunci:
- “terima kasih”
- “siapa kamu”
- “bantuan”
Demo Interaktif: Simulasi Chatbot
Coba simulasi chatbot di bawah ini:
🔍 Analisis Keterbatasan & Solusi
Keterbatasan InfoTerms Bot:
| No | Keterbatasan | Penyebab | Solusi yang Mungkin |
|---|---|---|---|
| 1 | Tidak toleran typo | Pencocokan eksak (exact matching) | Fuzzy matching, Levenshtein distance |
| 2 | Tidak paham konteks | Rule-based system | NLP, Machine Learning |
| 3 | Kosakata terbatas | Database statis | Dynamic database, API integration |
| 4 | Tidak ada empati | Tidak ada sentiment analysis | Sentiment analysis model |
Perbandingan: Rule-Based AI vs LLM
| Aspek | Rule-Based AI (InfoTerms Bot) | LLM (ChatGPT) |
|---|---|---|
| Cara Kerja | Pencocokan pola & aturan | Generasi teks berbasis probabilitas |
| Kecepatan | Sangat cepat | Relatif lebih lambat |
| Fleksibilitas | Kaku, terbatas | Fleksibel, adaptif |
| Resource | Ringan, bisa jalan di PC biasa | Butuh GPU & komputasi tinggi |
| Pemahaman Konteks | Tidak ada | Baik hingga sangat baik |
Bangun Chatbot Sederhana Anda Sendiri!
📋 Proyek Akhir: Personal Assistant Bot
Buat chatbot dengan tema pilihan Anda (misal: bot kesehatan, bot olahraga, bot musik, dll)
Langkah-langkah:
- Tentukan Tema: Pilih topik yang Anda kuasai
- Buat Database: Siapkan minimal 10 istilah/FAQ dengan jawabannya
- Implementasi: Tulis kode Python berdasarkan template InfoTerms Bot
- Testing: Uji dengan berbagai input
- Dokumentasi: Catat keterbatasan dan ide pengembangan
Kriteria Penilaian Proyek:
| Kriteria | Bobot |
|---|---|
| Kelengkapan database (minimal 10 entri) | 30% |
| Fungsionalitas program (berjalan tanpa error) | 30% |
| Kreativitas tema dan respons | 20% |
| Dokumentasi dan analisis | 20% |
📖 Resources & Referensi
Bacaan Tambahan:
- Python Dictionary Documentation
- Introduction to Natural Language Processing (NLP)
- Rule-Based vs Machine Learning AI
- Chatbot Development Best Practices
Tools yang Direkomendasikan:
- Python IDLE atau VS Code untuk coding
- Replit.com untuk coding online
- Google Colab untuk eksperimen AI