๐Ÿ“˜ Panduan Instalasi & Konfigurasi MonitorPIC di Laptop

Panduan ini untuk Windows dengan XAMPP. Ikuti urut dari Langkah 1. Setiap langkah ada tanda cek โœ… agar Anda tahu sudah benar.

Gambaran alur otomatis (tanpa buka WhatsApp Web / kirim manual):
Jam 08:00 โ†’ Windows Task Scheduler menjalankan cron.php โ†’ sistem mengelompokkan tiket per PIC โ†’ 1 pesan berisi daftar bernomor dikirim lewat WhatsApp gateway (langsung ke nomor PIC) dan/atau Email SMTP โ†’ hasilnya tercatat di menu Reminder โ†’ Riwayat.

Langkah 1 โ€“ Pasang XAMPP & salin aplikasi

  1. Unduh XAMPP (PHP 8.x) dari apachefriends.org, install ke C:\xampp (jangan diubah lokasinya agar skrip jadwal langsung cocok).
  2. Buka XAMPP Control Panel โ†’ klik Start pada Apache dan MySQL (keduanya hijau). Disarankan: centang kotak Svc di kiri Apache & MySQL (install sebagai service) agar otomatis hidup saat laptop menyala.
  3. Ekstrak monitorpic-php-xampp-v9.2.zip. Salin folder monitorpic ke C:\xampp\htdocs\ sehingga ada C:\xampp\htdocs\monitorpic\index.html.

Langkah 2 โ€“ Buat database

  1. Buka browser: http://localhost/phpmyadmin
  2. Klik tab Import โ†’ Choose File โ†’ pilih C:\xampp\htdocs\monitorpic\database.sql โ†’ klik Import di paling bawah.
  3. โœ… Berhasil bila muncul "Import has been successfully finished" dan di kiri ada database monitorpic.
Jika MySQL Anda memakai password, ubah DB_PASS di config.php (buka dengan Notepad).

Langkah 3 โ€“ Buka aplikasi & isi data nyata

  1. Buka http://localhost/monitorpic/ โ†’ login admin / admin123.
  2. Klik nama akun (kanan atas) โ†’ Profil Saya โ†’ isi No. WA Anda (format 6281234567890, tanpa +, tanpa 0 di depan) dan Email โ†’ Simpan. Ganti password bila perlu.
  3. Menu kiri Administrasi โ†’ Pengguna โ†’ klik Ubah pada tiap PIC โ†’ isi No. WA & Email asli PIC.
  4. Pada Pengguna โ†’ Ubah, pastikan tiap PIC memiliki Level pegawai dan Status pegawai (menentukan siapa boleh meng-assign dan menu yang bisa dibuka). Level & status dapat diubah di Parameter โ†’ Level Pegawai / Status Pegawai.
  5. Menu kiri Administrasi โ†’ Parameter โ†’ Sistem & Bantuan โ†’ isi Nomor WA Admin (untuk tombol hijau ๐Ÿ’ฌ Bantuan di pojok kanan bawah semua halaman, termasuk halaman login) โ†’ Simpan.
Penting: nomor WA pada data contoh (628000000xxxx) bukan nomor asli sehingga aman. Jangan mengisi nomor asli PIC sebelum Anda selesai uji coba dengan mode tes (Langkah 6).

Langkah 4 โ€“ Hubungkan WhatsApp (pilih SATU opsi)

Opsi A (disarankan): Fonnte โ€“ tinggal scan QR sekali

  1. Buka fonnte.com โ†’ daftar akun โ†’ login.
  2. Menu Device โ†’ Add Device โ†’ isi nomor WhatsApp pengirim (disarankan nomor khusus kantor, bukan nomor pribadi).
  3. Di HP: WhatsApp โ†’ โ‹ฎ / Pengaturan โ†’ Perangkat tertaut โ†’ Tautkan perangkat โ†’ scan QR yang tampil di Fonnte. Status device harus Connected.
  4. Salin Token device (di halaman Device).
  5. Buka C:\xampp\htdocs\monitorpic\config.php dengan Notepad, isi:
    define('WA_PROVIDER', 'fonnte');
    define('FONNTE_TOKEN', 'tempel-token-di-sini');
    Simpan.

Catatan: kuota/harga paket Fonnte dapat berubah โ€” cek di situs mereka. HP pengirim cukup tetap online sesekali.

Opsi B: Gateway lokal di laptop (gratis, tidak resmi)

  1. Install Node.js LTS dari nodejs.org (Next-Next-Finish).
  2. Klik dua kali jalankan_wa_gateway.bat. Pertama kali akan mengunduh komponen (ยฑ150 MB, tunggu).
  3. Jendela hitam menampilkan QR. Scan lewat WhatsApp โ†’ Perangkat tertaut โ†’ Tautkan perangkat. โœ… Muncul "WhatsApp TERHUBUNG".
  4. Di config.php isi:
    define('WA_PROVIDER', 'local');
  5. Biarkan jendela gateway tetap terbuka (atau taruh pintasan jalankan_wa_gateway.bat di folder Startup: tekan Win+R โ†’ ketik shell:startup).
Opsi B memakai pustaka tidak resmi; WhatsApp berpotensi membatasi nomor yang mengirim pesan massal. Pakai nomor khusus & volume kecil.

Langkah 5 โ€“ (Opsional) Email otomatis via Gmail

  1. Akun Google โ†’ Keamanan โ†’ aktifkan Verifikasi 2 langkah.
  2. Buka myaccount.google.com/apppasswords โ†’ buat App Password (nama bebas) โ†’ salin 16 karakter.
  3. Isi di config.php:
    define('SMTP_HOST', 'smtp.gmail.com');
    define('SMTP_PORT', 587);
    define('SMTP_USER', 'emailanda@gmail.com');
    define('SMTP_PASS', 'abcdefghijklmnop');   // App Password, tanpa spasi
    define('SMTP_FROM_NAME', 'Admin Dashboard');

Email berisi daftar item bernomor yang sama dengan pesan WhatsApp. Untuk Office 365 gunakan smtp.office365.com port 587 (SMTP AUTH harus diaktifkan admin IT).

Langkah 6 โ€“ Uji coba AMAN (mode tes)

  1. Di config.php isi nomor/email Anda sendiri agar semua pesan dialihkan ke Anda:
    define('WA_TEST_NUMBER', '6281234567890');
    define('EMAIL_TEST_ADDRESS', 'emailanda@gmail.com');
  2. Di aplikasi: menu kiri Reminder โ†’ Jadwal & Template โ†’ kartu Koneksi WhatsApp & Email โ†’ pastikan status hijau "siap" โ†’ klik Tes kirim WA ke saya dan Tes kirim Email ke saya. โœ… Pesan tes masuk di WhatsApp/Email Anda.
  3. Masih di halaman yang sama, kartu Template Pesan Otomatis โ†’ klik Pratinjau untuk melihat bentuk pesan. Contoh hasil:
  4. Klik Kirim sekarang (semua tiket aktif) atau klik dua kali tes_reminder_sekarang.bat. โœ… Anda menerima pesan per PIC (berawalan "[MODE TES โ€“ seharusnya ke โ€ฆ]"). Cek juga menu Reminder โ†’ Riwayat Pengiriman (1 baris per PIC, kanal "WA + Email" tetap 1 baris).

Langkah 7 โ€“ Atur jadwal 08:00 & aktifkan scheduler Windows

  1. Menu kiri Reminder โ†’ Jadwal & Template โ†’ kartu Jadwal Pengiriman Otomatis: pilih Frekuensi (mingguan / setiap hari kerja / setiap hari), Jam kirim 08:00, Kanal, dan Item yang dikirim โ†’ Simpan Jadwal. Bagian "Jadwal berikutnya" menampilkan waktu kirim terdekat.
  2. Klik dua kali buat_jadwal_reminder.bat. Jika muncul peringatan, klik kanan โ†’ Run as administrator. โœ… Muncul "BERHASIL: jadwal โ€ฆ dibuat".
  3. Cek: tekan Win โ†’ ketik Task Scheduler โ†’ Task Scheduler Library โ†’ ada MonitorPIC Reminder (Last Run Result 0x0 = sukses).
Cara kerjanya: Windows menjalankan cron.php tiap 15 menit. Skrip hanya mengirim bila hari & jam cocok dan hari itu belum terkirim. Jika laptop baru menyala pukul 09:10, pesan tetap terkirim saat itu (hanya sekali per hari). Pengaturan jadwal tidak perlu diubah di Windows โ€” cukup ubah di aplikasi.
Agar tidak terlewat: laptop harus menyala (boleh Sleep; tugas sudah diatur membangunkan laptop) dan MySQL hidup (centang Svc di XAMPP). Apache tidak wajib untuk pengiriman, hanya untuk membuka aplikasi. Nonaktifkan Hibernate/Shutdown terjadwal pada jam tersebut.

Langkah 8 โ€“ Go-live

  1. Pastikan semua PIC sudah memiliki No. WA & Email asli (menu Pengguna).
  2. Di config.php kosongkan WA_TEST_NUMBER dan EMAIL_TEST_ADDRESS โ†’ kembalikan menjadi ''. Status "MODE TES" di menu Reminder akan hilang.
  3. Ganti Alamat website pada template menjadi alamat yang dipakai PIC (mis. http://192.168.1.10/monitorpic bila diakses dari jaringan kantor โ€” gunakan IP laptop, dan izinkan Apache di Windows Firewall).
  4. Ganti password akun contoh (admin123 dst.) dan set password MySQL root.

Fitur baru v8 (ringkas)

Fitur baru v9 (ringkas)

Pemecahan masalah

GejalaPenyebab & solusi
Status "MODE SIMULASI"Token/SMTP di config.php masih kosong atau file belum disimpan. Isi lalu muat ulang halaman.
WA: "Fonnte: โ€ฆreason"Token salah / device belum Connected / kuota habis / nomor tujuan bukan nomor WhatsApp. Cek di dashboard Fonnte.
WA: "Gateway lokal tidak aktif"jalankan_wa_gateway.bat belum dijalankan atau QR belum discan.
Email: "SMTP: 535 โ€ฆ"Pakai App Password (bukan password biasa) dan verifikasi 2 langkah aktif.
Email: "Tidak bisa terhubung ke SMTP"Firewall/antivirus memblokir port 587; coba port 465 atau jaringan lain.
Tidak terkirim jam 08:00Cek logs\cron.log; pastikan MySQL hidup, tugas "MonitorPIC Reminder" ada di Task Scheduler, hari/frekuensi & jam benar, dan belum terkirim hari itu (last_run). Uji dengan tes_reminder_sekarang.bat.
"0 PIC dikirimi"Tidak ada tiket yang memenuhi: reminder tiket nonaktif, status Done, atau item "Hanya ๐Ÿ”ด/๐ŸŸก" dipilih sementara tidak ada tiket merah/kuning. Ubah ke "Semua tiket belum selesai".
Bantuan selalu Offline / Parameter โ€บ Bantuan Admin errorDatabase belum lengkap (tabel/kolom bantuan). Buka CMD di folder aplikasi: C:\xampp\php\php.exe migrate.php (aman, tidak menghapus data), lalu muat ulang. Buka Parameter โ†’ Bantuan Admin untuk melihat waktu server & status; bila perlu klik Paksa Online sementara.
Halaman putih / error databaseMySQL belum Start, atau DB_USER/DB_PASS di config.php salah.

Cetak panduan ini ke PDF: tekan Ctrl+P โ†’ Save as PDF.