laporan canvas kdo.doc

12
LAPORAN PEMROGAMAN CANVAS Dosen Pembimbing : Dr.M. Sarosa, Dipl. Ing. Mt Oleh : M. FARAITODY 1_B/15 Jaringan Telekomunikasi Digital

Upload: ardiie-aremania

Post on 29-Nov-2015

8 views

Category:

Documents


1 download

DESCRIPTION

C++

TRANSCRIPT

Page 1: LAPORAN CANVAS kdo.doc

LAPORAN PEMROGAMANCANVAS

Dosen Pembimbing :Dr.M. Sarosa, Dipl. Ing. Mt

Oleh :M. FARAITODY

1_B/15Jaringan Telekomunikasi Digital

PROGRAM STUDI TEKNIK TELEKOMUNIKASIPOLITEKNIK NEGERI MALANG

2011

Page 2: LAPORAN CANVAS kdo.doc

BAB 1PENDAHULUAN

A. TUJUAN Memahami bentuk gelombang sinus dan kotak

Membedakan antara gelombang sinus dan kotak

Memahami menggunakan C++ builder

Membuat flowchart untuk pemrogaman Transistor.

Membuat program untuk mensimulasi Karakteristik Sinyal Sinus dan Sinyal Kotak.

B. Alat dan Bahan

Program C++ Builder 6

Satu unit Komputer

C. TEORI DASARSinyal Sinus dan Sinyal Kotak

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.

Page 3: LAPORAN CANVAS kdo.doc

Gambar 1. Gelombang sinus secara umum

Sumber: Arius, D dan Rum Andy KR, 2008

Bila dinyatakan dalam persamaan, suatu gelombang sinusoidal dapat

dituliskan sebagai berikut:

S(t) = A sin (2.ft) + (1)

dengan A = Amplitudo

F = Frekuensi

= Phasa

Sinyal kotak 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.

Gambar 2. Sinyal Kotak

Page 4: LAPORAN CANVAS kdo.doc

BAB IIPEMBAHASAN

A. View Hasil Progam Pertama kali

B. View Hasil Progam ketika menekan PEN > STYLEUntuk menentukan bentuk garis

Page 5: LAPORAN CANVAS kdo.doc

C. View Hasil Progam ketika menekan PEN > COLORUntuk menentukan warna

D. View Hasil Progam ketika menekan PEN > WIDTHUntuk menentukan ketebalan garis

Page 6: LAPORAN CANVAS kdo.doc

E. View Hasil Progam ketika menekan SINUSUntuk mengetahui gambar gelombang sinus

F. View Hasil Progam ketika menekan KOTAKUntuk mengetahui gambar gelombang kotak

Page 7: LAPORAN CANVAS kdo.doc

G. Script Progam

//---------------------------------------------------------------------------

#include <vcl.h>#pragma hdrstop#include <math.h>

#include "UnitGambarCanvas.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){}//---------------------------------------------------------------------------

void __fastcall TForm1::BersihkanCanvas(){ Canvas->Brush->Style = bsSolid; Canvas->Brush->Color = clWhite; Canvas->FillRect(Rect(0,0,ClientWidth,ClientHeight));}

void __fastcall TForm1::SetDefault(){ Canvas->Pen->Width = 1; Canvas->Pen->Mode = pmCopy; Canvas->Pen->Style = psSolid; Canvas->Pen->Color = clBlack;}

void __fastcall TForm1::STYLE1Click(TObject *Sender){ //membuat 7 elemen array tipe TPenStyle TPenStyle JENIS[7] = {psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame}; int posisiY = 20; //deklarasi posisiY dengan nilai awal 20 BersihkanCanvas(); SetDefault(); for(int j=0;j<7;j++){ Canvas->Pen->Style = JENIS[j];

Page 8: LAPORAN CANVAS kdo.doc

Canvas->MoveTo(100,posisiY); Canvas->LineTo(ClientWidth - 10, posisiY); posisiY += 20; } Canvas->TextOut(1,10,"psSolid"); Canvas->TextOut(1,30,"psDash"); Canvas->TextOut(1,50,"psDot"); Canvas->TextOut(1,70,"psDashDot"); Canvas->TextOut(1,90,"psDashDotDot"); Canvas->TextOut(1,110,"psClear"); Canvas->TextOut(1,130,"psInsideFrame");

}//---------------------------------------------------------------------------

void __fastcall TForm1::FormResize(TObject *Sender){ Invalidate();}//---------------------------------------------------------------------------

void __fastcall TForm1::COLOR1Click(TObject *Sender){ BersihkanCanvas(); SetDefault(); for(int k=0;k<100;k++){ Canvas->Pen->Color = RGB(random(255),random(255),random(255)); Canvas->MoveTo(random(ClientWidth),random(ClientHeight)); Canvas->LineTo(random(ClientWidth),random(ClientHeight)); }}//---------------------------------------------------------------------------

void __fastcall TForm1::WIDTH1Click(TObject *Sender){ int posisiY = 20; BersihkanCanvas(); SetDefault(); for(int i=1;i<=7;i++){ Canvas->TextOut(10,posisiY,"Width = "+AnsiString(i)); Canvas->Pen->Width = i; Canvas->MoveTo(80,posisiY+8); Canvas->LineTo(ClientWidth-10,posisiY+8); posisiY += 20; }}

Page 9: LAPORAN CANVAS kdo.doc

//---------------------------------------------------------------------------

void __fastcall TForm1::SINUS1Click(TObject *Sender){ int tinggi = ClientHeight; int lebar = ClientWidth; int posisiY = 20; BersihkanCanvas(); SetDefault();

Canvas->MoveTo(20,tinggi/2); Canvas->LineTo(lebar-10,tinggi/2); Canvas->MoveTo(20,10); Canvas->LineTo(20,tinggi - 10);

int sx,sy; for(sx=1;sx<lebar-33;sx++){ sy = sin(sx/3.14/10)*100; Canvas->Pixels[sx+20][tinggi/2-floor(sy)] = clRed; }

}//---------------------------------------------------------------------------

void __fastcall TForm1::KOTAK1Click(TObject *Sender){ int tinggi = ClientHeight; int lebar = ClientWidth; int posisiY = 20; int lb,i; BersihkanCanvas(); SetDefault();

Canvas->MoveTo(20,tinggi/2); Canvas->LineTo(lebar-10,tinggi/2); Canvas->MoveTo(20,10); Canvas->LineTo(20,tinggi-10);

AnsiString biner=Edit3->Text; int l= Edit3->MaxLength; int y= tinggi/2; int x= posisiY; int a=600/l; //lebar kotak int b=100;

Page 10: LAPORAN CANVAS kdo.doc

Canvas->Pen->Color=clYellow; for(i=1;i<l;i++){

if(biner[i]=='1'){ Canvas->MoveTo(x+(i-1)*a,y-b); Canvas->LineTo(x+i*a,y-b); }else {Canvas->MoveTo(x+(i-1)*a,y);

Canvas->LineTo(x+i*a,y); }if(biner[i]!=biner[i+1]){

Canvas->MoveTo(x+i*a,y-b);Canvas->LineTo(x+i*a,y); }

} Canvas->Pen->Color=clBlack;

}//---------------------------------------------------------------------------