materi sms gateway
TRANSCRIPT
![Page 1: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/1.jpg)
SMS GATEWAY
Oleh:
I MADE ARI SUYANTA
![Page 2: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/2.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/3.jpg)
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 periode validitas terpenuhi.
Jika sampai periode validitas terpenuhi, SMSC akan mengirimkan pesan ke handphone pengirim bahwa SMS gagal dikirimkan
![Page 4: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/4.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/5.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/6.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/7.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/8.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/9.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/10.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/11.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/12.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/13.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/14.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/15.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/16.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/17.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/18.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/19.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/20.jpg)
![Page 21: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/21.jpg)
![Page 22: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/22.jpg)
![Page 23: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/23.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/24.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/25.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/26.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/27.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/28.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/29.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/30.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/31.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/32.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/33.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/34.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/35.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/36.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/37.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/38.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/39.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/40.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/41.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/42.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/43.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/44.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/45.jpg)
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: Materi SMS Gateway](https://reader033.vdocuments.mx/reader033/viewer/2022052123/55cf9940550346d0339c6bc9/html5/thumbnails/46.jpg)
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.