Friday, 27 November 2009

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_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



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.

Ditulis Oleh : khoiril anwar // 17:34
Kategori:

14 komentar:

  1. Saya sudah membuat sms gateway dengan nowsms, sudah jalan normal alias bisa di pakai. tujuan saya ingin menggabungkan dengan tcl untuk bot eggdrop saya memakai tcl dari clickater tetapi kok belum bisa ya. apakah ada tcl khusus atau editan untuk url sejenis nowsms. dan di mana downloadnya. mohon balesannya di pvpgn26 [at] gmail.com yah

    ReplyDelete
  2. "tcl untuk bot eggdrop" wah saya malah baru denger istilah itu

    ReplyDelete
  3. pak khoiril bisa di kirimkan file phpnya dan databasenya sebagai contoh, maklum saya newbie pak. ke email sujiantho@gmail.com

    trima kasih pak

    ReplyDelete
  4. mas, script php'a mana? saya mentok ni di auto respon, please tolongin ya... mumpung lg ramadhan ni

    ReplyDelete
  5. maaf mas wibowo, lupa ngak dicek linknya. sekarang sudah diperbaiki kok linknya.

    ReplyDelete
  6. pak tolong contoh yang sudah jadi kirim ke anamhaerul@gmail.com
    makasih pak

    ReplyDelete
  7. Mas saya tanya dong...
    saya sudah buat aplikasi untuk terima sms pakai php, sudah buat tabel inbox, sudah ikuti smua petunjuk settingan untuk nowsms seperti yang mas jelaskan, permasalahannya dari nowsmsnya tidak ada traffic yang masuk, jadi sms yang masuk hanya masuk ke hp saja dan tidak bisa dimasuk ke inbox, sedangkan untuk kirim sms bisa, apa settingan dari nowsmsnya ada yang kurang yah..? terimakasih

    ReplyDelete
  8. mas anam monggo silahkan di download di link yang sudah kami kasih

    ReplyDelete
  9. coba baca http://ikhwaniril.blogspot.com/2009/11/membangun-sms-gateway-itu-gampang.html dilangkah lima kemungkinan belum tercentang receive SMS Messagges

    ReplyDelete
  10. Mas khirul., gmna caranya kalu sms gateway dg now sms ini khusus bagi yg sudah melakukan registrasi, contoh REG NILAI ****, setelah melakukan reg baru bisa mengambil nilainy?

    ReplyDelete
  11. yah script phpnya mas eful yang mengolah yang nentuin apakah nomer yang telah registrasi saja yang di layani.

    ReplyDelete
  12. Maaf saya ada sedikit pertanyaan,
    Saya juga sudah mengikuti semua langkah, api setiap ada sms yang masuk, no sender tidak tersimpan di tabel inbox. Mohon bimbingannya..
    Terima kasih

    ReplyDelete
  13. Terima kasih saya ucapkan...sungguh bagus sekali contoh kamu.Peace No War~

    ReplyDelete
  14. mau nnya dung..
    saya kan udah coba tutorial yg mas buat, tapi koq masih tetep kaga bisa yah???

    yg pertama sms ny ga masuk ke database trs yg kedua saya ngga terima sms blz an kaya yg mas contohin gtu..

    mohon banget bantuan sama bimbingan ny, buat bahan TA saya..

    ReplyDelete