Tips blog Cara Membuat SMS Gateway untuk Pemula Dengan Gammu dan PHP
Sebelumnya saya sudah membuat aplikasi SMS Gateway dengan gammu yaitu Aplikasi Reservasi Klinik Rumah Sakit. Sekarang saya akan menjelaskan bagaimana cara membuat SMS Gateway sendiri
dengan Gammu dan PHP.
Klik Next
Pilih komponen yang akan diinstall, rekomendasikan pilihan saya ini, karena kita akan menginstall komponen yang seperlunya saja
Install Service Xampp agar berjalan pada startup Windows. Fungsinya agar tidak susah payah menjalankan xampp.
Klik Start Windows (bawah kiri Windows ) cari dan klik submenu Xampp 1.8.1 pilih XAMPP Control Panel
Saya mendownload versi minimal , saat artikel ini dibuat versi gammu 1.33.0
Buat sebuah folder smsku pada c:\xamp\htdocs
Buka file gammu yang didowload tadi dengan winrar atau tools compression lainnya. Klik folder bin pada file gammu zip tersebut, lalu copy gammu yang di dowload tadi ke dalam folder smsku
dengan menseleksi semua filenya dan drag ke folder smsku
Ok guys, kita udah sampai setengah jalan untuk membuat aplikasi sms gateway dengan gammu dan php
Setelah 2 artikel sebelumnya, sekarang saya akan memberikan artikel konfigurasi gammu.
Ayo,modem USB dan kartu perdana GSM/CDMA tadi mana? apa sudah registrasi kartunya dan diisi pulsa? Jika sudah colokin Modem USB ke USB komputer, dan install paket drivernya
Di sini saya memakai Modem USB Advance
Cari port modem usb
Jika modem usb sudah terinstall dengan benar, maka buka Control Panel -> Device Manager
Buka kategori modem, nah di sana ada berbagai macam driver modem. Jika anda tidak tahu modem usb mana yang tertera pada kategori modem tersebut, copot lagi modem dan pasang lagi. Nah
device manager otomatis refresh list driver modem nya. Tahu maksud saya kan? :D
Modem USB saya di sini Global Wireless USB Modem, klik kanan dan klik properties. Klik tab modem
Modem saya menggunakan Port COM9 dan Maximum Port Speed 921600. Jadi untuk konfigurasi jenis koneksi/speed maximum modem begini :
[gammu]
# isikan port modem USB di bawah ini
port = COM9:
# isikan jenis connection di bawah ini
connection = at
simpan dengan nama gammurc (tidak pakai extension)
Buat database untuk gammu
Buka browser dan ketik (1)http://localhost/phpmyadmin
Klik (2)Database, Buat sebuah database (3) smskudb dan klik (4)Create
Buka kembali file gammu yang di download tadi, buka folder share -> doc -> gammu -> examples -> sql
Lalu import script mysql.sql dengan membuka http://localhost/phpmyadmin dan klik database smskudb, klik import . Klik browse, masuk folder smsku dan pilih mysql.sql dan klik Done
[gammu]
# isikan port modem USB di bawah ini
port = COM9:
# isikan jenis connection di bawah ini
connection = at
[smsd]
service = mysql
logfile = smsdlog
debuglevel = 0
# Inisial modem
phoneid = Server1
commtimeout = 10
sendtimeout = 10
PIN = 1234
pc = localhost
password =
# isikan nama database untuk Gammu
database = smskudb
Lalu simpan dengan nama smsdrc
Tes koneksi modem
Buka command prompt/cmd ketikkan seperti gambar
Jika terbaca maka ada info detail modemnya, berarti konfigurasi nya sukses :)
Install Services Gammu agar jalan otomatis saat Windows Startup
Buka command prompt/cmd dan ketikkan
<form method="post">
<label>No HP Format +62xxxxxxx </label>
<input type="text" name="nohp">
<label>Pesan</label>
<input type="text" name="pesan">
<input type="submit" name="button" value="Kirim">
</form>
<?php
if(isset($_POST['button']))
{
mysql_connect("localhost","root","");
mysql_select_db("smskudb");
$query=mysql_query("INSERT INTO outbox (DestinationNumber,
TextDecoded) VALUES ('".$_POST['nohp']."', '".$_POST['pesan']."')");
if($query)
{
echo "<script>alert('Sukses kirim sms')</script>";
}
}
?>
Keterangan :
Membuat form kirim pesan
<form method="post">
<label>No HP Format +62xxxxxxx </label>
<input type="text" name="nohp">
<label>Pesan</label>
<input type="text" name="pesan">
<input type="submit" name="button" value="Kirim">
</form>
if(isset($_POST['button']))
{
Buat koneksi database, masih ingat bukan tutorial installasi Local WebServer ? mysql_connect fungsi php untuk mengkoneksikan sebuah server database mysql_connect(nama server,user
database,password database), mysql_select_db fungsi php untuk memanggil database
mysql_connect("localhost","root","");
mysql_select_db("smskudb");
Query SQL atau bisa dikatakan perintah untuk MySQL Database. Lihat kembali http://localhost/phpmyadmin lalu pilih database smskudb, maka ada tabel outbox, nah tabel outbox tersebut diperintah
untuk diiskan
Jika query sql telah dijalankan, maka keluarkan output peringatan, kita sedikit menggunakan kode javascript :)
if($query)
{
echo "<script>alert('Sukses kirim sms')</script>";
}
<?php
mysql_connect("localhost","root","");
mysql_select_db("smskudb");
}else{
$query=mysql_query("INSERT INTO outbox (DestinationNumber,
TextDecoded, CreatorID) VALUES ('".$noPengirim."', 'Gagal
Registrasi. Format : REG#Tanggal#Nama#PRIA/WANITA#Alamat')");
}
}else{
$query=mysql_query("INSERT INTO outbox (DestinationNumber,
TextDecoded) VALUES ('".$noPengirim."', 'Gagal Registrasi.
Format : REG#Tanggal#Nama#PRIA/WANITA#Alamat')");
}
$query3 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
mysql_query($query3);
}
?>
Keterangan :
Query Inbox , melakukan pencarian data inbox yang masuk dalam modem USB dan tabel inbox
while($data= mysql_fetch_array($hasil)){
Membuat variabel untuk record data inbox
$id = $data['ID'];
$noPengirim = $data['SenderNumber'];
$msg = strtoupper($data['TextDecoded']);
$pecah = explode("#",$msg);
$d_tgl=$pecah[1];
$d_nama=$pecah[2];
$d_jk=$pecah[3];
$d_alamat=$pecah[4];
Jadi $d_nama adalah isi dari format sms NAMA yang dikirimkan
Cek format SMS pertama sekali adalah REG dan Cek semua format SMS
if($pecah[0]=="REG")
{
if($pecah[1] !="" and $pecah[2] !="" and $pecah[3] !="")
{
Konversi tanggal php ke mysql
$today = date("Ymd");
$tgl=date("d M Y");
$newDate = date("Y-m-d", strtotime($d_tgl));
Setelah terkirim, maka status inbox tersebut sudah terkirim "true"
C:\xampp\php\php -f C:\xampp\htdocs\smsku\autoreply.php