SMS ( Short Messages service ) adalah sebuah teknologi dimana kita dapat mengirimkan pesan singkat antara handphone dengan handphone yang lain. SMS Gateway merupakan pintu gerbang bagi penyebaran Informasi dengan menggunakan SMS. Anda dapat menyebarkan pesan ke ratusan nomor secara otomatis dan cepat yang langsung terhubung dengan database nomor-nomor ponsel saja tanpa harus mengetik ratusan nomor dan pesan di ponsel anda karena semua nomor akan diambil secara otomatis dari database tersebut.
Selain itu, dengan adanya SMS Gateway anda dapat mengustomisasi pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengirim pesan dapat lebih fleksibel dalam mengirim berita karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya.
Untuk kebutuhan SMS Gateway tidak terlalu belebihan dan juga fleksibel karena bisa dibuat dengan PC maupun Notebook. Yang mutlak dibutuhkan adalah sebuah komputer, sebuah ponsel dengan kabel data ( Kabel berantarmuka serial yang dapat menghubungi ponsel dengan PC ) atau dapat munggunakan InfraRed dan piranti lunak sebagai SMS Gateway. Untuk menggunakan InfraRed anda membutuhkan sebuah ponsel yang juga memiliki fasilitas tsb, tapi tidak dianjurkan untuk kebutuhan SMS gateway karena komunikasi dengan InfraRed tidak terlalu baik jika tergeser gampang putus.
2.6Kannel
Kannel adalah oppen source WAP gateway. Kannel juga dapat bekerja sebagai SMS gateway untuk jaringan GSM. Semua telpon GSM dapat menerima dan mngirim pesan.
Telpon seluler yang dapat bekerja di kannel adalah wavecom, premicell, siemens (c 35, m20, sl45), nokia phone, falcom, ericsson (R520m, t68), sonyericsoon (gr47, T630-T628), alcatel. Berikut konfigurasinya :
group = modems id = wavecom name = Wavecom
group = modems id = premicell name = Premicell detect-string = "PREMICEL" no-pin = true no-smsc = true group = modems id = premicell name = Premicell detect-string = "PREMICEL" no-pin = true no-smsc = true group = modems id = siemens_tc35 name = "Siemens TC35" detect-string = "SIEMENS" detect-string2 = "TC35" init-string = "AT+CNMI=1,2,0,1,1" speed = 19200 enable-hwhs = "AT\\Q3" need-sleep = true group = modems id = siemens_m20 name = "Siemens M20" detect-string = "SIEMENS" detect-string2 = "M20" speed = 19200 enable-hwhs = "AT\\Q3" keepalive-cmd = "AT+CBC;+CSQ" need-sleep = true group = modems id = siemens_sl45 name = "Siemens SL45" detect-string = "SIEMENS" detect-string2 = "SL45" init-string = "AT+CNMI=1,2,2,2,1" keepalive-cmd = "AT+CBC;+CSQ" speed = 19200 enable-hwhs = "AT\\Q3" need-sleep = true message-storage = "SM" group = modems id = nokiaphone name = "Nokia Phone"
detect-string = "Nokia Mobile Phone" need-sleep = true
keepalive-cmd = "AT+CBC;+CSQ" enable-mms = true
group = modems id = falcom
name = "Falcom" detect-string = "Falcom" #no-smsc = true group = modems id = ericsson_r520m name = "Ericsson R520m" detect-string = "R520m" init-string = "AT+CNMI=3,2,0,0" group = modems id = ericsson_t68 name = "Ericsson T68" detect-string = "T68" init-string = "AT+CNMI=3,3" keepalive-cmd = "AT+CBC;+CSQ" broken = true group = modems id = sonyericsson_gr47 name = "Sony Ericsson GR47" detect-string = "GR47" message-storage = "ME"
# use this init-string for non sim-buffering init-string = "AT+CNMI=3,2,0,0"
# use this init-string for sim-buffering #init-string = "AT+CNMI=3,1,0,0" reset-string = "ATZ" broken = true group = modems id = alcatel name = "Alcatel" detect-string = "Alcatel" init-string = "AT+CNMI=3,2,0,0" group = modems id = sonyericsson_T630-T628 name = "Sony Ericsson T630-T628?
init-string = "AT+CNMI=2,3,2,0,0;+CMGF=0? keepalive-cmd = "AT+CBC;+CSQ;+CMGF=0? broken = true
Konfigurasi sms kannel terdapat di smskannel.conf dimana file ini terletak pada folder gw, berikut ini isi dari file smskannel.conf:
#
# THIS IS A SAMPLE CONFIGURATION FOR SMS KANNEL #
# This basic version is used for system testing. It expects 'fakesmsc' to
# send messages which are replied with simple fixed text message.
# It is run like this: #
# 1% gw/bearerbox gw/smskannel.conf # 2% gw/smsbox gw/smskannel.conf
# 3% test/fakesmsc -i 0.1 -m 100 "123 345 text nop" #
# ..all 3 commands in separate shells (or screen sessions) # Note that you can run them in different machines but have to
# add certain command line argument and configuration variables then
# #
# For any modifications to this file, see Kannel User Guide # If that does not help, see Kannel web page
(http://www.kannel.org) and
# various online help and mailing list archives #
# Notes on those who base their configuration on this: # 1) check security issues! (allowed IPs, passwords and ports)
# 2) groups cannot have empty rows inside them! # 3) read the user guide
#
# Kalle Marjola for Kannel project 2001, 2004 #--- # CORE
#
# There is only one core group and it sets all basic settings
# of the bearerbox (and system). You should take extra notes on
# configuration variables like file' (or 'store-dir'),
# 'admin-allow-ip' and 'access.log'
group = core admin-port = 13000 smsbox-port = 13001 admin-password = bar #status-password = foo #admin-deny-ip = "" #admin-allow-ip = "" #log-file = "/tmp/kannel.log" #log-level = 0 box-deny-ip = "*.*.*.*" box-allow-ip = "127.0.0.1" #unified-prefix = "+358,00358,0;+,00" #access-log = "/tmp/access.log" #store-file = "kannel.store" #ssl-server-cert-file = "cert.pem" #ssl-server-key-file = "key.pem"
#ssl-certkey-file = "mycertandprivkeyfile.pem" #--- # SMSC CONNECTIONS
#
# SMSC connections are created in bearerbox and they handle SMSC specific
# protocol and message relying. You need these to actually receive and send
# messages to handset, but can use GSM modems as virtual SMSCs
# This is a fake smsc connection, _only_ used to test the system and services.
# It really cannot relay messages to actual handsets! group = smsc smsc = fake smsc-id = FAKE port = 10000 connect-allow-ip = 127.0.0.1 #--- # SMSBOX SETUP #
# Smsbox(es) do higher-level SMS handling after they have been received from
# SMS centers by bearerbox, or before they are given to bearerbox for delivery
group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13013 global-sender = 13013 #sendsms-chars = "0123456789 +-" #log-file = "/tmp/smsbox.log" #log-level = 0 #access-log = "/tmp/access.log" #--- # SEND-SMS USERS #
# These users are used when Kannel smsbox sendsms interface is used to
# send PUSH sms messages, i.e. calling URL like # http://kannel.machine:13013/cgi-bin/sendsms?username=tester&password=foobar... group = sendsms-user username = tester password = foobar #user-deny-ip = "" #user-allow-ip = "" #---
# SERVICES #
# These are 'responses' to sms PULL messages, i.e. messages arriving from
# handsets. The response is based on message content. Only one sms-service is
# applied, using the first one to match. group = sms-service
keyword = nop
text = "You asked nothing and I did it!"
# There should be always a 'default' service. This service is used when no
# other 'sms-service' is applied. group = sms-service
keyword = default
text = "No service specified"
Untuk menjalankan kannel maka, bearerbox dan smsbox harus bekerja. Perintah untuk menjalankan bearerbox adalah ./bearerbox –v 1 smskannel.conf sedangkan untuk smsbox./smsbox –v 1 smskannel.conf.
Kannel memiliki beberapa parameter yang dapat digunakan untuk mendapatkan data yang dibutuhkan yaitu:
Parameter Keterangan
%k Kata pertama isi pesan
%r Seluruh isi dari sms selain kata pertama
%p Nomor pengirim
%t Waktu sms diterima
Untuk menjalankan kannel maka, harus menjalankan bearerbox dan smsbox. Untuk menjalankan bearerbox maka, harus mengetikkan ./bearerbox –v 1 smskannel.conf pada konsul, sedangkan untuk menjalankan smsbox adalah ./smsbox –v 1 smskannel.conf
2.7PHP ( Personal Home Page )
PHP adalah PHP Hypertext Preposesor yang merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan diproses dalam server. Hasilnya dikirim ke client, tempat user menggunakan browser. PHP adalah salah satu teknologi yang biasa digunakan untuk membuat halaman web yang dinamis dan interaktif. Secara umum, halaman web dapat dibuat secara statis dan dinamis. Web statis biasanya dibuat dengan menggunakan HTML. Teknologi web dinamis dapat digolongkan atas 2 golongan besar:
1. client-side technologies
2. server-side technologies
PHP dibangun sekitar tahun 1994 oleh Rasmus Lerdoff. PHP versi 3 ditulis ulang oleh Zeev Suraski dan Andi Gutmans pada tahun 1998.
PHP bekerja hampir sama seperti JSP dan ASP. Skrip diawali dengan tag
<?php …… dan diakhiri dengan tag ……?> serta dimasukkan ke halaman HTML. Skrip ini akan dieksekusi oleh server sebelum halaman tersebut dikirim ke
browser klien, sehingga tidak mungkin ada ketidakcocokan platform mesin
browser klien. Tidak seperti ASP, PHP dapat dijalankan multiplatform. PHP dapat dijalankan di web server IIS dan Apache, di sistem operasi Windows, UNIX dan Linux. Faktor yang menguntungkan lainnya adalah PHP bersifat open source.
2.7.1 Cara kerja PHP
Cara kerja PHP dapat dilihat pada gambar di bawah ini:
web server
client
HTTP request HTTP responseGets page
<HTML> <?php echo (" Hello "); ?> </HTML> Hello
Browser akan membentuk halaman web <HTML> <B> Hello </B> </HTML> Server Response Interpretes PHP Code
Gambar 2.13. cara kerja PHP
Saat ada permintaan suatu halaman dari browser klien, server web akan melakukan 3 langkah :
1. membaca permintaan browser.
2. mencari halaman html yang diminta di server.
3. mengeksekusi perintah PHP sehingga halaman html termodifikasi
4. mengirim halaman html yang diminta ke browser klien melalui media internet atau intranet.
Setelah halaman html diterima oleh klien, browser klien akan menerjemahkan halaman html tersebut ke bentuk web.
2.7.2 Penulisan PHP
Tata cara penulisan php:
2. <? echo(“ PHP Code goes here”); ?> Sintaks dasar PHP bersifat case sensitive.
2.7.3 Tipe Data
PHP mempunyai 6 tipe data. Empat tipe skalar:
1. boolean 2. integer
3. floating-point number (float) 4. string
Dua tipe gabungan: 1. array
2. object
2.7.4 Operator
Operator di PHP sama dengan operator di C.
1. Arithmetic Operators
Example Name Result
$a + $b Addition Sum of $a and $b. $a - $b Subtraction Difference of $a and $b. $a * $b Multiplication Product of $a and $b. $a / $b Division Quotient of $a and $b.
$a % $b Modulus Remainder of $a divided by $b. 2. Comparison Operators
Example Name Result
Example Name Result
$a = = = $b Identical TRUE if $a is equal to $b, and they are of the same type. (PHP 4 only)
$a != $b Not equal TRUE if $a is not equal to $b. $a <> $b Not equal TRUE if $a is not equal to $b.
$a !== $b Not identical TRUE if $a is not equal to $b, or they are not of the same type. (PHP 4 only)
$a < $b Less than TRUE if $a is strictly less than $b. $a > $b Greater than TRUE if $a is strictly greater than $b. $a <= $b Less than or
equal to TRUE if $a is less than or equal to $b. $a >= $b Greater than or
equal to TRUE if $a is greater than or equal to $b.
2.7.5 Regular Expression Functions (POSIX Extended)
Regular Expression Functions (POSIX Extended) digunakan untuk memanipulasi string yang kompleks. PHP menggunakan POSIX extended regular expression. Dalam hal ini penulis mengunakan preg split. Berikut ini sintaks penulisannya:
preg_split ( string pattern, string subject [, int limit [, int flags]] )
2.8MySQL
MySql adalah sebuah database management system (DBMS) yang dalam pengolahan data dan pengaksesan database server mengunakan perintah structur query language(SQL). SQL adalah suatu standar bahasa terstruktur yang digunakan sebagai metode komunikasi antara script pemrograman dengan database dalam operasi pekaksesan data.