@AbsenRobot
by Mawan.NET

Sampai detik ini, AbsenRobot telah digunakan oleh 7163 grup (kelompok) Telegram. Di antaranya adalah milik lembaga kursus, sekolah, dan perguruan tinggi di Indonesia. Ada 14 grup yang sekarang sedang aktif membuka daftar hadir (absensi).

Mode Bebas dan Mode Ditentukan

Mawan A. Nugroho, 14 Agustus 2020.

AbsenRobot dirancang sedemikian rupa agar semudah mungkin dipakai, sehingga orang awam pun diharapkan mampu menggunakan aplikasi ini tanpa perlu susah payah mempelajari. Ini sejalan dengan aplikasi buatan saya sebelumnya yang diberi nama SisterFani, yang merupakan kependekan dari Sistem Informasi Terpadu Fast and Nice Interface.

Untuk alasan di atas, AbsenRobot dapat beroperasi dalam 2 mode, yaitu "Mode Bebas" dan "Mode Ditentukan". Mode Bebas tidak perlu melalui proses penyiapan (setup). Cukup undang AbsenRobot ke dalam grup, lalu langsung dipakai. Sedangkan Mode Ditentukan harus disiapkan terlebih dulu, baru setelah itu bisa digunakan.

Sebelum bisa menggunakan AbsenRobot dalam Mode Ditentukan, Group Creator (Group Owner) harus mempunyai daftar nama-nama anggota grup yang akan melakukan absensi. Bila Creator adalah seorang guru, daftar ini berupa nama-nama siswa di satu kelas. Satu baris untuk satu nama. Tidak perlu diberi nomor urut. Maksimal 100 nama. Bila ada 32 siswa, berarti ada 32 baris. Bila nama-nama itu masih ada di Microsoft Excel, sebaiknya disalin (copy paste) dulu ke Notepad. Bila nama seluruhnya huruf besar (huruf kapital) misalkan SA'ADAH, maka AbsenRobot akan mengubahnya menjadi Sa'adah. Bila ada gelar, nama dan gelar sebaiknya jangan kapital semua. Contoh: Jangan "RISNAWATI, SE" (Sarjana Ekonomi) tetapi harus "Risnawati, SE".

Setelah nama-nama disiapkan, Creator memberi perintah: /set_nama@AbsenRobot. AbsenRobot akan memberi tanggapan berupa kalimat "Silakan Group Creator (Owner) mereply pesan ini…" Balaslah (Reply) pesan tersebut. Pada Telegram for Desktop ada tombol Reply di kanan atas setiap pesan, tapi pada Android dan iOS harus ditap (klik) sekali untuk memunculkan pilihan Reply.
Tempelkan (paste) nama-nama yang telah disimpan, lalu tekan Enter atau Send.

Cara setting AbsenRobot Mode Ditentukan.

Tahap terakhir penyiapan adalah setiap anggota grup harus mengganti First Name-nya dengan nama yang telah dditentukan oleh Creator. Bila tidak persis sama, maka tidak bisa melakukan absensi. Last Name boleh dikosongkan, boleh juga diisi sembarang teks misalkan kelas.

Kelebihan Mode Ditentukan adalah mudah diketahui siapa yang telah melakukan absensi dan siapa yang belum melakukan absensi.

FAQs (Yang Sering Ditanyakan):

Tanya: Nama saya sudah benar, tapi kok tidak bisa mengabsen?
Jawab: Penyebabnya ada beberapa kemungkinan. Yang paling sering terjadi karena nama lengkapnya dipisah. Contoh: Udin Saripudin disetting akun Telegram ditulis: First Name: Udin. Last Name: Saripudin. Solusi untuk masalah ini adalah: First Name: Udin Saripudin. Last Name: Dikosongkan.
Penyebab lain karena mungkin pernah "iseng" mengganti namanya dengan nama siswa lain lalu melakukan absensi, sehingga Telegram-ID nya "nyangkut" di nama orang lain. Orang lain pun jadi sengsara karena tidak bisa mengabsen karena namanya sudah dikaitkan dengan Telegram-ID siswa yang iseng tersebut. Solusinya: Creator (Owner) memberi perintah /set_nama@AbsenRobot, mem-paste-kan semua nama siswa, lalu siswa mulai mengabsen seperti pada tahap awal.

Tanya: Ada pelajar yang membuat akun baru karena HP yang lama hilang. Sekarang dia tidak bisa mengabsen. Bagaimana solusinya?
Jawab: Satu nama siswa yang ditentukan oleh Creator (Owner) dikaitkan dengan satu Telegram-ID dengan relasi 1:1. Artinya, dua akun Telegram tidak bisa dipakai untuk mengabsen satu nama. Ini untuk mencegah ada siswa yang mengabsenkan temannya dengan cara mengganti namanya. Bila ada siswa yang ganti akun, Creator (Owner) terpaksa mengulang perintah /set_nama@AbsenRobot lalu mem-paste-kan semua nama siswa. Cara ini juga berlaku bila ada siswa baru atau ada siswa yang keluar.

Pindah Server

Mawan A. Nugroho, 22 Juli 2020.

Di luar dugaan, hanya dalam waktu 2½ bulan, tepatnya pada tanggal 22 Juli 2020, AbsenRobot telah dipakai oleh 2360 grup Telegram. Di antaranya adalah grup milik lembaga kursus, sekolah, dan perguruan tinggi. Banyaknya grup ini di satu sisi tentu patut disyukuri, sebab artinya aplikasi buatan saya dipandang berguna bagi masyarakat. Tapi di sisi lain, membuat server yang semula di Vultr, terpaksa harus dipindah ke server lain yang lebih baik kinerjanya. Akhirnya saya memilih Google Cloud, dengan data center di Eropa Tengah (Frankfurt, Jerman). Alasannya agar lebih dekat dengan server Telegram.

Alhamdulillah, setelah server dipindah, AbsenRobot bisa berfungsi lancar. Selama 2 hari lalu, AbsenRobot sempat tersendat-sendat karena terlalu banyak yang memakai.

AbsenRobot masih sepenuhnya dibiayai dari dana pribadi, dan gratis digunakan oleh siapa pun. Semoga aplikasi ini berguna bagi pendidikan di Indonesia.

Catatan tanggal 2 Agustus 2020 jam 09:00:
Server AbsenRobot dipindah lagi. Kali ini ke Netherlands, menggunakan server Vultr yang telah dilengkapi dengan media menyimpan NVMe (lebih cepat dari pada SSD).

Catatan tanggal 28 Agustus 2020 jam 02:24:
Untuk menekan biaya sewa VPS, server AbsenRobot dipindah lagi. Kali ini ke Inggris, menggunakan server OVH. VPS ini tidak memakai web control panel (misalkan cPanel, Plesk, dan sebagainya), melainkan secara manual dipasang Linux Ubuntu, Nginx, PHP, dan MySQL. Lumayan repot, tapi server menjadi lebih ringan dan saya bisa lebih leluasa menentukan konfigurasi.

Penggunaan AbsenRobot

Mawan A. Nugroho, 30 April 2020.

COVID-19 memaksa mayoritas sekolah di Indonesia melakukan pembelajaran jarak jauh, atau lebih dikenal dengan istilah BDR (Belajar di Rumah). Beberapa sekolah (termasuk tempat saya mengajar) menggunakan Moodle, Zoom, dan Telegram. Saya pikir, satu CMS dan dua layanan ini adalah kombinasi terbaik. Moodle bisa dipindah-pindah servernya. Saat sebelum ada Covid-19, server ditaruh di sekolah. Setelah ada Covid-19, server dipindah ke VPS (di luar sekolah), misalkan di Gedung Cyber Jakarta atau di Singapura. Pemindahan server ini untuk menjamin server lancar diakses dari rumah.

Masalahnya adalah, sulit mencatat kapan seorang siswa mulai melakukan aktivitas pembelajaran. Walau pun di Moodle ada plugin Attendance, tetap saja dirasa kurang praktis.

Maka dibuatlah bot Telegram bernama AbsenRobot.
Penggunaan bot ini cukup mudah. Langkah-langkahnya sebagai berikut:

  1. Guru membuat group di Telegram.
  2. Ketik AbsenRobot untuk mengundang bot ini masuk ke grup.
  3. Beri nama grup tersebut misalkan: Kelas XI MM 1.
  4. Dapatkan link undangan, lalu beritahukan link ini di Moodle.

Untuk memulai absensi, Creator (Owner) atau boleh juga Admin, mengetik:
/mulai@AbsenRobot

Siswa mengabsen dengan menekan tombol "Hadir". Di situ langsung muncul jam dan menit. Daftar hadir diurut berdasarkan abjad nama.

Untuk menutup Absensi, Creator (Owner) mengetik:
/selesai@AbsenRobot
Harus Creator. Administrator tidak bisa.

Catatan penting:
Untuk alasan ketertiban, Administrator tidak bisa menutup absensi. Yang bisa menutup hanya Creator (Owner), atau biarkan sampai tengah malam. Tepat jam 00:00, absensi akan ditutup sendiri oleh sistem.
Suatu sekolah mungkin ingin agar guru-gurunya bisa menutup absensi, walau pun bukan Creator (Owner) grup. Untuk mewujudkan kesaktian ini, sekolah bisa membuat satu grup khusus guru, kemudian menyampaikan ke saya nomor ID-Group nya dan mentransfer donasi biaya membeli kopi dan cemilan untuk saya, minimal Rp 150.000 per sekolah per bulan. Jumlah guru tak terbatas. Jumlah siswa juga tak terbatas.

Info lebih lengkap tentang donasi, sila hubungi saya di akun Telegram: @mawann.
Bila ingin belajar cara membuat bot, sebaiknya mempelajari langsung ke Telegram Bot API atau berdiskusi dengan orang-orang yang lebih ahli dari pada saya di stackoverflow.com.