2025-10-08
admin
Diperbarui 2025-10-11

Dira AI: WhatsApp Bot Pintar untuk Analisis & Data PDDIKTI

Temukan Dira AI, bot WhatsApp cerdas yang memungkinkan Anda menganalisis gambar, video, dokumen, dan mengakses data PDDIKTI dengan mudah. Tingkatkan produktivitas dan dapatkan informasi penting langsung dari WhatsApp!
Dira AI: WhatsApp Bot Pintar untuk Analisis & Data PDDIKTI

🤖 Dira AI WhatsApp Assistant

Bot WhatsApp AI cerdas yang menggunakan Google Gemini 2.0 Flash dengan kemampuan:

  • 💬 Chat dengan memori percakapan
  • 🖼️ Analisis gambar/foto
  • 🎬 Analisis video
  • 🎵 Analisis audio/voice note
  • 📄 Memahami dokumen
  • 🧠 Ingatan jangka panjang per user
  • 🎓 Database PDDIKTI - Pencarian data pendidikan tinggi Indonesia

⚡ Quick Start

1. Development (Local)

# Clone project
git clone <repository-url>
cd dira-ai-bot

# Install dependencies
npm install

# Copy environment file
cp .env.example .env

# Edit .env dengan API key Anda
nano .env

# Jalankan bot
npm start

2. Production (VPS/Server)

# Download deployment script
wget https://your-repo/deploy.sh
chmod +x deploy.sh

# Run deployment
./deploy.sh

# Follow instructions untuk konfigurasi

📱 Cara Penggunaan

1. Scan QR Code

  • Jalankan bot dengan npm start
  • Scan QR code yang muncul dengan WhatsApp
  • Bot akan online dan siap digunakan

2. Fitur Chat AI

  • Chat biasa: Ketik apapun, Dira akan merespon dengan cerdas
  • Kirim gambar: Bot akan menganalisis gambar secara detail
  • Kirim video: Bot akan menjelaskan apa yang terjadi di video
  • Voice note: Bot akan mendengar dan menganalisis audio
  • Dokumen: Bot akan memberikan info tentang dokumen

3. Contoh Penggunaan

Chat Biasa:

User: "Halo Dira!"
Dira: "Halo! Saya Dira, asisten AI yang siap membantu kamu! 😊"

User: [Kirim foto makanan]
Dira: "Wah, itu terlihat seperti nasi gudeg dengan ayam dan telur! 🍛 Makanan khas Yogyakarta yang terlihat sangat lezat..."

User: "Ceritakan tentang cuaca hari ini"
Dira: "Hmm, saya tidak bisa mengecek cuaca real-time, tapi saya bisa membantu dengan info umum tentang cuaca..."

Pencarian PDDIKTI:

User: "cari kampus ITB"
Dira: "🎓 Hasil Pencarian PDDIKTI
🔍 Kata kunci: "ITB"
📊 Ditemukan: 1 hasil

1. 🏛️ Institut Teknologi Bandung
📍 Bandung
⭐ Akreditasi: A
🏢 Jenis: Perguruan Tinggi Negeri"

User: "cari prodi teknik informatika"
Dira: "🎓 Hasil Pencarian PDDIKTI
📚 Program Studi Teknik Informatika ditemukan di berbagai kampus..."

User: "cari dosen machine learning"
Dira: "👨‍🏫 Dosen dengan expertise machine learning ditemukan..."

🎓 Fitur PDDIKTI Database

Pencarian Data Pendidikan Tinggi

Bot dapat mencari data dari database PDDIKTI Kemendiktisaintek:

Jenis Pencarian Contoh Command Hasil Kampus/Universitas cari kampus ITB Info lengkap universitas Program Studi cari prodi teknik informatika Daftar prodi dan kampusnya Dosen cari dosen Ahmad Santosa Profil dan afiliasi dosen Mahasiswa cari mahasiswa Budi Data mahasiswa (jika public) Keyword yang Dikenali:

  • cari kampus/universitas [nama]
  • cari prodi/jurusan [nama]
  • cari dosen [nama]
  • cari mahasiswa [nama]
  • Atau langsung sebut nama: ITB, teknik informatika, dll.

Contoh Hasil:

🎓 Hasil Pencarian PDDIKTI
🔍 Kata kunci: "ITB"
📊 Ditemukan: 1 hasil

1. 🏛️ Institut Teknologi Bandung
   📍 Bandung, Jawa Barat
   ⭐ Akreditasi: A
   🏢 Jenis: PTN (Perguruan Tinggi Negeri)

💡 Tips:
• Kirim "detail ITB" untuk info lengkap
• Gunakan kata kunci spesifik untuk hasil lebih akurat
• Data dari PDDikti Kemendiktisaintek

🔧 Konfigurasi

Mengubah Personality Dira

Edit bagian systemContext di function chatWithAI():

const systemContext = `Kamu adalah Dira, asisten AI yang ramah, ceria, dan membantu. Karakteristik kamu:
- Berbicara dengan gaya casual dan ramah seperti teman dekat
- Gunakan bahasa Indonesia yang natural dan tidak kaku
- Sesekali pakai emoticon untuk ekspresi 😊😄🤔💭✨
// Tambahkan karakteristik lainnya...`

Mengatur Memory Limit

Ubah batas history di function addToHistory():

// Batasi history maksimal 50 pesan terakhir untuk performa
if (history.length > 50) {
    // Ubah angka 50 sesuai kebutuhan
}

Mengatur Response Delay

Ubah delay typing di function handleAIMessage():

const typingDelay = Math.min(response.length * 30, 3000) // Max 3 detik

📁 Struktur Folder

dira-ai-bot/
├── bot.js              # File utama bot
├── package.json        # Dependencies
├── session/           # Session WhatsApp (auto-generated)
├── media/             # Media yang diterima
│   ├── images/        
│   ├── videos/
│   ├── audio/
│   └── documents/
└── logs/              # Log files
    ├── bot.log        # Log aktivitas
    ├── qr.txt         # QR code string
    └── memory_backup.json # Backup memori

🧪 Testing

Test PDDIKTI Integration

# Test semua fitur
node test-pddikti.js

# Test specific features
node test-pddikti.js --detection  # Test query detection
node test-pddikti.js --performance # Test API performance
node test-pddikti.js --errors     # Test error handling

⚡ Tips Optimasi

1. Untuk Server/VPS

# Install PM2 untuk auto-restart
npm install -g pm2

# Jalankan dengan PM2
pm2 start bot.js --name "dira-ai"

# Monitor
pm2 logs dira-ai
pm2 restart dira-ai

2. Environment Variables

Buat file .env:

GEMINI_API_KEY=your_api_key_here
NODE_ENV=production
MAX_HISTORY_LENGTH=50
TYPING_DELAY_MS=30

3. Database Integration (Opsional)

Untuk production, ganti Map() dengan database:

  • MongoDB untuk NoSQL
  • PostgreSQL untuk SQL
  • Redis untuk caching

🔍 Troubleshooting

Bot tidak connect

  • Pastikan QR code fresh (scan ulang)
  • Cek koneksi internet
  • Restart bot: Ctrl+C lalu npm start

API Error

  • Cek API key Gemini valid
  • Cek quota API tidak habis
  • Pastikan model gemini-2.0-flash-exp tersedia

Memory issues

  • Kurangi MAX_HISTORY_LENGTH
  • Restart bot secara berkala
  • Gunakan database untuk memory storage

Media analysis gagal

  • Cek format file didukung
  • Cek ukuran file tidak terlalu besar
  • Pastikan file tidak corrupt

📝 Logs

Bot menyimpan log aktivitas di:

  • ./logs/bot.log - Log semua aktivitas
  • ./logs/qr.txt - QR code string
  • ./logs/memory_backup.json - Backup memori percakapan

🔐 Security Notes

  • Jangan share API key di public repository
  • Gunakan environment variables untuk credentials
  • Backup session folder secara berkala
  • Monitor usage API untuk menghindari overcharge

📞 Support

Jika ada pertanyaan atau masalah:

  1. Cek logs di ./logs/bot.log
  2. Restart bot dengan npm start
  3. Pastikan semua dependencies terinstall
  4. Cek dokumentasi Google AI: https://ai.google.dev/

Dibuat dengan ❤️ menggunakan Google Gemini 2.0 Flash

blog teknologi artificial-intelligence admin

Artikel Terkait