BAB II LANDASAN TEORI
2.1 Pengenalan SMS 2.1.1
Sejarah SMS Ide penambahan pengiriman pesan dalam layanan komunikasi pada
telepon selular berawal pada tahun 1980an. Beberapa pakar dari beberapa komunitas mendiskusikan apa yan seharusnya yang ada dalam layanan GSM. Pesan singkat pertama secara komersial dikirim pada tanggal 3 desember 1992 oleh nail Papworth dari sebuah grup kepada Richard Jarvis dari Vodafone. Pesan tersebut dikirimkan dari sebuah komputer melalui jaringan GSM Vodafone di Unitid Kingdom. Percobaan selanjutnya adalah SMS pertama dari telepon seluler GSM untuk telepon selular lainnya berhasil dilakukan oleh Riku Pihkonen, seorang mahasiswa teknik di NOKIA pada tahun 1993. SMS kemudian berhasil untuk dikomersilkan dan kemudian berkembang pesat pada tahun 1993. Dimulai dari di Swedia oleh Aldicson dan TeliaSonera, dan kemudian diikuti oleh Fleet Call di US, Telenor di Norwegia dan BT celnet (sekarang O2) di Inggris (UK). Pada tahun 1995, perkembangan awal teknologi ini berlangsung sangat lambat, yakni rata-rata hanya 0.4 persen perpelanggan GSM Per bulan. Salah satu faktor yang mengghambat perkembangan teknologi pengiriman pesan itu adalah bahwa operator sangat lambat untuk mengatur sistem pembiayaan, terutama pelanggan yang membayar dimuka
Pada tahun 1995, perkembangan awal
teknologi ini berlangsung sangat lambat, yakni rata-rata hanya 0.4 persen perpelanggan GSM Per bulan. Salah satu faktor yang mengghambat perkembangan teknologi pengiriman pesan itu adalah bahwa operator sangat lambat untuk mengatur sistem pembiayaan, terutama pelanggan yang membayar dimuka. Menurut penulis Lobensommer, H. and Mahner, H., 1992, GSM – a Europeen Mobile Radio Standard for World Market, Telcom Report International., Short Messaging Services (SMS) merupakan media komunikasi yang banyak digunakan sekarang ini. Kelebihan dari SMS adalah biayanya murah, prosesnya cepat dan langsung ke tujuan. SMS adalah salah satu layanan pengiriman pesan singkat yang merupakan fitur dari Global System for Mobile II - 1
II - 2
communications (GSM) yang ditetapkan dan distandarisasi oleh European Telecommunications
Standart
International
(ETSI).
(Sumber:http://id.wikipedia.org/wiki/SMS, 2013).
2.2 SMS (Short Massage Servis) Short Massage Servis (SMS) adalah salah satu tipe Instant Messaging (IM) yang memungkinkan user untuk bertukar pesan singkat kapanpun, walaupun user sedang melakukan sambungan data/suara. SMS dihantarkan pada Cannel signal GSM (Global System for Mobile Communication) spesifikasi teknis ETSI. SMS diaktifkan oleh ETSI dan dijalankan di scop 3gpp. SMS juga digunakan pada teknologi GPRS dan CDMA. SMS menjamin pengirim pesan oleh jaringan, jika terjadi kegagalan pesan akan disimpan dahulu dijaringan, pengiriman paket sms bersifat out of band dan menggunakan bandwhidth rendah. Dengan adanya perkembagan teknologi yang sangat pesat teknologi SMS merupakan suatu teknologi yang tidak asing lagi dalam kehidupan masyarakat. Teknologi SMS ini banyak digemari oleh masyarakat karena teknologi ini bersifat praktis, murah dan mudah digunakan. Sms merupakan sistem pengiriman pesan sederhana yang disediakan oleh jaringan telepon selular. Fitur SMS ini didukung oleh GSM (Global System for Mobile Communication), TDMA (time Multiple Digital Access), CDMA (code Multiple Digital Access). Semakin pesatnya perkembangan teknologi SMS ini, didukung oleh beberapa faktor, antara lain adalah semakin terjangkau harga perangkat keras yang digunakan (telepon selular). Selain itu, faktor lain yang mempengaruhi adalah banyaknya provider penyedia jasa telekomunikasi yang menawarkan jasanya dengan harga yang cukup terjangkau oleh masyarakat saat ini (sumber:http://id.wikipedia.org/wiki/SMS, 2013). 2.3 Cara Kerja SMS 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
II - 3
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.
Gambar 2.1: Mekanisme Cara Kerja SMS SMS yang dikirim oleh nomer pengirim akan dimasukan terlebih dahulu ke SMSC operator nomer pengirim, kemudian SMSC tersebut akan mengirimkan ke nomer yang dituju secara langsung. Nomer penerima akan mengirim delivery report yang menyatakan SMSC telah diterima SMSC, SMSC kemudian meneruskan report tersebut kepada nomer pengirim SMS, Disertai status report dari pengirim SMS ersebut (sumber: Daud Edison Tarigan, 2012 Membangun SMS Gateway berbasis Web dengan CodeIgniter).
II - 4
2.4 Sistem Kerja SMS 2.4.1 AT Command Perintah AT digunakan untuk berkomunikasi dengan telepon seluler melalui serial port pada komputer. Dengan menggunakan perintah AT, kita dapat mengetahui kekuatan sinyal dari telepon seluler, mengirim SMS, membaca SMS, dan banyak fungsi lainnya. Tidak semua perintah AT digunakan pada program, yang diambil hanya yang diperlukan saja, misal untuk mengirim, membaca, menghapus dan menerima pesan dari terminal. AT command yang umum digunakan dapat dilihat pada tabel 2.1. Tabel 2.1: Tabel Perintah AT Command Perintah AT
Kegunaan
AT
Mengecek apakah telepon seluler telah terhubung
AT+CMGF
Menetapkan format mode dan 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
AT Command sebenarnya hampir sama dengan perintah > ( prompt ) pada DOS. Perintah-perintah yang dimasukkan ke port dimulai dengan kata AT, lalu diikuti oleh karakter lainnya, yang memiliki fungsi unik. Contoh : ATE1 digunakan untuk menanyakan status port. Output “OK” akan tampak dilayar jika kondisi port tersebut siap. (sumber: Daud Edison Tarigan, 2012 Membangun SMS Gateway berbasis Web dengan CodeIgniter)
2.4.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.
II - 5
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 dikirm, 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 disimpan pada SMSC sampai periode validity terpenuhi. 2.4.2.1 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 pengubung. Protokol yang umum digunakan adalah UCP, 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. 2.4.3 Protocol Data Unit (PDU) Data yang mengalir dari SMS Center dan menuju SMS Center sesuai dengan standar PDU (Protocol Data Unit). PDU terdiri dari beberapa header
II - 6
dalam bilangan heksadesimal. Susunan header dalam SMS yang dikirim ke SMS Center berbeda dengan susunan header dalam SMS yang diterima dari SMS Center. 2.4.3.1 Susunan PDU Pengiriman ke SMS Center. PDU untuk pengiriman ke SMS Center dibagi dalam delapan header. Seluruh header menggunakan bilangan heksadesimal. 1) Nomor SMS Center Header untuk nomor SMS Center terbagi menjadi 3 sub-header. Sub header pertama adalah jumlah pasangan heksadesimal SMS Center. Sub header kedua adalah kode internasional. Sub header ketiga adalah nomor SMS Center itu sendiri dalam pasangan heksa yang dibalik tiap 1 pasangan. Jika tertinggal 1 angka heksa yang tidak memiliki pasangan, angka tersebut akan dipasangkan dengan huruf F didepannya. Sebagai contoh, suatu SMS Center bernomor +62816124 akan menjadi 059126181624. Angka 05 menunjukkan jumlah pasangan heksa dari SMS Center, termasuk kode internasional, dalam pasangan heksa. Angka 91 adalah angka pasangan kode inetrnasional, sisa angka tersebut adalah SMS Center yang dibalik tiap 1 pasangan. Tabel 2.2: Daftar SMSC
2) Tipe SMS Untuk pengiriman SMS tipe SMS adalah SMS kirim kode 1. Bila dituliskan dalam pasangan heksa menjadi 01. 3) Nomor referensi SMS Secara default, nomor referensi akan diberikan nilai 0, atau dalam bilangan heksa berupa angka 00. Nilai 00 berarti nomor referensi akan diberikan secara otomatis oleh SMS Gateway atau oleh operator telekomunikasi.
II - 7
4) Nomor Telepon Seluler Penerima Seperti pada nomor SMSC, nomor telepon selular penerima ini dibagi menjadi 3 sub-header, yaitu jumlah angka nomor telepon selular tersebut dalam pasangan heksa, kode internasional, dan nomor telepon tersebut dalam pasangan heksa dibalik. Jika tertinggal satu angka heksa yang tidak memiliki pasangan, angka tersebut dipasangkan dengan huruf F didepannya.
Misalnya
suatu
nomor
+6281510649790 akan diubah menjadi
selular
penerima
adalah
0891261815609497F0. Angka 08
menunjukkan jumlah angka nomor selular tersebut. Angka 91 adalah pasangan kode internasional. Sisa angka tersebut adalah nomor telepon selular penerima yang dibalik tiap 1 pasangan. Angka 0 terakhir merupakan sisa angka yang dipasangkan dengan F didepannya. 5) Bentuk Data Untuk pengiriman data dalam bentuk SMS, digunakan nilai heksa 00. Nilai lain yang dapat digunakan antara lain, nilai heksa 01 yang berarti data yang dikirim berbentuk telex, dan nilai heksa 02 yang berarti data dikirim dalam bentuk fax. 6) Skema Data Sebagian besar telepon selular yang ada di pasaran menggunakan skema data 7 bit. Untuk skema data 7 bit digunakan kode 00. 7) Jangka waktu kadaluarsa SMS Untuk menentukan jangka waktu berlakuknya SMS yang dikirimkan. Jika header ini dihilangkan, maka SMS yang dikirim tidak mempunyai batas waktu kadaluarsa. 8) Isi SMS Header isi SMS dibagi menjadi 2 sub-header. Sub header pertama adalah jumlah huruf dari isi SMS. Misalnya untuk kata “email” terdiri dari 5 huruf, maka sub header untuk isi SMS menjadi 05. Sub header yang kedua adalah isi SMS dalam format pasangan bilangan heksa. Sesungguhnya, terdapat dua mode untuk mengirim dan menerima SMS, yaitu mode teks dan mode PDU ( Protocol Data Unit ). Akan tetapi, sistem mode teks tidak didukung oleh semua operator GSM maupun terminal.
II - 8
Pada
terminal,
kita
dapat
mengecek
menggunakan
perintah
“AT+CMGF=1”. Jika hasilnya error, dapat dipastikan bahwa terminal Anda tidak mendukung mode teks. a) Text Mode Mode ini adalah cara termudah untuk mengirim pesan. Pada mode teks pesan yang kita kirim tidak dilakukan konversi. Teks yang dikirim tetap dalam bentuk aslinya dengan panjang mencapai 160 (7 bit default alphabet) atau 140 (8 bit) karakter. Sesungguhnya, mode teks adalah hasil enkode yang direpresentasikan dalam bentuk format PDU. Kelemahannya, kita tidak dapat menyisipkan gambar dan nada dering ke dalam pesan yang akan dikirim serta terbatasnya tipe encoding. b) PDU (Protocol Data Unit) Mode PDU Mode adalah format message dalam heksadesimal octet dan semidecimal octet dengan panjang mencapai 160 (7 bit default alphabet) atau 140 (8 bit) karakter. Kelebihan menggunakan mode PDU adalah kita dapat melakukan encoding sendiri yang tentunya harus pula didukung oleh Hardware dan operator GSM, melakukan kompresi data, menambahkan nada dering dan gambar pada pesan yang akan dikirim. Beberapa tipe encoding yang umum digunakan adalah “PCCP437”, ”PCDN”, “8859-1”, “IRA”
dan
“GSM”.
Anda
dapat
mengeceknya
dengan
perintah
“AT+CSCS”. Kita juga dapat menambahkan header ke dalam pesan yang akan dikirim, seperti timestamp, nomor SMSC dan meta-informasi lainnya. Keterangan lengkap mengenai mode ini dapat dilihat pada ETSI GSM 03.40 dan GSM 03.38. Aplikasi yang akan dibuat menggunakan mode PDU dengan encoding 7 bit default alphabet. 2.4.3.2 Susunan PDU dari SMS Center Susunan PDU pada SMS yang diterima dari SMS Center dibagi menjadi 8 bagian dan seluruhnya dalam bilangan heksadesimal. Susunan tersebut dapat dilihat pada tabel 2.1. Gambar 2.3: Struktur PDU Penerima SCA
PDU Type
OA
PID
DCS
SCTS
UDL
UD
II - 9
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: 06912618010000040C912618228838470000 40106061 22028 20AE8 329BFD4697D9EC37 1) Service Center Address (SCA) SCA adalah bagian yang menyimpan informasi nomor SMSC, yang terdiri dari 3 bagian yaitu, panjang nomor SMSC, tipe nomor SMSC, dan nomor SMSC. Tabel 2.4: Service Center Address dari PDU Penerima
Pada contoh diatas nilai dari sca adalah 06912618010000 2) PDU Type Untuk tipe SMS yang diterima dari SMS Center adalah SMS terkirim adalah nilai heksa 04, atau dalam bentuk biner adalah 00000100. Supaya lebih mudah dimengerti, PDU Type memiliki panjang 8 bit yang setiap bitnya merepresentasikan suatu nilai seperti yang dapat digambarkan ada tabel 2.1. Tabel 2.5: Susunan PDU Type Bit
7
6
5
4
3
2
1
0
Nama
RP
UDHI
SRI
<none>
<none>
MMS
MTI
MTI
contoh
0
0
0
0
0
1
0
0
Keterangan : RP
: Reply Path. Parameter yang menunjukkan bahwa alur jawaban ada.
II - 10
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 suatu status laporan
akan dikembalikan ke SME. MMS
: More Message to Send. Bit ini bernilai 0 jika ada pesan lebih yang
akan dikirim. MTI
: Message Type Indicator. Bit ini bernilai 0 untuk menunjukkan bahwa
PDU ini adalah suatu SMS Deliver. 3)
Originating Address (OA) OA adalah bagian yang menyimpan informasi nomor pengirim SMS, yang
terdiri dari 3 bagian yaitu, panjang nomor pengirim, tipe nomor pengirim, dan nomor pengirim. Sebagai contoh, sebuah OA berisi 0891261815609497F0, 08 merupakan panjang nomor pengirim, 91 merupakan tanda format international (+),
dan
261815609497F0menjadi
sebuah
nomor
pengirim
bernilai
628150649790, sehingga nomor pengirim SMS tersebut secara lengkap adalah +628150649790. 4) Protocol Identifier (PID) Protocol Identifier adalah tipe atau format dari cara pengiriman pesan, yang biasanya diatur dari handphone pengirim. Misalnya tipe Standard Text, Fax, E-mail, Telex, X400, dan lain-lainnya. Nilai default dari PID adalah 00 yang berarti PID tersebut adalah standard text. 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 bahkan Blinking SMS seperti terlihat pada tabel 2.2 berikut ini. Tabel 2.6: Nilai DCS Nilai
Character Coding
Message Class
00
default ( 7 bit )
No class
F0
default ( 7 bit )
class 0 (immediate display)
F1
default ( 7 bit )
class 1 (Mobile Equipment-specific)
F2
default ( 7 bit )
class 2 (SIM specific message)
(Heksa)
II - 11
F3
default ( 7 bit )
class 3 (Terminate Equipment-specific)
F4
8-bit
class 0 (immediate display)
F5
8-bit
class 1 (Mobile Equipment-specific)
F6
8-bit
class 2 (SIM specific message)
F7
8-bit
class 3 (Terminate Equipment-specific)
Hal yang perlu diperhatikan di sini, pada beberapa handphone dengan message class 0 dengan encoding 7 bit berupa flash SMS, sedangkan dengan encoding 16 bit Unicode (ucs2), message yang didahului “0001” dengan class 0 berupa blinking flash SMS. 6)
Service Center Time Stamp (SCTS) Service Center Time Stamp seperti adalah waktu dari penerimaan pesan
oleh SMSC penerima. SCTS terdiri dari tahun, bulan, tanggal, jam, menit dan detik, serta zona waktu. Sebagai contoh, nilai SCTS 40106061220282 dapat diterjemahkan seperti pada tabel. Tabel 2.7: Susunan SCTS Nama
Nilai
Hasil
Tahun
40
04 (2004)
Bulan
10
01 (Januari)
Tanggal
60
06
Jam
61
16
Menit
22
22
Detik
02
20
Zona waktu
82
28, di mana 1 unit = 15 menit. Jadi (15x28)/60
=
7
jam.
Sehingga
menjadi GMT + 07.00 = WIB 7)
User Data Length (UDL) User Data Length adalah panjang dari pesan yang diterima dalam bentuk
teks standar. Sebagai contoh nilai dari UDL adalah 0A, yang berarti pesan yang diterima adalah sebanyak 10 karakter.
II - 12
8)
User Data (UD) User Data adalah pesan yang diterima dalam format heksadesimal. User
Data tersebut berupa data 8 bit yang dalam format sms 7 bit harus disusun ulang dengan sebuah algoritma. Tabel 2.8 :User Data Pada PDU Penerima
Dari
tabel
di
atas
terlihat
bahwa
nilai
heksadesimal
dari
E8329BFD4697D9EC37 adalah “hellohello”. Ini berarti pesan yang diterima adalah “hellohello”. Tabel 2.9: Kode ASCII
II - 13
Tabel 2.10: Tabel Default Alphabet 7 bit (Septet)
2.4.3.3 SMS Submit PDU (Mobile Originated) SMS Submit PDU ialah pesan yang dikirim dari handphone ke terminal yang kemudian dikirimkan ke SMSC (Wesolowski, 2002). 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 dari format teks menjadi format PDU, proses ini disebut proses encodec. Adapun skema dari format SMS Submit PDU telah diatur dan diteteapkan oleh ETSI sebagai berikut: Gambar 2.11: Skema Format SMS Submit PDU
Misalnya kita mengirim pesan SMS ke nomor 628569976796 dengan isi pesan “pesan pendek” dengan batas waktu pengiriman (waktu penyimpanan pesan di SMSC, jika nomor tujuan tidak dapat menerima pesan) 5 hari. Maka format PDU adalah :
II - 14
0011000C912618229888040000AB0CD0F23CEC06C1CB6E72790D Dibawah ini merupakan penjelasan masing-masing format dari gambar 3 yaitu sebagai berikut : a) Service Center Address (SCA) SCA adalah alamat (nomor) dari SMSC. SCA memiliki tiga komponen utama yaitu, type of number, dan service center number. Pada contoh di atas nilai dariSCA adalah 00. Table 2.12: Service Center Address dari PDU pengirim
b) PDU Type Nilai default dari PDU Type untuk SMS Submit adalah 11 heksa. Pada contoh di atas, PDU Type adalah 11 yang memiliki arti: Tabel 2.13: PDU Type dari PDU pengirim
Keterangan : (1) RP
: Reply Path. Parameter yang menunjukkan bahwa alur
jawaban ada. (2) UDHI
: User Data Header Indicator. Bit ini bernilai 1 jika data
pengirim dimulai dengan suatu judul atau tema. (3) SRI
: Status Report Indication. Bit ini bernilai 1 jika suatu status
aporanakan dikembalikan ke SME. (4) VPF
: Validity Period Format. Format dari abats waktu
pengiriman jika pesan gagal diterima.
II - 15
enhanced (tujuh oktet).
(5) 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. (6) MTI
: Message Type Indicator. Bit ini bernilai 0 untuk
menunjukkan bahwa PDU ini adalah suatu SMS Deliver. c) Message Reference (MR) Message Reference adalah acuan dari pengaturan SMS. Unutk membiarkan pengaturan pesan SMS dilakukan sendiri oleh handphone tujuan, maka nilai yang diberikan adalah “00”. Jadi pada message Reference hasilnya adalah 00. d) Destination Address (DA) DA adalah alamat (nomor) tujuan, yang terdiri atas panjang nomor tujuan (Len), format dari nomor tujuan (Type Number) dan nomor tujuan (Destination Number). Tabel 2.14: Destinasion Address dari PDU Pengirim
e) Protocol Identifier (PID) Untuk contoh diatas nilai dari PID adalah 00. g) Validity Period (VP) Validity Period adalah lama waktu pesan SMS disimpan di SMSC apabila pesan tersebut gagal diterima oleh handphone penerima.
II - 16
Tabel 2.15: validity period
h) User Data Length (UDL) Pada contoh di atas nilai dari UDL adalah 0C, yang berarti pesan yang dikirim adalah sebanyak 12 karakter. i) User Data (UD) User Data adalah pesan yang akan dikirim dalam format heksadecimal. Pada contoh ini pesan SMS yang dikirim adalah “Pesan pendek”. Pengkodean dari nilai teks standar menjadi heksadesimal dilakukan dengan bantuan Default Alphabet yang dibekukan oleh ETSI GSM 03.38 (Tabel ASCII) (Park, 2003). Hal ini dapat dilihat pada tabel 15 berikut ini : Tabel 2.15: User Data PDU Pengirim
Dari tabel di atas terlihat bahwa hasil dari pengkodean adalah : D0F23CEC06C1CB6E72790D. Jadi pada User Data hasilnya adalah D0F23CEC06C1CB6E72790D. Dari penjelasan di atas di peroleh hasil unuk pengiriman SMS dalam format PDU unutk contoh tersebut adalah : 0011000C912618229888040000AB0CD0F23CEC06C1CB6E72790D (sumber: Daud Edison Tarigan, 2012 Membangun SMS Gateway berbasis Web dengan CodeIgniter)
II - 17
2.5 Layanan Aplikasi SMS Layanan aplikasi SMS pada dasarnya memiliki karakteristik yang berbeda dengan aplikasi internet dan internet pada umumnya, yaitu layar monitor yang berukuran kecil, keterbatasan jumlah karakter yang dapat dituliskan, serta keterbatasan tombol pada ponsel untuk pengoperasian aplikasi. Tiga karakteristik tersebut selalu menjadi fokus yang mendasari pada pengembangan aplikasi tersebut, sehingga informasi yang disediakan singkat dan jelas dengan pengoperasian aplikasi mudah dan sederhana yang merupakan penggunaan tombol pada ponsel. Dengan demikian akan dapat dikenal aplikasi yang cocok untuk dikembangkan menjadi aplikasi berbasis SMS. Pada akhirnya SMS menjadi layanan messagging yang populer dan digemari oleh customer telepon seluler. Layanan SMS dapat diintegrasikan dengan layanan GSM yang lain seperti voice, dan fax. Oleh karena itu pesan SMS selain digunakan untuk pengiriman pesan person to person juga digunakan untuk notifikasi voice dan fax mail yang datang kepada customer. Selain itu SMS juga berharga murah, bersifat sederhana dan personal, serta dalam pengoperasiannya tidak terlalu mengganggu kesibukan pemakainya, karena mereka dapat mengirim atau menerima pesan SMS pada waktu yang mereka kehendaki (sumber: Daud Edison Tarigan, 2012 Membangun SMS Gateway berbasis Web dengan CodeIgniter). . 2.6
Database Kelebihan SMS gateway dibandingkan dengan pengiriman ataupun
penerima dengan ponsel biasa adalah SMS gateway merupakan aplikasi komputer, artinya dapat melakukan otomatisasi dan meringankan pekerjaan manual. Selai itu aplikasi juga dapat menyimpan data dalam jumlah yang banyak. Berapa SMS yang dapat di tamping oleh inbok dan send item pada ponsel. Tentunya tidak sebanyak data yang dapat disimpan pada hardisk komputer. Umumnya sebuah SMS gateway aka memindahkan data SMS pada device kedalam sebuah database agar dapat diproses lebih lanjut, sehingga device GSM model/ponsel hanya bersifat sebagai media pengirim dan penerima SMS. Karena
II - 18
itu sebuah aplikasi SMS gateway juga memerlukan database, table-tabel utama yang perlu dipersiapkan pada sebuah SMS gateway adalah sebagai berikut: 1. Inbox Merupakan table yang berfungsi untuk menampung SMS yang diterima. Field-field penting yang diperlukan antara lain field pengiriman (bersi nomer pengirim), pesan (berisi text SMS), dan waktu (berisi tanggal dan jam). Jika hanya menggunakan 1 device, makan tidak memerlukan field nomer penerima, karena semua SMS yang masuk inbok tentunya ditujukan untuk sebuah nomer saja yaitu nomer GSM yang terpasang pada device. 2. Outbox Table Outbox merupakan tabel yang menyimpan SMS yang akan dikirimkan Field-field yang penting adalah field tujuan (nomer penerima SMS) dan pesan (Berisi text SMS). 3. Send Item Saat SMS pada outbox telah terkirim, maka data tersebut akan masuk kedalam sebuah tabel send item. Jadi tabel send item adalah tabel yang menyimpan SMS yang telah terkirim. Karena itu pada intinya isi dari send item adalah record yang tadinya terdapat pada table Outbox, ditambah dengan Field-field seperti waktu (berisi tanggal dan jam), serta status pengiriman yang menunjukan idikasi apakah sebuah SMS telah diterima atu tidak. (sumber: Daud Edison Tarigan, 2012 Membangun SMS Gateway berbasis Web dengan CodeIgniter) 2.7 Sekilas Tentang Aplikasi Web, PHP, MySQL, Visual Basic 6.0 2.7.1
Aplikasi Web Kepopuleran Internet di seluruh penjuru dunia mendorong aplikasi web
semakin diminati. Aplikasi web adalah jenis aplikasi yang diakses melalui browser, misalnya Internet Explorer, sedangkan web server adalah server yang melayani permintaan aplikasi web. Aplikasi
web
yang
paling
dasar
ditulis
menggunakan
HTML.
Sebagaimana diketahui, HTML (hypertext markup language) adalah bahasa standar untuk membuat halaman-halaman web. sebagai contoh, berikut adalah
II - 19
kode HTML (disimpan dengan ekstensi .htm atau .html) (Abdul Kadir,2009. Pengenalan Sistem Informasi).
2.7.2
PHP (Hypertext Preprocessor) PHP adalah bahasa pemrograman web yang paling banyak dipakai saat ini.
PHP banyak dipakai untuk memprogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lai
(Sumber : Abdul Kadir, hal 4, 2009 Pengenalan Sistem Informasi) Gambar 2.2: Mekanisme pemanggilan aplikasi web bertipe PHP Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki (software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS (Content Management System) yang dibangun menggunakan PHP adalah Mambo, Joomla, Postnuke, Xaraya, dan lain-lain. Kelebihan PHP adalah : a. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.
II - 20
b. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan configurasi yang relatif mudah. c. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan. d. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. e. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui
console
serta
juga
dapat
menjalankan
perintah-perintah
sistem(Sumber: http://www.php.net/manual/en). 2.7.3
MYSQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data
SQL atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius. MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara
II - 21
kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. Selain itu MySQL juga memiliki beberapa keistimewaan, antara lain: a. Portability MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. b. Open Source MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma. c. Multiuser MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. d. Performance tuning. MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. e. Column types MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain. f. Command dan functions MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam query. g. Security MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi. h. Scalability dan limits
II - 22
MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. i. Connectivity MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). j. Localisation MySQL dapat mendeteksi pesan kesalahan pada
client dengan
menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk didalamnya. k. Interface MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). l. Clients dan tools MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online. m. Struktur tabel MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan database lainnya semacam PostgreSQL ataupun Oracle. (Sumber: http://dev.mysql.com/doc/refman/5.0/en/index.html) 2.7.4
Visual Basic 6.0 Bahasa pemrograman adalah prosedur atau tata cara penulisan program.
Dalam bahasa pemrograman terdapat dua faktor penting yaitu sintaks dan semantik. Sintaks adalah aturan-aturan gramatikal yang mengatur tata cara penulisan kata, ekspresi dan pernyataan. Sedang semantic adalah aturan untuk menyatakan suatu arti. Bahasa pemrograman Visual Basic adalah suatu event-driven sistem pemrograman visual dari perusahaan Microsoft untuk Microsoft Windows yang popular. Bila didefinisikan kata perkata Visual Basic antara lain kata Visual
II - 23
dalam nama bahasa pemrograman ini mewakili pada metode untuk membuat Graphical User Interface. Dengan hanya mengatur letak dari elemen-elemen sebuah interface tanpa menuliskan baris kode yang banyak. Sedangkan kata BASIC sendiri merupakan kependekkan dari Begginers All-Purpose
Symbolic
Instruction
Code.
Visual
Basic
merupakan
pengembangan dari bahasa BASIC yang aslinya. Di dalam bahasa Visual BASIC telah dilengkapi dengan beberapa ratus pernyataan, fungsi, dan kata kunci, banyak diantaranya berkaitan langsung dengan GUI dari Windows. Bahasa pemrograman Visual Basic tidak hanya khusus untuk membuat program aplikasi saja. Sistem dari bahasa pemrograman Visual BASIC pada edisi aplikasi dimasukkan dalam Microsoft Excel, Microsoft Acces dan masih banyak apilikasi lainnya. Visual Basic dilengkapi dengan perlengkapan-perlengkapan penunjang seperti: a. Fitur data access memungkinkan untuk membuat database, aplikasi front-end, dan komponen scalable server-side untuk format database yang paling popular, termasuk Microsoft SQL Server dan perusahaan level database lainnya b. Teknologi ActiveX™ memungkinkan untuk memakai fungsi-fungsi yang disediakan dari aplikasi lain, seperti pengolah kata Microsoft Word, Microsoft Excel spreadsheet, dan aplikasi Windows lainnya. Kita dapat menambahkan aplikasi otomatisdan objek yang dibuat menggunakan edisi Profesional atau edisi Enterprise dari Visual BASIC. c. Kemampuan Internet memberikan kemudahan untuk menyediakan akses ke dokumen dan aplikasi melalui internet atau intranet dari dalam maupun luar aplikasi yang telah selesai, atau untuk membuat aplikasi server internet. d. Aplikasi yang telah selesai merupakan file dengan ekstension.exe yang menggunakan Visual Basic Virtual Machine yang dapat kita distribusikan secara gratis. (Sumber:Adi Kurniadi, 1999. Pemograman Microsoft Visual Basic 6)
II - 24
2.8 Unified Modelling Language (UML) UML adalah suatu bahasa untuk membuat model dari suatu sistem dengan menggunakan teknik pendiagraman. Berikut adalah diagram-diagram utama yang terdapat pada UML beserta elemen-elemennya
yang digunakan dalam
perancangan sistem KP ini. 2.8.1 Use Case Diagram Digunakan untuk memodelkan interaksi dari suatu sistem informasi dengan lingkungannya. Dalam hal ini, proses-proses yang ada pada sistem tersebut baik dengan end-user maupun sistem eksternal lainnya. Tabel 2.17: Elemen-elemen use case diagram No.
Elemen
1.
Use Case
Simbol Keterangan
Deskripsi dari apa yang dilakukan oleh sistem. Sebuah use case mengandung skenario yang menjelaskan urutan kejadian pada use case tersebut.
2.
Package
Pengelompokan elemen-elemen pemodelan. Package digunakan dalam diagram use case, class, dan component.
3.
Actor
Peran dari pemakai sistem yang berinteraksi dengan sistem pada use case. Actor dapat berupa makhluk hidup, alat, maupun sistem lainnya.
4.
Include
Bentuk ketergantungan antar use case, dimana use case utama mengambil perilaku use case lainnya pada lokasi tertentu secara eksplisit.
5.
Extend
Bentuk ketergantungan antar use case, dimana use case memperluas perilaku daripada use case utamanya.
II - 25
6.
Generalization
Bentuk hubungan secara taksonomi antara sebuah elemen yang lebih umum dengan elemen yang lebih spesifik.
7.
Association
Hubungan
yang
mengasosiasikan
dan
menunjukkan partisipasi dari sebuah actor ke sebuah use case.
2.8.2
Class Diagram Digunakan untuk merepresentasikan hal, ide, maupun konsep yang
terkandung pada sistem. Tujuan utamanya adalah untuk mengilustrasikan hubungan antar kelas-kelas yang ada. Tabel 2.18: Elemen-elemen class diagram No. Elemen 1.
Class
Simbol
Keterangan Setiap kelas regular yang terdapat dalam sistem.
2.
Actor
Peran yang dimiliki oleh pengguna sistem.
3.
Interface
Sebuah stereotip dari kelas yang hanya menawarkan operasi-operasi yang sifatnya public, tanpa adanya attribute dan method.
4.
Package
Pengelompokan kelas dengan/pada definisi tertentu.
5.
Utility Class
Kumpulan prosedur maupun variabel global diluar atribut dan operasi yang dimiliki oleh kelas.
6.
Generalization
Bentuk hubungan antara tipe super elemen dengan sub elemen, yang memiliki atribut yang sama.
II - 26
No. Elemen 7.
Simbol
Implementation
Keterangan Hubungan yang menunjukkan implementasi antara 2 elemen.
8.
Nested Link
Hubungan antar kelas-kelas yang bersarang.
9.
Boundary Class
Sebuah
elemen
yang
menunjukkan
penggunaan objek pembatas oleh actor untuk berkomunikasi dengan sistem. 10.
Control Class
Sebuah elemen yang menghubungkan objek pembatas dengan objek entitas. Objek yang menjadi elemen ini mengkoneksikan user ke data yang telah disimpan pada sistem.
11.
Entity Class
Sebuah elemen yang merupakan objek dari domain model. Objek ini melakukan pemetaan ke file dan database.
2.8.3
Sequence Diagram
Digunakan untuk memodelkan perilaku dari suatu objek yang terdapat pada use case berdasarkan urutan kejadian. Tabel 2.19: Elemen-elemen sequence diagram. No.
Elemen
1.
Lifeline
Simbol Keterangan Sebuah partisipan individual dalam proses interaksi yang merepresentasikan hanya satu entitas yang berinteraksi.
2.
Actor
Peran yang dimiliki oleh pengguna sistem.
3.
Synchronous
Sebuah pesan yang tidak kembali kepada
Message
pengirimnya sampai proses dari penerimanya
II - 27
telah selesai. 4.
Asynchronous
Sebuah pesan yang menghalangi atau menahan
Message
objek pemanggil, digunakan untuk membuat sebuah
objek
baru,
sebuah
thread
baru,
melakukan komunikasi dengan thread yang sudah ada. 5.
6.
Create
Sebuah
elemen
yang
memperbolehkan
Message
penciptaan sebuah lifeline maupun instan.
Message to Self
Sebuah pesan yang ditujukan untuk objek pengirim.
2.8.4
Collaboration Diagram Digunakan untuk memodelkan use case dengan melibatkan kumpulan
kelas yang memungkinkan, dimana nantinya kumpulan kelas tersebut mampu menampilkan fungsionalitas dari use case tersebut dengan sudut pandang dan tingkat abstraksi yang berbeda dari use case diagram. Tabel 2.20: Elemen-elemen collaboration diagram. No.
Elemen
1.
Lifeline
Simbol Keterangan Sebuah
partisipan
individual
dalam
proses
interaksi yang merepresentasikan hanya satu entitas yang berinteraksi. 2.
Actor
Sebuah peran yang dijalankan oleh pengguna sistem.
3.
Connector
Hubungan yang spesifik yang memperbolehkan komunikasi antara 2 atau lebih instan.
II - 28
2.8.5 Activity Diagram Digunakan untuk mengilustrasikan alur kerja kelas-kelas dari suatu use case. Tabel 2.21: Elemen-elemen activity diagram. No.
Elemen
Simbol Keterangan
1.
Invocation
Penggunaan perilaku dalam sebuah aktifitas.
2.
Activity Edge
Sebuah kelas abstrak untuk koneksi berarah antara 2 simpul aktifitas.
3.
Activity Group
Kumpulan dari invocation node dan activity edge dalam suatu aktifitas.
4.
Initial Node
Sebuah simpul kontrol yang menandakan awal dari aktivitas.
5.
6.
Activity Final
Sebuah simpul kontrol yang menandakan akhir
Node
dari aktifitas.
Flow Final
Simpul yang melakukan terminasi terhadap sebuah alur dan menghancurkan semua tanda yang sampai pada simpul tersebut.
7.
Decision
Sebuah
simpul
kontrol
yang
melakukan
pemilihan terhadap alur yang ada.
2.8.6
State Diagram Digunakan untuk mengilustrasikan keadaan kelas-kelas dari sebuah
aktifitas pada suatu use case. Tabel 2.22: Elemen-elemen state diagram. No.
Elemen
Simbol Keterangan
II - 29
1.
Simple State
Sebuah kondisi atau situasi dari sebuah objek selama siklus hidupnya, yang menandakan objek tersebut
sedang
memenuhi
suatu
kondisi,
mengerjakan suatu aktifitas, maupun menunggu suatu kejadian. 2.
State
Sebuah hubungan antara 2 buah state.
Transition 3.
Initial State
Sebuah state khusus yang menandakan awal dari keseluruhan state.
4.
Final State
Sebuah state khusus yang menandakan akhir dari keseluruhan state.
(Sumber: Bennett, S., McRobb, S., & Farmer, R. Object Oriented System Analysis and Design using UML, 2006)