Panduan Praktis SMS Gateway

download Panduan Praktis SMS Gateway

of 26

Transcript of Panduan Praktis SMS Gateway

  • 8/19/2019 Panduan Praktis SMS Gateway

    1/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman " dari #$ 

    %isusun oeh:

    Rosihan Ari Yuana, S.Si, M.Kom 

    http://bo!.rosihanari.net 

    &'S

     (ara Mudah Memban!un Apikasi SMS Gateway den!an

    Gammu SMS )n!ine dan P*P

    +u )dition

    Seri &utoria Praktis Pemro!raman Rosihan Ari Yuana

    012S:

    )asy Gammu

    'nstaer

    34.5

  • 8/19/2019 Panduan Praktis SMS Gateway

    2/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 4 dari #$ 

    *ak 6ipta hanya miik Aah a77a wa 8aa.

    *anya karena anu!erah 1ya ah, ebook tutoria ini bisa terwu8ud meaui

    tan!an penuis.

    0eh karena itu, tidak berhak seseoran! yan! bermaksud men!edit

    seba!ian atau keseuruhan ebook ini tanpa sei8in penuis.

    %iaran! keras menyebarkan, mendistribusikan, memberikan )book ini

    kepada oran! ain &A1PA S)'9'1 penuis.

    9ika Anda in!in menyebarkan/memberikan 'M2 pada seseoran!, maka

    sebarkanah/berikanah 'M2 yan! teah Anda peroeh atau miiki seteah

    Anda mempea8ari )book ini.

  • 8/19/2019 Panduan Praktis SMS Gateway

    3/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ; dari #$ 

    Daftar Isi Ebook

    Instalasi Gammu SMS Engine dengan “Easy Gammu Installer V2.0” ......................................................... 4

    Instalasi XAMPP ................................................................................................................................... 4

    Instalasi Modem a!e"om.................................................................................................................. #

    Instalasi Gammu SMS Engine ............................................................................ ................................... $

    %est &irim SMS................................................................................................................................... '(

    %est %erima SMS ................................................................................................................................ '4

    Meng)enti*an Ser!i"e Modem Gammu ............................................................................................. '4

    +,ase 0'- %e*ni* Pengiriman S)ort SMS ................................................................................................. '

    +,ase 02- %e*ni* Pengiriman /ong SMS .................................................................................................. '#

    +,ase 0(- %e*ni* Penerimaan S)ort SMS ................................................................................................ 20

    +,ase 04- %e*ni* Penerimaan /ong SMS ................................................................................................. 22

    +,ase 0- Auto History SMS ................................................................................................................... 24

    +,ase 0- %e*ni* 1asar SMS road"ast ................................................................................................... 2#

    +,ase 0#- %e*ni* SMS road"ast Via Im3ort ile E5"el ................................................... ......................... (0

    +,ase 06- %e*ni* SMS Auto 7e3ly ' 8 Integrasi dg 1ata9ase yg Sama ...................................... ............... ((

    +,ase 0$- %e*ni* SMS Auto 7e3ly 2 8 Integrasi dg 1ata9ase yg eda ...................................................... (#

    +,ase '0- %e*ni* SMS Auto 7e3ly ( 8 Integasi dg 1ata9ase Hosting ........................................ ............... 40

    +,ase ''- %e*ni* SMS Auto 7e3ly 4 8 Ga9ungan dg SMS Auto or:ard .................................................. 44

    +,ase '2- %e*ni* SMS Auto 7e3ly 8 1g Model Aut)enti"ation ............................................................. 4

    +,ase '(- %e*ni* 1asar SMS ;n S")eduled ' .......................................................................................... 0

    +,ase '4- %e*ni* 1asar SMS on S")eduled 2 .............................................................. ............................ '

    +,ase '- %e*ni* Mem9lo*ir SMS 1ari

  • 8/19/2019 Panduan Praktis SMS Gateway

    4/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman

  • 8/19/2019 Panduan Praktis SMS Gateway

    5/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ? dari #$ 

    (.  SelanDutnya mun"ul tam3ilan 9eri*ut ini

    Fi*a mun"ul 3ertanyaanB3ertanyaan se3erti di atas@ ma*a langsung E

  • 8/19/2019 Panduan Praktis SMS Gateway

    6/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman # dari #$ 

    .  Kntu* menDalan*an e9ser!er +A3a")e- dan MyS/ nya@ sila*an *li* tom9ol S%A7% 3ada

    APA,HE dan MJS/ nya@

    Se)ingga *eduanya 9erstatus 7K

  • 8/19/2019 Panduan Praktis SMS Gateway

    7/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman > dari #$ 

    Setela) 3roses instalasi XAMPP di atas 9erDalan lan"ar@ ma*a setia3 *ali Anda )idu3*an *om3uter ser!i"e

    A3a")e dan MyS/ otomatis 9erDalan tan3a 3erlu di*li* S%A7% lagi A3a")e dan MyS/ nya se"ara

    manual.

    Instalasi Modem "a#e$om

    Pada 9agian ini a*an diDelas*an "ara instalasi modem untu* SMS gate:ay@ yang dalam )al ini adala)

    modem a!e"om. Modem a!e"om yang 9isa diguna*an untu* Gammu SMS Engine adala) semua

    ti3e a!e"om dari mulai yang 3aling mura) sam3ai yang terma)al se*ali3un@ asal*an yang Denis GSM.

    Kntu* a!e"om ,1MA tida* 9isa diguna*an di Gammu SMS Engine.

    Se9elum mulai instalasi Modem a!e"om@ 3asti*an antena modem yang miri3 )uru= / suda) di3asang

    di modemnya@ dan SIM "ard suda) 3ula dimasu**an *e dalam slot sim "ard. Slot sim "ard ini terleta* dide*at antena@ dan untu* mengeluar*an slot sim "ard "aranya dengan menusu* tom9ol *e"il :arna

    *uning@ sam3ai slot sim "ard nya *eluar. SelanDutnya tem3at*an sim "ard *e dalam slot yang *eluar tadi

    dan masu**an *em9ali *e dalam modem.

    Pasti*an sim "ard yang suda) dimasu**an *e dalam modem ini se9elumnya suda) dia*ti!asi *e 444@ Di*a

    sim "ardnya adala) *artu 3erdana.

    Se*arang *ita mulai mela*u*an instalasinya.

    '.  ,olo**an modem *e 3ort KS *om3uter

    2. 

    E*stra* =ile %ri@[email protected]  yang ada di dalam ,1@ dan leta**an di sem9arang dire*toridalam *om3uter Anda.

    (.  Pasti*an lam3u indi*ator modem a!e"om yang 9er:arna mera) *edi3B*edi3 se"ara teratur.

    /am3u indi*ator 9er*edi3 meru3a*an 3ertanda 9a):a sinyal dari o3erator yang diguna*an

    suda) diterima ole) modem.

  • 8/19/2019 Panduan Praktis SMS Gateway

    8/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman $ dari #$ 

    4. 

    Setela) modem di"olo**an *e *om3uter@ sila*an masu* *e ,ontrol Panel@ lalu masu* *e 1e!i"e

    Manager. 1i indo:s #@ "u*u3 Anda sear") di *ota* 3en"arian ,ontrol Panel

    &emudian *li* 1e!i"e Manager

    Sedang*an untu* di indo:s XP@ 1e!i"e Manager ini terleta* di ,ontrol Panel 8 System

    .  1i dalam 1e!i"e Manager@ a*an tam3a* >KSBSerial ,ontroller? di 9agian >;t)er 1e!i"es?.

    &li* *anan 3ada >KS 8 Serial "ontroller? terse9ut@ lalu 3ili) >KP1A%E 17IVE7 S;%A7E?

    .  &emudian 3ili) >7;SE MJ ,;MPK%E7 ;7 17IVE7 S;%A7E?

  • 8/19/2019 Panduan Praktis SMS Gateway

    9/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman B dari #$ 

    #.  Ara)*an *e =older tem3at Anda menge*stra* dri!er modem a!e"om se9elumnya.

    6. 

    &li*

  • 8/19/2019 Panduan Praktis SMS Gateway

    10/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman "5 dari #$ 

    4. 

    &li* >/A

  • 8/19/2019 Panduan Praktis SMS Gateway

    11/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman "" dari #$ 

    &eterangan

    I1 P)oneModem isi*an nama identitas modem dengan sem9arang nama. I1 ini nanti a*an

    diguna*an untu* 3roses 3engiriman dan 3enerimaan modem.

    B  Port isi*an nomor 3ort modem sesuai yang mun"ul di de!i"e manager

    B  ,onne"tion isi*an 9aud rate modem@ *)usus untu* modem a!e"om 3ili) at''200.

    $. 

    &li* SIMPA<

    '0. Fi*a modem yang ingin Anda guna*an di Gammu SMS Engine le9i) dari satu@ ma*a ulangi lagi

    lang*a) no. 6 dan $ se9elumnya.

    ''. Modem yang suda) diregister*an di Gammu@ a*an tam3il di 9a:a)nya

    '2. Setela) semua modem ditam9a)*an@ selanDutnya la*u*an "e* *one*si untu* setia3 modemnya

    dengan "ara meng*li* >,E& &;

  • 8/19/2019 Panduan Praktis SMS Gateway

    12/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman "4 dari #$ 

    '(. 

    Setela) semua modem 9isa terdete*si dengan 9ai*@ lang*a) selanDutnya adala) mem9uat

    ser!i"e Gammu untu* masingBmasing modem dengan "ara meng*li* >KA% SE7VI,E?. A3a9ila

    ser!i"e modem ini su*ses di9uat@ ma*a a*an mun"ul status s99

    &eterangan

    A3a9ila 3roses 3em9uatan ser!i"e gagal@ dengan mun"ulnya 3esan >Error installing ser!i"e?

    ma*a sila*an menurun*an le!el KA, terle9i) da)ulu +9a"a http://!oo.!/A9KuM-. Hal ini

    9iasanya terDadi di indo:s #.

    '4. Setela) semua ser!i"e untu* tia3 modem suda) su*ses di9uat@ ma*a Gammu SMS engine sia3

    diguna*an. Kntu* menDalan*an Gammu@ ma*a tinggal Dalan*an ser!i"e modem yang tela) di9uat

    tadi melalui ,;

  • 8/19/2019 Panduan Praktis SMS Gateway

    13/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman "; dari #$ 

    Setela) Gammu Engine ini terinstall@ ma*a di dalam data9ase gammu a*an ada 9e9era3a ta9el 9eri*ut

    ini

    1aemons diguna*an ole) ser!i"e Gammu untu* 9e*erDa

    B  Gammu diguna*an untu* menyim3an in=ormasi !ersi gammu engine

    B  In9o5 diguna*an untu* menyim3an data SMS yang masu*

    B  ;ut9o5 diguna*an untu* 3roses 3engiriman SMS

    B  ;ut9o5Nmulti3art diguna*an untu* 3roses 3engiriman long SMS

    B  P& diguna*an untu* menyim3an data 3)one9oo*

    B  P&NGrou3s diguna*an untu* menyim3an data grou3 3)one9oo*

    P)ones diguna*an untu* menyim3an in=ormasi modemde!i"e

    B  Sentitems diguna*an untu* menyim3an data SMS yang tela) melalui 3engiriman

    Se9ai*nya Anda Dangan mengu9a) stru*tur ta9elBta9el terse9ut +meng)a3us =ield dan merename =ielad-@*e"uali menam9a)*an =ield 9aru *arena a*an menga*i9at*an Gammu Engine tida* 9isa 9erDalan dengan

    9ai*.

    %est &irim SMS

    Setela) ser!i"e modem dari Gammunya diDalan*an@ ma*a Anda 9isa mela*u*an test *irim SMS melalui

    modem yang diingin*an.

  • 8/19/2019 Panduan Praktis SMS Gateway

    14/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman "

  • 8/19/2019 Panduan Praktis SMS Gateway

    15/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman "? dari #$ 

    ()ase 0*+ %eknik !engiriman S'ort SMS

    Ma*sud dari S)ort SMS di sini adala) SMS yang di dalamnya memuat *ara*ter tida* le9i) dari '0 9ua).

    %e*ni* dasar 3engiriman s)ort SMS dalam gammu engine ini sangat muda) se*ali yaitu )anya dengan

    menyisi3*an re"ord *e dalam ta9el ;K%;X 9a:aan gammu.

    eri*ut ini 9e9era3a =ield dalam ta9el ;K%;X yang 3erlu di3er)ati*an *eti*a menyisi3*an re"ord untu*

    3engiriman s)ort SMS.

    1ama ied Keteran!an

    1estination

  • 8/19/2019 Panduan Praktis SMS Gateway

    16/68

  • 8/19/2019 Panduan Praktis SMS Gateway

    17/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman "> dari #$ 

    ()ase 02+ %eknik !engiriman ,ong SMS

    Pada te*ni* 3engiriman long SMS +SMS dengan Dumla) *ara*ter le9i) dari '0 9ua)- di gammu engine@

    3rinsi3nya )am3ir sama dengan 3engiriman s)ort sms.

  • 8/19/2019 Panduan Praktis SMS Gateway

    18/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman "$ dari #$ 

    I1 ield ini a*an terisi se"ara otomatis *arena 9ersi=at

    autoin"rement

    &emudian untu* ta9el ;K%;XNMK/%IPA7%@ =ield yang )arus diisi adala)

    1ama ied Keteran!an

    I1 I1 yang diisi*an )arus sama dengan I1 dari ta9el

    ;K%;X

    %e5t1e"oded Isi 3esan SMS 3ada 3art *eB2@ ( dst

    K1H 1iisi K1H untu* setia3 3art

    SeOuen"ePosition 1iisi nomor urutan 3art SMS nya

    eri*ut ini "onto) isi ta9el ;K%;X dan ;K%;XNMK/%IPA7% *eti*a mengirim se9ua) 3esan SMSdengan *ara*ter le9i) dari '0 *ara*ter.

    Pesan asli

    Berikut ini adalah teks lagu 'Balonku' yang sering dinyanyikan oleh anak-anak kecil, dari jaman dahulu

    sampai dengan jaman sekarang yang modern ini: Balonku ada lima. Rupa-rupa warnanya. Hijau, kuning,

    kelabu. Merah muda dan biru. Meletus balon hijau.. !R. Hatiku sangat kacau. Balonku tinggal empat.

    "upegang erat-erat

    PanDang 3esan (24 *ara*ter

    Fumla) 3art ( 9ua)

    Isi %a9el ;K%;X

    1estination

  • 8/19/2019 Panduan Praktis SMS Gateway

    19/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman "B dari #$ 

    // mencari jumlah total part

    $jmlSMS = ceil(strlen($pesan)/153);

    // proses memecah sms ke dalam part-part

    $pecah = str_split($pesan, 153);

    // membaca ID terakhir dari tabel OUTBOX

    // ID ini nanti akan digunakan untuk disisipkan ke OUTBOX_MULTIPART

    $query = "SHOW TABLE STATUS LIKE 'outbox'";

    $hasil = mysql_query($query);

    $data = mysql_fetch_array($hasil);

    $newID = $data['Auto_increment'];

    // merandom bilangan 1 s.d 255

    $random = rand(1, 255);

    // mengubah bilangan random ke hexadecimal 2 digit$headerUDH = sprintf("%02s", strtoupper(dechex($random)));

    // proses insert tiap part ke tabel OUTBOX dan OUTBOX_MULTIPART

    for ($i=1; $i

  • 8/19/2019 Panduan Praktis SMS Gateway

    20/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 45 dari #$ 

    ()ase 0-+ %eknik !enerimaan S'ort SMS

    Pada gammu engine@ semua SMS yang diterima ole) modem)3 semuanya a*an masu* *e dalam ta9el

    I=alse?I1 Meru3a*an I1 dari 3esan SMS

    &eterangan

    •  ield >Pro"essed? nantinya a*an 9erguna se9agai =lag atau 3enanda 9a):a SMS terse9ut suda)

    di3roses ole) sistem atau 9elum. Fi*a SMS 9elum di3roses ole) sistem ma*a 9ernilai >=alse?.

    Sedang*an a3a9ila suda) di3roses )arus diu9a) menDadi >true?. Kntu* 3enera3annya a*an

    di9a)as di 9a9 yang lain.

    •  Pesan SMS yang masu* *e dalam =ield >%e5t1e"oded? ma*simum '0 *ara*ter. Fi*a SMS yang

    diterima 9eru3a long SMS@ ma*a 3esan SMS yang masu* *e dalam ta9el I

  • 8/19/2019 Panduan Praktis SMS Gateway

    21/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 4" dari #$ 

    setTimeout("ajaxrunning()", 5000);

    Fadi untu* meli)at da=tar SMS yang masu* *e I

  • 8/19/2019 Panduan Praktis SMS Gateway

    22/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 44 dari #$ 

    ()ase 0+ %eknik !enerimaan ,ong SMS

    Se3erti )alnya te*ni* 3engiriman long SMS@ te*ni* 3enerimaan long sms aga* sedi*it rumit *arena

    3emrosesannya meli9at*an K1H untu* menyusun *em9ali 3esan SMS yang masu* se"ara ter3isa)B3isa)

    menDadi se9ua) 3esan utu).

    1alam 3em9a)asan ,ASE0(@ tela) disam3ai*an 9a):a setia3 3esan SMS yang diterima ole) gammu

    engine a*an tersim3an *e dalam ta9el I

  • 8/19/2019 Panduan Praktis SMS Gateway

    23/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 4; dari #$ 

    ga9ung*an semua 3esan yang memili*i K1HBK1H terse9ut sesuai urutan K1H menDadi se9ua) 3esan

    utu). SelanDutnya@ 3esan yang utu) ini *ita sim3an *e ta9el SMSNIPro"essed? su3aya 9isa di9eda*an mana 3roses yang suda) di3roses atau 9elum. isa Duga *ita

    meng)a3us 3esan SMS yang suda) di3roses.

    Im3lementasi dari te*ni* 3enyusunan long SMS di PHP 9isa dili)at di =older ,ASE04@ *)ususnya 3ada

    s"ri3t =un"tion.3)3. 1i dalam =un"tion.3)3 ini ada se9ua) modul "e*in9o5+- untu* 3emrosesan s)ort

    SMS dan long SMS@ yang 9ertuDuan meminda)*an 3esan SMS 9ai* s)ort SMS mau3un long SMS *e ta9el

    SMSNI

    Per)ati*an s"ri3t run.3)3 di atas@ 3rosedur "e*in9o5+- )arus di3anggil se9elum menam3il*an data in9o5

    yang diam9il dari ta9el SMSNI

  • 8/19/2019 Panduan Praktis SMS Gateway

    24/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 4

  • 8/19/2019 Panduan Praktis SMS Gateway

    25/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 4? dari #$ 

    {

    $idSMS = $data2['ID'];

    $query3 = "SELECT * FROM sentitems WHERE ID = '$idSMS' ORDER BYSequencePosition";

    $hasil3 = mysql_query($query3);

    $pesan = "";

    while ($data3 = mysql_fetch_array($hasil3))

    {

    $pesan .= $data3['TextDecoded'];

    if ($data3['SequencePosition'] == 1) $time =

    $data3['SendingDateTime'];

    }

    // menyimpan data sms yang telah dikirim, ke dalam array (digabung dengan

    yang dari inbox)

    array_push($listTime, $time);

    array_push($listMsg, $pesan);array_push($listSender, "Anda");

    }

    // lakukan sorting berdasarkan waktu

    array_multisort($listTime, SORT_DESC, $listMsg, $listSender);

    // tampilkan history sms

    echo "";

    echo "Pesan SMSWaktuPengirim";

    for ($i=0; $i

  • 8/19/2019 Panduan Praktis SMS Gateway

    26/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 4# dari #$ 

    Setela) semua data SMS 9ai* dari SMSNI

  • 8/19/2019 Panduan Praktis SMS Gateway

    27/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 4> dari #$ 

    ()ase 01+ %eknik Dasar SMS road$ast

    SMS 9road"ast meru3a*an 3engiriman SMS *e 9e9era3a nomor se*aligus.

  • 8/19/2019 Panduan Praktis SMS Gateway

    28/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 4$ dari #$ 

    1ama ied Keteran!an

    SelanDutnya@ untu* s"ri3t 3engola) =orm 3engiriman SMS@ Di*a 9isa dileta**an dalam =ile yang sama

    dengan =ormnya. Anda 9isa li)at masi) di =ile inde5.3)3

    if (isset($_POST['submit']))

    {

    $sms = $_POST['sms'];

    $group = $_POST['group'];

    if ($group == "Semua")

  • 8/19/2019 Panduan Praktis SMS Gateway

    29/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman 4B dari #$ 

    {

    // query untuk membaca semua nomor jika yang dipilih 'Semua'

    $query = "SELECT * FROM pbk";}

    else

    {

    // query untuk membaca nomor dalam group jika yang

    // dipilih group tertentu

    $query = "SELECT * FROM pbk WHERE GroupID = '$group'";

    }

    $hasil = mysql_query($query);

    while ($data = mysql_fetch_array($hasil))

    {

    $nohp = $data['Number'];

    // proses kirim sms

    sendsms($nohp, $sms, '');}

    echo "

    SMS sedang dikirimkan...

    ";

    }

    1ari s"ri3t di atas@ tam3a* 9a):a 3roses 3engiriman SMS se"ara 9road"ast 3ada 3rinsi3nya meru3a*an

    3roses 3erulangan yang dila*u*an untu* setia3 nomor yang meru3a*an )asil Ouery ter)ada3 ta9el

    3)one9oo*nya.

    Sedang*an untu* 3roses 3engiriman SMS nya sendiri@ *ita "u*u3 guna*an =un"tion sendsms+- yang

    suda) 3erna) *ita 9a)as se9elumnya. un"tion sendsms+- yang mendu*ung 3engiriman long SMS ini

    terleta* di dalam =ile =un"tion.3)3 dalam =older ,ASE0.

  • 8/19/2019 Panduan Praktis SMS Gateway

    30/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ;5 dari #$ 

    ()ase 03+ %eknik SMS road$ast Via Im4ort 5ile E6$el

    %e*ni* 9road"ast SMS yang di9a)as dalam *asus ini 9er9eda dengan yang ada di 9a9 se9elumnya. Fi*a

    dalam 9a9 se9elumnya@ 9road"ast SMS dila*u*an ter)ada3 nomor )and3)one yang suda) tersim3an di

    data9ase@ ma*a di dalam *asus ini 9road"ast dila*u*an melalui im3ort =ile E5"el.

    Se9agai "onto)@ misal*an *ita 3unya data =ile E5"el se9agai 9eri*ut

    &emudian a3a9ila =ile E5"el terse9ut diim3ort *e dalam a3li*asi@ dan *ita tela) mem9uat tem3late SMS

    se9agai 9eri*ut

    "epada #$%&%%( #%M%(, besar tagihan listrik %nda bulan ini adalah Rp #)%*+H%(

    dalam se9ua) =orm@ ma*a nantinya a3li*asi a*an mengirim 3esan SMS s99

    •  &e3ada 3 Agus@ 9esar tagi)an listri* Anda 9ulan ini adala) 73 '00000

    •  &e3ada 3 udi@ 9esar tagi)an listri* Anda 9ulan ini adala) 73 '0000'

    •  &e3ada 3 ,andra@ 9esar tagi)an listri* Anda 9ulan ini adala) 73 '00002

    •  &e3ada I9u Esti@ 9esar tagi)an listri* Anda 9ulan ini adala) 73 '0000(

    •  &e3ada I9u i=i@ 9esar tagi)an listri* Anda 9ulan ini adala) 73 '00004

    •  &e3ada I9u Gina@ 9esar tagi)an listri* Anda 9ulan ini adala) 73 '0000

    *e masingBmasing nomor se9agaimana yang terleta* di *olom 3ertama dalam data E5"el.

    Kntu* mem9uat a3li*asi se3erti gam9aran di atas@ 3ertama *ita sia3*an =ormnya terle9i) da)ulu. Palingtida* ada 2 *om3onen in3ut dalam =ormnya yaitu *om3onen in3ut untu* im3ort =ile dan te5tarea untu*

    menulis tem3late SMS nya. Anda 9isa li)at "onto) =ormnya dalam =ile inde5.3)3 yang terleta* 3ada

    =older ,ASE0#.

    SelanDutnya@ untu* mem9a"a data dari =ile E5"el yang diim3ort *ita guna*an "lass

    S3reads)eetNE5"elN7eader+- yang ada di dalam =ile e5"elNreader2.3)3. ;le) *arena itu@ =ile

    e5"elNreader2.3)3 ini 3erlu *ita in"lude*an *e dalam s"ri3t untu* 3em9a"aan data =ile E5"el.

  • 8/19/2019 Panduan Praktis SMS Gateway

    31/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ;" dari #$ 

    ;==i"e 200# atau 20'0 3erlu di sa!e as da)ulu *e =ormat E5"el $#B200(. Selain itu@ *eter9atasan lainnya

    adala) =ile data yang 9isa di9a"a ma*simum )anya '0.000 9aris saDa. ;le) *arena itu@ Di*a data =ile E5"el

    yang Anda mili*i le9i) dari '0.000 9aris@ 3erlu dis3lit *e dalam 9e9era3a =ile da)ulu.

    &emudian =ile E5"el yang diim3ort di9a"a mengguna*an 3erinta)

    $data = new Spreadsheet_Excel_Reader($_FILES['userfile']['tmp_name']);

    Proses 9eri*utnya adala) 3em9a"aan data untu* setia3 9arisnya. Kntu* 3em9a"aan data setia3 9aris@

    *ita a*an mengguna*an loo3ing.

  • 8/19/2019 Panduan Praktis SMS Gateway

    32/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ;4 dari #$ 

    for ($i=2; $ival($i, $j);

    // membaca nomor hp dari kolom ke-1 file excel

    $nohp = $data->val($i, 1);

    }

    // proses mengubah pattern [...] di template

    // menjadi value sesuai nama kolom di excelforeach($hasil[1] as $key => $nilai)

    {

    $string = str_replace('['.$nilai.']', '['.strtoupper($nilai).']',

    $string);

    $kapital = strtoupper($nilai);

    $string = str_replace('['.$kapital.']', $value[$kapital],

    $string);

    }

    // jika nomor hp tidak kosong, maka lakukan pengiriman sms

    if (is_string($nohp) && ($nohp != ''))

    {

    sendsms($nohp, $string, '');}

    }

    echo "

    SMS sudah dalam pengiriman

    ";

    }

    Muda) se*ali 9u*an mem9uatnyaCCC B-

  • 8/19/2019 Panduan Praktis SMS Gateway

    33/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ;; dari #$ 

    ()ase 07+ %eknik SMS uto 8e4ly * 9 Integrasi dg Database yg Sama

    SMS autore3ly adala) se9ua) me*anisme untu* menDa:a9 3esan SMS se"ara otomatis setela)

    seseorang mengirim SMS *e se9ua) a3li*asi SMS Gate:ay. entu* 9alasan SMS otomatis yang di*irim

    ole) sistem ini 9isa 9eru3a )anya se*edar *on=irmasi@ atau 9isa Duga 9eru3a data yang direOuest ole) si

    3engirim 3esan.

    1alam *asus ini a*an di9a)as te*ni* mem9uat sistem auto re3ly untu* 3roses registrasi dan unregistrasi

    !ia SMS. 1engan )anya mengirim se9ua) SMS dengan =ormat 7EGUI1G7;KPU)erimakasih #nama( telah

    melakukan registrasi ?@ dimana 3arameter namaT ini nanti a*an 9erisi nama si 3engirim 3esan registrasi.

    &emudian untu* 3roses unregistrasinya@ seseorang 9isa mela*u*annya !ia SMS dengan =ormat 3esan

    K

  • 8/19/2019 Panduan Praktis SMS Gateway

    34/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ;

  • 8/19/2019 Panduan Praktis SMS Gateway

    35/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ;? dari #$ 

    sendsms($noHP, $reply, '');

    }else if ($command == "UNREG")

    {

    // jika keywordnya UNREG

    if (count($split) == 2)

    {

    // jika jml parameternya 2

    // baca group id

    $idgroup = $split[1];

    // hapus data phonebook berdasar no hp dan group id

    $query2 = "DELETE FROM pbk WHERE Number = '$noHP' AND

    GroupID = '$idgroup'";

    mysql_query($query2);

    // konfirmasi unreg

    $reply = "Proses unregistrasi sukses";}

    // jika jml parameter tidak 2

    else $reply = "Maaf, format UNREG salah";

    // kirim balasan

    sendsms($noHP, $reply, '');

    }

    // menandai sms yg sudah diproses

    $query2 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$smsID'";

    mysql_query($query2);

    }

    ?>

    Pada s"ri3t run.3)3 di atas@ SMS yang tida* mengandung *ey:ord 7EG dan K

  • 8/19/2019 Panduan Praktis SMS Gateway

    36/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ;# dari #$ 

    Perinta) terse9ut diguna*an untu* mengu9a) semua 3esan SMS yang di9a"a menDadi )uru= *a3ital

    semuanya. Hal ini 3erlu dila*u*an su3aya men"ega) *emung*inan *egagalan a3li*asi dalam mendete*si

    *ey:ord yang dise9a9*an 3er9edaan )uru= 9esar atau *e"il dalam SMS. Se9agai "onto) misal*an

    seseorang mengirim 3esan SMS 7egU(UAgus@ ma*a sistem tida* 9isa mela*u*an 3roses registrasi

    *arena *ey:ord yang di9a"a adala) >7eg? +)anya )uru= 7 nya saDa yang *a3ital-@ sedang*an di dalam

    s"ri3t run.3)3 nya@ diset *ey:ordnya *a3ital semuanya +7EG-.

    if ($command == "REG")

    {

    .

    .

    .

    }

    ;le) *arena itu sangat 3erlu *ita 9uat standarisasi 9entu* *ey:ordnya@ a3a*a) )uru= *a3ital semuanya

    atau 9isa Duga )uru= *e"il semuanya +guna*an strtolo:er+--.

  • 8/19/2019 Panduan Praktis SMS Gateway

    37/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ;> dari #$ 

    ()ase 0:+ %eknik SMS uto 8e4ly 2 9 Integrasi dg Database yg eda

    &asus SMS auto re3ly selanDutnya yang di9a)as adala) me*anisme 3engiriman 9alasan otomatis

    ter)ada3 si 3engirim 3esan@ dimana isi 3esan 9alasan otomatisnya suda) tersedia di dalam data9ase.

  • 8/19/2019 Panduan Praktis SMS Gateway

    38/68

  • 8/19/2019 Panduan Praktis SMS Gateway

    39/68

  • 8/19/2019 Panduan Praktis SMS Gateway

    40/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman

  • 8/19/2019 Panduan Praktis SMS Gateway

    41/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman *ey? ini adala) *ey:ord yang diterima dari SMS@ dan a*an di"o"o**an dengan data *ey:ord

    yang ada di data9ase )osting untu* mem3erole) 9alasannya. Sedang*an 3arameter >"ode? diguna*an

    untu* *e3erluan se"urity saDa. &ode ini 9ersi=at a"a*@ Anda 9isa mensetting sendiri 9entu* *odenya 3ada

    9agian

    $code = "1234567";

  • 8/19/2019 Panduan Praktis SMS Gateway

    42/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman

  • 8/19/2019 Panduan Praktis SMS Gateway

    43/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman

  • 8/19/2019 Panduan Praktis SMS Gateway

    44/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman

  • 8/19/2019 Panduan Praktis SMS Gateway

    45/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman

  • 8/19/2019 Panduan Praktis SMS Gateway

    46/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman m*?

    CREATE TABLE `mk` (

    `kodemk` varchar(5) NOT NULL DEFAULT '',

    `namamk` varchar(50) DEFAULT NULL,

    PRIMARY KEY (`kodemk`)

    );

    %a9el >m*? diguna*an untu* menyim3an data mata*ulia) yang 9isa diam9il ole) ma)asis:a. Ada3un

    "onto) datanya adala) se9agai 9eri*ut

    INSERT INTO `mk` VALUES ('MK001', 'Matakuliah 1');

    INSERT INTO `mk` VALUES ('MK002', 'Matakuliah 2');

    INSERT INTO `mk` VALUES ('MK003', 'Matakuliah 3');

  • 8/19/2019 Panduan Praktis SMS Gateway

    47/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman  dari #$ 

    Perlu Duga di9uat ta9el >am9ilm*? yang diguna*an untu* menyim3an data mata*ulia) yang diam9il ole)

    seorang ma)asis:a.

    CREATE TABLE `ambilmk` (

    `nim` varchar(5) NOT NULL DEFAULT '',

    `kodemk` varchar(5) NOT NULL DEFAULT '',

    `nilai` int(11) DEFAULT NULL,

    PRIMARY KEY (`nim`,`kodemk`)

    );

    %a9el di atas diguna*an untu* menyim3an 3engam9ilan mata*ulia) ma)asis:a 9eserta nilainya. Ada3un

    9eri*ut ini adala) "onto) datanya

    INSERT INTO `ambilmk` VALUES ('M001', 'MK001', '4');

    INSERT INTO `ambilmk` VALUES ('M001', 'MK002', '3');

    INSERT INTO `ambilmk` VALUES ('M002', 'MK002', '4');

    1alam *asus ini@ =ormat SMS untu* menga*ses nilai adala)

  • 8/19/2019 Panduan Praktis SMS Gateway

    48/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman

    1alam s"ri3t run.3)3 di atas@ ada 9e9era3a =un"tion yang diguna*an yaitu

  • 8/19/2019 Panduan Praktis SMS Gateway

    49/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman

  • 8/19/2019 Panduan Praktis SMS Gateway

    50/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ?5 dari #$ 

    ()ase *-+ %eknik Dasar SMS

  • 8/19/2019 Panduan Praktis SMS Gateway

    51/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ?" dari #$ 

    ()ase *+ %eknik Dasar SMS on S$'eduled 2

    Studi *asus *ali ini masi) ter*ait dengan SMS terDad:al@ namun aga* sedi*it 9er9eda dengan

    se9elumnya. Fi*a 3ada se9elumnya SMS a*an ter*irim 3ada tanggal dan :a*tu tertentu@ ma*a dalam

    *asus ini SMS a*an ter*irim se"ara rutin 3ada tanggal tertentu dan Dam tertentu. Se9agai "onto)

    misal*an *ita 3unya 9e9era3a 9ua) 3esan SMS yang nantinya a*an di*irim 3ada tanggal X dalam setia3

    9ulannya 3ada 3u*ul J yang tersim3an dalam se9ua) ta9el data9ase 9eri*ut ini.

    Ada3un stru*tur ta9el di atas adala)

    CREATE TABLE `onscheduled` (

    `id` int(11) AUTO_INCREMENT,

    `pesan` text,

    `tgl` int(11),

    `waktu` varchar(5),

    PRIMARY KEY (`id`)

    );

    Ide dasar dari mem9uat s"ri3t on S")eduled model ini adala) dengan mem9uat s"ri3t PHP yang

    mem9a"a tanggal se*arang dan :a*tunya +Dammenit-. SelanDutnya 9erdasar tanggal dan :a*tu yang

    di9a"a terse9ut@ s"ri3t a*an men"ari data 3esan SMS yang ada di ta9el ons")eduled dengan tanggal dan

    :a*tu yang 9ersesuaian. SelanDutnya@ 3esan terse9ut di*irim melalui gammu. S"ri3t terse9ut nantinya

    )arus diDalan*an se"ara terus menerus se"ara autore=res) dalam inter!al :a*tu tertentu.

  • 8/19/2019 Panduan Praktis SMS Gateway

    52/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ?4 dari #$ 

    %a9el di atas untu* menyim3an I1 3esan SMS dari ta9el ons")edule yang tela) ter*irim dan tanggalnya.

    &edua =ield +I1 3esan dan tanggal- diDadi*an *un"i@ se)ingga 9ila s"ri3t tere=res) ma*a SMS yang

    se9elumnya 3erna) di*irim*an tida* a*an ter*irim lagi@ *arena tida* 9isa tersim3an *e dalam ta9el

    ons")eduledNsent terse9ut.

    eri*ut ini s"ri3t run.3)3 untu* on s")eduled SMSnya

  • 8/19/2019 Panduan Praktis SMS Gateway

    53/68

  • 8/19/2019 Panduan Praktis SMS Gateway

    54/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ?

    Menga3a 3rosedur 9lo"*ing+- ini dileta**an se9elum 3rosedur "e*in9o5+-C Ja... *arena su3aya SMS yang

    di*irim ole) nomorBnomor yang *ita 9la"*list tadi tida* a*an mun"ul di I

  • 8/19/2019 Panduan Praktis SMS Gateway

    55/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ?? dari #$ 

    ()ase *1+ %eknik Memfilter SMS Dari >ad "ords?

    Ham3ir miri3 dengan ,ase '@ 3ada *asus ini SMS a*an di9lo"*ir 9erdasar*an ada tida*nya *ataB*ata

    9uru* atau 9ad:ords. SMS yang diterima ole) modem se9elum ditam3il*an di I

  • 8/19/2019 Panduan Praktis SMS Gateway

    56/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ?# dari #$ 

    }

    }

    &emudian@ 3rosedur =ilter9ad:ords+- terse9ut *ita 3anggil di dalam run.3)3 nya@ se9elum 3roses

    3engola)an SMS in9o5 nya +dalam s"ri3t run.3)3-.

  • 8/19/2019 Panduan Praktis SMS Gateway

    57/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ?> dari #$ 

    ()ase *3+ Membuat SMS2"E

    Perna)*a) Anda mendengar istila) SMS 2 EC SMS2E adala) 9entu* integrasi antara SMS gate:ay

    di P, lo"al dengan ser!er )osting. Integrasi yang dima*sud dari e92SMS ini adala) 9a):a SMS yang

    diterima dari modem dan Gammu Engine di P, lo"al@ nantinya a*an disu9mit *e ser!er )osting se)ingga

    SMS yang diterima dari modem di P, lo"al nantinya 9isa Duga di9a"a melalui :e9site di ser!er )osting.

    Kntu* mem9uat sistem se3erti ini@ a3a saDa yang 3erlu disia3*anC Jang disia3*an adala) modul atau

    3rosedur untu* mensu9mit SMS yang diterima ole) gammu Engine di P, lo"al. SelanDutnya modul yang

    ada di ser!er )osting yang 9er=ungsi menang*a3 data SMS yang disu9mit dari P, lo"al terse9ut dan

    selanDutnya data SMS a*an disim3an di data9ase )osting.

    Pertama@ *ita sia3*an da)ulu modul di P, lo"al untu* mensu9mit data SMS *e ser!er )osting s99

    function sendtoserver($text, $notelp, $time, $idmodem)

    {

    $url = "http://namasitus";

    $apicode = "123456";

    $xml2 =

    simplexml_load_file($url."/apis.php?op=send&pesan=".$text."&notelp=".$notelp.

    "&time=".$time."&idmodem=".$idmodem."&code=".$apicode);

    }

    Kntu* 3roses su9mit data SMS yang terdiri dari 3esan SMS +te5t-@ nomor HP 3engirim SMS +notel3-@

    :a*tu *a3an SMS diterima +time-@ dan dari modem mana SMS diterima ini +idmodem-@ *ita 9isa

    mengguna*an =un"tion sim3le5mlNloadN=ile+-. Perlu ditam9a)*an Duga sema"am *ode autenti*asi *eti*a

    mengirim data *e ser!er@ di sini diguna*an *ode >'2(4?. Anda 9isa mengu9a) sendiri *ode terse9ut.

    &ode autenti*asi ini 9er=ungsi se9agai 3ass:ord *eti*a 3roses su9mit data *e ser!er )osting untu*

    mengantisi3asi ada s"ri3t lain yang di9uat orang yang tida* 9er)a* menga*ses atau mensu9mit data *e

    ser!er )osting.

    Modul sendtoser!er+- di atas@ da3at Anda temu*an di =ile =un"tion.3)3 yang ada di =older >lo"al? dalam

    >"ase'#Bsms2:e9?. &emudian modul sendtoser!er+- ini di3anggil setela) 3emrosesan SMS yang ada di

    I

  • 8/19/2019 Panduan Praktis SMS Gateway

    58/68

  • 8/19/2019 Panduan Praktis SMS Gateway

    59/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ?B dari #$ 

    $query2 = "INSERT INTO sms_inbox(pesan, nohp, waktu, modem)

    VALUES ('$text', '$notelp', '$time', '$idmodem')";

    mysql_query($query2);}

    }

    SelanDutnya *ita 9uat modul untu* menang*a3 data SMS yang disu9mit dari modul sendtoser!er+- tadi@

    yaitu s99

    apis.php

    S"ri3t a3is.3)3 di atas da3at Anda temu*an di =older >)osting? di dalam >"ase'#Bsms2:e9?. 1i dalam

    =older >)osting?@ Anda da3at menDum3ai 9e9era3a =ile lain yang *esemuanya itu nantinya )arus diu3load

    *e )osting. Selain itu@ disia3*an Duga ta9el data9ase di )osting untu* menyim3an data SMS yang

    disu9mit dari P, lo"al yaitu s99

  • 8/19/2019 Panduan Praktis SMS Gateway

    60/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman #5 dari #$ 

    CREATE TABLE `sms_inbox` (

    `id` int(11) NOT NULL AUTO_INCREMENT,

    `pesan` text,`nohp` varchar(20) DEFAULT NULL,

    `waktu` date DEFAULT NULL,

    `modem` varchar(50) DEFAULT NULL,

    PRIMARY KEY (`id`)

    )

    Kntu* meli)at SMS yang suda) disu9mit dari P, lo"al@ yaitu melalui inde5.3)3 di dalam =older >)osting?

    yang suda) diu3load *e ser!er )osting@ dan Dangan lu3a mengu9a) 3arameter *one*si data9ase di

    )osting dalam =ile *one*si.3)3 nya.

  • 8/19/2019 Panduan Praktis SMS Gateway

    61/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman #" dari #$ 

    ()ase *7+ Membuat "E2SMS

    &e9ali*an dari SMS2E@ E2SMS meru3a*an layanan SMS gate:ay yang memung*in*an 3roses

    3engiriman SMS dari ser!er :e9 )osting. agaimana *onse3 dari e92SMS iniC

    1ata SMS yang a*an di*irim*an melalui ser!er :e9 )osting ini@ sementara disim3an da)ulu di data9ase

    )osting. 1ata SMS ini nanti selanDutnya dire3resentasi*an atau disaDi*an dalam 9entu* XM/. &emudian

    data dalam 9entu* XM/ ini nanti@ a*an di9a"a ole) se9ua) s"ri3t yang ada di P, lo"al)ost se"ara *ontinu

    dan se"ara 3eriodi*. ;le) s"ri3t terse9ut@ selanDutnya data SMS di3arsing dan di*irim melalui Gammu

    SMS Engine. Selain 9ertugas mem9a"a setia3 data SMS dalam 9entu* XM/ dari ser!er )osting ini@ dan

    mengirim !ia Gammu SMS Engine@ s"ri3t di lo"al)ost ini Duga 9ertugas meng)a3us data setia3 data SMS

    dari ser!er )osting yang tela) di9a"anya.

    1i dalam =older ,ASE '6@ Anda a*an menda3at*an dua 9ua) =older yaitu >)osting? dan >lo"al?. 1i dalam

    =older >)osting? 9erisi semua s"ri3t yang nantinya )arus diu3load *e ser!er )osting. Selain

    mengu3loadnya@ Dangan lu3a Anda mem9uat se9ua) ta9el dengan nama >sms? di data9ase )ostingnya

    dengan stru*tur s99

    CREATE TABLE `sms` (

    `id` int(11) NOT NULL AUTO_INCREMENT,

    `nohp` varchar(20) DEFAULT NULL,

    `pesan` text,

    PRIMARY KEY (`id`)

    );

    %a9el >sms? ini diguna*an untu* menam3ung data SMS yang a*an di*irim*an.

    Setela) itu la*u*an setting *one*si *e data9ase yang ada di ser!er )osting Anda dalam =ile >*one*si.3)3?.

    Selain itu di dalam =older >)osting? ada 3ula =ile >a3is.3)3? yang 9er=ungsi untu* menyaDi*an data antrian

    SMS yang a*an di*irim*an dari ser!er )osting melalui =ile >inde5.3)3? dalam 9entu* XM/@ se*aligus 9erisi

    modul untu* 3eng)a3usan data SMS yang suda) di9a"a ole) s"ri3t yang ada di lo"al)ost. eri*ut ini isi

    s"ri3t dari >a3is.3)3?

  • 8/19/2019 Panduan Praktis SMS Gateway

    62/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman #4 dari #$ 

    // cek kesesuaian kode API

    if ($code == '123456'){

    // menampilkan data XML dari antrian SMS yang akan dikirim

    if ($op == 'get')

    {

    $query = "SELECT * FROM sms";

    $hasil = mysql_query($query);

    while ($data = mysql_fetch_array($hasil))

    {

    echo "";

    echo "".$data['id']."";

    echo "".$data['nohp']."";

    echo "".$data['pesan']."";

    echo "";

    }}

    // menghapus data SMS dari antrian setelah dikirim

    else if ($op == 'del')

    {

    $id = $_GET['id'];

    $query = "DELETE FROM sms WHERE id = '$id'";

    mysql_query($query);

    }

    }

    echo "";

    ?>

    &eterangan

    Anda da3at mengu9a) *ode API nya 3ada 9agian "ode R'2(4R. &ode API ini nantinya )arus sama

    dengan *ode API yang ada di s"ri3t lo"al)ost.

    Se*arang 9agaimana 9entu* s"ri3t di 3" lo"al yang 9ertugas mem9a"a data XM/ dari a3is.3)3 yang ada

    di :e9)ostingnyaC 1i "onto) ini@ =ile ini di9eri nama >run.3)3?

  • 8/19/2019 Panduan Praktis SMS Gateway

    63/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman #; dari #$ 

    {

    // baca ID antrian SMS dr hosting

    $id = $dataxml->id;$nohp = $dataxml->nohp;

    $pesan = $dataxml->pesan;

    // data SMS yang dibaca, lalu dikirim melalui gammu

    sendsms($nohp, $pesan, '');

    // setelah SMS dikirim, data SMS dalam antrian yang ada di server

    hosting dihapus berdasarkan ID nya

    $xml2 =

    simplexml_load_file($url."/apis.php?op=del&id=".$id."&code=".$kodeapi);

    }

    ?>

  • 8/19/2019 Panduan Praktis SMS Gateway

    64/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman #

  • 8/19/2019 Panduan Praktis SMS Gateway

    65/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman #? dari #$ 

    blocking();

    // ----- modul untuk memfilter sms badwords -------filterbadwords();

    // proses membaca inbox dan menyimpan ke tabel sms_inbox

    cekinbox();

    // tampilkan data inbox sesuai urutan waktu

    $query = "SELECT * FROM sms_inbox ORDER BY waktu DESC";

    $hasil = mysql_query($query);

    echo "";

    echo "Pesan

    SMSPengirimWaktuModem";

    while ($data = mysql_fetch_array($hasil))

    {$nohp = $data['nohp'];

    $modem = $data['modem'];

    $time = $data['waktu'];

    $text = $data['pesan'];

    echo

    "".$text."".$nohp."".$time."".$modem."";

    }

    echo "";

    ?>

    ada3un@ =un"tion 9lo"*ing+- dan =ilter9ad:ords+- *ita leta**an di dalam =un"tion.3)3. Anda 9isa meli)at

    s"ri3tBs"ri3t ini di dalam =older ,ASE'$.

    SelanDutnya Anda tinggal Dalan*an inde5.3)3 nya saDa yang se"ara otomatis a*an memanggil run.3)3

    se"ara *ontinu dalam inter!al tertentu.

  • 8/19/2019 Panduan Praktis SMS Gateway

    66/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman ## dari #$ 

    %roubles'ooting Gammu

    %rou9les)ooting ini meru3a*an rang*uman dari 3ertanyaan yang sering diaDu*an +A- *e saya dari

    3engunDung 9log ini atau *lien Gam3SMS saya.

    SMS &idak Mau &erkirim 

    %ida* ter*irimnya SMS yang di*irim melalui Gammu ada 9e9era3a *emung*inan se9a9@ diantaranya

    adala)

    •  Service Gammu belum dijalankan

    Pasti*an ser!i"e Gammu suda) diDalan*an terle9i) da)ulu se9elum Anda mengirim dan

    menerima SMS dengan Gammu

    •  Pulsa habis atau masuk masa tenggang.

    Pasti*an 3ulsa masi) ada dan "u*u3 untu* mengirim SMS. iasanya indi*asi 3ulsa )a9is atau

    *artu memasu*i masa tenggang ini diDum3ai *eti*a terima SMS !ia gammu 9isa@ namun *irim

    SMS tida* 9isa +mun"ul status SendingError di ta9el SE

  • 8/19/2019 Panduan Praktis SMS Gateway

    67/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    Halaman #> dari #$ 

    SMS bisa masuk ke '10C, tapi tidak bisa men!irim SMS 

    Fi*a Anda menDum3ai *asus se3erti ini@ "e* di ta9el SE

  • 8/19/2019 Panduan Praktis SMS Gateway

    68/68

    Panduan Praktis SMS Gateway - Rosihan Ari Yuana, S.Si, M.Kom - http://bo!.rosihanari.net

    2ntuk on! SMS, SMS yan! diterima di *P tu8uan seau terpoton! 

    Sedang*an untu* long SMS yang selalu ter3otong di )3 3enerima@ 9isa Dadi ada ( 3enye9a9 yaitu

    algoritma 3engiriman long SMS yang sala)@ "orru3tnya stru*tur ta9el ;K%;XNMK/%IPA7%@ atau

    memang ada 3art SMS yang 9elum sam3ai atau tida* 3erna) sam3ai. Fi*a algoritma suda) 9enar@

    *emung*inan *edua yaitu "orru3tnya ta9el ;K%;XNMK/%IPA7%. Solusinya )a3us semua re"ord di ta9el

    ;K%;XNMK/%IPA7% dan ;K%;X *emudian re3air *edua ta9el. Sedang*an a3a9ila algoritma suda)

    9enar@ dan ta9el ;K%;XNMK/%IPA7% serta ;K%;X suda) dire3air namun ternyata masi) ada long

    SMS yang ter3otong ma*a suda) di3asti*an gangguan ada di 3i)a* o3erator yang menye9a9*an ada

    3art SMS yang lost. ;yaW tam9a)an@ 9isa Duga long SMS ini ter3otong *arena di dalam SMS nya memuat

    *ara*terB*ara*ter s99 @ Y@ Z@ @ T@ [@ \@ ]@ . Se9ai*nya )indari 3enggunaan *ara*terB*ara*ter terse9ut

    dalam long SMS.