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

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 :
- Aplikasi Penunjuk Jam dan Hari Saat Ini
- Sms Gateway : Membuat Auto Responder Sederhana (Bag. 1)
- Sms Gateway : Membuat Auto Responder Sederhana (Bag. 2)
- SMS Gateway : Aplikasi Polling SMS Sederhana
- SMS Gateway, Alexa Rank, dan Wordpress 2.8.6
- Mengirim SMS ke Banyak Nomor Sekaligus (Bulk SMS) Dengan NowSMS

thank’s ya mas
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.
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..
gimana script supaya jika formatnya salah, pengirim mendapatkan respone info gt mas???
wah… makasih bgt ya mas…
seperti dpt angin segar nih….
tulisannya simple, bagus, dan sangat bermanfaat.
sekali lagi makasih
@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
waahh..siip neh. bisa di modif. thanks y mas
manstab….
mau tanya donk mas,,klo kita punya hosting mu dibikin sbg sms gateway caranya gmn?
tempebasah.com
@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.
wah makasih mas… ilmu yang bermanfaatnya… smoga jadii amal jariyah… amin
nowsms kan berbayar mas, itu seandainya dah hilang masa trialnya gimana ?
@eko narimo : Terima kasih atas doanya. Amiiiin.
@aagun2006 : masa trial 60 hari. Habis itu ya harus beli.
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.
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
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..
makasih program nya, pas saya coba ko hp ga autorespon(ngga bales)? kenapa ya?
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…..:)
buat temen2 yang lagi belajar sms autorespond add me!! on facebook… (fendi rahman)
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?
Mas,kalo data siswanya banyak, harus diketik manual satu persatu ya?
@dhimas :
Lha kalau nggak diketik gimana dong mas ?
Ada ide ?
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.
mantap artikelnya…
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……………..
@syawal :
Ok pak. Ditampung dulu request-nya.
kalo harganya berapanya? dimana belinya? apa harus beli online??
mohon pencerahannya?
thx b4
harga nowsms maksudnya
thx
[...] 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, [...]
[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)
sorry pak sudah bisa autorespondnya. he he ternyata penyebabnya kerena HP nya kehabisan pulsa.
@angkasa :
Harganya bisa dilihat di nowsms.com
@SAFA :
Syukurlah kalau sudah berhasil.
koq auto respondnya gak bisa ? apa harus pake nowsms versi yg terbaru yah ? soalnya sy pake yg versi 2007
auto respondnya gak bisa mas… apa harus pake nowsms versi yg terbaru yah ? soalnya sy pake yg versi 2007
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.
Informasi yang sangat bermanfaat dan menggugah, mengingat sy sbg guru he he he
gaq jalan paq..
napa yach ???
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….
Error: Invalid Parameter
Invalid format for telephone number.
plisss dmn penyebabnya ????
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..
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
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
@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
Mas admin…
Kya yg dsbutin om hisyam diatas, apa bener nowsms milih2 hape nokia?? Soalny hape saya g bs autoresponnya…
Hape saya s40 soale!
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
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
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…
gmn mas admin… klo mw bwt klo format salah ad jwban sndri…
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 …
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……….
Terimakasih atas tutorialnya yang sangat bermanfaat, tetapi bisakah script diatas diganti gateway-nya menggunakan gammu bukan NowSMS? Kalau bisa mohon penjelasannya. Terimakasih