The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Membangun Aplikasi SMS Berbasis Open Source

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Perpus Kota Semarang, 2018-10-30 09:55:53

Membangun Aplikasi SMS Berbasis Open Source

Membangun Aplikasi SMS Berbasis Open Source

PENERBIT ANDI

BERBASIS

MEMBANGUN
APLIKASI SMS BERBASIS

OPEN SOURCE



MEMBANGUN
APLIKASI SMS BERBASIS

OPEN SOURCE

Prasetya Ambang Utomo, ST

Penerbit ANDI Yogyakarta

Membangun Aplikasi SMS dengan Paket Open Source
Oleh: Prasetyo Ambang Utomo, ST

flak Cipta @ 2006 pada Pemdis.

Editor : Dltewiherta 1/ardjono
Setting : Sri Mulanto
Desain Cover : Yossy S.P. Hwauruk
Korektor : Suci Nurasilt I Aktor Tunas Agung

flak Cipta dilintlungi wulang-undang. Dilarang memperhanyak a/au mcluindahkan
sebagiau a/au selurult isi buku ini dalam hentuk apapun, baik sccara elcktronis
nwupw1 mekauis, termasuk memfotocopy, merekam a/au dengan sis/em
penyimpanan lainnya, tanpa izin tertulis tlari Pcnulis.

Pcncrbit:
C. V ANDl OFFSET (Penerbit AND/)
Jl. Beo 38-40, Telp. (0274) 561881 (Hunting), Fax. (0274) 588282 l'ogyakarta
55281

Percetakan:
AND! OFFSET
Jl. Beo 38-40, Telp. (0274) 56/881 (/Junting), Fax. (0274) 588282 Yogvakarta
55281

Perpustakaan Nasional: Katalog dalam Terbitan

Utomo, Prasetyo Ambang
Membangun Aplikasi SMS dcngan Pakct Ope11 Source/
Prasetyo Ambang Utomo; - Ed. I.- Yograkarta: AND/,
09 - 08 - 07
xii + 76 him.; /4x21 Cm.
10 9 8 7 6 5 4 3

ISBN: 979-763- 112-5
/. Judul
I. Wireless Communication

DDC'21 : 364. 53

Ucapan Terima Kasih

Puji syukur penulis panjatkan kepada Allah SWT karena pada
akhimya penyusunan buku "Membangun Aplikasi SMS dengan Paket
Open Source" ini dapat terselesaikan dengan baik. Terima kasih yang
tak terhingga ingin penulis sampaikan kepada keluarga Kasub Suhari
yang secara konsisten terns memberikan semangat dan doanya. Juga,
Chazanah Aulia Nadiyanti yang kehadiran dan doanya memiliki arti
khusus bagi kehidupan penulis.

Bapak Kasih Hanggoro, ketua Yayasan Pendidikan Budi Luhur, Ady
Widjaja, Brury Trya Sartana, Fernando S, Indrio E P, Suprianto,
Wahyu Angga P (Team Knowledge Sharing Group, Applied
Technology Research Center Budi Luhur) yang secara langsung
maupun tidak langsung memberikan waktunya untuk penulis dalam
mengerjakan buku ini (ketjaannya gak kelar-kelar, ya? he he he).
Penghargaan yang setinggi-tingginya kepada Team Mampang Tower
(Abdullah, Ade, Andhi, Dudi, Eko Indrajit, Panuju, Rofiq, Sam) yang
tak segan-segan menularkan ilmunya kepada penulis "Mari Kejar
impian kita bersama".

Dari lingkungan civitas Universitas Budi Luhur: kawan-kawan dosen
dan mahasiswa yang selalu menyumbangkan senyum dan
semangatnya kepada penulis yang tentu saja tidak dapat disebutkan
satu per satu.



Kata Pengantar

Ketika pertama kali memperkenalkan layanan SMS (Short Message
Service), para operator ticlak pemah menduga bahwa penggunaan SMS di
kemudian hari akan sedemikian hebatnya. Persaingan antaroperator mulai
berlangsung yang antara lain tampak dari biaya SMS yang semakin rendah.
Penurunan biaya SMS itu agaknya telah membentuk opini rnasyarakat
bahwa layanan komunikasi dengan media SMS sangatlah murah, selain
juga muclah.

Perkembangan trafJ.k SMS pacla setiap operator yang ada di Indonesia
menjadikan perusahaan-perusahaan operator kewalahan dalam menangani
layanan itu sendiri sehingga banyak pihak di luar perusahaan operator
tersebut yang mencetuskan ide keijasarna untuk menjadikan SMS sebagai
sebuah area bisnis yang berorientasi profit lebih, bukan sekeclar mengirim-
kan pesan. Fenomena yang saat ini menghangat adalah penggunaan SMS
clalam acara interaktif di berbagai stasiun televisi seperti AFI, Indonesian
Idol, API, KDI, untuk mendukung sang kontestan. Pengelola kegiatan
tersebut, baik perusahaan televisi rnaupun perusahaan operator, mendapat-
kan keuntungan yang sangat besar dari layanan SMS tersebut mengingat
biaya setiap SMS berkisar antara Rp. 2000,00 hingga Rp. 3000,00. Melihat
bisnis yang menjanjikan di atas, tidak tertutup kemungkinan bahwa semua
elemen rnasyarakat (pemerintahan, industri, pendidikan) memiliki peluang
yang sarna meraih kesuksesan di bidang ini karena usianya yang relatifbaru
sehingga lahan yang belum "digarap" pun rnasih tersedia sedemikan
luasnya.

Sebagai pengguna jasa layanan seluler tersebut, kita mungkin belum
mengetahui bagairnana membuat layanan SMS tersebut clan menerapkan-
nya pada dunia pendidikan. Buku ini akan membahas pembuatan aplikasi
SMS yang digunakan untuk pendidikan, baik untuk universitas, SMU,
SLTP, SD clan sederajat, bahkan bisa diimplementasikan untuk instansi
pemerintah atau swasta dengan menggunakan paket-paket open source
(GNU!Linux, PHP, MySQL, Apache, Kannel). Aplikasi yang akan dibuat
meliputi SMS untuk mendapatkan nilai, jadwal, pengumurnan dan lainnya.

Penulis



DAFTAR 151

Ucapan Terima Kasih- ii
Kata Pengantar - v
Daftar lsi - vii

Bab 1 Pendahuluan - 1
Kebutuhan Hardware - 1
Arsitektur SMS Gateway -1

Arsitektur Stand Alone -1
Arsitektur Client Server - 2
SMS Center- 4

Bab 2 Instalasi - 7
Instalasi SMS Gateway - 7
Instalasi Apache -16
Instalasi PHP - 16
Instalasi MySQL -16

Bab 3 Konfigurasi SMS Gateway- 19
Setting SMS Gateway - 19
Menjalankan SMS Gateway- 22

Menjalankan bearbox- 23
Menjalankan smsbox- 23
Deteksi Kesalahan - 24
Menghentikan bearerbox dan smsbox- 27

Bab 4 Membuat Database- 29
Menjalankan MySQL - 29
Membuat Database - 30
Membuat Tabel- 30

Membuat Tabel Pemakai - 30
Membuat Tabel Groups- 30
Membuat Tabel Perintah- 30

viii Membangun Aplikasi SMS Berbasis Open Source I

Membuat Tabel Phone Book- 30
Melihat Tabel- 31

Memasukkan Data ke Tabel Pemakai- 31
Memasukkan Data ke Tabel Groups- 31
Memasukkan Data ke Tabel Perintah- 31
Memasukkan Data ke Tabel Phonebook- 31
Melihat Field Tabel- 31
Melihat Field Tabel Pemakai- 31
Melihat Field Tabel Groups - 32
Melihat Field Tabel Perintah- 32
Melihat Field Tabel Phonebook- 32
Melihat Data - 33
Melihat Data Secara Keseluruhan - 33
Melihat Data pada Field Tertentu - 33
Melihat Data dengan Syarat Tertentu- 33
Melihat Data dengan Alias pada Field - 34
Melihat Data dengan Alias pada Tabel - 34
Melihat Data pada Dua Tabel- 35
Menghapus Data- 35

Bab 5 Administrasi SMS - 3 7
Menjalankan Apache - 3 7
Meletakkan Aplikasi- 38
Koneksi Database - 39
Otentifikasi - 39
Login- 40

Halaman Login - 40
MenuCSS-42
Menu-43
Index -43
User-46

Halaman User - 46
Halaman Tambah dan Ubah User- 49
Group SMS - 51
Halaman Group SMS- 51
Halaman Tambah dan Ubah Group SMS -54
Phone Book- 56

I Dqftarlsi ix

Halaman Phone Book- 56
Halaman Tambah dan Ubah Data Phone Book- 58
Perintah SMS - 62
Halaman Perintah SMS - 62
Halaman Tambah dan Ubah Perintah SMS - 64
Kirim SMS - 67
Halaman Kirim SMS - 67
Halaman Kirim Satu SMS - 70
Halaman Kirim SMS ke Banyak Nomor- 71
Balasan SMS - 72
Logout- 72

Daftar Pustaka - 73



BAB 1

PENDAHULUAN

KEBUTUHAN HARDWARE

Kebutuhan hardware yang digunakan dalam buku ini sangat
mudah diperoleh, yaitu Personal Computer (minimal spesifikasi
400MHz Pentium II dan 128MB RAM), GSM Modem atau
handphone, kabel data dan kartu telepon. Jadi, Anda bisa sangat
berhemat, bukan? Kemudian, untuk mengimplementasikan aplikasi
ini, penulis menggunakan handphone Siemens SL45.

ARSITEKTUR SMS GATE WAY

Di dalam buku ini, penulis menawarkan dua arsitektur dalam
implementasi aplikasi yang akan dibuat. Anda bisa memilih
arsitektur tersebut, tergantung persediaan hardware yang ada.

Arsitektur Stand Alone

Pada arsitektur Stand Alone, dibutuhkan empat hardware untuk
mencobai aplikasi tersebut, yaitu PC/Laptop (SMS Server),
handphone (Receiver), handphone (Originatur), dan kabel data.

2 Membangun Aplikasi SMS Berbasis Open Source

'

--Kabel Data

Handphone (Receiver)

PC (SMS Server)

Gambar 1.1 Arsitektur Stand Alone

Kegunaan hardware di atas:

1. PC/Laptop (SMS Server), digunakan untuk meletakkan
aplikasi SMS Gateway dan administrasi SMS yang akan
dibangun.

2. Handphone (Receiver), digunakan untuk menerima SMS,
dalam hal ini SMS yang dikirimkan oleh Handphone user
(originatur).

3. Handphone (Originatur), digunakan untuk mengirimkan
SMS ke Handphone (Receiver).

4. Kabel Data, digunakan untuk pentransferan SMS (input/
output) dari Handphone (Receiver) ke PC/Laptop, dan
sebaliknya.

Arsitektur Client Server

Berbeda dengan arsitektur Stand Alone, arsitektur Client Server
membutuhkan lebih banyak hardware, yaitu PC!Laptop (SMS

I Pendahuluan 3

Server), handphone (Receiver), handphone (Originatur), kabel
data, PC/Laptop (Client) dan kabel penghubung PC ke PC
(UTP/Coacial).

Handphone !Originatur;

PC !Client;

Gambar 1.2 Arsitektur Client Server

Kegunaan hardware di atas hampir sarna dengan hardware yang
digunakan pada jenis arsitektur Stand Alone. Yang membedakan
pada arsitektur ini adalah penambahan 2 perangkat lagi, yaitu kabel
UTP/Coacial dan PC/Laptop untuk Client dengan tujuan memisah-
kan aplikasi SMS Gateway dan aplikasi Administrasi SMS
sehingga bisa menghasilkan kecepatan yang lebih optimal:

1. PC/Laptop (SMS Server), digunakan untuk meletakkan
aplikasi SMS Gateway.

2. Handphone (Receiver), digunakan untuk menerima SMS,
dalam hal ini SMS yang dikirimkan oleh Handphone user
(orginatur).

I4 Membangun Aplikasi SMS Berllasis Open Source

3. Handphone (Orginatur), digunakan untuk mengirimkan
SMS ke Handphone (Receiver).

4. Kabel Data, digunakan untuk pentransferan SMS (input/
output) dari Handphone (Receiver) ke PC/Laptop dan
sebaliknya.

5. PC/Laptop (Client), digunakan untuk meletakkan aplikasi
Administrasi SMS.

SMS CENTER

SMS Center digunakan untuk menjembatani atau menghubungkan
antara handphone originatur dan handphone receiver di mana
sistem ketjanya adalah handphone originatur mengirimkan
perintah SMS (yang sudah ditentukan) ke nomor yang terpasang di
handphone receiver melewati SMS Center (sesuai dengan kartu
pada handphone receiver) kemudian SMS Center akan menerus-
kan ke handphone receiver. Begitu juga sebaliknya.

Handphone (Originatur: SMS Center Handphone (Receiver;
Telkomsel Satelindo
1M3 Excelcomindo

Gambar 1.3 SMS Center

I Pendahuluan 5

Berikut adalah alamat SMS Center operator GSM di Indonesia:

~s:'lt!oil~Falo'~C;srtf~~x;,~.':rN'ori1:01:i~,Ml~:ent~'rY4':~

Excelcomindo +62818445009

1M3 +62855000000

Satelindo +62816124

Telkomsel +62811 00000

SMSC Operator di Indonesia



BAB2

INSTALASI

INSTALASI SMS GATEWAY

1. Download smsgateway di hhtp://www.kannel.org

2. Ekstrak file smsgateway ke dalam hardisk, misalnya
diletakkan di folder /home/ambang/.

3. Posisikan Anda sekarang beketja di tempat Anda menaruh
file smsgateway tersebut, misalnya:

4. Seperti halnya penulis, file hasil ekstrak diletakkan di
/home/ambang/gateway-1.4.0. Sebelum melakukan langkah
di bawah, posisikan Anda beketja sebagai root, kemudian
ketikkan perintah di bawah ini:

i[I~n! Sebelum melakukan langkah c di bawah ini, yakinkan paket- '
paket pendukung terinstal terlebih dahulu seperti C compiler
"""'=~·' dan libraries ANSI C, XML library, GNU Make.

# ¢d /bome{ambang/gateway-1.4:0

kemudian ketikkan ./configure, seperti di bawah ini:

# ./configure', ,
loading cad1e ·./c;onfig.cache

Configuring for, Ka'~p131 gateway version 1.4.0 ...
,,

Running system checks ... . ·. c,'
checking hostsysteni type... iG86-pc"linux-gnu
checklng'for gee.,. (cached) gee .

checktflgwhether. the C compiler (gee -D_XOPEN_SOURCE=60tf:_:

0.:..BSo""sgu RCE. -rdyna miJ:}works... yes

,c:neckJri9t\'Vhetherthe c compiler (gee "o_xoPEN_;SOURcE=6oo -

I8 Membangun Apllkasl SMS Beri>asis Open Source

Dc:;_~SlJ;:_SbURCE ~rdynamic) iS a~ross~compiler.,.no
checkin9, whether we are using GNI,JC..• (cached) yes
ch~cking wh~ther gee accepts-g •..· (cached) yes
chec~iD!l {ora BSDcompatib.le instalL,. (cached) ;usr/bin/install·c
ch~c)<ing for r:anlib ... (cached) ranlib
checking for bison... no
checking for byai:c... no
checking for flex... (cached) lex
checking for yywrap in -II....(cached) no
checking for convert; .. no
checking for pert.. (cached) /usr/binfperl
checking size of short... (cached) 2
checking size of Int... (cached) 4
checking size of long... (cached) 4
checking size of long long ... {cached) 8
checking forlog in -lm.... (cached) yes
checking for accept in -I socket... (cached) no
checking for lnet_ntoa in -Ins!. .. (cached) yes
checking for inet_ntop in -lresolv ... (cached) yes
checking for inet_ntop in -!bind... (cached) no
checking for pthread_exltin -lpthread ... (cached) yes
checking for libiconv in -liconv ... (cached) no
checking how to run the C preprocessor... (cached) gee -E
checking for ANSI C header files ... (cached) yes
checking for sys/ioctl.h ... (cached) yes
checking for sys/time.h ... (cached) yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/poll.h ... (cached) yes
checking for pthread.h ... (cached) yes
checking for getopt.h... (cached) yes
checking for syslog.h ... (cached) yes
checking for iconv .h... (cached) yes
checking for zlib.h ... (cached) yes
checking for execinfo.h ... (cached) yes
checking for stdlib.h ... (cached) yes
checking for sys/socket. h... (cached) yes
checking for sys/sockio.h ... (cached) no
checking for net/if.h... (cached) yes
checking for netinet/in.h ... (cached) yes
checking for gettimeofday ... (cached) yes
checking for select ... (cached) yes
checking for socket... (cached) yes
checking for strdup... (cached) yes
checking for getopt_long ... (cached) yes
checking for localtime_r... (cached) yes
checking for gmtime._r... (cached) yes
checking for backtrace ... (cached) yes
checking for srandom ... (cached) yes
checking for getopt... (cached) yes
checking for gethostbyname_r... (cached) yes
checking for which type of gethostbyname_r... (cached) 6
checking for socklen_t in <sysjsocket.h> ... (cached) yes

I Instalasl 9

'> "-J,:f

,¢pfifigUt!ng DpcaooR support ••.

'd'iecking forjade... (cact;\~~) no,,

'checking for'jadetex:r:c(cac;he'd} no;;,,,
checking fo~pdfjade~ex.~:'(cachedfno )~

checking .f()p;dvlps.i::ccachedfdvips '!,!(f%'!1'

checking for flg2dev••. (cached},no ;~;\,
checking ~Qi:fonvertii.:{cached) no 'Y · ' ' "
, ." c' .' ,

Checking for/Ust"/lib/sgml/sty1estleet/dsssl/docb0okinwalsh/htrnl/docbook.dsl ... tcached) no

Checking fqr /usr/lib/SQJ'Tll/stvleSheets/nwals~~(llodUiar/html/docbook.dsl... (cached) no

checking for /usrtsharejsgml/docbook/dsssl-stylesheets,-.' ··

1.59/html/docbook.dsL.,(cached) no ';.ec.';!,

Checking. fOr:/USr/Sha re/Sgml/dOCbOOk/dSSSJ-StyJesheetsC.

1.77/html/docbook.dsl.• :(cached) no':".· , .·

Checking for /usr/share{sgml/docbooK/dsssFstylesheets/html/docbook.dsl... (cached) no

checking forfusr/share{sgml/docbooK/dsssl/modular/html/docbook.dsl. .. (cached) no

Checking for /usr,llocal/lib/sgml/9:ylesheet/dsssl/docbook/nwalsh/html/docbook.dsl... (cached) no

checking for /usr/local/lib/sgml/stylesheetsjnwalsh-

moduiar/html/docbook.dsl... (cached) no

checking for jusr/iocal/share/sgml/docbook/dsssl-stylesheets-

1.59/html/docbook.dsl... (cached) no

checking for /usr/iocai/share/sgml/docbook/dsssi-stylesheets-

1.77/htmljdocbook.dsl. .. (cached) no

checking for /usr/local{share/sgmijdocbook/dsssl-

stylesheets/html/docbook.dsi. .. (cached) no

Checking for /usr/local/share/sgml/docbooK/dsssl/modular/html/docbook.dsl... (cached) no

Checking for /usr/lib/sgml/styleSheet/dsssl/docbooK/nwalsh/print/docbook.dsl... (caChed) no

Checking for /usr/lib/sgml/stylesheet:s/nwa!Sh-modular/print/docbook.dsl... (caChed) no

checking for /usr/share/sgml/docbook/dsssl-stylesheets-

1.59/print/docbook.dsl. .. (cached) no

checking for /usr/share/sgml/docbook/dsssl-stylesheets-

1.77/print/docbook.dsl ... (cached) no

Checking for /usr/share{sgml/docbooK/dsssl-stylesheets{print/docbook.dsl... (cached) no

Checking for /usr/share{sgml/docbooK/dsssl/modular/print/docbook.dsl... (caChed) no

Checking for /usr,llocal/lib/sgml/9:ylesheet/dsssl/docbook/nwalsh/print/docbook.dsl... (cadhed) no

10 Membangun Aplikasi SMS Berbasis Open Source

checking for {usr/localjlib/sgmljstylesheets/nwalsh-
modularjprlnt/docbook.dsl. .. (cached) no

checking for 1usr1loca 1/share/sgml/docbook/dsssl-stylesheets-

1.59/print/docbook.dsl. .. (cached) no
ct1ecklng for /usr/local/share/sgml/docbook/dsssl-stylesheets-
1. 77/print/docbook.dsl. .. (cached) no
checking for ;usrjloca 1/share/sgml/docbook/dsssl-

stylesheets/print/docbook.dsl. .. (cached) no

nochecking for /usr(loca!/sharejsgmlidocbookjdsssl/modular/print;ldocbook.dsl... (cached)

Not building documentation.
Configuring parameters ...
checking which malloc to use... nat1ve malloc

enabling local time

enabling cookies

Configuring OpenSSL support ...
checking whether to compile with SSL support... trying

Configuring DB support ...
checking whether to compile with MySQL support... disabled
checking whether to compile with LlbSDB support... disabled
checking whether to compile with SQLite support... disabled
checking whether to compile with Oracle support... disabled
checking whether to compile with PostgresSQL support... disabled

Generating output files ...
creating ,fconfig.status
creating gwlib/gw_uuid_types.h
creating Makefile
creating gw-config.h
gw-config.h is unchanged

License information ...

+- ---------------"-------------------------------- ------------------------- +

! License:

1 This software is subject to the Kannel Software License, available

i In this distribution in the file .LICENSE. By continuing this
l installation process, you are bound by the terms of this license

I agreement. If you do not agree with the terms of this license, you I

1 must abort the installation process at this point. 1

II

1 The Kannel Group <http://www.kannel.org/>

+-------------------------------------------------------------------------+

Thank. you for using Kannel.
am bang :/homejambang/gateway-1.4.0 #

Setelah sukses meng-compile file configure di atas maka langkah
selanjutnya adalah mengetikkan perintah make, seperti di bawah
1m:

Instalasi 11

RCE=600-D_BSD_SOURCE-
-•nvn;•m•r '•>nillimllc:rr·int/wlmlc:r wmlscript/wmlsc;olibgw.a

lscJ'lllt~"i!i libi.ltao.a -Ins! -lm -lpthread -L/usr/lib -

gtc ~D.,.:~I;ENTRANT=l -I, ~lgW;\~r;:~OP-fN~~OURCE=600 ~D_BSD_SOURCE -

I/usrJinclude/Ubxml2 -rdynamfc ~o wmlsqJpt/wmlsdasm wmlscript/wmlsdasm.o
iibgw.~·ll~~mlscript.a libwap:a libgwlib;?;~frt -lresolv ,;;;InsI -lm -lpthread -
1./iJsr'/lib ~lxml2 ,tz"rlpthread -lm /';"'£"!>"" . • , ··
gcc::O:::,REENT.RANT=":t -l;~lgw ·D"'CXQPEN_SOURC£;=600 ;,Q_SSD_SOURCE •

-ol/~f/lnclude/libxml4 :raynamie ui:\tstseewbmp<utils/seewbmp.o libgw.a

libwmlsqipt.a libwap.~. Hbgwlll;l.a·•frt.;;;lresolv -lnsL~lm -lptl')read -L/usr/lib-

lxm1.2 -lz-lpthread -rm:,;: • ,
gtc•·D_REENTRANT~L~I. -Igw -,D_:.XOPEN..:.SOURCE=600;-D_BSD:...SOURCE-

I/usr/include/libxmi2 -rd\mamic -o utHs/mtbatch utiis/mtbatch.o libgw.a
lil;lwmlscrlpt.alibwap;a libgwiib.a ~lrt. -lresolv -lnsl.-lm -lpthread -L/usr/lib-

lxm12.~1z -ipthread -im ':• · · . •. . • ..•

gq: -o:._REENTRANT="l'.;t ;Igw -D..:..XOPEN_SOURCE=600 -D_BSD_SOURCE-

I/usr/include/libxml2 •rdynamic -o:.gw/bearerbox gw/bearerbox.o libgw.a

llbwmiscript.a libwap;a'libgwiib.a -lr\: ;lresolv -lnsl-lm -lpthread -L/usr/lib -
.•t , ·
lxm12 -lz -lpttiread -1m ··
gee .-O_:REENTRANT=l ~t -lgw -D.)<OPEN_SOURCE=600 -D_BSD_SOURCE -

!/usr/include/,libxml2 -rdynamic -o g'w/smsbox gw/smsbox.o !ibgw.a

-lm . ·•libwmlseript.a·libwap.a libgwlib.a"~lrt,,·lresolv -lnsl -lm -lpthread -L/usr/lib-

txml2 -lz -lpthread
gee ·D-~eENTRANT=l -I. •Igw -o:.:_XOPEN_SOURCE=600 -D_BSD__SOURCE;

I,fusr/include[libxml27rdynamic -o gw/wapbox gw/wapbox.o libgw.a ,
libwmlscrlgt.a libwap.a llbgwl!b,a -lrt -lresolv -Ins: -1m -ipthread -L/usr/llb'~

ixml2 "fZ cfpthread rim . _ _· -_ ;;'

gee -D_REENTRANT=1 -I. -Igw ·D]OPEN_SOURCE=600 -D_BSD~SOURCE •

I/usr/inelude/libxml2 -rdynamic -o utils/run_kannel_box utils/riJn_l<annel_l;lox,o

llbgw.a libwmlscript.a libwap.a libgwlib.a -lrt -lresoiv -Ins: -1m -lpthread -

L/usr/lll;l--lxm 12 -lz -lpthread ~I m
gee -b~REENTRANT"=1-I. -Igw :D_XOPEN_SOURCE=600 -D_BSD_SOURCE

I/usr/include/libxm12 -rdynamic -o test/decompile test/decompile;o.Jibgw.a
llbwtnlscript.a libwap.a libgwfib.a -lrt -lreso!v -ins: -lm -lpthread ~L/usr/libc­
lxml2 "lz-~lpthread -lm
gee ~D:::,REENTRANT=1 -I. -Igw -D_XOPEN_SOURCE=600 -o.:_ssD_SbURCE-
Ijusr/l\)~lude/libxml2 -rdynamic .-o test/drive_srnpp test/drlve_smpp.o .Ubgw.a

iibwmlscript.a libwap.a libgwl!b.a -lrt -lresolv -lnsl -1m -lpthread ·L/usr/lib -·

lxm12. •lz-~lpthread ·lrh ·

12 Membangun Aplikasl SMS Berbasis Open Source '

gee -D_REENTRANT= 1 ~1.2i?Jw'''~D:...XOPE~:'..:SOU RCE=600-D_SSD_SOUR.CE ·-

Ijusrjinelude/llbxmlf :rdynamlQ .-o test/d,rjve:,.,wapbox test{drlve;_wapbox.o

libgw.a libwmlscrlpt.l!!,IJbwap.~a lib!;!wlip.p~7lrt,-lresolv -lnsi.Hm ~IJ?thread [

·,,y : . '. . . ' .· , , •.L/usr/lib -lxml2 -l:z;.:lpthread ~1m.
gee -D_REENTRANT=l -1. -Igw .•. ~o_XOPEN:,.,SOURCE=600-D_BSD_SOUfl.fE -

I/usr/include/llbxrnl2 -rdynamic ,o.test/fakesmsc test/fakesmsc.o llbgw,a ' ·
libwmlserlpt.a llbwap.a llbgwllb.a -lrt -lresolv ~lnsL~Im -lpthread -L/usr/lib .~

lxml2 -lz -lpthread -lrn' ::, ' · ·

gee -D_REENTRANT= 1,;:-1;. ~~9wi ~ D_XOPEN;_SOURCE=600 ·-D_BSD_SOURCE -

I/usr/inelude/libx.rnl~"roynamlc ~o test/fakev,-ap teSt/fakewap.o libgw.a

llbwmls<;ript.a.libwap.a libgwlib.a -lrt -lresoly:,lnsl -lm -lpthread -L/usr/lib -

lxm12 ~l;z ,..Jptn.read.:~rm . . · •••• . :

gec,..D:..:REENTRANT=l ·1. •Igw ·D_XOPEN_SOURCE=600 .o_BSD_SOURCE c

l/l.JSr/lnelude/llbxml2 -rdynamic -otest/test_boxc test/test_boxe.o libgw.a

libwmlscript.a libwap,a Jibgwlib.a -lrt:lresolv ·lnsl -1m -lpthread -L/usr/lib -

lxm12 -lz ·lpthread .•.lm . <,: .. '. .. . ·. · · .·
gee -p_REENTRANT=l -L~Igw -D--XOPEN_SOURCE=600 ·D-~SD_SOURCE­

I/usr/lndude/ljbxm12.7tdynamie;-:o test/test_efg.test/test_cfg.o libgw.a
llbwmlscript.a libwap;a libgwlib;a -.lrt.•lresolv -lnsl -lm -lpthread ·L/usr/lib -

lxml2 -lz. -lpthreacl ~lin .

gee ·D_REENTRANT=l·I•. •Igw .cD_XOPEN_SOURCE=600 -0.-BSD_SOURCE -

l/l!sr/inefude/libxml2 -rdyna mic. -o test/test_cimd2 test/test_eimd2 ,o libgw.a

llbwmlseript.allpwap.J:!Iibgwlib.a -lrt-lresolv -lnsl .lm -lpthread cl/usr/lib~

lxml2 ,..fz •lpthread •,lm

gee .•o_REENTRANT= !'·P ·Igw;,;D_XOPEN~SOURCE=600 ·D_BSD_SOURCE •
I/usr/include/jibxml2 crdynamlc .o test/test_dbpool test/tesLdbpool.o libgw.a

libwmlseript.a libwap.a !ibgwllb;a -lrt ·lresolv -lnsl. -1m -lpthread -L/usr/lib -
lxml2 ~.lzdpthread Hn1

gee -0--REENTRANT=l -I. -Igw. -D_XOPEN_SOURCE=600 -D_BSD..SOURCE -

I/.usl"linelude/llbxml2 -rdynamie -o test/test_diet test/test_dict.o libgw.a

llbWmlscript.a Hbwap.a libgwlib.a ·lrt -lresolv ·lnsl ·lm -tpthread-L/usr/lib-

lxml2 -lz -lpthread -lm

gee -D_REENTRANT=l -I. -Igw -D_XOPEN_SOURCE=600 -D_BSD_SOURCE-

Ilusr/include/libxml2 ~rdynamic -o test/test_headers test/test_headers.o

lipgw.a libwmlseript.a libwap.a lit:Jgwlib.a -lrt.•lresolv -lnsl -lm -lpthread-

l/usrflib -lxml2 ··lz ·lpthread-lm

gee -D_REENTRANT=l -I. -Igw ·D_XOPEN_SOURCE=600 -D_BSD_SOURCE-

I/usr/include/libxml2 -rdynamlc-o test/test_http test/test_http.o libgw.a

libwmlsCrlpt.a llbwap.a libgwllb.a -lrt -lresolv.-lnsl -lm -lpthread -L/usr/lib-

lxml2 -lz -lpthread -lm

gee -D_REENTRANT=l ·I. -Igw -o_xOPEN_SOURCE=600 -D_BSD_SOURCE -

Ilusrjinclude/libxml2 -rdynamlc ,o test/test_http_server

test/test_http_server.o Hbgw.a libwmlscrlpt.a llbwap.a libgwlib.a -lrt -lresolv -

lnsl·lm· -lpthread -Lfusr/lib ·lxm12.-lz -lpthread -lm

gee -D_REENTRANT=l -I. ..rgw -D_XOPEN_SOURCE=600 -D_BSD_SOURCE; •

I/usr/include/libxml2 -rdynamic -o test/test_md5 test/test_mdS.o libgw.a

libwmlscript.C)Iibwap.a libgwlib.a -trt ·lresolv -lnsl -1m -lpthread ·L/\JSr/Jib ~

lxml2 -lz.-lptl:1read -lm.>,.>f: ;<> ...· '.•;'..,'
gee -D~RE;ENTRANT=.l~I;Hgw,.-p_XOPEN-:-SOURCE=600 ·D..;BSO--SOURCE •

I/usr/inelude{libxml2 :.rdyn9mie,;o test/test:_mem test/test_mern.c libgw.a ·

libwmlsetlpt.a .llbwaR;i'Jijb9v,'Jlp;C)·lrt -lresolv -Ins! -1m -lpthread ,.Lfusr/lib .• .;
lxm12 •lz +lpthread ~ll"l);•> , ' ~i · . · ·• •. , .·.. .
.· ·· ·•· .·., ·•.
gec;-Q.;.REENTRANT=1..:r; -Igw. •D.c.XOPEN_SOURCE=600 ·D_BSD_SOURCE • .·.

'Instalasi 13

I14 Membangun Aplikasl SMS Berl>asls Open Source

I Instalasi 15

Setelah perintah di atas sukses di-compile, langkah selanjutnya
adalah mengetikkan perintah make install, seperti di bawah ini:

16 Membangun Aplikasi SMS Berbasis Open Source !

' '

INSTALASI APACHE

1. Download file Apache pada http://www.apache.org.
2. Ketikkan perintah sebagai berikut jika Anda akan meng-

instal apache versi 1.3.16 (Anda juga bisa menggunakan
versi di atasnya):

apabila Anda ingin menganti apache yang sudah ada (upgrade)
rnisalnya versi 1.3.1 7, ketikkan perintah:

INSTALASI PHP

1. Download source PHP4 pada
http://www.php.net/downloads.php.

2. Instal file tersebut:

dengan perintah:

INSTALASI MYSQL

1. Download software MySQL pada situs http://www.
mysql.com. Usahakan mendapatkan versi terbarunya.

2. Ketikkan perintah:
Apabila file yang Anda download berekstensi *.rpm:

I Instalasi 17
'
Apabila file yang Anda download berekstensi *.tar.gz:



BAB3

KONFIGURASI
SMS GATEWAY

SETTING SMS GATEWAY

Buka file smskannel.conf. Untuk mengedit file tersebut, Anda bisa
menggunakan editor yang sudah ada, semisal vi atau emacs
kemudian Anda bisa setting seperti di bawah ini:

I20 Membangun Aplikasi SMS Beri>asls Open Source

#~l:ore~hle.=P'Jtrnp/kannel.store"

:=#ssl-server-c~rt~file ."cert~pem"
'Usskseryel':key~file;;; "k~y.pem.·• .• . ··. ;

#s s J- cert k--- ey-f )l e = "mycertandprivkeyfile. pem"
~,-
-- -

# SMSC CONNECTIONS

#grq4p ;=.smsc

#smsc,;, fake

#smsc-id .= FAKE

#port = 10000

#connect-allow-ip = 127.0.0.1

group= smsc

smsc =at

smsc-id= siemensSL45

=modemtype generic

# device yang digunakan (serial port)

device = /dev/ttySO

# device yang digunakan (usb port)

=# device /dev/usb

# smsc untuk xi

#sms-center = +62818445009

# smsc untuk telkomsel

sms-center = +6281100000

# untuk operator satelindo

#sms-center = +62816124

=# untuk kecepatan modem pd handphone ·
speed 19200

#speed = 14400

# SMSBOX SETUP

group = smsbox

bearerbox-host = JocaJhost

=sendsms-port 13013
global~sender = 13013

=#se.ndsms-chars "0123456789. +-"

#Jog:file = 'Ytmp/smsbox.Jog"

=#log-level 0

·=#access"log "/tmp/access.log"
=# SEND-SMS USERS

group sendsms-user
#user yang dlgunakan (blsa diubah)

username =tester

#password yang digunakan (bisa dibuah)

password = foobar

#user·deny-ip = ""

user-allow-lp ="127.0.0.1"

#SERVICES

group = sms-service

=keyword = jadwal . . .· . .· .. ... •.·. ·•·. >\
get-uri "http://localhost/sll'lf/smsbalik.php?txtf'erintah1=%k&txi:Perintah2=%S"

max-1Tlessages,.3 ·

group,., sms-service
keyword=nilai

Kon.figurasi SMS Gateway 21

Keterangan tanda-tanda di atas:
• #, digunakan untuk komentar

• %k, kata kunci untuk perintah SMS
• %S, kata kunci kedua untuk perintah SMS

Pada listing smskannel.conf di atas, terdapat 3 keyword, yaitu
jadwal, nilai dan default (digunakan sebagai balasan SMS jika
perintah SMS yang dimasukkan tidak sesuai). Jika mgm
menambah perintah maka tambahkan perintah di bawah ini:

Setting smskannel.conf di atas dipakai jika Anda menggunakan
model arsitektur stand alone. Jika menggunakan arsitektur client
server maka bagian http://localhost/ diganti dengan http:/IIPAddress/
(misal: 192.168.0.2) yang digunakan untuk menempatkan aplikasi

SMS. Penggunaan device pada setting di atas disesuaikan dengan

port yang digunakan (usb port atau serial port).

I22 -..banyun Aplfkasi SMS Beri>Gsis Open Source

MENJALANKAN SMS GATEWAY

Untuk mengetahui apakah setting sudah sesuai dengan handphone
yang Anda gunakan, langkah selanjutnya adalah menjalankan
bearerbox dan smsbox yang ada pada folder gw dengan
mengetikkan perintah di bawah ini:

I' - SMS Gateway 23

xml_shared.h
xml_shared:o

Menjalankan bearerbox

Ketikkan perintah .lbearerbox -v 1 smskannel.conf seperti di
bawah ini:

t1W15ea~x:celi tsms~S,anHtH.conr

= =2005-()6,J?08:51:56{8754]JO] INFO: Debug_lvl l, log_tile =<none>, log_lvl 0

2005'{)6.,17 08:51:56 [8754] TOJWARNING: DLR: using default 'lntemal'. for storage type.

2005cO§'o.)17 OB:51:56'[tg54l [0] INFO: DLR using storage type: .internal

2005~l108:51:56[8754]IO] INFO: Added logfile 'Jtmp/kannel.log' with level· 0'.

2005-Q6'1108:51:56 [fJ754l [0] INFO: SSL not supported, no SSL initialization done.

2005·j)fir1708.:51:5§J{l754-HOJ INFO: HTTP: Opening server at port 13000.
2005:-QI>r.i7 0~:51:56IB7!)4] [OJ INFO: BOXC: 'smsbox-max-pending' not set,

using,peJ'<:tult (100). > • .. . . . ..

•2005tQ6-;,170B::51:51> HP54] [0] INFO: ..DLRreroutingfor smsc id
j(siernenSsl45:> dlsa~led.. .•. .
. •.. .·
2o 1708:51:56[1'!754] [OJ INFO: AT2[siemensst45]: configuration

:$h Oclemcype <generic>
200 . ~17 .08:51:51).[~754] [O] INFO: AT2[siemenssL45]: read modem

l:le . {of..<rnOcleiJ'l$;4' . . . .· ~---~1·~-----.---·,-~~------------~---------
20 17 0~:51:56 [~754] [0] INFO:

~0 .... 7 08:51:56 [8754] [O]INFO: Kannel bearerbox II version 1.4.0 starting

2005~.17 08:51:56 [8754] [OJ INFO: MAIN: start-up done, entering mainloop

2005f.0§.,.1708:51:56 [8754] [6] INFO: AT2[siemensSL45]: opening device
2005&~17 08:51:56 [8754] [6] INFO: AT2[siemensSL45]: init device

200 1708:51:56 [8754] [6] INFO: AT2[slemensSL45]: speed set to 19200

200. }17 08:51:57[8754] [6] ERROR: AT2[slemensSL45]: Error occurs:
ERROR (efror: number not known to us. ask google and add it.)

~005..,Q§,-17.08:51:57[f3754] [6] .INFO: AT2[siemensSL45]: cannot enable

hardWare handshake

2005--(16..17 08.:51:57 [8754] [6] INR): AT2[siemenSSL45]: Phase 2+ is supported

2005·06:17 08:51:57{8754] [6] INFO: AT2[siemensSL45]: AT SMSC
:§ucq~~~nv lllJened. •··•

Menjalankan smsbox

Ketikkan perintah ./smsbox -v 1 smskannel.conf seperti di bawah
mt:

x ;v1sm5kanhel.conf

ati;~:34 {8~il[o]7 INFO: Debug_lvl =1, log_file =< <none>, log.Jvl =o

1708:53:34•{8791] [0] INFO: HTTP: Opening server at port 13013.
200 ...... ,17.()8:53:34 [8791] [0] INFO: Set up sendsms service at port 13013
2{)()5-06'-17 08:53:34 [8791] [O] INFO: Connected to bearerbox at localhost port 13001.

24 Membangun Aplikasi SMS Berbasis Open Source

DETEKSI KESALAHAN

Jika settingan pada smskannel.conftidak sesuai dengan handphone
yang digunakan maka pesan kesalahan akan seperti di bawah ini:

ambang:/home/ambang/gateway-1.4.0/gw # ./bec;~rerbox -v 1 smskannel.corif

2005-06-1708:22:18[8544] [OJ INFO: DebugJvl = l,log~flle =<none>, logjvl =0 • <

2005-06-17 08:22:18 (8544] [O] WARNING: DLR,: using default 'internal' for storage type.

2005-06-17 08:22:18 [8544J [OJ INFO: DLR using storage type: internal

2005-06-17 08:22:18 [8544J[0] INFO: Added logflle '/tmp/kannel.log' with level '0',

2005-06-17 08:22:18 [8544] [0] INFO: SSLnotsupported, noSSLinitlallzatlon done.

2005-06-17 08:22:18 [8544] [0] INFO: HTIP: Opening server at port 13000.
roxc:2005-06-17 08:22:18 [8544J [OJ INFO:
'smsbox-max-pending' nd;se.t, using d€faut (100).

2005-06-17 08:22:18 [8544] [0] INFO: DLR rerouting for smsc k:l <Siemens5L45> disabled.

2005-06·17 08:22:18 [8544] [O]INFO: AT2[SiemensSL45]: configuration

shows modemtype <generic>

2005-06"17.08:22:19 [8544] [0] INFO: AT2[Siemt:msSL45]: read modem

definition for.<modems>

2005-06-17 08:22: 19 [8544 J [OJ INFO: -------------"·--"c••---~----~.;•...••.••

2005-06-17 08:22:19 [8544] [OJ INFO: Kannel bearerbox II version 1.4.0 starting

2005-'06-17 08:22:19 [8544] [OJ INFO: MAIN: Start-up done, entering malnloop

2005-06-17 08:22:19 [8544] [6] INFO: AT2[SiemensSL45]: opening device

2005-06-17 08:22:19 [8544] [6] INFO: AT2[SiemensSL45]: initdevice.

2005-06-17 08:22:19 [8544} [6] INFO: AT2[SiemensSL45J: speedsetto19200

2005-06-17 08:22:23. [8544] [6] ERROR: AT2[SiemensSL45]: Opening failed. Terminating

2005-06-17 08:22:23 [8544] [6] INFO: AT2[SiemensSL45]: closing device.

2005-06-17 08:22:23 [8544] [6] INFO: AT2[SiemensSL45]: opening device''

2005-06~17 08:22:23[8544] [6] INFO: AT2[SiemensSL45J: initdevice

2005-06-17 08:22:23 [8544] [6] INFO: AT2[SiemensSL45]: speed setto 19200

2005-06-17 08:22:27 [8544] [6J ERROR: AT2[SiemensSL45]: Opening failed. Terminating

2005-06-17 08:22:27 [8544] [6J INFO: AT2[SiemensSL45]: closing device

2005-06·17 08:22:27 [8544] [6J INFO: AT2[SiemensSL45]: openirlg device

2005-06-17 08:22:27 [8544] [6] INFO: AT2[SiemenSSL45]: initdevk:e

2005-06-17 08:22:27 [8544] [6] INFO: AT2[SiemensSL45]: speed set to 19200

2005-0&17 08:22:31 [8544] [6] ERROR: AT2[5iemE!nsSl45]: Opening failed. Terminating

Jika bearerbox belum jalan, secara otomatis smsbox tidak jalan
juga. Pesan kesalahan yang muncul bisa dilihat di bawah ini:

ambang:;home/ambang/gatewaycl.4.0/gw # .;smsbox -v 1 smskannel.coil{ ,.

2005-06-17 08:36:54 [8668} [0] INFO: Debug_lvl = 1, log_file =<none>, log_lv[.=H).;<

2005-06·17 08:36:54 [8668] [0] INFO: HTTP: Opening server at port 130i3.
.. ' >Fe;·
2005-06·17 08:36:54 [8668] [OJ ERROR: bind faUed

2005-06-17. 08:36:54 [8668] [0] ERROR: System error 98: Address already in.us,e .

2005-06-17 08.:36:54 [8668] [0] PANIC: Failed to open HTTP socket · ·

2005-06-17 08:36:54 [8668] [0] PANIC: ./smSbox(gw_panic+Ox175)[0><80?P7§.el''.,'/

2005-06-17 08.:36:54 [8668] [0] PANIC: ./smsbox [Ox8059d98]. , ; • ,,

2005-06~17 08:36:54 [8668] [OJ PANIC: ./smsbox(maln+OxlSO)[px8()5~0

2005-06-1708:36:54 [8668] [0] PANIC.: ..

/lib/tls/lfbc.sg.6(_:_Jibc_start_main+Oxd())·..rox401cde80] ;;:'';..,
2005•06-1708.:36:54 [8668] [OJ PANIC:...•/smsbox [Ox8Q4fe81l:
· 'i""'

I Ko'lfigurosi SMS Gateway 25

Untuk menjalankan kembali maka bearerbox dan smsbox perlu
dimatikan terlebih dahulu. Untuk memastikan bearerbox dan
smsbox masih beijalan atau sudah berhenti, ketikkan perintah di
bawah ini:

amb~ng:/home/ambang/gateway-lA.O/gw # ps aux

SER PJl) %CPU %MEM Vsz RSS llY STAT STARr TIME COMMAND
sroot 1 0.0 0:0 680 64?
07:23 0:01 init [5]

root 2 0.0 0.0 0 0? SN 07:23 0:00 [ksoftirqd/0]

root 3 0.0 0.0 0 0? 5< 07:23 0:00 [events/0]

root 4 0.0 0.0 0 0? 5< 07:23 0:00 [khelper]

root 9 0.0 0.0 0 0? ~< 07:23 0:00 [kthread]

root 19 0.0 0.0 0 0? 5< 07:23 0:00 [kacpid]
o.oroot 96 0.0
0 0? 5< 07:23 0:00 [kblockd/0]

root 136 0.0 0.0 0 0? 5 07:23 0:00 [pdflush]
o.oroot 137
0.0 0 0? 5 07:23 0:00 (pdfiush]

root. 139 0.0 0.0 0 0.? 5< 07:23 0:00 [aio/OJ

root 138 .0.0 0.0 0 0? 5 07:23 0:00 [kswapdO)

root 731 0.0 0.0 0 0? S 07:24 0:00 [kseriod]

root 1171 0.0 0.0 0 0 ?. 5< 07:24 0:00 [reiserfs/0]

root 2229 0.0 0.2 1468 348? 5<s 07:24 0:00 /sbin/udevd -d

root 22990 ..0 0.0 0 0? 5 07:24 0:00 [khpsbpkt]

root 2661 0.0 0.0 0 0? 5 07:24 0:00 [khubd]

root 2717 0;0 0.0 0 0? 5 07:24 0:00 [kgameportd]

root 28210.0 0.0 0 0? 5 07:24 0:00 [pccardd]

100 3492 0.0 0.4 3356 556? 5s 07:24 0:00 /usr/bin/dbus-daemon-1 --system

root 3563 0.0 0.4 1852 556? 5s 07:24 0:00 /sbin/syslog-ng

root 3569 0.0 0.2 1600 344? 5s 07:24 0:00 /sbin/klogd -c 1 -x -x

root 4036 0.0 0.2 1.456 280? 5< 07:24 0:00 [hwscand)

root. 4073. 0.0 0,3 1600 408? 5s 07:24 0:00 /sbin/cardmgr

root 5879 0.0 0.3.,2116 408? 5s 07:25 0:00 /sbin/resmgrd

nobody 6003 0.0 0.3 1508 384? 5s 07:25 0:00 /sbin/portmap

nobody 6004 0.0 OA 2044 516? 5s 07:25 0:00 /usr/sbin/mdnsd -f

/etc/rendezvous.conf -b

lp 6097 0.0 0.6 · 6640. 736? Ss 07:25 0:00 /usr/sbm/cupsd

root 6150 0.0 0.6. 8632 812? Ssl 07:25 0:00 /usr/sbin/nscd

root 6248 0.. 0 0.4 4696 504? 5s 07:25 0:00 /usr/sbin/sshd -o

Pldfile=/varjrun/sShd.inlt.pid

root 6259 0.0 0.3 2732 448? Ss 07:25 0:00 /opt/kde3/bln/kdm

root 6266 0.0 0.3.1468 364? 5s 07:25 0:00 /usr/sbin/acpid -c

/etc/acplfevents.ignore

root 6288 0.0 0.5 .4736 648 ?. 5s 07:25 0:00 /usr/lib/postfix/master

postfix 6290 0.0 0.4.4740 584? 5 07:25 0:00 pickup -1 -t fifo -u

postfix 6291 0.0 0.5 4776 612? 5 07:25 0:00 qmgr -1 -t fifo -u

root 6312 6.2 6.4 17328 7644? R 07:25 3:56 /usr/X11R6/bin/X -br

-nolisten tcp :0 vt7 -auth /var/llb/x

root 6335 0.0 OS 3528 · 628? 5 07:25 o:oo -:0

root. 6383 0.0 0.7 2868 840? 5 07:25 0:00 /usr/sbin/powersaved

-d cxtusr/lib/powersave/scripts -a r

I26 Membangun Aplikasi SMS Bernasis Open Source

root 6384 0.0 0.4 1/'52.488.? ss 07:25<?():00/usr/sbin/cron

root 6429.0.0 0.6 3804 828? Ss 07:25 0:01/~/sbin/11ald -daernor\==ves .

ambang 6433 0.0 0.4 3836 5.12? Ss 07:25 O:OO/bin/~fu5r/X11~

root 6741 0.0 .0.3 1904 424ttyl Ss+ 07:25 .. O:OOfsbfo/mingetty~ity1

root 6742 O;O 0.3 1904 424 tty2 Ss+ 07:25 0:00 /sbin/mlngettY,ttv2

root 6743 0.0 0.3 1904 424 tty3 Ss+ 07:25 0:00 /sbin/mingetty,tty3

root 6744 0.0 0.3 1904 424 tty4 Ss+. ·07:25 .,, 0:00 /sblnfmingett:Ytty4

root 6745 0.0 0.3. 1904 424 tty5 Ss+ 07:25 0:00 /sbin/mingettyttY5.

root 6746. 0.0 0.3 1904 424 tty6 Ss+ 07:25>. 0:00 /sbin/mingettv'ttv6 .

ambang 6793 o.o, 2.1 24396 2576? Ss 07:25 0:00 kdeinlt Runni11g...·

ambang 6796 0.0 2.0 23284 2400? S 07:25 0:00 dcopserver ·

[kdeinit] dcopserver •-'nosid

ambang 6798 0.0 2.6 25164 3132? S 07:25 0:00 klauncher

[kdeinit] klauncher

ambang 6801 0.0 3.4 29860 4132? S 07:25 O:Ol kded [kdeinit] kded

ambang 6812 0.1 1.2 14560 1532 ? S 07:25 0:04

/opt/kde3/bin/artsd -F 10 -s 4096 -s 60 -martsrnessage -c

ambang 6814 0.0 2.3 24988 2800? S 07:25. 0:00 kaccess [kdelnit]kaccess

ambang 6815 0.0 0.2 1456 252 ? S 07:25 0:00 kwrapper ksmserver

ambang 6817 0.0 2.5 25252 3072? S 07:25 0:00 ksmserver

[kdeinit) ksmserver

ambang 6819 0.0 1.0 10248 1228? Ss 07:25 0:00

/opt/kde3/bin/artsd -F 10 -s 4096 -s 60 -m artsmessage -c

ambang 6820 0.1 4.8 27508 5756 ? S 07:25 0:03 !<win [kdeinltJ

kwin -session 10e4696e750001118778551000000 . .

ambang .6822 0.0 3.9 28764 4708? 5 07:25 0:03 kdesktop [kdeinlt] kdesktop

ambang 6824 0.1 5.2 30648 6264 ? S 07:25. 0:04 kicker [kdeinit] kicker

ambang 6826 0.0 2.8 26932 3404 7 5 07:25 0:00 kpowersave.

[kdeinlt] kpowersave ·

ambang · 6828 0.0 3.1 26208 3728? S 07:25 0:01 klipper (kdeinit] klipper

ambang 6833 0.0 2.9 26880 3452? S 07:25 0:01 susewatcher

[kdeinit)susewatcher -caption 5U5E Watcher -i

ambang 6834 0.1 2.8 29792 3432? S 07:26 0:03 suseplugger

[kdeinit] suseplugger -caption 5USE Hardware T

ambang 6838 0.0 3.1 28608 3744? S 07:26 0:01 kmix [kdeinit]

kmix -session 10e4696e750001118778572000000

ambang 6839 0.1 6.5 45188 7760? SL 07:26 0:06 amarokapp-

session 10e4696e75000 111881557900000068540023_1

ambang 6841 0.0 2. 7 34904 3260? S 07:26 0:01 konqueror

[kdeinltl konqueror --preload

ambang 6843 0.0 2.7 34412 3264? S 07:26 0:00 knotify [kdeinlt] knotify

ambang 6844 0.0 4.4 43668 5240 ? S 07:26 0:02 juk -session

10e4696e75000111881662900000068540027_1118927

ambang 6852 0.0 0.4 3832 508? S 07:26 0:00 /bin/sh

;usr/lib/ooo-2. 0/program/soffice slot: 5500

ambang 6861 1.4 46.8 173072 55504? 51 07:26 0:51 /usr/libfooo-

2.0/program/soffice.bin slot:5500

ambang 6871 0.3 6.7 30400 7968? 5 07:29 0:11 konsole [kdeinlt] konsole

ambang 6873 0.0 0.7 4312 932 pts/1 Ss 07:29 0:00 /bin/bash

ambang 6913 0.0 0.6 3836 800 pts/1 T 07:30 0:00 /bin/sh

/etc/inlt.d/mysql start

ambang 7000 o.o 0.4 2844 512 pts/1 T 07:30 0:00 sleep0.2

root 7003 0.0 0.5 4012 632 pts/1 5 07:30 ·0:00 su

27

~ '"'~~>~tt~t''~,

0 :f6~~~~~:l~f'~1~~l,

:oo7u~~~§g!i\fllli~r~t~

· o:oot&sr/sbi~/ntt~~~~

o:oo /bin/bash
.o:o()'mc
s~ule.
basli ;bashrc
0:00

0:00 bash

16 0:00 me

vi~nnei.I=OI)f;,.;·J ····

:20 .o:oo klo_file

Baris di atas menunjukkan bahwa bearerbox dan smsbox dalam
keadaan berjalan.

;fijbt?"'.'8~6~'1,(J;o"o:~':268B·' 808 pts/1 R+ 08:28 0:00 ps aux
~mbai:u;t.Vbome/ambang/gateway-1.4.0/gw #

MENGHENTIKAN BEARERBOX DAN
SMSBOX

Untuk menghentikannya, lihat port yang telah dipakai seperti yang
terlihat di bawah ini:

·. ' o.nr:l:+~;~16 rtrt1· .11 00:22 0:00 ,Jbearerbox -v.l smskarrel.allt ..,
56~.JX.i:!l~~:o:;i~(f l276 pts/1 11 08:25 o:oo ;/smsbox -v 1 smskannel.cort

I28 Membangun Apllkasl SMS Beri>asis Open Source

bearerbox memakai port 8544;
smsbox memakai port 8556;

Untuk menghentikannya, ketikkan perintah seperti di bawah ini:

D/gV<i,i #. klJt.8544
/Qvt~# kliL855t5

atau

·~~~~~~;~~~~i~~~E~·~:,...

Setelah bearerbox dan smsbox dimatikan, ketikkan perintah untuk
menjalankannya.

BAB4

MEMBUAT DATABASE

txtNmGroup

.·,:tfAAar<ai .;,; txtPerintah 1
txtPerintah2
PK jdPemakaj txtlsi

userName
password

Gambar 4.1 Database SMS

MENJALANKAN MYSQL

Sebelum membuat database dan tabel, pertama masuklah ke dalam
konsol (posisikan Anda sebagai root) dan ketikkan:

done

kemudian ketikkan:

30 Membangun Aplikasi SMS Beri>a.sis Open Source '

MEMBUAT DATABASE
MEMBUAT TABEL

Membuat Tabel Pemakai

Membuat Tabel Groups

Membuat Tabel Perintah

Membuat Tabel Phonebook

I Membuat Database 31

MELIHAT TABEL

MEMASUKKAN DATA

Memasukkan Data ke Tabel Pemakai

password) VALUE~~
> >,; ,,

Memasukkan Data ke Tabel Groups

Memasukkan Data ke Tabel Perintah

Memasukkan Data ke Tabel Phonebook

MELIHAT FIELD TABEL

Melihat Field Tabel Pemakai

Ketikkan perintah di bawah ini:

I32 Membangun Aplfkasi SMS Be.-basis Open Souree

+-----------+-------------+------+-----+---------+----------------+
+I -F-i-e-l-d------+I -T-y-p-e---------+I-oH-u-l-l-+I -M--ey--+I -D--e-f-a-u-l-t-+I -E-x--tr-a-----------+I
I idPeAakai I int(J) I I PRI I NULL I Iauto_incre~ent
: userna111e I va:rchar(10) I I: I I

+I -p-a-s-s-"1--o-rd---+I -v-a-r-c-h-a-r-<--3-2-)-+I------+I -----+I ---------+I ----------------+I
••ous in set <0. 52 sec)

Melihat Field label Groups

Ketikkan perintah di bawah ini:

+---•----h----f-+ld---f-----•----•-+------+-----+---------+----------------+
+l -F-i-e-l-d-------+I -T-y-p-e---------+I -H--u-l-l-+l -K--e-y-+I -D--e-f-a-u-l-t-+l -E--x-t-r-a----------+I
l intiDGroup l int(J) l l PRI l HULL l auto_incre~ent I
+l -tx-t-N-1-1-1-G-r-o-u-p-+l -u-a-r-c-h-a-r-<--1-5-)-+I -Y--E-S--+I -----+I -0--------+I ----------------+I
••ows in set (0. 00 sec)

Melihat Field label Perintah

. ..Ketikkan perintah di bawah ini:
.

+---------------+--------------+------+-----+---------+----------------+
I Field I Type I Null ; Key I Default : f;xtra I

+--~------------+--------------+------+-----+---------+----------------+
: intiDPerintah I int(3) I PRJ : NULL auto_increment
: txtPerintah1 I varcl>ar(10) I YES I0
: txtPerintah2 I varchar(10) I YES I0
+I -t-x-t-l-s-i---------+I -v-a-l-"-c-h-a-1-'(-1-6-0-)-+I--Y-E-S--+I-----+I -0--------+I ------0----------+I
rows in set <0~02 sec)

Melihat Field label Phonebook

..Ketikkan perintah di bawah ini:
I I ~I I I
--+-------·+------+----------+----------------+

·--F-i-e-l-d----------+--T-y-p-e--------+I--H--u-l-l+I--K-e-9-+I-D--e-f-a-u-l-t-+I -E--x-t-r-a----------+I
intiDPhoneBook : int(3) : PRI l NULL auto_increment
1 txtHama : va~char<50> I YES r0
: txtNoHP : varchar<13> : YES :0
: intiDGroup I int(J) I YES • I0 , l

+--------~-------+-------------+------+-----+---------+----------------+

rows in set (0.02 sec)

I Membuat Database 33

MELIHAT DATA

Melihat Data Secara Keseluruhan

Ketikkan perintah di bawah ini:

Melihat Data Field Tertentu

---------+

: --tx-t-H-a-l-ll-a-+:
: --a-lll-b-a-n-g--+:

Pow in set (0.00 sec)

Melihat Data dengan Syarat Tertentu

Perintah ini digunakan jika data yang dimasukkan sudah banyak

I34 Membongun Apllkasl SMS Bemasis Open Source

sehingga bisa memudahkan dalam melihat data. Perhatikan
perintah di bawah ini:

Seandainya Anda ingin melihat data pada tabel phonebook dengan

.. ...identitas group (intiDGroup) sama dengan 2:
-
+----------------+---------+-------------+------------+
I intiDPhoneBook I txtHarna : txtHoHP I intI DG!'oup I
+----------------+---------+-------------+------------+
?1 I bJ•ul'y : 08129?31933 I 2:
?2 I Ady I 08159131688 I 2I
+----------------+---------+-------------+------------+
2 l'ows in set <0.03 sec)

Melihat Data dengan Alias pada Field

Melihat Data dengan Alias pada label

I Membuat Database 35

+--------+-------------+
: [email protected] : Handphone o;
+--------+-------------+

: arobang : 0818035882Z :

+--------+-------------+

Pow in set <0.00 sec)

Melihat Data pada Duo label

Melihat data dari tabel phonebook dan groups

.~\ ·; .. · . . ·~~~~~~;o:;~~~r

on a.inti#!Gf!>QP?i;b.intl[)Group; , ,: · ·

r----------------+---------+-------------+------------+
: --i n-t-i-D-P--h-o-n-e-b-o-o-k-+:--t-x-t-H-a-~-a-+: --tx-t-H-o-H--P-----+:--t-x-t-H-~-G-r-o-u-p-+:
: 1 : a~bang : 08180358822 : ad~in :
----------------+---------+-------------+------------+
row in set <0.26 sec)

.left otter~.j6iQ merLipakan perintah untu~ menyelel<si,i:lata
berdasarkatftabel yang ada di sebelah kiri. .. ..

MENGHAPUS DATA

Menghapus data pada tabel phonebook yang mempunyat
intiDPhoneBook sama dengan 1.

R.OM phonebook
s affected ~j),~7



BAB5

ADMINISTRASI SMS

Pada bab ini, penulis mengajak Anda membuat aplikasi sederhana
untuk mengelola SMS yang telah dibuat pada bah sebelumnya,
seperti pengolahan phone book, perintah-perintah SMS dan
pengiriman SMS, pada aplikasi ini menggunakan bahasa pemro-
graman PHP dengan database MySQL dengan sintak program
yang sederhana.

MENJALANKAN APACHE

Sebelum membuat aplikasi adrninistrasi SMS, langkah pertama
kali adalah menjalankan apache (posisikan Anda sebagai root),
lihat perintah di bawah ini:

.tfl , .d/aj?ac~~2 start

... otl;Rd2'fp(efprk)

Setelah apache dijalankan, coba kita cek apakah apache sudah
betjalan sukses atau tidak.

1. Buka web browser (Firefox, Konqueror)
2. Ketikkan pada Address Bar http:lllocalhost, seperti pada

Gambar 5.1.


Click to View FlipBook Version
Previous Book
Belajar Kilat photoshop CS5
Next Book
Cardapio_Novembro