Tips Blog Cara Membuat SMS Gateway Untuk Pemula Dengan G

12
 Tips blog Cara Membuat SMS Gateway untuk Pemula Dengan Gammu dan PHP 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 bagaimanacara membuat SMS Gateway sendiri dengan Gammu dan PHP. Yang perlu dipersiapkan adalah : 1. Local WebServer seperti XAMPP , AppServ , WAMP 1. Aplikasi Gammu, saya memakai OS Windows karena k ebanyakan orang pakai Sistem Operasi ini 2. Modem Plug n Play (Modem GSM,Modem CDMA) 3. S ebuah kartu GSM/CDMA yang sudah terisi pulsa ( kalau tidak ada pulsa mau ngapain? ) 4. Sedikit mengetahui pemrograman PHP Hanya itu? ya benar, hanya itu saja yang diperlukan. Berikut modul step by step nya : pertama ini, saya akan menjelaskan bagaimana cara installasi Local WebServer . Saya memakai XAMPP untuk Local WebServer nya. Apa fungsi Aplikasi Tersebut ? Local WebServer berfungsi untuk menjalankan perintah PHP dan MySQL (Database) Download Aplikasi XAMPP (versi terbaru saat artikel ini dibuat adalah 1.81 ) Setelah di download, jalankan XAMPP Setup, Jika Parental Control masih aktif , anda bisa menonaktifkan fitur tersebut atau klik kanan Setup tersebut Run As Administrator

description

sms gateway

Transcript of Tips Blog Cara Membuat SMS Gateway Untuk Pemula Dengan G

  • Tips blog Cara Membuat SMS Gateway untuk Pemula Dengan Gammu dan PHP 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.

    Yang perlu dipersiapkan adalah :1. Local WebServer seperti XAMPP , AppServ , WAMP 1. Aplikasi Gammu, saya memakai OS Windows karena kebanyakan orang pakai Sistem Operasi ini2. Modem Plug n Play (Modem GSM,Modem CDMA)

    3. Sebuah kartu GSM/CDMA yang sudah terisi pulsa ( kalau tidak ada pulsa mau ngapain? )4. Sedikit mengetahui pemrograman PHPHanya itu? ya benar, hanya itu saja yang diperlukan.

    Berikut modul step by step nya :pertama ini, saya akan menjelaskan bagaimana cara installasi Local WebServer . Saya memakai XAMPP untuk Local WebServer nya. Apa fungsi Aplikasi Tersebut ? Local WebServer berfungsi untuk menjalankan perintah PHP dan MySQL (Database)

    Download Aplikasi XAMPP

    (versi terbaru saat artikel ini dibuat adalah 1.81 )Setelah di download, jalankan XAMPP Setup, Jika Parental Control masih aktif , anda bisa menonaktifkan fitur tersebut atau klik kanan Setup tersebut Run As Administrator

  • Klik Next

    Pilih komponen yang akan diinstall, rekomendasikan pilihan saya ini, karena kita akan menginstall komponen yang seperlunya saja

    Install komponen Apache,MySQL,PHP,Perl dan PhpMyAdmin dan klik Next

    Pilih folder installasi , rekomendasikan juga di C:\xampp

    Uncheck Learn More about BitNami for Xampp

  • Klik Next dan Next.

    Setelah anda menginstall xampp , maka untuk password defaul MySQL adalah :username : rootpassword : (kosong)

    Tes Local WebServer bekerja apa tidakBuka browser (firefox/opera/chrome) lalu ketikkan http://localhostJika Local WebServer bekerja maka ditampilkan halaman ini

    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

  • 1. Klik Stop Action Apache dan MySQL2. Check Module Service Apache dan MySQL3. Klik Start Actions Apache dan MySQL kembaliKeterangan : Jika anda memiliki installasi Local WebServer lainnya yang terinstall pada Port 80, maka disable terlebih dahulu atau uninstall sekalian 3:)

    Selesai, Xampp akan berjalan otomatis saat Windows Start

    Download gammu untuk Windows 32 atau 64 Bit ( Jika Windows anda versi 64 Bit maka ada folder pada C:\program files (x86) ).

    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 smskudengan 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 drivernyaDi sini saya memakai Modem USB Advance

    Cari port modem usbJika 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 :

  • at = maximum speed 921600

    at115200 = maximum speed 115200

    Membuat file Konfigurasi Sekarang masuk ke folder c:\xampp\htdocs\smskuBuka notepad dan tulis :

    [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/phpmyadminKlik (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

  • Buat konfigurasi database gammuBuka notepad dan ketik :

    [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

    # isikan user untuk akses ke MySQL (xampp default root)

    user = root

    # isikan password user untuk akses ke MySQL (xampp defaul null )

  • password =

    # isikan nama database untuk Gammu

    database = smskudb

    Lalu simpan dengan nama smsdrc

    Tes koneksi modemBuka 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 StartupBuka command prompt/cmd dan ketikkan

    Konfigurasi gammu selesai :)

    Menulis kode kirim sms dengan phpBuka folder c:\xampp\htdocs\smsku. Buat sebuah file kirimsms.php lalu tulis kode berikut :

  • No HP Format +62xxxxxxx

    Pesan

  • 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

    $query=mysql_query("INSERT INTO outbox (DestinationNumber,

    TextDecoded) VALUES ('".$_POST['nohp']."', '".$_POST['pesan']."')");Jika query sql telah dijalankan, maka keluarkan output peringatan, kita sedikit menggunakan kode javascript :)

    if($query)

    {

    echo "alert('Sukses kirim sms')";

    }Nah mudah bukan?

    tahap finalnya, setelah bisa mengirimkan sms. Sekarang kita akan membuat auto reply sms nya. Contoh Format REG#Nama#Tanggal#Jenis Kelamin#Alamat

    Membuat kode auto reply sms

    Masuk ke folder c:\xampp\htdocs\smsku dan buat sebuah file autoreply.php , ketikkan kode sebagai berikut:

  • if($pecah[1] !="" and $pecah[2] !="" and $pecah[3] !="")

    {

    $today = date("Ymd");

    $tgl=date("d M Y");

    $newDate = date("Y-m-d", strtotime($d_tgl));

    $isinyo="Nomor ".$noPengirim." Nama ".$d_nama." JenisKel ".$d_jk." Alamat ".$d_alamat;

    $query=mysql_query("INSERT INTO outbox (DestinationNumber,

    TextDecoded) VALUES ('".$noPengirim."', '".$isinyo."')");

    }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

    $query = "SELECT * FROM inbox WHERE Processed = 'false'";

    $hasil = mysql_query($query);Looping data inbox

    while($data= mysql_fetch_array($hasil)){Membuat variabel untuk record data inbox

    $id = $data['ID'];

    $noPengirim = $data['SenderNumber'];

    $msg = strtoupper($data['TextDecoded']);

  • Membagi format berdasarkan karaktek #

    $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"

    $query3 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";

    mysql_query($query3);

    Ops, ini belum selesai. SMS Gateway tidak akan respon jika tidak ada eksekusi terlebih dahulu. Lalu bagaimana caranya ?Buat sebuah bat script, buka notepad dan ketikkan :

    C:\xampp\php\php -f C:\xampp\htdocs\smsku\autoreply.php Simpan dengan nama daemon.bat (terserah mau apa namanya)Jadi,jika kita klik daemon.bat, maka semua sms pada tabel inbox yang statusnya false akan ter-kirim dengan sendirinya. Tapi apakah harus jalankan daemon.bat setiap kali?Nah, ini yang jadi pertanyaan. Banyak orang memakai trigger mysql ataupun dengan memakai konfigurasi runonreceive pada gammu. Namun ada kendalanyaDengan Trigger :Format SMS tidak bisa dilakukan sesuka hatiDengan runonreceive :Terkadang saya mencoba malah tidak jalan

    Solusi saya ya bikin aplikasi untuk menjalankan daemon.bat tersebut dengan Visual Basic hahaha..Caranya mudah kok,tapi saya tidak menjelaskan dengan detail.Buat sebuah project Visual Basic dan Masukkan Timer dengan Interval 1000 lalu masukkan script pada Timer :

    Private Sub Timer1_Timer()Shell daemon.bat, vbHideEnd Sub

    Lalu compile dan buat sebuah start up dengan menitipkan shortcut pada folder :C:\Users\NAMAUSER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup