6 BAB 2 LANDASAN TEORI
2.1 Teori Umum 2.1.1
SMS SMS atau Short Message Service merupakan salah satu media yang paling banyak digunakan sekarang ini dikarenakan murah dan prosesnya cepat, langsung kepada tujuan. SMS merupakan salah satu fitur dari GSM, yang dikembangkan dan distandarisasi oleh ETSI. Meskipun telah banyak pula fitur-fitur dari GSM seperti EMS, MMS, dan GPRS, keberadaan jasa dan industri yang menggunakan SMS khususnya semakin lama semakin banyak dijumpai. Hal itu juga didukung oleh faktor hardware yang semakin hari semakin terjangkau.
2.1.1.1 Sejarah SMS SMS pertama kali dikirim oleh sebuah Personal Computer ke telepon seluler yang berada di bawah jaringan Vodafone, Inggris, tahun 1992. Setelah itu, penggunaan SMS sebagai cara berkomunikasi langsung meningkat. Pada tahun 2002, penggunaan SMS di seluruh dunia mencapai angka 430 miliar. Harian The Guardian di Inggris sempat melakukan kompetisi penulisan puisi melalui SMS yang diikuti 8.000 peserta. Hasilnya menakjubkan, meski hanya memiliki 160 karakter, kreativitas manusia ternyata bisa lebih tersalurkan.
7 2.1.1.2 Definisi SMS Short Message Service (SMS)
menurut [1] Network Elements And
Architecture. http://funsms.net/sms_tutorial.htm adalah sebuah mekanisme penyampaian pesan pendek dalam jaringan bergerak. SMS saat ini menjadi sebuah fitur mendasar dari setiap telepon seluler. Fitur SMS baru berjalan ketika terdapat operator telepon seluler (operator provider) yang menyediakan layanan ini. SMS memungkinkan dua orang yang memiliki telepon seluler dapat saling mengirimkan pesan teks satu sama lain. Dengan perkembangan teknologi informasi saat ini, penggunaan maupun pengembangan fitur-fitur SMS sendiri telah menjadi sangat beragam. Mulai dari keperluan kuis, berita umum, promosi produk, iklan, dan lain sebagainya. Hal ini dapat terjadi karena data maupun proses pengolahan SMS telah dapat diintegrasikan dengan komputer maupun internet, sehingga dapat diprogram untuk berbagai keperluan. Teknologi yang mendukung SMS antara lain adalah GSM, TDMA dan CDMA. Dengan didukung oleh ketiga teknologi ini, SMS telah menjadi layanan data bergerak yang bersifat universal. Protokol yang bekerja pada SMS ini lebih dikenal dengan nama Protocol Data Unit (PDU).
2.1.1.3 Mekanisme Kerja SMS SMS mampu mengirim/menerima data antar jaringan operator seluler secara terus-menerus. SMS bahkan tidak mengenal batasan wilayah, artinya SMS dapat dikirim atau diterima di seluruh dunia. Pada gambar 2.1 berikut
8 menunjukkan elemen-elemen yang terdapat dalam sebuah jaringan operator seluler.
Gambar 2.1 Elemen-elemen pada jaringan operator seluler [2] http:// kristalproject.com/articles/sms.html
Short Message Service Center (SMSC) bertugas untuk menerima dan meneruskan pesan dari dan ke telepon seluler. SMSC dibangun oleh beberapa Short Message Entity (SME) yang dapat diletakkan dalam sebuah jaringan atau telepon seluler. Mobile Switching Center (MSC) bertugas mengendalikan koneksi antara telepon seluler dengan jaringan operator seluler. Gateway Mobile Switching Center (GMSC) adalah sebuah gerbang MSC yang juga dapat menerima pesan berupa sebuah sistem kontak yang berhubungan dengan jaringan lain. Dalam menerima pesan dari SMSC, GMSC menggunakan jaringan SS7 (Signaling System 7) dalam sistem Home Location Register (HLR). HLR adalah database utama dalam sebuah jaringan operator seluler. Sistem ini memegang kendali atas informasi nomor-nomor telepon seluler dan juga tentang alur informasi dari setiap nomor telepon seluler, misalnya informasi atas wilayah jangkauan.
9 Visitor Location Register (VLR) berkorespondensi terhadap setiap MSC. VLR berisi informasi tentang identitas telepon seluler. Dengan bantuan VLR, MSC dapat meneruskan informasi pesan pendek kepada Base Station System (BSS), dimana kemudian BSS akan meneruskannya ke telepon seluler penerima. 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 dari 160 karakter) telah dikembangkan. Tetapi fitur-fitur ini belum diimplemetasikan oleh semua jaringan operator seluler di dunia.
2.1.1.4 Aplikasi SMS SMS pada awalnya didesain untuk pertukaran pesan sederhana yang berukuran kecil. Akan tetapi, dengan perkembangan pesat SMS, kemudian bermunculan berbagai jenis aplikasi yang memanfaatkan fasilitas SMS. Sifat transmisi SMS yang berupa short burst membuat jenis aplikasi yang memanfaatkan SMS biasanya berupa aplikasi pengiriman data yang ringkas dan pendek. Sifat perangkat SMS yang mobile dan dapat mengirimkan informasi dari mana saja selama masih dalam cakupan layanan operator, memunculkan aplikasi lapangan di mana informasi-informasi pendek yang dikumpulkan dari lapangan dikirimkan secara berkala kepada pusat pengolahan informasi. Di bidang transportasi, aplikasi ini diterapkan untuk melakukan tracking terhadap keberadaan armada angkutan yang sedang berada di jalanan. Untuk keperluan pemantauan kondisi cuaca di lapangan juga dapat ditempatkan perangkat-
10 perangkat pemantau yang secara periodik mengirimkan catatan kondisi cuaca setempat serta temperatur udara dan kelembaban. Aplikasi lainnya berupa remote reading yang dapat diterapkan oleh perusahaan listrik atau perusahaan air. Pembacaan pengukur penggunaan listrik atau air dapat dilakukan dari jarak jauh dengan memasang perangkat berkapabilitas SMS pada pengukur yang ada pada pelanggan. Perangkat ini secara periodik, akan mengirimkan informasi pembacaan pengukur pelanggan sehingga pengumpulan data dapat dilakukan secara massal. Dengan begini, tidak perlu lagi harus ada petugas yang berkeliling mencatat pengukur yang selain membutuhkan waktu yang lama juga rentan terhadap kecurangan-kecurangan di lapangan. Contoh aplikasi SMS lainnya adalah untuk aplikasi perbankan. baik itu yang hanya bersifat informasi satu arah maupun berupa transaksi interaktif. Transaksi melalui Automated Teller Machine (ATM) dan Internet dianggap lebih efisien dan murah dibandingkan datang langsung ke kantor cabang suatu bank. Internet bahkan lebih murah dari ATM bila dilihat dari waktu dan biaya yang bisa dihemat pada saat transaksi. Karena alasan inilah maka transaksi melalui SMS dapat menjadi alternatif lain untuk memberikan media transaksi yang sangat murah. Melalui SMS, pelanggan dapat melakukan pengecekan saldo tabungan di suatu bank, melakukan transfer, membayar tagihan, dan melakukan transaksi lainnya yang disediakan oleh bank. Di bidang hiburan, SMS dapat digunakan sebagai media untuk saling berkirim pesan humor maupun karakter-karakter text yang mempresentasikan sebuah gambar. Dapat juga dibentuk sebuah user-group di mana pengiriman
11 pesan ke grup sama artinya dengan pengiriman ke seluruh anggota grup tersebut. Aplikasi ini mirip mailing list dalam dunia email. Dalam interkoneksi antara jaringan SMS dengan internet, sudah ada aplikasi-aplikasi internet yang menggunakan aplikasi SMS, seperti mail-to-SMS dan SMS-to-mail. Aplikasi ini memungkinkan orang untuk mengirim atau menerima email melalui telepon seluler yang dibawanya. Pada umumnya layanan penerimaan email melalui SMS hanya berupa notifikasi. Layanan ini membuat orang dapat dengan mudah mengirim email dari manapun dia berada, tidak perlu harus dial-up ke ISP atau mencari warnet. Kemudahan dan kepraktisan yang ditawarkan oleh fasilitas SMS memungkinkan dikembangkannya berbagai aplikasi lain yang berbasis SMS. Akan tetapi, sukses aplikasi berbasis SMS sangat tergantung pada permintaan, minat, dan kebutuhan penggunanya.
2.1.1.5 Manfaat SMS Sedikitnya, SMS mempunyai beberapa manfaat sebagai berikut : [3] Wire SMS. http://www.visualgsm.com/wire_sms_topic02.htm •
Laporan dari pesan yang sudah sampai (delivered).
•
Jaminan bahwa pesan pasti sampai.
•
Mekanisme komunikasi yang murah dan dapat dipercaya untuk informasi yang ringkas.
•
Kemampuan untuk menampilkan dan mengembalikan pesan dengan cara yang selektif.
12
2.1.2
•
Meningkatkan produktivitas subscribers (pelanggan).
•
Pengiriman pesan ke beberapa subscriber secara bersamaan.
•
Kemampuan untuk menerima informasi yang berbeda.
•
Generasi email.
•
Pembuatan user-group.
•
Integrasi dengan data lain serta aplikasi berbasis internet.
SMSC
2.1.2.1 Definisi SMSC Elemen utama dalam jaringan SMS adalah SMSC, dimana di dalamnya terdapat berbagai proses pengolahan short message. SMSC yang kepanjangan dari Short Message Service Center merupakan sebuah alat yang berada dalam sebuah jaringan wireless service provider yang dapat me-routing semua SMS. Seperti sebuah email server, SMSC dapat menangani banyak pertukaran SMS antara dua telepon seluler ataupun dari sebuah telepon seluler dengan sebuah aplikasi software. [4] http://www.usshortcodes.com/content/csc_faq_glos.html. Program SMSC secara khusus melibatkan pesan-pesan yang didikte oleh operator. Pesan ini dicatat pada komputer dan dikirim ke pelanggan. Proses penyimpanan dan pengiriman telah diatur sedemikian rupa sehingga pelanggan yang mematikan telepon selulernya atau yang berada di luar wilayah cakupan masih dapat menerima pesan tersebut.
13 2.1.2.2 Mekanisme Kerja SMSC Prinsip kerja sebuah SMSC adalah store and forward. [5] Short Message Service Center. http://en.wikipedia.org/wiki/Short _message _service _center. Dengan prinsip ini, seluruh pesan yang masuk akan langsung ditampung tanpa melihat status keberadaan tujuan. Penyampaian ke tujuan akan dilakukan kemudian dengan terlebih dahulu mengidentifikasi tujuan dengan mengurutkan entitas-entitas yang terlibat. Jika nomor tujuan tak terjangkau, maka SMSC akan mengulanginya sampai terkirim, selama jangka waktu yang sudah ditetapkan. Apabila sudah melebihi dari jangka waktu, pesan akan dihapus. Lama waktu SMS dapat ditampung di dalam SMSC sebelum dapat diterima oleh pelanggan merupakan parameter yang dapat diatur di dalam SMSC. Sebuah SMSC harus memiliki keandalan yang tinggi, kapasitas yang cukup, dan harus bersifat fleksibel agar dapat mengakomodasi pertumbuhan permintaan layanan SMS. Faktor lain yang juga harus diperhatikan adalah aplikasi tersebut harus dapat dioperasikan dengan mudah, begitu juga pemeliharaannya. Dari perspektif SMSC, minimal ada dua buah antarmuka ke entitas lainnya. Kedua antarmuka ini adalah antarmuka ke Mobile Switching Center (MSC) yang menghubungkan SMSC ke jaringan wireless, dan antarmuka ke jaringan IP yang menghubungkan SMSC dengan entitas-entitas penyedia layanan konten SMS yang disebut juga ESME. Pada arsitektur dasar, koneksi dan komunikasi antara SMSC dan MSC menggunakan sebuah protokol signaling yang umum digelar dalam jaringan telepon bergerak, yaitu Signaling System 7 (SS7), sedangkan protokol komunikasi yang digunakan pada level aplikasi untuk
14 menghubungkan SMSC dengan ESME adalah Short Message Peer-to-Peer Protokol (SMPP). Pada awalnya SMPP merupakan sebuah protokol yang bersifat propietary milik Logica, perusahaan yang menggeluti bisnis perangkat SMSC. Oleh sebuah forum bernama SMS Forum, SMPP dijadikan standar yang bersifat terbuka dan digunakan sebagai protokol untuk menghubungan berbagai perangkat pendukung sistem SMS dalam sebuah jaringan SMS. Penjelasan detail mengenai protokol SMPP akan diberikan pada sub-bab selanjutnya. Menurut [6] SMSC. http://www.nowsms.com/discus/messages/1/ 72.html sebuah SMSC membutuhkan: •
GSM Modem Sebuah GSM modem atau sebuah handphone ataupun telepon yang tersambung dengan sebuah serial port pada PC.
•
SMPP (Short Message Peer to Peer Protocol) Sebuah TCP/IP yang tersambung dengan internet atau sebuah private network ke sebuah servis yang mensupport protokol SMPP v3.3 atau v3.4.
•
UCP/EMI (Universal Computer Protocol/External Machine Interface) Sebuah TCP/IP yang tersambung dengan internet atau sebuah private network ke sebuah servis yang mensupport protokol UCP/EMI v3.3 atau v3.4.
15 •
HTTP (Hyper Text Transport Protocol) Sebuah TCP/IP yang tersambung dengan internet atau sebuah private network ke sebuah servis yang dapat menerima SMS melalui sebuah protokol HTTP “GET” based.
2.1.3
ESME
2.1.3.1 Definisi ESME ESME yang merupakan kepanjangan dari External Short Messaging Entities, dapat dikatakan entitas dalam sistem SMS yang dapat berada pada jaringan, berupa perangkat bergerak, atau merupakan service center 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 didalamnya termasuk internet.
2.1.3.2 Contoh ESME Beberapa macam ESME menurut [7] Rozidi, Romzi I.. 2004. Membuat Sendiri SMS Gateway Berbasis Protokol SMPP. Penerbit Andi di antaranya adalah: •
Voice Mail System (VMS) VMS merupakan perangkat yang berfungsi untuk menerima, menyimpan, dan menjalankan voice message, yang ditujukan untuk pelanggan yang sedang sibuk dan tidak dapat dihubungi.
16 •
Web Web merupakan sebuah layanan yang sangat populer pada jaringan data terutama internet. Pesatnya perkembangan internet dengan jumlah pertumbuhan penggunanya yang juga sangat tinggi, membuat internet sebagai sebuah entitas dalam sistem SMS yang banyak membangkitkan trafik SMS.
•
Email Email merupakan salah satu layanan yang paling banyak digunakan dalam internet. SMS harus dapat mendukung intekoneksi dengan teknologi email. Untuk itu kemudian muncul layanan yang juga cukup banyak digemari, yaitu mail-to-sms dan sms-to-mail.
2.1.4
SMS Gateway
2.1.4.1 Definisi SMS Gateway Seperti kita telah ketahui diatas bahwa SMS adalah fasilitas yang digunakan untuk mengirim pesan singkat melalui nomor telepon seluler tertentu. Sedangkan Gateway (gerbang) adalah suatu perangkat hardware yang dioperasikan dengan berbagai software yang digunakan untuk menghubungkan dan menerjemahkan dua atau lebih arsitektur yang berbeda, misal: mainframe dengan PC, GSM dengan PC menggunakan Sistem Operasi Linux RedHat 9. Dari dua penjelasan tersebut maka kita dapat menyimpulkan definisi dari SMS Gateway, yaitu merupakan suatu sistem komputer yang berfungsi sebagai
17 jembatan antara suatu sistem komputer dan SMS GSM Center dari operator seluler.
2.1.4.2 Fungsi SMS Gateway SMS Gateway digunakan untuk mengirim pesan singkat (160 karakter), logo operator , ring tone, business card dan lainnya ke sebuah telepon seluler. [8] Hiren Visawadia. Kannel. http://www.magnet-i.com/pdf/kannel.pdf Ketika SMS Gateway digunakan, klien mengirim sebuah pesan SMS ke sebuah nomor, dimana intinya mengirim ke sebuah SMS Center yang dapat menanganinya untuk nomor tersebut. SMS Center ini kemudian mengirim pesan tersebut ke penerima spesifik di dalam intranet maupun internet, dengan menggunakan protokol yang spesifik. Sebagai contohnya, Nokia SMS Center menggunakan protokol CIMD. Karena setiap SMS Center menggunakan protokol-protokol yang berbeda, sebuah SMS Gateway digunakan untuk menangani hubungan koneksi antar beberapa SMS Center sehingga di antara setiap SMS Center yang ada, dapat saling mengerti dan terjadi koneksi yang benar. SMS Center bisa juga berupa provider seluler, seperti Satelindo, Telkomsel, IM3, ProXL dan Content Provider dimana Content Provider adalah perusahaan yang menyediakan aplikasi dan data yg diminta oleh konsumen, misalnya bank, penyedia kuis, dsb. Jadi salah satu fungsi utama SMS gateway adalah menerjemahkan message request dari suatu SMS Center atau provider menjadi message request yang dapat dimengerti oleh SMS Center lainnya dimana bertindak sebagai
18 penerima. Misalnya salah satu SMS Center menggunakan SMPP, dan SMS Center lainnya menggunakan HTTP. Jika saja tidak ada SMS gateway di tengahtengahnya, maka kedua SMS Center tidak akan saling mengerti. Dengan adanya SMS gateway, masing-masing pihak tetap menggunakan formatnya sendirisendiri, dan SMS gateway adalah pihak yang akan menerjemahkan pesan-pesan itu. Laporan yang dapat dihasilkan oleh aplikasi SMS Gateway adalah sbb : [9] http://www.muze.co.id/home.asp?act=product&id=662004
2.1.5
1.
Laporan pesan yang diterima
2.
Laporan pesan yang dikirim
3.
Laporan pesan yang dikirim dan diterima
4.
Laporan trafik pesan.
SMPP SMPP merupakan kepanjangan dari Short Message Peer to Peer Protocol adalah sebuah protokol standard messaging yang dirancang untuk memudahkan integrasi sebuah aplikasi data dengan wireless mobile network seperti GSM, TDMA, CDM, dan PDC. Protokol ini secara luas terdapat di sebuah industri telekomunikasi bergerak. [10] http://smsforum.net/smf/ index.php?PHPSESSID= 7ba786c7aa75d07dcae0b4aa970abf00&topic=269.msg617 SMPP merupakan sebuah protokol standar industri yang digunakan dalam pertukaran pesan antara External Short Messaging Entity (ESME), Routing Entity (RE), dan Message Center (MC).
19 Message Center merupakan terminologi generik untuk menyebutkan beberapa entitas seperti Short Message Service Center (SMSC), GSM Unstructured Supplementary Services Data (USSD) Server, atau Cell Broadcast Center (CBC). ESME, yang merupakan entitas yang berada di luar jaringan komunikasi wireless, berfungsi sebagai terminal penyedia layanan berbasis SMS seperti WAP Proxy Server, Email Gateway, atau Voice Mail Server. Routing Entity merupakan nama generik yang diberikan untuk menyebut beberapa entitas dalam sistem yang berfungsi melakukan routing SMS baik antar Message Center maupun antara Message Center dengan ESME. Routing Entity akan bertindak sebagai emulator entitas di mana dalam komunikasi antara Message Center dan ESME, routing entity bagi ESME akan tampak sebagai MC, dan sebaliknya routing entity bagi MC akan tampak sebagai ESME.
Gambar 2.2 Contoh penggunaan aplikasi dari SMPP [11] SMPP (2-Way-SMS Protocol). http://www.wirelessbrasil.org/wirelessbr/colaboradores/silvino/smpp02.html
20 SMPP pertama kali dibuat oleh Aldiscon, sebuah perusahaan kecil Irlandia yang kemudian dikembangkan lagi oleh Logica untuk mendukung produknya yang berupa perangkat SMSC. Seiring perkembangan layanan SMS yang cukup pesat, protokol ini kemudian diadopsi secara luas oleh berbagai kalangan baik dari kalangan industri maupun pengembang aplikasi dan dijadikan protokol standar. Tahun 1999, SMPP ditangani secara serius oleh SMPP Developers Forum, yang kemudian berganti nama menjadi SMS Forum. Versi dari SMPP yang sering digunakan adalah versi 3.3. (versi yang telah mendukung semua standar yang diperlukan) dan versi 3.4. (versi yang telah ditambah transceiver support dimana sebuah koneksi dapat mengirim dan menerima pesan). Versi terakhir dari SMPP adalah versi 5.0. [12] Short Message Peer-to-Peer Protocol. http://en.wikipedia.org/wiki/Short_Message_Peer-to-Peer Protocol Protokol ini berdasarkan dari pasangan sebuah permintaan PDU (protocol data unit atau paket) yang bertukar di dalam layer 4 dalam OSI Layer. PDU adalah binary encoded yang digunakan untuk efisiensi memory. Protokol SMPP merupakan sebuah protokol yang berjalan pada Application layer, seperti halnya protokol-protokol lain dalam konteks komunikasi data dalam jaringan komputer (seperti HTTP, FTP, Rlogin, WAP, dan lain-lain). Satuan paket data yang dipertukarkan pada lapisan aplikasi dalam protokol SMPP disebut PDU (Protocol Data Unit). Dalam protokol SMPP terdapat beberapa macam format PDU dimana penggunaan masing-masing PDU tersebut harus sesuai dengan fungsinya. Sebagai contoh, untuk mengirim pesan, harus digunakan PDU dengan format submit_sm, deliver_sm, atau data_sm.
21 Secara umum cara pengiriman data dari satu titik ke titik lain yang dilakukan oleh protokol SMPP, menganut prinsip-prinsip berikut: •
Dalam komunikasi SMPP antara dua titik, salah satu titik harus bertindak sebagai server dan titik lainnya sebagai client.
•
Inisiatif koneksi dan pembentukan sebuah session dilakukan oleh client. Jenis session yang dipilih sepenuhnya diserahkan kepada client (otorisasi diterima atau tidak tetap dipegang oleh server). Terdapat tiga buah session yang dapat dipilih, yaitu RX (Receiver) bila client ingin dapat menerima paket data. TX (Transmitter) bila client ingin dapat mengirim paket data, atau TRX (Transceiver) bila client ingin dapat mengirim dan menerima paket data.
•
Server bila ingin mengirimkan paket data kepada client harus menggunakan format PDU deliver_sm, sedangkan bila client ingin mengirimkan paket data kepada server harus menggunakan format PDU submit_sm. Format PDU yang dapat digunakan bersama untuk saling bertukar data yang berisi pesan adalah data_sm.
•
Sebuah proses transaksi pengiriman data (apa pun jenis format PDU-nya) terdiri dari dua tahap, yaitu pengiriman paket data utama dan respons pada arah sebaliknya. Sebagai contoh, bila server mengirim data menggunakan format PDU deliver_sm maka client harus membalasnya dengan menggunakan format PDU deliver_sm_resp. Sebaliknya, bila client mengeluarkan submit_sm, maka server harus membalasnya dengan submit_sm_resp.
22 Pada umumnya sebuah Message Center akan bertindak sebagai SMPP server, sedangkan ESME akan menjadi SMPP client. Message Center merupakan sebuah entitas yang bersifat tetap, baik secara fungsi maupun ecara fisik sehingga lebih cocok untuk menjadi SMPP server. Server cenderung bersifat pasif dan menunggu client untuk melakukan koneksi. ESME merupakan sebuah entitas yang berfungsi pada level aplikasi dan tidak berkontribusi langsung pada sebuah sistem layanan SMS. ESME dapat dianggap sebagai enduser dalam konfigurasi layanan SMS sehingga keberadaannya bersifat tetap. Bila ESME ada, maka layanan konten SMS dapat diadakan. Akan tetapi, bila ESME tidak ada, layanan SMS tetap dapat berfungsi sekalipun tidak ada entitas penyedia konten SMS. Operasi protokol SMPP, berdasarkan karakteristik format PDU-nya, dikategorikan dalam beberapa kelompok, yaitu: •
Session Management Meliputi operasi-operasi dalam protokol SMPP yang berfungsi dalam pembentukan session antara ESME dan Message Center, sekaligus menangani bentuk-bentuk error yang mungkin terjadi pada proses pembentukan session tersebut. PDU yang termasuk kategori ini antara lain bind_transmitter, bind_transmitter_resp, bind_receiver,
bind_receiver_resp,
bind_transceiver_resp, enquire_link, generic_nack.
outbind,
enquire_link_resp,
unbind,
bind_transceiver, unbind_resp,
alert_notification,
dan
23 •
Message Submission Meliputi operasi-operasi dalam protokol SMPP yang khusus ditujukan bagi pengiriman pesan dari ESME ke Message Center (dalam hal ini Message Center berlaku sebagai SMPP Server). PDU
yang
termasuk
kategori
ini
adalah
submit_sm,
submit_sm_reso, submit_multi, submit_multi_resp, data_sm, dan data_sm_resp. •
Message Delivery Meliputi
operasi-operasi
dalam
protokol
yang
khusus
diperuntukkan bagi pengiriman pesan dari Message Center ke ESME (dalam hal ini ESME berlaku sebagai SMPP Client). PDU yang
termasuk
dalam
kategori
ini
adalah
deliver_sm,
deliver_sm_resp, data_sm, dan data_sm_resp. •
Message Broadcast Meliputi operasi-operasi dalam protokol SMPP yang dikhususkan bagi keperluan pengiriman pesan secara broadcast dalam suatu cakupan Message Center. PDU yang termasuk dalam kategori ini adalah broadcast_sm, dan broadcast_sm_resp.
•
Ancillary Operation Meliputi operasi-operasi dalam protokol SMPP yang berfungsi menyediakan
fungsi-fungsi
tambahan
seperti
pembatalan
pengiriman pesan, pemeriksaan kiriman, dan penggantian pesan yang telah dikirimkan. PDU yang termasuk dalam kategori ini
24 adalah cancel_sm, cancel_sm_resp, query_sm, query_sm_resp, replace_sm,
replace_sm_resp,
cancel_broadcast_sm_resp,
cancel_broadcast_sm,
query_broadcast_sm,
dan
query_broadcast_sm_resp. IANA memberikan sebuah default port untuk SMPP, yaitu 2775. Sebuah operator dapat memilih sendiri port yang berbeda untuk SMPP Server . Koneksi SMPP biasanya cocok dan digunakan untuk pelanggan dengan isi pesan yang besar dan sebuah aplikasi SMS yang terus berkembang.
2.2
Teori Khusus
2.2.1
Protocol Data Unit (PDU) Terdapat 2 cara dalam mengirim dan menerima SMS, yaitu dengan cara teks dan PDU. Cara teks hanya digunakan pada beberapa model telepon seluler. Cara teks ini hanya merupakan cara penyandian arus bit yang diwakili PDU. Jika cara ini diterapkan, aplikasi harus membatasi dengan menetapkan pilihan penyandian. Jika cara PDU digunakan, penyandian apapun dapat diterapkan. PDU tidak hanya berisi pesan saja, tetapi juga banyak informasi tentang pengirim. Mulai dari nomor pengirim, nomor SMSC pengirim, waktu berlaku SMS, dan lain sebagainya. Semuanya dibangun dalam bentuk bilangan-bilangan heksadesimal. Setiap pengiriman SMS akan melalui proses konversi ke format PDU, demikian juga saat menerima SMS. PDU untuk mengirim SMS dengan PDU untuk menerima SMS adalah berbeda. Pada sub-sub-sub bab 2.2.1.1 akan dijelaskan struktur data SMS SUBMIT (mengirim SMS). Pada sub-sub-sub bab 2.2.1.2. akan dijelaskan struktur data PDU dari SMS DELIVER (SMS diterima).
25 Sementara pada sub-sub-sub bab 2.2.1.3 akan dijelaskan tujuan dan format setiap bagian/parameter dalam struktur data PDU SMS Submit dan SMS Deliver.
2.2.1.1 PDU untuk mengirim SMS Sebelum sampai pada penerima, pesan pendek yang akan dikirim akan melalui SMSC (tidak dalam bentuk asalnya, tetapi dikonversi terlebih dahulu dalam bentuk format PDU, yang terdiri atas gabungan bilangan heksadesimal). Secara umum, PDU untuk mengirim SMS terdiri atas 8 bagian. Pada gambar 2.2 berikut dapat dilihat susunan bagian data SMS Submit Pada gambar 2.2 dapat dilihat bahwa bagian-bagian data merupakan sebuah parameter.
Gambar 2.3 Struktur data SMS Submit [2] http:// kristalproject.com/articles/sms.html
2.2.1.2 PDU untuk menerima SMS SMS yang diterima tidak berasal langsung dari pengirim, tetapi berasal dari SMS Center. Jadi, sebelum SMS sampai pada penerima, sebenarnya SMS masuk terlebih dahulu di SMS Center, barulah kemudian SMS Center meneruskannya pada penerima. Pada gambar 2.4 berikut dapat dilihat susunan bagian data SMS Deliver. Dapat dilihat pada gambar 2.4 bahwa bagian data
26 merupakan sebuah parameter. Parameter-parameter yang terdapat dalam setiap bagian akan dijelaskan dalam sub-sub-sub bab 2.2.1.3.
Gambar 2.4 Struktur data SMS Deliver [2] http:// kristalproject.com/articles/sms.html
2.2.1.3 Penjelasan parameter Seperti yang telah dijelaskan sebelumnya, struktur data SMS Submit dengan SMS Deliver adalah berbeda. Meskipun demikian, terdapat beberapa bagian parameter yang sama diantara keduanya. Berikut akan dijelaskan maksud dan format data untuk setiap parameter. a. Informasi Service Center Address (SCA) atau nomor SMS Center. Struktur data informasi SCA dapat diperlihatkan dalam gambar 2.5 berikut ini.
Gambar 2.5 Struktur data SCA [2] http:// kristalproject.com/articles/sms.html
27 Pada gambar 2.5 terlihat bahwa SCA terbagi atas 3 bagian kecil, yaitu: •
Lebar data SMS Center, yaitu jumlah pasangan heksadesimal SMS Center. dalam bilangan heksa.
•
Kode nasional/internasional. Untuk nasional kode heksanya 81, sementara untuk internasional kode heksanya 91.
•
Nomor SMS Center itu sendiri disusun dalam pasangan heksadesimal secara acak. Jika tersisa satu angka heksa yang tidak memiliki pasangan, angka tersebut akan dipasangkan dengan huruf F didepannya. Contoh: nomor SMSC Excelcom yang ditulis dalam format internasional: 62818445009 diubah menjadi: o 07 Æ ada 7 pasang. o 91 Æ 1 pasang (untuk kode internasional). o 26-18-48-54-00-F9 Æ 6 pasang (nomor SMS Center itu sendiri diacak secara berpasangan. Total dari kode nasional dan nomor SMS Center itu ada 7 pasang).
Sehingga diperoleh kode PDU-nya adalah: 07912618485400F9 b. Protocol Data Unit Type (TPDU) atau tipe SMS. TPDU menunjukkan dengan tipe apa sebuah SMS akan dikirimkan/diterima. Setiap SMSC dalam sebuah jaringan operator belum tentu mendukung semua tipe PDU ini. Biasanya, setiap SMSC memiliki standar TPDU sendiri-sendiri. Meskipun dapat saling berbeda, setiap SMSC juga harus memperhatikan beberapa hal yang bersifat standar, seperti kode SMS Submit atau kode SMS Deliver. TPDU terdiri atas 8 bit data atau 1 nilai oktal. TPDU untuk SMS
28 Submit dengan TPDU untuk SMS DELIVER memiliki format yang berbeda. Perbedaan ini ditunjukkan dalam gambar 2.3 dan 2.4.
Setiap parameter
memiliki tujuan tertentu. Parameter-parameter yang terdapat dalam TPDU antara lain: •
Replay Path (RP). Jika bernilai 0 berarti alur jawab (reply path) tidak diset dalam PDU ini. Sementara jika bernilai 1 berarti alur jawab diset dalam PDU ini.
•
User Data Header Indicator (UDHI) 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.
•
Status Report Indication (SRI) SRI hanya diset oleh Short Message Entity (SME). Jika bernilai 0 berarti status laporan tidak akan dikembalikan ke SME. Jika bernilai 1 berarti status laporan akan dikembalikan ke SME.
•
Status Report Request (SRR) Jika bernilai 0 berarti tidak ada permintaan status report. Jika bernilai 1 berarti ada permintaan status laporan.
•
Validity Period Format (VPF) VPF menempati bit 4 dan bit 3. Ada 4 kemungkinan nilai dari VPF, yaitu: o
00, berarti isi Validity Period (VP) tidak ada.
o
01, berarti Reserved.
o
10, berarti isi VP memiliki format integer (relatif).
29 o •
11, berarti isi VP memiliki format semi-oktal (pasti).
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.
•
Reject Duplicates (RD) Jika bernilai 0 berarti SMSC dapat menerima SMS Submit dengan Message Reference (MR) dan Destination Address (DA) yang sama seperti pada pengiriman sebelumnya. Jika bernilai 1, berarti sebaliknya.
•
Message Type Indicator (MTI) MTI menempati bit 1 dan bit 0. Ada 4 kemungkinan isi dari MTI, yaitu: o
00, menunjukkan SMS Deliver atau SMS Deliver Report.
o
01, menunjukkan SMS Submit atau SMS Submit Report.
o
10, menunjukkan SMS Status Report.
o
11, berarti Reserved.
Secara umum, untuk SMS Submit, TPDU ini diset dengan nilai 01, sementara untuk SMS Deliver, TPDU ini diset dengan nilai 04. c. Message Reference (MR) atau nomor referensi SMS. MR memiliki lebar data 8 bit atau 1 oktal. Nomer referensi ini dibangkitkan secara otomatis oleh telepon seluler. Untuk sementara diisi dengan 0, jadi bilangan heksanya adalah 00. d. Originator Address (OA) atau nomor telepon seluler pengirim. Cara konversi sama seperti cara konversi PDU untuk SMS Center.
30 e. Destination Address (DA) atau nomor telepon seluler penerima. Cara konversi sama seperti cara konversi PDU untuk SMS Center. f. Protocol Identifier (PID) atau bentuk SMS. 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 umum didukung oleh semua SMSC adalah sebagai berikut:
0 Æ dikirim sebagai SMS
1 Æ dikirim sebagai teleks.
2 Æ dikirim sebagai faks.
g. Data Coding Scheme (DCS) atau skema encoding data. DCS memiliki lebar data 8 bit atau 1 oktal. Ada 2 skema DCS, yaitu: • Skema 7 bit, ditandai dengan angka 0 Æ 00 • Skema 8 bit, ditandai dengan angka lebih besar dari 0, kemudian diubah ke heksadesimal. Skema 8 bit sama saja dengan tabel ASCII-HEX milik INTEL. Saat ini kebanyakan telepon seluler yang ada di pasaran menggunakan skema 7 bit. h. 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 gambar 2.4 berikut diperlihatkan struktur SCTS dalam 7 pasang heksadesimal yang diacak.
31
Gambar 2.6 Contoh SCTS [2] http:// kristalproject.com/articles/sms.html
Contoh diatas menunjukkan SCTS : 21 Mei 1997 13:45:33 dengan zona waktu +0 GMT. i. Validity Period (VP) atau jangka waktu validitas SMS. Jika bagian ini dilewati, itu berarti tidak ada batasan waktu berlakunya SMS. Sedangkan jika diisi dengan suatu bilangan integer yang kemudian diubah dalam heksadesimal, bilangan tersebut akan mewakili jumlah waktu validitas 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. Pada tabel 2.1 dapat dilihat cara menghitung jangka waktu validitas sebuah SMS yang akan dikirimkan dengan cara relatif (nilai integer harus diubah ke nilai heksadesimal). Integer(INT)
Jangka Waktu Validitas SMS
0-143
(INT+1) x 5 menit (berarti: 5 menit s/d 12 jam)
144-167
12 jam + ((INT-143) x 30 menit)
168-196
(INT-166) x 1 hari
197-255
(INT-192) x 1 minggu
Tabel 2.1 Jangka Waktu Validitas SMS [2] http:// kristalproject.com/articles/sms.html
32 j. User Data Length (UDL) atau lebar isi SMS. Menunjukkan lebar data atau jumlah huruf yang diwakili oleh pasangan heksadesimal isi SMS. k. User Data (UD) atau isi SMS. Berupa pasangan heksa. Ada dua langkah yang harus dilakukan untuk mengkonversikan isi SMS, yaitu: •
Mengubahnya menjadi kode 7 bit (dengan asumsi ponsel/gateway yang digunakan menggunakan skema 7 bit).
•
Mengubah kode 7 bit menjadi 8 bit, yang diwakili oleh pasangan heksa. Setiap manufaktur memiliki standar tabel konversi sendiri-sendiri
meskipun secara keseluruhan tetap harus ada kecocokan (kompatibel). Perusahaan-perusahaan pengembang ponsel seperti Nokia, Siemens, Wavecom, dan yang lain dapat memiliki standar tabel konversi yang sedikit berbeda satu sama lain. Misalnya, ada beberapa karakter yang terdapat dalam skema yang digunakan Nokia, tetapi tidak terdapat dalam skema yang digunakan oleh Siemens. Demikian juga sebaliknya. Pada tabel 2.2. diperlihatkan skema yang dipergunakan untuk melakukan konversi data isi SMS ke dalam kode 7 bit. Skema pada tabel tersebut adalah skema menurut Wavecom. Contoh penggunaan tabel 2.2 adalah sebagai berikut: •
Sebuah kata ‘hello’ akan dikirimkan. Kata ‘hello’ memiliki jumlah huruf 5. berarti parameter UDL dapat diisi dengan nilai 05. Selanjutnya, setiap huruf akan diambil kode 7 bitnya dari tabel 2.2, sehingga diperoleh seperti berikut:
Huruf ‘h’, kodenya: 110 1000
33
Huruf ‘e’, kodenya: 110 0101
Huruf ‘l’, kodenya: 110 1100
Huruf ‘l’, kodenya: 110 1100
Huruf ‘o’, kodenya: 110 1111
Total bit yang digunakan oleh kode adalah 7 bit x 5 huruf = 35 bit. Dari kode 7 bit, yang berisi 35 bit data ini, harus dikonversi ke dalam kode 8 bit sebelum menjadi nilai PDU yang siap dikirimkan. Cara mengubahnya yaitu dengan menambahkan sejumlah n bit bernilai 0 di sebelah kiri data kode 7 bit yang telah diperoleh. Nilai n diperoleh dari selisih antara jumlah bit dari kode 7 bit dengan kode 8 bit, yaitu (8 bit x 5 huruf) – (7 bit x 5 huruf) = 5 bit. Setelah penambahan bit, langkah selanjutnya adalah melakukan pergeseran bit hingga sesuai dengan format nilai heksa desimal. Kode akhirnya akan menjadi:
Huruf ‘h’, kodenya: 1110 1000
Huruf ‘e’, kodenya: 0011 0010
Huruf ‘l’, kodenya: 1001 1011
Huruf ‘l’, kodenya: 1111 1101
Huruf ‘o’, kodenya: 0000 0110
Nilai akhir heksadesimalnya menjadi seperti berikut: E8 32 9B FD 06.
34 Skema 7 Bit
b4 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
WAVECOM b3 b2 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1
b7 b6 b5 b1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 0 0 @ £ $ ¥ è é ù ì ò ç LF Ø ø CR Å å
0 0 1 1 ∆ _ φ Γ Λ Ω π ψ Σ Θ Ξ 1) Æ æ ß É
0 1 0 2 SP ! " # ¤ % & ` ( ) * + , . /
0 1 1 3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
1 0 0 4 ¡ A B C D E F G H I J K L M N O
1 0 1 5 P Q R S T U V W X Y Z Ä Ö Ñ Ü §
1 1 0 6 ¿ a b c d e f g h i j k l m n o
1 1 1 7 p q r S T U V W X Y Z Ä Ö Ñ Ü À
Tabel 2.2 Skema 7 Bit WAVECOM [13] Gunawan, Ferry. (2003). SMS Gateway Server dan Client dengan Java dan PHP. PT Elex Media Komputindo. Jakarta
2.2.2
AT Command Perintah AT (AT Command) digunakan untuk berkomunikasi dengan terminal melalui serial port pada komputer. Dengan menggunakan perintah AT, kita dapat mengetahui kekuatan sinyal dari terminal, mengirim pesan, menambahkan item pada buku alamat, mematikan terminal dan banyak fungsi lainnya. Setiap vendor biasanya memberikan referensi tentang daftar perintah AT yang
tersedia.
[14]
AT
Command
Set
Definition.
http://computing-
dictionary.thefreedictionary.com/AT%20command%20set. Tabel 2.3 berisi beberapa daftar perintah AT yang akan digunakan nanti.
35 Perintah AT AT+CMGS AT+CMGR AT+CMGD
Kegunaan Mengirim pesan Membaca pesan Menghapus pesan
Tabel 2.3 Daftar perintah AT yang digunakan Berikut adalah sintaks penulisan perintah AT yang digunakan : -
Menentukan Format Mode AT+CMGF=<Mode> Respons: OK
<Enter>
Format Mode : Mode 0 1
Keterangan Mode PDU Mode teks
Contoh : AT+CMGF=0 Respons: OK -
<Enter>
Menyimpan pesan ke SIM Card AT+CMGW=
<Enter> > pesan OK Respons: +CMGW: OK INDEX adalah nomor urut penyimpanan pesan Contoh : AT+CMGW=”6281314333821” > kirim sms OK Respons: +CMGW:1 OK
<Enter>
36 -
Mengirim pesan AT+CMGS= <Enter> > pesan OK Respons: +CMGS: OK INDEX adalah nomor urut pengiriman pesan Contoh : AT+CMGS=”6281314333821” > kirim sms OK Respons: +CMGS:1 OK
-
<Enter>
Membaca pesan AT+CMGR= <Enter> Respons: +CMGR:<Status>,,<Panjang pesan> OK INDEX adalah nomor urut pembacaan pesan yang didapat dari hasil respons +CMTI Contoh : AT+CMGR=1 Respons: +CMGR:1,,28 059126181642240C91261885980482000030503161 4034820AF4B23CDD0E83E6ED39
-
<Enter>
Menghapus pesan AT+CMGD= <Enter> Respons: OK INDEX adalah nomor urut pesan yang akan dihapus
37 Contoh : AT+CMGD=1 Respons: OK
<Enter>