2.8 Sejarah Singkat SMS
SMS Short Message Service merupakan salah satu layanan pesan teks yang dikembangkan dan distandarisasi oleh suatu badan yang bernama
ETSI European Telecommunication Standards Institute. Wahana 2005:12. Fitur SMS ini memungkinkan perangkat Stasiun Seluler Digital
Digital Cellular Terminal, seperti Ponsel untuk dapat mengirim dan menerima pesan-pesan teks dengan panjang sampai dengan 160 karakter
melalui jaringan GSM. Dalam sistem SMS, mekanisme utama yang dilakukan dalam suatu
sistem adalah melakukan pengiriman short message dari satu terminal customer
ke terminal yang lain. Hal ini dapat dilakukan berkat adanya sebuah entitas dalam sistem SMS yang bernama Short Message Service Center
SMSC, disebut juga Message Center MC. Pada saat pesan SMS dikirim dari handphone mobile 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 menangani short message dari berbagai sumber seperti Voice Mail System
VMS, Web-based messaging, Email Integration, External Short Message Entities
ESME, dan lain-lain. Secara skematis cara kerja suatu telepon selular dalam mengirim dan menerima pesan ditunjukkan pada gambar 2.3
Gambar 2.3 Skema cara kerja SMS.
2.9 Java
Java dikenal sebagai bahasa pemrograman tingkat tinggi yang berorientasi objek, atau lazim disebut dengan istilah Object Oriented Programming
OOP.
2.9.1 Sejarah Java
Sejarah Java berasal pada tahun 1991 ketika perusahaan Sun Microsystem melalui Green Project, yakni penelitian untuk membuat bahasa
yang akan digunakan pada chip-chip embedded untuk device intelligent cunsumer electronic
. Bahasa tersebut bersifat multiplatform, tidak tergantung kepada vendor yang memanufaktur chip tersebut. Hermawan
2004:6 Dalam penelitiannya, Project Green berhasil membuat prototype
semacam PDA Personal Data Assistance yang dapat berkomunikasi antara satu dengan yang lain dan diberi nama Star 7. Ide berawal untuk membuat
sistem operasi bagi Star 7 berbasis C dan C++. Setelah berjalan beberapa lama, James Gosling, salah seorang anggota team, merasa kurang puas
dengan beberpa karakteristik dari kedua bahasa tersebut berusaha mengembangkan bahasa lain. Bahasa tersebut kemudian dinamakan OAK,
diinspirasi ketika dia melihat pohon di seberang kaca ruang kantornya. Belakangan OAK beralih nama menjadi Java.
Karena pada awalnya ditujukan untuk pemrograman device kecil, Java memiliki karakteristik berukuran kecil, efisien, dan portable untuk
berbagai hardware. Project Green sempat terancam terhenti karena dalam perkembangannya, device ini belum memiliki pasar seperti yang diramalkan
semula. Selanjutnya Java diarahkan untuk pemrograman internet. Secara kebetulan, fitur-fitur Java yang telah disebutkan sebelumnya sangat sesuai
bagi perkembangan internet sehingga dalam beberapa tahun belakangan ini Java telah menjadi primadona untuk pemrograman yang berbasis internet.
2.9.2 Keunggulan Java
Java memiliki beberapa keunggulan bila dibandingkan dengan bahasa pemrograman lainnya, yaitu :
1. Java bersifat sederhana dan relatif mudah Java dimodelkan sebagian dari bahasa C++, namun dengan memperbaiki
beberapa karakteristik C++, seperti mengurangi kompleksitas beberapa fitur, penambahan fungsionalitas, serta penghilangan beberapa aspek
pemicu ketidakstabilan system pada C++. 2. Java berorientasi pada objek Object Oriented
Java adalah bahasa pemrograman yang berorientasi objek OOP, dalam memecahkan masalah, Java membagi program menjadi objek-objek,
kemudian memodelkan sifat dan tingkah laku masing-masing. Selanjutnya java menentukan dan mengatur interaksi antara objek yang
satu dengan yang lainnya 3. Java bersifat terdistribusi
Java memiliki library rutin yang lengkap untuk dirangkai pada protocol TCPIP, seperti HTTP dan FTP dengan mudah. Kemampuan jaringan
Java lebih kuat dan mudah dipakai. Java bahkan memudahkan pembuatan CGI Common Gateway Interface.
4. Java bersifat Multiplatform Dewasa ini kita mengenal banyak platform Operating System, mulai dari
Windows, Apple, berbagai varian UNIX dan Linux, dan sebagainya. Java bersifat multiplatform karena dapat diterjemahkan oleh Java
Interpreter pada berbagai sistem operasi. 5. Java bersifat MultiThread
Thread adalah proses yang dapat dikerjakan oleh program dalam suatu
waktu. Java bersifat Multithreaded, artinya dapat mengerjakan beberapa proses dalam waktu yang hamper bersamaan.
2.10 SQL
SQL merupakan singkatan dari Structured Query Language. SQL digunakan untuk berkomunikasi dengan database. Berdasarkan ANSI
American National Standards Insitute, SQL merupakan bahasa standar untuk relational database management systems. Saputro 2005:3.
Pernyataan-pernyataan SQL digunakan untuk melakukan fungsi-fungsi seperti update data pada database, atau pengambilan data dari database.
Beberapa Relational yang menggunakan SQL, antara lain : Oracle, Sybase, Microsoft SQL Server, Access, Ingres, MySQL, Postgre dan masih banyak
lagi. Pernyataan-pernyataan SQL dapat dibagi menjadi 2 kategori, yaitu pernyataan-pernyataan Data Manipulation Language DML dan Data
Definition Language DDL.
Pernyataan-pernyataan DML berkaitan dengan data, baik pengambilan atau pemodifikasian data supaya tetap up-to-date. Sedangkan pernyataan-
pernyataan DDL berkaitan dengan pembuatan atau pengubahan tabel dan objek-objek database lainnya seperti view dan index.
Berikut ini merupakan pernyataan-pernyataan DML, antara lain:
SELECT
Digunakan untuk query dan menampilkan data dari sebuah database. Pernyataan SELECT menspesifikasikan kolom mana yang termasuk dalam
result set hasil query. Pernyataan SELECT ini merupakan pernyataan yang
paling sering digunakan dalam aplikasi-aplikasi database.
INSERT
Digunakan untuk mengisi tabel yang baru dibuat atau menambahkan barisrecord baru pada tabel yang sudah dibuat.
DELETE
Digunakan untuk menghapus sebuah baris tertentu atau sekumpulan baris tertentu atau sekumpulan baris dari sebuah tabel.
Dibawah ini merupakan pernyataan-pernyataan DDL, antara lain:
CREATE : untuk membuat menciptakan objek database ALTER : untuk memodifikasi mengubah objek database
DROP : untuk menghapus objek database 2.11 Protocol Data Unit PDU
Dalam pengiriman dan penerimaan pesan SMS terdapat dua mode, yaitu mode teks dan mode Protocol Data Unit PDU. Mode teks adalah
format pesan dalam bentuk teks asli yang dituliskan pada saat akan mengirim pesan. Sesungguhnya mode teks ini adalah hasil pengkodean dari
mode PDU. Sedangkan mode PDU adalah format pesan dalam bentuk oktet heksadesimal dan oktet semidesimal dengan panjang mencapai 160 7 bit
atau 140 8 bit karakter. Di Indonesia tidak semua operator GSM maupun terminal mendukung mode teks, sehingga mode yang digunakan adalah
mode PDU. Pada pengiriman pesan terdapat dua jenis mobile, yaitu Mobile Terminated
Handphone Penerima dan Mobile Originated Handphone Pengirim. Wahana 2005:12
2.11.1 SMS PDU Pengirim Mobile Originated
SMS PDU Pengirim adalah pesan yang dikirim dari handphone ke terminal yang kemudian dikirimkan ke SMSC. Wahana 2005:13. Pada
prinsipnya apabila kita mengirim pesan ke nomor tujuan, pesan itu akan melalui SMSC. Pesan yang akan dikirimkan oleh terminal masih dalam
bentuk teks, sedangkan dalam pengiriman ke SMSC harus dalam bentuk
PDU. Untuk itu sebelum dikirim, terminal atau handphone akan melakukan perubahan teks menjadi format PDU, proses ini sering disebut
proses encodec. Skema dari format PDU Pengirim telah diatur dan ditetapkan oleh ETSI yang ditunjukkan pada Gambar 2.4 :
SCA PDU
Type MR
DA PID
DCS VP
UDL UD
Gambar 2.4
Skema Format PDU Pengirim Contoh : Kita mengirim pesan ke nomor 628158894028 dengan isi pesan
“kirim sms” dengan batas waktu pengiriman waktu penyimpanan pesan di SMSC, jika nomor tujuan tidak dapat menerima pesan 5 hari. Maka
Format PDU Pengirmannya adalah sebagai berikut :
0011000C912618859804820000AA09EBB43CDD06CDDB73 1.
Service Center Address SCA
SCA adalah informasi dari alamat nomor SMSC. SCA memiliki tiga komponen utama, yaitu len, type of number, dan service center
number . Dalam pengiriman pesan SMS, nomor SMSC tidak
dicantumkan. Wahana 2005:13
Tabel 2.1 Service Center Address
Octet Keterangan
Nilai Len
Panjang informasi SMSC dalam octet 00
Type of Number
Type of address dari SMSC 81h = lokal format
91h = internasional format none
BCD Digits
Nomor SMSC. Jika panjangnya ganjil, pada akhir karakter tambahkan 0F hexa
none
2. PDU Type
Nilai default dari PDU Type untuk SMS pengirim adalah 11 hexa, yang memiliki arti bahwa 11 hexa = 00010001. Wahana 2005:14
Tabel 2.2
PDU Type
Bit 7
6 5
4 3
2 1
Nama RP UDHI SRI VPF
VPF MMS MTI MTI
Nilai
1 1
Keterangan : RP
: Reply Path. Parameter yang menunjukkan bahwa alur jawaban ada.
UDHI : User Data Header Indicator. Bit ini bernilai 1 jika data
pengirim dimulai dengan suatu judul atau tema. SRR
: Status Report Request. Bit ini bernilai 1 jika laporan status pengiriman diminta.
VPF : Validity Period Format. Format dari batas waktu
pengiriman jika pesan gagal diterima. RD
: Reject Duplicates. Parameter yang menandakan ya atau tidaknya Service Center akan menerima suatu pengiriman
pesan SMS untuk suatu pesan yang masih disimpan dalam Service Center tersebut. Ia mempunyai MR dan DA yang
sama sebagai pesan dikirimkan dari OA yang sama. MTI
: Message Type Indicator. Bit bernilai 0 untuk menunjukkan bahwa PDU ini adalah suatu SMS-Deliver.
3. Message Reference MR
Message Reference adalah acuan dari pengaturan pesan SMS.
Wahana 2005:14. Untuk membiarkan pengaturan pesan SMS dilkukan sendiri oleh handphone tujuan, maka nilai yang diberikan
adalah “00”. Jadi pada Message Reference hasilnya adalah 00.
4. Destination Address DA
DA adalah alamat nomor tujuan, yang terdiri atas panjangnya nomor tujuan Len, format dari nomor tujuan Type Number, dan
nomor tujuan Detination Number. Wahana 2005:15
Tabel 2.3 Destination Address
5. Protocol Identifier PID
Protocol Identifier adalah tipe atau format dari cara pengiriman
pesan, biasanya diatur dari handphone pengirim. Nilai default PID untuk standard teks adalah 00. Wahana 2005:15
6. Data Coding Scheme DCS
Data Coding Scheme adalah rencana dari pengkodean data untuk
menentukan kelas dari pesan tersebut apakah berupa SMS teks standar,
Octet Keterangan
Nilai Len
Panjang informasi SMSC dalam octet
0C
Type of
Number
Type of address dari SMSC 81h = lokal format
91h = internasional format 91
Destination Address
Nomor Destination Address.
Jika panjangnya ganjil, pada akhir karakter
tambahkan 0F hexa 261885980482
Flash SMS , atau Blinking SMS. Wahana 2005:15. Untuk pesan SMS
yang dikirimkan berupa teks standar hasilnya 00.
7. Validity Period VP
Validity Period adalah lama waktu pesan SMS disimpan di SMSC apabila pesan tersebut gagal diterima oleh handphone penerima. Pada
Tabel 2.4 nilai VP adalah AA h atau 170d, 170-166 – 4 hari. Wahana
2005:15
Tabel 2.4
Validity Period
Keterangan : h = bilangan dan huruf dalam bilangan hexa
d = angka dalam bilangan desimal
8. User Data Length UDL
User Data Length adalah panjangnya pesan SMS yang akan
dikirim dalam bentuk teks standar. Pada Tabel 2.1 nilai dari UDL adalah 09 h. Wahana 2005:16
9. User Data UD
User Data adalah isi pesan yang akan dikirim dalam format
heksadesimal. Wahana 2005:16. Pesan “kirim sms” di-kodekan 7 bit
Nilai VP Nilai Validitas Periode
0 – 143 VP+1 5 menit interval 5 menit hingga 12 jam
144 – 167 12 jam + TP – VP – 143 30 menit
168 – 196 VP – 166 – 1 hari
197 – 255 VP – 192 1 minggu
Default alphabet septet Sehingga harus di-enkode menjadi 8 bit
octet, yaitu ”EBB43CDD06CDDB73” untuk SMS-Deliver. Nilai UD pada contoh PDU Pengiriman adalah “EBB43CDD06CDDB73” dapat
dilihat pada halaman 34. Pada tiap octet jika jumlah bit kurang dari 8, maka diambil bit paling kanan pada septet selanjutnya dan
ditambahkan pada bagian kiri septet sebelumnya. Pengkodean dari karakter ke decimal adalah dengan melihat kode ASCII pada tabel 2.1x
Perubahan dari format teks menjadi format heksadesimal dapat dilihat pada tabel 2.5 :
Tabel 2.5 User Data
Karakter Desimal
Septet 7 bit
Octet 8 bit
Nilai Hexa
K 107
1101011 11101011
EB I
105 1101001
10110100 B4
R 114
1110010 00111100
3C I
105 1101001
11011101 DD
M 109
1101101 00000110
06 spasi
32 0100000
11001101 CD
S 115
1110011 11011011
DB M
109 1101101
001110011 73
S 115
1110011
2.11.2 SMS PDU Penerima Mobile Terminated
SMS PDU Penerima adalah terminal menerima pesan yang datang atau masuk dari SMSC ke handphone dalam Format PDU. Pada
prinsipnya pesan yang kita terima dari SMSC masih dalam format PDU setelah itu terminal handphone yang menerima pesan akan melakukan
pengkodean menjadi teks, proses ini sering disebut proses decodec.
Wahana 2005:16. Cara pengkodean format PDU sudah diatur dan distandarkan oleh ETSI. Format PDU dari SMS Penerima adalah :
SCA PDU-type
OA PID
DCS SCTS
UDL UD
Gambar 2.5
Skema Format SMS PDU Penerima Contoh : kita menerima pesan dari 628122888374 dengan isi pesan
SMS adalah “hellohello” pada tanggal 6 Januari 2004 pukul 16.22 wib. Maka format PDU adalah :
06912618010000040C912618228838470000401060612202820AE8329B FD4697D9EC37.
Penjelasan masing-masing format adalah sebagai berikut:
1. Service Center Address SCA
SCA adalah informasi dari alamat nomor SMSC. SCA memiliki tiga komponen utama, yaitu len, type of number, dan service center
number . Wahana 2005:17. Pada contoh diatas nilai dari SCA adalah
06912618010000.
Tabel 2.6 Service Center Address
Octet Keterangan
Nilai Len
Panjang informasi SMSC dalam octet 06
Type of
Number
Type of address dari SMSC 81h = lokal format
91h = internasional format 91
BCD Digits
Nomor SMSC. Jika panjangnya ganjil, pada akhir karakter tambahkan 0F hexa
2618010000
2. PDU Type
Nilai default dari PDU Type untuk SMS-Deliver adalah 04 hexa, yang memiliki arti 04 hexa = 00000100. Wahana 2005:17
Tabel 2.7
PDU Type
Bit 7
6 5
4 3
2 1
Nama RP UDHI SRI none none MMS MTI MTI
Nilai
1 1
Keterangan : RP
: Reply Path. Parameter yang menunjukkan bahwa alur jawaban ada.
UDHI : User Data Header Indicator. Bit ini bernilai 1 jika data
pengirim dimulai dengan suatu judul atau tema. SRI
: Status Report Indication. Bit ini bernilai 1 jika laporan akan dikembalikan ke SME.
MMS : More Message to Send. Bit ini bernilai 0 jika ada pesan
lebih akan dikirim. MTI
: Message Type Indicator. Bit bernilai 0 untuk menunjukkan bahwa PDU ini adalah suatu SMS-Deliver.
3. Originator Address OA
OA adalah alamat nomor dari pengirim, yang terdiri atas panjangnya nomor pengirim Len, format dari nomor pengirim Type Number,
dan nomor pengirim Originator Number. Wahana 2005:18. Nilai dari OA pada contoh adalah 0C91261822883847.
Tabel 2.8 Originator Address
Octet Keterangan
Nilai Len
Panjang nomor
Originator Address
0C
Type of number
Tipe dari Originator Address 81h = lokal
91h = internasional 91
BCD Digits
Nomor Originator Address. Jika panjangnya ganjil, pada akhir
karekter tambahkan 0F hexa 261822883847
4. Protocol Identifier PID
Protocol Identifier adalah tipe atau format dari cara pengiriman pesan,
biasanya diatur dari handphone pengirim. Nilai default PID untuk standard teks adalah 00. Wahana 2005:18
5. Data Coding Scheme DCS
Data Coding Scheme adalah rencana dari pengkodean data untuk
menentukan kelas dari pesan tersebut apakah berupa SMS teks standar, Flash SMS
, atau Blinking SMS. Untuk pesan SMS yang dikirimkan berupa teks standar hasilnya 00. Wahana 2005:19
6. Service Center Time Stamp SCTS
Service Center Time Stamp adalah waktu dari penerimaan pesan oleh
SMSC penerima. SCTS terdiri atas tahun, bulan, tanggal, jam, menit dan detik serta zona waktu. Nilai SCTS pada contoh adalah
40106061220282. Wahana 2005:19. Pada tabel 2.9
Tabel 2.9 Service Center Time Stamp
Tahun 40 menjadi 2004
Bulan 10 menjadi 05, Mei
Tanggal 60 menjadi 06
Jam 61 menjadi 16
Menit 22 menjadi 22
Detik 02 menjadi 20
Zona Waktu 82 menjadi 28, dimana 1 unit = 15 menit.15
28 60 = 7, menjadi GMT+07.00 Dari tabel diatas terlihat bahwa pesan diterima oleh SMSC pada
tanggal 16 Mei 2004 pukul 16:22’:20” WIB.
7. User Data Length UDL
User Data Length adalah panjangnya pesan SMS yang akan dikirim
dalam bentuk teks standar. Wahana 2005:19
8. User Data UD
User Data adalah pesan yang diterima dalam format heksadesimal.
Pada contoh diatas nilainya adalah E8329BFD4697D9EC37. Pengkodean dari nilai heksadesimal menjadi teks standar dengan
bantuan tabel kode ASCII pada tabel 2.11
Tabel 2.10 User Data
Nilai Hexa
Oktet 8 bit
Septet 7 bit
Dec Karakter
E8 11101000
1101000 104
h 32
00110010 1100101
101 e
9B 100 11011
1101100 108
l FD
11111101 1101100
108 l
46 01000110
1101111 111
o 97
10010111 1101000
104 h
D9 11011001
1100101 101
e EC
11101100 1101100
108 l
37 00110111
1101100 108
l 1101111
111 o
Pada tabel 2.10 diatas merupakan proses perubahan dari nilai heksadesimal menjadi karakter, terlihat bahwa nilai heksadesimal dari
E829BFD4697D9EC37 adalah “hellohello”. Ini berarti pesan yang diterima adalah “hellohello”. Wahana 2005:20
Tabel 2.11
Kode ASCII Desimal
1 2
3 4
5 6
7 8
9
1 LF
CR 2
3 SP
“ ‘
4 +
, -
. 1
5 2
3 4
5 6
7 8
9 :
; 6
= ?
A B
C D
E 7
F G
H I
J K
L M
N O
8 P
Q R
S T
U V
W X
Y 9
Z [
\ ]
_ ‘
A b
C 10
D e
f G
h i
J K
l M
11 N
o p
Q r
s T
U v
W 12
X y
z {
| }
~
2.12 Perintah AT AT Command
Perintah AT
Hayes AT
Command digunakan
untuk berkomunikasi dengan terminal modem melalui gerbang serial pada
komputer. Dengan penggunaan perintah AT, dapat diketahui atau dibaca kondisi dari terminal, seperti mengirim pesan, membaca pesan, menambah
item pada daftar telepon, dan sebagainya. Pada tabel 2.12 diperlihatkan beberapa jenis perintah AT yang berhubungan dengan penanganan pesan-
pesan SMS. Wahana 2005:26
Tabel 2.12
Beberapa jenis AT Command
Daftar Perintah AT Fungsi
AT Mengecek apakah hanphone telah terhubung
AT+CMGF Menetapkan format mode dari terminal
AT+CSCS Menetapkan jenis encoding
AT+CNMI Mendeteksi pesan SMS 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 SS
2.13 SMS Gateway