Laporan Praktikum Komunikasi Data
description
Transcript of Laporan Praktikum Komunikasi Data
LAPORAN PRAKTIKUM KOMUNIKASI DATA
PENGGAMBARAN SINYAL SINUS DAN KOTAK
MENGGUNAKAN DELPHI
Nama : Fiqi Amalia
No : 10
NIM : 1331130038
Kelas : TT-2A
POLITEKNIK NEGERI MALANG
Jalan Soekarno-Hatta No.9, PO.BOX 04 Malang 65141, Jawa Timur
Telp. (0341) 404424, 404425, Fax. (0341) 404420
Website : www.polinema.ac.id
2015
I. Tujuan Khusus
1) Memahami perbedaan sinyal analog dan sinyal digital.
2) Memahami macam-macam dari sinyal analog dan sinyal digital.
II. Tujuan khusus
1) Memahami cara menggambar sinyal analog dan sinyal digital di komputer.
2) Memahami pemrograman Delphi.
3) Membuat program untuk mensimulasikan Karakteristik sinyal analog dan sinyal
digital.
III. Teori dasar
A. Sinyal Analog dan Sinyal Digital
Sinyal adalah suatu isyarat untuk melanjutkan atau meneruskan suatu
kegiatan. Biasanya sinyal ini berbentuk tanda-tanda, lampu-lampu, suara-suara, dll.
Dalam kereta api, misalnya, sinyal berarti suatu tanda untuk melanjutkan atau
meneruskan perjalanan ke tempat/stasiun berikutnya, dan biasanya sinyal ini
dikirimkan oleh stasiun yang terkait. Dalam dunia elektronika, dikenal dua macam
sinyal yaitu sinyal analog dan sinyal digital. Secara umum, sinyal didefinisikan
sebagai suatu besaran fisis yang merupakan fungsi waktu, ruangan atau beberapa
variabel.
Ada 2 macam Sinyal,yaitu Sinyal analog dan Sinyal digital.
Sinyal analog bekerja dengan mentransmisikan suara dan gambar dalam
bentuk gelombang kontinu (continous varying). Dua parameter/karakteristik
terpenting yang dimiliki oleh isyarat analog adalah amplitude dan frekuensi. Isyarat
analog biasanya dinyatakan dengan gelombang sinus, mengingat gelombang sinus
merupakan dasar untuk semua bentuk isyarat analog.
Sinyal digital merupakan hasil teknologi yang dapat mengubah signal menjadi
kombinasi urutan bilangan 0 dan 1 (juga dengan biner), sehingga tidak mudah
terpengaruh oleh derau, proses informasinya pun mudah, cepat dan akurat, tetapi
transmisi dengan sinyal digital hanya mencapai jarak jangkau pengiriman data yang
relatif dekat. Biasanya sinyal ini juga dikenal dengan sinyal diskret. Sinyal yang
mempunyai dua keadaan ini biasa disebut dengan bit. Bit merupakan istilah khas pada
sinyal digital. Sebuah bit dapat berupa nol (0) atau satu (1).
Perbedaan antara sinyal analog dan sinyal digital adalah
Sinyal Analog:
1. Dirancang untuk suara (voice)
2. Tidak efisien untuk data
3. Banyak terdapat noise dan rentan kesalahan (eror)
4. kecepatannya relatif rendah
5. Overhead tinggi
6. setiap sinyal analog dapat dikonversi kebentuk digital.
Sinyal digital:
1. Dirancang untuk data dan suara
2. Informasi discrete level
3. kecepatan tinggi
4. overhead rendah
5. setiap sinyal digital dapat dikonversi ke analog
IV. Perencanaan
1. Flowchart
1.1 Keseluruhan
1.2 sinus
1.3 Kotak
2. Program
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
Tfrmsinyal = class(TForm)
Panel1: TPanel;
btsinus: TButton;
btkotak: TButton;
edsumbux: TEdit;
edsumbuy: TEdit;
Label1: TLabel;
Label2: TLabel;
imgsinus: TImage;
imgkotak: TImage;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
amp: TGroupBox;
rba1: TRadioButton;
rba2: TRadioButton;
rba4: TRadioButton;
frek: TGroupBox;
rbf2: TRadioButton;
rbf5: TRadioButton;
rbf10: TRadioButton;
biner: TGroupBox;
edbiner: TEdit;
tinggi: TGroupBox;
rbt10: TRadioButton;
rbt30: TRadioButton;
rbt50: TRadioButton;
lebar: TGroupBox;
rbl10: TRadioButton;
rbl30: TRadioButton;
rbl50: TRadioButton;
procedure btsinusClick(Sender: TObject);
procedure btkotakClick(Sender: TObject);
procedure imgkotakClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmsinyal: Tfrmsinyal;
implementation
{$R *.dfm}
procedure sumbu1 (ax,ay,b,c:integer);
begin
frmsinyal.imgsinus.Canvas.MoveTo(ax,ay);
frmsinyal.imgsinus.Canvas.LineTo(ax+b,ay);
frmsinyal.imgsinus.Canvas.MoveTo(ax,ay);
frmsinyal.imgsinus.Canvas.LineTo(ax,ay-c);
frmsinyal.imgsinus.Canvas.MoveTo(ax,ay);
frmsinyal.imgsinus.Canvas.LineTo(ax,ay+c);
frmsinyal.imgsinus.Canvas.Pen.Color:=clblue;
frmsinyal.imgsinus.Canvas.MoveTo(ax,ay+110);
frmsinyal.imgsinus.Canvas.LineTo(ax+160,ay+110);
frmsinyal.imgsinus.Canvas.MoveTo(ax+220,ay+110);
frmsinyal.imgsinus.Canvas.LineTo(ax+390,ay+110);
frmsinyal.imgsinus.Canvas.TextOut(ax+170,ay+105,'1 detik');
frmsinyal.imgsinus.Canvas.TextOut(ax,ay-c,'Amplitudo (A)');
frmsinyal.imgsinus.Canvas.TextOut(ax+b-15,ay-15,'Time(t)');
frmsinyal.imgsinus.Canvas.TextOut(ax-10,ay-55,'2-');
frmsinyal.imgsinus.Canvas.TextOut(ax-10,ay-107,'4-');
end;
procedure sumbu2(ax,ay,b,c:integer);
begin
frmsinyal.imgkotak.Canvas.MoveTo(ax,ay);
frmsinyal.imgkotak.Canvas.LineTo(ax+b,ay);
frmsinyal.imgkotak.Canvas.MoveTo(ax,ay);
frmsinyal.imgkotak.Canvas.LineTo(ax,ay-c);
frmsinyal.imgkotak.Canvas.MoveTo(ax,ay);
frmsinyal.imgkotak.Canvas.LineTo(ax,ay+c);
frmsinyal.imgkotak.Canvas.TextOut(ax,ay-c,'Amplitude (v)');
frmsinyal.imgkotak.Canvas.TextOut(ax+b-5,ay+5,'Time(s)');
frmsinyal.imgkotak.Canvas.TextOut(ax-15,ay-37,'30-');
frmsinyal.imgkotak.Canvas.TextOut(ax-15,ay-67,'60-');
frmsinyal.imgkotak.Canvas.TextOut(ax-21,ay-107,'100-');
end;
procedure satu (ax,ay,a,b,i:integer);
begin
frmsinyal.imgkotak.Canvas.Pen.Color:=clred;
frmsinyal.imgkotak.Canvas.MoveTo(ax+(i-1)*b,ay-a);
frmsinyal.imgkotak.Canvas.LineTo(ax+b+(i-1)*b,ay-a);
end;
procedure nol(ax,ay,a,b,i:integer);
begin
frmsinyal.imgkotak.Canvas.Pen.Color:=clred;
frmsinyal.imgkotak.Canvas.MoveTo(ax+(i-1)*b,ay);
frmsinyal.imgkotak.Canvas.LineTo(ax+b+(i-1)*b,ay);
end;
procedure tegak(ax,ay,a,b,i:integer);
begin
frmsinyal.imgkotak.Canvas.Pen.Color:=clred;
frmsinyal.imgkotak.Canvas.MoveTo(ax+(i-1)*b,ay);
frmsinyal.imgkotak.Canvas.LineTo(ax+(i-1)*b,ay-a);
end;
procedure reset;
var
x,y:integer;
begin
frmsinyal.imgsinus.Picture:=nil;
frmsinyal.imgsinus.Refresh;
frmsinyal.imgkotak.Picture:=nil;
frmsinyal.imgkotak.Refresh;
x:=strtoint(frmsinyal.edsumbux.Text);
y:=strtoint(frmsinyal.edsumbuy.Text);
sumbu1(20,120,x,y);
sumbu2(20,120,x,y);
end;
procedure Tfrmsinyal.btsinusClick(Sender: TObject);
var
amp,sx,x,y:integer;
sy,frek:real;
begin
reset;
if rba1.Checked then amp:=25;//amplitudo=1 V
if rba2.Checked then amp:=50;//amplitudo=2 V
if rba4.Checked then amp:=100;//amplitudo=1 V
if rbf2.Checked then frek:=10;//frekuensi=4 Hz
if rbf5.Checked then frek:=4;//frekuensi=5 Hz
if rbf10.Checked then frek:=2;//frekuensi=10Hz
x:=strtoint(frmsinyal.edsumbux.Text);
y:=strtoint(frmsinyal.edsumbuy.Text);
sumbu1 (20,120,x,y);
for sx:=1 to 395 do
begin
sy:=sin(sx/pi/frek)*amp;
frmsinyal.imgsinus.Canvas.Pixels[sx+20,120-round(sy)]:=clred;
end;
end;
procedure Tfrmsinyal.btkotakClick(Sender: TObject);
var
i,x,y,tinggi,lebar:integer;
biner:string;
tnd:integer;
begin
reset;
if rbt10.Checked then lebar:=30;
if rbt30.Checked then lebar:=60;
if rbt50.Checked then lebar:=100;
if rbl10.Checked then tinggi:=10;
if rbl30.Checked then tinggi:=30;
if rbl50.Checked then tinggi:=50;
biner:=edbiner.Text;
x:=strtoint(frmsinyal.edsumbux.Text);
y:=strtoint(frmsinyal.edsumbuy.Text);
sumbu2(20,120,x,y);
tnd:=0;
for i:=1 to 16 do
if biner [i]='1' then
if tnd=0 then begin tegak (20,120,lebar,tinggi,i);
satu (20,120,lebar,tinggi,i);
tnd:=1;end
else satu (20,120,lebar,tinggi,i)
else if tnd=1 then begin tegak (20,120,lebar,tinggi,i);
nol (20,120,lebar,tinggi,i);
tnd:=0;end
else nol (20,120,lebar,tinggi,i);
end;
procedure Tfrmsinyal.imgkotakClick(Sender: TObject);
begin
end;
end.
V. Data hasil praktikum
a. Form
b. Gelombang Sinus
c. Gelombang Kotak
VI. Analisis Data
Pada praktikum penggambaran gelombang sinus, saya mengatur tombol
pilihan untuk kondisi Amplitudo sebesar 2 Volt dan Frekuensi sebesar 2 Hz. Pada
kondisi tersebut akan ditampilkan gelombang sinus dengan tinggi 1 bukit sebesar 2
Volt atau 1 lembah sebesar 2 Volt, atau jika dihitung dari puncak ke puncak
nilainya akan menjadi dua kali amplitudo diketahui yaitu 2 X 2volt = 4 Volt.
(Amplitudo 2 Volt) dan jumlah gelombang sebanyak 2 gelombang dalam 1 detiknya
( Frekuensi 2Hz) karena Frekuensi merupakan jumlah / banyaknya gelombang yang
terbentuk setiap detiknya.
Pada penggambaran gelombang kotak, saya mengatur tombol pilihan untuk
kondisi tinggi pulsa 100 Volt, Lebar Pulsa sebesar 30 dan input biner
1110000101010. Pada kondisi tersebut akan ditampilkan gelombang kotak (pulsa)
dengan tinggi 100 Volt dan lebar untuk tiap pulsa yang mewakili satu angka biner
(logic “0” dan “1”) adalah sebesar 30.
VII. Kesimpulan
1. Sinyal analog dinyatakan dalam bentuk sinyal sinusoida sedangkan sinyal digital
dinyatakan dalam bentuk sinyal kotak yang merupakan kombinasi dari angka “1” dan
“0”.
2. Penyettingan pada properti komponen dan form delphi harus disesuaikan sehingga
kesalahan pada program dapat dikurangi
Daftar Pustaka
1. https://www.academia.edu/7753204/SINYAL_ANALOG_DAN_SINYAL_DIGITAL
. (diakses pada tanggal 31 Maret 2015)
2. http://id.wikipedia.org/wiki/Modulasi (diakses pada tanggal 30 Maret 2015)