Apakah kalian pernah melihat iklan-iklan di TV yang intinya mengajak kita untuk mengirim sms dengan pesan ketik
“REG ………” Jika ngak pernah artinya ngak pernah lihat TV berarti (hehe, lagi mati lampu mungkin). Itu adalah salah satu contoh dari aplikasi sms gateway.
Contohnya salah satu artis di indonesia ( initial CL) dengan kata-kata ketik “
REG spasi NAMA ARTIS”. Apakah tuh artis membalasnya atu-atu (bisa pegel kalau ada 1000 sms ). Yang membales sms kita sejatinya adalah program yang dirancang sedemikian rupa, kemudian dikirimkan ke HP kita secara otomatis. Coba perhatikan format penulisan sms, kenapa kok harus di awali dengan
REG kemudia harus di beri
spasi kemudian
NAMA ARTIS, coba deh ngirimnya ngak ngikutin format pasti deh ngak bisa diproses. Karena format sms tersebut digunakan agar program yang telah diseting sebelumnya bisa memproses sms kita kemudian merepon dan membalasnya secara otomatis.
Namun apakah aplikasi SMS gateway ini hanya dipakai oleh peramal, pesulap, artis ataupun penyedia konten-konten HP? Tentu saja tidak, aplikasi SMS gateway juga dimanfaatkan dalam pemerintahan (poling misalnya), pendidikan (mengetahui nilai, absen, peminjaman buku), Bank (sms banking), pengisian pulsa dan masih banyak lagi. Hal ini disebabkan karena sinyal dari perangkat mobile sudah mencapai desa-desa. Bayangkan internet yang masih terbatas di kota-kota maupun kecamatan-kecamatan.
Mengingat begitu luasnya aplikasi dari SMS gateway ini, penulis berusaha membahas tentang SMS gateway ini. Diharapkan pembaca dapat mempraktikkan langsung tentang SMS gateway ini.
Berikut diagram dari SMS gateway
Cara kerjanya pun cukup simpel, ketika user mengirimkan sms dengan format tertentu (semisal NILAI spasi NIS) kemudian dikirimkan maka sms tersebut akan dikirimkan melewati jaringan operator HP yang kita gunakan dan kemudian meneruskannya ke no HP tujuan (tentu saja no HP yang menyediakan layanan SMS gateway). Selanjutnya akan diproses oleh komputer yang didalamnya telah terseting program untuk melayani sms tersebut.
Jika format sms yang dterima valid, semisal sms yang diterima adalah “NILAI 102” maka selanjutnya program akan mengecek ke database tentang nilai dari NIS 102, setelah adanya kecocokan maka kemudian program SMS gateway ini akan mengirimkan sms secara otomatis ke no HP yang telah mengirimkan sms tersebut, semisal
Nilai Try Out Budi. SAINS 50, BIG 60, MTK 70. Ataupun dengan kalimat sms yang lain (tergantung setingan program dari SMS Gateway)
Ini mungkin sedikit perkenalan dan penjelasan tentang SMS Gateway, lihat juga artikel kami tentang SMS gateway yang lain.
Baiklah kita mulai mempersiapkan perangkatnya, trus apa aja sih perangkat yang harus kita sediakan?
Untuk perangkat kerasnya adalah:1. Sebuah modem HP (tentu saja HP yang bisa dijadikan modem). Penulis menggunakan W950i
Anda dapat menyediakan 2 buah dimana satunya digunakan untuk modem satunya untuk mengirimkan request ke SMS gateway. Namun jika anda punya satu tidak masalah.
2. Sebuah kabel data atau bluetooth untuk mengoneksikan modem HP dengan komputer
3. Satu buah komputer atau laptop
4. Yang terakhir ini ngak wajib kok. Sediain kopi mocacino panas plus cemilan deh biar ngak kelaperan
Sedangkan untuk perangkat lunaknya adalah :1. Mysql, appserv, php (gunain aja appserv karena php, mysql dan appservnya sudah paketan) sebagai webserver
2. OS (penulis sudah mencoba menggunakan OS windows XP dan Windows 7 dan dapat berfungsi dengan baik) windows vista penulis kira bisa digunakan
3. Aplikasi SMS Gateway NowSMS (cari aja di mbah google tuh aplikasi)
4. Driver dari modem HP (PC Suite istilahnya)
Berikut langkah-langkahnya:1. Hubungkan Modem HP kita menggunakan kabel data ataupun bluetooth
2. Instal driver modem HP kita menggunakan PC suite dari HP tersebut
3. Lihat di device manager apakah sudah dikenali modem HP kita
4. Jika sudah dikenali selanjutnya instal appserv kita (penulis menggunakan yang versi 2.5.7) dan cek apakah seudah berjalan dengan mengetikkan
http://localhost di addres bar browser kita
Jika sukses akan tampil seperti di gambar
5. Selanjutnya instal nowsms di komputer kita, setelah selesai jalankan aplikasi nowsms (jangan lupa menghubungkan komp dengan modem GSM). Seting aplikasi now sms
Aplikasi now sms ketika dijalankan pertama kali
Setting program nowsms1. klik addd untuk menambahkan modem HP kita
2. Pilih GSM Phone or Modem kemudian klik OK
3. Pilih modem HP kita (anda bisa memasukkan PIN ataupun tidak) kemudian klik Test and Add Modem. Kalau berhasil muncul tulisan modem successfully tested!!
4. Pilih modem HP kita, kemudian pilih properties
5. Kemudian isikan Phone Number dengan no HP dari Modem HP kita dan pilih receive SMS Messages (lihat gambar)
6. Kemudian klik OK
7. Langkah selanjutnya adalah menjalankan SMS gateway service, Klik Service di menu atas program now sms, Kemudian check sms gateway run as a service, Anda akan dimintai persetujuan dan nowsms akan restart dirinya secara otomatis untuk berjalan sebagai service.
8. berikut gambar now sms yang sudah berfungsi sebagi service:
end of seting now sms
Lanjutan langkah-langkah
6. Wuih panjang banget, Nah setingan kita sudah selesai. Selanjutnya kita cek yuk untuk ngirim SMS. Untuk mengirim sms buka browser kalian dan ketikkan
http://localhost:88007. Selanjutnya masukkan no HP tujuan (bisa pakai HP yang digunakan untuk modem SMS gateway atau HP yang satunya). Kemudian klik submit
8. Jika sudah terkirim maka setingan kita sudah benar
Dalam kasus yang akan kita bahas, penulis menggunakan skenario request orang tua siswa untuk mengetahui nilai dari try out yang diadakan oleh sebuah lembaga pendidikan.
Baiklah langsung kita mulai saja pembahasannya, jangan lupa siapkan secangkir minuman hangat plus cemilan biar ngak kelaperan.
1. Silahkan koneksikan modem GSM dengan komputer
2. Buka program nowsms yang sudah diseting sebelumnya (pastikan SMSC statusnya OK)
3. Buatlah sebuah database di mysql menggunakan PHP Myadmin dengan nama “nowsms” (tanpa tanda kutip)
4. Kemudian jalankan query berikut untuk membuat tabel di database nowsms
CREATE TABLE IF NOT EXISTS inbox (
id int(5) NOT NULL auto_increment,
sender varchar(15) NOT NULL DEFAULT ” ,
isi text NOT NULL DEFAULT ” ,
tgl varchar(100) NOT NULL DEFAULT ” ,
PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS nilai (
id bigint(20) NOT NULL auto_increment,
nis varchar(5) NOT NULL DEFAULT ” ,
big varchar(4) NOT NULL DEFAULT ” ,
mtk varchar(4) NOT NULL DEFAULT ” ,
sains varchar(4) NOT NULL DEFAULT ” ,
PRIMARY KEY (id)
);
5. Kedua tabel diatas “inbox” berfungsi untuk menyimpan pesan yang masuk dan “nilai” untuk menampung nilai-nilai siswa
6. Kemudian masukkan query berikut di tabel “nilai”
INSERT INTO nilai VALUES(“1″,”105″,”90″,”50″,”70″);
INSERT INTO nilai VALUES(“2″,”109″,”30″,”40″,”50″);
INSERT INTO nilai VALUES(“3″,”109″,”60″,”90″,”40″);
INSERT INTO nilai VALUES(“4″,”405″,”70″,”80″,”90″);
Kalau binggung cara buatnya silahkan download saja database yang sudah jadi
download(jangan lupa membaca readme untuk pemasangannya)
7. Itu saja database yang kita siapkan, selanjutnya kita buat program menggunakan bahasa pemprograman php. Kita bisa menggunakan program dreamweaver ataupun bila tidak ada bisa menggunakan notepad. Tuliskan script program berikut dan save di folder
c://appserv/www/ buat folder dengan nama sms dengan nama index.php
<?$db_host = "localhost"; // isi saja dengan localhost
$db_user = "root"; // username db
$db_pass = "root"; // pass db
$db_name = "sms"; // nama database yang dipakai
// script untuk mengoneksikan ke database kita //
$link = mysql_pconnect ($db_host, $db_user, $db_pass) or die ("Ga bisa connect");
mysql_select_db ($db_name) or die ("Ga bisa select database");
$tgl=date("d-m-Y");
$isi = trim($isi);
// Masukkan data sms yang masuk ke tabel inbox //
$sql = "INSERT INTO inbox SET id='',sender='$sender',isi='$isi',tgl='$tgl'";
$query = mysql_query($sql) ;
// Ambil pesan kemudian pecah menjadi per kata//
$pesan = $_GET['isi'];
$textarray = explode(' ', $pesan);
$nis = $textarray[1];
$id = $textarray[0];
// Kirimkan kembali hasil permintaan nilai ke pengirim jika format pengiriman diawali dengan nis jika tidak hanya ditampung saja ke inbox //
if ($id==nilai)
{
// Ambil data dari tabel nilai berdasarkan nis yang diterima dari pengirim //
$sql1 = mysql_query("SELECT * FROM nilai WHERE nis='$nis'");
$row1 = mysql_fetch_array($sql1);
$big = $row1[big];
$mtk = $row1[mtk];
$sains = $row1[sains];
header("Location:http://127.0.0.1:8800/?PhoneNumber=$sender&Text=Nilai+Try+Out+NIS+$nis+:+BIG+$big,+MTK+$mtk,+SAINS+$sains");
}
?>
silahkan download scriptnya disini
download(jangan lupa membaca readme untuk pemasangannya)
7. Setelah kita buat script phpnya kemudian kita perlu seting program nowsmsnya agar bisa memproses script yang sudah kita buat
8. Buka program nowsmsnya, kemudian klik tab 2-Way
9. Centang Proses Received SMS Messages
10. Pada bagian SMS Command Prefix masukkan NILAI (artinya sms dengan awalan NILAI saja yang akan diproses oleh script php) atau
* (artinya semua sms akan diproses dimana pada script akan dipisahkan antara sms yang berawalan nilai yang akan otomatis dijawab sedangkan yang tidak dimulai dengan nilai maka akan langsung disimpan di database). Pada Receive Phone Number masukkan no HP dari modem GSM. Dan pada Command to Execute masukkan “
http://localhost/sms/index.php?sender=@@SENDER@@&isi=@@FULLSMS@@” (tanpa tanda kutip), kemudian klik add. Jangan lupa klik Apply (kita akan diminta izin untuk merestart program, pilih OK)
11. Wuih sudah selesai deh. Sekarang Coba kirim sms dengan format “NILAI 105” (tanpa tanda kutip) dan kirimkan ke no SMS Center HP yang sudah kita seting
12. Jika setingan sudah benar maka akan dapat balesan
“Nilai Try Out NIS 105 : BIG 90, MTK 50, SAINS 70”
13. Anda bisa mengkreasikan kalimat balasan dengan mengedit script PHP
14. Disamping membalas secara otomatis script tersebut juga akan langsung menyimpan sms dengan awalan NILAI di tabel inbox
Baiklah langsung saja kita mulai, skenarionya adalah sebuah sekolah yang ingin mengumumkan sesuatu ke orang tua siswa tentang sesuatu hal. Berikut langkah-langkahnya:
1. Jalankan query berikut untuk membuat tabel data siswa di database yang telah kita buat sebelumnya (tabel ini berisi tentang data-data siswa seperti nama, no hp, dsb)
CREATE TABLE IF NOT EXISTS data_siswa (
id bigint(20) NOT NULL auto_increment,
nis varchar(5) NOT NULL DEFAULT ” ,
kelas varchar(10) NOT NULL DEFAULT ” ,
kelas_detail varchar(10) NOT NULL DEFAULT ” ,
nama varchar(100) NOT NULL DEFAULT ” ,
no_hp varchar(20) NOT NULL DEFAULT ” ,
RIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS kirim (
id tinyint(4) NOT NULL auto_increment,
no_hp text NOT NULL DEFAULT ” ,
PRIMARY KEY (id)
);
2. Kemudian masukkan data siswa ke dalam tabel tersebut dengan menjalankan query berikut
INSERT INTO data_siswa VALUES(“1004″,”109″,”VIII”,”VIII D”,”Ghaza”,”085649921023″);
INSERT INTO data_siswa VALUES(“1005″,”123″,”VII”,”VII A”,”Khoiril”,”085649921034″);
INSERT INTO data_siswa VALUES(“1006″,”322″,”IX”,”IX A”,”gigih”,”085649921678″);
INSERT INTO kirim VALUES(“1″,”0″);
Silahkan download database yang dibutuhkan jangan lupa membaca readme nya
download3. Setelah databasenya siap selanjutnya kita akan buat script phpnya untuk mengirimkan sms. Simpan di folder www pada program appserv
4. Script diatas merupakan antar muka untuk pengiriman sms, berikut tampilannya
5. Kemudian ketika di submit maka script tersebut akan mengeksekusi script insert.php. Berikut script dari insert.php (tempatkan satu folder dengan file form.php)
$db_host = "localhost"; // isi saja dengan localhost
$db_user = "root"; // username db
$db_pass = "root"; // pass db
$db_name = "sms"; // nama database yang dipakai
// script untuk mengoneksikan ke database kita //
$link = mysql_pconnect ($db_host, $db_user, $db_pass) or die ("Ga bisa connect");
mysql_select_db ($db_name) or die ("Ga bisa select database");
// Jika yang dipilih Semua Kelas (VII, VIII, IX) //
if ($kelas==semua)
{
$sql=mysql_query("SELECT * FROM data_siswa");
while($sis=mysql_fetch_array($sql))
{
$ambil=mysql_query("SELECT * FROM kirim where id='1'");
$tmpl=mysql_fetch_array($ambil);
$hp=$tmpl[no_hp];
$no_hp=$sis[no_hp];
// jika nilai dari baris no_hp pada tabel kirim 0 jalankan ini //
if($hp=='0')
{
$update=mysql_query("UPDATE kirim SET no_hp='$no_hp'");
}
// jika nilainya tidak kosong jalankan script ini //
else
{
$update=mysql_query("UPDATE kirim SET no_hp='$hp,$no_hp'");
}
}
}
// Kelas-kelas tertentu saja //
else
{
$sql=mysql_query("SELECT * FROM data_siswa WHERE kelas='$kelas'");
while($sis=mysql_fetch_array($sql))
{
// ambil data dari tabel kirim //
$ambil=mysql_query("SELECT * FROM kirim where id='1'");
$tmpl=mysql_fetch_array($ambil);
$hp=$tmpl[no_hp];
$no_hp=$sis[no_hp];
// jika nilai dari baris no_hp pada tabel kirim 0 jalankan ini //
if($hp=='0')
{
$update=mysql_query("UPDATE kirim SET no_hp='$no_hp'");
}
// jika nilainya tidak kosong jalankan script ini //
else
{
$update=mysql_query("UPDATE kirim SET no_hp='$hp,$no_hp'");
}
}
}
// gantikan spasi antar kata dengan + //
$words = explode (' ', $text);
$text = join('+', $words);
// ambil nilai dari tabel kirim dimana idnya 1 //
$ambil1=mysql_query("SELECT * FROM kirim where id='1'");
$tmpl1=mysql_fetch_array($ambil1);
$sender=$tmpl1[no_hp];
// kirimkan sms ke no yang sudah disimpan di tabel kirim //
header("Location:http://127.0.0.1:8800/?PhoneNumber=$sender&Text=$text");
?>
6. Setelah kita memilih kelas dan menuliskan pesan selanjutnya akan diproses oleh script diatas. No HP penerima diperoleh dari tabel data siswa, yang dipisahkan berdasarkan kelas-kelasnya
Hii mungkin agak repot yah scriptnya di mengerti. Kalau ngak ngerti cukup download script berikut
download