LAPORAN PRAKTIKUM KOMUNIKASI DATA DATA KONVERSI TEXT TO PDU dan PDU TO TEXT Laporan ini disusun untuk memenuhi tugas kuliah semester lima mata kuliah Praktikum komunikasi data
Oleh : Iga Revva Princiss Jeinever 1441160099 J!"#
%$POLITEKNIK NEGERI MALANG JURUSAN TEKNIK ELEKTRO PROGRAM STUDI JARINGAN TELEKOMUNIKASI TELEKOMUNIKASI DIGITAL 2016
PRAKTIKUM KOMUNIKASI DATA KONVERSI TEXT TO PDU dan PDU TO TEXT I.
Tujuan 1& 'ampu mengk mengkonver onversi si teks (ang dikirim dikirim dan dan diterima diterima ke )ormat Protocol Protocol "ata "ata *nit+
II.
Tujuan Umum 1& "apat "apat meru,ah meru,ah )ormat )ormat teks ke dalam )ormat )ormat Protocol Protocol "ata *nit *nit -P"*& dengan dengan
program "elphi+ III.
IV.
Ala dan !a"an 1& Prog Program ram "elph "elphii versi versi . /& omp omput uter er 1 uni unitt T#$%& Da'a% A. P% P%$ $$( $($l $l Daa Daa Un& Un& )PDU* )PDU*
ormat ormat data (ang diterima atau (ang dikirim handphone handphone ,erupa Protocol Protocol Data &2 PDU (ang (ang diterima dari handphone ,er,eda dengan PDU (ang (ang di kirim2 Unit - PDU PDU &2 namun namun tetap menggunakan menggunakan aturan (ang sama+ Per,edaann( Per,edaann(aa terutama terutama pada field (ang (ang dikandung dikandung22 ,aik nilai maupun )ungsin(a+ )ungsin(a+ *ntuk *ntuk )ormat )ormat PDU (ang (ang dikirim memiliki 3umlah header se,an(ak ,agian+ 5erikut ini ke delapan header dari PDU (ang dikirimkan : omor 7'7 Center -tergantung operator&
!ipe 7'77' 7 7*5'I! - ,it&
omor Re)erensi 7'7 - ,it&
omor
7kema
Ponsel
5entuk
8ncodin
Penerima
7'7
g "ata
-targantung
- ,it&
IO -. ,it
operator&
,it&
Jangka aktu
Isi 7'7 -3umlah
7e,elum
,it tergantung pada pada
7'7 8pired
3umlah karakter
- ,it&
(ang dikirim&
;am,ar 1+
1+ omor 7' 7'7 Center
=ontoh: nomor 7'7# Center Indosat#I'$ dapat ditulis dengan dua cara se,agai ,erikut: =ara 1 -nasional&: 0>>000000 diu,ah men3adi: a+ 0>>000000 : ada > pasang nomor smsc !otal pasangan 7'7= dank ode ,+ 1 : 1 pasang nasional 6 pasang c+ 0#>>#00#00#00: > pasang nomor smsc (ang sudah di,alik perpasangan "iga,ung men3adi: 06+1+0,,000000 =ara / -internasional&: a+ 6/>>000000 : ada 6 pasang !otal . pasang ,+ 91 : ada 1 pasang c+ /6#>#0>#00#00#0 : 6 pasang smsc (ang sudah di,alik perpasangan "iga,ung men3adi 0-126,+0,0000/0 5erikut ,e,erapa contoh nomor 7'7# Center operator seluler di Indonesia+ !a,el 1+1 omor 7'7 Center dengan =ara 1 NO
O#%a$% S#lul#%
SMSCenter
K$d# PDU
. 1+ /+ $+ 4+
!elkomsel 7atelindo 8celcom Indosat#I'$
011000000 0161/4 0144>009 0>>000000
061011000000 0>1061/14 06101440>90 0610>>000000
!a,el 1+/ omor 7'7 Center dengan cara / O
Operator =eluler
7'7#Center
ode PDU
+ 1+ /+ $+ 4+
!elkomsel 7atelindo 8celcom Indosat#I'$
6/11000000 6/161/4 6/144>009 6/>>000000
0.91/610100000 0>91/61164/ 0.91/614>4009 0.91/6>0>00000
/+ !ipe 7'7 -7'7 7*5'I!& !ipe 7'7 7*5'I! ? 11 -kode pengiriman 7'7&+ $+ omor Re)erensi 7'7 omor re)erensi di,iarkan 0+ Jadi2 ,ilangan heksan(a 00+ 7elan3utn(a akan di,erikan se,uah nomor re)erensi otomatis oleh ponselalat 7'7#gate@a(+ 4+ omor Ponsel Penerima 7ama seperti menulis PDU
a+ Jumlah ,ilangan desimal nomor ponsel (ang ditu3u dalam ,ilangan heksa+ ,+ ode nasionalinternasional untuk negara Indonesia c+ *ntuk nasional2 kode su,header#n(a: 1 d+ *ntuk internasional2 kode su,header#n(a: 91+ e+ omor ponsel (ang ditu3u dalam pasangan heksa di,alik#,alik+ Jika tertinggal satu angka heksa (ang tidak memiliki pasangan2 angka terse,ut dipasangkan dengan huru) didepann(a+ $n$"3
omor ponsel (ang ditu3u 6/1/9>.$$$. maka dapat ditulis dengan dua cara 2 (aitu se,agai ,erikut : =ara 1 -nasional&: 01/9>.$$$. diu,ah men3adi: a+ 05: ada 11 angka -3umlah ,ilangan desimal dari nomor tu3uan& ,+ 1 -su,header nasional& c+ 0#/1#>9#$.#$$#. -pengga,ungan nomor tu3uan (ang di,alik2 apa,ila tertinggal 1 angka maka ditam,ahkan huru) AB didepan(a& "iga,ung men3adi: 0!+1+021,4-44/=ara /: 6/1/9>.$$$. diu,ah men3adi: a+ 0=: ada 1/ angka -3umlah ,ilangan desimal dari nomor tu3uan& ,+ 91 -su,header nasional& c+ /6#1#9/#.>#$$#. -pengga,ungan nomor tu3uan (ang di,alik2 apa,ila tertinggal 1 angka maka ditam,ahkan huru) AB didepan(a& "iga,ung men3adi: 01261+2-,44-4 >+ 5entuk 7'7 0 C 00 C dikirim se,agai 7'7 1 C 01 C dikirim se,agai tele / C 0/ C dikirim se,agai )a "alam hal ini2 pengiriman dalam ,entuk 7'7 tentu sa3a memakai 00+ 6+ 7kema 8ncoding "ata IO %da dua skema2 (aitu: a+ 7kema . ,it C ditandai dengan angka 0 C 00 ,+ 7kema ,it C ditandai dengan angka le,ih ,esar dari 0 (ang diu,ah ke heksa+ e,an(akan ponsel7'7 ;ate@a( (ang ada di pasaran sekarang menggunakan skema . ,it sehingga kita menggunakan kode 00+ .+ Jangka aktu 7e,elum 7'7 8pired
Jika ,agian ini di#skip2 ,erarti kita tidak mem,atasi @aktu ,erlakun(a 7'72 sehingga tidak perlu mem,erikan nilai apapun di PDU headern(a+ 7elain dengan cara terse,ut 3uga dapat dilakukan dengan mem,erikan nilai heksa AB (ang 3uga ,erarti mem,erikan @aktu validitas maksimum+ 7ementara itu2 3ika kita mengisin(a dengan suatu ,ilangan integer (ang kemudian diu,ah ke pasangan heksa tertentu2 ,ilangan (ang kita ,erikan terse,ut akan me@akili 3umlah @aktu validitas 7'7 terse,ut+ + Isi 7'7
huru) C 0> ,+ Isi ,erupa pasangan ,ilangan heksa Ponsel7'7 ;ate@a( ,erskema encoding . ,it ,erarti 3ika kita mengetikkan suatu huru) dari ke(pad#n(a2 kita telah mem,uat . angka IO ,erturutan+ %da dua langkah (ang harus kita lakukan untuk mengkonversi isi 7'72 (aitu: Langkah pertama : mengu,ah men3adi kode . ,it+ Langkah kedua
: mengu,ah kode . ,it men3adi ,it2 (ang di@akili oleh
pasangan
heksa+
=ontoh: untuk kata D "#ll$E Langkah pertama: 5it
.
1
h
110
1000
e
110
0101
l
110
1100
l
110
1100
o
110
1111
langkah kedua: E "
+
1 110
1000
4
2
#
00 11
l
100 1 /
l
$
1111
0010 1 !
1011 00 D
1101 100
0
6
0000
0 110
1111
Oleh karena total . ,it > huru) ? $> ,it2 sedangkan (ang kita perlukan adalah ,it > ,it ? 40 ,it2 maka diperlukan > ,it dummy (ang diisi dengan ,ilangan 0+ 7etiap ,it me@akili suatu pasangan heksa+ 7etiap 4 ,it me@akili suatu angka heksa2 tentu sa3a karena secara logika / 4 ? 16+ "engan demikian2maka kata DhelloE hasil konversin(a men3adi E+42!/D06 + 7etelah semua header ter,entuk2 maka selan3utn(a adalah mengga,ungkan semua header (ang ter,entuk2 'asing#masing header maupun su,header untuk mengirim 7'7 diatas harus diga,ungkan men3adi se,uah PDU (ang lengkap+ =ontoh: 3ika mengirimkan kata DhelloE ke ponsel nomor 6/1/9>.$$$. le@at 7'7#Center Indosat#'$2 denagan @aktu valid maksimum2 maka PDU lengkapn(a adalah : 0-126,+0,0000/0110001261+2-,44-40000//0,E+42!/D06
F+
P#%#n(anaan
VI.
P#m5a"a'an Pertama#tama (ang dilakukan dalam mem,uat tampilan omunikasi 7erial adalah melakukan identi)ikasi pada setiap )ungsi#)ungsi (ang diperlukan+ Identi)ikasi ini dilakukan dengan mengedit pada menu 5o Inspector sesuai dengan (ang diinginkan sehingga pada listing program akan muncul otomatis sepeti ini+ unit un_PDU_Cobalagi;
interface uses Windows, Messages, SysUtils, Variants, Classes, Gra!ics, Controls, "orms, Dialogs, StdCtrls; tye #"orm$ % class"orm' (abel$) #(abel; (abel*) #(abel; (abel+) #(abel; (abel) #(abel; (abel-) #(abel; (abel.) #(abel; (abel/) #(abel; (abel0) #(abel; (abel1) #(abel; (abel$2) #(abel; (abel$$) #(abel; (abel$*) #(abel; (abel$+) #(abel; (abel$) #(abel; Memo$) #Memo; edsms) #3dit; ed!asil) #3dit; edno) #3dit; ed!asil*) #3dit; Memo*) #Memo; #*P) #4utton; P*#) #4utton; bt!aus$) #4utton; Memo+) #Memo; Memo) #Memo; edsms*) #3dit; ed!sl) #3dit; edno*) #3dit; ed!sl*) #3dit; Memo-) #Memo; 4utton$) #4utton; 4utton*) #4utton; 4utton+) #4utton; 55 rocedure edsmsC!ange&Sender) #6b7ect'; rocedure #*PClic8&Sender) #6b7ect';
rocedure P*#Clic8&Sender) #6b7ect'; rocedure 4utton$Clic8&Sender) #6b7ect'; rocedure 4utton*Clic8&Sender) #6b7ect'; rocedure bt!aus$Clic8&Sender) #6b7ect'; rocedure 4utton+Clic8&Sender) #6b7ect'; ri9ate : Pri9ate declarations ublic : Public declarations end; 9ar "orm$) #"orm$; t_biner,t_biner*,t_!e8sa,t_!e8sa$,t_!e8sa*)String; t_desimal,t_tem) ?@dfm rocedure 8ebiner$&t_AeBa)string'; 9ar data ) string; begin data )% t_!eBa; if data % 2 t!en data )%222; if data % $ t!en data )%22$; if data % * t!en data )%2$2; if data % + t!en data )%2$$; if data % t!en data )%$22; if data % - t!en data )%$2$; if data % . t!en data )%$$2; if data % / t!en data )%$$$; if data % 0 t!en data )%$222; t_biner )% data; end; rocedure 8ebiner* &t_AeBa)string'; 9ar data ) string; begin data )% t_!eBa; if data % 2 t!en data )%2222; if data % $ t!en data )%222$; if data % * t!en data )%22$2; if data % + t!en data )%22$$; if data % t!en data )%2$22; if data % - t!en data )%2$2$; if data % . t!en data )%2$$2; if data % / t!en data )%2$$$;
if data % 0 t!en data )%$222; if data % 1 t!en data )%$22$; if data % t!en data )%$2$2; if data % 4 t!en data )%$2$$; if data % C t!en data )%$$22; if data % D t!en data )%$$2$; if data % 3 t!en data )%$$$2; if data % " t!en data )%$$$$; t_biner )% t_binerEdata; t_biner*)% data; end; rocedure 8e!e8sa$ &data)string'; 9ar tem ) string; begin tem )%data; if tem % 222 t!en tem )%2; if tem % 22$ t!en tem )%$; if tem % 2$2 t!en tem )%*; if tem % 2$$ t!en tem )%+; if tem % $22 t!en tem )%; if tem % $2$ t!en tem )%-; if tem % $$2 t!en tem )%.; if tem % $$$ t!en tem )%/; t_!e8sa$ )% tem; end; rocedure 8e!e8sa* &data)string'; 9ar tem ) string; begin tem )%data; if tem % 2222 t!en tem )%2; if tem % 222$ t!en tem )%$; if tem % 22$2 t!en tem )%*; if tem % 22$$ t!en tem )%+; if tem % 2$22 t!en tem )%; if tem % 2$2$ t!en tem )%-; if tem % 2$$2 t!en tem )%.; if tem % 2$$$ t!en tem )%/; if tem % $222 t!en tem )%0; if tem % $22$ t!en tem )%1; if tem % $2$2 t!en tem )%; if tem % $2$$ t!en tem )%4; if tem % $$22 t!en tem )%C; if tem % $$2$ t!en tem )%D; if tem % $$$2 t!en tem )%3; if tem % $$$$ t!en tem )%"; t_!e8sa )% temEt_!e8sa;
t_!e8sa*)% tem; end; rocedure 8edesimal &data)string'; 9ar tem ) string; desimal)
begin a)%$; nomer)%data; 7umla!_nomer)%intto!eB&lengt!&data',$'; if lengt!&data'mod *%$ t!en data )% data E"; nomer)%data; tem)%data; if nomerF$%2 t!en 8ode)%0$ else 8ode)%1$; w!ile&aH%(engt!&data'E*'do begin nomerFaE$)%temFa; nomerFa)%temFaE$; a)%aE*; end; form$@3d!asil*@#eBt)%2E7umla!_nomerE8odeEnomer; end; rocedure teBt*du&data)string'; 9ar 7umla!_8ata,esan,!eBa,tem,tem*)string; a,b,c)integer; begin b)%2;c)%2; 7umla!_8ata)%intto!eB&lengt!&data',$'; if lengt!&7umla!_8ata'H* t!en 7umla!_8ata)%2E7umla!_8ata; esan)%data; for a)%lengt!&esan' downto $ do begin !eBa)%intto!eB&ord&esanFa',*'; 8ebiner$&!eBaF$'; 8ebiner*&!eBaF*'; tem)%temEt_biner; end; if lengt!&tem' mod 0HI2 t!en begin b)%lengt!&esan'; if bI0 t!en b)%b mod 0; for a)%$ to b do begin tem)%2Etem; end; end; b)%2;tem*)%;!eBa)%; for a)%lengt!&tem'downto $ do begin tem*)%temFaEtem*; inc&b'; if bI% t!en begin b)%2;
8e!e8sa*&tem*'; inc&c'; tem*)%; if cI%* t!en begin !eBa)%!eBaEt_!e8sa; c)%2; t_!e8sa)%; end; end; end; form$@Memo*@#eBt)%7umla!_8ataE!eBa; end; rocedure sms_center_du&du)string'; 9ar 7umla!_asangan,a,b,i)
b)%t_desimal; 7umla!_nomer)%&$.?a'Eb; if 7umla!_nomer mod *%$ t!en 7umla!_nomer)%7umla!_nomerE$; "orm$@3dno*@#eBt)%coy&data, $, &7umla!_nomerE''; i)%$; tem)%coy&data, -, &7umla!_nomer''; nomer)%tem; w!ile&iH%lengt!&nomer'' do begin nomerFiE$)%temFi; nomerFi)%temFiE$; i)%iE*; end; if nomerFlengt!&nomer' % " t!en Delete&nomer, lengt!&nomer', $'; "orm$@3d!sl*@#eBt)%nomer; t_tem)%t_temE&7umla!_nomerE$2'; end; rocedure du*teBt&du)string'; 9ar data,!asil,tem,tem*,tem+,biner)string; desimal,7umla!_8ara8ter,7umla!_ascii/,dummy_bit,a,b,c,d,i)integer; begin data)%coy&du, &t_temE$', lengt!&du''; 8edesimal&dataF$'; a)%t_desimal; 8edesimal&dataF*'; b)%t_desimal; 7umla!_8ara8ter)%&$.?a'Eb; data)%coy&data, +, lengt!&du''; tem)%data; c)%$; d)%2; w!ile&cH%lengt!&data'' do begin dataFcE$)%temFlengt!&data'Jd; dataFc)%temFlengt!&data'J&dE$'; c)%cE*; d)%dE*; end; for i)%$ to lengt!&data' do begin 8ebiner*&dataFi'; biner)%biner E t_biner*; end; dummy_bit)%lengt!&biner' mod /; delete&biner, $, dummy_bit'; 7umla!_ascii/)%lengt!&biner' di9 /;
c)%2; d)%$; w!ile &cH7umla!_ascii/' do begin tem)%coy&biner, d, /'; tem*)%coy&tem, $, +'; 8e!e8sa$&tem*'; tem+)%coy&tem, , '; 8e!e8sa*&tem+'; 8edesimal&t_!e8sa$'; a)%t_desimal; 8edesimal&t_!e8sa*'; b)%t_desimal; desimal)%&$.?a'Eb; !asil)%!asil E c!r&desimal'; d)%dE/; c)%cE$; end; tem)%!asil; c)%$; d)%2; w!ile&cH%lengt!&!asil'' do begin !asilFc)%temFlengt!&!asil'Jd; c)%cE$; d)%dE$; "orm$@Memo-@#eBt)%!asil; t_!e8sa)%; t_biner)%; end; end; rocedure #"orm$@4utton$Clic8&Sender) #6b7ect'; begin Memo+@Selectll; Memo+@Coy#oCliboard; end; rocedure #"orm$@4utton*Clic8&Sender) #6b7ect'; begin Memo@Selectll; Memo@Paste"romCliboard; end; rocedure #"orm$@bt!aus$Clic8&Sender) #6b7ect'; begin edsms@Clear; ed!asil@Clear; edno@Clear;
ed!asil*@Clear; memo$@Clear; memo*@Clear; memo+@Clear; Memo@Clear; Memo-@Clear; edsms*@Clear; ed!sl@Clear; edno*@Clear; ed!sl*@Clear; end; rocedure #"orm$@4utton+Clic8&Sender) #6b7ect'; begin Close&'; end; rocedure #"orm$@P*#Clic8&Sender) #6b7ect'; begin begin sms_center_du&Memo@#eBt'; nomer_enerima_du&Memo@#eBt'; du*teBt&Memo@#eBt'; end; end; 55rocedure #"orm$@edsmsC!ange&Sender) #6b7ect'; 55begin 55end; rocedure #"orm$@#*PClic8&Sender) #6b7ect'; const tie_sms%$$; no_ref%22; bentu8_sms%22; 55sms encoding%22; 55/bit eBired%""; 55ma8simum begin sms_center&edsms@#eBt'; nomer_enerima&edno@#eBt'; teBt*du&memo$@#eBt'; memo+@#eBt)%ed!asil@#eBtE tie_smsEno_refE bentu8_smsEencodingEeBiredEmemo*@#eBt; end; end@
ed!asil*@#eBtE
7elesai penulisan listing program selan3utn(a klik Run+ !ampilan a@al saat dilakukan Run :
7elan3utn(a adalah mengisikan 7'7 =entre2 omor Penerima2 dan Isi Pesan pada kolom (ang telah tersedia+ Lalu selan3utn(a klik Aonversi!8G!toP"*B dan klik AonversiP"*to!8G!B maka akan muncul hasil konversi dari 7'7 =entre2 omor Penerima2 Isi Pesan2 dan hasil konversi dari !et ke P"* setelah diga,ungkan serta hasil konversi dari P"* ke !et+ !ampilann(a seperti ,erikut :
emudian klik cop( dan paste (ang mana hasil converse tet to pdu akan tampil pada memo konversi pdu ke tet lalu kill ,utton pdu / tet (ang akan menampilkan konversi pdu to tet+
Jika ingin menghapus data dan memulai konversi lagi maka dapat di klik A
Jika ingin keluar dari program maka klik A8itB+
K#'&mulan 1* "engan menggunakan program "elphi. dapat dilakukan pengu,ahan )ormat data ke Protocol "ata *nit -P"*& atau P"* ke !et 2* ita dapat mengetahui ,agian#,agian atau header untuk mengirim maupun menerima pesan seperti omor 7'7 =enter !ipe 7'72 omor Re)erensi 7'72 omor Ponsel Penerima2 5entuk 7'72 7kema encoding "ata IO2 3angka @aktu se,elum 7'7 epired2 dan isi 7'7+ VII.
R##%#n'& 1) Panduan Praktikum omunikasi "ata