Post on 27-Sep-2015
description
LAPORAN PRAKTIKUM I KOMUNIKASI DATASINYAL ANALOG, SINYAL DIGITAL(PENGGAMBARAN SINYAL MENGGUNAKAN DELPHI)
Oleh :Ridho Wicaksono ( 18 / TT 2D )
PROGRAM STUDI TEKNIK TELEKOMUNIKASIJURUSAN TEKNIK ELEKTROPOLITEKNIK NEGERI MALANG2015
BAB IPENDAHULUAN
1.1 Tujuan1.1.1 Tujuan Umum(1) Memahami Perbedaan Sinyal Analog dan Sinyal Digital.(2) Memahami macam-macam dari Sinyal Analog dan Sinyal Digital.
1.1.2 Tujuan Khusus(1) Memahami Pemrograman Delphi.(2) Memahami cara menggambar Sinyal Analog dan Sinyal Digital menggunakan bahasa program pada Delphi7.(3) Membuat program untuk mensimulasi Karakteristik Sinyal Analog dan Sinyal Digital.1.2 Teori Penunjang1.2.1 Sinyal Analog dan Sinyal DigitalSignal analogSignal analog adalah signal yang berupa gelombang elektromagnetik dan bergerak atas dasar fekuensi. Frekuensi adalah jumlah getaran bolak balik sinyal analog dalam satu siklus lengkap per detik. Satu siklus lengkap terjadi saat gelombang berada pada titik bertegangan nol, menuju titik bertegangan positif tertinggi pada gelombang, menurun ke titik tegangan negatif dan menuju ke titik nol kembali (lihat gambar). Semakin tinggi kecepatan atau frekuensinya semakin banyak siklus lengkap yang terjadi pada suatu periode tertentu. Kecepatan frekuensi tersebut dinyatakan dalam hertz. Sebagai contoh sebuah gelombang yang berayun bolak balik sebanyak sepuluh kali tiap detik berarti memiliki kecepatan sepuluh hertz.
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.
Gambar 1. Perbedaan phasa dua gelombangSumber: Arius, D dan Rum Andy KR, 2008
Bila dinyatakan dalam persamaan, suatu gelombang sinusoidal dapat dituliskan sebagai berikut:S(t) = A sin (2ft) + dengan A = AmplitudoF = Frekuensi = Phasa
Signal digitalSinyal 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 mewujudkan data digital menjadi sinyal digital, yaitu data dalam bentuk karakter-karakter yang dapat dipahami manusia tidak dapat langsung ditransmisikan dalam sistem komunikasi. Data harus diubah terlebih dahulu ke dalam bentuk deretan bit agar dapat ditransmisikan.Sebagai ganti gelombang maka signal pada sistem digital ditransmisikan dalam bentuk bit bit biner. Sistem biner adalah sistem on off (atau sistem 1 0 ), jadi bila ada tegangan atau on maka di angkakan 1, sedang bila tidak ada tegangan atau off maka diangkakan 0. Meski memiliki kelemahan terhadap nosie inteferensi listrik apabila jarak semakin jauh, namun signal digital masih dapat diperbaiki atau direparasi artinya dengan cara membangkitkan ulang bit-bit tersebut dengan tidak meregenerasi noise.
Gambar 2. Sinyal digitalSumber: Arius, D dan Rum Andy KR, 2008
1.2.2 Menggambar Sinyal
a. Penggambaran gelombang sinusoidal secara umum
b. Penggambaran di komputer menggunakan Delphi Gambar 3. Perbedaan cara penggambaran gelombang sinusoidal
Menggambarkan gelombang sinusoidal di komputer berbeda dengan cara penggambaran secara umum. Untuk menggambarkan gelombang sinusoidal di komputer dapat diikuti gambar seperti ditampilkan pada Gambar 3.b. Dengan referensi koordinat awal (0,0) terletak di pojok kiri atas, di awali dari koordinat (0,y), lakukan perulangan sepanjang sumbu x, gunakan Persamaan 1 untuk menentukan nilai y, sehingga nilai masing-masing titik gelombang sinusoidal (y) di setiap posisi x adalah y=b A sin 2x.
1.2.3 DelphiA. Pengenalan dan Pengertian Delphi
Delphi adalah suatu bahasa pemograman (development language) yang digunakan untk merancang suatu aplikasi program.Delphi termasuk dalam pemrograman bahasa tingkat tinggi (high level lenguage). Maksud dari bahasa tingkat tinggi yaitu perintah-perintah programnya menggunakan bahasa yang mudah dipahami oleh manusia. Bahasa pemrograman Delphi disebut bahasa prosedural artinya mengikuti urutan tertentu. Dalam membuat aplikasi perintah-perintah, Delphi menggunakan lingkungan pemrograman visual.
B. IDE (Integrated Development Environment)
Kemudian, hal yang paling pertama dalam mengenal Delphi adalah harus mengetahui IDE. IDE (Integrated Development Environment) merupakan lingkungan/wilayah dimana seluruh tools atau komponen-komponen yang dibutuhkan untuk merancang atau membangun aplikasi program. Secara umum IDE Delphi di kelompokkan kepada 8 bagian yaitu :
1. Main Menu
Merupakan penunjuk ke seluruh fasilitas yang disediakan aplikasi Delphi.
Gambar 2.2. Menu Pemrograman Delphi
2. Toolbar / Speedbar
Merupakan Icon (Sortcut)yang dirancang untuk lebih memudahkan menjangkau fasilitas yang ada pada Delphi.
Gambar 2.3. Toolbar Pemrograman Delphi
3. Component Palette
Merupakan komponen-komponen VCL(Visual Component Library) yang dikelompokkan kedalam Tab-tab, komponen komponen inilah yang akan digunakan untuk merancang interface atau antar muka aplikasi.
Gambar 2.4. Component Palette Pemrograman Delphi
4. Form Designer
Merupakan interface (antar muka) apalikasi yang akan dibangun, Form akan menampung seluruh komponen yang akandigunakan dalam proses perancangan sebuah aplikasi dengan Delphi.
Gambar 2.5. Form Designer Pemrograman Delphi
5. Code Editor
Code editor merupakan tempat untuk menuliskan kode program menggunakan bahasa object Pascal. Kode program tidak perlu di tulis secara keseluruhan karena Delphi sudah menyediakan blok atau kerangka untuk menulis kode program.
Gambar 2.6. Code Editor Pemrograman Delphi
6. 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.
Gambar 2.7. Code Explorer Pemrograman Delphi7. Object inspector
Object inspector digunakan untuk mengubah properti atau karakteristik dari suatu komponen. Terdiri dari 2 tab yaitu :a. 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.b. Event
Merupakan bagian yang dapat diisi dengan kode program tertentu yang berfungsi untuk menangani event-event (berupa sebuah procedure) yang dapat direspon oleh sebuah komponen.Event adalah peristiwa atau kejadian yang diterima oleh suatu objek, misal : klik, 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.
Gambar 2.8. Object Inspector Pemrograman Delphi
8. Object Tree View
Object tree view berisi daftar komponen yang sudah diletakkan di form designer.
Gambar 2.9. Object Tree View Pemrograman Delphi2
2.1 Alat dan bahan (1) PC : 1 Buah(2) Aplikasi Borland Delphi 7: disiapkan
BAB IIPEMBAHASAN
2.1 Prosedur Langkah langkah dalam praktikum ini adalah (1) Merangkai setiap komponen diform borland delphi sesuai dengan konsep tata letak komponen.
Gambar 2. Konsep tata letak komponen
Keterangan settingan property dari setiap komponen :KomponenPropertySetting
FormCaptionMenampilkan sinyak sinusoida dan kotak
NameFrmsinyal
Label1CaptionX
Label2CaptionY
Edit1Text400
NameEdit1
Edit2Text120
NameEdit2
Button1CaptionSinus
Namebtsinus
Edit3TextKosongkan
NameEdbiner
Button2CaptionDigital
Namebtdigit
Image1NameImagesinus
Image2NameImagedigit
GroupBox1CaptionMenu Gelombang Sinus
GroupBox2CaptionMenu Gelombang Digital
GroupBox3CaptionAmplitudo
GroupBox4CaptionFrekuensi
GroupBox5CaptionLebar Pulsa
GroupBox6CaptionTinggi Pulsa
GroupBox7CaptionPhase
Caption(kosongkan)
Panel1NamePanel1
(2) Mengisikan program dalam penggambaran sumbu koordinat.
a.) Program untuk menggambarkan sumbu koordinat sinus :procedure sumbu1(ax,ay,b,c:integer);begin frmsinyal.imagesinus.Canvas.MoveTo(ax,ay); frmsinyal.imagesinus.Canvas.LineTo(ax+b,ay); frmsinyal.imagesinus.Canvas.MoveTo(ax,ay); frmsinyal.imagesinus.Canvas.LineTo(ax,ay-c); frmsinyal.imagesinus.Canvas.MoveTo(ax,ay); frmsinyal.imagesinus.Canvas.LineTo(ax,ay+c); frmsinyal.imagesinus.Canvas.Pen.Color:=clred; frmsinyal.imagesinus.Canvas.MoveTo(ax,ay+110); frmsinyal.imagesinus.Canvas.LineTo(ax+160,ay+110); frmsinyal.imagesinus.Canvas.MoveTo(ax+220,ay+110); frmsinyal.imagesinus.Canvas.LineTo(ax+390,ay+110); frmsinyal.imagesinus.Canvas.TextOut(ax+170,ay+105,'1detik'); frmsinyal.imagesinus.Canvas.TextOut(ax,ay-c,'Amplitude(A)'); frmsinyal.imagesinus.Canvas.TextOut(ax+b-15,ay 15,'Time(t)'); frmsinyal.imagesinus.Canvas.TextOut(ax-10,ay-55,'2-'); frmsinyal.imagesinus.Canvas.TextOut(ax-10,ay-107,'4-');end;
b.) Program untuk menggambarkan sumbu koordinat digital :
procedure sumbu2(ax,ay,b,c:integer);begin frmsinyal.imagedigit.Canvas.MoveTo(ax,ay); frmsinyal.imagedigit.Canvas.LineTo(ax+b,ay); frmsinyal.imagedigit.Canvas.MoveTo(ax,ay); frmsinyal.imagedigit.Canvas.LineTo(ax,ay-c); frmsinyal.imagedigit.Canvas.MoveTo(ax,ay); frmsinyal.imagedigit.Canvas.LineTo(ax,ay+c); frmsinyal.imagedigit.Canvas.TextOut(ax,ay-c,'Amplitude (v)'); frmsinyal.imagedigit.Canvas.TextOut(ax+b-5,ay+5,'Time(s)'); frmsinyal.imagedigit.Canvas.TextOut(ax-15,ay-37,'30-'); frmsinyal.imagedigit.Canvas.TextOut(ax-15,ay-67,'60-'); frmsinyal.imagedigit.Canvas.TextOut(ax-21,ay-107,'100-');end;
(3) Mengisikan program biner satu, nol dan tegak pada digital :
procedure satu(ax,ay,a,b,i:integer);begin frmsinyal.imagedigit.Canvas.Pen.Color:=clgreen; frmsinyal.imagedigit.Canvas.MoveTo(ax+(i-1)*b,ay-a); frmsinyal.imagedigit.Canvas.LineTo(ax+b+(i-1)*b,ay-a);end;
procedure nol(ax,ay,a,b,i:integer);begin frmsinyal.imagedigit.Canvas.Pen.Color:=clgreen; frmsinyal.imagedigit.Canvas.MoveTo(ax+(i-1)*b,ay); frmsinyal.imagedigit.Canvas.LineTo(ax+b+(i-1)*b,ay);end;
procedure tegak(ax,ay,a,b,i:integer);begin frmsinyal.imagedigit.Canvas.Pen.Color:=clgreen; frmsinyal.imagedigit.Canvas.MoveTo(ax+(i-1)*b,ay); frmsinyal.imagedigit.Canvas.LineTo(ax+(i-1)*b,ay-a);end;
(4) Mengisikan program reset pada tabel gelombang sinus dan digital :
procedure reset_sinus;var x,y:integer;begin frmsinyal.imagesinus.Picture:=nil; frmsinyal.imagesinus.Refresh ;
x:=strtoint(frmsinyal.Edit1.Text); y:=strtoint(frmsinyal.Edit2.Text); sumbu1(20,120,x,y); sumbu2(20,120,x,y);end;
procedure reset_digit;var x,y:integer;begin frmsinyal.imagedigit.Picture:=nil; frmsinyal.imagedigit.Refresh ;
x:=strtoint(frmsinyal.Edit1.Text); y:=strtoint(frmsinyal.Edit2.Text); sumbu1(20,120,x,y); sumbu2(20,120,x,y);end;
(5) Ketikkan kode program di bawah ini untuk menggambarkan gelombang sinus dengan cara melakukan double click pada button SINUS sebagai event on click.procedure Tfrmsinyal.BtsinusClick(Sender: TObject);var amp,sx,x,y:integer; //Variabel yang dipanggil sy,frek,phase:real;begin reset_sinus; 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:=2; //frekuensi = 2Hz if rbf5.Checked then frek:=5; // frekuensi = 5Hz if rbf10.Checked then frek:=10; // frekuensi = 10Hz if rbp0.Checked then phase:=0;//phase = 0 if rbp90.Checked then phase:=pi/2;// phase = 90 if rbp180.Checked then phase:=pi;//phase = 180
x:=strtoint(frmsinyal.Edit1.Text); y:=strtoint(frmsinyal.Edit2.Text); sumbu1(20,120,x,y); for sx:=1 to 395 do
beginsy:=sin(sx/pi/frek+phase)*amp; //Saat Pratikum ditambahkan program untuk phase gelombang sinus disinifrmsinyal.imagesinus.Canvas.pixels[sx+20,120-round(sy)]:=clred; end;
end;(6) Ketikkan kode program di bawah ini untuk menggambarkan gelombang digital dengan cara melakukan double click pada button DIGITAL sebagai event on click.
procedure Tfrmsinyal.BtdigitClick(Sender: TObject);var i,x,y,tinggi,lebar:integer; //Variabel yang dipanggil biner:string; tnd : integer;begin reset_digit; if rbl10.checked then lebar:=10; if rbl30.checked then lebar:=30; if rbl50.checked then lebar:=50; if rbt10.checked then tinggi:=30; if rbt30.checked then tinggi:=60; if rbt50.checked then tinggi:=100; biner:=edbiner.Text; x:=strtoint(frmsinyal.Edit1.Text); y:=strtoint(frmsinyal.Edit2.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;
2.2 Hasil Percobaan(1) Flowchart Gelombang Sinus
(2) Flowchart Gelombang Digital
(3) Program
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
type Tfrmsinyal = class(TForm) imagesinus: TImage; imagedigit: TImage; GroupBox1: TGroupBox; GroupBox2: TGroupBox; Btsinus: TButton; Btdigit: TButton; Edit1: TEdit; Edit2: TEdit; GroupBox3: TGroupBox; GroupBox4: TGroupBox; GroupBox5: TGroupBox; GroupBox6: TGroupBox; edbiner: TEdit; rba1: TRadioButton; rba2: TRadioButton; rba4: TRadioButton; rbf2: TRadioButton; rbf5: TRadioButton; rbf10: TRadioButton; rbt10: TRadioButton; rbt30: TRadioButton; rbt50: TRadioButton; rbl10: TRadioButton; rbl30: TRadioButton; rbl50: TRadioButton; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Button1: TButton; Panel1: TPanel; Label1: TLabel; Label2: TLabel; Groupbox7: TGroupBox; rbp0: TRadioButton; rbp90: TRadioButton; rbp180: TRadioButton; procedure BtsinusClick(Sender: TObject); procedure BtdigitClick(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var frmsinyal: Tfrmsinyal;
implementation
{$R *.dfm}
procedure sumbu1(ax,ay,b,c:integer);begin frmsinyal.imagesinus.Canvas.MoveTo(ax,ay); frmsinyal.imagesinus.Canvas.LineTo(ax+b,ay); frmsinyal.imagesinus.Canvas.MoveTo(ax,ay); frmsinyal.imagesinus.Canvas.LineTo(ax,ay-c); frmsinyal.imagesinus.Canvas.MoveTo(ax,ay); frmsinyal.imagesinus.Canvas.LineTo(ax,ay+c); frmsinyal.imagesinus.Canvas.Pen.Color:=clred; frmsinyal.imagesinus.Canvas.MoveTo(ax,ay+110); frmsinyal.imagesinus.Canvas.LineTo(ax+160,ay+110); frmsinyal.imagesinus.Canvas.MoveTo(ax+220,ay+110); frmsinyal.imagesinus.Canvas.LineTo(ax+390,ay+110); frmsinyal.imagesinus.Canvas.TextOut(ax+170,ay+105,'1 detik'); frmsinyal.imagesinus.Canvas.TextOut(ax,ay-c,'Amplitude (A)'); frmsinyal.imagesinus.Canvas.TextOut(ax+b-15,ay-15,'Time(t)'); frmsinyal.imagesinus.Canvas.TextOut(ax-10,ay-55,'2-'); frmsinyal.imagesinus.Canvas.TextOut(ax-10,ay-107,'4-');end;
procedure sumbu2(ax,ay,b,c:integer);begin frmsinyal.imagedigit.Canvas.MoveTo(ax,ay); frmsinyal.imagedigit.Canvas.LineTo(ax+b,ay); frmsinyal.imagedigit.Canvas.MoveTo(ax,ay); frmsinyal.imagedigit.Canvas.LineTo(ax,ay-c); frmsinyal.imagedigit.Canvas.MoveTo(ax,ay); frmsinyal.imagedigit.Canvas.LineTo(ax,ay+c); frmsinyal.imagedigit.Canvas.TextOut(ax,ay-c,'Amplitude (v)'); frmsinyal.imagedigit.Canvas.TextOut(ax+b-5,ay+5,'Time(s)'); frmsinyal.imagedigit.Canvas.TextOut(ax-15,ay-37,'30-'); frmsinyal.imagedigit.Canvas.TextOut(ax-15,ay-67,'60-'); frmsinyal.imagedigit.Canvas.TextOut(ax-21,ay-107,'100-');end;
procedure satu(ax,ay,a,b,i:integer);begin frmsinyal.imagedigit.Canvas.Pen.Color:=clgreen; frmsinyal.imagedigit.Canvas.MoveTo(ax+(i-1)*b,ay-a); frmsinyal.imagedigit.Canvas.LineTo(ax+b+(i-1)*b,ay-a);end;
procedure nol(ax,ay,a,b,i:integer);begin frmsinyal.imagedigit.Canvas.Pen.Color:=clgreen; frmsinyal.imagedigit.Canvas.MoveTo(ax+(i-1)*b,ay); frmsinyal.imagedigit.Canvas.LineTo(ax+b+(i-1)*b,ay);end;
procedure tegak(ax,ay,a,b,i:integer);begin frmsinyal.imagedigit.Canvas.Pen.Color:=clgreen; frmsinyal.imagedigit.Canvas.MoveTo(ax+(i-1)*b,ay); frmsinyal.imagedigit.Canvas.LineTo(ax+(i-1)*b,ay-a);end;
procedure reset_sinus;var x,y:integer;begin frmsinyal.imagesinus.Picture:=nil; frmsinyal.imagesinus.Refresh ;
x:=strtoint(frmsinyal.Edit1.Text); y:=strtoint(frmsinyal.Edit2.Text); sumbu1(20,120,x,y); sumbu2(20,120,x,y);end;
procedure reset_digit;var x,y:integer;begin frmsinyal.imagedigit.Picture:=nil; frmsinyal.imagedigit.Refresh ;
x:=strtoint(frmsinyal.Edit1.Text); y:=strtoint(frmsinyal.Edit2.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,phase:real;begin reset_sinus; if rba1.Checked then amp:=25; if rba2.Checked then amp:=50; if rba4.Checked then amp:=100; if rbf2.Checked then frek:=2; if rbf5.Checked then frek:=5; if rbf10.Checked then frek:=10; if rbp0.Checked then phase:=0; if rbp90.Checked then phase:=pi/2; if rbp180.Checked then phase:=pi;
x:=strtoint(frmsinyal.Edit1.Text); y:=strtoint(frmsinyal.Edit2.Text); sumbu1(20,120,x,y); for sx:=1 to 395 do
begin sy:=sin(sx/pi/frek+phase)*amp; frmsinyal.imagesinus.Canvas.pixels[sx+20,120-round(sy)]:=clred; end;
end;procedure Tfrmsinyal.BtdigitClick(Sender: TObject);var i,x,y,tinggi,lebar:integer; biner:string; tnd : integer;begin reset_digit; if rbl10.checked then lebar:=30; if rbl30.checked then lebar:=60; if rbl50.checked then lebar:=100; if rbt10.checked then tinggi:=30; if rbt30.checked then tinggi:=60; if rbt50.checked then tinggi:=100; biner:=edbiner.Text; x:=strtoint(frmsinyal.Edit1.Text); y:=strtoint(frmsinyal.Edit2.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.Button1Click(Sender: TObject);beginclose;end;
end.
(4) Desain Aplikasi yang dibuat
Gambar 3. Program sebelum dijalankan
Gambar 4. Program setelah dijalankanBAB IIIPENUTUP
3.1 Kesimpulan
1. Delphi adalah suatu bahasa pemograman (development language) yang digunakan untuk merancang suatu aplikasi program. 2. Untuk membuat program pada Delphi, ketika mendesign layout form pada project diwajibkan untuk memberikan identitas yang sesuai dengan script pada program yang akan digunakan agar tidak terjadi eror/kesalahan.3. Agar hasil program dapat sukses, maka harus menyimpan unit serta project terlebih dahulu kemudian di compile.4. Hasil output gelombang dipengaruhi oleh besar amplitude dan frekuensi untuk gelombang sinus, sedangakan gelombang kotak dipengaruhi oleh bilangan biner serta tinggi dan lebar pulsa.
amp,sx,x,y:integer;sy,frek,pha:real;
x:=strtoint(sinuskotak.edsumbux.Text); y:=strtoint(sinuskotak.edsumbuy.Text); sumbu1(20,120,x,y);
mulai
if rba1=amp 25
if rba2=amp 50
if rba4=amp 100
if rbf2=frek10
if rbf10=frek 2
if rbf5=frek4
If rb6=frek 10
If rb5=frek 2
If rb4=frek 2
If rb6=frek 10
If rb5=frek 2
If rb4=frek 2
for sx:=1 to 395
sy:=sin(sx/pi/frek)*amp; sinuskotak.imgsinus.Canvas.Pixels[sx+20,120-round(sy)]:=clred;
Gel sinus
end
tdk
tdk
tdk
tdk
tdk
tdk
tdk
tdk
ya
ya
ya
amp,sx,x,y:integer;sy,frek,phasa:real;
x:=strtoint(frmsinyal.edsumbux.Text);y:=strtoint(frmsinyal.edsumbuy.Text);sumbu1(20,120,x,y);
mulai
if RadioButton1=amp 25
if RadioButton4=frek10
if RadioButton6=frek 2
if RadioButton5=frek4
if RadioButton13= pha 0
if RadioButton15=pha pi;
if RadioButton14=pha pi/2;
if RadioButton2=amp 50
if RadioButton3=amp 100
sy:=sin(sx/pi/frek+phasa)*amp;frmsinyal.imgsinus.Canvas.pixels[sx+20,120-round(sy)]:=clred;
Gel sinus
end
ya
ya
ya
ya
ya
ya
ya
ya
tdk
tdk
tdk
tdk
tdk
tdk
for sx:=1 to 395
ya
i,x,y,tinggi,lebar:integer;biner:string;tnd : integer;
biner:=edbiner.Text;x:=strtoint(frmsinyal.edsumbux.Text);y:=strtoint(frmsinyal.edsumbuy.Text);sumbu2(20,120,x,y);tnd:=0;
mulai
if rbl10=lebar 10
if rbl30= lebar 60
if rbl50= lebar 100
if rbt10= tinggi 10
If rbt50= tinggi 50
If rbt30=tinggi 30
if rbt10= tinggi 10
If rbt50= tinggi 50
If rbt30=tinggi 30
if rbt10= tinggi 10
If rbt50= tinggi 50
If rbt30=tinggi 30
Gel kotak
end
if tnd=0
tdk
tegak(20,120,lebar,tinggi,i);nol (20,120,lebar,tinggi,i);tnd:=0; end
tdk
tdk
tdk
tdk
tdk
tdk
tidak
ya
tdk
ya
ya
ya
for i:=1 to 16
tegak(20,120,lebar,tinggi,i);satu (20,120,lebar,tinggi,i);tnd:=1; end