[TIPS & TRIK] Cara Mengintegrasikan Sistem AutoReply GampSMS Dengan Aplikasi Lain
Salah satu kelebihan GampSMS dibandingkan software lain yang sejenis adalah dapat dengan mudah diintegrasikan dengan sistem lain yang sudah ada (existing system).
Sebagai contoh misalkan di suatu kampus sudah ada sistem informasi akademik yang di dalamnya ada database nilai dari mahasiswa. Data nilai mahasiswa yang sudah ada di sistem informasi akademik ini bisa diintegrasikan dengan GampSMS untuk menciptakan layanan cek nilai mahasiswa via SMS auto reply. Dengan demikian Anda tidak perlu repot-repot membeli software SMS khusus untuk layanan akademik yang harganya cukup mahal. Namun cukup dengan GampSMS, Anda bisa menciptakan layanan tersebut dengan cara yang mudah dan hemat.
Dalam tutorial ini, kami akan jelaskan cara mengintegrasikan GampSMS dengan database sistem lain yang sudah ada untuk menciptakan layanan SMS auto reply.
Kasus yang akan kami ambil sebagai contoh adalah SMS layanan akademik seperti contoh di atas. Misalkan di suatu kampus sudah memiliki data nilai akademik mahasiswanya, dengan struktur tabel databasenya sbb:

Misalkan tabel nilai di atas bernama ‘nilaimk’
Nah… dari data nilai di atas kita akan membuat layanan SMS akademik yang memungkinkan mahasiswa bisa mencek nilai matakuliah melalui SMS hanya dengan mengirim SMS dengan format: CEKNILAI#KODEMK#NIM, contoh: CEKNILAI#M0197001#MK001 yang selanjutnya secara otomatis si mahasiswa akan mendapat balasan SMS berisi nilai matakuliah tersebut.
Untuk mewujudkan hal ini, hal yang paling penting adalah pastikan bahwa PC yang sudah terinstal GampSMS bisa terkoneksi dengan baik dengan PC server yang di dalamnya terdapat database sistem informasi akademik tersebut.
Langkah selanjutnya yang harus dilakukan adalah membuat script untuk integrasinya. Script ini cukup mudah dibuat karena sudah saya sediakan templatenya di file ‘module.php’ dalam folder ‘sampel-integration’ pada direktori gampsms.
Template script integrasi tersebut berbentuk sbb:
<?php
// koneksi ke mysql sistem lain
$userDB = "...";
$passDB = "...";
$namaDB = "...";
$serverDB = "...";
// perintah SMS
$perintah = "...";
if (strtoupper($command) == getKeyword($perintah))
{
if (count($split) == getLength($perintah))
{
mysql_connect($serverDB, $userDB, $passDB);
mysql_select_db($namaDB);
// membaca nilai parameter SMS yang sesuai format
$param1 = $split[1];
$param2 = $split[2];
// query untuk mencari data sesuai nilai parameter
$query = "...";
$hasil = mysql_query($query);
if (mysql_num_rows($hasil) > 0)
{
$data = mysql_fetch_array($hasil);
// format balasan SMS ketika data ditemukan
$reply = "...";
}
else
{
// format balasan jika data hasil query tidak ditemukan
$reply = "...";
}
}
else
{
// format perintah jika format sms salah (jumlah parameter tidak sama)
$reply = "...";
}
}
?>
Template script di atas diasumsikan database dari sistem yang akan diintegrasikan dengan GampSMS menggunakan MySQL. Untuk mengintegrasikan GampSMS dengan database sistem yang sudah ada, cukup Anda lengkapi bagian yang masih berupa titik-titik di atas.
Pada bagian:
$userDB = "..."; $passDB = "..."; $namaDB = "..."; $serverDB = "...";
Isikan parameter koneksi. $userDB adalah nama user untuk akses ke mysql nya. $passDB adalah password user untuk akses. $namaDB adalah nama database yang akan diakses, dan $serverDB adalah nomor IP dari server yang di dalamnya terdapat database yang akan di akses.
Pada bagian
$perintah = "...";
Isikan format SMS yang Anda inginkan. Sebagai contoh, misalkan untuk kasus di atas isikan:
$perintah = "CEKNILAI#KODEMK#NIM";
Dalam format contoh di atas, terdapat 2 parameter yaitu KODEMK untuk menyatakan kode mata kuliah, dan NIM untuk nomor induk mahasiswanya. Sedangkan CEKNILAI adalah keywordnya.
Pada bagian:
$query = "...";
isikan query SQL untuk mencari data yang diinginkan. Data hasil pencarian ini nanti digunakan sebagai isi SMS auto reply nya (balasan SMS).
Setelah itu, terdapat pula beberapa bagian untuk menempatkan isi SMS reply nya, yaitu pada bagian
$reply = "...";
Ada 3 bagian untuk menempatkan isi SMS reply nya, yaitu ketika format SMS salah, ketika data yang dicari tidak ditemukan, dan ketika data ditemukan.
Selain bagian-bagian yang harus diisi di atas, perhatikan juga bagian
$param1 = $split[1]; $param2 = $split[2];
Bagian di atas digunakan untuk membaca nilai parameter dari SMS yang diterima. Dalam contoh di atas yang menggunakan format SMS: CEKNILAI#KODEMK#NIM, dimana KODEMK sebagai parameter ke-1, dan NIM sebagai parameter ke-2, maka untuk membaca kode matakuliah dari SMS yang masuk adalah dengan perintah
$param1 = $split[1];
Sedangkan perintah
$param2 = $split[2];
untuk membaca nilai nomor induk mahasiswa dari SMS yang diterima.
Sehingga, jika dalam format SMS nya terdapat parameter yang ke-3, maka Anda tinggal tambahkan saja perintah
$param3 = $split[3];
begitu seterusnya.
Nilai-nilai parameter yang sudah dibaca tersebut, nantinya digunakan untuk melakukan proses query atau pencarian data di database.
Berikut ini contoh script integrasi dari kasus di atas
<?php
// koneksi ke database mysql di PC 192.168.1.2
$userDB = "root";
$passDB = "root";
$namaDB = "mahasiswa";
$serverDB = "192.168.1.2";
// format perintah SMS
$perintah = "CEKNILAI#KODEMK#NIM";
if (strtoupper($command) == getKeyword($perintah))
{
if (count($split) == getLength($perintah))
{
mysql_connect($serverDB, $userDB, $passDB);
mysql_select_db($namaDB);
// membaca nilai KODEMK
$param1 = $split[1];
// membaca nilai NIM
$param2 = $split[2];
// query untuk mencari nilai mata kuliah dari siswa dengan nim tertentu
$query = "SELECT * FROM nilaimk WHERE kodemk = '$param1' AND nim = '$param2'";
$hasil = mysql_query($query);
if (mysql_num_rows($hasil) > 0)
{
$data = mysql_fetch_array($hasil);
// format balasan SMS ketika data ditemukan
$reply = "NIlai mata kuliah ".$data['kodemk']." adalah ".$data['nilai'];
}
else
{
// format balasan jika data hasil query tidak ditemukan
$reply = "Data nilai tidak ditemukan. Cek kembali KODEMK dan NIM.";
}
}
else
{
// format perintah jika format sms salah (jumlah parameter tidak sama)
$reply = "Perintah CEKNILAI salah. Perintah yang benar CEKNILAI#KODEMK#NIM";
}
}
?>
Simpan script di atas dengan nama file ‘module.php’ dan letakkan di dalam folder ‘gampsms’ (jangan di dalam folder ‘sampel-integration’).
Lantas, bagaimana jika kita ingin membuat lebih dari satu SMS auto reply untuk database yang berbeda, misalnya SMS autoreply untuk cek nilai, dan cek absensi. Caranya cukup mudah, yaitu anda buat lagi script seperti di atas untuk cek absensi, lalu letakkan di bawah script cek nilai dalam file module.php yang sama. Jadi dalam module.php terdapat 2 buah script seperti di atas.
Related posts:
























