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

Catatan :
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”;
$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 autoresponder

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.

Jika Anda ingin mencobanya di rumah, script php dan database download di sini.

Related posts :

  1. Aplikasi Penunjuk Jam dan Hari Saat Ini
  2. Sms Gateway : Membuat Auto Responder Sederhana (Bag. 1)
  3. Sms Gateway : Membuat Auto Responder Sederhana (Bag. 2)
  4. SMS Gateway : Aplikasi Polling SMS Sederhana
  5. SMS Gateway, Alexa Rank, dan Wordpress 2.8.6
  6. Mengirim SMS ke Banyak Nomor Sekaligus (Bulk SMS) Dengan NowSMS

Incoming search terms for the article:

aplikasi sms gateway | tutorial sms gateway | absensi siswa | sms gateway absensi | absen siswa | contoh aplikasi sms gateway | aplikasi sms gateway dengan php | APLIKASI INFORMASI | APLIKASI ABSEN | ABSEN NOW SMS | aplikasi absensi siswa | php absensi | program aplikasi absensi siswa | download absensi php | aplikasi sms dengan php | aplikasi sms | aplikasi sms gateway php | absen sms gateway | buat absensi siswa php | tutorial sms gateway sekolahan | cara mendapatkan informasi isi sms at command | software absensi sms gateway | software absen siswa | aplikasi absensi dengan php | format absensi siswa | absen sisi wa | script php absensi siswa | download aplikasi now Sms gateway | sms absen | tabel absensi siswa |

51 Comments

  1. mwla says:

    thank’s ya mas

  2. syawel says:

    Al hamdulilah, akhirnya yang ditunggu dtg juga, terima kasih buat Mas Admin, atas tutorial nya yang sangat bagus, semoga jadi amal buat Mas, dan bermanfaat buat kita semua.

  3. vie says:

    mas..file2 php’nya itu disimpan dmn mas??
    maaf sy mse awam..
    sy menggunakan wamp5 ..
    di folder www itu ya mas?? sy sh buat folder sms ddlm fol www itu..
    tp mse tdk ada respon.tlg bntuanna..

  4. vie says:

    gimana script supaya jika formatnya salah, pengirim mendapatkan respone info gt mas???

  5. dika says:

    wah… makasih bgt ya mas…

    seperti dpt angin segar nih….
    tulisannya simple, bagus, dan sangat bermanfaat.

    sekali lagi makasih :D

  6. Admin says:

    @vie :
    - Kalau di WAMP disimpan di bawah foler www
    Silahkan baca dulu :
    Sms Gateway : Membuat Auto Responder Sederhana Bag. 1
    dan
    Sms Gateway : Membuat Auto Responder Sederhana Bag. 2

    - Kalau mau cek apakah format sms yang diterima sudah sesuai, maka explode dulu semua isi sms, misalnya : $words = explode(’ ‘, $isi_sms);
    kemudian nilai yang tersimpan di array $words di cek sesuai dengan format tidak,
    pakai logika program if … else … endif.

    @dika :
    You’re welcome

  7. neyra07 says:

    waahh..siip neh. bisa di modif. thanks y mas

  8. tempe says:

    manstab….
    mau tanya donk mas,,klo kita punya hosting mu dibikin sbg sms gateway caranya gmn?

    tempebasah.com

  9. Admin says:

    @tempe : baca kembali bag. Memberi Perintah ke SMS Gateway point no. 6. Ketikkan url yang menuju ke file di web anda misalnya : http://namadomainku.com/sms/absensi.php?sender=@@SENDER@@&pesan=@@SMS@@

    Tentu saja komputer Anda, dimana gsm modem terpasang, harus konek ke internet.
    Selamat bereksperimen.

  10. eko narimo says:

    wah makasih mas… ilmu yang bermanfaatnya… smoga jadii amal jariyah… amin :)

  11. aagun2006 says:

    nowsms kan berbayar mas, itu seandainya dah hilang masa trialnya gimana ?

  12. Admin says:

    @eko narimo : Terima kasih atas doanya. Amiiiin.

    @aagun2006 : masa trial 60 hari. Habis itu ya harus beli.

  13. ali says:

    mas di percobaan kali nin saya pakek hp siemen c55, dan di komputer managemen terdeteksi sebagai port com5. apa g masalah? cos aku uda ikuti step2 itu berkal2 dan kok g bisa ngbales.di tunggu jawabannya.

  14. ekokepri says:

    Terima Kasih atas programnya, tapi saya mohon pencerahan dong, saya sudah mencoba dengan script yang diberikan. System sudah bisa nerima smsnya tapi kok gak ngebalas ya? Saya sudah coba berulangkali dan sudah saya sederhanakan scriptnya tanpa pengolahan database pun tidak bisa juga. Kenapa ya? Tolong jawabannya. Trims

  15. dektri says:

    mas admin, mohon pencerahan donk..
    maksudnya ambil data dari URL itu apa? kok kita bisa tau kalo data itu yang akan dieksekusi di NowSMS?
    kalau dr contoh yg di atas kan "ABSEN NIS(berupa karakter) BULAN(berupa karakter juga)". nah kalau misalnya saya bkin program neh, input data dr pengirim berupa gabungan karakter n numerik, itu gmn caranya? makasi sebelumnya..

  16. kiki says:

    makasih program nya, pas saya coba ko hp ga autorespon(ngga bales)? kenapa ya?

  17. angger says:

    mas / mbak admin bsa bntu g.saat ne sya lg bkin Tugas Akhir SMS Gateway caranya membuat beberapa autorespond pada satu nowSMS gmn y.contohnya autorespon Absensi dan Nilai.Makasih…..:)

  18. fendi rahman says:

    buat temen2 yang lagi belajar sms autorespond add me!! on facebook… (fendi rahman)

  19. kiki says:

    sms absensi autorespond nya sudah jalan, cuman sms balasan nya ada 2.
    yang kedua kali nya (command not completed, request returned invalid content type:text/html)
    bagaimana ngilangin nya, Y?

  20. dhimas says:

    Mas,kalo data siswanya banyak, harus diketik manual satu persatu ya?

  21. Admin says:

    @dhimas :
    Lha kalau nggak diketik gimana dong mas ?
    Ada ide ?

  22. dhimas says:

    sms absensi autorespond nya sudah jalan, cuman sms balasan nya (command not completed, request returned invalid content type:text/html),salah dimana ya mas?thx.

  23. herwanto says:

    mantap artikelnya…

  24. syawal says:

    Mas.., tutorial mas sudah saya coba dan sukses, namun ada namun nya mas. tiba-tiba Kasek minta dibuatkan seupaya jika ada keperluan mendadak kasek bisa memberitahukan kepada setiap guru yang terdaftar no hp-nya. secara sekaligus mas…, jadi biar nggak bolak-balik sms. Pake now sms gimana caranya mas…, mohon dibantu selengkap-lengkapnya….he..he…
    thanks berat sak b4e……………..

  25. Admin says:

    @syawal :
    Ok pak. Ditampung dulu request-nya.

  26. angkasa says:

    kalo harganya berapanya? dimana belinya? apa harus beli online??
    mohon pencerahannya?

    thx b4

  27. angkasa says:

    harga nowsms maksudnya

    thx

  28. [...] hari yang lalu, saya mendapatkan komentar dari Pak Syawal (sy4**l@g***l.com) di salah satu tutorial SMS Gateway yang ada di blog ini, isinya sebagai berikut : Mas.., tutorial mas sudah saya coba dan sukses, [...]

  29. SAFA says:

    [SMS]
    SubmittedBy=127.0.0.1
    Data=Terima kasih. Informasi Anda akan segera kami tindaklanjuti.
    PhoneNumber=627617654329
    [ErrorDetail]
    RetryCount=8
    LastRetryTime=20100206100210
    LastErrorInfo=ERROR – Modem Response (2): +CMS ERROR: 111 — Bluetooth Modem

    (Udah saya ulang beberapa kali, tapi tetap gak mau autorespond-nya. Saya cek di Outbound SMS Queue nya, Kata2 spt diatas. Tolong tunjukin caranya pak)

  30. SAFA says:

    sorry pak sudah bisa autorespondnya. he he ternyata penyebabnya kerena HP nya kehabisan pulsa. :D

  31. Admin says:

    @angkasa :
    Harganya bisa dilihat di nowsms.com

    @SAFA :
    Syukurlah kalau sudah berhasil.

  32. roelee says:

    koq auto respondnya gak bisa ? apa harus pake nowsms versi yg terbaru yah ? soalnya sy pake yg versi 2007

  33. roelee says:

    auto respondnya gak bisa mas… apa harus pake nowsms versi yg terbaru yah ? soalnya sy pake yg versi 2007

  34. rendy007 says:

    pa kabar Pak.. mohon pecerahannya ya Pak atas permasalahan saya berikut ini.

    saya udh coba tes sms autorespond dan dapat balasan 2 sms. pertanyaan saya sama seperti yang ditanyakan teman berikut :

    kiki says:
    sms absensi autorespond nya sudah jalan, cuman sms balasan nya ada 2.
    yang kedua kali nya (command dhimas says:
    December 13, 2009 at 3:26 pm

    dhimas says:
    sms absensi autorespond nya sudah jalan, cuman sms balasan nya (command not completed, request returned invalid content type:text/html),salah dimana ya mas?thx.

    jadi inti pertanyaan saya dan teman lainnya adalah :
    1. kenapa ada 2 sms balasan.
    2. sms pertama isi pesan balasannya benar seperti apa yang kita inginkan.
    sms kedua isi pesannya berikut ini (command not completed, request returned invalid content type:text/html).kenapa bisa timbul sms yang kedua ini dan kenapa bisa muncul pesan error ini.
    3. gimana caranya supaya sms balasan yang kita terima cuma 1 sms saja yaitu sms yang asalnya dari script respon yang yang telah kita bikin.

    tambahan satu lagi buat teman-2 :
    jika sms balasan tidak diterima coba no hp dikasih kode area berdasarkan standar penulisan nomor internasional. hal ini berhasil dari percobaan saya dan sms terkirim dengan sempurna tapi sayang sms dikirim ada 2 sms yang mana yang sms 1 betul sesuai harapan dan sms 2 tidak sesuai harapan..

    sebelumnya saya ucapkan terimakasih karena bapak mau membantu saya.

    bagi teman yang mengetahui solusi masalah diatas share ilmunya disini ya..
    balasan bisa via email ke awenkaja@gmail.com.

  35. Cafe Trader says:

    Informasi yang sangat bermanfaat dan menggugah, mengingat sy sbg guru he he he

  36. budi says:

    gaq jalan paq..
    napa yach ???

  37. Ansari says:

    Mas, saya punya database sbb :

    CREATE TABLE IF NOT EXISTS `masterbuku` (
    `kd_kategori` varchar(6) NOT NULL default ”,
    `judul_buku` varchar(250) NOT NULL default ”,
    `jumlah` int(2) NOT NULL default ‘0′,
    `stock` int(2) NOT NULL default ‘0′,
    `status` varchar(25) NOT NULL default ”,
    `no_induk` varchar(10) NOT NULL default ‘0′,
    PRIMARY KEY (`kd_kategori`,`no_induk`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    Yang saya inginkan, saya mau membuat sms gateway autoreply, misalnya saya ketik “KODEKode-Kategori” tapi yang muncul di balasannya adalah “Kode yang Anda minta berjumlah dan stock yang tersedia . Terima Kasih….”

    Mohon bantuannya mas, saya butuh sekali mas…. Terimakasih sebelumnya mas….

  38. sandy says:

    Error: Invalid Parameter
    Invalid format for telephone number.

    plisss dmn penyebabnya ????

  39. hisyam says:

    hai bapak..

    saya sudah menginstall dan menuruti setiap langkah yang diterangkan di dalam tutorial bapak, dan menggunakan now sms, tetapi..

    setiap kali saya menghantarkan arahan ABSEN (spasi) 092341 (spasi) September

    ia akan masuk ke dalam handphone dan tiada balasan..

    saya menggunakan nokia n95 8gb…

    bapak, bisa bantu saya?

    terima kasih di atas bantuan.. :)

  40. hisyam says:

    hai bapak..

    boleh bantu saya, saya menggunakan nokia n95 8gb, adakah handphone ini menyokong untuk 2 way sms, kerana sms yang dihantar ke handphone tersebut sampai, tetapi untuk balasan absensinya tidak sampai..

    jika, perlukan ongkos bagi proses pembelajaran dan support, saya bisa bayar, tetapi berapa ya?

    mohon bantuan dari bapak.

    hisyam

  41. hisyam says:

    salam semua..

    dan saya telah berjumpa dengan masalah yang dihadapi oleh handphone nokia, iaitu ia tidak boleh membuatkan nowsms membaca AT command ataupun membaca mesej dalam inbox handphone kita, dan untuk nokia s60 1st and 2nd generation, boleh menggukann yang dinamakan ginapplet dan boleh download di sini..

    http://www.gnokii.org/download/gnapplet/

    dan pilihlah ginapplet.sis ..

    tetapi untuk nokia n95 8g ia telah menggunakan symbian 60 3rd generation, iaitu memerlukan extension .sisx.. tetapi telah saya cari2 masih lagi tidak ketemu.. dan jika ada sesiapa yang boleh membantu untuk mengubah extension ini, silakan ya pak..

    dan, selamat berjaya kepada yang memakai nokia yang 1st dan 2nd genaration, dan jangan lupa untuk install nokia pc suite dulu dan barulah buat sambugan ke now sms gateway.

    http://www.nokia.com.my/get-support-and-software/download-software/nokia-pc-suites/compatibility-and-download

    selamat berjaya.. dan terima kasih di atas perkongsian yang hebat ini.. :)

    hisyam,
    dari malaysia

  42. Admin says:

    @Hisyam :

    Terima kasih atas informasinya yang sangat bermanfaat.

    Saya sering mendapat laporan bahwa script saya tidak berjalan dengan baik di Nokia. Kalau menemui masalah seperti ini, saya selalu menyarankan untuk memakai Sony Ericsson, dan pada biasanya problemnya selesai.

    Ternyata masalahnya adalah seperti bro Hisyam sampaikan.

    Terima kasih.

    :sungkem

  43. Xlywon says:

    Mas admin…

    Kya yg dsbutin om hisyam diatas, apa bener nowsms milih2 hape nokia?? Soalny hape saya g bs autoresponnya…
    Hape saya s40 soale!

  44. erwin says:

    mas, saya dah baca semua artikel nya anda dan sudah mencoba semuanya… tapi setelah saya coba ternyata autorepondnya tetap nggak bisa..

    mohon bantuannya, terima kasih

  45. erwin says:

    untuk nowsms dah bisa buat ngirim pesan, cuma untuk inbox nya langsung masuk ke hape.. dan autotespondnya nggak bisa jalan.. saya memakai hp 3250 …

    terimakasih

  46. reb3l says:

    mas admin mw tnya… klo script spt diatas,klo mw dibuat sot formay slah gmn ya??? saya sdh cb tp ko g berhasil ya…. mohon pencerahannya…

  47. reb3l says:

    gmn mas admin… klo mw bwt klo format salah ad jwban sndri…

  48. fifah says:

    mas mau nanya saya dah download smsbulknya tapi ketika saya jalankan muncul tulisan
    Error: Invalid Parameter
    Invalid format for telephone number. , padahal kalau pake http://localhost:8800/ program bawaanya mau kirim sms, mohon bantuannya …

  49. reza says:

    trima kasih semua tutorialnya mas dah tak coba jadi semua, tapi ini ada beberapa masalah rencana kami mau bikin sms pengaduan pelayanan gangguan dengan now sms dari beberapa wilayah yang masing2 wilayah punya operator ( pimpinan + punya hp). wilayah A dengan kode 01789, B dgn kode 02123, C dng kode 03235 dan D dgn Kode 04235 ( untuk kode 2 digit depan nomor wilayah, 3 digit belakangnya nomor pelanggan). misal di wilayah B pelanggan nomor 02123 melaporkan gangguan , gimana mas biar sms tersebut masuk ke operator (pimpinan B) dan di server merekam dan menampilkan semua sms laporan yang masuk. trimakasih mas….. semoga mas bertambah ilmunya……….

  50. hamdan says:

    Terimakasih atas tutorialnya yang sangat bermanfaat, tetapi bisakah script diatas diganti gateway-nya menggunakan gammu bukan NowSMS? Kalau bisa mohon penjelasannya. Terimakasih

Anda boleh berkomentar di sini. 100% gratis.