Membuat Aplikasi Kirim SMS Gratis Via Web dengan PHP dan MySQL


Masih terkait dengan SMS gateway, dalam artikel kali ini saya akan mencoba memaparkan cara membuat sendiri aplikasi kirim SMS gratis via web. Permintaan untuk membuat artikel dengan topik ini sudah banyak masuk ke email saya maupun komentar dalam blog ini. Namun, mohon maaf baru kali ini saya bisa mewujudkannya.
Untuk membuat fasilitas kirim SMS gratis via web, kita membutuhkan sebuah aplikasi gateway untuk mengirim SMS. Aplikasi sms gateway ini nanti kita install atau letakkan di pc yang ada di rumah kita beserta modem/hp yang tercolok pada PC tersebut sebagai alat untuk mengirim SMS. PC ini harus senantiasa terhubung ke internet untuk berkomunikasi dengan PC server yang ada di hosting. Sedangkan di dalam hosting, kita buat semacam script form untuk interface user yang ingin mengirim SMS. Untuk aplikasi sms gateway yang diinstall di PC rumah, Anda bisa menggunakan Gammu sebagai enginenya.
Pertanyaan yang muncul kemudian adalah bagaimana cara mengkomunikasikan PC server yang ada di hosting dengan PC di rumah, atau dengan kata lain bagaimana mengirim data sms yang disubmit via hosting kemudian bisa sampai di PC rumah lalu mengirimkan sms tersebut via modem/hp?
OK… konsep dasar atau ide dasar dalam pembuatannya adalah kita menggunakan semacam web service yang dibuat di server hosting untuk komunikasi antara PC rumah dan PC hosting. Web service ini nanti senantiasa akan diakses oleh PC rumah. Melalui web service inilah SMS akan dikirim dari PC hosting ke PC rumah. Lantas, apa bentuk output dari web service ini? Web service disajikan dalam bentuk XML yang isinya adalah bunyi SMS dan nomor tujuan SMS yang akan dikirim. Data XML yang berisi bunyi sms dan nomor tujuan inilah yang nanti akan dibaca oleh PC rumah, lalu mengirimkannya lewat SMS gateway (Gammu).
Nah.. sekarang kita menuju implementasi cara pembuatannya :




Langkah pertama, Anda harus sudah menginstall Gammu sebagai tool SMS gateway nya. Pastikan Anda bisa mengirim SMS menggunakan Gammu dan HP/modem yang tercolok di PC Anda.
Langkah kedua, buatlah script form untuk mengirim SMS. Script form ini nanti diletakkan di server hosting
sms.html
<form method="post" action="kirim.php">
No. Tujuan <input type="text" name="destination">
Isi SMS<br><textarea name="sms"></textarea>
</form>
Bila diperhatikan, form kirim SMS di atas nantinya akan disubmit di script kirim.php. Di dalam script kirim.php inilah nomor tujuan dan isi SMS akan disimpan dalam tabel temporary pada database server hosting. Misalkan kita beri nama tabel temporary tersebut adalah ‘outbox’. Kita bisa buat tabel ‘outbox’ ini dengan struktur sbb:
CREATE TABLE `outbox` (
  `id` int(11) AUTO_INCREMENT,
  `destinationNumber` varchar(20),
  `sms` text,
  PRIMARY KEY (`id`)
)
Field ‘id’ digunakan sebagai nomor unik penanda setiap SMS yang akan dikirim, field ‘destinationNumber’ untuk menyimpan nomor tujuan SMS, dan ‘sms’ untuk menyimpan isi SMS.
OK, kita buat script kirim.php nya
kirim.php
<?php
   // koneksi ke mysql server hosting
   mysql_connect('dbhost', 'dbuser', 'dbpass');
   mysql_select_db('dbname');

   // baca nomor tujuan dan isi sms dari form
   $destNumber = $_POST['destination'];
   $sms = $_POST['sms'];

   // query insert data sms ke tabel 'outbox'
   $query = "INSERT INTO outbox (destinationNumber, sms) VALUES ('$destNumber', '$sms')";
   mysql_query($query);

   echo "SMS sudah dikirim...";
?>
Setelah data sms yang dikirim tersimpan dalam tabel ‘outbox’, langkah selanjutnya kita buat script web service untuk menyajikan data sms yang tersimpan dalam tabel ‘outbox’ tersebut ke dalam bentuk dokumen XML. Misalkan kita beri nama script untuk mengenerate XML ini ‘data.php’
data.php
<?php
// koneksi ke mysql server hosting
mysql_connect('dbhost', 'dbuser', 'dbpass');
mysql_select_db('dbname');

// membuat header dokumen XML
header('Content-Type: text/xml');
echo "<?xml version='1.0'?>";

// membuat root tag untuk data XML
echo "<outbox>";

// query untuk membaca seluruh SMS yang ada di tabel outbox

2 komentar

Mantab Pak.. Nanti kita coba :)

rata rata situs Indonesia copy paste

Silahkan Tinggalkan Komentar anda
EmoticonEmoticon