B. Landasan Teori
A. Macam-macam Konversi sinyal
Unipolar Encoding
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
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)
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
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)
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;
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)
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
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)
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;
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;
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
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;
end;
end.
NAMA : Budi Setiawan Praktikum III
NIM : 1731130003 Sinyal Analog dan Sinyal Digital (Penggambaran Sinyal
KELAS : TT-2E Menggunakan Delphi)
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.