BAB I-Sls
BAB I-Sls
PENDAHULUAN
SMS atau Short Message Service merupakan teknologi yang telah menjadi
sarana komunikasi antara semua orang di dunia. Dimulai dari sekedar pengiriman
pesan dari jaringan local hingga mengirim pesan antar negara. Teknologi ini
banyak dipilih karena selain praktis, biaya yang harus dikeluarkan untuk
mengirim satu sms cukup terjangkau. Karena faktor inilah sms telah banyak
Salah satu dari jasa atau service yang menggunakan sms antaralain adalah
perbankan. SMS Banking misalnya kita hanya perlu mngirim sms untuk
mengetahui saldo dari tabungan kita. Pada dunia hiburan di televisi seperti
pengiriman SMS pada kontes idola untuk mendukung popularitas idola pilihan
kita. Pada industri IT, data center yang memanfaatkan SMS untuk megawasi
Aplikasi SMS sendiri banyak manfaat yang bisa digunakan utuk kepentingan
informasi dengan lebih praktis. Pada kesempatan ini penulis mencoba untuk
Dengan adanya aplikasi SMS server ini, hubungan komunikasi antara mahasiswa
dengan dosen bisa terjalin dengan lebih baik, dan tentu saja lebih praktis.
1
Misalnya : Mahasiswa dapat memperoleh informasi ketidakhadiran dosen
beberapa hari sebelum jadwal kelas yang seharusnya ,melalui SMS. Bila
setelah jam perkuliahan dimulai, mahasiswa sudah dirugikan oleh waktu dan
ongkos perjalanan menuju tempat perkuliahan. Hal ini bisa diatasi dengan dosen
Dalam Tugas Akhir yang dibuat ini penulis merancang sms gateway fakultas
berupa website yang ditunjang dengan layanan SMS berbasis PHP dan MySQL
Pada tugas akhir ini, penulis memfokuskan pada masalah pembuatan dan
pengiriman sebuah SMS melalui SMS gateway berbasis web, dengan bantuan
2
2. Melalui inbox dalam web server mahasiswa dapat menghubungi dosen tanpa
mengikuti kelasnya.
dari internet, buku-buku yang penulis peroleh dari toko buku, teman, dan
media modem untuk memastikan bahwa system dapat berjalan dengan baik,
3
1.6 Sistematika Penyusunan Laporan
Sistematika penulisan yang digunakan dalam tugas akhir ini adalah sebagai
berikut :
BAB I: PENDAHULUAN
Berisi teori-teori dasar dan teori-teori pendukung dari Tugas Akhir ini.
Berupa definisi, konsep dasar dan teori-teori lain yang didapatkan dari studi
pustaka
Berisi inti permasalahan yang ada dimana aplikasi merupakan solusi yang
diberikan atas masalah tersebut. Bab ini juga berisi tentang perancangan
aplikasi SMS server. Mulai dari skema diagram,flow chart hingga rancangan
tampilan aplikasi.
BAB IV ANALISA
tampilan pada layar. Bab ini juga dilengkapi dengan hasil evaluasi yang dapat
BAB V PENUTUP
4
BAB II
TINJAUAN PUSTAKA
Didalam bab ini penulis akan menjelaskan tentang teori-teori secara umum
Short Message Service (SMS) adalah salah satu tipe Instant Messaging (IM)
yang memungkinkan user untuk bertukar pesan singkat kapanpun, walaupun user
sedang melakukan call data/suara. SMS dapat digunakan pada teknnologi GPRS
dan CDMA. SMS menjamin pengiriman pesan oleh jaringan, jika terjadi
pesan-pesan pendek yang maksimal berisi 140 byte (8 bit) data penting dalam
bentuk sinyal GSM (dalam jaringan GSM) ataupun paket GPRS (dalam jaringan
GPRS).
telephones. Pesan tersebut dapat berisi text ataupun data biner. Text dapat
tersusun atas kombinasi huruf atau angka atau alfanumerik. Sebuah short message
dapat mencapai 160 karakter saat menggunakan alfabet latin, dan 70 karakter saat
5
menggunakan alfabet non-latin (seperti bahasa Arab dan Cina). Standard SMS
terakhir dari ETSI menyediakan sebuah ekstensi untuk mengirim pesan yang lebih
panjang melalui SMS. Sementara itu, pengiriman data biner melalui SMS
memiliki alokasi 140 byte data yang terbagi menjadi dua bagian yaitu user data
header dan actual data. User data header dapat digunakan untuk
SMS dapat dimanfaatkan untuk membawa logo, ringtone, dan seting telepon.
mobile subscriber. Elemen-elemen utama pada arsitektur SMS terdiri dari Short
Message Entity (SME), SMS Service Centre (SMSC) dan Email Gateway yang
Short Message Center (SMC) adalah sebuah entitas yang bertugas untuk
menerima dan meneruskan pesan dari dan ke ponsel selular (Punnet Gupta 2003).
SMC dibangun oleh beberapa Short Message Entity (SME) yang dapat diletakkan
dalam sebuah jaringan atau telepon selular. Mobile Switching Center (MSC)
6
adalah sebuah entitas dalam sebuah jaringan operator selular yang bertugas
mengendalikan koneksi antar ponsel atau antara ponsel dengan jaringan operator
selular (Punnet Gupta 2003). Gateway Mobile Switching Center (GMSC) adalah
sebuah gerbang MSC yang juga dapat menerima pesan dan berupa sebuah sistem
kontak yang berhubungan dengan jaringan lain (Punnet Gupta 2003). Dalam
menerima pesan dari SMC, GMSC menggunakan jaringan SS7 dalam sistem
Home Location Register (HLR). HLR adalah database utama dalam sebuah
jaringan operator selular (Punnet Gupta 2003). Sistem ini memegang kendali atas
informasi nomor-nomor ponsel dan juga tentang alur informasi dari setiap nomor
VLR berisi informasi tentang identitas ponsel. Dengan bantuan VLR, MSC dapat
meneruskan informasi pesan pendek kepada Base Station System (BSS), dimana
Sebuah SMS dapat terdiri atas 160 karakter (skema 7 bit), 140 karakter
(skema 8 bit), atau 70 karakter (skema 16 bit). Saat ini pengiriman beberapa SMS
sekaligus dapat dilakukan. Penggabungan SMS dan kompresi SMS (terdiri lebih
SMS. Fungsi utama SMSC adalah menyampaikan pesan singkat antara SME
7
dengan MS, juga menyimpan dan meneruskan pesan singkat (menyimpan pesan
jika penerima SME tidak tersedia). SMSC dapat terintegrasi sebagai bagian dari
mobile network (cth: terintegrasi dengan MSC) atau sebagai entitas network
independen.
Short Message Entity (SME) adalah elemen yang dapat mengirim atau
menerima pesan singkat. SME dapat berupa software aplikasi pada mobile
handset, dapat juga berupa perangkat faksimile, perangkat telex, remote internet
server, dll.
Sebuah SME dapat berupa server yang terkoneksi dengan SMS centre
secara langsung atau melalui gateway. Dikenal juga External SME (ESME) yang
server.
dalam sistem SMS yang dapat berada pada jaringan, berupa perangkat bergerak,
atau merupakan service Centre yang berada di luar jaringan. ESME sendiri, sesuai
namanya, merupakan sebuah SME yang berada di luar jaringan SMS. Saat ini
sebagian besar ESME berada pada jaringan data seperti jaringan TCP/IP yang di
2004):
8
1. Voice Mail System (VMS)
dan menjalankan voice message, ditujukan untuk pelanggan yang sedang sibuk
2. Web
Web merupakan sebuah layanan yang sangat populer pada jaringan data
penggunanya yang juga sangat tinggi, membuat internet sebagai sebuah entitas
3. Email
Email merupakan salah satu layanan yang paling banyak digunakan dalam
Untuk itu kemudian muncul layanan yang juga cukup banyak digemari, yaitu
dengan iterkoneksi SMSC pada internet. Dengan email gateway, pesan dapat
dikirim dari sebuah SME menuju sebuah host internet dan sebaliknya. Peran email
gateway adalah mengubah format pesan (dari SMS ke email dan sebaliknya) dan
9
2.1.2.1 Basic Features SMS
Terdiri dari message sending dan message delivery. Pada message sending,
pesan dikirm dari MS ke SMSC, dialamatkan ke SME lain sebagai mobile user
lain atau host internet. Originator (asal) SME menentukan validity period dari
pesan tersebut, pesan yang sudah tidak valid lagi akan dihapus oleh SMSC
Originated (SM-MO).
sebagai Short Message Mobile Terminated (SM-MT). SM-MO dan SM-MT dapat
dikirim / diterima saat voice call atau koneksi data sedang berlangsung. Pada
GSM pesan dikirim pada channel SDCCH/SACCH, pada GPRS pesan dikirim
b. Status Report
SME asal (originator) meminta status report pada pengiriman pesan singkat
ke SME penerima (recipient). Status report memberikan indikasi pada user asal
apakah pesan terkirim dengan sukses atau tidak kepada SME penerima..
c. Addressing Mode
address ditentukan oleh IETF pada format [RFC-2822] atau operator specific
numbering.
10
d. Validity Period
pesan. Validity period ini menentukan batas waktu sebuah pesan harus dikirim
Gateway berarti pintu gerbang, sehingga dalam istilah ini, SMS Gateway
berarti pintu gerbang/jembatan antara dua buah device atau lebih. Umumnya SMS
Gateway ini berupa sebuah komputer yang didalamnya telah terinstall aplikasi
untuk menangani pengiriman sms antar HP. Dalam hal ini, sms gateway berfungsi
sebagai aspek pusat yang menangani pengiriman surat sesuai dengan alamat yang
dituju.
yang dapat di jalankan melalui Local Area Network (LAN). Aplikasi ini dapat
11
menerima SMS dari peralatan mobile(HP, PDA phone,dll) melalui SMS Gateway
platform untuk menghantar dan menerima pesan SMS dengan sangat mudah,
karena SMS Gateway akan melakukan semua proses dan koneksi dengan Telco.
SMS Gateway juga menyediakan EUA dengan interface yang mudah dan standar.
EUA dapat berupa berbagai aplikasi yang memerlukan pengguna SMS. Seperti
berbagai aplikasi web yang telah banyak menggunakan SMS (free sms,
SMS juga memungkinkan pengiriman pesan antara mobile phone dengan PC.
Agar hal ini dapat dilakukan maka user memerlukan suatu teknologi khusus yang
mampu menjadi perantara antara kedua alat tersebut. Prinsip kerja dari SMS
Gateway ini kita dapat melakukan pengaturan SMS dengan PC yang dihubungkan
dengan jalur GSM dari mobile phone tersebut dengan teknologi ini kita dapat
Ketika sebuah pesan dikirimkan oleh aplikasi komputer, pertama kali pesan
tersebut akan dikirimkan kepada GSM phone atau disebut juga SME (Short
12
Message Entity) , dan kemudian GSM phone akan mentransmisikan pesan
tersebut kepada SMSC (Short Message Service Center) atau penyedia layanan
GSM melalui jalur nirkabel BSS (Base Station System). Di sisi lain, pesan yang
diterima oleh GSM phone akan disimpan di dalam memori atau di dalam SIM
card. Setelah itu, GSM phone akan memberikan peringatan kepada komputer.
membaca ,memori yang tepat serta menghapus pesan dari phone untuk
Gateway adalah suatu gerbang yang memungkinkan interaksi data dari berbagai
protokol komunikasi ke protokol SMS, contohnya : dari email ke SMS, atau dari
Web ke SMS.
13
Gambar 2.2 Koneksi ponsel ke komputer dengan kabel data phone-to-
PC
merupakan pilihan yang paling mudah dan terpercaya. Industrial GSM modem
2. USB
handphone dengan satu komputer melalui USB hub,yang harganya cukup murah.
Namun, user diharuskan menginstal driver untuk kabel tersebut. Hal ini seringkali
3. Infrared
14
Gambar 2.4 Koneksi handphone ke komputer dengan Infrared
4. Bluetooth
Sayangnya, koneksi ini hanya dapat dilakukan bila handphone dengan fitur
berikutnya adalah, apabila dalam range tersebut terdapat lebih dari satu device
bluetooth yang aktif maka user harus melakukan pemilihan terlebih dahulu, dan
hal ini cukup sulit apabila informasi tentang device tersebut kurang lengkap.
Apabila koneksi handphone dan komputer telah terpasang maka jaringan akan
15
2.2.2 SMS Gateway dengan IP SMS technology
Jadi pada IP SMS ini, data langsung dikirim melalui protokol TCP/IP langsung ke
ke SMSC agar beri akses langsung ke server SMSC, sehingga dapat mengirim
SMS dengan protokol IP. Bila account telah disetujui maka pengguna akan
dari server yang digunakan. Sehingga jaringan IP SMS akan terlihat pada gambar
berikut
SMS gateway dapat dimodifikasi sesuai dengan kebutuhan, beberapa fitur yang
1. Auto-reply
SMS gateway secara otomatis akan membalas SMS yang masuk. Contohnya
16
tertentu yang dikenali aplikasi, kemudian aplikasi dapat melakukan auto-reply
2. Pengiriman masal.
kepada pelanggan.
3. Pengiriman terjadwal.
Sebuah SMS dapat diatur untuk dikirimkan ke tujuan secara otomatis pada
tahun.
Jadi, pada saat seseorang mengirimkan sebuah pesan SMS melalui ponselnya,
SMSC bertugas mengirimkan pesan tersebut ke nomor tujuan. Jika nomor tujuan
tidak aktif, maka SMSC akan menyimpan pesan tersebut dalam jangka waktu
tertentu. Jika SMS tetap tidak dapat terkirim sampai jangka waktu tersebut
Salah satu masalah adalah pesan SMS yang SMSCs dikembangkan oleh
sebagian besar dari program tersebut adalah hak milik. Sebagai contoh, Nokia
memiliki SMSC protokol disebut CIMD sedangkan lain SMSC vendor, CMG,
17
memiliki SMSC protokol disebut EMI. Kedua SMSCs tidak dapat saling
masalah ini, SMS gateway diletakkan di antara dua SMSCs. Hal ini digambarkan
Gambar 2.7
menterjemahkan satu SMSC ke protokol lain. Dengan cara ini dapat digunakan
oleh dua operator nirkabel ke interkoneksi SMSCs mereka untuk tujuan seperti
penyedia konten dan aplikasi SMS pengembang juga menemukan SMS Gateway
yang berguna untuk mengirim dan menerima pesan teks SMS pada serve, itu
merupakan salah satu cara untuk menyambung ke SMSCs dari operator selular.
Operator selular yang berbeda dapat menggunakan SMSCs dari berbagai vendor,
yang berarti pesan teks SMS aplikasi mungkin perlu dukungan beberapa SMSC-
protokol tertentu. (Hal ini dapat digambarkan dalam gambar berikut). Akibatnya,
18
Gambar 2.8 Sebuah aplikasi pesan teks SMS SMSC
menangani koneksi ke SMSCs. Sekarang pesan teks SMS aplikasi hanya perlu
tahu cara untuk terhubung ke SMS gateway. Untuk mendukung SMSCs, hanya
perubahan pada kode sumber dari aplikasi pesan teks SMS.. Untuk terhubung ke
SMS gateway, user dapat menggunakan SMSC protokol seperti SMPP dan
HTTP / HTTPS lebih mudah digunakan daripada SMSC protokol. Yang keberatan
mungkin ada yang lebih sedikit untuk menggunakan fitur SMS. Sebagai contoh,
cara lain untuk mengirim dan menerima pesan teks SMS pada komputer adalah
dengan menggunakan ponsel atau modem GSM / GPRS. Untuk melakukan ini,
Anda pesan teks SMS ke aplikasi memiliki cara untuk berkomunikasi dengan
ponsel atau modem GSM / GPRS menggunakan AT. Beberapa SMS gateways
mampu menangani koneksi ke ponsel dan GSM / GPRS modem. Untuk mengirim
dan menerima pesan teks SMS dengan ponsel atau modem GSM / GPRS, SMS
pesan teks aplikasi hanya perlu tahu cara untuk berbicara dengan SMS Gateway
dan tidak perlu tahu apa-apa tentang AT. Rincian lebih lanjut tentang GSM /
GPRS dan modem AT akan diberikan kemudian dalam bagian ini SMS tutorial.
SMS spesifikasi yang telah ditetapkan cara untuk sebuah komputer untuk
mengirim pesan SMS melalui ponsel atau modem GSM / GPRS. J GSM / GPRS
Modem nirkabel yang bekerja dengan modem GSM / GPRS, jaringan nirkabel. J
nirkabel yang mirip dengan modem dial-up modem. Perbedaan utama adalah
bahwa nirkabel transmit modem data melalui jaringan nirkabel sedangkan dial-up
20
modem transmit data melalui telepon tembaga. Sebuah aplikasi SMS gateway
penggunaan nomor pendek yang mungkin dapat terdiri dari 3 atau 4 digit saja,
disediakan oleh operator jaringan SMSC. Jalur SMSC juga dapat mengirim SMS
dalam jumlah banyak dalam waktu yang realtif singkat. Hanya saja untuk
memiliki jalur koneksi ke operator selular, dan ini bukan hal yang mudah untuk
pelaku bisnis dalam skala kecil ataupun individu. Umumnya layanan ini
digunakan jika aplikasi seseorang dapat menghasilkan lalu lintas SMS yang
tinggi.
Tentu saja SMS tersebut sebenarnya tetap terkirim melalui SMSC, hanya saja
melalui rute yang lebih panjang karena tidak memiliki koneksi langsung ke
SMSC, karena itu kapasitas dan kecepatan pengirimannya tidak sebaik performa
jika langsung menggunakan jalur SMSC. Karena relative lebih mudah untuk
21
lebih sering digunakan, karena memiliki performa yang baik dan stabil
jaringannya saja.Untuk saat ini modem GSM lebih banyak digunakan karena
jaringan lebih stabil. Cara kerja modem GSM/CDMA mirip dengan modem dial-
Perbedaannya adalah modem dial-up mengirim dan menerima data melalui line
gelombang radio.
Inti dari sebuah SMS gateway adalah mesin atau engine pengiriman dan
SMS gateway adalah FBUS yang dapat digunakan oleh programmer Visual Basic
Yang paling menarik adalah untuk versi FBUS Lite dapat didownload secara
gratis, pada saat ini tidak mudah mendapatkan komponen SMS gateway yang
dengan kebanyakan ponsel Nokia, dengan panduan contoh program demo yang
ikut disertakan dalam paket downloadnya dan referensi dari website,SMS gateway
22
Library komponen lain yang dipergunakan adalah Boomerang GSM yang
ActiveX yang dapat digunakan oleh Visual Basic. Untuk versi Lite juga dapat
pada saat menggunakan computer. Library ini cukup dapat diandalkan dan
2.3 AT Command
serial port. Dengan AT Command kita dapat mengetahui vendor dari handphone,
pesan dan masih banyak lagi MSComm menyediakan komunikasi data melalui
serial port(juga mendukung USB dan infrared) dari suatu aplikasi. Sehingga dapat
berkomunikasi dengan ponsel atau modem GSM yang terpasang pada serial port
computer.
23
4. Penulisan dan pencarian phonebook.
5. Dari sisi keamanan, Anda dapat mengaktifkan fasilitas lock dan mengubah
password.
disediakan oleh Microsoft Windows yang terletak pada menu All Programs-
pastiikan driver telah terinstal agar system operasi mengenali device yang akan
dipakai kemudian masukkan kartu GSM pada onsel ataupun modem GSM.
dipanggil.
Untuk dapat melakukan test koneksi dengan ponsel modem GSM, cukup
ketikan perintah AT diikuti dengan penekanan tombol enter yang akan direspon
untuk mengirim pesan teks SMS. Baris dalam huruf tebal adalah baris perintah
yang harus dimasukkan dalam HyperTerminal. Baris yang lain adalah tanggapan
AT
OK
24
AT + CMGF = 1
OK
AT + CMGW = "+85291234567"
+ CMGW: 1
OK
AT + CMSS = 1
+ CMSS: 20
OK
Berikut ini adalah penjelasan dari apa yang dilakukan pada contoh di atas:
GPRS modem untuk beroperasi dalam mode teks SMS. Hasilnya kode "OK"
dikembalikan
bahwa modem GSM / GPRS tidak mendukung mode teks SMS. Untuk
jawabannya adalah "+ CMGF: (0,1)" (0 = PDU mode dan 1 = text mode),
25
maka teks SMS modus yang didukung. Jika jawabannya adalah "+ CMGF:
harus menekan tombol Enter pada keyboard. GSM / GPRS modem kemudian
akan kembali sebuah prompt ">" dan Anda dapat mulai mengetik pesan teks
SMS "A simple demo dari pesan teks SMS.". Setelah selesai, tekan Ctrl + z
dari keyboard.
Baris 7: "+ CMGW: 1" memberitahu kita bahwa indeks ditetapkan pada
pesan teks SMS 1. It menunjukkan lokasi SMS pesan teks dalam pesan
penyimpanan.
berhasil.
SMS dari pesan penyimpanan GSM / GPRS modem. "1" adalah indeks dari
Baris 10: "+ CMSS: 20" memberitahu kita bahwa nomor referensi ditetapkan
Baris 13: Hasil kode "OK" menunjukkan eksekusi dari perintah AT + CMSS
berhasil.
26
AT command dapat dikategorikan dalam beberarpa kategori yaitu:
AT Command Fungsi
AT Command Fungsi
AT Command Fungsi
AT Command Fungsi
Masih banyak lagi AT command yang tersedia, akan sangat bagus jika user
yang dikeluarkan oleh device. Jika computer tidak memiliki dokumentasi yang
28
command dapat dicoba melalui Hyperteminal.Disini hyperteminal berfungsi
dalam aplikasi.
Hal ini penting mengingat AT command juga bisa berbeda parameter antara
device satu dengan device lainny. Terdapat dua tipe AT command, yaitu basic
29
2.4 Protocol Data Unit (PDU)
Terdapat 2 cara dalam mengirim dan menerima SMS, yaitu dengan cara teks
dan cara PDU. Cara teks hanya digunakan pada beberapa model telepon selular.
Cara teks ini hanya merupakan cara penyandian arus bit yang diwakili PDU. Jika
PDU tidak hanya berisi pesan saja, tetapi juga banyak informasi tentang
pengirim. Mulai dari nomer pengirim, nomer SMSC pengirim, waktu berlaku
PDU, demikian juga saat menerima SMS. PDU untuk mengirim SMS dengan
data SMS SUBMIT dengan SMS DELIVER adalah berbeda. Meskipun demikian,
terdapat beberapa bagian parameter yang sama diantara keduanya. Berikut akan
Center Address (SCA) atau nomor SMS Center. Struktur data informasi SCA
dapat diperlihatkan seperti berikut ini.digit2 digit1 digit4 digit3 … digit n digit n-
30
Pada keterangan diatas SCA terbagi atas 3 bagian kecil, yaitu:
Lebar data SMS Center, yaitu jumlah pasangan heksadesimal SMS Center.
Nomer SMS Center itu sendiri. Disusun dalam pasangan heksadesimal yang
dibalik-balik. Jika tersisa satu angka heksa yang tidak memiliki pasangan,
07 ada 7 pasang.
berpasangan. Total dari kode nasional dan nomer SMS Center itu ada 7
adalah: 07912618485400F9
mendukung semua tipe PDU ini. Biasanya, setiap SMSC memiliki standar TPDU
memperhatikan beberapa hal yang bersifat standar, seperti kode SMS SUBMIT
31
atau kode SMS DELIVER. TPDU terdiri atas 8 bit data atau 1 nilai oktal. TPDU
untuk SMS SUBMIT dengan TPDU untuk SMS DELIVER memiliki format yang
Jika bernilai 0 berarti alur jawab (reply path) tidak diset dalam PDU
ini.Sementara jika bernilai 1 berarti alur jawab diset dalam PDU ini.
Jika bernilai 0 berarti isi dari parameter User Data (UD), hanya berisi SMS.
Jika bernilai 1 berarti diawal isi UD terdapat sebuah header sebagai tambahan
dalam SMS.
SRI hanya diset oleh Short Message Entity (SME). Jika bernilai 0 berarti
status report tidak akan dikembalikan ke SME. Jika bernilai 1 berarti status
Jika bernilai 0 berarti tidak ada permintaan status report. Jika bernilai 1
VPF menempati bit 4 dan bit 3. Ada 4 kemungkinan nilai dari VPF, yaitu:
32
More Message to Send (MMS)
Jika bernilai 0 berarti ada pesan lanjutan yang sedang menunggu di SMSC
untuk dikirimkan. Jika bernilai 1 berarti tidak ada pesan lagi yang menunggu
untuk dikirimkan.
Jika bernilai 0 berarti SMSC dapat menerima SMS SUBMIT dengan Message
Reference (MR) dan Destination Address (DA) yang sama seperti pada
MTI menempati bit 1 dan bit 0. Ada 4 kemungkinan isi dari MTI, yaitu:
Secara umum, untuk SMS SUBMIT, TPDU ini diset dengan nilai 01,
sementara untuk SMS DELIVER, TPDU ini diset dengan nilai 04.
MR memiliki lebar data 8 bit atau 1 oktal. Nomer referensi ini dibangkitkan
secara otomatis oleh ponsel. Untuk sementara diisi dengan 0, jadi bilangan
Cara konversi sama seperti cara konversi PDU untuk SMS Center.
33
Cara konversi sama seperti cara konversi PDU untuk SMS Center.
PID memiliki lebar data 8 bit atau 1 oktal. Secara umum, bentuk SMS
dalam parameter PID ini menempati bit 4, bit 3, bit 2, bit 1, dan bit 0. Sementara
bit 5-7 diisi dengan standar setiap SMSC. Kemungkinan nilai desimal yang paling
DCS memiliki lebar data 8 bit atau 1 oktal. Ada 2 skema DCS, yaitu:
Skema 8 bit, ditandai dengan angka lebih besar dari 0, kemudian diubah ke
7 bit.
2.4.3.3 Service Center Time Stamp (SCTS) atau waktu tiba di SMS Center.
SCTS adalah informasi yang berisi waktu tiba SMS di entitas Transport
Layer SMS Center. SCTS memiliki lebar data 7 oktal x 8 bit = 56 bit. Pada
34
gambar 2.4 berikut diperlihatkan struktur SCTS dalam 7 pasang heksadesimal
yang dibalik-balik.
Contoh:
79501231543300
Contoh diatas menunjukkan SCTS: 21 Mei 1997 13:45:33 dengan zona waktu +0
GMT.
Jika bagian ini dilewati, itu berarti tidak ada batasan waktu berlakunya
SMS. Sedangkan jika diisi dengan suatu bilangan integer yang kemudian diubah
SMS tersebut. Ada 2 cara mengisi parameter ini, yaitu dengan cara relatif dan cara
absolut/pasti. Jika cara absolut, dapat menggunakan cara sama seperti format
SCTS. Sedangkan cara relatif memiliki cara yang lebih mudah. Dapat dilihat cara
menghitung jangka waktu validitas sebuah SMS yang akan dikirimkan dengan
35
User Data Length (UDL) atau lebar isi SMS menunjukkan lebar data atau jumlah
User Data (UD) atau isi SMS, berupa pasangan heksa. Ada dua langkah yang
mengubah kode 7 bit menjadi 8 bit, yang diwakili oleh pasangan heksa.
yang lain dapat memiliki standar tabel konversi yang sedikit berbeda satu sama
lain.
36
BAB III
PERANCANGAN SISTEM
mengirim dan menerima pesan. Pesan yang diterima dan akan dikirim, diproses
oleh server. Secara garis besar, ada dua pekerjaan penting yang dilakukan pada
server, yaitu :
menuliskannya ke database.
Memantau pesan yang akan dikirim pada database untuk kemudian dengan
Computer
server
Modem
wavecom admin
37
3.2 Diagram Blok Proses Komunikasi Server
Berikut adalah proses yang terjadi pada saat sms dikirim melalui server
Start
Login
Web Server
SMS Manager
New SMS
Pesan
Database
Outbox
Diolah Gammu
Data
dikirim ke
Modem
Dipindah ke
SentItem
Finish
server dengan login. Setelah login sukses admin yang akan mengirim pesan baru
terlebih dahulu harus membuka SMS Manager untuk dapat masuk ke dalam link
New SMS. Dari New SMS admin dapat membuat sms baru sebelum sms
38
dikirimkan terlebih dahulu user harus menginputkan nomor tujuan dimana pesan
tersebut akan dikirim. Dalam proses ini user dapat mengisikan secara langsung
number tujuan atau memasukkan nomor yang telah dituliskan terlebih dahulu
data tersebut dikirim ke database outbox terlebih dahulu baru kemudian diolah
disampaikan ke modem bahwa pesan dapat dikirim, setelah diproses modem, data
baru dapat dikirim dan data yang terkirim akan masuk ke dalam database sent
items.
Berikut adalah proses pengolahan data saat SMS Masuk ke dalam server
Sms dikirim
Data dikirim
masuk ke
Modem
Data dipindah ke
database inbox
Ditampilkan dalam
web server inbox
Finish
39
Pada saat sms dikirim pertama-tama sms diterima oleh modem
kemudiankemudian dibaca dan diolah oleh gammu setelah itu data yang dipindah
SMS dikirim
Diterima
oleh
modem
Data dibaca
kemudian diolah
oleh gammu
Dipindah pada
database inbox
Masuk Tidak
Inbox
Ya
Replay Delete
Database
Outbox
Diolah Gammu
Dikirim ke
Modem
Dipindah ke
sent item
Finish
40
Pada saat sms dikirim pertama-tama sms diterima oleh modem kemudian
kemudian dibaca dan diolah oleh gammu setelah itu data yang dipindah ke
Kemudian user bisa mereplay ataupaun menghapus sms yang masuk. sebelum
pesan dikirim data tersebut dikirim ke database outbox terlebih dahulu baru
kemudian diolah oleh gammu disisni gammu hanya berfungsi sebagai monitoring
modem, data baru dapat dikirim dan data yang terkirim akan masuk ke dalam
koneksi pada server dengan login. Bila betul, maka akan dilanjutkan menuju
selanjutnya yaitu apakah user ingin membuka Sms Manager. Bila betul akan
password saat login. Bila betul, akan dilajutkan menuju ”User Manager”. Bila
tidak, akan dilajutkan ke pengecekan berikutnya yaitu apakah user ingin keluar
41
dari aplikasi server. Bila betul, maka method berakhir dan program selesai. Bila
Start
Y Buka
Pilih’Login’ Koneksi
Awal
Pilih’Sms Y Kirim /
Manager’ Reply SMS
Update
Pilih’User Y User &
Manager’
Password
T
Pilih’Logout’
Finish
method inisialisasi. Apabila proses inisialisasi gagal, maka method ini berakhir.
berikutnya, yaitu apakah user ingin mematikan koneksi pada server. Bila betul
maka method ini berkahir. Bila tidak, maka akan dilanjutkan menuju pengecekan
berikutnya, yaitu apakah user ingin masuk pada Sms Manager. Bila betul, maka
akan dilanjutkan menuju method ‟Kirim/Reply pesan‟. Bila tidak, maka akan
berikutnya, yaitu apakah user inigin mengirim sms yang baru. Bila betul akan
menuju pengecekan berikutnya, yaitu apakah user ingin melihat daftar phonebook
maka akan dilanjutkan dengan 3 jalur yang berjalan bersamaan . Alur kedua dan
ketika dipasang timer, dimana jika ada salah dari dua alur itu yang sedang berjalan
maka satu alur yang lain akan berhenti sementara. Alur yang paling kiri berfungsi
untuk memantau apabila ada SMS yang masuk ke dalam server. Bila ada respon
dari luar(misal: ada SMS masuk), maka server akan menjalankan method
“Response Terminal”. Alur yang pertama berfungsi untuk membaca pesan pada
table Receive. Alur yang selanjutnya berfungsi untuk mengirim pesan pada table
Send.
43
Start
Inisialisasi
Gagal Y
Inisialisasi
Tutup
Pilih’Logout’
Koneksi
Y Keluar/
Pilih’Logout’
Berhenti
Y
Pilih’New SMS Kirim Sms
Pilih Y Update
‘Phonebook’ Phonebook
MySQL Front. Apabila proses koneksi sukses, akan dilanjutkan menuju method
44
Start
Buka koneksi ke
database
Buka koneksi ke
terminal
Finish
Pada awalnya server akan membuka serial port serta dilanjutkan dengan
method selesai.
Start
Konfigurasi
port
Konfigurasi
‘gammu --
identify’ pada
awal terminal
Finish
method inisialisasi. Apabila proses inisialisasi gagal, maka method ini berakhir.
45
Bila proses inisialisasi berhasil,maka akan dilanjutkan menuju pengecekan
berikutnya, yaitu apakah user ingin mematikan koneksi pada server. Bila betul
maka method ini berkahir. Bila tidak, maka akan dilanjutkan menuju pengecekan
berikutnya, yaitu apakah user ingin masuk pada Sms Manager. Bila betul, maka
akan dilanjutkan menuju method ‟Kirim/Reply pesan‟. Bila tidak, maka akan
berikutnya, yaitu apakah user inigin mengirim sms yang baru. Bila betul akan
menuju pengecekan berikutnya, yaitu apakah user ingin melihat daftar phonebook
maka akan dilanjutkan mengirim pesan dengan input number manual dan
„V‟ tanda bahwa itulah yang terpilih untuk dikirimi sms. Bila tidak maka akan
46
Start
Inisialisasi
Gagal Y
Inisialisasi
Tutup
Pilih’Logout’
Koneksi
Y Keluar/
Pilih’Logout’
Berhenti
Y
Pilih’New SMS Kirim Sms
Pilih Y Update
‘Phonebook’ Phonebook
T Y Y T
Kirim ke
Send Sms
banyak
Logout’Keluar’;
47
3.3.6 Diagram Alir Baca Tabel Receive
Method diawali dengan proses pengecekan apakah ada record yang belum
diproses pada table link Inbox. Apabila tidak, maka method akan berakhir.
Apabila ada, server akan mengambil record baru tersebut dan akan memproses
record tersebut pada method berikutnya, yaitu method”Proses Data pada Tabel
Start
Proses Data
Tabel Receive
Finish
pengecekan berikutnya, yaitu apakah user ingin mematikan koneksi pada server.
Bila betul maka method ini berkahir. Bila tidak, maka akan dilanjutkan menuju
pengecekan berikutnya, yaitu apakah user ingin masuk pada Sms Manager. Bila
betul, maka akan dilanjutkan menuju method ‟Kirim/Reply pesan‟. Bila tidak,
48
maka akan dilanjutkan menuju pengecekan berikutnya, yaitu apakah user ingin
masuk ke Inbox. Bila tidak, maka akan dilanjutkan Reply/Delete pesan. Bila betul
user dapat memilih atau mereply dengan mengubah tanda „X‟ menjadi „V‟ yaitu
tanda bahwa sms tersebut akan direplay ataupun di delete. Bila tidak maka akan
Start
Inisialisasi
Gagal Y
Inisialisasi
Y Tutup
Pilih’Logout’
Koneksi
Pilih’SMS Y Kirim/Reply
Manager’ Pesan
Y Reply/Delete
Pilih’Inbox’
Pesan
Y
T Y T
Replay Delete
Proses
Logout’Keluar’
Finish
pengecekan berikutnya, yaitu apakah user ingin mematikan koneksi pada server.
Bila betul maka method ini berkahir. Bila tidak, maka akan dilanjutkan menuju
pengecekan berikutnya, yaitu apakah user ingin masuk pada User Manager. Bila
betul maka method ini akan dilanjutkan ke edit ataupun input user baru. Jika betul
Start
Inisialisasi
Gagal
Inisialisasi
Y
Tutup
Pilih’Logout’
Koneksi
Y
Pilih’User Edit/Input
Manager’ User
Pilih’Edit’ Pilih’Input’
Y
T
T
Proses
Logout’Keluar’
Finish
50
3.4 Perencanaan dan Pembuatan Perangkat Keras
3.4.1 Hardware
dipersiapkan adalah
3.4.2 Software
digunakan yaitu
PHP 5.2.6
system ini adalah PHP, pemilihan bahasa pemrograman ini karena sifatnya
gratis dan handal untuk aplikasi berbasis web. PHP adalah bahasa program
yang berbentuk script yang dituliskan pada sela-sela tag HTML dan
MySQL 5.0.1b
Gammu-1.25.0-Windows_2
51
Gammu merupakan aplikasi open source untuk keperluan SMS
tool ini tanpa perlu takut dengan masaah legalitas dan biaya yang mahal
(www.gammu.org).
jaringan local sendiri dalam artian kita dapat membuat website secara
Menu
52
Gambar 3.13 Perancangan tampilan utama web server
Dalam perancangan, tampilan utama web server tediri atas : Home, Sms
Menu
NewSMS
Inbox
Outbox
Phonebook
Dalam perancangan tampilan SMS Manager setelah user login terdiri atas:
Menu Phonebook
No Tujuan
Dalam perancangannya tampilan web server untuk New SMS terdiri atas No
Tujuan, Phonebook, Form Pesan dan tombol Push Botton Kirim. Disini admin
53
bisa menginput no tujuan secara manual atau mengambilnya langsung dari
phonebook.
Menu
Date Tel.Number Message Reply Deleted
New SMS
Inbox
Outbox
Proses
Phonebook
Telepon Number, Message, Replay, Delete, Form untuk pesan dan tombol Push
Botton proses.
Menu
Date Tel.Number Message Status Deleted
New SMS
Inbox
Outbox
Phonebook Proses
Telepon Number, Message, Status, Deleted dan tombol Push Botton proses.
54
3.5.6 Perancangan tampilan Phonebook
Menu
No Nama Lengkap No HP Status Edit/Delete
New SMS
Inbox
Outbox
Phonebook Send
Nama Lengkap, Number Ponsel, Status, Edit/Deleted dan tombol Push Botton
proses.
Number, Nama User, Password, Status, Edit/Deleted dan tombol Push Botton
proses.
55
BAB IV
BERBASIS WEB
diinginkan.
MyAdmin membuat table-tabel yang diperlukan oleh Gammu. Tabel yang dipakai
daemon pada Gammu digunakan untuk proses pembacaan otomatis SMS yang
diterima lalu disimpan ke database. SMS daemon juga diperlukan untuk keperluan
pengiriman SMS.
4.1.1 Daemons
Start Text No
Info Text No
56
4.1.2 Gammu
Version Tinyint(4) No 0
4.1.3 Inbox
00:00:00
Text Text No
SenderNumber Varchar(20) No
UDH Text No
SMSCNumber Varchar(20) No
Class Int(11) No -1
TextDeoded Varchar(160) No
ID Int(11)unsigned No auto_increment
Recepient ID Text No
4.1.4 Outbook
UpdatedInDB Timestamp No
InsertIntoDB Timestamp No
SendingDateItem Timestamp No
57
Text Text Yes
Destination varchar(20) No
Number
TextDecoded varchar(160) No
ID int(11) No
CreatorID Text No
4.1.5 Outbook_multipart
ID int(11) No 0
SequencePosition varchar(160) No 1
58
4.1.6 Pbk
GroupID int(11) No -1
Name Text No
Number Text No
4.1.7 Pbk_group
Name Text No
ID Int(11) No auto_increment
4.1.8 Phoneb
No tinyint(3) No auto_increment
4.1.9 Phones
ID Text No
Send enum(„yes‟,‟no‟) No No
59
Receive enum(„yes‟,‟no‟) No No
IMEI Text No
Client Text No
4.1.10 Sentitems
Text Text No
DestinationNumber varchar(20) No
UDH Text No
SMSCNumber varchar(20) No
Class int(11) No -1
TextDecoded varchar(160) No
ID int(11)unsigned No 0
SenderID Text No
SequencePosition int(11) No 1
StatusError int(11) No -1
TPMR int(11) No -1
RelativeValidity int(11) No -1
CreatorID Text No
60
4.1.11 User
Id Tinyint(3) No Auto_increment
<?php
if (!isset($_SESSION)) {
session_start();
}
?>
<?php
Jika terdapat session atau hak akses maka session tersebut diawali
61
4.2.1 Tampilan login
//Select database
$db=mysql_select_db("smsd");
if(!$db) {
die("Unable to select database");
$result=mysql_query("SELECT id FROM user WHERE user='$user1' AND
password='$password1'");
Jika terdapat user dan password yang sesuai dgn database, maka dibuat
variable session
session_register("commonuser","permit");
$commonuser=$user1;
$permit=ok;
Session yang diregister yaitu commonuser, dimana variable
pengaksesan database
62
4.2.2 Tampilan SMS Manager
if (empty($permit))
{
echo "<meta http-equiv='refresh' content='0;URL=not.php' />";
}
Jika permit kosong maka akan dialihkan ke script not.php
<?php
$result = mysql_query("SELECT * FROM inbox ORDER BY
ReceivingDateTime ");
while($row = mysql_fetch_array( $result ))
Pembacaan dari keseluruhan table inbox dengan urutan berdasarkan
63
<?php
$nohp = $_GET['nohp'];
?>
<form method="post" action="send.php">
No. HP Tujuan :
<label>
<input name="nohp" type="text" value=<?php echo $nohp; ?> />
</label>
<br>
Pesan : <textarea name="msg" cols="50" rows="4">Your message here . .
.</textarea>
<br>
<input type="submit" name="submit" value="Kirim SMS">
</form>
SendingDateTime DESC");
64
4.2.5 Tampilan Phonebook
65
>?php
$send = $_GET['send'];
$id = $_GET['no'];
mysql_select_db("smsd") or die(mysql_error()); //select database
if($send=='V'){
$qry = "UPDATE phoneb SET send='X' WHERE no='$id'" ;
mysql_query($qry);
}else{
$qry = "UPDATE phoneb SET send='V' WHERE no='$id'" ;
mysql_query($qry);
}
<?php
$nohp = $_GET['no'];
mysql_select_db("smsd");
$qry = "DELETE FROM phoneb WHERE telp='$nohp'" ;
mysql_query($qry);
<?php
$id = $_GET['id'];
// Ambil data phonebook dari database
$sql = "SELECT * FROM user WHERE id=$id";
66
$qry = mysql_query($sql);
$row = mysql_fetch_array($qry);
67
BAB V
PENUTUP
5.1 Kesimpulan
aplikasi, script dan drivers yang dapat digunakan untuk semua fungsi
source.
5.2 Saran
Untuk mendapatkan performa yang lebih baik dari system ini dapat
server
69
DAFTAR PUSTAKA
Yogyakarta,2002
MX,Andi,2004
5. http://materikuliah.net/artikel/menggunakan-gammu-untuk-aplikasi-sms-
gateway.aspx
6. http://blog.rosihanari.net/setting-gammu-untuk-aplikasi-sms-gateway
7. http://mbotengaptek.uni.cc/?p=96
8. http://smileboys.blogspot.com/2008/06/pengertian-mysql-dan-gammu.html
9. http://superbayyek.blogspot.com/2009/11/pengertian-tentang-wampp5.html
10. http://rajamodem.com/index.php?action=store.showProduct&product_id=137
&title=GSM%20Modem%2CWavecom%20Supreme%2CModem%20Wavec
om%2CSerial%20Modem%2CSupreme%20Modem%2CModem%20GSM%
20Supreme%2CGSM%20Modem%2CWavecom%20Fastrak%20Supreme%2
CFastrack%20Supremehttp://materikuliah.net/artikel/menggunakan-gammu-
untuk-aplikasi-sms-gateway.aspx
11. http://blog.rosihanari.net/setting-gammu-untuk-aplikasi-sms-gateway
12. http://mbotengaptek.uni.cc/?p=96
70
13. http://smileboys.blogspot.com/2008/06/pengertian-mysql-dan-gammu.html
14. http://superbayyek.blogspot.com/2009/11/pengertian-tentang-wampp5.html
71
Lampiran
Index.php
<?php
if (!isset($_SESSION)) {
session_start();
}
?>
<body>
<div align="center"><tr>
<div align="center">
72
</div></td>
</tr>
</table></td>
</tr>
<tr bgcolor="#99FF99">
<td bgcolor="#CCFFFF"></td>
<td bgcolor="#CCFFFF"> </td>
<td bgcolor="#CCFFFF"><div align="right"></div>
<table width="100%" border="0">
<tr>
<td width="73%"><div align="right">@2009</div></td>
<td width="27%"><DIV id=waktu>
</tr>
</table></td>
</tr>
<tr bgcolor="#99FFFF">
<td height="375" align="center" valign="top"><table width="80%" border="0"
cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#EBE9ED">
<tr>
<td><div align="center"><span class="style2">Menu</span></div></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table></td>
<td colspan="2"></td>
</tr>
<tr bgcolor="#000099">
<td colspan="3"><div align="center">Nana @ 2009 </div></td>
</tr>
<tr bgcolor="#0099FF">
<td> </td>
<td> </td>
<td> </td>
</tr>
</table></td>
</tr>
</table></div>
</body>
</html>
73
Tampilan login
Login.php
<title>Login Form</title>
<style type="text/css">
<!--
.style1 {
font-family: "Comic Sans MS";
font-weight: bold;
}
.style3 {font-family: "Bauhaus 93"}
-->
</style>
<table width="200" border="0" align="center" bgcolor="#0099FF">
<tr>
<td><div align="center">
<form name="form1" method="post" action="login-exec.php">
<table width="100%" border="0">
<tr>
<td colspan="3"><div align="center" class="style1">Form Login </div></td>
</tr>
<tr>
<td width="35%"> </td>
<td width="30%"> </td>
<td width="35%"> </td>
</tr>
<tr>
<td><span class="style3">User</span></td>
<td colspan="2"><label>
<input name="user1" type="text" id="user" size="15">
</label></td>
</tr>
<tr>
<td><span class="style3">Password</span></td>
<td colspan="2"><label>
<input name="password1" type="password" id="password" size="15">
</label></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
74
<td><label></label></td>
<td><input type="reset" name="Submit2" value="batal"></td>
<td><label>
<input type="submit" name="Submit" value="masuk">
</div></td>
</tr>
</table>
Login-exec.php
<title>Login Form</title>
<style type="text/css">
<!--
.style1 {
font-family: "Comic Sans MS";
font-weight: bold;
}
.style3 {font-family: "Bauhaus 93"}
-->
</style>
<tr>
<td><span class="style3">User</span></td>
<td colspan="2"><label>
<input name="user1" type="text" id="user" size="15">
</label></td>
</tr>
<tr>
<td><span class="style3">Password</span></td>
<td colspan="2"><label>
<input name="password1" type="password" id="password" size="15">
</label></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><label></label></td>
<td><input type="reset" name="Submit2" value="batal"></td>
<td><label>
<input type="submit" name="Submit" value="masuk">
</label></td>
</tr>
<tr>
<td colspan="3"><div align="center"></div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</div></td>
</tr>
</table>
75
Tampilan Penolakan
Not.php
<!--
.style1 {font-family: "Bauhaus 93"}
-->
</style>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<h2 align="center" class="style1">MAAF ANDA TIDAK BERHAK MENGAKSES SITUS
INI</h2>
<h2 align="center" class="style1">Terimakasih Atas Perhatiannya </h2>
</body>
</html>
76
Tampilan User Manager
Sms manager
<body>
<div align="center">
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#0099FF">
<tr>
<td align="center"><table width="70%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#0099FF">
<td width="26%"> </td>
<td width="32%"> </td>
<td width="42%"> </td>
</tr>
<tr bgcolor="#000099">
<td colspan="3"><p><img src="images/top.png" width="900" height="100"></p> </td>
</tr>
<tr bgcolor="#00FFFF">
<td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="26%" height="23"><div align="center" class="style2"><a href="index.php"
class="style2">Home</a></div></td>
<td width="32%"><div align="center" class="style2"><a href="smsmanager.php"
class="style2">Sms Manager</a> </div></td>
77
<td width="30%"><div align="center" class="style2"><a href="usermanager.php"
class="style2">User Manager</a> </div></td>
<td width="0%"><div align="center" class="style2"><a href="report.php"
class="style2"></a></div></td>
<td width="0%"><span class="style2"></span></td>
<td width="8%"><div align="right" class="style2">
<?php
if (!empty($commonuser))
{
//echo "hello ,";
//echo ($commonuser);
echo (" ");
echo ('<a href=logoff.php>Logoff</a>');
}
else
{
echo("<a href=login.php>Login</a>");
echo($commonuser);
}
?>
</div></td>
<td width="4%"> </td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></div>
</body>
</html>
78
Tampilan New SMS
Newsms.php
<?php
if (!empty($commonuser))
{
//echo "hello ,";
//echo ($commonuser);
echo (" ");
echo ('<a href=logoff.php>Logoff</a>');
}
else
{
echo("<a href=login.php>Login</a>");
echo($commonuser);
}
?>
</div>
</div></td>
<td width="2%"> </td>
</tr>
</table></td>
</tr>
<tr bgcolor="#99FF99">
<td bgcolor="#CCFFFF"></td>
79
<td bgcolor="#CCFFFF"> </td>
<td bgcolor="#CCFFFF"><div align="right"></div>
<table width="100%" border="0">
<tr>
<td width="73%"><div align="right">@2009</div></td>
<td width="27%"><DIV id=waktu>
<div align="right"><SCRIPT language=javascript>
function jam() {
var d = new Date();
document.getElementById("waktu").innerHTML = d.getHours() + ":" +
d.getMinutes() + ":" + d.getSeconds() ;
setTimeout("jam()", 1000);
}
jam();
</SCRIPT></div></div></td>
</tr>
</table></td>
</tr>
<tr bgcolor="#99FFFF">
<td height="375" align="center" valign="top" > <table width="80%" border="0"
cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#EBE9ED">
<tr>
<td><div align="center"><span class="style2">Menu</span></div></td>
</tr>
<tr>
<td class="style1"><a href="newsms.php" class="style2">New SMS </a></td>
</tr>
<tr>
<td class="style1"><a href="inbox.php" class="style2">Inbox</a></td>
</tr>
<tr>
<td class="style1"><a href="outbox.php" class="style2">Outbox</a></td>
</tr>
<tr>
<td class="style1"><a href="phonebook.php" class="style2">PhoneBook</a></td>
</tr>
<tr bgcolor="#000099">
<td colspan="3"><div align="center">Nana @ 2009 </div></td>
</tr>
<tr bgcolor="#0099FF">
<td> </td>
<td> </td>
<td> </td>
</tr>
</table></td>
</tr>
</table></div>
</body>
</html>
Send-sms.php
<style type="text/css">
<!--
.style1 {font-family: "Bauhaus 93"}
-->
</style>
<span class="style1">No. HP Tujuan :</span>
<input type="text" name="nohp">
<span class="style1">Pesan</span> : <textarea name="msg" cols="30" rows="5">Your message
here . . .</textarea>
80
<br>
<input type="submit" name="submit" value="Kirim SMS">
</form>
Send.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("smsd");
$noTujuan = $_POST['nohp'];
$message = $_POST['msg'];
//echo ($noTujuan);
//echo ($message);
if ($hasil) echo "SMS berhasil dikirim ";
else echo "SMS gagal dikirim";
echo( $query);
header("Location:send-sms.php");
?>
81
Tampilan Inbox
Inbox.php
</table></td>
</tr>
<tr bgcolor="#99FFFF">
<td align="center" valign="top" height="375"> <table width="80%" border="0"
cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#EBE9ED">
<tr>
<td><div align="center"><span class="style2">Menu</span></div></td>
</tr>
<tr>
<td class="style1"><a href="newsms.php" class="style2">New SMS </a></td>
</tr>
<tr>
<td class="style1"><a href="inbox.php" class="style2">Inbox</a></td>
</tr>
<tr>
<td class="style1"><a href="outbox.php" class="style2">Outbox</a></td>
</tr>
<tr>
<td class="style1"><a href="phonebook.php" class="style2">PhoneBook</a></td>
</tr>
82
</table></td>
<tr bgcolor="#000099">
<td colspan="3"><div align="center">Nana @ 2009 </div></td>
</tr>
<tr bgcolor="#0099FF">
<td> </td>
<td> </td>
<td> </td>
</tr>
</table></td>
</tr>
</table></div>
</body>
</html>
Sms_read.php
<meta http-equiv="refresh" content="10">
<html>
<head>
<?php
<?PHP
if($row['send']!='V'){ ?>
<td align="center"><a href="sendinbox.php?no=<?php echo($row['ID']); ?> & send=<?php
echo($row['send']); ?>"><font face="Bauhaus 93">X</ font></a>
<?php }else{ ?>
<td align="center"><a href="sendinbox.php?no=<?php echo($row['ID']); ?> & send=<?php
echo($row['send']); ?>"><font face="Bauhaus 93">V</ font></a>
echo "</tr></table>"; //end of table
?>
<font face="Bauhaus 93">Send SMS to selected phone number : <br />
</font><br />
<textarea cols="50" rows="4" wrap="VIRTUAL" name="msg">
</textarea>
<input type="submit" value="Proses" />
</form>
<br><br><br>
</body>
</html>
Hapuslagi.php
<?php
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
{
$id=$row['ID'];
if ($row['send']=="V") {
$noTujuan = $row['SenderNumber'];
$message = $_POST['msg'];
}
if ($row['Hapus']=="V") {
$qry = "DELETE FROM inbox WHERE ID='$id'" ;
mysql_query($qry);
}
}
}
header("Location:sms_read.php");
?>
84
Sendinbox.php
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
if($send=='V'){
$qry = "UPDATE inbox SET send='X' WHERE ID='$id'" ;
mysql_query($qry);
}else{
$qry = "UPDATE inbox SET send='V' WHERE ID='$id'" ;
mysql_query($qry);
}
?>
Hapusinbox.php
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
if($send=='V'){
$qry = "UPDATE inbox SET Hapus='X' WHERE ID='$id'" ;
mysql_query($qry);
}else{
$qry = "UPDATE inbox SET Hapus='V' WHERE ID='$id'" ;
mysql_query($qry);
}
85
Tampilan Outbox
Outbox.php
<?php
if (!isset($_SESSION)) {
session_start();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ELEKTRO SMS Gateway</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
<?php
if (!empty($commonuser))
{
//echo "hello ,";
//echo ($commonuser);
echo (" ");
echo ('<a href=logoff.php>Logoff</a>');
}
else
{
echo("<a href=login.php>Login</a>");
echo($commonuser);
}
?>
</div>
</div></td>
<td width="2%"> </td>
</tr>
</table></td>
</tr>
<tr bgcolor="#99FF99">
<td bgcolor="#CCFFFF"></td>
<td bgcolor="#CCFFFF"> </td>
<td bgcolor="#CCFFFF"><div align="right"></div>
<table width="100%" border="0">
<tr>
<td width="73%"><div align="right">@2009</div></td>
<td width="27%"><DIV id=waktu>
86
</tr>
</table></td>
</tr>
<tr bgcolor="#99FFFF">
<td height="375" align="center" valign="top"> <table width="80%" border="0"
cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#EBE9ED">
<tr>
<td><div align="center"><span class="style1">Menu</span></div></td>
</tr>
<tr>
<td class="style1"><a href="newsms.php" class="style2">New SMS </a></td>
</tr>
<tr>
<td class="style1"><a href="inbox.php" class="style2">Inbox</a></td>
</tr>
<tr>
<td class="style1"><a href="outbox.php" class="style2">Outbox</a></td>
</tr>
<tr>
<td class="style1"><a href="phonebook.php" class="style2">PhoneBook</a></td>
</tr>
</tr>
<tr bgcolor="#000099">
<td colspan="3"><div align="center">Nana @ 2009 </div></td>
</tr>
<tr bgcolor="#0099FF">
<td> </td>
<td> </td>
<td> </td>
</tr>
</table></td>
</tr>
</table></div>
</body>
</html>
Sms_sent.php
<meta http-equiv="refresh" content="5">
<html>
<head>
<?php
<br><br><br>
</body>
</html>
Hapusoutbox.php
<?php
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
{
if ($row['dihapus']=="V") {
$qry = "DELETE FROM sentitems WHERE ID='$id'" ;
mysql_query($qry);
}
88
Pilihdelete.php
<?php
$send = $_GET['send'];
$id = $_GET['no'];
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
if($send=='V'){
$qry = "UPDATE sentitems SET dihapus='X' WHERE ID='$id'" ;
mysql_query($qry);
}else{
$qry = "UPDATE sentitems SET dihapus='V' WHERE ID='$id'" ;
mysql_query($qry);
}
header("location:sms_sent.php");
?>
89
Phonebook.php
<html>
<head>
</head>
<body>
<?php
$id = $_GET['id'];
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
</tr>
</form>
<tr>
<?php if($row['send']!='V'){ ?>
<td align="center"><a href="sendpbid.php?no=<?php echo($row['no']); ?> & send=<?php
echo($row['send']); ?>"><font face="Bauhaus 93">X</font></a></td>
<td align="center"><?php echo($row['nama']); ?></td>
<td align="center"><?php echo($row['telp']); ?></td>
<td align="center">
</tr>
}
}
?>
</table>
</body>
</html>
91
Update.php
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
if($id==""){
$qry = "INSERT INTO phoneb (no, nama, telp)
VALUES ('', '$namabaru', '$nomorbaru')" ;
mysql_query($qry);
}
}
?>
Sendpb.php
<?php
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
{
if ($row['send']=="V") {
$noTujuan = $row['telp'];
$message = $_POST['msg'];
$query = "insert into
outbox(InsertIntoDB,SendingDateTime,DestinationNumber,Coding,TextDecoded)
values(NOW(),'TIME: Auto NOW()','$noTujuan','Default_No_Compression','$message')";
$hasil = mysql_query($query);
}
?>
Sendpbid.php
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
if($send=='V'){
$qry = "UPDATE phoneb SET send='X' WHERE no='$id'" ;
mysql_query($qry);
}else{
$qry = "UPDATE phoneb SET send='V' WHERE no='$id'" ;
mysql_query($qry);
}
?>
92
Tampilan UserManager
Usermanager.php
93
<td colspan="3"><div align="center">Nana @ 2009 </div></td>
</tr>
<tr bgcolor="#0099FF">
<td> </td>
<td> </td>
<td> </td>
</tr>
</table></td>
</tr>
</table></div>
</body>
</html>
Usermen.php
<html>
<head>
<style type="text/css">
<!--
.style1 {font-family: "Bauhaus 93"}
-->
</style>
</head>
<body>
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
// menampilkan data phonebook dalam bentuk table
<table border="1">
<tr>
<td align="center" width="30px"><span class="style1">No.</span></td>
<td align="center" width="100px"><span class="style1">Nama User </span></td>
<td align="center" width="100px"><span class="style1">Password</span></td>
<td align="center" width="100px"><span class="style1">Status</span></td>
<td align="center" width="100px"><span class="style1">Edit/Delete</span></td>
</tr>
<td align="center"><input type="hidden" name="id" value=""></td>
<td align="center"><input name="user" type="text" size="15"></td>
<td align="center"><input type="text" name="password" size="15"></td>
<td align="center"><input type="text" name="status" size="15"></td>
<td align="center"><input type="submit" value="Add Contact" size="15"></td>
<td align="center"><input type="hidden" name="id"
value="<?php echo($row[id]); ?>"></td>
<td align="center"><input type="text" name="user"
value="<?php echo($row[user]); ?>" size="15"></td>
<td align="center"><input type="password" name="password"
value="<?php echo($row[password]); ?>" size="15"></td>
<td align="center"><input type="text" name="status"
value="<?php echo($row[status]); ?>" size="15"></td>
<td align="center"><input type="submit" value="Update" /></td>
<?php
}
<?php
// Ambil data phonebook dari database
//$sql = "SELECT * FROM phoneb";
//$qry = mysql_query($sql);
Updateau.php
// konek ke database
// sesuaikan dengan konfigurasi database Anda
mysql_connect("localhost", "root", "") or die(mysql_error()); //connect to mysql
mysql_select_db("smsd") or die(mysql_error()); //select database
if($id==""){
$qry = "INSERT INTO user (id, user, password, status)
VALUES ('', '$user', '$password','$status')" ;
mysql_query($qry);
} else {
$qry = "UPDATE user SET user='$user', password='$password' , status='$status'
WHERE id='$id'" ;
mysql_query($qry);
}
?>
95
Konfigurasi Modem
WAVECOM FASTRACK Supreme GSM 900/1800 GPRS/GPS Class 10,AT Command Support.
Connectivity stack. 7x24 ontime,Tahan tanpa dimatikan. Cocok untuk SMS Gateway, Fax
Modem, GPRS/GPS, BROADCAST, Poling SMS, Content Provider, system ATM Bank, Alert
System, SMS REminder Quiz Interactive TV, System Pulsa/Voucher Elektronik dll. Efisiensi
AT Command Support
Applications :
o Appliance
o SMS Gateway
o Alert System
o Autorefill System
o GPRS or GPS
o ATM Terminals
o Automotive
o Data Collections
o Gas Pumps
o Remote Diagnosis
o Remote Metering
o Security System
o Vending/Gaming Machines
96
o Other devices requiring wireless connectivity
o Etc.
GSM Modem berkekuatan tinggi dan Telah terbukti Handal untuk keperluan : System
SMSBroadcast,SMS Alert, ATM Network, SMS Poling, Quiz, BTS, Alert System dll.Full Package
Conten :
AT Command Support
GSM Modem berkekuatan tinggi untuk keperluan SMS Gateway/Gatekeeper, Pulsa / Voucher
Elektronik, SMS Center, Autorefill System, GPRS/GPS, SMS Broadcast, SMS Alert System, ATM
Network Bank, SMS Poling, Quiz Yang membutuhkan Jutaan SMS per Jamnya, kinerja tinggi,
Industrial Konsep, Tahan Panas, M2M (Mechine to Mechine), Realtime & Ontime terus hingga
Smsdrc
97
# phoneid - string with info about phone used for sending/receiving
[smsd]
PIN = 1234
logfile = smsdlog
commtimeout = 1
sendtimeout = 10
#receivefrequency = 1
#resetfrequency = 0
deliveryreport = sms
#phoneid = MyPhone1
[gammu]
port = com3
99
;model = 6110
connection = at115200
;synchronizetime = yes
;logfile = gammulog
;logformat = textall
;use_locking = yes
;gammuloc = locfile
;startinfo = yes
;gammucoding = utf8
;rsslevel = teststable
;usephonedb = yes
[gammu1]
port = com8:
;model = 6110
connection = fbusblue
;synchronizetime = yes
;logfile = gammulog
;logformat = textall
;use_locking = yes
;gammuloc = locfile
;startinfo = yes
;gammucoding = utf8
100