Aplikasi Informasi Absensi Siswa Dengan SMS Gateway

Beberapa minggu yang lalu saya baca di sebuah surat kabar online yang menyatakan bahwa sebuah SMU di Jogjakarta telah memanfaatkan teknologi sms gateway untuk menunjang aktivitas akademik.

Dengan teknologi tersebut, orang tua siswa tidak perlu lagi datang ke sekolah untuk memastikan anaknya tidak bolos. Cukup kirim SMS dengan format dan nomor tujuan yang telah ditentukan, beberapa detik kemudian jawaban tentang keberadaan siswa tersebut di sekolah sudah diterima.

Nah, sekarang saya ingin membuat sebuah aplikasi dengan fungsi yang mirip-mirip dengan aplikasi di atas.

Dengan aplikasi ini, jika kita mengirim SMS ke nomor tujuan tertentu dengan format :

ABSEN (spasi) NIS (spasi) BULAN

maka kita akan mendapatkan informasi tentang jumlah hari absen siswa dengan NIS (nomor induk siswa) tertentu pada bulan tertentu.

Misalnya : ABSEN 0979843 Agustus

Agar dapat mengikuti tulisan ini dengan baik, sebaiknya Anda baca juga :

Sms Gateway : Membuat Autoresponder Sederhana (Bag. 1)
Sms Gateway : Membuat Autoresponder Sederhana (Bag. 2)
Sms Gateway : Aplikasi Polling Sms Sederhana

Database Absensi

Untuk dapat menjalankan aplikasi ini, tentu saja kita harus punya database yang berisi tentang absensi siswa. Mula-mula buatlah database dengan nama “absensi”, kemudian buat table dengan script di bawah :

CREATE TABLE IF NOT EXISTS `absen` (
`nama_siswa` varchar(25) NOT NULL,
`ni_siswa` varchar(6) NOT NULL,
`bulan` varchar(10) NOT NULL,
`absen` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `absen` (`nama_siswa`, `ni_siswa`, `bulan`, `absen`) VALUES
('Budi Harjo', '092340', 'Agustus', 2),
('Siti Nurhaliza', '092341', 'Agustus', 0),
('Rahmawati', '092342', 'Agustus', 9),
('Agus Sofyan', '092343', 'Agustus', 1),
('Moh. Yanto', '092344', 'Agustus', 3),
('Kris Dayati', '092345', 'Agustus', 0),
('Rohmat', '092346', 'Agustus', 14),
('Budi Harjo', '092340', 'September', 3),
('Siti Nurhaliza', '092341', 'September', 1),
('Rahmawati', '092342', 'September', 7),
('Agus Sofyan', '092343', 'September', 4),
('Moh. Yanto', '092344', 'September', 2),
('Kris Dayati', '092345', 'September', 1),
('Rohmat', '092346', 'September', 11);

Script Php Untuk Mengolah SMS Masuk

Setelah database terbuat, kita membutuhkan sebuah script Php yang akan mengolah SMS yang masuk, dan memberi respon sesuai permintaan :

<?php

function koneksi(){
// konfigurasi database
// sesuaikan dengan konfigurasi Anda
$user = "root";
$pass = "";
$db = "absensi";
$host = "localhost";
$konek = mysql_connect($host, $user, $pass);
mysql_select_db($db, $konek);
}

// Ambil data dari url, yaitu url yang Anda masukkan
// pada kolom Command to execute di NowSMS
$sender = $_GET['sender'];

// Pisahkan NIS dan Bulan
$pesan = $_GET['pesan'];
$textarray = explode(' ', $pesan);
$ni_siswa = $textarray[0];
$bulan = $textarray[1];

// Look up data di database
koneksi();
$sql = "SELECT * FROM absen WHERE ni_siswa='$ni_siswa' AND bulan='$bulan'";
$qry = mysql_query($sql);
$row = mysql_fetch_array($qry);
$nama_siswa = $row[nama_siswa];
$absen = $row[absen];

// Jika nama siswa ada spasi, ganti spasi dengan tanda +
$words = explode (' ', $nama_siswa);
$nama_siswa = join('+', $words);

// Memberi respon (autorespon) terhadap sms yang masuk
header("Location:http://127.0.0.1:8800/?PhoneNumber=$sender&Text=$nama_siswa+pada+bulan+$bulan+absen+
sebanyak+$absen+hari");

?>

Simpan script di atas dengan nama absensi.php

Memberi Perintah ke SMS Gateway

Langkah berikutnya adalah memberi perintah kepada gateway (NowSMS) untuk menjalankan script absensi.php setiap ada SMS yang masuk :

  1. Jalankan NowSMS, dan buka tab 2-Way.
  2. Beri tanda centang pada Process Received SMS Message
  3. Biarkan Character Set pada posisi default, yaitu utf-8
  4. Ketikkan “ABSEN” (tanpa tanda petik) pada kolom SMS Command Prefix, yang artinya hanya sms dengan kata pertama “ABSEN” saja yang akan diproses
  5. Ketikkan nomor handphone penerima sms, yaitu nomor handphone yang tersambung ke komputer, pada kolom Receive Phone Number(s)
  6. Ketikkan “http://localhost/sms/absensi.php?sender=@@SENDER@@&pesan=@@SMS@@” (tanpa tanda petik) pada kolom Command to Execute
  7. Klik Add

sms gateway absensi

Kesimpulan

Cobalah kirim SMS dengan format :

ABSEN (spasi) 092341 (spasi) September

dan kirim ke nomor HP yang berfungsi sebagai SMS server, maka Anda akan mendapat balasan sebagai berikut :

Siti Nurhaliza pada bulan September absen sebanyak 1 hari

Cek respon yang Anda dapat dengan data di database Anda.

Aplikasi di atas adalah sebuah contoh aplikasi SMS interaktif yang masih sangat sederhana. Aplikasi ini saya buat sekedar untuk menunjukkan bagaimana mengolah SMS yang masuk dan memberi respon dengan mengambil nilai-nilai (value) dari database.

Jika Anda ingin menerapkan aplikasi ini di sekolah Anda, tentu saja aplikasi ini masih banyak kekurangan yang harus disempurnakan.

Tags: , , , , , , , , , , ,

Comments
  1. mwla
  2. syawel
  3. vie
  4. vie
  5. dika
  6. Admin
  7. neyra07
  8. tempe
  9. Admin
  10. eko narimo
  11. aagun2006
  12. Admin
  13. ali
  14. ekokepri
  15. dektri
  16. kiki
  17. angger
  18. fendi rahman
  19. kiki
  20. dhimas
  21. Admin
  22. dhimas
  23. herwanto
  24. syawal
  25. Admin
  26. angkasa
  27. angkasa
  28. SAFA
  29. SAFA
  30. Admin
  31. roelee
  32. roelee
  33. rendy007
  34. Cafe Trader
  35. budi
  36. Ansari
  37. sandy
  38. hisyam
  39. hisyam
  40. hisyam
  41. Admin
  42. Xlywon
  43. erwin
  44. erwin
  45. reb3l
  46. reb3l
  47. fifah
  48. reza
  49. hamdan
  50. Admin
  51. yuni cicit
  52. fahmineo
  53. aldi
  54. rizal
  55. Andi
  56. makki
  57. wisnu
  58. antonius key
  59. aryo
  60. dEnnia
  61. kakdidi
  62. anasmuawam
  63. rhedazhu
  64. rian
  65. riski
    • Admin
  66. bayu
  67. bayu
  68. fauzi arianto
  69. fauzi arianto

Tulis komentarmu

%d bloggers like this: