Anda di halaman 1dari 26

LAPORAN PRAKTIKUM II

KOMUNIKASI DATA
PENGKODEAN DATA DIGITAL
( RZ, NRZ-L, D-MANCHESTER, AMI )

Oleh :
Ridho Wicaksono ( 18 / TT 2D )
1331130035

PROGRAM STUDI TEKNIK TELEKOMUNIKASI


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI MALANG
2015
BAB I
PENDAHULUAN

1.1 Tujuan
1.1.1 Tujuan Umum
(1.)Memahami macam-macam pengkodean data digital ( RZ , NRZ-L , D-
MANCHESTER , AMI )
(2.)Memahami teknik pengkodean data digital
(3.)Mampu melakukan simulasi pengodean data digital

1.1.2 Tujuan Khusus


(1.)Membuat program untuk mensimulasikan karakteristik pengkodean data digital ( RZ ,
NRZ-L , D-MANCHESTER , AMI )
(2.)Membuat flowchart teknik pengkodean data digital.

1.2 Teori Penunjang


1.2.1 Pengkodean sinyal digital

Data digital merupakan data yang memiliki deretan nilai yang berbeda dan
memiliki ciri-ciri tersendiri. Contoh data digital adalah teks, deretan bilangan, dan
karakter-karakter yang lain. Data digital dalam bentuk karakter yang dapat dipahami
manusia tidak dapat langsung ditransmisikan dalam sistem komunikasi, data harus
terlebih dahulu diubah ke dalam bentuk biner. Jadi, data digital ditransmisikan dalam
bentuk deretan biner. Sedangkan sinyal digital merupakan sinyal untuk menampilkan
data digital. Deretan pulsa yang berbeda dan tidak terjadi secara terus-menerus
merupakan contoh sinyal digital.
Pengkodean data digital ditujukan untuk membangun sinyal digital, yang
meliputi: unipolar, polar dan bipolar. Unipolar merupakan pengkodean paling
sederhana dimana data digital yang telah berbentuk biner di diubah ke bentuk pulsa,
biner ‘1’ diwujudkan dalam suatu tegangan positif dan biner ‘0’ sebagai tanpa tegangan
atau nol volt. Gambar 2.1 menampilkan contoh sinyal digital sederhana dari suatu data
101100110B.
Amplitudo
1 0 1 1 0 0 1 1 0

t
Unipolar

Gambar 1. Sinyal digital unipolar dari data 101100110B

Pengkodean polar bercirikan menggunakan dua level tegangan positif dan


negatif sehingga dapat mengeliminasi timbulnya komponen DC. Pengkodean polar
terdiri atas NRZ (non return to zero), RZ (return to zero) dan biphase.

Faktor yang menentukan sukses dari receiver dalam mengartikan sinyal yang
datang :
1. Data rate (kecepatan data) : peningkatan data rate akan meningkatkan bit error
rate (kecepatan error dari bit).
2. S/N : peningkatan S/N akan menurunkan bit error rate.
3. Bandwidth : peningkatan bandwidth dapat meningkatkan data rate.

Lima faktor yang perlu dinilai atau dibandingkan dari berbagai teknik
komunikasi :

1. Spektrum sinyal : disain sinyal yang bagus harus mengkonsentrasikan kekuatan


transmisinya pada daerah tengah dari bandwidth transmisi; untuk mengatasi distorsi
dalam penerimaan sinyal digunakan disain kode yang sesuai dengan bentuk dari
spektrum sinyal transmisi.
2. Clocking : menentukan awal dan akhir dari tiap posisi bit dengan mekanisme
synchronisasi yang berdasarkan pada sinyal transmisi.
3. Deteksi error : dibentuk dalam skema fisik encoding sinyal.
4. Interferensi sinyal dan Kekebalan terhadap noise
5. Biaya dan kesulitan : semakin tinggi kecepatan pensinyalan untuk memenuhi
data rate yang ada, semakin besar biayanya.
Gambar 2. Jenis-jenis sinyal digital

1. NRZ (Non-Return To Zero)


Format yang paling mudah dalam mentransmisikan sinyal digital adalah
dengan menggunakan dua tingkat tegangan yang berlainan untuk dua jenis digit biner.
Kode-kode biner dikonversikan ke level tegangan tertentu sesuai dengan nilainya.
Tingkat tegangan tetap konstan sepanjang interval bit yang ditransmisikan. Format
pengkodean ini dibagi menjadi dua tipe, yaitu:
Nonreturn-to-Zero-Level (NRZ-L) yaitu suatu kode dimana tegangan negatif dipakai
untuk mewakili suatu binary dan tegangan positif dipakai untuk mewakili binary
lainnya.

Nonreturn to Zero Inverted (NRZI) yaitu suatu kode dimana satu transisi (low ke
high atau high ke low) pada awal suatu bit time akan dikenal sebagai binary '1' untuk
bit time tersebut; tidak ada transisi berarti binary '0'. Sehingga NRZI merupakan salah
satu contoh dari diferensial encoding.
Keuntungan differensial encoding : lebih kebal noise, tidak dipengaruhi oleh level
tegangan. Kelemahan dari NRZ-L maupun NRZI : keterbatasan dalam komponen dc
dan kemampuan synchronisasi yang buruk

Gambar 2.2 menampilkan perbedaan kedua tipe pengkodean tersebut.


0 1 0 0 1 1 0 0 1

NRZ-L

NRZ-I

Gambar 3. Perbedaan NRZ-L dan NRZ-I

2. Return To Zero (Multilevel Binary)


Format pengkodean selalu menuju ke level nol pada setengah periodenya.
Biner ‘0’ diwakili oleh perubahan level dari negatif ke nol sedangkan biner ‘1’ diwakili
oleh perubahan dari positif ke nol. Gambar 2.3 menampilkan contoh sinyal hasil
pengkodean return to zero (RZ).

0 1 0 0 1 1 0 0 1

RZ

Gambar 4. Sinyal Return To Zero

3. Biphase
Biphase merupakan format pengkodean yang dikembangkan untuk mengatasi
keterbatasan kode NRZ. Dikenal dua teknik pengkodean biphase, yaitu Manchester dan
Differensial Manchester.
Manchester yaitu suatu kode dimana ada suatu transisi pada setengah dari periode. tiap
bit : transisi low ke high mewakili '1' dan high ke lob mewakili '0'.

Differential manchester yaitu suatu kode dimana binary '0' diwakili oleh
Adanya transisi di awal periode suatu bit dan binary '1' diwakili oleh ketiadaan transisi
di awal periode suatu bit.

Keuntungan rancangan biphase :

1. Synchronisasi : karena adanya transisi selama tiap bit time, receiver dapat men-
synchron-kan pada transis tersebut atau dikenal sebagai self clocking codes.
2. Tidak ada komponen dc.
3. Deteksi terhadap error : ketiadaan dari transisi yang diharapkan, dapat dipakai
untuk mendeteksi error.

Kekurangannya :

1. memakai bandwidth yang lebih lebar dari pada multilevel binary.

Gambar 2.4 menampilkan perbedaan kedua tipe pengkodean tersebut.

0 1 0 0 1 1 0 0 1

Manchester

D-Manchester

Gambar 5.Perbedaan Manchester dan D-Manchester

4. B8ZS dan HDB3


Bipolar with 8-Zeros Substitution (B8ZS ) yaitu suatu kode Diana :

 Jika terjadi oktaf dari semua nol dan pulsa tegangan terakhir
yangmendahului oktaf ini adalah positif, maka 8 nol dari oktaf tersebut di-
encode sebagai 000+-0- +
 Jika terjadi oktaf dari semua nol dan pulsa tegangan terakhir yang
mendahului oktaf ini adalah negatif, maka 8 nol dari oktaf tersebut di- encode
sebagai 000-+0+ -

High-density bipolar-3 zeros (HDB3 ) yaitu suatu kode dimana


menggantikan string-string dari 4 nol dengan rangkaian yang mengandung satu
atau dua pulsa atau disebut kode violation, jika violation terakhir positive
maka violation ini pasti negative dan sebaliknya (lihat tabel 3.3).

Tabel 3.3. Aturan subsitusi HDB3


Polaritas bit Polaritas bit
sebelumnya sebelumnya

+ 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0

Berubah Berubah
menjadi menjadi

+ 0 0 0 + - 0 - + - 0 0 0 - + 0 + -

violasi violasi violasi violasi

Gambar 6. Aturan pengkodean B8ZS


HDB3 (High-Density Bipolar-3 Zero) memiliki prinsip yang sama dengan
B8ZS, hanya pada HDB3 digunakan untuk menggantikan deretan bit ‘0’ sebanyak 4
buah. Gambar 2.6 menampilkan aturan penggantian bila ditemukan deretan bit ‘0’ lebih
dari 4 buah. Contoh hasil pengkodean menggunakan B8ZS dan HDB3 ditampilkan
pada Gambar 2.7.

Polaritas bit Polaritas bit


sebelumnya sebelumnya

+ 0 0 0 0 - 0 0 0 0

+ 0 0 0 + - 0 0 0 -

violasi violasi

Jika banyaknya bit ‘1’ sampai bit substitusi adalah ganjil

Polaritas bit Polaritas bit


sebelumnya sebelumnya

+ 0 0 0 0 - 0 0 0 0

+ - 0 0 + - + 0 0 +

violasi violasi

Jika banyaknya bit ‘1’ sampai bit substitusi adalah genap

Gambar 7.Aturan pengkodean HDB3


1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0

AMI

0 0 0 V B 0 V B
B8ZS

0 0 0 V B 0 0 V B 0 0 V

HDB3

Gambar 8. Contoh pengkodean untuk B8ZS dan HDB3

1.2.2. Teknik Penggambaran Sinyal di Delphi


 Menggambar Sinyal RZ

y a

b x
0,0
c

1 0 1

Gambar 9. Penggambaran sinyal RZ pada umumnya

Untuk menggambarkan sinyal RZ, koordinat 0,0 terletak pada perpotongan


antara sumbu x dan sumbu y. Langkah pertama untuk menggambar adalah melalui
koordinat 0,0, sinyal RZ memiliki 2 kondisi sinyal yang ditandai dengan adanya bit ‘1’
dan bit ‘0’. Dimana untuk bit ‘1’ di wakili oleh gambar sebagai berikut :

a1

b1 b2

a2
Gambar 10. Kondisi sinyal RZ pada posisi bit ‘1’

Pada gambar di atas dapat dilihat bahwa kondisi bit ‘1’ diwakili oleh 4 garis
dimana terdapat 2 garis yang mempunyai panjang yang sama (a1=a2, b1=b2).
Sedangkan untuk bit ‘0’ diwakili oleh gambar sebagai berikut :

a2
b1 b2

a1
Gambar 11. Kondisi sinyal RZ pada posisi bit ‘0’
Sama halnya untuk menggambarkan sinyal RZ bit ‘1’, bit ‘0’ juga memiliki 4
garis dimana terdapat 2 garis yang mempunyai panjang yang sama.

 Penggambaran sinyal RZ di Komputer

y
0,0

a
t
b x

1 0 1

Gambar 12. Penggambaran sinyal RZ di komputer

Untuk menggambarkan sinyal RZ di komputer sangat berbeda dengan


menggambarkan sinyal RZ pada umumnya. Ini dikarenakan adanya perbedaan
referensi koordinat (0,0), untuk penggambaran di komputer koordinat (0,0) terletak di
pojok kiri atas. Langkah pertama penggambaran sinyal RZ adalah dengan menarik garis
setinggi t menuju koordinat (0,0) pada penggambaran sinyal RZ pada umumnya.
Setelah itu dilihat kondisi dari bit yang akan kita gambar, misalnya, bit ‘1’ maka
penggambarannya sebagai berikut :
y 0,0

a1
t
b1 b2

a2

1
Gambar 13. Penggambaran bit ‘1’ pada komputer

Setelah menuju titik setinggi t dari koordinat (0,0) penggambaran sinyal RZ


pada umumnya, dilanjutkan dengan membuat garis sepanjang b1 ke arah sumbu (0,0)
penggambaran sinyal RZ dengan komputer, setelah itu, dari ujung garis b1, buat garis
sepanjang garis a1 ke arah kanan, selanjutnya dari ujung garis a1 buat garis sepanjang b2
ke arah bawah (berlawanan dengan arah garis b1 / menuju koordinat (0,0)
penggambaran sinyal RZ pada umumnya), setelah itu tarik garis sepanjang a2 dengan
arah sesuai dengan garis a1.
Untuk menggambarkan bit ‘0’ sinyal RZ pada komputer mempunyai cara yang
sama dengan penggambaran sinyal RZ dengan bit’1’. Yang membedakan hanyalah
bentuk dari sinyal RZ bit ‘0’ yang berlawanan arah dengan bit ‘1’.

1.3 Alat dan bahan

(1) PC : 1 Buah
(2) Aplikasi Borland Delphi 7 : disiapkan
BAB II
PEMBAHASAN

2.1 Prosedur Praktikum


Adapun prosedur pada praktikum ini adalah :
(1) Merangkai setiap komponen dipanel borland delphi sesuai dengan konsep tata letak
komponen.

Gambar 14. Tata letak dari setiap komponen RZ

Gambar 15. Tata letak dari setiap komponen RZ


Gambar 16. Tata letak dari setiap komponen D-Manchester

Gambar 17. Tata letak dari setiap komponen AMI

(2) Membuat program untuk pengkodean data digital


(3) Membuat Flowchart dari program yang telah dibuat
(4) Membuat Tugas Praktikum
2.2 Tugas Praktikum
(1) Merangkai setiap komponen dipanel borland delphi sesuai dengan konsep tata
letak komponen.

Gambar 18. Tata letak dari setiap komponen

Keterangan settingan property dari setiap komponen


Komponen Property Setting
Caption Encoding By Ridho Wicaksono
Form1
Name form1
Label1 Caption Teknik Telekomunikasi 2013
Label2 Caption Praktikum Komunikasi Data Semester 4
Label4 Caption Ridho Wicaksono / TT- 2D / 1331130035
Label3 Caption Button Configuration
Label5 Caption RZ
Label6 Caption NRZL
Label7 Caption D-MANCHESTER
Label8 Caption AMI
Image1 Name Image1
Image2 Name Image2
Image3 Name Image3
Image4 Name Image4
Text 101010110
Edit1
Name edbiner
Caption 0
Button 1
Name btnnol
Caption 1
Button 2
Name btnsatu
Caption Del
Button 3
Name btndel
Caption Clear
Button 4
Name btnclear
Caption exit
Button 5
Name btnexit
Caption RZ
Button 6
Name btnrz
Caption NRZL
Button 7
Name btnnrzl
Caption D-MANC
Button 8
Name btnman
Caption AMI
Button 9
Name btnami
Caption ALL
Button 10
Name btnall
Caption -
Panel 1
Name Panel1
2.3 Program Tugas Praktikum

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
btnnol: TButton;
btnsatu: TButton;
edbiner: TEdit;
btndel: TButton;
btnclear: TButton;
btnexit: TButton;
btnrz: TButton;
btnnrzl: TButton;
btnman: TButton;
btnami: TButton;
btnall: TButton;
Label1: TLabel;
Label2: TLabel;
Panel1: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
procedure btnnolClick(Sender: TObject);
procedure btnsatuClick(Sender: TObject);
procedure btnexitClick(Sender: TObject);
procedure btndelClick(Sender: TObject);
procedure btnclearClick(Sender: TObject);
procedure btnrzClick(Sender: TObject);
procedure btnnrzlClick(Sender: TObject);
procedure btnmanClick(Sender: TObject);
procedure btnamiClick(Sender: TObject);
procedure btnallClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
x,y,ax,ay,a,b,c,n,i,k:integer;
edbiner:string;

implementation

{$R *.dfm}
// Prosedur Sinyal RZ //
procedure rz_1(ax,ay,a,b,n:integer);
begin
form1.image1.Canvas.Pen.Color:=clred;
form1.image1.Canvas.Pen.Width:=2;
form1.image1.Canvas.MoveTo(ax+(n-1)*(b+b),ay);
form1.image1.Canvas.LineTo(ax+(n-1)*(b+b),ay-a);
form1.image1.Canvas.LineTo(ax+b+(n-1)*(b+b),ay-a);
form1.image1.Canvas.LineTo(ax+b+(n-1)*(b+b),ay);
form1.image1.Canvas.LineTo(ax+b+b+(n-1)*(b+b),ay);
end;

procedure rz_2(ax,ay,a,b,n:integer);
begin
form1.image1.Canvas.Pen.Color:=clred;
form1.image1.Canvas.Pen.Width:=2;
form1.image1.Canvas.MoveTo(ax+(n-1)*(b+b),ay);
form1.image1.Canvas.LineTo(ax+(n-1)*(b+b),ay+a);
form1.image1.Canvas.LineTo(ax+b+(n-1)*(b+b),ay+a);
form1.image1.Canvas.LineTo(ax+b+(n-1)*(b+b),ay);
form1.image1.Canvas.LineTo(ax+b+b+(n-1)*(b+b),ay);
end;

// Prosedur Sinyal NRZL //


procedure NRZL_1(ax,ay,a,b,i:integer);
begin
form1.image2.Canvas.Pen.Color:=clred;
form1.image2.Canvas.Pen.Width:=2;
form1.image2.Canvas.MoveTo(ax+(i-1)*b,ay+a);
form1.image2.Canvas.LineTo(ax+b+(i-1)*b,ay+a);
end;

procedure NRZL_0(ax,ay,a,b,i:integer);
begin
form1.image2.Canvas.Pen.Color:=clred;
form1.image2.Canvas.Pen.Width:=2;
form1.image2.Canvas.MoveTo(ax+(i-1)*b,ay-a);
form1.image2.Canvas.LineTo(ax+b+(i-1)*b,ay-a);
end;

procedure NRZL_tegak(ax,ay,a,b,i:integer);
begin
form1.image2.Canvas.Pen.Color:=clred;
form1.image2.Canvas.Pen.Width:=2;
form1.image2.Canvas.MoveTo(ax+(i-1)*b,ay+a);
form1.image2.Canvas.LineTo(ax+(i-1)*b,ay-a);
end;
// Prosedur Sinyal D-Manchester //
procedure dmncstr_1(ax,ay,a,b,i:integer);
begin
form1.image3.Canvas.Pen.Color:=clred;
form1.image3.Canvas.Pen.Width:=2;
form1.image3.Canvas.MoveTo(ax+(i-1)*b+((i-1)*b),ay+a);
form1.image3.Canvas.LineTo((ax+(i-1)*b+((i-1)*b))+b,ay+a);
form1.image3.Canvas.LineTo((ax+(i-1)*b+((i-1)*b))+b,ay-a);
form1.image3.Canvas.LineTo((ax+(i-1)*b+((i-1)*b))+2*b,ay-
a);
end;

procedure dmncstr_0(ax,ay,a,b,i:integer);
begin
form1.image3.Canvas.Pen.Color:=clred;
form1.image3.Canvas.Pen.Width:=2;
form1.image3.Canvas.MoveTo(ax+(i-1)*b+((i-1)*b),ay-a);
form1.image3.Canvas.LineTo((ax+(i-1)*b+((i-1)*b))+b,ay-a);
form1.image3.Canvas.LineTo((ax+(i-1)*b+((i-1)*b))+b,ay+a);
form1.image3.Canvas.LineTo((ax+(i-1)*b+((i-1)*b))
+2*b,ay+a);
end;

procedure dtegak(ax,ay,a,b,i:integer);
begin
form1.image3.Canvas.Pen.Color:=clred;
form1.image3.Canvas.Pen.Width:=2;
form1.image3.Canvas.MoveTo((ax+(i-1)*b+((i-1)*b)),ay-a);
form1.image3.Canvas.LineTo((ax+(i-1)*b+((i-1)*b)),ay+a);
end;

// Prosedur Sinyal AMI //

procedure ami_1(ax,ay,a,b,i:integer);
begin
form1.image4.Canvas.Pen.Color:=clred;
form1.image4.Canvas.Pen.Width:=2;
form1.image4.Canvas.MoveTo(ax+(i-1)*b,ay);
form1.image4.Canvas.LineTo(ax+(i-1)*b,ay-a);
form1.image4.Canvas.LineTo(ax+b+(i-1)*b,ay-a);
form1.image4.Canvas.LineTo(ax+b+(i-1)*b,ay);
end;

procedure ami_2(ax,ay,a,b,i:integer);
begin
form1.image4.Canvas.Pen.Color:=clred;
form1.image4.Canvas.Pen.Width:=2;
form1.image4.Canvas.MoveTo(ax+(i-1)*b,ay);
form1.image4.Canvas.LineTo(ax+(i-1)*b,ay+a);
form1.image4.Canvas.LineTo(ax+b+(i-1)*b,ay+a);
form1.image4.Canvas.LineTo(ax+b+(i-1)*b,ay);
end;

procedure ami_tegak(ax,ay,a,b,i:integer);
begin
form1.image4.Canvas.Pen.Color:=clred;
form1.image4.Canvas.Pen.Width:=2;
form1.image4.Canvas.MoveTo(ax+(i-1)*b,ay);
form1.image4.Canvas.LineTo(ax+b+(i-1)*b,ay);
end;

//PROCEDURE
UTAMA--------------------------------------------------------
-------
procedure sumbu;
var
edbiner:string;
begin
edbiner:=form1.edbiner.Text;

//REFRESH PICTURE & Sumbu RZ


form1.image1.Picture:=nil;
form1.image1.Refresh;

form1.image1.Canvas.Pen.Color:=clBlack;
form1.image1.Canvas.Pen.Style:=pssolid;
form1.image1.Canvas.MoveTo(10,200);
form1.image1.Canvas.LineTo(10 ,200-145);
form1.image1.Canvas.TextOut(10,200-155,'Amplitudo');
form1.image1.Canvas.MoveTo(10,140);
form1.image1.Canvas.LineTo(10+370,140);
form1.image1.Canvas.TextOut(10+370,140+5,'Time');
form1.image1.Canvas.Pen.Color:=clBlue;
form1.image1.Canvas.Pen.Style:=psDot;
form1.Image1.Canvas.TextOut(200-200,200-100,'5V+');
form1.image1.Canvas.TextOut(200-200,200-70,'0V');
form1.Image1.Canvas.TextOut(200-200,200-40,'5V-');

//REFRESH PICTURE & Sumbu NRZL


form1.image2.Picture:=nil;
form1.image2.Refresh;

form1.image2.Canvas.Pen.Color:=clBlack;
form1.image2.Canvas.Pen.Style:=pssolid;
form1.image2.Canvas.MoveTo(10,200);
form1.image2.Canvas.LineTo(10,200-145);
form1.image2.Canvas.TextOut(10,200-155,'Amplitudo');
form1.image2.Canvas.MoveTo(10,140);
form1.image2.Canvas.LineTo(10+370,140);
form1.image2.Canvas.TextOut(10+370,140+5,'Time');
form1.image2.Canvas.TextOut(200-200,200-100,'5V+');
form1.image2.Canvas.TextOut(200-200,200-70,'0V');
form1.image2.Canvas.TextOut(200-200,200-40,'5V-');

//REFRESH PICTURE & Sumbu D-Manchester


form1.image3.Picture:=nil;
form1.image3.Refresh;

form1.image3.Canvas.Pen.Color:=clBlack;
form1.image3.Canvas.Pen.Style:=pssolid;
form1.image3.Canvas.MoveTo(10,200);
form1.image3.Canvas.LineTo(10,200-145);
form1.image3.Canvas.TextOut(10,200-155,'Amplitudo');
form1.image3.Canvas.MoveTo(10,140);
form1.image3.Canvas.LineTo(10+370,140);
form1.image3.Canvas.TextOut(10+370,140+5,'Time');
form1.image3.Canvas.TextOut(200-200,200-100,'5V+');
form1.image3.Canvas.TextOut(200-200,200-70,'0V');
form1.image3.Canvas.TextOut(200-200,200-40,'5V-');

//REFRESH PICTURE & Sumbu AMI


form1.image4.Picture:=nil;
form1.image4.Refresh;

form1.image4.Canvas.Pen.Color:=clBlack;
form1.image4.canvas.Pen.Style:=PsSolid;
form1.image4.Canvas.MoveTo(10,200);
form1.image4.Canvas.LineTo(10,200-155);
form1.image4.Canvas.TextOut(10,200-155,'Amplitudo');
form1.image4.Canvas.MoveTo(10,140);
form1.image4.Canvas.LineTo(10+370,140);
form1.image4.Canvas.TextOut(10+370,145+0,'Time');
form1.image4.Canvas.TextOut(200-200,200-100,'5V+');
form1.image4.Canvas.TextOut(200-200,200-70,'0V');
form1.image4.Canvas.TextOut(200-200,200-40,'5V-');

end;
//PROGRAM----------------------------------------------------
//Program RZ
procedure rz;
var
ax,ay,a,b,n,q:integer;
edbiner:string;
begin
edbiner:=form1.edbiner.Text;
q:=length(edbiner);
ax:=10; ay:=140; a:=30; b:=30;
for n:=1 to q do
if edbiner[n]='1' then
begin
rz_1(ax,ay,b,a,n);
end
else if edbiner[n]='0' then
begin
rz_2(ax,ay,b,a,n);
end;
end;

//Program NRZL
procedure nrzl;
var
tnd,ax,ay,a,b,n:integer;
edbiner:string;
begin
edbiner:=form1.edbiner.Text;
ax:=10; ay:=140; a:=30; b:=30;
tnd:=0;
for n:=1 to length(edbiner) do
if edbiner[n]='1' then
if tnd=0 then
begin
NRZL_1(ax,ay,b,a,n);
NRZL_tegak(ax,ay,b,a,n);
tnd:=1;
end
else
NRZL_1(ax,ay,b,a,n)
else
if tnd=1 then
begin
NRZL_0(ax,ay,b,a,n);
NRZL_tegak(ax,ay,b,a,n);
tnd:=0;
end
else NRZL_0(ax,ay,b,a,n);
end;

//Program D-Manchester
procedure dmanchester;
var
tnd, ax,ay,a,b,n:integer;
edbiner:string;
begin
edbiner:=form1.edbiner.Text;
ax:=10; ay:=140; a:=30; b:=30;
tnd:=0;
for n:=1 to length(edbiner) do
begin
if edbiner[n]='1' then
if tnd = 0 then
begin dmncstr_1(ax,ay,b,a,n);
tnd:= 1;
end
else
begin dmncstr_0(ax,ay,b,a,n);
tnd:=0;
end
else
if tnd = 0 then
begin dtegak(ax,ay,b,a,n);
dmncstr_0(ax,ay,b,a,n);
end
else
begin dtegak(ax,ay,b,a,n);
dmncstr_1(ax,ay,b,a,n);
end
end;
end;

//Program AMI
procedure ami;
var
tnd,ax,ay,a,b,n:integer;
edbiner,start:string;
begin
edbiner:=form1.edbiner.Text;
ax:=10; ay:=140; a:=30; b:=30;
tnd:=0;
start:='atas';
if start='bawah' then tnd:=0
else if start='atas' then tnd:=1;
for n:=1 to length(edbiner) do
if edbiner[n]='1' then
if tnd=1 then
begin
ami_1(ax,ay,b,a,n);
tnd:=0;
end
else
begin
ami_2(ax,ay,b,a,n);
tnd:=1;
end
else
ami_tegak(ax,ay,b,a,n);
end;

//Tombol Tambahan
procedure TForm1.btnnolClick(Sender: TObject);
var
edbiner:string;
begin
edbiner:=form1.edbiner.Text;
if length(edbiner)<12 then
begin
edbiner:=edbiner+'0';
form1.edbiner.Text:=edbiner;
end;
end;

procedure TForm1.btnsatuClick(Sender: TObject);


var
edbiner:string;
begin
edbiner:=form1.edbiner.Text;
if length(edbiner)<12 then
begin
edbiner:=edbiner+'1';
form1.edbiner.Text:=edbiner;
end;
end;

procedure TForm1.btnexitClick(Sender: TObject);


begin
application.Terminate;
end;

procedure TForm1.btndelClick(Sender: TObject);


var
edbiner:string;
begin
edbiner:=form1.edbiner.Text;
if length(edbiner)<20 then
begin
edbiner:=copy(edbiner,0,length(edbiner)-1);
form1.edbiner.Text:=edbiner;
end;
end;

procedure TForm1.btnclearClick(Sender: TObject);


var
edbiner:string;
begin
edbiner:=form1.edbiner.Text;
if length(edbiner)<20 then
begin
edbiner:=' ';
form1.edbiner.Text:=edbiner;
showmessage('ISIKAN DATA SEK BRO !');
end;
end;

procedure TForm1.btnrzClick(Sender: TObject);


begin
sumbu;
rz;
end;

procedure TForm1.btnnrzlClick(Sender: TObject);


begin
sumbu;
nrzl;
end;

procedure TForm1.btnmanClick(Sender: TObject);


begin
sumbu;
dmanchester;
end;

procedure TForm1.btnamiClick(Sender: TObject);


begin
sumbu;
ami;
end;

procedure TForm1.btnallClick(Sender: TObject);


begin
sumbu;
rz;
nrzl;
dmanchester;
ami;
end;

end.
2.4 Flowchart Tugas
2.5 Design Tata Letak Komponen pada Delphi

Gambar 19. Design sebelum program di-Run

Gambar 20. Design setelah program di-Run


BAB III
PENUTUP

3.1 Kesimpulan

1.) Pengkodean data digital ditujukan untuk membangun sinyal digital, yang
meliputi: unipolar, polar dan bipolar. Unipolar merupakan pengkodean paling
sederhana dimana data digital yang telah berbentuk biner di diubah ke bentuk
pulsa, biner ‘1’ diwujudkan dalam suatu tegangan positif dan biner ‘0’ sebagai
tanpa tegangan atau nol volt.
2.) Penggambaran koordinat 0,0 terletak pada perpotongan antara sumbu x dan
sumbu y. Langkah pertama untuk menggambar adalah melalui koordinat 0,0.

Anda mungkin juga menyukai