BAHASA PEMROGRAMAN 4

46
Fakultas Teknologi Informasi Uni versitas Budi Luhur BAHASA PEMROGRAMAN 4 Oleh: Indra, S.Kom

description

BAHASA PEMROGRAMAN 4. Oleh: Indra, S.Kom. Pengirim SMSC Penerima. Mengenal Sistem Kerja SMS. Short Message Service (SMS) merupakan salah satu fitur GSM yang dikembangkan dan distandarisasi oleh ETSI. - PowerPoint PPT Presentation

Transcript of BAHASA PEMROGRAMAN 4

Page 1: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

BAHASA PEMROGRAMAN 4

Oleh:

Indra, S.Kom

Page 2: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengenal Sistem Kerja SMS

Short Message Service (SMS) merupakan salah satu fitur GSM yang dikembangkan dan distandarisasi oleh ETSI.

Pada proses pengiriman SMS dari handphone, SMS tersebut tidak langsung dikirim ke handphone tujuan, tetapi terlebih dahulu dikirim ke SMS center (SMSC), kemudian dengan sistem store and forward SMS tersebut dikirimkan ke hadphone tujuan.

Pengirim SMSC Penerima

Page 3: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengenal Sistem Kerja SMS

Dengan keberadaan SMSC kita dapat mengetahui status SMS, apakah sudah terkirim atau gagal terkirim.

Jika handphone tujuan dalam keadaan aktif dan berada dalam jangkauan, maka handphone tersebut mengirim konfirmasi ke SMSC bahwa SMS telah diterima, sebaliknya jika handphone tujuan mati atau di luar jangkauan, maka SMS akan disimpan di SMSC sampai peride validitas terpenuhi.

Jika sampai periode validitas terpenuhi, SMSC akan mengirimkan pesan ke handphone pengirim bahwa SMS gagal dikirimkan

Page 4: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

MENGENAL FORMAT PDU DALAM PENGIRIMAN DAN PENERIMAAN SMS Dalam pengiriman/penerimaan SMS ada dua mode

yakni mode PDU (Protocol Data Unit) dan mode teks.

Mode PDU merupakan format pesan dalam bentuk oktet heksadesimal dan oktet semidesimal dengan panjang mencapai 160 karakter (7 bit) atau 140 karakter (8 bit).

Mode teks merupakan hasil pengkodean PDU. Pada pengiriman SMS ada 2 mobile, yakni mobile

terminated (Handphone penerima) dan mobile originated (Handphone pengirim)

Page 5: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

SMS PDU PENGIRIM (Mobile Originated) SMS yang dikirim oleh terminal masih dalam bentuk teks,

sedangkan pada pengiriman ke SMSC harus dalam bentuk PDU, oleh karena itu, terminal (HP) mengubah format text ke PDU (encodec).

Skema SMS PDU pengirim telah diatur oleh ETSI sebagai berikut:

Misalnya kita akan mengirim SMS ke ‘6281510093290’ dengan isi pesan ‘Budi Luhur’, dengan batas waktu pengiriman ‘5 hari’, maka format PDU-nya adalah: ‘0011000C912618150039920000AB0C0C3A390E62D6D175F9DA0E’

SCA PDU Type

MR DA PID DCS VP UDL UD

Page 6: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Service Center Address (SCA) SCA adalah alamat (nomor) SMSC. SCA memiliki 3 komponen yaitu:

LenPanjang informasi SMSC dalam oktetHasil : 00

Type of numberNomor dari SMSC81h = format lokal91h = format internasionalDalam pengiriman SMS nomor SMS tidak dicantumkan

Service center numberNomor SMSC operator pengirimJika panjangnya ganjil maka karakter terakhir ditambahkan OFhPada pengiriman SMS nomor SMSC operator pengirim tidak dicantumkan

Page 7: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

PDU type Nilai default PDU type adalah 11 hexa (00010001 binary) yang memiliki

arti:

RP : Replay Path Alur yang menunjukkan bahwa ada alur jawaban

UDHI : User Data Header Indicator Bernilai 1 jika SMS menggunakan judul

SRR : Status Report Request Bernilai 1 jika laporan status pengiriman diminta

VPF : Validity Period Format Batas waktu pengiriman jika pesan gagal dikirim

RD : Reject Duplicates Parameter yang menunjukkan ya atau tidak Service Center akan menerima

satu pengiriman SMS yang masih disimpan dalam Service Center tersebut MTI : Message Type Indicator

Bernilai 0 menunjukkan SMS-DELIVER

No bit 7 6 5 4 3 2 1 0

Nama RP UDHI SRR VPF VPF RD MTI MTI

Nilai 0 0 0 1 0 0 0 1

Page 8: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Message Reference (MR) & Destination Address (DA) Message Reference adalah acuan dari pengaturan

pesan SMS. Untuk membiarkan pengaturan SMS diatur sendiri

oleh handphone tujuan, maka nilai yang diberikan adalah ’00’

Destination Address adalah nomor tujuan, yang terdiri dari len, type of number dan nomor tujuan. Len menunjukkan panjang nomor tujuan Type of number menunjukkan format dari nomor tujuan

81 untuk format lokal 91 untk format international

Nomor tujuan adalah alamat (nomor) handphone yang akan dikirim SMS

Page 9: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Protocol Identifier (PID) & Data Coding Sceme (DCS)

Protocol Identifier (PID) adalah format dari pengiriman pesan, biasanya diatur oleh handphone, apakah pesan berupa Text, Fax, E-mail, telex dan lain-lainl.

Nilai default dari PID adalah ’00’ yang berarti pesan yang dikirim berupa teks standar.

Data Coding Sceme adalah rencana dari pengkodean data untuk enentukan SMS yang akan dikirim apakah berupa SMS teks standar, bliking SMS, atau flash SMS.

Nilai default DCS adalah ’00’ yang menunjukkan bahwa SMS yang dikirim berupa teks standar.

Page 10: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Validity Period (VP) & User Data Length (UDL) Validity period adalah lama waktu pesan SMS disimpan di

SMSC apabila pesan tersebut gagal diterima oleh handphone penerima

User Data Length adalah panjang pesan SMS yang akan dikirim dalam bentuk teks standard

Waktu VP Nilai VP

5 menit – 720 menit (12 jam) (waktu VP/5)-1

12.5 jam – 24 jam 143 + ((waktu VP – 12)*2)

2 – 30 hari 166 + waktu VP

Lebih dari 4 minggu 192 + waktu VP

Page 11: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

User Data (UD)

User Data adalah isi pesan yang akan dikirim dalam format heksadesimal.

Pengkodean dari teks standar ke format heksadesimal dilakukan dengan bantuan ‘default alphabet’ yang dibakukan oleh ETSI GSM, seperti pada tabel di slide berikut.

Page 12: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

User DataDesimal 0 1 2 3 4 5 6 7 8 9

0

1 LF OR

2

3 SP ! “ # $ % & ‘

4 ( ) * + , - . / 0 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 Q 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 { | } ~ Del

Page 13: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

SMS PDU Penerima (Mobile Terminated) SMS PDU penerima adalah terminal menerima

pesan yang masuk dari SMSC ke handphone dalam format PDU.

Setelah pesan diterima dalam format PDU, handphone akan melakukan pengkodean pesan (decodec) menjadi format teks.

Cara pengkodean format PDU sudah diatur dan distandarkan oleh ETSI, sebagai berikut:

SCA PDU Type OA PID DCS SCTS UDL UD

Page 14: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Service Center Address (SCA) SCA adalah alamat (nomor) SMSC. SCA memiliki 3 komponen yaitu:

LenPanjang informasi SMSC dalam oktetHasil : 00

Type of numberNomor dari SMSC81h = format lokal91h = format internasional

Service center numberNomor SMSC operator pengirimJika panjangnya ganjil maka karakter terakhir ditambahkan OFh

Beberapa service center number: Satelindo = 62816124 (PDU = 26181642) Telkomsel = 6281100000 (PDU = 2618010000) Excelcom = 62818445009 (PDU = 26184854009) IM3 = 62855000000 (PDU = 26580500000)

Page 15: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

PDU type Nilai default PDU type untuk SMS-deliver adalah 04 hexa

(00000100) binary) yang memiliki arti:

RP : Replay Path Alur yang menunjukkan bahwa ada alur jawaban

UDHI : User Data Header Indicator Bernilai 1 jika SMS menggunakan judul

SRI : Status Report Indication Bernilai 1 jika laporan status laporan akan dikembalikan

MMS : More Message to Send Bernilai 1 jika ada pesan lebih yang akan dikirim

MTI : Message Type Indicator Bernilai 0 menunjukkan bahwa PDU ini adalah SMS-DELIVER

No bit 7 6 5 4 3 2 1 0

Nama RP UDHI SRI <00> <00> MMS MTI MTI

Nilai 0 0 0 0 0 1 0 0

Page 16: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Originator Address (OA)

OA adalah nomor pengirim yang terdiri dari len, type of number dan nomor tujuan. Len menunjukkan panjang nomor tujuan Type of number menunjukkan format dari nomor

tujuan 81 hexa untuk format lokal 91 hexa untuk format international

Nomor tujuan adalah alamat (nomor) handphone yang akan dikirim SMS

Page 17: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Protocol Identifier (PID) & Data Coding Sceme (DCS)

Protocol Identifier (PID) adalah format dari pengiriman pesan, biasanya diatur oleh handphone, apakah pesan berupa Text, Fax, E-mail, telex dan lain-lainl.

Nilai default dari PID adalah ’00’ yang berarti pesan yang dikirim berupa teks standar.

Data Coding Sceme adalah rencana dari pengkodean data untuk enentukan SMS yang akan dikirim apakah berupa SMS teks standar, bliking SMS, atau flash SMS.

Nilai default DCS adalah ’00’ yang menunjukkan bahwa SMS yang dikirim berupa teks standar.

Page 18: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Service Center Time Stamp (SCTS), User Data Length (UDL) & User Data (UD) SCTS adalah waktu dari penerimaan pesan oleh

SMSC penerima. SCTS terdiri atas tahun (yy), bulan (MM), tanggal

(dd), jam (hh), menit (mm), detik (ss) serta zone waktu. Contoh : Jika SMS diterima pada 07 Maret 2008 jam

15.30”.12’ WIB maka SCTS bernilai ‘80307051032182’ 82 => time zone = 28 unit, 1 unit = 15 menit, maka 28 unit

= 28*15/60 = 7 jam, sehingga menjadi GMT + 07.00 = WIB User Data Length adalah panjang pesan SMS yang diterima

dalam bentuk teks standard User Data (UD) adalah pesan yang diterima dalam format

heksa desimal

Page 19: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengenal AT Command

Sebelum membuat program kita akan melakukan koneksi handphone dengan komputer, hal ini bertujuan apakah kabel dan handphone terhubung dengan baik dengan komputer.

Page 20: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Page 21: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Page 22: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Page 23: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengenal AT CommandAT Command Keterangan

AT Mengecek koneksi HP ke PC

AT+CMGF Menetapkan format mode

AT+CSCS Menetapkan jenis encoding

AT+CPMS Mendeteksi SMS baru otomatis

AT+CMGL Membuka daftar SMS di SIM

AT+CMGS Mengirim pesan SMS

AT+CMGR Membaca pesan SMS

AT+CMGD Menghapus pesan SMS

AT+CNMI Mendeteksi Kode HP

Page 24: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Menentukan Format Mode

Masukkan Tindakan Respons

AT+CMGF=? Enter +CMGF: (list format yang mendukung)

AT+CMGF=mode Enter OK/ERROR

Nama Keterangan

Mode Mode & format terminal

‘0’ = format mode PDU

‘1’ = format mode teks

OK/ERROR Mendukung / Tidak mendukung mode yang ditentukan

Page 25: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Menentukan Jenis Encoding

Masukkan Tindakan Respons

AT+CMCS=? Enter +CSCS: (list encoding yang mendukung)

AT+CSCS=chset Enter OK/ERROR

Nama Keterangan

chset Jenis encoding yang digunakan

OK/ERROR Mendukung / Tidak mendukung chset yang ditentukan

Page 26: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Membuka Daftar SMS

Masukkan Tindakan Respons

AT+CMGL=? Enter +CMGL: (stat)

OK

AT+CMGL=stat Enter OK/

+CMGL:indeks, stat, [alpha], length, PDU

OK

Page 27: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Membuka Daftar SMS

Nama Keterangan

stat ‘0’ = SMS yang belum dibaca pada inbox SIM card

‘1’ = SMS yang sudah dibaca pada inbox SIM card

‘2’ = SMS yang belum terkirim pada outbox SIM card

‘3’ = SMS yang sudah terkirim pada outbox SIM card

‘4’ = semua SMS pada SIM card

Index Nomor urut penyimpanan SMS

Length Panjang PDU

PDU Pesan SMS dalam format PDU

OK/ERROR Mendukung / Tidak mendukung stat yang ditentukan

Page 28: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mendeteksi SMS baru secara Otomatis

Masukkan Tindakan Respons

AT+CNMI=? Enter +CNMI: mode, mt, bm, ds, bfr

AT+CNMI=mode, mt, bm, ds, bfr

Enter OK/ERROR

Ada SMS masuk +CMTI:mem, indeks

Nama Keterangan

Mem Jenis pesan yang masuk

Indeks Nomor urut pesan SMS

OK/ERROR Proses CNMI berhasil /gagal

Page 29: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Membaca Pesan SMS

Masukkan Tindakan Respons

AT+CMGR=? Enter OK

AT+CMGR=indeks Enter +CMGR: indeks

PDU

OK

Nama Keterangan

Indeks Nomor urut penyimpanan SMS

OK/ERROR Pembacaan SMS berhasil / gagal

Page 30: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Menghapus Pesan SMS

Masukkan Tindakan Respons

AT+CMGD=? Enter +CMGD: indeks, stat

AT+CMGD= indeks Enter OK/ERROR

Nama Keterangan

Indeks Nomor urut penyimpanan SMS

OK/ERROR Proses penghapusan SMS berhasil/gagal

Page 31: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengirim Pesan SMS

Masukkan Tindakan Respons

AT+CMGS=lenPDU Enter >

00+isiPDU Ctrl+z +CMGS: mr

OK/ERROR

Nama Keterangan

lenPDU Panjang pesan PDU (oktet)

isiPDU Isi pesan PDU

Mr Acuan pesan

OK / ERROR Proses pengiriman SMS berhasil / gagal

Page 32: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengirim SMS dengan format PDU Kita akan mencoba mengirim pesan SMS ke nomor +628151009329

dengan isi ‘Budi Luhurku’ dengan waktu validitas 5 hari. Setelah mengubah pesan ke format PDU, hasilnya adalah :

‘0011000C912618150039920000AB0C0C3A390E62D6D175F9DA0E’ yang terdiri dari 50 karakter (oktet ’00’ di awal tidak dihitung) atau 25 oktet

Buka HiperTerminal dan lakukan koneksi dengan komputer, lalu ketik AT kemudian enter.

Jika responsnya ‘OK’, lanjutkan dengan mengetik ‘AT+CMGF=0’ untuk mengetahui apakah terminal mendukung format PDU atau tidak.

Jika responsnya ‘OK’ lanjutkan dengan mengetik ‘AT+CMGS=25’ lalu enter, maka akan muncul ‘>’.

Ketik isi PDU yang diperoleh yaitu: ‘0011001c91261850039920000AB0C0C3A390E62D6D175F9DA0E’, lalu tekan ‘Ctrl+z’

Jika pengiriman SMS berhasil, maka respons yang didapat adalah +CMGS: mr OK

Page 33: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Merancang dan Membuat Program Utama SMS Server Merancang arsitektur pada awal pembangunan suatu sistem

merupakan hal yang penting. Dengan rancangan sistem yang baik maka suatu sistem juga

akan memiliki konstruksi dan pengolahan data yang tepat dan akurat.

Arsitektur alat dalam program utama SMS Server: Komputer yang memiliki port COM Handphone dan kabel data yang sesuai

Arsitektur sistem dalam program utama SMS Server: SMS dikirim oleh pengguna (client) ke nomor SMS Server SMS Server menerima pesan yang masuk kemudian melakukan

query ke database, sesuai dengan isi pesan Hasil query dari database kemudian dikirim ke SMS Server SMS server mengirim hasil dari database ke nomor client

Page 34: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Program Utama SMS Server Proses-proses yang terdapat dalam SMS Server :

SMS server akan melakukan koneksi dengan database Program utama SMS server akan menerima pesan dari client

secara otomatis SMS Server membaca dan menghapus pesan dari SIM Card. SMS Server akan mengubah pesan dari format PDU ke format

text. Pada proses ini data yang diambil adalah nomor telepon pengirim dan isi pesan. Lalu, data disimpan ke tabel terimasms dengan status ‘Belum Diproses’.

SMS Server mengambil data dari tabel terimasms yang statusnya ‘Belum Diproses’, lalu memeriksa apakah kode yang diterima sesuai atau tidak. Jika sesuai maka proses dilanjutkan, sebaliknya jika tidak sesuai maka SMS akan mengirim pesan kesalahan ke nomor client, dan kemudian mengubah status menjadi ‘Sudah Diproses’ pada tabel terimasms.

Jika proses berlanjut, SMS Server akan melakukan query ke database untuk mengambil data-data yang diperlukan, dan kemudian menyimpannya ke tabel kirimsms dengan status ‘Belum Dikirim’

Page 35: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Program Utama SMS Server SMS Server akan selalu mengambil data pada tabel terimasms

dan kirimsms yang statusnya ‘belum diproses’ dan ‘belum dikirim’ SMS Server akan mengubah pesan SMS yang akan dikirim dari

format text ke format PDU. SMS Server akan mengubah status pada tabel kirimsms menjadi

‘Sudah Dikirim’

SMS server berbasis J2SDK

Database berbasis Mysql

Page 36: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengenal Serial Port Di Java

Pada J2SDK belum disediakan fasilitas untuk hubungan dengan serial port, sehingga kita perlu menambahkan paket kelas untuk hubungan dengan serial port.

Nama paket kelas tersebut adalah Java Communication Port, yang dapat didownload di : http://java.sun.com/product/javacomm

Cara instalasinya adalah: Extract javacomm20-win32.zip ke direktori sementara Copy file win32com.dll ke direktory bin di tempat instalasi J2SDK. Copy comm.jar dan javac.comm.properties ke directory lib di

tempat intalasi J2SDK Tambahkan comm.jar pada CLASSPATH, salah satu caranya

dengan mengetik di command prompt: SET CLASSPATH = C:\j2sdk1.4.2\lib\comm.jar;%classpath%

Page 37: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Contoh Program Cari Portimport javax.comm.SerialPort;import javax.comm.CommPortIdentifier;import java.util.Enumeration; public class portList { public static void main(String[] args){

String portName = null; SerialPort port = null;

Enumeration portList = null; CommPortIdentifier portId = null;

int i=1; // Mencari daftar port-port yang tersedia portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) { // Mengambil nilai-nilai port yang ditemukan portId = (CommPortIdentifier) portList.nextElement(); portName = portId.getName(); System.out.println("Port : "+i+". " + portName); i++; } //Akhir if port getName } }

Page 38: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Membalik Karakter pada Format PDU Dalam format PDU ada bagian dimana

bilangan desimal diubah hanya dengan membalikkan karakter, misalnya pada penulisan nomor telepon, time stamp, dll.

Contoh: nomor telepon 6281510093290, akan diubah menjadi 621815003992F0 (ingat jika jumlah karakter nomor telepon ganjil maka ditambahkan ‘F’)

Page 39: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Ubah Desimal ke Hexa

Format PDU adalah bentuk pesan dalam heksadesimal. Sehingga kita perlu membuat methode untuk mengubah dari basis desimal ke basis heksadesimal.

Cara mengkonversi bilangan desimal ke heksadesimal adalah dengan cara membagi bilangan desimal dengan 16 sebagai digit pertama dan sisa pembagian sebagai digit kedua. Contoh: 165d jika dibagi dengan 16 hasilnya adalah 10 (Ah) dan sisa pembagiannya adalah 5. Jadi 165d = A5 hKarakter I = bilangan_desimal / 16Karakter II = bilangan_desimal % 16

Pada perubahan karakter menjadi heksadesimal bilangan tertinggi adalah 255 atau 11111111 b.

Page 40: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengubah dari 8 bit menjadi 7 bit Pada format PDU penerima adalah perubahan pesan PDU ke text. Dalam format PDU penerima terdapat User Data (isi pesan SMS),

proses pengubahan User Data dari format heksadesimal menjadi text sering disebut dengan istilah encoding.

Proses encoding adalah mengubah bilangan heksadesimal menjadi 8 bit bilangan biner kemudian diubah lagi menjadi 7 bit bilangan biner yang kemudian dikonversi dengan sistem ASCII untuk mendapatkan bentuk text atau karakter. Contoh: D3E614 jika diubah menjadi text adalah sbb:

Heksa D3 E6 14 .

8 bit 11010011 11100110 00010100

7 bit 1010011 1001101 1010011 0000000

Decimal 83 77 83 0

Karakter S M S null

Page 41: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengubah 7 bit ke 8 bit Untuk PDU pengirim, proses yang terjadi adalah mengubah format

text ke format heksadesimal. Proses ini merupakan kebalikan dari proses PDU penerima.

Proses ini sering disebut decodec. Proses decodec adalah mengubah format menjadi karakter ke tujuh

bit biner, kemudian mengubah 7 bit biner ke 8 bit biner, dan terakhir mengubah 8 bit biner ke heksadesimal.

Contoh: mengubah text ‘SMS’ menjadi heksadesimal.

Text Decimal Septet (7 bit) Oktet (8 bit) Heksa

S 83 1010011 11010011 D3

M 77 1001101 11100110 E6

S 83 1010011 00010100 14

Page 42: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengubah Pesan SMS dari format PDU menjadi format text Setiap SMS yang masuk masih dalam bentuk PDU yang terditi

dari bagian-bagian yang telah diatur oleh ETSI. Dalam mengubah format PDU menjadi text yang perlu

diperhatikan adalah banyaknya digit dari setiap bagian, karena kita hanya akan mengambil nomor pengirim dan pesan SMS saja, sedangkan nilai-nilai yang lain diabaikan.

Nomor pengirim terdapat dalam Originatir Address (OA) dan pesan SMS terdapat dalam User Data (UD).

Adapun bagian-bagian dari pesan SMS PDU adalah: SCA (Service Number Addres)

Len 2 digit Type 2 digit Number len * 2 - 2

Page 43: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

PDU Type PDU Type 2 digit

OA (Orogonator Address) Len 2 digit Type 2 digit Number (nilai len) digit ------- akan diambil

PID (Protocol Identifier) PID 2 digit

DCS (Data Coding Sceme) DCS 2 digit

SCTS (Service Center Time Stamp) SCTS 14 digit

UDL (User Data Length) UDL 2 digit

UD (User Data) Akhir UDL sampai akhir PDU

Page 44: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Urutan Proses Pengambilan Bagian-bagian Pesan PDU Mengambil nilai informasi SMSC yang terdiri atas panjang, tipe

dan nomor SMSC Membuang nilai PDU Type, banyaknya digit yang dibuang

adalah 2 digit. Mengambil panjang nomor telepon (len) pengirim yang dipakai

untuk mengambil nomor telepon pengirim, jumlah digit yang diambil sesuai dengan nilai dari panjang nomor telepon (len). Membuang tipe nomor telepon, banyaknya 2 digit, sehingga diperoleh nomor telepon pengirim.

Membuang PID (2 digit), DCS (2 digit), SCTS (14 digit), sehingga jumlah digit yang dibuang adalah 18 digit.

Mengambil panjang pesan untuk keperluan encodec. Membuang nilai UDL dan mengambil isi pesan PDU lalu diubah ke format text..

Page 45: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Mengubah Format Text menjadi PDU Pesan SMS yang akan dikirimkan dari terminal

masih berupa text, padahal setiap SMS yang akan dikirim harus berupa PDU.

Sebelum melakukan pengiriman pesan ke terminal, pesan SMS harus diubah terlebih dahulu ke format PDU.

Jika pada pengubahan PDU menjadi text, ada digit-digit yang dibuang, maka pada proses pengubahan text menjadi PDU adalah sebaliknya yakni menambahkan digit-digit yang diperlukan

Page 46: BAHASA PEMROGRAMAN 4

Fakultas Teknologi Informasi Universitas Budi Luhur

Tambahkan pada pesan PDU nilai default dari PDU Type yakni ‘11’, dan nilai default dari MR (Message Reference) yakni ‘00’.

Tambahkan pada pesan PDU nilai panjang nomor telepon pengirim (len), lalu tambahkan nilai tipe nomor telepon yakni ‘91’.

Tambahkan nomor telepon pengirim (balik karakter), jika panjang nomor pengirim ganjil maka tambahkan ‘F’ dibelakang digit terakhir.

Tambahkan nilai default PID (‘00’) dan DCS (‘00’). Tambahkan nilai VP (validity period). Tambahkan panjang pesan (jumlah digit pesan SMS

dalam bentuk text) dalam bentuk heksa desimal. Tambahkan nilai pesan dalam bentuk heksa desimal.