Top Banner
LAPORAN PRAKTIKUM ( KOMUNIKASI DATA) PROGRAM STUDI TEKNIK TELEKOMUNIKASI D3 Dosen Pengajar : Dr. M. Sarosa, Dipl. Ing. MT. Disusun oleh : Abd. Hadi Muzaki T. Telekomunikasi / 2D
25
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lap or An

LAPORAN PRAKTIKUM

( KOMUNIKASI DATA)

PROGRAM STUDI TEKNIK TELEKOMUNIKASI D3

Dosen Pengajar : Dr. M. Sarosa, Dipl. Ing. MT.

Disusun oleh :Abd. Hadi Muzaki

T. Telekomunikasi / 2D

KEMENTRIAN PENDIDIKAN DAN KEBUDAYAANPOLITEKNIK NEGERI MALANG

Jl. Soekarno Hatta 9 PO. BOX 04 Malang 65141 Telp. (0341) 404424-25 (Hunting) Fax. (0341)404420

http://www.poltek-malang.ac.id

Page 2: Lap or An

Laporan Praktikum Komunikasi Data

I. Tujuan

a. Menampilkan simulasi sinyal RZ, NRZ-L, Manch, HDB3

b. Memahami Perbedaan Sinyal RZ, NRZ-L, Manch, HDB3

c. Memahami Pemrograman Delphi.

d. Membuat program untuk mensimulasi Karakteristik Sinyal Analog dan Sinyal Digital.

II. Alat & Bahan

a. Program delphi versi 6 ke atas

b. Satu unit Komputer

III. Langkah Kerja

a. Membuat form sesuai ketentuan

b. Mengedit caption, name, label dan lain-lain

c. Membuat program

d. Memperbaiki jika terjadi eror pada program

e. Menjalankan program

Page 3: Lap or An

Laporan Praktikum Komunikasi Data

IV. Flowchart

Program Utama

START

inisialisasi library, form dan objek

pendukung

Baca input data dari komponen edit

Apakah data kosong?

Hapus kanvas

Tampilkan dialog box perintah

untuk input dataHapus kanvas

Gambar sumbu

C

A

B

Page 4: Lap or An

Laporan Praktikum Komunikasi Data

Gambar gelombang kotak

Gambar gelombang RZ

Gambar gelombang NRZ-L

Gambar gelombang manchester

Gambar gelombang HDB3

Apakah ada perubahan

data?

C

A

B

YA

TDK

Page 5: Lap or An

Laporan Praktikum Komunikasi Data

Flowchart Gelombang Kotak

START

i=0

i=jumlah data?

data[i] = ‘1’ ?

gambar sinyal ‘1’ dengan amplitudo = koordinat y-

100

gambar sinyal ‘0’ dengan amplitudo = koordinat y

i:=i+i

YA

TDK

YA

TDK

gambar garis vertikal yang menghubungkan 2 sinyal

data yang berbeda

apa data ke i tidak sama dengan data

setelahnya?

YA

TDK

END

Page 6: Lap or An

Laporan Praktikum Komunikasi Data

Flowchart Gelombang RZ

i=0

gambar garis vertikal naik dari (x2,y1) ke (x2,y1-100)

gambar garis vertikal turun dari (x2,y1) ke (x2,y1+100)

i:=i+i

TDK

tarik garis horizontal sejajar sumbu x menuju end point pad akoordinat

((x2+2*pnjg),y1-1)

tarik garis horizontal ke koordinat ((x2+pnjg), y1-100)

tarik garis vertikal kembali menuju sumbu x dgn koordinat

((x2+pnjg),y1-1)

tarik garis horizontal ke koordinat ((x2+pnjg), y1+100)

tarik garis vertikal kembali menuju sumbu x dgn koordinat

((x2+pnjg),y1-1)

tarik garis horizontal sejajar sumbu x menuju end point pad akoordinat

((x2+2*pnjg),y1-1)

i=jumlah data?

data[i] = ‘1’ ? YA

TDK

YA

START

END

Page 7: Lap or An

Laporan Praktikum Komunikasi Data

Flowchart Gelombang NRZ-L

i:=0

j=jumlah data?

data[j] = ‘0’ ?

nrzl.Canvas.MoveTo(x1,y1-25); nrzl.Canvas.MoveTo(x1,y1+25);

i:=i+i

YA

TDK

YA

TDK

nrzl.Canvas.MoveTo(x2,y1-25);

nrzl.Canvas.LineTo(x2,y1+25);

nrzl.Canvas.LineTo(x2,y1-25);

x1:=i*round(pnjg)-round(pnjg); x2:=(i+1)*round(pnjg)-round(pnjg);

nrzl.Canvas.LineTo(x2,y1+25);

data[j] = ‘0’? ‘1’ ?YA

TDK

nrzl.Canvas.MoveTo(x2,y1-25);

nrzl.Canvas.LineTo(x2,y1+25);

START

END

Page 8: Lap or An

Laporan Praktikum Komunikasi Data

Flowchart gelombang Manchester

i=0

tempatkan pixel pada posisi (x2,y1-25)

tempatkan pixel pada posisi (x2,y1+25)

i:=i+i

TDK

tarik garis horizontal ke ((x2+2*pnjg),y1+25)

tarik garis horizontal ke titik(x2+pnjg),y1-25)

tarik garis vertikal turun ke(x2+pnjg),y1+25)

tarik garis horizontal ke titik(x2+pnjg),y1+25)

tarik garis vertikal naik ke(x2+pnjg),y1-25)

tarik garis horizontal ke ((x2+2*pnjg),y1-25)

i=jumlah data?

data[i] = ‘0’ ?

data[i]=data[i+1] ?

tempatkan pixel pada posisi((x2+2*pnjg),y1+25)

tarik garis vertikal naik ke((x2+2*pnjg),y1-25)

YA

START

END

END

Page 9: Lap or An

Laporan Praktikum Komunikasi Data

Flowchart Program HDB3

START

jumnol:=0;jumsat:=0;p:=1;flag:=0;j:=1

j=jumlah data?

hdb3.Canvas.Pen.style:=pssolid;hdb3.Canvas.Pen.Color:=clred;hdb3.Canvas.MoveTo(0,y1-1);

hdb3.Canvas.LineTo(1000,y1-1);x1:=round(j*pnjg-pnjg);

x2:=round(x1+pnjg);

data[j] = ‘1’ ?

flag=0 ?

p:=p+1

p:=p

jumnol:=0; jumsat:=jumsat+1; cons:=round(Power(-1,p)*25); with hdb3.Canvas do MoveTo(x1,round(y1-1)); LineTo(x1,round(y1-cons)); LineTo(x2,round(y1-cons)); LineTo(x2,round(y1-1));

p:=p; jumnol:=jumnol+1;

flag:=1; hdb3.Canvas.MoveTo(x1,y1-1); hdb3.Canvas.LineTo(x1,y1-cons); hdb3.Canvas.LineTo(x2,y1-cons); hdb3.Canvas.LineTo(x2,y1-1);

jumnol mod 4 =0?

flag =0

A

YA

TDK

YA

TDK

YA

TDK

B

Page 10: Lap or An

Laporan Praktikum Komunikasi Data

V. Listing Program

unit alldigital;

interface

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

type Tfrmdigital = class(TForm) kotak: TImage; Label1: TLabel; rz: TImage; nrzl: TImage; manchester: TImage;

A

p:=p+1; cons:=round(Power(-1,p)*25); hdb3.Canvas.MoveTo(x2,y1-1); hdb3.Canvas.LineTo(x2,y1-cons); hdb3.Canvas.LineTo(round(x2+pnjg),y1-cons); hdb3.Canvas.LineTo(round(x2+pnjg),y1-1);

flag=0 ?

End

YA

TDK

B

Page 11: Lap or An

Laporan Praktikum Komunikasi Data

hdb3: TImage; Label2: TLabel; Label4: TLabel; Label5: TLabel; Panel1: TPanel; eddata: TEdit; Label8: TLabel; Label6: TLabel; bitrate: TEdit; label3: TLabel; procedure eddataChange(Sender: TObject);

procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } end;

var frmdigital: Tfrmdigital;

implementation

{$R *.dfm}

procedure sumbu(image:Timage;ax,ay,b,c:integer);beginimage.Canvas.Pen.Color:=clblack;image.Canvas.MoveTo(ax,ay);image.Canvas.LineTo(ax+b,ay);image.Canvas.MoveTo(ax,ay);image.Canvas.LineTo(ax,ay-c);image.Canvas.MoveTo(ax,ay);

Page 12: Lap or An

Laporan Praktikum Komunikasi Data

image.Canvas.LineTo(ax,ay+c);end;

procedure grid(image:Timage);var i,n:integer;pnjg:double;begin n:=length(frmdigital.eddata.Text); pnjg:=frmdigital.kotak.Width/round(n); for i:=1 to n do begin image.Canvas.Pen.Style:=psdot; image.Canvas.MoveTo(round(pnjg*i),0); image.Canvas.LineTo(round(pnjg*i),100); end;end;

procedure Tfrmdigital.eddataChange(Sender: TObject);var cons,i,n,p,x1,x2,y1,y2,nol,z,awal:integer; j,jumnol,jumsat,flag:integer; data,biner:string; pnjg,br:double; a,pol:boolean;

begin x1:=0; y1:=50;

if length(eddata.Text)=0 then begin

Page 13: Lap or An

Laporan Praktikum Komunikasi Data

Showmessage('Masukkan input data biner'); eddata.SetFocus; kotak.Picture:=nil; rz.Picture:=nil; nrzl.Picture:=nil; manchester.Picture:=nil; hdb3.Picture:=nil; end else

begin data:=eddata.Text; n:=length(eddata.Text); pnjg:=kotak.Width/round(n); br:=1/n; frmdigital.bitrate.Text:=floattostr(br);

kotak.Picture:=nil;rz.Picture:=nil;nrzl.Picture:=nil;manchester.Picture:=nil;hdb3.Picture:=nil;

sumbu(kotak,x1,y1,1000,50);sumbu(rz,x1,y1,1000,50);sumbu(nrzl,x1,y1,1000,50);sumbu(manchester,x1,y1,1000,50);sumbu(hdb3,x1,y1,1000,50);

kotak.Canvas.Pen.Color:=clblue;rz.Canvas.Pen.Color:=clfuchsia;

Page 14: Lap or An

Laporan Praktikum Komunikasi Data

nrzl.Canvas.Pen.Color:=clpurple;manchester.Canvas.Pen.Color:=clred;{startpen(kotak);startpen(rz);startpen(nrzl);startpen(manchester);startpen(hdb3);}

//=======================Gambar gelombang kotak=======================

for i:=0 to n dobegin if data[i] = '1' then begin x1:=i*round(pnjg)-round(pnjg); x2:=(i+1)*round(pnjg)-round(pnjg); kotak.Canvas.MoveTo(x1,y1-25); kotak.Canvas.LineTo(x2,y1-25); end else begin x1:=i*round(pnjg)-round(pnjg); x2:=(i+1)*round(pnjg)-round(pnjg); kotak.Canvas.MoveTo(x1,y1-1); kotak.Canvas.LineTo(x2,y1-1);end; if data[i]<>data[i+1] then begin x2:=(i+1)*round(pnjg)-round(pnjg); kotak.Canvas.MoveTo(x2,y1-25); kotak.Canvas.LineTo(x2,y1-1); end

Page 15: Lap or An

Laporan Praktikum Komunikasi Data

end;//====================================================================//=======================Gambar gelombang NRZ-L=======================for i:=0 to n dobegin if data[i] = '0' then begin x1:=i*round(pnjg)-round(pnjg); nrzl.Canvas.MoveTo(x1,y1-25); x2:=(i+1)*round(pnjg)-round(pnjg); nrzl.Canvas.LineTo(x2,y1-25); end else begin x1:=i*round(pnjg)-round(pnjg); nrzl.Canvas.MoveTo(x1,y1+25); x2:=(i+1)*round(pnjg)-round(pnjg); nrzl.Canvas.LineTo(x2,y1+25);end;

if data[i]<>data[i+1] then begin x2:=(i+1)*round(pnjg)-round(pnjg); nrzl.Canvas.MoveTo(x2,y1-25); nrzl.Canvas.LineTo(x2,y1+25); endend;

//====================================================================

Page 16: Lap or An

Laporan Praktikum Komunikasi Data

//=======================Gambar gelombang Manchester==================pnjg:=round(manchester.Width/round(2*n));for i:=0 to n dobegin if data[i] = '0' then begin x2:=round((2*i*pnjg)-(2*pnjg));

manchester.Canvas.MoveTo(x2,y1-25); manchester.Canvas.LineTo(round(x2+pnjg),y1-25); manchester.Canvas.LineTo(round(x2+pnjg),y1+25); manchester.Canvas.LineTo(round(x2+2*pnjg),y1+25);

end //endif else begin x2:=round((2*i*pnjg)-(2*pnjg));

manchester.Canvas.MoveTo(x2,y1+25); manchester.Canvas.LineTo(round(x2+pnjg),y1+25); manchester.Canvas.LineTo(round(x2+pnjg),y1-25); manchester.Canvas.LineTo(round(x2+2*pnjg),y1-25);end; //endif

if data[i]=data[i+1] then begin manchester.Canvas.MoveTo(round(x2+2*pnjg),y1+25); manchester.Canvas.LineTo(round(x2+2*pnjg),y1-25); end;

end; //end loop

Page 17: Lap or An

Laporan Praktikum Komunikasi Data

//====================================================================

//=======================Gambar gelombang RZ==========================pnjg:=round(rz.Width/round(2*n));for i:=0 to n dobegin if data[i] = '1' then begin x2:=round((2*i*pnjg)-(2*pnjg)); rz.Canvas.MoveTo(x2,y1-1); rz.Canvas.LineTo(x2,y1-25); rz.Canvas.LineTo(round(x2+pnjg),y1-25); rz.Canvas.LineTo(round(x2+pnjg),y1-1); rz.Canvas.LineTo(round(x2+2*pnjg),y1-1);

end else begin x2:=round((2*i*pnjg)-(2*pnjg)); rz.Canvas.MoveTo(x2,y1-1); rz.Canvas.LineTo(x2,y1+25); rz.Canvas.LineTo(round(x2+pnjg),y1+25); rz.Canvas.LineTo(round(x2+pnjg),y1-1); rz.Canvas.LineTo(round(x2+2*pnjg),y1-1);end;

end;

//====================================================================

Page 18: Lap or An

Laporan Praktikum Komunikasi Data

//=======================Gambar gelombang HDB3========================

data:=eddata.Text;n:=length(eddata.Text);pnjg:=hdb3.Width/round(n);

jumnol:=0;jumsat:=0;p:=1;cons:=0;

flag:=0;

for j:=1 to n do begin hdb3.Canvas.Pen.style:=pssolid; hdb3.Canvas.Pen.Color:=clteal; hdb3.Canvas.MoveTo(0,y1-1); hdb3.Canvas.LineTo(1000,y1-1); x1:=round(j*pnjg-pnjg); x2:=round(x1+pnjg);//============================================================================== if data[j] = '1' then begin

if flag=0 then p:=p+1else p:=p; jumnol:=0; jumsat:=jumsat+1; cons:=round(Power(-1,p)*25);

Page 19: Lap or An

Laporan Praktikum Komunikasi Data

with hdb3.Canvas do begin MoveTo(x1,round(y1-1)); LineTo(x1,round(y1-cons)); LineTo(x2,round(y1-cons)); LineTo(x2,round(y1-1)); end end

else if data[j] = '0' then begin p:=p; jumnol:=jumnol+1; if(jumnol mod 4 =0) then begin flag:=1;

hdb3.Canvas.MoveTo(x1,y1-1); hdb3.Canvas.LineTo(x1,y1-cons); hdb3.Canvas.LineTo(x2,y1-cons); hdb3.Canvas.LineTo(x2,y1-1); end //endif else flag := 0;

if flag=1 then begin p:=p+1; cons:=round(Power(-1,p)*25); hdb3.Canvas.MoveTo(x2,y1-1); hdb3.Canvas.LineTo(x2,y1-cons); hdb3.Canvas.LineTo(round(x2+pnjg),y1-cons); hdb3.Canvas.LineTo(round(x2+pnjg),y1-1); end //endif

Page 20: Lap or An

Laporan Praktikum Komunikasi Data

//else nol.Font.Color:=clblack;

end;

end;

end;

end;

//====================================================================

procedure Tfrmdigital.FormShow(Sender: TObject);beginkotak.Picture:=nil;rz.Picture:=nil;nrzl.Picture:=nil;manchester.Picture:=nil;hdb3.Picture:=nil;eddata.Text:='1010';end;

end.

Page 21: Lap or An

Laporan Praktikum Komunikasi Data

VI. .Simulasi (RZ, NRZ-L, Manch, HDB3)

Page 22: Lap or An

Laporan Praktikum Komunikasi Data