Konversi Text to PDU
-
Upload
ellenesmono -
Category
Documents
-
view
347 -
download
23
description
Transcript of Konversi Text to PDU
LAPORAN PRAKTIKUMKOMUNIKASI DATA
KONVERSI TO PDU
Oleh :Ellen Kurniawati Esmono1331130015 / TT-2A
POLITEKNIK NEGERI MALANGJURUSAN TEKNIK ELEKTROPROGRAM STUDI TEKNIK TELEKOMUNIKASI2015
PRAKTIKUM KOMUNIKASI DATAKONVERSI TO PDU
I. Tujuan 1) Mampu mengkonversi teks yang dikirim dan diterima ke format Protocol Data Unit.
II. Tujuan Umum1) Dapat merubah format teks ke dalam format Protocol Data Unit (PDU) dengan program Delphi.
III. Alat dan Bahan1) Program Delphi versi 72) Komputer 1 unit
IV. Teori DasarA. Protocol Data Unit (PDU)Format data yang diterima atau yang dikirim handphone berupa Protocol Data Unit (PDU), PDU yang diterima dari handphone berbeda dengan PDU yang di kirim, namun tetap menggunakan aturan yang sama. Perbedaannya terutama pada field yang dikandung, baik nilai maupun fungsinya. Untuk format PDU yang dikirim memiliki jumlah header sebanyak 8 bagian. Berikut ini ke delapan header dari PDU yang dikirimkan :Nomor SMS Center(tergantung operator)Tipe SMS/SMS SUBMIT(8 bit)Nomor Referensi SMS (8 bit)Nomor Ponsel Penerima (targantung operator)Bentuk SMS (8 bit)Skema Encoding Data I/O (7 bit / 8 bit)Jangka Waktu Sebelum SMS Expired (8 bit)Isi SMS (jumlah bit tergantung pada jumlah karakter yang dikirim)
Gambar 1. Header Protocol PDU beserta ukuran bit
1. Nomor SMS CenterHeader pertama ini terbagi atas tiga subheader,yaitu:a. Jumlah pasangan heksadesimal SMS-Center dalam bilangan heksa.b. Kode nasional/internasional untuk negara IndonesiaUntuk national , kode subheader-nya adalah 81Untuk international, kode subheader-nya adalah 91c. Nomor SMS-Center-nya sendiri dalam pasangan heksa dibalik-balikJika tertinggal satu angka heksa yang tidak memiliki pasangan, angka tersebut akan dipasangkan dengan F didepannya.Contoh: nomor SMS-Center Indosat-IM3 dapat ditulis dengan dua cara sebagai berikut:Cara 1 (nasional):0855000000 diubah menjadi:a. Total pasangan SMSC dank ode nasional 6 pasang0855000000 : ada 5 pasang nomor smscb. 81 : 1 pasangc. 80-55-00-00-00: 5 pasang nomor smsc yang sudah dibalik perpasangan Digabung menjadi: 06818055000000Cara 2 (internasional):a. Total 7 pasang62855000000F : ada 6 pasangb. 91 : ada 1 pasangc. 26-58-05-00-00-F0 : 6 pasang smsc yang sudah dibalik perpasanganDigabung menjadi 07912658050000F0Berikut beberapa contoh nomor SMS-Center operator seluler di Indonesia.Tabel 1.1 Nomor SMS Center dengan Cara 1NO.Operator SelulerSMS-CenterKode PDU
1.Telkomsel081100000006818011000000
2.Satelindo08161240581806121F4
3.Excelcom08184450090681081440590
4.Indosat-IM3085500000006818055000000
Tabel 1.2 Nomor SMS Center dengan cara 2NO.Operator CelulerSMS-CenterKode PDU
1.Telkomsel6281100000007912618010000F0
2.Satelindo62816124059126181642
3.Excelcom6281844500907912618485400F9
4.Indosat-IM36285500000007912658050000F0
2. Tipe SMS (SMS SUBMIT)Tipe SMS SUBMIT = 11 (kode pengiriman SMS). 3. Nomor Referensi SMSNomor referensi dibiarkan 0. Jadi, bilangan heksanya 00. Selanjutnya akan diberikan sebuah nomor referensi otomatis oleh ponsel/alat SMS-gateway.4. Nomor Ponsel PenerimaSama seperti menulis PDU Header untuk SMS-Center, header ini juga terbagi atas tiga bagian, yaitu:a. Jumlah bilangan desimal nomor ponsel yang dituju dalam bilangan heksa.b. Kode nasional/internasional untuk negara Indonesiac. Untuk nasional, kode subheader-nya: 81d. Untuk internasional, kode subheader-nya: 91.e. Nomor ponsel yang dituju dalam pasangan heksa dibalik-balik.Jika tertinggal satu angka heksa yang tidak memiliki pasangan, angka tersebut dipasangkan dengan huruf F didepannya.Contoh:Nomor ponsel yang dituju 628129573337 maka dapat ditulis dengan dua cara , yaitu sebagai berikut :Cara 1 (nasional): 08129573337 diubah menjadi:a. 0B: ada 11 angka (jumlah bilangan desimal dari nomor tujuan) b. 81 (subheader nasional)c. 80-21-59-37-33-F7 (penggabungan nomor tujuan yang dibalik, apabila tertinggal 1 angka maka ditambahkan huruf F didepanya)Digabung menjadi: 0B818021593733F7Cara 2: 628129573337 diubah menjadi:a. 0C: ada 12 angka (jumlah bilangan desimal dari nomor tujuan)b. 91 (subheader nasional)c. 26-81-92-75-33-F7 (penggabungan nomor tujuan yang dibalik, apabila tertinggal 1 angka maka ditambahkan huruf F didepanya)Digabung menjadi: 0C912618927533735. Bentuk SMS0 00 dikirim sebagai SMS1 01 dikirim sebagai telex2 02 dikirim sebagai faxDalam hal ini, pengiriman dalam bentuk SMS tentu saja memakai 00.6. Skema Encoding Data I/OAda dua skema, yaitu:a. Skema 7 bit ditandai dengan angka 0 00b. Skema 8 bit ditandai dengan angka lebih besar dari 0 yang diubah ke heksa.Kebanyakan ponsel/SMS Gateway yang ada di pasaran sekarang menggunakan skema 7 bit sehingga kita menggunakan kode 00. 7. Jangka Waktu Sebelum SMS ExpiredJika bagian ini di-skip, berarti kita tidak membatasi waktu berlakunya SMS, sehingga tidak perlu memberikan nilai apapun di PDU headernya. Selain dengan cara tersebut juga dapat dilakukan dengan memberikan nilai heksa FF yang juga berarti memberikan waktu validitas maksimum. Sementara itu, jika kita mengisinya dengan suatu bilangan integer yang kemudian diubah ke pasangan heksa tertentu, bilangan yang kita berikan tersebut akan mewakili jumlah waktu validitas SMS tersebut.8. Isi SMSHeader terdiri atas dua subheader, yaitu:a. Panjang isi (jumlah huruf dari isi)Misalnya: untuk kata hello ada 5 huruf 05b. Isi berupa pasangan bilangan heksaPonsel/SMS Gateway berskema encoding 7 bit berarti jika kita mengetikkan suatu huruf dari keypad-nya, kita telah membuat 7 angka I/O berturutan.Ada dua langkah yang harus kita lakukan untuk mengkonversi isi SMS, yaitu:Langkah pertama: mengubah menjadi kode 7 bit.Langkah kedua: mengubah kode 7 bit menjadi 8 bit, yang diwakili oleh pasangan heksa.Contoh: untuk kata helloLangkah pertama:Bit 7 1h1101000e1100101l1101100l1101100o1101111
langkah kedua: E8h1 110 1000 32e00 11 0010 1 9Bl100 1 1011 00 FDl1111 1101 100 06o0000 0 110 1111 Oleh karena total 7 bit x 5 huruf = 35 bit, sedangkan yang kita perlukan adalah 8 bit x 5 bit = 40 bit, maka diperlukan 5 bit dummy yang diisi dengan bilangan 0.Setiap 8 bit mewakili suatu pasangan heksa. Setiap 4 bit mewakili suatu angka heksa, tentu saja karena secara logika 24 = 16. Dengan demikian,maka kata hello hasil konversinya menjadi E8329BFD06.Setelah semua header terbentuk, maka selanjutnya adalah menggabungkan semua header yang terbentuk, Masing-masing header maupun subheader untuk mengirim SMS diatas harus digabungkan menjadi sebuah PDU yang lengkap.Contoh: jika mengirimkan kata hello ke ponsel nomor 628129573337 lewat SMS-Center Indosat-M3, denagan waktu valid maksimum, maka PDU lengkapnya adalah :07912658050000F011000C912618927533730000FF05E8329BFD06
V. Perencanaan
VI. PembahasanPertama-tama yang dilakukan dalam membuat tampilan Komunikasi Serial adalah melakukan identifikasi pada setiap fungsi-fungsi yang diperlukan. Identifikasi ini dilakukan dengan mengedit pada menu Box Inspector sesuai dengan yang diinginkan sehingga pada listing program akan muncul otomatis sepeti ini.type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Memo1: TMemo; Memo2: TMemo; btkonversi: TButton; btkonversi2: TButton; bthapus: TButton; btexit: TButton; Memo3: TMemo; Memo4: TMemo; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; procedure btkonversiClick(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure bthapusClick(Sender: TObject); procedure Memo1KeyPress(Sender: TObject; var Key: Char); procedure btexitClick(Sender: TObject); procedure btkonversi2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1; t_biner,t_heksa:string;
Selanjutnya adalah menuliskan procedure program, berikut adalah listing programnya:implementation
{$R *.dfm}
procedure kebiner1(t_HExa:string);vardata:string;begin data:=t_hexa; if data = '0' then data :='000'; if data = '1' then data :='001'; if data = '2' then data :='010'; if data = '3' then data :='011'; if data = '4' then data :='100'; if data = '5' then data :='101'; if data = '6' then data :='110'; if data = '7' then data :='111'; if data = '8' then data :='1000'; t_biner := data;end;
procedure kebiner2(t_Hexa:string);vardata:string;begin data:=t_Hexa; if data = '0' then data :='0000'; if data = '1' then data :='0001'; if data = '2' then data :='0010'; if data = '3' then data :='0011'; if data = '4' then data :='0100'; if data = '5' then data :='0101'; if data = '6' then data :='0110'; if data = '7' then data :='0111'; if data = '8' then data :='1000'; if data = '9' then data :='1001'; if data = 'A' then data :='1010'; if data = 'B' then data :='1011'; if data = 'C' then data :='1100'; if data = 'D' then data :='1101'; if data = 'E' then data :='1110'; if data = 'F' then data :='1111'; t_biner:=t_biner+data;end;
procedure keheksa(data:string);vartemp:string;begin temp:=data; if temp = '0000' then temp :='0'; if temp = '0001' then temp :='1'; if temp = '0010' then temp :='2'; if temp = '0011' then temp :='3'; if temp = '0100' then temp :='4'; if temp = '0101' then temp :='5'; if temp = '0110' then temp :='6'; if temp = '0111' then temp :='7'; if temp = '1000' then temp :='8'; if temp = '1001' then temp :='9'; if temp = '1010' then temp :='A'; if temp = '1011' then temp :='B'; if temp = '1100' then temp :='C'; if temp = '1101' then temp :='D'; if temp = '1110' then temp :='E'; if temp = '1111' then temp :='F'; t_heksa:=temp+t_heksa;end;
procedure sms_centre(data:string);var jumlah_pasangan,a:integer; nomer,kode,temp:string;begin a:=1; if length(data) mod 2=1 then data:=data+'F'; nomer:=data; temp:=data; if nomer [1]='0' then kode:='81' else kode:='91'; jumlah_pasangan:=length(data) div 2+1; while(a=2 then begin hexa:=hexa+t_heksa; c:=0; t_heksa:=''; end; end; end; form1.Memo2.Text:=jumlah_kata+hexa;end;
procedure TForm1.btkonversiClick(Sender: TObject);const tipe_sms='11'; no_ref='00'; bentuk_sms='00'; encoding='00'; expired='FF';begin sms_centre(edit1.Text); nomer_penerima(edit3.Text); text2pdu(memo1.Text); memo3.Text:=edit2.Text+tipe_sms+no_ref+edit4.Text+bentuk_sms+encoding+expired+memo2.Text;end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin if key=chr(vk_return) then begin btkonversiClick(self); end;end;
procedure TForm1.bthapusClick(Sender: TObject);begin edit1.Clear; edit2.clear; edit3.Clear; edit4.Clear; memo1.clear; memo2.Clear;
end;
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);begin if key=chr(vk_return) then begin btkonversiclick(self); key:=chr(vk_back); end;end;
procedure TForm1.btexitClick(Sender: TObject);begin Application.Terminate;end;
procedure TForm1.btkonversi2Click(Sender: TObject);const tipe_sms='11'; no_ref='00'; bentuk_sms='00'; encoding='00'; expired='FF';begin memo4.Text:=edit1.Text+tipe_sms+no_ref+edit3.Text+bentuk_sms+encoding+expired+memo1.Text;end;end.Selesai penulisan listing program selanjutnya klik Run. Tampilan awal saat dilakukan Run :
Selanjutnya adalah mengisikan SMS Centre, Nomor Penerima, dan Isi Pesan pada kolom yang telah tersedia. Lalu selanjutnya klik KonversiTEXTtoPDU dan klik KonversiPDUtoTEXT maka akan muncul hasil konversi dari SMS Centre, Nomor Penerima, Isi Pesan, dan hasil konversi dari Text ke PDU setelah digabungkan serta hasil konversi dari PDU ke Text. Tampilannya seperti berikut :
Jika ingin menghapus data dan memulai konversi lagi maka dapat di klik Hapus sehingga data awal akan terhapus dan dapat dilakukan konversi kembali.
Jika ingin keluar dari program maka klik Exit.
VII. Kesimpulan1) Dengan menggunakan program Delphi7 dapat dilakukan pengubahan format data ke Protocol Data Unit (PDU).
VIII. Referensi1) Panduan Praktikum Komunikasi DataSTART
Pilih Metode Konversi
Nasional
Subheader dan Format SMS Center Nasional
Subheader dan Format SMS Center Internasional
Pilih Operator Seluler
Masukkan Nomor HP Tujuan
Masukkan Pesan Teks
Generate Kode PDU
FINISH
Teks ke PDU
START
Ambil PDU dari Operator pada PDU lengkap
Ambil Hasil Konversi PDU Lengkap
Ambil PDU dari Nomor HP pada PDU Lengkap
Ambil PDU dari pesan teks pada PDU Lengkap
Rekonvert masing-masing PDU
FINISH
PDU ke Teks