Modul Pembelajaran: Fondasi Aplikasi AI – InfoTerms Bot

🤖 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).

📖 Analogi Sederhana:
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

# Modul 1: Basis Data Kamus (Data AI) kamus_ai = { “ai”: “Artificial Intelligence atau Kecerdasan Buatan adalah teknologi yang membuat komputer bisa berpikir seperti manusia.”, “data”: “Kumpulan fakta mentah yang belum diolah, bisa berupa angka, teks, atau gambar.”, “python”: “Bahasa pemrograman populer yang sering digunakan untuk membangun aplikasi AI dan analisis data.”, “algorithm”: “Urutan langkah-langkah logis dan sistematis untuk menyelesaikan suatu masalah.” } def cari_istilah(kata_kunci): # Mengubah teks menjadi huruf kecil agar pencocokan data akurat pesan = kata_kunci.lower() # Memeriksa apakah kata kunci ada di dalam basis data kamus if pesan in kamus_ai: return kamus_ai[pesan] elif “halo” in pesan or “hai” in pesan: return “Halo! Mau belajar istilah Informatika apa hari ini? Ketik kata kuncinya (contoh: AI, Data, Python).” elif “keluar” in pesan or “bye” in pesan: return “Sampai jumpa! Teruslah belajar Informatika. 🚀” else: return “Maaf, istilah tersebut belum ada di database kamus saya.” def mulai_kamus_bot(): print(“=========================================”) print(” Welcome to InfoTerms Bot (Kamus AI) “) print(” (Ketik ‘keluar’ atau ‘bye’ untuk berhenti)”) print(“=========================================\n”) berjalan = True while berjalan: input_user = input(“Tanya Istilah: “) respons_bot = cari_istilah(input_user) print(“Bot: “ + respons_bot + “\n”) if “keluar” in input_user.lower() or “bye” in input_user.lower(): berjalan = False # Jalankan Program mulai_kamus_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:

  1. if: Cek apakah input ada di kamus
  2. elif: Cek apakah pengguna menyapa
  3. elif: Cek apakah pengguna ingin keluar
  4. 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
# Tambahkan kode ini ke dictionary kamus_ai: “machine learning”: “Subset dari AI yang memungkinkan komputer belajar dari data tanpa diprogram secara eksplisit.”, “internet”: “Jaringan global yang menghubungkan komputer di seluruh dunia untuk bertukar informasi.”, “database”: “Kumpulan data yang terorganisir dan disimpan secara sistematis untuk kemudahan akses dan pengelolaan.”

🎯 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:

Bot: Selamat datang! Ketik “ai”, “data”, “python”, atau “algorithm” untuk belajar.

🔍 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:

  1. Tentukan Tema: Pilih topik yang Anda kuasai
  2. Buat Database: Siapkan minimal 10 istilah/FAQ dengan jawabannya
  3. Implementasi: Tulis kode Python berdasarkan template InfoTerms Bot
  4. Testing: Uji dengan berbagai input
  5. Dokumentasi: Catat keterbatasan dan ide pengembangan
# Template untuk proyek Anda database_saya = { “kata_kunci_1”: “Jawaban 1”, “kata_kunci_2”: “Jawaban 2”, # Tambahkan minimal 10 entri } def proses_input(pesan_user): pesan = pesan_user.lower() if pesan in database_saya: return database_saya[pesan] elif “halo” in pesan: return “Halo! Saya siap membantu Anda…” else: return “Maaf, saya belum mengerti pertanyaan Anda.” # Lengkapi dengan fungsi main dan loop!

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:

Tools yang Direkomendasikan:

  • Python IDLE atau VS Code untuk coding
  • Replit.com untuk coding online
  • Google Colab untuk eksperimen AI

© 2024 Modul Pembelajaran Informatika – Kelas XII

Dibuat dengan ❤️ untuk pendidikan Indonesia