arum jtd 3b

17
LAPORAN PRAKTIKUM Mata Kuliah : Praktikum Komunikasi Data Dosen Pembimbing : M. Sarosa, dipl.Ing, Dr Oleh : Arum Shadewi Ittaqa 0941160008 / 3B POLITEKNIK NEGERI MALANG JURUSAN TEKNIK ELEKTRO PROGRAM STUDI D4 JARINGAN TELEKOMUNIKASI DIGITAL MALANG

Upload: arum-shadewi-ittaqa

Post on 27-Apr-2015

50 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: ARUM JTD 3B

LAPORAN PRAKTIKUM

Mata Kuliah : Praktikum Komunikasi Data

Dosen Pembimbing : M. Sarosa, dipl.Ing, Dr

Oleh :

Arum Shadewi Ittaqa 0941160008 / 3B

POLITEKNIK NEGERI MALANG

JURUSAN TEKNIK ELEKTRO

PROGRAM STUDI D4 JARINGAN TELEKOMUNIKASI DIGITAL

MALANG

2011

Page 2: ARUM JTD 3B

Listing Program

unit arum;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

type

Tfrmsinyal = class(TForm)

imganalog: TImage;

imgdigital: TImage;

mereport: TMemo;

btanalog: TButton;

btdigital: TButton;

edsumbux: TEdit;

edsumbuy: TEdit;

Label1: TLabel;

Label2: TLabel;

btreset: TButton;

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

RB1V: TRadioButton;

RB3V: TRadioButton;

RB5V: TRadioButton;

Label3: TLabel;

Label4: TLabel;

RB1Hz: TRadioButton;

RB5Hz: TRadioButton;

RB10Hz: TRadioButton;

Label5: TLabel;

Panel5: TPanel;

Panel6: TPanel;

Panel7: TPanel;

Panel8: TPanel;

inputbiner: TEdit;

RB10V: TRadioButton;

RB50V: TRadioButton;

RB100V: TRadioButton;

RB10: TRadioButton;

RB20: TRadioButton;

RB30: TRadioButton;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

keluar: TButton;

Label10: TLabel;

Label11: TLabel;

procedure btanalogClick(Sender: TObject);

procedure btdigitalClick(Sender: TObject);

procedure btresetClick(Sender: TObject);

Page 3: ARUM JTD 3B

procedure keluarClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

frmsinyal: Tfrmsinyal;

implementation

{$R *.dfm}

procedure sumbu1(ax,ay,b,c:integer);

begin

frmsinyal.imganalog.Canvas.MoveTo(ax,ay);

frmsinyal.imganalog.Canvas.LineTo(ax+b,ay);

frmsinyal.imganalog.Canvas.MoveTo(ax,ay);

frmsinyal.imganalog.Canvas.LineTo(ax,ay-c);

frmsinyal.imganalog.Canvas.MoveTo(ax,ay);

frmsinyal.imganalog.Canvas.LineTo(ax,ay+c);

frmsinyal.imganalog.Canvas.TextOut(ax,ay-c,'Amplitude (A)');

frmsinyal.imganalog.Canvas.TextOut(ax+b-15,ay-15,'Time(t)');

frmsinyal.imganalog.Canvas.TextOut(ax-10,ay-55,'3-');

frmsinyal.imganalog.Canvas.TextOut(ax-10,ay-107,'5-');

end;

procedure sumbu2(ax,ay,b,c:integer);

begin

frmsinyal.imgdigital.Canvas.MoveTo(ax,ay);

frmsinyal.imgdigital.Canvas.LineTo(ax+b,ay);

frmsinyal.imgdigital.Canvas.MoveTo(ax,ay);

frmsinyal.imgdigital.Canvas.LineTo(ax,ay-c);

frmsinyal.imgdigital.Canvas.MoveTo(ax,ay);

frmsinyal.imgdigital.Canvas.LineTo(ax,ay+c);

frmsinyal.imgdigital.Canvas.TextOut(ax,ay-c,'Amplitude (v)');

frmsinyal.imgdigital.Canvas.TextOut(ax+b-5,ay+5,'Time(s)');

frmsinyal.imgdigital.Canvas.TextOut(ax-15,ay-37,'10-');

frmsinyal.imgdigital.Canvas.TextOut(ax-15,ay-67,'50-');

frmsinyal.imgdigital.Canvas.TextOut(ax-21,ay-107,'100-');

end;

procedure digital(ax,ay,a,b,i:integer);

begin

frmsinyal.imgdigital.Canvas.Pen.Color:=clgreen;

frmsinyal.imgdigital.Canvas.MoveTo(ax+(i-1)*b,ay);

frmsinyal.imgdigital.Canvas.LineTo(ax+(i-1)*b,ay-a);

frmsinyal.imgdigital.Canvas.LineTo(ax+b+(i-1)*b,ay-a);

Page 4: ARUM JTD 3B

frmsinyal.imgdigital.Canvas.LineTo(ax+b+(i-1)*b,ay);

end;

procedure garis(ax,ay,a,b,i:integer);

begin

frmsinyal.imgdigital.Canvas.Pen.Color:=clgreen;

frmsinyal.imgdigital.Canvas.MoveTo(ax+(i-1)*b,ay);

frmsinyal.imgdigital.Canvas.LineTo(ax+(i-1)*b,ay);

end;

procedure Tfrmsinyal.btresetClick(Sender: TObject);

var

x,y:integer;

begin

frmsinyal.imganalog.Picture:=nil;

frmsinyal.imganalog.Refresh ;

frmsinyal.imgdigital.Picture:=nil;

frmsinyal.imgdigital.Refresh ;

x:=strtoint(frmsinyal.edsumbux.Text);

y:=strtoint(frmsinyal.edsumbuy.Text);

sumbu1(20,120,x,y);

sumbu2(20,120,x,y);

end;

procedure Tfrmsinyal.btdigitalClick(Sender: TObject);

var

i,x,y,tinggi,lebar:integer;

biner:string;

begin

if RB10V.Checked then lebar:=30;

if RB50V.Checked then lebar:=60;

if RB100V.Checked then lebar:=100;

if RB10.Checked then tinggi:=10;

if RB20.Checked then tinggi:=30;

if RB30.Checked then tinggi:=50;

biner:=inputbiner.Text;

x:=strtoint(frmsinyal.edsumbux.Text);

y:=strtoint(frmsinyal.edsumbuy.Text);

sumbu2(20,120,x,y);

for i:=1 to 16 do

if biner[i]='1' then

digital(20,120,lebar,tinggi,i);

if biner[i]='0' then

garis(20,120,lebar,tinggi,i);

end;

procedure Tfrmsinyal.btanalogClick(Sender: TObject);

var

amp,sx,x,y:integer;

sy,frek:real;

begin

if RB1V.Checked then amp:=15;

Page 5: ARUM JTD 3B

if RB3V.Checked then amp:=50;

if RB5V.Checked then amp:=100;

if RB1Hz.Checked then frek:=10;

if RB5Hz.Checked then frek:=4;

if RB10Hz.Checked then frek:=2;

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.mereport.Lines.Add('x='+inttostr(sx)+''+formatfloat('#.###',(sy)));

frmsinyal.imganalog.Canvas.Pixels[sx+20,120-round(sy)]:=clgreen;

end;

end;

procedure Tfrmsinyal.keluarClick(Sender: TObject);

begin

close;

end;

end.

Page 6: ARUM JTD 3B

Tampilan pada program

Page 7: ARUM JTD 3B

FLOWCHART

Page 8: ARUM JTD 3B
Page 9: ARUM JTD 3B
Page 10: ARUM JTD 3B
Page 11: ARUM JTD 3B
Page 12: ARUM JTD 3B
Page 13: ARUM JTD 3B

Penjelasan Program

Proses dari program ini adalah sebagai berikut :

Program Gelombang Sinus - Pertama pemberian procedure sumbu untuk gelombang sinus maupun gelombang kotak.- Pemberian procedure proses

Berisikan nilai pilihan nilai frekuensi kemudian perintah proses pembentukan gelombang sinus sy:=sin(sx/pi/frek)*amp; Dengan nilai amplitudo inputan manual.

- Pemberian procedure memreport (Memo)Menampilkan nilai amplitudo pada tiap slope dari gelombang sinus dengan

perintah proses memreport.ScrollBars :=ssVertical;

- Pemberian procedure clearMereset semua nilai yang telah diproses sebelumnya.

Program Gelombang Kotak - Pemberian procedure proses

Berisikan perintah pembentukan nilai-nilai dari suatu gelombang kotak dimana terdiri dari perintah sebagai berikut x2:=i*round(pnjg)-round(pnjg); untuk nilai panjang pada sumbu x pertama. Perintah x3:=(i+1)*round(pnjg)-round(pnjg); untuk nilai panjang pada sumbu x perulangan selanjutnya.

- Pemberian procedure clear- Mereset semua nilai yang telah diproses sebelumnya.

KesimpulanDari hasil praktikum dapat diambil kesimpulan sebagai berikut :

1. Untuk menampilkan gelombang sinus dengan cara menampilkan titik sesui persamaan sy:=sin(sx/pi/frek)*amp dan looping sx:=1 to 395.

2. Untuk menampilkan gelombang kotak dengan cara memanggil gambar kotak pada biner ke-i=’1’ sedangkan memangil garis pada biner ke-i=’0’.