Senin, 08 November 2010

Membangun SMS Gateway itu gampang-gampang susah Bagian 2 (Membuat Auto Responder)

Artikel kali ini merupakan kelanjutan dari artikel “Membangun SMS Gateway itu gampang-gampang susah Bagian 1”. Jadi anda haruslah membaca dan mempraktekkan artikel tersebut sebelum melangkah ke artikel ini.

Pada bagian kali ini kita akan membahas bagaimana agar setiap sms yang masuk akan langsung dibalas oleh program. Contohnya, ketika seseorang mengetikkan SMS “NILAI 001” maka program akan mengecek keberadaan siswa yang mempunyai NIS 001 di database kemudian akan mengirimkan nilai dari siswa tersebut.






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

9

$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



10

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
Itulah sedikit artikel yang membahas tentang bagaimana kita membuat sms center dengan fungsi membalas secara otomatis setiap sms yang masuk. Ikutilah lanjutan dari artikel kami tentang mengirimkan sms ke banyak orang menggunakan aplikasi ini. Mohon maaf jika ada kesalahan dalam penulisan, kritik dan saran yang bersifat membangun kami tunggu.

0 komentar:

Posting Komentar