Pak Sarosa Mumumumumu
-
Upload
candra-setya -
Category
Documents
-
view
221 -
download
0
Transcript of Pak Sarosa Mumumumumu
-
8/11/2019 Pak Sarosa Mumumumumu
1/8
LAPORAN
KOMUNIKASI DATA
OLEH :
ADITYA PRATAMA SJTD 3A
POLITEKNIK NEGERI MALANGJANUARI 2011
-
8/11/2019 Pak Sarosa Mumumumumu
2/8
MEMBUAT APLIKASI GELOMBANG SINUS DAN KOTAK DENGAN DELPHI 7
A. TUJUAN
B. ALAT Seperangkat PC lengkap/Laptop
C. SOFTWARE
Delphi 7 Microsot Office Visio 2003/2007 Microsoft Office Word 2003/2007 Paint
-
8/11/2019 Pak Sarosa Mumumumumu
3/8
START
amp,sx,x,y:integer; sy,frek:real;
reset
Rba1.checked ?
amp = 25
Rba2.checked ?
amp = 50
Rba4.checked ?
amp = 100
Rbf2.checked ?
amp = 10
Rbf5.checked ?
amp = 4
Rbf10.checked ?
amp = 2
x:=strtoint(frmsinyal.edsumbux.Text); y:=strtoint(frmsinyal.edsumbuy.Text);
Membuat sumbu vertikalhorizontal pada canvas imgsinus
for sx:=1 to 395 do
sy:=sin(sx/pi/frek)*amp;frmsinyal.imgsinus.Canvas.Pixels[sx
+20,120-round(sy)]:=clred;
end
ya
Tidak
ya
Tidak
ya
Tidak
ya
Tidak
ya
Tidak
ya
Tidak
D. HASIL PRAKTIKUM
I . FLOWCHART
- Untuktombol sinus
-
8/11/2019 Pak Sarosa Mumumumumu
4/8
START
i,x,y,tinggi,lebar:integer; biner:string; tnd : integer;
reset
Rb10.checked ?
Lebar = 30
Rbt30.checked ?
Lebar = 60
Rbt50.checked ?
Lebar = 100
Rbl10.checked ?
Tinggi = 10
Rbl30.checked ?
Tinggi = 30
Rbf50.checked ?
Tinggi = 50
biner:=edbiner.Text;x:=strtoint(frmsinyal.edsumbux.Text);
y:=strtoint(frmsinyal.edsumbuy.Text);
Membuat sumbu vertikalhorizontal pada canvas imgkotak
Tnd = 0
for i:=1 to 16 do
ya
Tidak
ya
Tidak
ya
Tidak
ya
Tidak
ya
Tidak
ya
Tidak
biner[i]='1' ?
Tnd = 0 ?
tegak(20,120,lebar,tinggi,i);satu (20,120,lebar,tinggi,i);
tnd:=1;
satu(20,120,lebar ,tinggi,i)
Tnd = 1 ?
tegak(20,120,lebar,tinggi,i);nol (20,120,lebar,tinggi,i);
tnd:=0;
nol(20,120,lebar,tinggi,i);
END
Tidak
Tidak
Tidak
-Untuktombolkotak
-
8/11/2019 Pak Sarosa Mumumumumu
5/8
II. SCRIPT
unit Unit1;
interface
usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ExtCtrls, StdCtrls;
typeTfrmsinyal = class(TForm)
Label1: TLabel;Label2: TLabel;rba1: TRadioButton;rba2: TRadioButton;rba4: TRadioButton;
rbf2: TRadioButton;Label3: TLabel;rbf5: TRadioButton;rbf10: TRadioButton;Label4: TLabel;Label5: TLabel;
edbiner: TEdit;Label6: TLabel;rbt10: TRadioButton;rbt30: TRadioButton;rbt50: TRadioButton;
Label7: TLabel;rbl10: TRadioButton;rbl30: TRadioButton;rbl50: TRadioButton;
btsinus: TButton;btkotak: TButton;edsumbux: TEdit;edsumbuy: TEdit;
Label8: TLabel;Label9: TLabel;
Imgsinus: TImage;Imgkotak: TImage;amp: TPanel;frek: TPanel;tinggi: TPanel;lebar: TPanel;procedurebtsinusClick(Sender: TObject);procedurebtkotakClick(Sender: TObject);
private
-
8/11/2019 Pak Sarosa Mumumumumu
6/8
{ Private declarations }public{ Public declarations }end;
varfrmsinyal: Tfrmsinyal;implementation{$R *.dfm}procedure sumbu1(ax,ay,b,c:integer);beginfrmsinyal.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,'Amplitude (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);beginfrmsinyal.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;proceduresatu(ax,ay,a,b,i:integer);beginfrmsinyal.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;
-
8/11/2019 Pak Sarosa Mumumumumu
7/8
procedurenol(ax,ay,a,b,i:integer);beginfrmsinyal.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;
proceduretegak(ax,ay,a,b,i:integer);beginfrmsinyal.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;beginfrmsinyal.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;
procedureTfrmsinyal.btsinusClick(Sender: TObject);varamp,sx,x,y:integer;sy,frek:real;beginreset;if rba1.Checked then amp:=25; // amplitudo=1 Vif rba2.Checked then amp:=50; // amplitudo=2 Vif rba4.Checked then amp:=100; // amplitudo=1 Vif rbf2.Checked then frek:=10;// frekuensi= 4 Hzif rbf5.Checked then frek:=4;// frekuensi= 5 Hzif rbf10.Checked then frek:=2;// frekuensi= 10 Hzx:=strtoint(frmsinyal.edsumbux.Text);y:=strtoint(frmsinyal.edsumbuy.Text);sumbu1(20,120,x,y);forsx:=1 to 395 dobeginsy:=sin(sx/pi/frek)*amp;frmsinyal.imgsinus.Canvas.Pixels[sx+20,120-round(sy)]:=clred;
-
8/11/2019 Pak Sarosa Mumumumumu
8/8
end;end;
procedureTfrmsinyal.btkotakClick(Sender: TObject);vari,x,y,tinggi,lebar:integer;biner:string;tnd : integer;beginreset;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 doifbiner[i]='1' theniftnd=0 then begin tegak(20,120,lebar,tinggi,i);satu (20,120,lebar,tinggi,i);tnd:=1; endelsesatu(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; endelsenol(20,120,lebar,tinggi,i);end;
end.