Laporan PDU

Embed Size (px)

DESCRIPTION

njkszndfshfdv

Citation preview

LAPORAN PRAKTIKUM KOMUNIKASI DATAPDU

Disusun Oleh :Eva Novianingsih(04)TT-2A

PROGRAM STUDI TEKNIK TELEKOMUNIKASIJURUSAN TEKNIK ELEKTROPOLITEKNIK NEGERI MALANG2014I. TUJUAN KHUSUS

1. Mampu menghubungkan HP dengan komputer2. Mampu mengkonversi teks yang dikirim dan diterima ke format Protocol Data Unit (PDU)

II. TUJUAN UMUM

1. Dapat melakukan instalasi untuk komponen yang tidak terdapat pada Delphi (MSCOMM)2. Dapat membuat program untuk komunikasi antara komputer ke Handphone.3. Dapat mengirimkan dan menerima SMS (Sort Message Service) dari komputer.4. Dapat merubah format teks ke dalam format Protocol Data Unit (PDU) dengan program Delphi

III. ALAT DAN BAHAN

1. Program Delphi versi 6 ke atas2. Komponen serial (MSCOMM)3. Handphone (Siemens type M35,C45 atau A55)1 buah4. Kabel data5. Komputer 1 buah

IV. DASAR TEORI

A. 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. DISKRIPSI PROGRAM

Program ini dibuat agar mahasiswa dapat membuat program untuk komunikasi antara komputer dengan HP menggunakan MSCOMM dengan menggunakan format PDU. Program ini juga mempermudah kita untuk mengirimkan dan menerima SMS dari komputer.

VI. FLOWCHARTFLOWCHART

VII. LISTING PROGRAM

unit Unpdu;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type TForm1 = class(TForm) Label1: TLabel; Panel1: TPanel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Edhasil: TEdit; Edno: TEdit; Edhasil2: TEdit; Label6: TLabel; Label8: TLabel; Label9: TLabel; Memo2: TMemo; btkonversi: TButton; bthapus: TButton; btexit: TButton; Memo3: TMemo; edsms: TEdit; Memo1: TMemo; Label7: TLabel; Memo4: TMemo; btkonversi2: TButton;// procedure Label6Click(Sender: TObject);// procedure Edhasil2Change(Sender: TObject);// procedure btexitClick(Sender: TObject);// procedure EdsmsChange(Sender: TObject);// procedure Label2Click(Sender: TObject);// procedure EdhasilChange(Sender: TObject); procedure btkonversiClick(Sender: TObject);// procedure EdnoChange(Sender: TObject); procedure bthapusClick(Sender: TObject); procedure btexitClick(Sender: TObject); procedure btkonversi2Click(Sender: TObject); procedure Memo1Change(Sender: TObject);// procedure Memo1Change(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1; t_biner,t_heksa:string;

implementation

{$R *.dfm}

procedure kebiner1(t_Hexa:string);vardata : string;begindata := 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;begindata := 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;begintemp :=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_center(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'; //sms encoding='00'; //7bit expired='FF'; //maksimumbegin sms_center(edsms.Text); nomer_penerima(edno.Text); text2pdu(memo1.Text);

memo3.Text:=edhasil.Text+tipe_sms+no_ref+edhasil2.Text+bentuk_sms+encoding+expired+memo2.Text;end;

//procedure Tform1.edsmsKeyPress(Sender: TObject; var Key: Char);//begin// if key=chr(vk_return) then// begin// konversiClick(self);// end;//end;

procedure TForm1.bthapusClick(Sender: TObject);begin edsms.Clear; edhasil.Clear; edno.Clear; edhasil2.Clear; memo1.Clear; memo2.Clear;end;

//procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);//begin// if key=chr(vk_return) then// begin// Konversiclick(self);// key:=chr(vk_back);// end;//end;

procedure TForm1.btexitClick(Sender: TObject);beginApplication.Terminateend;

procedure TForm1.btkonversi2Click(Sender: TObject);const tipe_sms='11'; no_ref='00'; bentuk_sms='00'; //sms encoding='00'; //7bit expired='FF'; //maksimumbeginmemo4.Text:=edsms.Text+tipe_sms+no_ref+edno.Text+bentuk_sms+encoding+expired+memo1.Text;end;procedure TForm1.Memo1Change(Sender: TObject);begin

end;

end.VIII. TAMPILAN PROGRAM

IX. KESIMPULAN

1. Kita dapat mempelajari bahasa pemrograman Delphi antara pc to HP dengan menggunakan MSCOMM dengan format PDU2. Kita dapat mengetahui bagian-bagian atau header untuk mengirim maupun menerima pesan seperti Nomor SMS Center Tipe SMS, Nomor Referensi SMS, Nomor Ponsel Penerima, Bentuk SMS, Skema encoding Data I/O, jangka waktu sebelum SMS expired, dan isi SMS.

START

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