Professional Documents
Culture Documents
KOMUNIKASI SERIAL
Dosen Pembimbing :
M. Sarosa, DIPL.ING, MT
Oleh :
Edy Nur Ardiansyah (0831130008)
I. Tujuan Khusus
· Mampu melakukan komunikasi antara dua komputer menggunakan interface serial
RS 232
· Memahami sistem pengkabelan untuk menghubungkan dua komputer melalui port
serial
· Memahami standarisasi komunikasi serial RS 232
· Memahami prosedur untuk melakukan komunikasi serial RS 232
R
S E
E C
. .
N E
. .
D I
0 1 1 0 1 0 0 1 0 0
E V
0 0
R E
. Dibutuhkan 1 line mengirimkan 8 bit . R
Pada Gambar 2 ditampilkan bahwa transmisi serial membutuhkan waktu yang relatif
lebih lama dibandingkan dengan transmisi paralel, hal ini dikarenakan untuk komunikasi
serial hanya menggunakan satu saluran. Berikut ini gambar arah transmisi dari komunikasi
serial.
Arah transmisi
Bit-bit yang ditransmisikan
1 1 0 1 0 0 1 0
SPACE
Sebagai contoh, jika akan dikirim data serial 10011010, maka agar data tersebut
dapat dikirim dan diterima dengan baik, selang waktu yang digunakan oleh pengirim dari
penerima satu dengan yang lain harus sama. Jika penerima telah menerima penyesuaian bit,
maka seharusnya juga harus segera menerima penyesuaian karakter, dan penerima juga harus
mengetahui awal dan akhir blok data yang dikirim. Penyesuaian yang diperlukan dapat
diperoleh secara sinkron maupun asinkron, data yang dikirim oleh terminal komputer lewat
jalur RX dimasukan ke pengubah seri ke paralel sebelum diteruskan ke komputer.
B. Parameter Komunikasi Serial
Pada komunikasi serial data yang dikirimkan berupa bit ‘1’ (high) atau bit ‘0’ (low),
untuk bit ‘1’ diwakili sebagai tegangan +3 s/d +15 volt dan bit ’0’ diwakili sebagai tegangan
-3 s/d -15 volt dengan demikian tegangan dalam komunikasi serial memiliki ayunan tegangan
maksimal sebesar 30 volt.
Suatu karakter yang akan ditransfer harus didahului oleh kondisi (high) ke rendah
(low) yang dinamakan start bit, yang digunakan untuk mensikronkan antara pengirim dan
penerima. Setelah start bit, selanjutnya berisi karakter yang diikuti dengan parity bit dan
terakhir adalah stop bit. Berikut ini contoh sinyal informasi komunikasi serial RS232 pada
pengiriman huruf ”A” dalam format ASCII tanpa bit paritas.
Untuk konfigurasi pin out antara DB9 (female) dengan DB9 (female) yang lain
ditunjukan pada gambar berikut :
TX RX
PIN 1 : CD PIN 1 : CD
PIN 2 : RX PIN 2 : RX
PIN 3 : TX PIN 3 : TX
PIN 5 : SG PIN 5 : SG
PIN 9 : RI PIN 9 : RI
10. Buka file CportLib7 pada folder file cport uncrompress ditempatkan, disini
ditempatkan pada C:\Program Files\Borland\Delphi7\comserial
11. Setelah itu tekan tombol install
12. Buka DsgnCport7 pada folder file cport uncrompress ditempatkan, disini
ditempatkan pada C:\Program Files\Borland\Delphi7\comserial
13. Cek di program delphi apakah komponen sudah terinstall, jika proses install
sukses akan tampak seperti gambar dibawah.
V. Tugas Praktikum
· persiapkan instalasi kabel pada konektor DB9 (female) seperti Gambar 4.
· Buat program untuk mengirimkan serta menerima pesan (teks) secara serial dari PC
ke PC.
Berikut ini langkah-langkah untuk membuat program untuk mengirimkan dan
menerima pesan (teks) dengan program delphi :
1. Bukalah program delphi dan buat aplikasi baru.
2. Tambahkan pada form tiga buah komponen button, dua buah komponen label,
dua buah komponen memo, satu buah komponen comport dan satu buah
komponen edit. Selanjutnya atur tata letak komponen-komponen tersebut seperti
gambar dibawah ini.
8. Ketikkan program dibawah ini untuk menutup program dan menutup port serial
(com) dengan cara melakukan double klik pada btexit sebagai event on click.
procedure frmpctopc.btexitClick(Sender: TObject);
begin
comserial.close; //menutup port com
application.terminate; //keluar dari program
end;
9. Jalankan program dan perbaiki apabila terdapat kesalahan!
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, CPort;
type
Tfrmpctopc = class(TForm)
mekirim: TMemo;
meterima: TMemo;
Comserial: TComPort;
Label1: TLabel;
Label2: TLabel;
mekoreksiterima: TMemo;
mekoreksikirim: TMemo;
btsend: TButton;
btexit: TButton;
btsetup: TButton;
edinputteks: TEdit;
ComPort1: TComPort;
procedure ComserialRxChar(Sender: TObject; Count: Integer);
procedure FormCreate(Sender: TObject);
procedure btsendClick(Sender: TObject);
procedure btsetupClick(Sender: TObject);
procedure btexitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmpctopc: Tfrmpctopc;
hexa,biner,ascii:string;
implementation
{$R *.dfm}
procedure heksakebiner(heksa:string);
var
data:string;
begin
data:=heksa;
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';
biner:=biner+''+data;
end;
Procedure ubahkekoreksi1(eye:string);
var
m:integer;
z:integer;
//huruf:string ;
begin
for m:=1 to length(eye)do
begin
ascii:=IntToStr(ord(eye[m]));
hexa:=IntToHex(ord(eye[m]),1);
for z:=1 to length(hexa)do
begin
heksakebiner(hexa[z]);
end;
frmpctopc.Mekoreksiterima.Lines.Add(eye[m]+'-->'+ascii+'-->'+hexa+'--
>'+biner);
biner:='';
end;
end;
Procedure ubahkekoreksi2(eye:string);
var
m:integer;
z:integer;
//huruf:string ;
begin
for m:=1 to length(eye)do
begin
ascii:=IntToStr(ord(eye[m]));
hexa:=IntToHex(ord(eye[m]),1);
for z:=1 to length(hexa)do
begin
heksakebiner(hexa[z]);
end;
frmpctopc.Mekoreksikirim.Lines.Add(eye[m]+'-->'+ascii+'-->'+hexa+'--
>'+biner);
biner:='';
end;
end;
procedure Tfrmpctopc.ComserialRxChar(Sender: TObject; Count: Integer);
var
str:string; //variabel menyimpan data yang diterima
begin
comserial.ReadStr(str, count);
meterima.Lines.Add('RAMA:'+ str);
ubahkekoreksi1(str);
end;
end.
VIII. TAMPILAN
Gambar7. Databit Tx 8, Rx 7
Gambar8. Databit Tx 8, Rx 6
Gambar9. Databit Tx 8, Rx 5
Gambar10. Databit Tx 7, Rx 8
Gambar11. Databit Tx 6, Rx 8
Gambar12. Databit Tx 5, Rx 8
Gambar13. Databit Tx 5, Rx 5
Gambar14. Databit Tx 6, Rx 6
Gambar15. Databit Tx 7, Rx 7
IX. TAMPILAN
comserial.showsetupdialog;
end;
str:=edinputteks.Text;
comserial.writestr(str);
mekirim.Lines.Add('EDY:'
+ edinputteks.Text);
ubahkekoreksi2(str);
end
25