You are on page 1of 5

Pengolahan Sinyal Digital

Tugas 3

Nama : Muhammad Realdi

NIM : 09011281823070

Kelas : SK6B

Dosen Pengampuh : Rendyansyah, S.Kom., M.T.

JURUSAN SISTEM KOMPUTER

FAKULTAS ILMU KOMPUTER

UNIVERSITAS SRIWIJAYA

2021
Koding Pada Delphi

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, TeEngine, Series, StdCtrls, ExtCtrls, TeeProcs, Chart;

type
TForm1 = class(TForm)
Chart1: TChart;
Button1: TButton;
ScrollBar1: TScrollBar;
Label1: TLabel;
Edit1: TEdit;
Button2: TButton;
Series1: TLineSeries;
Series2: TLineSeries;
Button3: TButton;
Series3: TLineSeries;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ScrollBar1Change(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
x:array[-200..200]of Integer;
y:array[-700..700]of Real;

implementation

{$R *.dfm}

procedure TForm1.ScrollBar1Change(Sender: TObject);


var
value:real;
n,m:integer;
t,t_gs:real;
tt_gs:string;
begin
Series2.Clear;
value:=Scrollbar1.Position/10;
Edit1.Text:=FloatToStr(value);

t_gs:=StrToFloat(Edit1.Text)*100;
tt_gs:=FloatToStr(t_gs);
m:=StrToInt(tt_gs);
for n:=-200+m to 200+m do
begin
t:=n/100;
y[n]:=x[n-m];
Series2.AddXY(t,y[n]);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);


var
n:integer;
t:real;
begin
Series1.Clear;
for n:=-200 to 200 do
begin
t:=n/100;
if(t>=-2)and(t<-1)then
begin
x[n]:=0;
end
else if(t>=-1)and(t<1) then
begin
x[n]:=1;
end
else if(t>=1)and(t<=2)then
begin
x[n]:=0;
end;
Series1.AddXY(t,x[n]);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);


var
n,m:integer;
t,t_gs:real;
tt_gs:string;
begin
Series2.Clear;

t_gs:=StrToFloat(Edit1.Text)*100;
tt_gs:=FloatToStr(t_gs);
m:=StrToInt(tt_gs);
for n:=-200+m to 200+m do
begin
t:=n/100;
y[n]:=x[n-m];
Series2.AddXY(t,y[n]);
end;
end;

procedure TForm1.Button3Click(Sender: TObject);


var
n:Integer;
t,a,b,c:Real;

begin
Series3.Clear;
for n:=-200 to 200 do
begin
t:=n/100;
a:=0.25*y[n-1];
b:=0.5*x[n];
c:=0.5*x[n-1];
y[n]:=a+b+c;
if(t>=-2)and(t<-1)then
begin
x[n]:=0;
end
else if(t>=-1)and(t<1) then
begin
Series3.AddXY(t,y[n]);
end
else if(t>=1)and(t<=2)then
begin
x[n]:=0;
end;
Series3.AddXY(t,x[n]);
end;
end;

end.
Hasil

You might also like