blog.rosihanari.net

4
- Rosihan Ari's Blog - http://blog.rosihanari.net - Membuat Sendiri Kirim SMS Gratis Via Web dengan PHP dan MySQL Posted By rosihanari On December 8, 2010 @ 5:41 am In SMS Gateway | 66 Comments 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 [1] 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, TextDecoded, CreatorID) VALUES ('$destNumber', '$sms', 'Gammu')" 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

Upload: hermansyah

Post on 24-Oct-2015

51 views

Category:

Documents


0 download

DESCRIPTION

Refrensi

TRANSCRIPT

Page 1: Blog.rosihanAri.net

- Rosihan Ari's Blog - http://blog.rosihanari.net -

Membuat Sendiri Kirim SMS Gratis Via Web dengan PHP dan MySQLPosted By rosihanari On December 8, 2010 @ 5:41 am In SMS Gateway | 66 Comments

Masih terkait dengan SMS gateway, dalam artikel kali ini saya akan mencoba memaparkan cara membuat sendiri aplikasikirim SMS gratis via web. Permintaan untuk membuat artikel dengan topik ini sudah banyak masuk ke email saya maupunkomentar 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. Aplikasisms gateway ini nanti kita install atau letakkan di pc yang ada di rumah kita beserta modem/hp yang tercolok pada PCtersebut sebagai alat untuk mengirim SMS. PC ini harus senantiasa terhubung ke internet untuk berkomunikasi dengan PCserver yang ada di hosting. Sedangkan di dalam hosting, kita buat semacam script form untuk interface user yang inginmengirim SMS. Untuk aplikasi sms gateway yang diinstall di PC rumah, Anda bisa menggunakan Gammu [1] sebagaienginenya.

Pertanyaan yang muncul kemudian adalah bagaimana cara mengkomunikasikan PC server yang ada di hosting dengan PC dirumah, atau dengan kata lain bagaimana mengirim data sms yang disubmit via hosting kemudian bisa sampai di PC rumahlalu mengirimkan sms tersebut via modem/hp?

OK… konsep dasar atau ide dasar dalam pembuatannya adalah kita menggunakan semacam web service yang dibuat di serverhosting 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? Webservice disajikan dalam bentuk XML yang isinya adalah bunyi SMS dan nomor tujuan SMS yang akan dikirim. Data XML yangberisi 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 SMSmenggunakan 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 nomortujuan dan isi SMS akan disimpan dalam tabel temporary pada database server hosting. Misalkan kita beri nama tabeltemporary 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 menyimpannomor 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, TextDecoded, CreatorID) VALUES ('$destNumber', '$sms', 'Gammu')"; mysql_query($query);

echo "SMS sudah dikirim...";?>

Setelah data sms yang dikirim tersimpan dalam tabel ‘outbox’, langkah selanjutnya kita buat script web service untukmenyajikan data sms yang tersimpan dalam tabel ‘outbox’ tersebut ke dalam bentuk dokumen XML. Misalkan kita beri namascript untuk mengenerate XML ini ‘data.php’

data.php

Page 2: Blog.rosihanAri.net

<?php// koneksi ke mysql server hostingmysql_connect('dbhost', 'dbuser', 'dbpass');mysql_select_db('dbname');

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

// membuat root tag untuk data XMLecho "<outbox>";

// query untuk membaca seluruh SMS yang ada di tabel outbox$query = "SELECT * FROM outbox ORDER BY id";$hasil = mysql_query($query);while ($data = mysql_fetch_array($hasil)) // representasi data sms echo "<data>"; echo "<id>".$data['id']."</id>"; echo "<destination>".$data['destinationNumber']."</destination>"; echo "<sms>".$data['sms']."</sms>"; echo "</data>";echo "</outbox>";?>

OK… ketiga file di atas (sms.html, kirim.php, dan data.php) nanti diletakkan di dalam server hosting. Sampai langkah ini, kitasudah selesai bekerja di level server hosting. Langkah berikutnya adalah membuat script di sisi PC rumah.

Di dalam PC rumah, nantinya kita akan membuat script untuk membaca data sms yang tersaji dalam bentuk XML yangdigenerate melalui script ‘data.php’ yang ada di server hosting. Setelah data sms ini dibaca, kemudian kita masukkan kedalam tabel ‘outbox’ bawaannya Gammu untuk dikirim melalui hp/modem. Oya, kita perlu juga menghapus setiap data sms diserver hosting yang sudah dibaca. Mengapa hal ini dilakukan? ya dong, supaya tabel ‘outbox’ nya di server hosting tidakpenuh. Lantas, bagaimana cara menghapus data secara otomatis di server hosting setelah data sms nya terbaca? ya… kitagunakan CURL.

OK… ini dia script untuk membaca data sms dari XML nya.

bacasms.php

<?php// koneksi ke mysql di server localhostmysql_connect('dbhost', 'dbuser', 'dbpass');// nama database Gammu yang ada di localhostmysql_select_db('dbname');

// baca data XML dari server hosting yang digenerate oleh data.php$dataxml = simplexml_load_file('http://namasitus/data.php');foreach($dataxml­>data as $data) // baca field ID $id = $data­>id; // baca nomor tujuan $destination = $data­>destination; // baca isi sms $sms = $data­>sms;

// mengirim SMS via Gammu dengan insert data ke tabel outbox Gammu $query = "INSERT INTO outbox (DestinationNumber, TextDecoded) VALUES ('$destination', '$sms')"; mysql_query($query);

// hapus data SMS di server hosting yang sudah terbaca berdasarkan ID $curlHandle = curl_init(); curl_setopt($curlHandle, CURLOPT_URL, 'http://namasitus/hapus.php'); curl_setopt($curlHandle, CURLOPT_POSTFIELDS, 'id='.$id); curl_setopt($curlHandle, CURLOPT_HEADER, 0); curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlHandle, CURLOPT_TIMEOUT,30); curl_setopt($curlHandle, CURLOPT_POST, 1); curl_exec($curlHandle); curl_close($curlHandle);?>

Jika web server di PC localhost belum mendukung CURL, maka lakukan setting CURL [2] terlebih dahulu.

Eh… kalo kita liat pada script bacasms.php di atas, pada proses penghapusan data SMS yang ada di server hosting melaluiCURL terdapat pemanggilan script hapus.php. Nah… script ini belum kita buat di server hosting. Script hapus.php ini nantiberfungsi untuk menghapus data sms yang ada di tabel outbox dalam database server hosting berdasarkan ID nya setelahdata sms tersebut di baca oleh script bacasms.php.

Page 3: Blog.rosihanAri.net

hapus.php

<?php// koneksi ke mysql di server hostingmysql_connect('dbhost', 'dbuser', 'dbpass');mysql_select_db('dbname');

// baca ID data yang akan dihapus yang dikirim via CURL dari localhost$id = $_POST['id'];// hapus data SMS berdasarkan ID$query = "DELETE FROM outbox WHERE id = '$id'";mysql_query($query);

?>

Sekali lagi script hapus.php di atas harus ditaruh di server hosting lho ya… !!!

Selanjutnya script bacasms.php ini harus senantiasa kita jalankan melalui web browser localhost di PC rumah kita supaya bisaselalu membaca data sms yang ada di hosting lalu mengirimnya via Gammu. Lalu bagaimana supaya script bacasms.php inibisa secara otomatis berjalan dan selalu bisa membaca data dari server hosting? Sebenarnya Anda bisa mengklik tombolREFRESH pada web browser supaya script ini bekerja, namun tentu hal ini membuat report kan? Nah… salah satu solusi darihal ini adalah Anda bisa menjalankan autorefresh melalui AJAX yang secara otomatis merefresh script bacasms.php ini padasetiap selang n detik. Ini dia script nya…

index.php

<html><head><title>SMS Server Running...</title><script type="text/javascript">function ajax() if (window.XMLHttpRequest) xmlhttp=new XMLHttpRequest(); else xmlhttp =new ActiveXObject("Microsoft.XMLHTTP");

xmlhttp.onreadystatechange=function() if (xmlhttp.readyState==4 && xmlhttp.status==200)

xmlhttp.open("GET","bacasms.php"); xmlhttp.send(); setTimeout("ajax()", 5000);</script>

</head><body onload="ajax()"><h1>SMS Server Running...</h1></body></html>

Contoh script AJAX yang ada di index.php di atas diset supaya bisa merefresh secara otomatis bacasms.php dalam interval 5detik (5000 ms). Dengan demikian yang perlu Anda jalankan di localhost hanyalah script index.php di atas melalui browser.

Nah.. konsep di atas memungkinkan kita untuk bisa membangun aplikasi SMS gateway yang terintegrasi antara PC di serverhosting dengan PC di rumah tanpa menggunakan IP public yang urusan untuk mendapatkannya sangat ribet dan mahalbiayanya, atau tanpa menggunakan VPS maupun dedicated server untuk tipe hostingnya yang juga sangat mahal biayanya.

Anda dapat belajar teknik-teknik lain kaitannya dengan SMS gateway yang mengintegrasikan server hosting dengan pc rumahdengan contoh-contoh script SMS gateway [3] yang saya buat untuk belajar.

Oya… meskipun namanya SMS gratis, tapi tidak sepenuhnya gratis. Istilah Gratis hanya bagi si pengguna atau pengirim SMSmelalui web Anda, namun tidak gratis bagi si pemilik web karena harus menyisihkan sedikit biaya untuk bayar pulsa. Tapi takapalah, anggap saja itu biaya marketing untuk lebih mengenalkan web Anda, apalagi saat ini pulsa sms sangat murah Bisapula tambahkan string pada setiap SMS yang dikirimkan dengan nama situs Anda untuk lebih memperkuat branding webAnda. Untuk hal ini silakan utak-atik sendiri ya

Simpel bukan idenya??? Selamat mencoba…

Baca Juga Artikel Terkait

Page 4: Blog.rosihanAri.net

Membuat SMS Gateway Ucapan Ulang Tahun Otomatis dengan PHP + MySQL [4]

Membuat Sendiri Script PHP Untuk Backup MySQL [5]

Script SMS Gateway dengan PHP dan MySQL [6]

Membuat Script SMS Auto Forward dengan PHP [7]

Membuat Script Remote Shutdown Komputer Via SMS dengan PHP [8]

Article printed from Rosihan Ari's Blog: http://blog.rosihanari.net

URL to article: http://blog.rosihanari.net/membuat-sendiri-kirim-sms-gratis-via-web-dengan-php-dan-mysql/

URLs in this post:

[1] Gammu: http://blog.rosihanari.net/setting-gammu-untuk-aplikasi-sms-gateway[2] setting CURL: http://blog.rosihanari.net/teknik-mengirim-data-post-method-dari-remote-server-dengan-curl[3] contoh-contoh script SMS gateway: http://blog.rosihanari.net/script-pengirim-sms-massal-menggunakan-sms-gateway-dengan-php-dan-mysql[4] Membuat SMS Gateway Ucapan Ulang Tahun Otomatis dengan PHP + MySQL: http://blog.rosihanari.net/membuat-sms-gateway-ucapan-ulang-tahun-otomatis-dengan-php-mysql/[5] Membuat Sendiri Script PHP Untuk Backup MySQL: http://blog.rosihanari.net/membuat-sendiri-script-php-untuk-backup-mysql/[6] Script SMS Gateway dengan PHP dan MySQL: http://blog.rosihanari.net/script-pengirim-sms-massal-menggunakan-sms-gateway-dengan-php-dan-mysql/[7] Membuat Script SMS Auto Forward dengan PHP: http://blog.rosihanari.net/membuat-script-sms-auto-forward-dengan-php/[8] Membuat Script Remote Shutdown Komputer Via SMS dengan PHP: http://blog.rosihanari.net/membuat-script-remote-shutdown-komputer-via-sms-dengan-php/

Copyright © 2012 Rosihan Ari's Blog. All rights reserved.