Anda di halaman 1dari 20

Nama : Aldo Fahmi B Praktikum 2

Kelas : JTD-2B Membuat Program


No. Abs : 03 Pengkodean Data Digital

Tujuan Praktikum
1. Mahasiswa dapat mengkonversikan data biner ke pengkode data digital (RZ,
NRZ, MANCHESTER, B8ZS, HDB3, UNIPOLAR, AMI)
2. Mahasiswa dapat membuat program untuk mensimulasikan karakteristik
pengkode data digital di komputer.
3. Mahasiswa mampu membuat flowchart pengodean data digital

Alat & Bahan


 Program Delphi versi 7
 Satu unit komputer

Landasan Teori
1. PENGKODEAN SINYAL DIGITAL
Data digital merupakan data yang memiliki deretan nilai yang berbeda
dan memiliki ciri-ciri tersendiri. Salah satu contoh data digital adalah teks,
bilangan bulat, dan karakter yang lain. Tetapi permasalahannya adalah data
dalam bentuk karakter yang dapat dipahami manusia tersebut tidak dapat
langsung ditransmisikan dalam sistem komunikasi. Data terlebih dahulu harus
diubah dalam bentuk biner. Jadi suatu data digital akan ditransmisikan dalam
deretan biner. Sedangkan sinyal digital merupakan sinyal untuk menampilkan
data digital. Salah satu contohnya adalah rangkaian tegangan pulsa yang
berbeda dan tidak terjadi secara terus-menerus yang dapat memberikan sinyal
digital melalui transmitter digital.
Jenis-jenis pengkodean:
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
A. NRZ (Non-Return To Zero)
Format yang paling mudah dalam mentransmisikan sinyal digital
adalah dengan menggunakan dua tingkat tegangan yang berlainan untuk
dua digit biner. Kode-kode yang mengikuti cara ini dibagi berdasarkan
sifat-sifatnya. Tingkat tegangan tetap konstan sepanjang interval bit yang
ditransmisikan, yang dalam hal ini tidak terdapat transisi (tidak kembali
ke level tegangan nol).
Format ini dibagi menjadi dua bagian, yaitu:
a. Non-Return to Zero level (NRZ-L), yaitu suatu kode dimana tegangan
negatif dipakai untuk mewakili suatu nilai biner dan tegangan positif
dipakai untuk mewakili nilai biner lainnya.
b. Non-Return to Zero Inverted (NRZ-I), yaitu suatu kode dimana suatu
transisi (rendah ke tinggi atau tinggi ke rendah) pada awal suatu bit
akan dikenal sebagai biner ‘1’ dan berarti biner ‘0’ apabila tidak ada
transmisi. NRZ-I merupakan salah satu contoh dari differensial
encoding (penyandian encoding).

Gambar 1. Perbedaan NRZ-L dan NRZ-I


B. Return to Zero (Multilevel Binary)
Format pengodean ini diarahkan untuk mengatasi ketidak-efisienan
kode NRZ. Kode ini menggunakan lebih dari 2 level sinyal (contohnya:
AMI), yaitu suatu kode dimana biner ‘0’ diwakili dengan tidak adanya
garis sinyal dan biner ‘1’ diwakili oleh suatu pulsa positif atau negatif.
Adapun keunggulan biner multilevel dibanding NRZ adalah:
 kemampuan sinkronisasi yang baik
 Tidak mengandung komponen dc dan pemakaian bandwidth yang
lebih kecil
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
 Dapat menampung bit informasi yang lebih banyak.

Gambar 2. AMI
C. Biphase
Biphase merupakan format pengkodean yang dkembangkan untuk
mengatasi keterbatasan kode NRZ. Pada biphase digunakan dua teknik,
yaitu Manchester dan Differensial Manchester. Manchester yaitu suatu
kode dimana ada suatu transisi pada setengah dari periode tiap bit: transisi
rendah ke tinggi mewakili ‘1’ dan tinggi ke rendah mewakili ‘0’.
Sedangkan differensial manchester adalah suatu kode dimana biner ‘0’
diwakili oleh adanya transisi diawal periode suatu bit dan biner ‘1’
diwakili oleh ketiadaan transisi di awal periode suatu bit. Keuntungan
rancangan biphase adalah:
 Sinkronisasi : karena adanya transisi selama tiap bit, pesawat
penerima dapat mensinkronkan transisi tersebut atau dikenal
sebagai self clocking codes.
 Tidak ada komponen dc
 Deteksi terhadap kesalahan : Ketiadaan dari transisi yang
diharapkan dapat digunakan untuk mendeteksi kesalahan
 Kekurangan: Memakai bandwidth yang lebar daripada biner
multilevel

Gambar 3. Perbedaan Manchester dan D-Manchester


Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
D. HDB3 (High-Density Bipolar-3 Zero)
HDB3 adalah suatu kode yang menggantikan string-string dari 4 nol
dengan rangkaian yang mengandung satu atau dua pulsa, atau disebut
violation code. Jika violasi terakhir positif maka violasi berikutnya pasti
negatif, begitu pula sebaliknya.
Tabel 1. Aturan Substitusi HDB3
Polaritas dari Jumlah dari pulsa-pulsa bipolar karena
pulsa akhir substitusi terakhir
Genap Ganjil
- 000- +00+
+ 000+ -00-
Kedua kode ini didasarkan pada penggunaan pengkodean AMI dan
cocok untuk transmisi dengan kecepatan data tinggi. Ada dua teknik yang
umum digunakan dalam layanan transmisi jarak jauh dan keduanya
diilustrasikan pada Gambar 8. Pengkodean B8ZS dikenal sebagai
pengkodean bipolar dengan 8 nol tertukar sedangkan skema pengkodean
didasarkan pada bipolar-AMI. Kelemahan pengkodean ini adalah
panjangnya string (deretan) nol dapat menyebabkan hilangnya
sinkronisasi saat transmisi data.

Gambar 4. Aturan pengkodean untuk B8ZS dan HDB3

E. Delphi 7
Borland Delphi 7 merupakan bahasa pemrograman berbasis
Windows. Delphi 7 dapat membantu untuk membuat berbagai macam
aplikasi yang berjalan di sistem operasi Windows, mulai dari sebuah program
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
sederhana sampai dengan program yang berbasiskan client/server atau
jaringan. Delphi, termasuk aplikasi yang dapat digunakan untuk mengolah
teks, grafik, angka, database dan aplikasi web.
Berikut ini sebagian kecil dari banyak kelebihan Borland Delphi 7 :
 Berbasis Object Oriented Programming (OOP). Setiap bagian yang ada
pada program dipandang sebagai suatu object yang mempunyai sifat-sifat
yang dapat diubah dan diatur.
 Satu file .exe. Setelah program dirancang dalam IDE (Intergrated
Development Environment) Delphi, Delphi akan mengkompilasinya
menjadi sebuah file executable tunggal.
 Program yang dibuat dapat langsung didistribusikan dan dijalankan pada
komputer lain tanpa perlu menyertakan file DLL dari luar. Ini merupakan
sebuah kelebihan yang sangat berarti.
 Borland Delphi 7 hadir bersama Borland Kylix 3 yang berbasiskan
Linux, sehingga memungkinkan programmer untuk membuat aplikasi
multi-platform.
Hal yang tidak kalah pentingnya untuk di ketahui bagi para pengguna
delphi bahwa delphi merupakan sebuah bahasa pemrograman dengan
sifat Event-Driven. Artinya Delphi akan menjalankan perintah ketika sebuah
event terjadi.
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital

Flowchart
1. Flowchart Program Pengkodean Data Digital
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital

Script Program
A. Script Program Pengkodean Data Digital RZ

procedure rz_1(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,100);
frmrz.imgtampil.Canvas.MoveTo(40+x,100);
frmrz.imgtampil.Canvas.LineTo(70+y,100);
frmrz.imgtampil.Canvas.MoveTo(70+y,100);
frmrz.imgtampil.Canvas.LineTo(70+y,150);
frmrz.imgtampil.Canvas.MoveTo(70+y,150);
frmrz.imgtampil.Canvas.LineTo(100+y,150);
frmrz.imgtampil.Canvas.Pen.Color:=clBlack;
end;
procedure rz_0(x,y:integer);
begin
frmrz.imgtampil.Canvas.Pen.Color:=clRed;
frmrz.imgtampil.Canvas.MoveTo(40+x,150);
frmrz.imgtampil.Canvas.LineTo(40+x,200);
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
frmrz.imgtampil.Canvas.MoveTo(40+x,200);
frmrz.imgtampil.Canvas.LineTo(70+y,200);
frmrz.imgtampil.Canvas.MoveTo(70+y,200);
frmrz.imgtampil.Canvas.LineTo(70+y,150);
frmrz.imgtampil.Canvas.MoveTo(70+y,150);
frmrz.imgtampil.Canvas.LineTo(100+y,150);
frmrz.imgtampil.Canvas.Pen.Color:=clBlack;
end;
procedure Tfrmrz.btrzClick(Sender: TObject);
var i:integer;
data:string;
sx,sy,x,y:integer;
begin
data:='10101010';
x:=0;
y:=0;
for i:=1 to length(data) do begin
if data[i]='1' then begin
rz_1(x,y);
end else if data[i]='0' then begin
rz_0(x,y);
end;
y:=y+60;
x:=x+60;
end;
x:=0;
y:=0;
end;
end.
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
B. Script Program Pengkodean Data Digital RZ Manual Input Biner

procedure sumbu(image:Timage;ax,ay,b,c:integer);

begin

image.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);

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

image.Canvas.Pen.Width:=3;

end;

procedure Tfrmsinyal.inputChange(Sender: TObject);

var

x1,x2,y1,y2,i,n:integer;

data:string;

pnjg:double;
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
begin

x1:=0;

y1:=100;

if length(input.Text)=0 then

begin

showmessage('Masukkan input data biner');

input.SetFocus;

end

else begin

data:=input.Text;

n:=length(input.Text);

image.Picture:=nil;

sumbu(image,x1,y1,1000,100);

image.Canvas.Pen.Color:=clblue;

pnjg:=round(image.Width/round(2*n));

for i:=0 to n do

begin

if data[i]='1' then

begin

x2:=round((2*i*pnjg)-(2*pnjg));

image.Canvas.MoveTo(x2,y1-1);

image.Canvas.LineTo(x2,y1-75);

image.Canvas.LineTo(round(x2+pnjg),y1-75);

image.Canvas.LineTo(round(x2+pnjg),y1-1);
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
image.Canvas.LineTo(round(x2+2*pnjg),y1-1);

end

else begin

x2:=round((2*i*pnjg)-(2*pnjg));

image.Canvas.MoveTo(x2,y1-1);

image.Canvas.LineTo(x2,y1+75);

image.Canvas.LineTo(round(x2+pnjg),y1+75);

image.Canvas.LineTo(round(x2+pnjg),y1-1);

image.Canvas.LineTo(round(x2+2*pnjg),y1-1);

end; end; end; end;

procedure Tfrmsinyal.btkeluarClick(Sender: TObject);

begin

frmsinyal.Close;

end;

end.

C. Script Program Pengkodean Data Digital (RZ, NRZI, DMANCHESTER,


HDB3, UNIPOLAR, AMI)
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
procedure sumbu (image:Timage; ax,ay,b,c:integer);

begin

image.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);

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

image.Canvas.Pen.Width:=3 ;

end;

procedure Tfrmsinyal.Edit1Change(Sender: TObject);

var

x1,x2,y1,i,n,u,a:integer;

data :string;

pnjg :double;

tnd:integer;

begin

x1:=0;

y1:=100;

if length (Edit1.Text)=0 then

begin

Showmessage ('masukkan input data biner ');

Edit1.SetFocus ;
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
end

else begin

data :=Edit1.Text;

n:= length(Edit1.Text);

rz.Picture:=nil;

sumbu(rz,x1,y1,1000,100);

rz.Canvas.Pen.Color :=clblue;

unipolar.Picture:=nil;

sumbu(unipolar,x1,y1,1000,100);

unipolar.Canvas.Pen.Color :=clred;

nrzi.Picture:=nil;

sumbu(nrzi,x1,y1,1000,100);

nrzi.Canvas.Pen.Color :=clgreen;

ami.Picture:=nil;

sumbu(ami,x1,y1,1000,100);

ami.Canvas.Pen.Color :=clgreen;

diff.picture:=nil;

sumbu(diff,x1,y1,400,50);

diff.Canvas.pen.color:=clblue;

hdb.Picture:=nil;

sumbu(hdb,x1,y1,1000,100);

hdb.Canvas.Pen.Color :=clyellow;

tnd:=1;

pnjg :=round(rz.Width/round(2*n));
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
for i := 0 to n do

begin

if data [i]= '1' then

begin //untuk membuat yang satu

x2 :=round ((2*i*pnjg )-(2*pnjg));

rz.Canvas.MoveTo(x2,y1-1);

rz.Canvas.LineTo(x2,y1-35);

rz.Canvas.LineTo(round(x2+pnjg),y1-35);

rz.Canvas.LineTo(round(x2+pnjg),y1-1);

rz.Canvas.LineTo(round(x2+2*pnjg),y1-1);

unipolar.Canvas.LineTo(x2,y1-35);

unipolar.Canvas.LineTo(round(x2+pnjg*2),y1-35);

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

diff.Canvas.LineTo(round(x2+pnjg),y1+25);

diff.Canvas.LineTo(round(x2+pnjg),y1-25);

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

if tnd =0 then begin

nrzi.Canvas.MoveTo(x2,y1+35);

nrzi.Canvas.LineTo(x2,y1-35);

nrzi.Canvas.LineTo(round(x2+pnjg*2),y1-35);

tnd:=1;

end

else begin

nrzi.Canvas.MoveTo(x2,y1-35);
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
nrzi.Canvas.LineTo(x2,y1+35);

nrzi.Canvas.LineTo(round(x2+pnjg*2),y1+35);

tnd:=0;

end;

if u=0 then begin

ami.Canvas.MoveTo(x2,y1-1);

ami.Canvas.LineTo(x2,y1+35);

ami.Canvas.LineTo(round(x2+2*pnjg),y1+35);

ami.Canvas.LineTo(round(x2+2*pnjg),y1+35);

ami.Canvas.LineTo(round(x2+2*pnjg),y1-1);

u:=1;

end

else begin

ami.Canvas.MoveTo(x2,y1-1);

ami.Canvas.LineTo(x2,y1-35);

ami.Canvas.LineTo(round(x2+2*pnjg),y1-35);

ami.Canvas.LineTo(round(x2+2*pnjg),y1-35);

ami.Canvas.LineTo(round(x2+2*pnjg),y1+1);

u:=0;

end;

if u=0 then begin

hdb.Canvas.MoveTo(x2,y1+1);

hdb.Canvas.LineTo(x2,y1+35);

hdb.Canvas.LineTo(round(x2+2*pnjg),y1+35);
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
hdb.Canvas.LineTo(round(x2+2*pnjg),y1+35);

hdb.Canvas.LineTo(round(x2+2*pnjg),y1-1);

u:=1;

end

else begin

hdb.Canvas.MoveTo(x2,y1-1);

hdb.Canvas.LineTo(x2,y1-35);

hdb.Canvas.LineTo(round(x2+2*pnjg),y1-35);

hdb.Canvas.LineTo(round(x2+2*pnjg),y1-35);

hdb.Canvas.LineTo(round(x2+2*pnjg),y1+1);

u:=0;

end;

end

else begin //untuk membuat yang nol

x2 :=round ((2*i*pnjg )-(2*pnjg));

rz.Canvas.MoveTo(x2,y1-1);

rz.Canvas.LineTo(x2,y1+35);

rz.Canvas.LineTo(round(x2+pnjg),y1+35);

rz.Canvas.LineTo(round(x2+pnjg),y1-1);

rz.Canvas.LineTo(round(x2+2*pnjg),y1-1);

unipolar.Canvas.LineTo(x2,y1-1);

unipolar.Canvas.LineTo(round(x2+pnjg*2),y1-1);

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

diff.Canvas.LineTo(round(x2+pnjg),y1-25);
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
diff.Canvas.LineTo(round(x2+pnjg),y1+25);

diff.Canvas.LineTo(round(x2+2*pnjg),y1+25);

if tnd= 0 then

nrzi.Canvas.LineTo(round(x2+pnjg*2),y1+35)

else nrzi.Canvas.LineTo(round(x2+pnjg*2),y1-35);

end;

if u= 0 then

ami.Canvas.MoveTo(x2,y1-1)

else ami.Canvas.LineTo(round(x2+pnjg*2),y1-1);

end;

if a=0 then

hdb.Canvas.MoveTo(x2,y1-1)

else hdb.Canvas.LineTo(round(x2+pnjg*2),y1-1);

end;

end;

procedure Tfrmsinyal.btkeluarClick(Sender: TObject);

begin

frmsinyal.close;

end;

end.
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital

Hasil Program dan Pembahasan


1. Hasil Program Pengkodean Data Digital RZ

Dari Hasil Gambar di atas dapat kita perhatikan bahwa tersedia tombol RZ dan
tombol exit dimana tombol RZ jika kita tekan akan menghasilkan sinyal di img
tersebut. Hasil sinyal yang berasal dari Script di atas pada tampilan tersebut kita
membuat pilihan biner ‘10101010’ sehingga akan menghasilkan sinyal yang tertera
pada img tersebut sesuai dengan fitur pada program.

2. Hasil Program Pengkodean Data Digital RZ Manual Input Biner

Dari Hasil Gambar di atas dapat kita perhatikan bahwa tersedia input Biner
dan tombol keluar dimana jika mengisikan kode biner di dalamnya maka akan keluar
sinyal kotak pada image kemudian jika menekan tombol keluar maka kita akan
keluar dari program tersebut. Hasil sinyal yang berasal dari Script di atas pada
tampilan tersebut dapat kita lihat bahwa user dapat memilih sendiri bentuk sinyal
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital
yang akan di hasilkan sesuai dengan fitur pada program. Pada Gambar di atas juga
dapat kita lihat bahwa hasil yang kita buat berbentuk Kotak dengan besar sinyal yang
kita atur terlebih dahulu di script.

3. Hasil Script Program Pengkodean Data Digital (RZ, NRZI,


DMANCHESTER, HDB3, UNIPOLAR, AMI)

Pada Gambar di atas dapat kita lihat bahwa hasil yang kita buat berbentuk
kotak itu dirancang dengan input dari biner yang mengubah sinyal menjadi
kombinasi urutan bilangan 0 dan 1, tinggi pulsa, dan lebar pulsa dan script yang kita
buat dapat menghasilkan sinyal kotak. Hasil yang diperoleh juga terdapat beberapa
macam sinyal seperti RZ, NRZI, DMANCHESTER, HDB3, UNIPOLAR, AMI, dan
input juga sama kita menginputkan sendiri untuk keluaran nya. Perbedaan dari tiap
jenis sinyal ialah jika RZ itu keluaran jenis sinyal nya jika ‘1’ maka akan naik dan
kembali ke 0 , jika ‘0’ maka sinyal akan turun ke -1 kemudian kembali ke 0.
Kemudian jenis sinyal NRZI jika ‘0’ maka sinyal akan di -1 dan jika ‘1’ maka sinyal
akan di 1. Jenis sinyal DMANCHESTER jika ‘0’ maka sinyal akan selalu dari -1 ke
1 jika ‘1’ sinyal selalu dari 1 ke -1. Jenis sinyal HDB3 jika ‘0’ maka sinyal akan di 0
jika ‘1’ maka sinyal akan di -1, dan jenis sinyal AMI ialah kebalikan dari HDB3 jika
‘1’ maka sinyal akan di 1. Terakhir jenis sinyal UNIPOLAR akan sama bentuk sinyal
nya dengan data.
Nama : Aldo Fahmi B Praktikum 2
Kelas : JTD-2B Membuat Program
No. Abs : 03 Pengkodean Data Digital

Kesimpulan
Setelah Melakukan Percobaan di atas dapat kita simpulkan bahwa program
yang kita buat sudah berjalan dengan lancar menggunakan program Delphi 7 dan
mampu membuat program sesuai keinginan kita, juga Program yang dibuat dapat
langsung didistribusikan dan dijalankan pada komputer lain tanpa perlu menyertakan
file DLL dari luar. Kemudian juga dapat kita simpulkan jenis sinyal juga banyak
beragam bentuknya ini merupakan sebuah kelebihan dari program tersebut yang
telah membuat beragam sinyal. Selain itu pada praktikum kali ini sudah berhasil
membuat sinyal RZ, NRZI, DMANCHESTER, HDB3, UNIPOLAR, AMI dan dapat
menggunkan fitur-fitur input biner.

Anda mungkin juga menyukai