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

Solusi Lengkap Troubleshooting Aplikasi Python: Atasi Semua Error!

Punya masalah dengan aplikasi Python Anda? Jangan panik! Panduan ini memberikan solusi praktis untuk mengatasi berbagai error umum, mulai dari masalah API hingga database. Ikuti langkah-langkahnya dan aplikasi Anda akan kembali berjalan lancar!
Solusi Lengkap Troubleshooting Aplikasi Python: Atasi Semua Error!

Troubleshooting Guide

🔍 Langkah Debugging

1. Cek Konfigurasi

python3 check_config.py

Script ini akan mengecek:

  • ✅ YouTube API Key sudah diset atau belum
  • ✅ WhatsApp Gateway URL
  • ✅ Admin Phone
  • ✅ Database ada atau tidak
  • ✅ Template files lengkap
  • ✅ Dependencies terinstall

2. Test Koneksi API

python3 test_api.py

Script ini akan test:

  • ✅ WhatsApp Gateway connection
  • ✅ YouTube API Key valid
  • ✅ Flask server running

3. Cek Log Flask

Saat menjalankan python3 app.py, perhatikan output:

==================================================
YouTube API Dashboard - Starting...
==================================================
YouTube API Key: ✅ Set
WhatsApp Gateway: http://10.122.25.172:5000
Admin Phone: 6281241314446
Database: ✅ Ready
==================================================

Jika ada ❌, perbaiki konfigurasi di app.py.

❌ Masalah Umum

Masalah 1: Menu tidak muncul / Fitur YouTube tidak bisa dipakai

Gejala:

  • Dashboard tampil tapi menu kosong
  • Klik fitur search/trending tidak ada reaksi
  • Console browser menunjukkan error JavaScript

Penyebab:

  1. YouTube API Key belum diset atau salah
  2. JavaScript error di browser
  3. Session invalid

Solusi:

A. Cek YouTube API Key

# Edit app.py line ~18
YOUTUBE_API_KEY = "YOUR_KEY_HERE"  # Ganti dengan API key asli

Test API key:

python3 test_api.py

B. Cek Browser Console

  1. Buka browser (Chrome/Firefox)
  2. Tekan F12 (Developer Tools)
  3. Klik tab "Console"
  4. Lihat error yang muncul

Common errors:

❌ Unauthorized (401) → API Key salah/expired
❌ Forbidden (403) → YouTube API belum enabled
❌ Network Error → Server mati atau CORS issue

C. Clear Session & Re-login

# Stop Flask server (Ctrl+C)
# Hapus database
rm youtube_app.db

# Restart
python3 app.py

# Login ulang

Masalah 2: OTP tidak terkirim

Gejala:

  • Klik "Kirim Kode OTP" tapi tidak ada WA masuk
  • Error "Gagal mengirim OTP"

Penyebab:

  • WhatsApp Gateway mati/tidak bisa diakses
  • Nomor WA format salah

Solusi:

A. Test WhatsApp Gateway

curl http://10.122.25.172:5000/api/status

Harus return JSON:

{
  "bot_connected": true,
  "status": "running"
}

B. Cek Format Nomor

✅ Benar:

  • 81234567890
  • 081234567890
  • +6281234567890

❌ Salah:

  • 0812-3456-7890 (ada strip)
  • +62 812 3456 7890 (ada spasi)

Masalah 3: Database Error

Gejala:

sqlite3.OperationalError: table users already exists

Solusi:

# Backup database (opsional)
cp youtube_app.db youtube_app.db.backup

# Hapus database
rm youtube_app.db

# Restart app (akan buat database baru)
python3 app.py

Masalah 4: Admin Panel tidak bisa diakses

Gejala:

  • Klik "Admin Panel" → Error 403 Forbidden
  • Atau redirect ke dashboard

Penyebab:

  • User bukan admin
  • Session invalid

Solusi:

A. Cek role di database

sqlite3 youtube_app.db
SELECT phone, name, role FROM users;

B. Ubah role jadi admin

UPDATE users SET role='admin' WHERE phone='6281234567890';

C. Atau login dengan nomor admin

Login dengan: +6281241314446 (default admin)

Masalah 5: Session expired terus

Gejala:

  • Login berhasil tapi langsung logout
  • Harus login berulang kali

Penyebab:

  • Secret key berubah setiap restart (karena random)
  • Browser clear cookies

Solusi: Edit app.py line ~14, ganti dengan fixed key:

# Dari ini:
app.secret_key = secrets.token_hex(32)

# Jadi ini:
app.secret_key = "your-fixed-secret-key-here-minimal-32-characters-long"

🔧 Debug Mode

Enable Verbose Logging

Edit app.py, tambahkan di awal file:

import logging
logging.basicConfig(level=logging.DEBUG)

Check Network Requests

Di browser console:

// Tab "Network"
// Filter: XHR
// Lihat semua request/response

Manual Test API Endpoints

# Test search (harus login dulu)
curl -X POST http://localhost:5000/api/search \
  -H "Content-Type: application/json" \
  -d '{"query":"python tutorial","max_results":5}' \
  --cookie "session=YOUR_SESSION_COOKIE"

# Test trending
curl http://localhost:5000/api/trending?region=ID \
  --cookie "session=YOUR_SESSION_COOKIE"

📞 Getting Help

Jika masih ada masalah:

  1. Jalankan diagnostic tools:
python3 check_config.py
python3 test_api.py
  1. Screenshot error:
  • Browser console (F12)
  • Terminal output Flask
  • Network tab di browser
  1. Info yang perlu disertakan:
  • OS & Python version
  • Output dari check_config.py
  • Error message lengkap
  • Screenshot jika ada

✅ Checklist Sebelum Deploy

  • [ ] YouTube API Key sudah diset dan valid
  • [ ] WhatsApp Gateway running dan bisa diakses
  • [ ] Database sudah ada dan ada admin user
  • [ ] Template files lengkap (login.html, index.html, admin.html)
  • [ ] Dependencies terinstall semua
  • [ ] Test login berhasil
  • [ ] Test OTP WhatsApp terkirim
  • [ ] Test fitur YouTube API (search, trending, dll)
  • [ ] Test Admin Panel bisa diakses
  • [ ] Browser console tidak ada error JavaScript

Jika semua ✅, aplikasi siap digunakan!

blog teknologi artificial-intelligence seo programming web-development tutorial admin

Artikel Terkait