laporan canvas kdo.doc
Post on 29-Nov-2015
8 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
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.
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
BAB IIPEMBAHASAN
A. View Hasil Progam Pertama kali
B. View Hasil Progam ketika menekan PEN > STYLEUntuk menentukan bentuk garis
C. View Hasil Progam ketika menekan PEN > COLORUntuk menentukan warna
D. View Hasil Progam ketika menekan PEN > WIDTHUntuk menentukan ketebalan garis
E. View Hasil Progam ketika menekan SINUSUntuk mengetahui gambar gelombang sinus
F. View Hasil Progam ketika menekan KOTAKUntuk mengetahui gambar gelombang kotak
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];
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; }}
//---------------------------------------------------------------------------
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;
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;
}//---------------------------------------------------------------------------
top related