Laporan Komdat 1
Laporan Komdat 1
KOMUNIKASI DATA
SINYAL ANALOG DAN SINYAL DIGITAL
(PENGGAMBARAN SINYAL MENGGUNAKAN DELPHI)
Oleh :
Muhammad Kevin Kurniaawan (1931130118)
TT – 1A
2. Teori Penunjang
2.1 Sinyal Analog dan Sinyal Digital
Sinyal analog merupakan gelombang elektromagnetik yang langsung, terus-menerus, dan
disebarkan melalui berbagai media transmisi. Contoh sinyal analog yang paling mudah
dijumpai adalah gelombang sinusoidal. Karakteristik sinyal analog ditentukan oleh tiga
parameter, yaitu:
1. Amplitudo, merupakan ukuran sinyal pada waktu tertentu.
2. Frekuensi, merupakan kebalikan dari periode (f=1/T), yaitu banyaknya pengulangan
sinyal (gelombang) dalam satuan waktu, dengan satuan Hz atau cycles per second.
3. Phasa, merupakan ukuran dari posisi relatif awal suatu sinyal dengan tidak melewati
periode tunggal dari sinyal. Gambar 1 menampilkan dua gelombang dengan beda
phasa π /2.
Bila dinyatakan dalam persamaan, suatu gelombang sinusoidal dapat dituliskan sebagai
berikut :
S(t) = A sin (2.ft) + Ø
Dengan A = Amplitudo
f = Frekuensi
Ø = Phasa
Sinyal digital merupakan sinyal sebagai wujud tampilan data digital. Data digital
merupakan data yang memiliki deretan nilai yang berbeda dan memiliki ciri tersendiri. Contoh
data digital adalah teks, deretan bilangan, dan karakter-karakter lain. Terdapat permasalahan
dalam memwujudkan data digital menjadi sinyal digital, yaitu data dalam bentuk karakter-
karakter yang dapat dipahami manusia tidak dapat langsung ditransmisikan dalam system
komunikasi. Data harus diubah terlebih dahulu ke dalam bentuk deretan bit agar dapat
ditransmisikan.
Main Menu
Toolbar/Speedba
r
Object Tree View Component
Palette
Object Inspector
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 perintah perintah 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 tindakan tersebut (berupa sebuah procedure) menggunakan
OnClose.
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.
3. Prosedur
3.1 Flowchart Sinyal Sinusoidal
START
Tidak
amp,sx,x,y:integer;
sy,frek:real; Rbf5.checked ?
ya
reset amp = 4
Tidak
Rba1.checked ? Tidak
Rbf10.checked ?
ya
ya
amp = 25
amp = 2
Tidak
Rba2.checked ?
ya x:=strtoint(frmsinyal.edsumbux.Text);
y:=strtoint(frmsinyal.edsumbuy.Text);
amp = 50
Rba4.checked ?
ya
for sx:=1 to 395 do
amp = 100
sy:=sin(sx/pi/frek)*amp;
frmsinyal.imgsinus.Canvas.Pixels[sx
+20,120-round(sy)]:=clred;
Tidak
Rbf2.checked ?
ya
end
amp = 10
3.2 Flowchart Sinyal Sinusoidal dan Pulse
START
Tidak
i,x,y,tinggi,lebar:integer; Tidak
biner:string; Rbl30.checked ? Tnd = 1 ?
tnd : integer;
ya
tegak(20,120,lebar,tinggi,i);
nol(20,120,lebar,t
reset Tinggi = 30 nol (20,120,lebar,tinggi,i);
inggi,i);
tnd:=0;
Tidak
Rb10.checked ? Tidak
Rbf50.checked ?
ya
END
ya
Lebar = 30
Tinggi = 50
Tidak
Rbt30.checked ?
ya biner:=edbiner.Text;
x:=strtoint(frmsinyal.edsumbux.Text);
Lebar = 60
y:=strtoint(frmsinyal.edsumbuy.Text);
ya
for i:=1 to 16 do
Lebar = 100
Tidak
biner[i]='1' ?
Tidak
Rbl10.checked ?
ya Tidak
Tnd = 0 ?
Tinggi = 10
tegak(20,120,lebar,tinggi,i);
satu(20,120,lebar
satu (20,120,lebar,tinggi,i);
,tinggi,i)
tnd:=1;
3.3 Langkah Langkah Sinyal Sinusoidal
Buka Aplikasi Delphi
Tambahkan pada form 2 buah komponen label, 1 buah image, 1 buah memo, 2 buah
edit,2 buah Groupbox , 6 buah Radio Button, dan 1 buah button, . Atur tata letak
komponen-komponen tersebut menjadi seperti tampak pada gambar di bawah ini :
procedure reset;
var
x,y:integer;
begin
frmsinyal.Imgtampil.Picture:=nil;
frmsinyal.Imgtampil.Refresh;
x:=strtoint(frmsinyal.Edsumbux.Text);
y:=strtoint(frmsinyal.Edsumbuy.Text);
sumbu(20,120,x,y);
end;
procedure TFrmsinyal.BtprosesClick(Sender: TObject);
var
sx,x,y,amp:integer;
sy,frek:real;
begin
reset;
if rba1.Checked then amp:=25; //amplitudo=1V
if rba2.Checked then amp:=50;//amplitudo=2V
if rba4.Checked then amp:=100;//amplitudo=4V
if rbf2.Checked then frek:=10;//frekuensi=2Hz
if rbf5.Checked then frek:=4; //frekuensi=5Hz
if rbf10.Checked then frek:=2; //frekuensi=10Hz
x:= strtoint(frmsinyal.Edsumbux.Text);
y:= strtoint(frmsinyal.Edsumbuy.Text);
sumbu(20,120,x,y);
for sx:=1 to 395 do
begin
sy:=sin(sx/pi/3)*100;
frmsinyal.Imgtampil.Canvas.Pixels[sx+20,120-round(sy)]:=clred;
Frmsinyal.Mmhasil.Lines.Add('x='+inttostr(sx)+''+formatfloat('#.###',(sy)));
end;
end;
end.
3.4 Langkah Langkah Sinyal Sinusoidal dan Pulsa
Lakukan Langkah Langkah 3.3
Tambahkan lagi pada form 6 buah komponen label, 1 buah image, 1 buah edit, 2 buah
Groupbox , 6 buah Radio Button, dan 1 buah button, . Atur tata letak komponen-
komponen tersebut menjadi seperti tampak pada gambar di bawah ini :
frmsinyal.Imgtampil.Canvas.MoveTo(ax,ay);
frmsinyal.Imgtampil.Canvas.LineTo(ax+b,ay);
frmsinyal.Imgtampil.Canvas.MoveTo(ax,ay);
frmsinyal.Imgtampil.Canvas.LineTo(ax,ay-c);
frmsinyal.Imgtampil.Canvas.MoveTo(ax,ay);
frmsinyal.Imgtampil.Canvas.LineTo(ax,ay+c);
frmsinyal.Imgtampil.Canvas.Pen.Color:=clblue;
frmsinyal.Imgtampil.Canvas.MoveTo(ax,ay+110);
frmsinyal.Imgtampil.Canvas.LineTo(ax+160,ay+110);
frmsinyal.Imgtampil.Canvas.MoveTo(ax+220,ay+110);
frmsinyal.Imgtampil.Canvas.LineTo(ax+390,ay+110);
frmsinyal.Imgtampil.Canvas.TextOut(ax+170,ay+105,'1detik');
frmsinyal.Imgtampil.Canvas.TextOut(ax,ay-c,'Amplitudo(A)');
frmsinyal.Imgtampil.Canvas.TextOut(ax+b-15,ay-15,'Time(T)');
frmsinyal.Imgtampil.Canvas.TextOut(ax-10,ay-55,'2-');
frmsinyal.Imgtampil.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,'Amplitudo(A)');
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;
end;
end;
begin
reset;
if rbl10.Checked then tinggi:=10;
if rbl30.Checked then tinggi:=30;
if rbl50.Checked then tinggi:=50;
if rbt10.Checked then lebar:=30;
if rbt30.Checked then lebar:=60;
if rbt50.Checked then lebar:=100;
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;
end.
4. Hasil Percobaan
4.1 Hasil gelombang Sinusoidal
Namun pada gelombang kotak didapatkan hasil pada grafik tinggi pulas dan lebar pulsa.
Jika tinggi pulas 30Volt dan lebar Pulsa 30Volt gelombang yang di hasilkan akan lebar dan
rendah. Namun, jika tinggi pulsa 60Volt dan lebar pulsa 10Volt gelombang kotak yang
dihasilkan akan tinggi dan sempit, yang membedakan adalah bilangan biner yang kita
inputkan. Bila bilangan biner 1 maka sinyal akan naik, dan jika bilangan biner 0 maka sinyal
akan lurus mendatar.
6. Kesimpulan
Semakin Besar Frekuensi, maka semakin besar pula gelombang yang di hasilkan
setiap 1 detiknya.
Pada Gelombang Sinus dipengaruhi oleh Frekuensi, Amplitudo dan banyak
gelombang tiap 1 detik.
Pada Gelombang Kotak, dipengaruhi oleh lebar pulsa, tinggi pulsa, dan bilangan
biner yang kita inputkan.