Anda di halaman 1dari 16

NAMA : Budi Setiawan Praktikum III

NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal


KELAS : TT-2E Menggunakan Delphi)

Laporan Komunikasi Data


A. Tujuan Pratikum
1. Dapat membedakan sinyal nrz-l , nrz-i, rz, unipolar,Manchester, diffrensial
Manchester,ami, hdb3,b8zs
2. Dapat menjelaskan ciri-ciri sinyal nrz-l , nrz-i, rz, unipolar,Manchester, diffrensial
Manchester,ami, hdb3,b8zs
3. Dapat menggambarkan sinyal nrz-l , nrz-i, rz, unipolar,Manchester, diffrensial
Manchester,ami, hdb3,b8zs di komputer menggunakan Bahasa pemrograman Delphi
4. Dapat membuat program simulasi karakteristik sinyal analog nrz-l , nrz-i, rz,
unipolar,Manchester, diffrensial Manchester,ami, hdb3,b8zs

B. Landasan Teori
A. Macam-macam Konversi sinyal
Unipolar Encoding

Memiliki sifat dan kriteria sebagai berikut :


 Sangat sederhana dan sangat primitf
 Sangat absolute untuk teknologi saat ini
 Hanya menggunakan satu level tegangan, missal untuk 1 bernilai 5 volt
sedangkan untuk 0 bernilai 0 volt
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

Return to Zero

Kelebihan dari Return to Zero, sinkronisasi terjadi pada setiap bit, kelemahannya
memerlukan perubahan sinyal dua membutuhkan bandwidth lebih besar.

NRZ
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.
Dalam metode NRZ dibutuhkan teknik sinkronisasi tambahan untuk menghindari bit
slips.

Contoh :

Grafik diatas menunjukan NRZ-I yang sedang mengirimkan kode transmisi biner dari
“11011000100”.
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

NRZI
Nonreturn to Zero Inverted (NRZI): yaitu suatu kode dimana suatu 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’.

Contoh :

Grafik diatas menunjukan NRZ-I yang sedang mengirimkan kode transmisi biner dari
“10110010”

NRZ-L (Non Return to Zero Level): Mempunyai karakteristik sebagai berikut, pada
saat bit "0" maka dinyatakan sebagai low signal, sedangkan pada saat bit "1" dinyatakan
sebagai high signal

AMI (Alternative Mark Inversion): Mempunyai karakteristik sebagai berikut, pada saat
bit "0" dinyatakan sebagai signal level nol, sedangkan pada saat bit "1" dinyatakan
sebagai level signal dengan polaritas (positif atau negatif) yang bergantian
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

Manchester: Mempunyai karakteristik sebagai berikut, pada saat bit "0" maka
dinyatakan sebagai setengah periode bit pertamanya adalah low dan setengah periode bit
sisanya adalah high. Sedangkan pada saat bit "1" maka dinyatakan sebagai setengah bit
pertamanya adalah high dan setengah periode bit sisanya adalah low

Differensial Manchester: Mempunyai karakteristik sebagai berikut, pada saat bit "0"
dinyatakan sebagai adanya transisi pada awal periode bit. Sedangkan pada saat bit "1"
dinyatakan sebagai tidak ada transisi di awal periode bit

B8ZS dan HDB3

Kedua kode ini didasarkan padapengkodean AMI (Alternative Mark Inversion) dan
cocok untuk transmisi dengan kecepatan data tinggi. Ada dua teknik yang umum
digunakan dalam layanan transmisi jarak jauh dan keduanya dililustrasikan pada Gambar
8. Pengkodean B8ZS dikenal sebagai pengkodean bipolar dengan 8 nol tertukar
sedangkan skema pengkodean di dasarkan pada bipolar AMI. Kelemahan pengkodean ini
adalah panjang string (deretan) nol dapat menyebabkan hilangnya sinkronisasi saat
transmisi.

Kedua pengkodean ini di bangun untuk menghilangkan deretan bit’0’ yang mungkin
muncul dalam suat pengiriman data. B8ZS (Bipolar 8 zero substitution) digunakan untuk
menggatikan deretan bit ‘0’ lebih dari 8 buah.Aturan pengkodean B8ZS diperlihatkan
pada Gambar 2.5, kedelapan bit nol digantikan dengan bit-bit tertentu yang polaritasnya
tergantung dari polaritas bit sebelumnya. Bit- bit penganti bit nol tersebut di sebut
sebagai bit violasi(violation code).

HDB3 (High Density Bipolar 3 Zero) memiliki prinsip yang sama dengan B8ZS, hanya
pada HDB3 digunakan untuk menggantikan bit ‘0’ sebanyak 4 buah. Gambar 2.6
menampilkan aturan penggantian bila ditemukan deretan bit ‘0’ lebih dari 4 buah. Contoh
hasil pengkodean mengggunakan B8ZS dan HDB3 ditampilkan pada gambar dibawah.
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

Gambar Contoh pengkodeanuntuk B8ZS dan HDB3

B. Pengenalan Delphi
1. Mengenal Konsep Pemrograman Visual Delphi merupakan perangkat
pengembangan aplikasi yang sangat terkenal di lingkungan Windows. Dengan
Delphi, dapat dibangun berbagai aplikasi Windows (game, multimedia, database, dll)
dengan cepat dan mudah karena menggunakan pendekatan visual yaitu tanpa banyak
menuliskan kode. Delphi menggunakan bahasa object Pascal sebagai bahasa dasar.
Jika bahasa Pascal telah dikuasai maka akan dengan mudah memahami program
Delphi. Langkah-langkah pemrograman visual pada Delphi antara lain: - Merancang
antarmuka (form dan komponen pendukungnya) secara visual - Menuliskan kode
untuk melakukan tindakan tertentu - Mengkompilasi kode Pascal dan form ke dalam
bentuk file yang dapat dieksekusi

Code
Explorer

Gambar 4. Tampilan Jendela Delphi


Sumber : www.delphi.com
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

2. IDE Delphi
IDE (Integrated Development Environment) adalah lingkungan dimana semua tool yang
diperlukan untuk merancang, menjalankan, dan menguji sebuah aplikasi disajikan dan terhubung
dengan baik sehingga memudahkan dalam pengembangan program. IDE Delphi dibagi menjadi
8 bagian utama yaitu main menu, toolbar/speedbar, component palette, form
designer, code editor, code explorer, object inspector, dan object tree view. Tampilan dari salah
satu bentuk jendela Delphi seperti ditunjukkan pada Gambar 4.

Main Menu
Main menu merupakan menu pilihan utama yang berisi perintahperintah yang diperlukan selama
melakukan pemrograman. Main menu terbagi dalam beberapa sub menu sesuai dengan
fungsinya.

Toolbar/Speedbar
Toolbar adalah sekumpulan tombol yang tidak lain adalah penganti beberapa item menu yang
sering digunakan. Biasanya yang tersedia pada
toolbar adalah perintah-perintah (item menu) yang sering digunakan dalam proses pembuatan
program aplikasi.
Component Palette
Component palette adalah tool yang berupa kumpulan tab (page
control), dimana setiap tab memuat berbagai tombol komponen (VCL / Visual
Component Library) yang dapat diletakkan pada form dan sebagai interface program aplikasi.
Tab tersebut diantaranya adalah Standard, Additional,
Win32, dan lain-lain.

Object Inspector
Object inspector digunakan untuk mengubah properti atau karakteristik dari suatu komponen.
Terdiri atas 2 tab yaitu :
- Properties Digunakan untuk menentukan seting suatu objek. Satu objek memiliki beberapa
properti yang dapat diatur langsung dari object inspector maupun melalui kode program. Seting
ini mempengaruhi cara kerja objek tersebut saat aplikasi dijalankan.
- Event Merupakan bagian yang dapat diisi dengan kode program tertentu yang berfungsi untuk
menangani kejadian-kejadian (berupa sebuah procedure) yang dapat direspon oleh sebuah
komponen. Event adalah peristiwa atau kejadian yang diterima oleh suatu objek, misal: click,
drag, dan lain-lain.
Event yang diterima objek akan memicu Delphi menjalankan kode program yang ada
didalamnya. Misalnya ingin sesuatu dikerjakan pada saat form ditutup, maka untuk menyatakan
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

tindakan tersebut (berupa sebuah


procedure) menggunakan OnClose.

Object Tree View


Object tree view berisi daftar komponen yang sudah diletakkan di
form designer.

Code Editor
Code editor merupakan tempat untuk menuliskan kode program menggunakan bahasa object
Pascal. Disini tidak perlu dituliskan seluruh kode sumber karena Delphi telah menyediakan
kerangka penulisan sebuah program.

Code Explorer Digunakan untuk memudahkan berpindah antar file unit di dalam jendela code
editor. Code explorer berisi daftar yang menampilkan semua tipe,
class, properti, method, variabel global, rutin global yang telah didefinisikan di dalam unit. Saat
memilih sebuah item dalam code explorer, kursor akan berpindah menuju implementasi dari
item yang dipilih di dalam code editor.
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

C. Implementasi
1. Script
unit Unit1;

interface

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

type
Tfrmsinyal = class(TForm)
rz: TImage;
Edit1: TEdit;
Btkeluar: TButton;
unipolar: TImage;
nrzl: TImage;
nrzi: TImage;
ami: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
b8zs: TImage;
diff: TImage;
manch: TImage;
hdb: TImage;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
procedure btkeluarClick(Sender: TObject);
procedure Edit1Change(Sender: TObject);
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

private
{ Private declarations }
public
{ Public declarations }
end;

var
frmsinyal: Tfrmsinyal;

implementation

{$R *.dfm}
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
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

Showmessage ('masukkan input data biner ');


Edit1.SetFocus ;
end
else begin
data :=Edit1.Text;
n:= length(Edit1.Text);
rz.Picture:=nil;
sumbu(rz,x1,y1,1000,100);
rz.Canvas.Pen.Color := clred;

unipolar.Picture:=nil;
sumbu(unipolar,x1,y1,1000,100);
unipolar.Canvas.Pen.Color := clred;

nrzl.Picture:=nil;
sumbu(nrzl,x1,y1,1000,100);
nrzl.Canvas.Pen.Color :=clred;

nrzi.Picture:=nil;
sumbu(nrzi,x1,y1,1000,100);
nrzi.Canvas.Pen.Color := clred;

ami.Picture:=nil;
sumbu(ami,x1,y1,1000,100);
ami.Canvas.Pen.Color := clred;

diff.picture:=nil;
sumbu(diff,x1,y1,400,50);
diff.Canvas.pen.color:= clred;

manch.picture:=nil;
sumbu(manch,x1,y1,400,50);
manch.Canvas.pen.color:= clred;

b8zs.Picture:=nil;
sumbu(b8zs,x1,y1,1000,100);
b8zs.Canvas.Pen.Color := clred;

hdb.Picture:=nil;
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

sumbu(hdb,x1,y1,1000,100);
hdb.Canvas.Pen.Color :=clred;

//================================gambar gelombang
rz========================
tnd:=1;
pnjg :=round(rz.Width/round(2*n));

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

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

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

nrzl.Canvas.LineTo(x2,y1+35);
nrzl.Canvas.LineTo(round(x2+pnjg*2),y1+35);
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

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


b8zs.Canvas.MoveTo(x2,y1-1);
b8zs.Canvas.LineTo(x2,y1-35);
b8zs.Canvas.LineTo(round(x2+2*pnjg),y1-35);
b8zs.Canvas.LineTo(round(x2+2*pnjg),y1-35);
b8zs.Canvas.LineTo(round(x2+2*pnjg),y1-1);
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

u:=1;
end
else begin
b8zs.Canvas.MoveTo(x2,y1+1);
b8zs.Canvas.LineTo(x2,y1+35);
b8zs.Canvas.LineTo(round(x2+2*pnjg),y1+35);
b8zs.Canvas.LineTo(round(x2+2*pnjg),y1+35);
b8zs.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);
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


NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

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);
manch.Canvas.LineTo(x2,y1+25);
manch.Canvas.LineTo(round(x2+pnjg),y1+25);
manch.Canvas.LineTo(round(x2+pnjg),y1-25);
manch.Canvas.LineTo(round(x2+2*pnjg),y1-25);

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

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

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
b8zs.Canvas.MoveTo(x2,y1-1)
else b8zs.Canvas.LineTo(round(x2+pnjg*2),y1-1);
end;
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

if a=0 then
hdb.Canvas.MoveTo(x2,y1-1)
else hdb.Canvas.LineTo(round(x2+pnjg*2),y1-1);
end;

procedure Tfrmsinyal.btkeluarClick(Sender: TObject);


begin
frmsinyal.close;

end;

end.
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)

D. Hasil dan Pembahasan

Hasil gelombang tersebut sesuai aturan aturan atau contoh pada teori dasar dan diatur
dalam formula-formula ran titik kordinat yang telah diatur

E. Kesimpulan
PraktUntuk mempermudah dalam pengkonversian data , maka dibuatlah aplikasi
pendukung berbasis Delphi.

Anda mungkin juga menyukai