Sejarah Singkat SMS Perintah AT AT Command

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