panduan praktis sms gateway
TRANSCRIPT
-
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
B
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
B
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*
B
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."¬elp=".$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.