DISAIN DAN IMPLEMENTASI PERANGKAT LUNAK

advertisement
BAB II
LANDASAN TEORI
2.1 SMS (Short Message Service)
2.1.1. Definisi SMS
SMS adalah sebuah laporan pengiriman pesan singkat daridan ke
handphone, faximile, ataupun telepon. SMS menjadi daya tarik pengguna
handphone, karena dalam waktu singkat tingkat pertumbuhan hanphone sangat
tinggi. Layanan ini disebut layanan pesan singkat karena lebar karakternya hanya
160 karakter alphanumeric dan tidak berupa gambar atau grafik.
Suatu provider telepon selular pasti menyediakan layanan ini sebagai salah satu
layanan utama provider tersebut. SMS didukung oleh GSM (Global System of
Mobile Communication) CDMA (Code Division Multiple Access) yang berbasis
pada telepon seluler saat ini banyak digunakan. Karena layanan SMS sudah
digunakan bertahun-tahun, maka pengguna telepon selular membuat layanan SMS
ini menjadi sebuah layanan yang menarik.
2.1.2 Karakteristik SMS
Karakteristik utama SMS adalah SMS merupakan sebuah Sistem pengirim
data dalam paket yang bersifat out-of-band dengan bandwith kecil. Dengan
karakteristik ini, pengiriman suatu burst data yang sangat pendek dapat dilakukan
dengan efisiensi yang sangat tinggi.
Layanan SMS merupakan sebuah layanan yang bersifat nonreal time dimana
sebuah short message dapat di-submit ke suatu tujuan, tidak peduli apakah tujuan
9
10
tersebut aktif atau tidak. Bila dideteksi bahwa tujuan tidak aktif, maka Sistem
akan menunda pengiriman ke tujuan hingga tujuan aktif kembali. Pada dasarnya
Sistem SMS akan menjamin delivery dari suatu short message hingga sampai ke
tujuan. Kegagalan pengiriman yang bersifat sementara seprti tujuan tidak aktif
akan selalu teridentifikasi sehingga pengiriman ulang short message akan selalu
dilakukan kecuali bila diberlakukan aturan bahwa short message yang telah
melampaui batas waktu tertentu harus dihapus dan dinyatakan gagal terkirim.
2.1.3 Keuntungan SMS
Pada tingkat minimum keuntungan yang dapat diberikan oleh SMS bagi
pemakai meliputi pengiriman notifikasi dan peringatan (alert), penyampaian pesan
SMS yang terjamin, handal, mekanisme komunikasi dengan biaya rendah,
kemampuan untuk menyaring pesan SMS dan menganggapi panggilan secara
efektif sehingga meningkatnya produktifitas customer.
Untuk fungsionalitas yang lebih canggih, SMS memberikan beberapa
keuntungan tembahan bagi user aitu pengiriman pesan SMS ke beberapa user
sekaligus dalam waktu yang bersamaan, kemampuan menerima Informasi yang
beragam, dan integrasi dengan aplikasi lain yang berbasis internet dan data.
2.1.4 Cara Kerja SMS
Dalam Sistem SMS, mekanisme utama yang dilakukan dalam suatu Sistem
adalah melakukan pengiriman short message dari suatu terminal customer ke
terminal yang lain. Hal ini dapat dilakuakan berkat adanya sebuah entitas dalam
Sistem SMS yang bernama short Message Service Center (SMSC), disebut juga
Message Center (MC).
11
Pada saat pesan SMS dikirim dari handphone (mobil orginated) pesan
tersebut tidak langsung dikirim ke handphone tujuan (mobile terminated), akan
tetapi terlebih dahulu ke SMSC, baru kemudian pesan tersebut dikirimkan ke
handphone tujuan.
SMSC merupakan sebuah perangkat yang melakukan tugas store and
forward trafik short message. Di dalamnya termasuk penentuan atau pencarian
rute tujuan akhir dari short message. Sebuah SMSC biasanya didesain untuk dapat
mengani short message dari berbagai sumber seperti Voice Mail System (VMS),
Web-based messaging, Email Integration, External Short Message Entities
(ESME), dan lain-lain
Gambar 2.1 Skema cara kerja SMS
2.1.5 Sistem Kerja SMS
1) AT Command
Dibalik teks SMS yang diterima dan dikirim pada sebuah telepon seluler
sebenarnya adalah berupa perintah AT Command yang bertugas mengirim atau
menerima data dari dan SMS Center. Perintah AT Command tiap-tiap SMS device
bisa berbeda-beda, setiap vendor biasanya memberikan referensi tentang daftar
perintah AT yang tersedia atau bisa di download di internet. AT Command
digunakan untuk berkomunikasi dengan terminal melalui serial port pada
komputer. Dengan menggunakan perintah AT, kita dapat mengetahui kekuatan
12
sinyal dari terminal, mengirim pesan, menambahkan item pada buku alamat,
mematikan terminal, dan banyak fungsi lainnya.
Salah satu software yang digunakan untuk mengetes perintah AT
Command adalah windows HyperTerminal yang biasanya teleh tersedia bersma
windows installer, shingga hanya perlu menambahkan software tersebut dari
contol panel. Tidak semua perintah AT digunakan pada program, yang diambil
hanya yang diperlukan saja, misal untuk mengirim, membaca, manghapus dan
menerima pesan dari terminal. AT Command yang umum digunakan adalah
Tabel 2.1 AT Command
Perintah AT
Kegunaan
AT
Mengecek apakah handphone telah
terhubung
AT+CMGF
Menetapkan
terminal
AT+CSCS
Menetapkan jenis encoding
AT+CNMI
Mendeteksi pesan SMS yang baru
masuk secara otomatis
AT+CMGL
Membuka daftar SMS yang ada pada
SIM Card
AT+CMGS
Mengirim pesan SMS
AT+CMGR
Membaca pesan SMS
AT+CMGD
Menghapus pesan SMS
format
mode
dan
AT Command sebenarnya hampir sama dengan perintah > (prompt) pada
DOS. Perintah-perintah yang dimasukan ke port dimulai dengan kata AT, lalu
diikuti oleh karakter lainnya, yang memiliki fungsi unik. Contoh: ATEI digunakan
untuk menanyakan status port. Output “OK” akan tampak dilayar jika kondisi port
tersebut siap untuk berkomunikasi.
13
2) SMS Center (SMSC)
Pada saat kita mengirim pesan SMS dari handphone (mobile originated) pesan
tersebut tidak langsung dikirimkan ke handphone tujuan (mobile terminated),
akan tetapi dikirim terlebih dahulu ke SMS Center (SMSC), baru kemudian pesan
tersebut diteruskan ke handphone tujuan.
Dengan adanya SMSC ini kita dapat mengetahui status dari pesan SMS yang
dikirim, apakah telah sampai atau gagal diterima oleh handphone tujuan. Apabila
handphone tujuan dalam keadaan aktif dan dapat menerima pesan SMS yang
dikirim, handphone tersebut akan mengirimkan kembali pesan konfirmasi ke
SMSC yang menyatakan bahwa pesan telah diterima. Kemudian SMSC
mengirimkannya kembali status tersebut kepada si pengirim. Jika handphone
tujuan dalam keadaan mati, pesan yang kita kirimkan akan tersimpan pada SMSC
sampai periode validity terpenuhi.
3) Koneksi ke SMSC
Untuk dapat mengirim dan menerima pesan, kita harus melakukan koneksi ke
SMSC. Ada beberapa cara untuk melakukan koneksi ke SMSC antara lain:
a. Menggunakan terminal baik berupa GSM modem atau handphone.
Cara ini adalah yang paling mudah tetapi memiliki kekurangan antara lain jumlah
pesan yang dikirim permenit sangat terbatas (sekitar 6-10 pesan per-menit). Untuk
mengantisipasi hal ini biasanya digunakan lebih dari satu terminal.
b. Koneksi langsung ke SMSC Dengan melakukan koneksi langsung ke SMSC kita
dapat mengirim pesan dalam jumlah banyak, dapat mencapai sekitar 600 SMS per
menit bergantung pada kapasitas dari SMSC itu sendiri. Untuk melakukan koneksi
ke SMSC diperlukan protokol penghubung. Protokol yang umum digunakan
14
adalah UDP, SMPP, CIMD2, OIS dan TAP. Masing-masing operator GSM
menyediakan tipe protokol yang berbeda-beda.
c. Menggunakan software bantu
Saat ini banyak vendor telekomunikasi menawarkan software bantu untuk
melakukan koneksi ke SMSC, dari yang bersifat freeware, open source sampai
dengan komersial.
Pemilihan koneksi ke SMSC biasanya disesuaikan dengan jumlah pesan SMS yang
akan dikirim.
4) PDU sebagai bahasa SMS
Data yang mengalir ke atau dari SMSC harus berbentuk PDU (Protocol Data
Unit). PDU berisi bilangan-bilangan heksadesimal yang mencerminkan bahasa
I/O. PDU terdiri dari beberapa header yang berbeda pada saat dikirim SMS ke
SMSC dengan saat SMS diterima dari SMSC.
(dikutip dari: http://library.gunadarma.ac.id/repository/files/10887/10106461/babii.pdf pada 15-3-2012 pukul 16.00WIB)
2.2 GAMMU
Gammu adalah nama sebuah project yang ditujukan untuk membangun
aplikasi, script dan drivers yang dapat digunakan untuk semua fungsi yang
memungkinkan pada telepon seluler atau alat sejenisnya. Sekarang gammu telah
menyediakan codebase yang stabil dan mapan untuk berbagai macam model
telepon yang tersedia di pasaran dibandingkan dengan project sejenis. Gammu
merupakan project yang berlisensi GNU GPL 2, sehingga menjamin kebebasan
menggunakan tool ini tanpa perlu takut dengan masalah legalitas dan biaya yang
mahal yang harus dikeluarkan. Gammu mendukung berbagai macam model
15
telepon seluler dengan berbagai jenis koneksi dan type. (www.gammu.org).
GAMMU merupakan software sms gateway yang cukup bagus dan terkenal.
Selain mudah penggunaannya, perangkat modem gsm yang support cukup banyak
mulai dari nokia, siemen dan Sonny ericsson. Untuk sony ericsson saya dah nyoba
dan penggunaannya sangat mudah. Selain itu perangkat lain yang lebih cocok
untuk dijadikan sms gateway dengan software gammu seperti modem gsm itegno.
GAMMU bahkan sudah menyediakan service online untuk proses update data sms
ke database. Database yang di support GAMMU adalah MySQL.
Gammu bukanlah Aplikasi jadi, tapi dia merupakan sebuah modul yang bisa
digabungkan dengan Bahasa pemrograman apa saja. Anda suka web based, bisa
dengan PHP atau ASP, anda ingin yang desktop Apps, bias pakai Delphi atau
Visual Basic. Bahkan tanpa pemrogramanpun, anda sudah bisa mengirim dan
menerima SMS lewat computer anda, hanya saja tidak ada interfacenya, anda
Cuma mengaksesnya lewat database administration seperti PhpMyadmin
Misalnya.
Kelebihan Gammu dari tool sms gateway lainnya adalah :
1. Gammu bisa di jalankan di Windows maupun Linux
2. Banyak device yang kompatibel oleh gammu
3. Gammu menggunakan database MySql
4. Baik kabel data USB maupun SERIAL, semuanya kompatibel di Gammu
2.3 PHP
PHP adalah sebuah bahasa pemograman yang berbentuk scripting, system
kerja dari program ini adalah sebagai interpreter bukan sebagai compiler.
Perbedaan antara bahasa compiler dengan bahasa yang berupa interpreter adalah
sebagai berikut
16
2.3.1 Teknik penggunaan PHP
PHP memiliki beberapa aturan penulisanyang harus diketahui sebalumnya,
yaitu bagaimana memulai program PHP dan mengakhiri PHP, sehingga dengan
mengetahui beberapa aturan yang ada setidaknya dapat mengerjakan program
yang dihadapi . pada table 2.3 ditunjukan beberapa bentuk pembuka dan penutup
program PHP.
Tabel 2.2 tabel pembuka dan penutup Program php
awal
akhir
<?
?>
<?php
?>
<script language=”php”>
</script>
<%
%>
2.3.2 Variable dalam PHP
Untuk membentuk sebuah variabel dapat dibuat dengan mengguinakan
tanda String ($) sebagai pendeklarasian awal, dengan menggunakan tanda $ maka
karakter yang ada setelahnya akan dianggap/dikenali oleh program sebagai bentuk
variabel. Aturan yang dapat digunakan untuk penulisan Variabel adalah sebagai
berikut:
a. Pendeklarasian variabel harus ditandai dengan String ($)
b. Variabel dapat menggunakan huruf kecil maupun huruf besaratau
perpaduan antara keduanya.
c. Penulisan awal Variabel tidak boleh menggunakan angka.
d. Apabila ingin menggunakan angka sebagai variabelnya makadapat
menggunakan tanda underscore (_) untuk memulainya
17
e. Tidak boleh menggunakan bentuk bentuk karakter yang tergolong ke
dalam kode ASCII
2.3.3 Operator dalam PHP
Dalam beberapa operasi tentunya akan selalu menggunakan beberapa
operator baik yang berkaitan dengan operator matematik ataupun yang
berkenaan dengan operator logikal. Dengan adanya beberapa operator maka
PHP telah menjadi sebuah bentuk pemograman yang sangat kompleks,
sehingga pada pemograman ini dapat dihasilkan sebuah sistem yang mampu
menangani banyak permasalahan yang dihadapi. Beberapa operator yang ada,
di dalam PHP sebenarnya telah distandarkan dengan bentuk pemograman
yang lain, diantaranya adalah:
2.3.3.1 Operator Aritmatik
Operator aritmatik mendukung segala bentuk operasi matematika.
Kegunaan dari operator ini adalah melakukan penghitungan matematika. Ada
beberapa bentuk operasi matematik yang sering digunakan dalam kehidupan
sehari hari, diantaranya ditunjukan pada table berikut :
Tabel 2.2 Operator Aritmatik
Operator
Keterangan
+
Penjumlahan
-
Pengurangan
*
Perkalian
/
Pembagian
%
Modulus/sisapembagian
18
2.3.3.2 Operator Penugasan Khusus
Saat melakukan operasi perhitungan matematika adakalanya memiliki
permasalahan dengan rumus yang sangat panjang, Pada PHP mendukung
bentuk bentuk operator yang dapat digunakan untuk menyingkat beberapa
operator yang berkaitan dengan operasi penjumlahan. Bentuk – bentuk
operator tersebut akan menjadi sebuah operator yang menyingkat fungsi yang
telah dibuat, bentuk operator tersebut dapaty ditunjukkan seperti pada table
berikut:
Tabel 2.3 Bentuk Operator Penggunaan Khusus
Bentuk Sederhana
Bentuk sebenarnya
X+=Y
X=X+Y
X-+Y
X=X-Y
X*=Y
X=X*Y
X/=Y
X=X/Y
X%=Y
X=X%
2.3.3.3 Operator Penaikan dan Penurunan
Operator ini merupakan bentuk operator yang berguna untuk menuliskan
bentuk singkat dari operasi penaikan dan penurunannilai data dengan satu,artinya
semua angka yang berada pada operator ini akan selalu dinaikan satu tingkat
(ditambah 1) dari nilai sebelumnya. Berikut adalah gambaran penggunaanya
Tabel 2.4 Bentuk Operator penaikan dan pengurangan
Operator
Sebenarnya
Keterangan
X++
X=X+1
Penambahan 1 setelah proses
X--
X=X-1
Pengurangan 1 setelah proses
++X
Penambahan 1 sebelum proses
--X
Pengurangan 1 sebelum proses
19
2.3.3.4 Operator Logika
Operator yang digunakan untuk menangani permasalahan yang berkaitan
dengan operasi logical, pada operasi ini hasil yang akan diperoleh adalah true atau
false, yaitu jika kondisi ditemukan maka bernilai benar dan apabila tidak
ditemukan maka bernilai salah. Bentu operator logical yang dapat didukung oleh
PHP adalah
Tabel 2.5 Bentuk Operator logikal
Operator
Arti
Nilai Kebenaran
$a and $b
And
Benar apabila kedua nilai benar
$a or $b
Or
Benar apabila salah satu atau keduanya bernilai
benar
$a && $b
And
Benar apabila kedua nilai benar
$a || $b
Or
Benar apabila salah satu atau keduanya berniala
benar
$a xor $b
Xor
Benar apabila salah satu a atau b bernilai benar,
tapi apabila keduanya benar maka bernialai salah
Not $a
Not
Benar apabila a tidak benar
! $a
not
Benar apabila a tidak benar
2.3.3.5 Operator Pembanding
Pada bentuk operator ini digunakan untuk melakukan perbandingan antara
dua nilai atau lebih, hingga akan menghasilkan sebuah hasil yang telah
dideklarasikan setelah operator pembanding tersebut. Bentuk bentuk operator
pembanding yang didukung PHP adalah.
Tabel 2.5 Bentuk Operator logikal
Operator
Arti
Nilai Kebenaran
$a == $b
Sama dengan
Benar bila a sama dengan b
$a ===$b
Identic/ persis
Benar bila a sama persis dengan b
20
$a != $b
Tidak sama
Benar apabila a tidak sama dengan b
dengan
$a <> $b
Tidak sama
Benar apabila a tidak sama dengan b
dengan
$a !=== $b
Tidak persis
Benar apabila a tidak sama dengan b
$a < $b
Kurang dari
Benar apabila a kurang dari b
$a > $b
Lebih dari
Benar apabila a lebih dari b
$a <= $b
Kurang dari
Benar apabila a kurang dari atau samadengan b
atau sama
dengan
$a >= $b
Lebih dari atau Benar apabila a lebih dari atau samadengan b
sama dengan
2.4 MySQL
MySQL
merupakan
database
yang
paling
digemari
dikalangan
programmer wb,dengan alas an bahwa MySQL merupakan database yang sangat
kuat dan cukup stabil untuk digunakan sebagai media penyimpanan data. Di
dalam dunia internetMySQL dijadikan sebuah database yang paling banyak
digunakan , selain bersifat share ware seperti MS Access, penggunaan MySQL ini
biasanya dipadukan dengan menggunakan program aplikasi PHP, karena dengan
menggunakan kedua program tersebut telah terbukti kehandalannyadalam
menangani permintaan data
MySQL database server tersedia untuk berbagai system operasi, disini
akan membahas penggunaan MySQL di salah satu sistem operasi yaitui windows.
MySQL data server for Windows tersedia dalam 2 format distribusi:
1. Format binary yang berisi program setup yang melakukan install sehingga
kita dapat segera menjalankan server.
2. Format source code yang memakai VC++6.0 compiler.
MySQL merupakan sebuah database relasional yang berbasis open source yang pada
awalnya tersedia hanya pada unix / linux,namun pada saat ini tersedia pula pada operating
21
system windows. MySQL pertama kali dirintis oleh seorang programmer database
bernama Michael Widenius. Selain database server,MySQL juga merupakan program
yang dapat mengakses suatu database MySQL yang berposisi sebagai server, yang berarti
Program kita berposisi sebagai Client .Jadi MySQL merupakan database yang dapat
digunakan sebagai Client maupun server.
2.4.1 Kelebihan MySQL
Database MySQL memiliki beberapa kelebihan dibandingkan database
lain,diantaranya:
a. MySQL merupakan Database Management System (DBMS)
b.MySQL sebagai Relation Database Management System (RDBMS) atau
disebut dengan database Relational
c. MySQL merupakan sebuah Database server yang Free
d.MySQL merupakan Database Client
e. MySQL mampiu menerima query yang bertumpuk dsalam satu permintaan
atau multi threading
f. MySQL merupakan Database yang mampu menyimpan data berkapasitas
yang sangat besar hingga berukuran GigaByte sekalipun.
g.MySQL didukung oleh driver ODBC,yang artinya database MySQL dapat
diakses menggunakan aplikasi apa sajatermasuk berupa visual seperti visual
basic dan Delphi
h.MySQL adalah database menggunakan ankripsi password, jadi database ini
cukup aman karena memiliki password untuk mengaksesnya
i. MySQL merupakan database yang multi user artinya database ini tidak hanya
digunakan oleh satu pihak orang tapi dapat digunakan oleh banyak pengguna.
j. MySQL mendukung field yang digunakan sebagai kunci primer dan kunci
uniq(unique)
k.MySQL memiliki kecepatan dalam pembuatan table maupunpeng-updatean
table
2.4.2 Mengenal SQL (structured quary language)
22
SQL (structured Query language)adalah sebuah bahasa permintaan database
yang bersetructur.bahasa SQL ini dibuat sebagai bahasa yang dapat merelasikan
beberapa table dalam data base maupun merelasikan antar database.
SQL dibagi menjadi tiga bentuk Query,yaitu:
2.4.2.1 DDL (Data Definition Language)
DDL adalah sebuah metode query SQL yang berguna untuk mendifinisikan data
pada sebuah Database,Query yang dimiliki DDl adalah:
a.
CREATE : digunakan untuk membuat Database dan Tabel
b.
Drop
c.
Alter
:digunakan untuk menghapus Tabel Dan Database
: digunakan untuk melakukan perubahan struktur table yang telah
dibuat, baik menambah field(Add), Mengganti Nama field(Change) ataupun
menamakannya kembali(Rename) dan menghapus Field(Drop).
2.4.2.2 DML (Data Manipulation Language)
DML adalah sebuah metode Query yang dapat digunakan apabila DDL telah
terjadi,sehingga fungsi dari query DML ini melakukan pemanipulasian database
yang telah dibuat.Query yang dimiliki DMLadalah:
a. INSERT : digunakan untuk memasukan data pada table database
b. UPDATE : Digunakan untuk pengubahan terhadap data yang ada pada Tabel
database
c. DELETE : Digunakan untuk Penghapusan data pada table Database
2.4.2.3 DCL (Data Control Language)
DCL adalah sebuah metode Query SQL yang digunakan untuk memberi
hak otorisasi mengakses database, mengalokasikan space,Pendefinisian space,dan
penmgauditan penggunaan database.
23
Query yang dimiliki DCL adalah:
a. GRANT
b. REVOKE
: untuk mengizinkan user mengakses table dalam database
: untuk membatalkan izin hak user,yang ditetapkan oleh perintah
GRANT
c. COMMIT
: Menetapkan penyimpanan database
d. ROLLBACK :Membatalkan penyimpanan database
2.4.3 Tipe data ( Data Types ) :
a. Banyak jenis data : signed / unsigned integers 1, 2, 3, 4, dan 8 bytes long,
FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME,
DATETIME, TIMESTAMP, YEAR, SET, ENUM, dan OpenGIS spatial
types.
b. Fixed-length and variable-length records
2.4.4 Stabilitas MySQL
Kode yang asli pada awal 1980-an menyediakan code base yang stabil dan
format tabel ISAM yang digunakan oleh storage engine yang asli tetap
backward-compatible. Pada TcX, pendahulu MySQL AB, kode MySQL telah
bekerja dalam project sejak pertengahan 1996 tanpa suatu masalah. Ketika
MySQL database yang pada awalnya telah dilepaskan untuk umum, para
pemakai baru yang dengan cepat mendapat beberapa potongan dari kode yang
belum diuji. Masing-masing release baru sejak mempunyai lebih sedikit
permasalahan portabilitas, meskipun masing-masing release baru juga telah
mempunyai banyak fitur yang baru.
Dalam setiap release MySQL server yang telah dapat dipakai, permasalahan
terjadi hanya ketika para pemakai mencoba kode dari “grayzone”, yang secara
alami para pemakai baru tidak mengetahui apa itu “grayzone”.
( MySQL Database Management System. Dari http://ghanoz2480.wordpress.com
Diakses tanggal 2januari 2011 Jam 19.00 )
Download